[{"data":1,"prerenderedAt":635},["ShallowReactive",2],{"navigation_docs":3,"trending-repo-hmjz100\u002FLinkSwift":249,"page-views-\u002Ftrending\u002Fhmjz100\u002FLinkSwift":633},[4,29,104,124,194],{"title":5,"icon":6,"path":7,"stem":8,"children":9},"Start",false,"\u002Fstart","1.start",[10,14,19,24],{"title":11,"path":7,"stem":12,"icon":13},"What jscpd finds","1.start\u002Findex","i-lucide-house",{"title":15,"path":16,"stem":17,"icon":18},"Installation","\u002Fstart\u002Finstallation","1.start\u002F2.installation","i-lucide-download",{"title":20,"path":21,"stem":22,"icon":23},"Quickstart","\u002Fstart\u002Fquickstart","1.start\u002F3.quickstart","i-lucide-rocket",{"title":25,"path":26,"stem":27,"icon":28},"Configuration basics","\u002Fstart\u002Fconfiguration","1.start\u002F4.configuration","i-lucide-settings-2",{"title":30,"icon":6,"path":31,"stem":32,"children":33,"page":6},"Guides","\u002Fguides","2.guides",[34,39,44,49,54,59,64,69,74,79,84,89,94,99],{"title":35,"path":36,"stem":37,"icon":38},"Use jscpd in CI","\u002Fguides\u002Fci","2.guides\u002F01.ci","i-lucide-github",{"title":40,"path":41,"stem":42,"icon":43},"Pre-commit hooks","\u002Fguides\u002Fpre-commit","2.guides\u002F02.pre-commit","i-lucide-git-commit",{"title":45,"path":46,"stem":47,"icon":48},"Fail only on new duplication","\u002Fguides\u002Fbaseline","2.guides\u002F03.baseline","i-lucide-git-compare",{"title":50,"path":51,"stem":52,"icon":53},"Monorepos","\u002Fguides\u002Fmonorepos","2.guides\u002F04.monorepos","i-lucide-folder-tree",{"title":55,"path":56,"stem":57,"icon":58},"Cross-format detection","\u002Fguides\u002Fcross-format","2.guides\u002F05.cross-format","i-lucide-layers",{"title":60,"path":61,"stem":62,"icon":63},"Agents","\u002Fguides\u002Fagents","2.guides\u002F06.agents","i-lucide-cpu",{"title":65,"path":66,"stem":67,"icon":68},"Editors","\u002Fguides\u002Feditors","2.guides\u002F07.editors","i-lucide-code",{"title":70,"path":71,"stem":72,"icon":73},"Duplication over git history","\u002Fguides\u002Fhistory","2.guides\u002F08.history","i-lucide-chart-no-axes-combined",{"title":75,"path":76,"stem":77,"icon":78},"Dashboard and health score","\u002Fguides\u002Fdashboard","2.guides\u002F09.dashboard","i-lucide-layout-dashboard",{"title":80,"path":81,"stem":82,"icon":83},"Dead code","\u002Fguides\u002Fdead-code","2.guides\u002F10.dead-code","i-lucide-ghost",{"title":85,"path":86,"stem":87,"icon":88},"Comparing two codebases","\u002Fguides\u002Fcompare","2.guides\u002F11.compare","i-lucide-git-compare-arrows",{"title":90,"path":91,"stem":92,"icon":93},"Semantic clones","\u002Fguides\u002Fsemantic-clones","2.guides\u002F12.semantic-clones","i-lucide-brain-circuit",{"title":95,"path":96,"stem":97,"icon":98},"Similar functions","\u002Fguides\u002Fsimilarity","2.guides\u002F13.similarity","i-lucide-list-tree",{"title":100,"path":101,"stem":102,"icon":103},"Boundaries","\u002Fguides\u002Fboundaries","2.guides\u002F14.boundaries","i-lucide-fence",{"title":105,"icon":6,"path":106,"stem":107,"children":108,"page":6},"Concepts","\u002Fconcepts","3.concepts",[109,114,119],{"title":110,"path":111,"stem":112,"icon":113},"Types of code clones","\u002Fconcepts\u002Fclone-types","3.concepts\u002F1.clone-types","i-lucide-copy",{"title":115,"path":116,"stem":117,"icon":118},"How detection works","\u002Fconcepts\u002Fhow-detection-works","3.concepts\u002F2.how-detection-works","i-lucide-scan-search",{"title":120,"path":121,"stem":122,"icon":123},"The health score","\u002Fconcepts\u002Fhealth-score","3.concepts\u002F3.health-score","i-lucide-heart-pulse",{"title":125,"icon":6,"path":126,"stem":127,"children":128,"page":6},"Reference","\u002Freference","4.reference",[129,134,139,144,181,186,190],{"title":130,"path":131,"stem":132,"icon":133},"CLI options","\u002Freference\u002Fcli","4.reference\u002F1.cli","i-lucide-terminal",{"title":135,"path":136,"stem":137,"icon":138},"The config file","\u002Freference\u002Fconfig-file","4.reference\u002F2.config-file","i-lucide-settings",{"title":140,"path":141,"stem":142,"icon":143},"Exit codes","\u002Freference\u002Fexit-codes","4.reference\u002F3.exit-codes","i-lucide-log-out",{"title":145,"icon":6,"path":146,"stem":147,"children":148},"Reporters","\u002Freference\u002Freporters","4.reference\u002F4.reporters\u002Findex",[149,151,156,161,166,171,176],{"title":145,"path":146,"stem":147,"icon":150},"i-lucide-file-chart-column",{"title":152,"path":153,"stem":154,"icon":155},"HTML reporter","\u002Freference\u002Freporters\u002Fhtml","4.reference\u002F4.reporters\u002F2.html","i-lucide-file-code",{"title":157,"path":158,"stem":159,"icon":160},"JSON reporter","\u002Freference\u002Freporters\u002Fjson","4.reference\u002F4.reporters\u002F3.json","i-lucide-braces",{"title":162,"path":163,"stem":164,"icon":165},"Badge reporter","\u002Freference\u002Freporters\u002Fbadge","4.reference\u002F4.reporters\u002F4.badge","i-lucide-award",{"title":167,"path":168,"stem":169,"icon":170},"SARIF reporter","\u002Freference\u002Freporters\u002Fsarif","4.reference\u002F4.reporters\u002F5.sarif","i-lucide-shield-check",{"title":172,"path":173,"stem":174,"icon":175},"CodeClimate reporter","\u002Freference\u002Freporters\u002Fcodeclimate","4.reference\u002F4.reporters\u002F6.codeclimate","i-lucide-flag-triangle-right",{"title":177,"path":178,"stem":179,"icon":180},"OpenMetrics reporter","\u002Freference\u002Freporters\u002Fopenmetrics","4.reference\u002F4.reporters\u002F7.openmetrics","i-lucide-activity",{"title":182,"path":183,"stem":184,"icon":185},"Supported formats","\u002Freference\u002Fsupported-formats","4.reference\u002F5.supported-formats","i-lucide-languages",{"title":187,"path":188,"stem":189,"icon":38},"GitHub Action","\u002Freference\u002Fgithub-action","4.reference\u002F6.github-action",{"title":191,"path":192,"stem":193,"icon":68},"Rust crates","\u002Freference\u002Frust-crates","4.reference\u002F7.rust-crates",{"title":195,"icon":6,"path":196,"stem":197,"children":198,"page":6},"Project","\u002Fproject","5.project",[199,204,209,214,239,244],{"title":200,"path":201,"stem":202,"icon":203},"Changelog","\u002Fproject\u002Fchangelog","5.project\u002F1.changelog","i-lucide-scroll-text",{"title":205,"path":206,"stem":207,"icon":208},"Migrating from v4 to v5","\u002Fproject\u002Fmigration","5.project\u002F2.migration","i-lucide-arrow-right-left",{"title":210,"path":211,"stem":212,"icon":213},"jscpd v4 (TypeScript)","\u002Fproject\u002Fv4","5.project\u002F3.v4","i-simple-icons-typescript",{"title":215,"icon":6,"path":216,"stem":217,"children":218},"Benchmarks","\u002Fproject\u002Fbenchmarks","5.project\u002F4.benchmarks\u002Findex",[219,221,226,230,235],{"title":215,"path":216,"stem":217,"icon":220},"i-lucide-gauge",{"title":222,"path":223,"stem":224,"icon":225},"Detection Speed","\u002Fproject\u002Fbenchmarks\u002Fdetection-speed","5.project\u002F4.benchmarks\u002F2.detection-speed","i-lucide-zap",{"title":227,"path":228,"stem":229,"icon":58},"Multi-Format Detection","\u002Fproject\u002Fbenchmarks\u002Fcross-format","5.project\u002F4.benchmarks\u002F3.cross-format",{"title":231,"path":232,"stem":233,"icon":234},"AI Token Efficiency","\u002Fproject\u002Fbenchmarks\u002Fai-token-efficiency","5.project\u002F4.benchmarks\u002F4.ai-token-efficiency","i-lucide-sparkles",{"title":236,"path":237,"stem":238,"icon":93},"Embedding Models","\u002Fproject\u002Fbenchmarks\u002Fembedding-models","5.project\u002F4.benchmarks\u002F5.embedding-models",{"title":240,"path":241,"stem":242,"icon":243},"Research","\u002Fproject\u002Fresearch","5.project\u002F5.research","i-lucide-graduation-cap",{"title":245,"path":246,"stem":247,"icon":248},"Articles","\u002Fproject\u002Farticles","5.project\u002F6.articles","i-lucide-newspaper",{"name":250,"url":251,"appearances":252,"latest":268},"hmjz100\u002FLinkSwift","https:\u002F\u002Fgithub.com\u002Fhmjz100\u002FLinkSwift",[253],{"date":254,"rank":255,"stars":256,"starsToday":257,"headSha":258,"sources":259,"lines":260,"clones":261,"duplicatedLines":262,"percentage":263,"codePercentage":264,"codeSources":265,"healthScore":266,"healthGrade":267},"2026-10-17",5,23926,538,"88f775d84a57764def07a32da9457cf3043ad11b",25,11127,86,1280,11.5,null,12,12.2,"E",{"date":254,"generatedAt":269,"name":250,"url":251,"description":270,"language":271,"stars":256,"starsToday":257,"defaultBranch":272,"headSha":258,"durationMs":273,"total":274,"formats":278,"topClones":310,"code":475,"health":550,"complexity":579,"deadCode":623},"2026-10-17T05:27:08.447Z","一个基于 JavaScript 的网盘文件下载地址获取工具。基于【网盘直链下载助手】修改 ，支持 百度网盘 \u002F 阿里云盘 \u002F 中国移动云盘 \u002F 天翼云盘 \u002F 迅雷云盘 \u002F 夸克网盘 \u002F UC网盘 \u002F 123云盘 八大网盘","JavaScript","dev",1046,{"sources":259,"lines":260,"tokens":275,"clones":261,"duplicatedLines":262,"duplicatedTokens":276,"percentage":263,"percentageTokens":277},61940,9043,14.6,[279,286,292,298,303,307],{"format":280,"sources":281,"lines":282,"clones":283,"duplicatedLines":284,"percentage":285},"javascript",2,9193,80,1127,12.26,{"format":287,"sources":288,"lines":289,"clones":255,"duplicatedLines":290,"percentage":291},"json",7,497,137,27.57,{"format":293,"sources":281,"lines":294,"clones":295,"duplicatedLines":296,"percentage":297},"yaml",186,1,16,8.6,{"format":299,"sources":300,"lines":301,"clones":302,"duplicatedLines":302,"percentage":302},"bash",9,694,0,{"format":304,"sources":305,"lines":306,"clones":302,"duplicatedLines":302,"percentage":302},"markdown",4,389,{"format":308,"sources":295,"lines":309,"clones":302,"duplicatedLines":302,"percentage":302},"perl",168,[311,335,363,391,401,417,427,440,455,465],{"format":280,"lines":312,"tokens":313,"first":314,"others":318,"copies":281,"excerpt":322,"kind":334},84,811,{"name":315,"start":316,"end":317},"（改）网盘直链下载助手.user.js",5818,5901,[319],{"name":315,"start":320,"end":321},5934,6017,{"lines":323,"total":312},[324,325,326,327,328,329,330,331,332,333],"base.adaptiveThemeOverride([","    [\"#717fff\", temp.color],","    [\"#717FFF\", temp.color],","    [\"#06a8ff\", temp.color],","    [\"#06A8FF\", temp.color],","    [\"#06a7ff\", temp.color],","    [\"#06A7FF\", temp.color],","    [\"#dcdfe6\", temp.color],","    [\"#DCDFE6\", temp.color],","    [\"#0095ff\", temp.color],","code",{"format":280,"lines":336,"tokens":337,"first":338,"others":341,"copies":305,"excerpt":351,"kind":334},14,106,{"name":315,"start":339,"end":340},6372,6385,[342,345,348],{"name":315,"start":343,"end":344},7092,7105,{"name":315,"start":346,"end":347},7660,7673,{"name":315,"start":349,"end":350},7920,7933,{"lines":352,"total":336},[353,354,355,356,357,358,359,360,361,362],"        tooltip: config.$baidu.dom,","        download: {","            error: (error) => {","                if (!error?.status) return ` 服务器未返回状态，若是下载一段时间后中断，可能是服务器返回文件长度不匹配，请重试；若是直接中断，请检查您的网络、脚本管理器扩展或浏览器~`;","                if (error?.status == 403) return ` 服务器说：链接已过期，关闭窗口重新获取试试吧~`;","                if (error?.status == 204 || error?.statusText === \"IDM\") return ` 服务说：链接已被 IDM 捕获~`;","            }","        }","    }","}];",{"format":280,"lines":364,"tokens":365,"first":366,"others":369,"copies":305,"excerpt":379,"kind":334},11,103,{"name":315,"start":367,"end":368},7055,7065,[370,373,376],{"name":315,"start":371,"end":372},7275,7285,{"name":315,"start":374,"end":375},7850,7860,{"name":315,"start":377,"end":378},7881,7891,{"lines":380,"total":364},[381,382,383,384,385,386,387,388,389,390],"selects = selects.filter(item => item.contentID && item.contentName && item.contentSuffix);","const batchSize = 15;","let proc = 0;","$doc.find(\".loading-popup .loading-title\").html(`地址获取中`);","$doc.find(\".loading-popup .swal2-html-container\").html(`\u003Cdiv>正在获取文件对应的下载地址~\u003C\u002Fdiv>`);","for (let i = 0; i \u003C selects.length; i += batchSize) {","    const batch = selects.slice(i, i + batchSize);","    const queue = [];","    batch.forEach((item, localIndex) => {","        const globalIndex = i + localIndex;",{"format":280,"lines":392,"tokens":393,"first":394,"others":397,"copies":281,"kind":334},51,294,{"name":315,"start":395,"end":396},8270,8320,[398],{"name":315,"start":399,"end":400},8545,8595,{"format":280,"lines":402,"tokens":403,"first":404,"others":406,"copies":255,"kind":334},10,73,{"name":315,"start":368,"end":405},7074,[407,409,411,414],{"name":315,"start":372,"end":408},7294,{"name":315,"start":378,"end":410},7900,{"name":315,"start":412,"end":413},8779,8788,{"name":315,"start":415,"end":416},8831,8840,{"format":280,"lines":418,"tokens":419,"first":420,"others":423,"copies":281,"kind":334},35,254,{"name":315,"start":421,"end":422},8782,8816,[424],{"name":315,"start":425,"end":426},8834,8868,{"format":280,"lines":402,"tokens":428,"first":429,"others":432,"copies":439,"kind":334},113,{"name":315,"start":430,"end":431},2430,2439,[433,436],{"name":315,"start":434,"end":435},2506,2515,{"name":315,"start":437,"end":438},2571,2580,3,{"format":287,"lines":441,"tokens":442,"first":443,"others":446,"copies":439,"kind":454},34,110,{"name":444,"start":364,"end":445},"config\u002Fquark.json",44,[447,451],{"name":448,"start":449,"end":450},"config\u002Ftianyi.json",13,46,{"name":452,"start":265,"end":453},"config\u002Fyidong.json",45,"data",{"format":280,"lines":456,"tokens":457,"first":458,"others":461,"copies":281,"kind":334},31,214,{"name":315,"start":459,"end":460},8228,8258,[462],{"name":315,"start":463,"end":464},8439,8468,{"format":280,"lines":466,"tokens":467,"first":468,"others":471,"copies":281,"kind":334},23,198,{"name":315,"start":469,"end":470},8461,8483,[472],{"name":315,"start":473,"end":474},8528,8550,{"sources":265,"lines":476,"tokens":477,"clones":283,"duplicatedLines":284,"duplicatedTokens":478,"percentage":479,"percentageTokens":480,"formats":481,"topClones":485,"generated":548},10055,55324,8515,11.21,15.39,[482,483,484],{"format":280,"sources":281,"lines":282,"clones":283,"duplicatedLines":284,"percentage":285},{"format":299,"sources":300,"lines":301,"clones":302,"duplicatedLines":302,"percentage":302},{"format":308,"sources":295,"lines":309,"clones":302,"duplicatedLines":302,"percentage":302},[486,492,500,508,512,519,523,528,532,536],{"format":280,"lines":312,"tokens":313,"first":487,"others":488,"copies":281,"excerpt":490,"kind":334},{"name":315,"start":316,"end":317},[489],{"name":315,"start":320,"end":321},{"lines":491,"total":312},[324,325,326,327,328,329,330,331,332,333],{"format":280,"lines":336,"tokens":337,"first":493,"others":494,"copies":305,"excerpt":498,"kind":334},{"name":315,"start":339,"end":340},[495,496,497],{"name":315,"start":343,"end":344},{"name":315,"start":346,"end":347},{"name":315,"start":349,"end":350},{"lines":499,"total":336},[353,354,355,356,357,358,359,360,361,362],{"format":280,"lines":364,"tokens":365,"first":501,"others":502,"copies":305,"excerpt":506,"kind":334},{"name":315,"start":367,"end":368},[503,504,505],{"name":315,"start":371,"end":372},{"name":315,"start":374,"end":375},{"name":315,"start":377,"end":378},{"lines":507,"total":364},[381,382,383,384,385,386,387,388,389,390],{"format":280,"lines":392,"tokens":393,"first":509,"others":510,"copies":281,"kind":334},{"name":315,"start":395,"end":396},[511],{"name":315,"start":399,"end":400},{"format":280,"lines":402,"tokens":403,"first":513,"others":514,"copies":255,"kind":334},{"name":315,"start":368,"end":405},[515,516,517,518],{"name":315,"start":372,"end":408},{"name":315,"start":378,"end":410},{"name":315,"start":412,"end":413},{"name":315,"start":415,"end":416},{"format":280,"lines":418,"tokens":419,"first":520,"others":521,"copies":281,"kind":334},{"name":315,"start":421,"end":422},[522],{"name":315,"start":425,"end":426},{"format":280,"lines":402,"tokens":428,"first":524,"others":525,"copies":439,"kind":334},{"name":315,"start":430,"end":431},[526,527],{"name":315,"start":434,"end":435},{"name":315,"start":437,"end":438},{"format":280,"lines":456,"tokens":457,"first":529,"others":530,"copies":281,"kind":334},{"name":315,"start":459,"end":460},[531],{"name":315,"start":463,"end":464},{"format":280,"lines":466,"tokens":467,"first":533,"others":534,"copies":281,"kind":334},{"name":315,"start":469,"end":470},[535],{"name":315,"start":473,"end":474},{"format":280,"lines":300,"tokens":537,"first":538,"others":541,"copies":439,"kind":334},98,{"name":315,"start":539,"end":540},8153,8161,[542,545],{"name":315,"start":543,"end":544},8224,8231,{"name":315,"start":546,"end":547},8434,8442,{"files":302,"minified":302,"sample":549},[],{"score":266,"grade":267,"size":551,"dimensions":553},{"lines":476,"files":265,"class":552},"M",[554,564,572],{"id":555,"source":556,"value":557,"adjusted":558,"lines":284,"halfLife":559,"formats":560,"excluded":561,"weight":295,"score":563},"duplication","jscpd",11.2,9.9,8.5,[280,299,308],[562,454],"text",44.5,{"id":565,"source":556,"value":566,"adjusted":567,"lines":568,"halfLife":569,"coverage":570,"weight":571,"score":302},"dead-code",99.5,82.3,9179,7.5,91.7,0.917,{"id":573,"source":556,"value":574,"adjusted":575,"lines":576,"halfLife":577,"weight":295,"score":578},"complexity",91,79.4,9148,50,33.3,{"total":580,"mean":581,"files":582},1882,156.8,[583,586,590,594,598,602,607,611,615,619],{"path":315,"complexity":584,"lines":576,"bytes":585},1797,810153,{"path":587,"complexity":588,"lines":309,"bytes":589},".git\u002Fhooks\u002Ffsmonitor-watchman.sample",19,4611,{"path":591,"complexity":336,"lines":592,"bytes":593},".git\u002Fhooks\u002Fpre-rebase.sample",169,4898,{"path":595,"complexity":336,"lines":596,"bytes":597},".git\u002Fhooks\u002Fsendemail-validate.sample",77,2308,{"path":599,"complexity":449,"lines":600,"bytes":601},".git\u002Fhooks\u002Fupdate.sample",128,3650,{"path":603,"complexity":604,"lines":605,"bytes":606},".git\u002Fhooks\u002Fpush-to-checkout.sample",6,78,2783,{"path":608,"complexity":255,"lines":609,"bytes":610},".git\u002Fhooks\u002Fpre-commit.sample",49,1649,{"path":612,"complexity":255,"lines":613,"bytes":614},".git\u002Fhooks\u002Fpre-push.sample",53,1374,{"path":616,"complexity":305,"lines":617,"bytes":618},".git\u002Fhooks\u002Fpre-receive.sample",24,544,{"path":620,"complexity":439,"lines":621,"bytes":622},".git\u002Fhooks\u002Fcommit-msg.sample",74,1972,{"percentage":624,"findings":281,"files":439,"byCategory":625,"largest":628},99.51,[626],{"category":627,"count":281},"unused-file",[629,631],{"category":627,"path":315,"name":630,"line":295,"lines":576},"",{"category":627,"path":632,"name":630,"line":295,"lines":456},"（改）百度网盘会员青春版.user.js",{"\u002Ftrending\u002Fhmjz100\u002FLinkSwift":634},{"views":302,"visits":302},1792421143273]