[{"data":1,"prerenderedAt":515},["ShallowReactive",2],{"navigation_docs":3,"trending-repo-oblien\u002Fopenship":197},[4,50,87,104,140,166,182,187,192],{"title":5,"icon":6,"path":7,"stem":8,"children":9,"page":6},"Getting Started",false,"\u002Fgetting-started","1.getting-started",[10,15,20,25,30,35,40,45],{"title":11,"path":12,"stem":13,"icon":14},"Introduction","\u002Fgetting-started\u002Fintroduction","1.getting-started\u002F2.introduction","i-lucide-house",{"title":16,"path":17,"stem":18,"icon":19},"Installation","\u002Fgetting-started\u002Finstallation","1.getting-started\u002F3.installation","i-lucide-download",{"title":21,"path":22,"stem":23,"icon":24},"Configuration","\u002Fgetting-started\u002Fconfiguration","1.getting-started\u002F4.configuration","i-lucide-settings",{"title":26,"path":27,"stem":28,"icon":29},"Supported Formats","\u002Fgetting-started\u002Fsupported-formats","1.getting-started\u002F5.supported-formats","i-lucide-file-code",{"title":31,"path":32,"stem":33,"icon":34},"Agent Skill","\u002Fgetting-started\u002Fagent-skill","1.getting-started\u002F6.agent-skill","i-lucide-cpu",{"title":36,"path":37,"stem":38,"icon":39},"Changelog","\u002Fgetting-started\u002Fchangelog","1.getting-started\u002F7.changelog","i-lucide-scroll-text",{"title":41,"path":42,"stem":43,"icon":44},"Migrating from v4 to v5","\u002Fgetting-started\u002Fmigration","1.getting-started\u002F8.migration","i-lucide-arrow-right-left",{"title":46,"path":47,"stem":48,"icon":49},"jscpd v4 (TypeScript)","\u002Fgetting-started\u002Fv4","1.getting-started\u002F9.v4","i-simple-icons-typescript",{"title":51,"path":52,"stem":53,"children":54,"icon":6},"Guides","\u002Fguides","2.guides\u002F1.index",[55,57,62,67,72,77,82],{"title":51,"path":52,"stem":53,"icon":56},"i-lucide-book-open",{"title":58,"path":59,"stem":60,"icon":61},"Types of Code Clones","\u002Fguides\u002Fclone-types","2.guides\u002F2.clone-types","i-lucide-copy",{"title":63,"path":64,"stem":65,"icon":66},"How Detection Works","\u002Fguides\u002Fhow-detection-works","2.guides\u002F3.how-detection-works","i-lucide-scan-search",{"title":68,"path":69,"stem":70,"icon":71},"Duplication Trend over Git History","\u002Fguides\u002Fhistory","2.guides\u002F4.history","i-lucide-chart-no-axes-combined",{"title":73,"path":74,"stem":75,"icon":76},"Project Dashboard","\u002Fguides\u002Fdashboard","2.guides\u002F5.dashboard","i-lucide-layout-dashboard",{"title":78,"path":79,"stem":80,"icon":81},"Project Health Score","\u002Fguides\u002Fhealth","2.guides\u002F6.health","i-lucide-heart-pulse",{"title":83,"path":84,"stem":85,"icon":86},"Semantic Clones","\u002Fguides\u002Fsemantic-clones","2.guides\u002F7.semantic-clones","i-lucide-brain-circuit",{"title":88,"path":89,"stem":90,"children":91,"icon":6},"CI & Hooks","\u002Fci-and-hooks","3.ci-and-hooks\u002F1.index",[92,94,99],{"title":88,"path":89,"stem":90,"icon":93},"i-lucide-git-pull-request",{"title":95,"path":96,"stem":97,"icon":98},"Use jscpd in CI","\u002Fci-and-hooks\u002Fci","3.ci-and-hooks\u002F2.ci","i-lucide-github",{"title":100,"path":101,"stem":102,"icon":103},"Use jscpd in Pre-Commit Hook","\u002Fci-and-hooks\u002Fpre-commit","3.ci-and-hooks\u002F3.pre-commit","i-lucide-git-commit",{"title":105,"path":106,"stem":107,"children":108,"icon":110},"Reporters","\u002Freporters","4.reporters\u002F1.index",[109,111,115,120,125,130,135],{"title":105,"path":106,"stem":107,"icon":110},"i-lucide-file-chart-column",{"title":112,"path":113,"stem":114,"icon":29},"HTML Reporter","\u002Freporters\u002Fhtml","4.reporters\u002F2.html",{"title":116,"path":117,"stem":118,"icon":119},"JSON Reporter","\u002Freporters\u002Fjson","4.reporters\u002F3.json","i-lucide-braces",{"title":121,"path":122,"stem":123,"icon":124},"Badge Reporter","\u002Freporters\u002Fbadge","4.reporters\u002F4.badge","i-lucide-award",{"title":126,"path":127,"stem":128,"icon":129},"SARIF Reporter","\u002Freporters\u002Fsarif","4.reporters\u002F5.sarif","i-lucide-shield-check",{"title":131,"path":132,"stem":133,"icon":134},"CodeClimate \u002F GitLab Reporter","\u002Freporters\u002Fcodeclimate","4.reporters\u002F6.codeclimate","i-lucide-flag-triangle-right",{"title":136,"path":137,"stem":138,"icon":139},"OpenMetrics Reporter","\u002Freporters\u002Fopenmetrics","4.reporters\u002F7.openmetrics","i-lucide-activity",{"title":141,"path":142,"stem":143,"children":144,"icon":6},"Benchmarks","\u002Fbenchmarks","5.benchmarks\u002F1.index",[145,147,152,157,162],{"title":141,"path":142,"stem":143,"icon":146},"i-lucide-gauge",{"title":148,"path":149,"stem":150,"icon":151},"Detection Speed","\u002Fbenchmarks\u002Fdetection-speed","5.benchmarks\u002F2.detection-speed","i-lucide-zap",{"title":153,"path":154,"stem":155,"icon":156},"Multi-Format Detection","\u002Fbenchmarks\u002Fcross-format","5.benchmarks\u002F3.cross-format","i-lucide-layers",{"title":158,"path":159,"stem":160,"icon":161},"AI Token Efficiency","\u002Fbenchmarks\u002Fai-token-efficiency","5.benchmarks\u002F4.ai-token-efficiency","i-lucide-sparkles",{"title":163,"path":164,"stem":165,"icon":86},"Embedding Models","\u002Fbenchmarks\u002Fembedding-models","5.benchmarks\u002F5.embedding-models",{"title":167,"path":168,"stem":169,"children":170,"icon":172},"API","\u002Fapi","6.api\u002F1.index",[171,173,178],{"title":167,"path":168,"stem":169,"icon":172},"i-lucide-code",{"title":174,"path":175,"stem":176,"icon":177},"Rust Crates (v5)","\u002Fapi\u002Fcore","6.api\u002F2.core","i-lucide-box",{"title":179,"path":180,"stem":181,"icon":177},"MCP Server","\u002Fapi\u002Fmcp-server","6.api\u002F4.mcp-server",{"title":183,"path":184,"stem":185,"icon":186},"Trending","\u002Ftrending","7.trending","i-lucide-trending-up",{"title":188,"path":189,"stem":190,"icon":191},"Research","\u002Fresearch","8.research","i-lucide-graduation-cap",{"title":193,"path":194,"stem":195,"icon":196},"Articles","\u002Farticles","9.articles","i-lucide-newspaper",{"name":198,"url":199,"appearances":200,"latest":214},"oblien\u002Fopenship","https:\u002F\u002Fgithub.com\u002Foblien\u002Fopenship",[201],{"date":202,"rank":203,"stars":204,"starsToday":205,"headSha":206,"sources":207,"lines":208,"clones":209,"duplicatedLines":210,"percentage":211,"healthScore":212,"healthGrade":213},"2026-09-30",6,13973,437,"0ca13fe9c52f9fb5a447350f2d0ea1e8fbc657a3",4798,1436609,2877,428042,29.8,67.4,"C",{"date":202,"generatedAt":215,"name":198,"url":199,"description":216,"language":217,"stars":204,"starsToday":205,"defaultBranch":218,"headSha":206,"durationMs":219,"total":220,"formats":224,"topClones":294,"health":373,"complexity":414,"deadCode":466},"2026-09-30T05:32:45.199Z","Self-hosted deployment platform","TypeScript","main",5174,{"sources":207,"lines":208,"tokens":221,"clones":209,"duplicatedLines":210,"duplicatedTokens":222,"percentage":211,"percentageTokens":223},7341933,1459360,19.88,[225,232,239,246,253,260,267,274,281,288],{"format":226,"sources":227,"lines":228,"clones":229,"duplicatedLines":230,"percentage":231},"typescript",3100,659652,1596,18739,2.84,{"format":233,"sources":234,"lines":235,"clones":236,"duplicatedLines":237,"percentage":238},"json",355,513105,669,399619,77.88,{"format":240,"sources":241,"lines":242,"clones":243,"duplicatedLines":244,"percentage":245},"tsx",945,211007,446,7325,3.47,{"format":247,"sources":248,"lines":249,"clones":250,"duplicatedLines":251,"percentage":252},"css",24,8823,51,589,6.68,{"format":254,"sources":255,"lines":256,"clones":257,"duplicatedLines":258,"percentage":259},"markdown",78,15829,31,310,1.96,{"format":261,"sources":262,"lines":263,"clones":264,"duplicatedLines":265,"percentage":266},"markup",53,1851,30,463,25.01,{"format":268,"sources":269,"lines":270,"clones":271,"duplicatedLines":272,"percentage":273},"yaml",14,2647,25,377,14.24,{"format":275,"sources":276,"lines":277,"clones":278,"duplicatedLines":279,"percentage":280},"bash",79,11340,13,473,4.17,{"format":282,"sources":283,"lines":284,"clones":285,"duplicatedLines":286,"percentage":287},"sql",73,3783,7,55,1.45,{"format":289,"sources":290,"lines":291,"clones":285,"duplicatedLines":292,"percentage":293},"lua",8,2126,57,2.68,[295,304,313,322,326,330,336,345,354,364],{"format":233,"lines":296,"tokens":297,"firstFile":298,"secondFile":302},6354,20463,{"name":299,"start":300,"end":301},"packages\u002Fdb\u002Fdrizzle\u002Fmeta\u002F0047_snapshot.json",2187,8540,{"name":303,"start":300,"end":301},"packages\u002Fdb\u002Fdrizzle\u002Fmeta\u002F0048_snapshot.json",{"format":233,"lines":305,"tokens":306,"firstFile":307,"secondFile":311},5024,16133,{"name":308,"start":309,"end":310},"packages\u002Fdb\u002Fdrizzle\u002Fmeta\u002F0026_snapshot.json",521,5544,{"name":312,"start":309,"end":310},"packages\u002Fdb\u002Fdrizzle\u002Fmeta\u002F0027_snapshot.json",{"format":233,"lines":314,"tokens":315,"firstFile":316,"secondFile":320},4838,15576,{"name":317,"start":318,"end":319},"packages\u002Fdb\u002Fdrizzle\u002Fmeta\u002F0049_snapshot.json",2790,7627,{"name":321,"start":318,"end":319},"packages\u002Fdb\u002Fdrizzle\u002Fmeta\u002F0050_snapshot.json",{"format":233,"lines":314,"tokens":315,"firstFile":323,"secondFile":324},{"name":317,"start":318,"end":319},{"name":325,"start":318,"end":319},"packages\u002Fdb\u002Fdrizzle\u002Fmeta\u002F0051_snapshot.json",{"format":233,"lines":314,"tokens":315,"firstFile":327,"secondFile":328},{"name":317,"start":318,"end":319},{"name":329,"start":318,"end":319},"packages\u002Fdb\u002Fdrizzle\u002Fmeta\u002F0052_snapshot.json",{"format":233,"lines":314,"tokens":315,"firstFile":331,"secondFile":332},{"name":317,"start":318,"end":319},{"name":333,"start":334,"end":335},"packages\u002Fdb\u002Fdrizzle\u002Fmeta\u002F0053_snapshot.json",2878,7715,{"format":233,"lines":337,"tokens":338,"firstFile":339,"secondFile":343},4743,15237,{"name":340,"start":341,"end":342},"packages\u002Fdb\u002Fdrizzle\u002Fmeta\u002F0057_snapshot.json",2817,7559,{"name":344,"start":341,"end":342},"packages\u002Fdb\u002Fdrizzle\u002Fmeta\u002F0058_snapshot.json",{"format":233,"lines":346,"tokens":347,"firstFile":348,"secondFile":352},4564,14728,{"name":349,"start":350,"end":351},"packages\u002Fdb\u002Fdrizzle\u002Fmeta\u002F0021_snapshot.json",1946,6509,{"name":353,"start":350,"end":351},"packages\u002Fdb\u002Fdrizzle\u002Fmeta\u002F0022_snapshot.json",{"format":233,"lines":355,"tokens":356,"firstFile":357,"secondFile":361},4416,14233,{"name":358,"start":359,"end":360},"packages\u002Fdb\u002Fdrizzle\u002Fmeta\u002F0039_snapshot.json",3675,8090,{"name":362,"start":284,"end":363},"packages\u002Fdb\u002Fdrizzle\u002Fmeta\u002F0040_snapshot.json",8198,{"format":233,"lines":365,"tokens":366,"firstFile":367,"secondFile":371},3970,12764,{"name":368,"start":369,"end":370},"packages\u002Fdb\u002Fdrizzle\u002Fmeta\u002F0042_snapshot.json",3834,7803,{"name":372,"start":369,"end":370},"packages\u002Fdb\u002Fdrizzle\u002Fmeta\u002F0043_snapshot.json",{"score":212,"grade":213,"size":374,"dimensions":378},{"lines":375,"files":376,"class":377},893228,4234,"L",[379,400,408],{"id":380,"source":381,"value":382,"adjusted":382,"lines":383,"halfLife":384,"formats":385,"excluded":395,"weight":398,"score":399},"duplication","jscpd",3,26669,8.5,[226,240,275,386,282,289,387,388,389,390,391,392,393,394],"javascript","python","powershell","perl","jsx","kotlin","java","go","rust",[261,396,397],"text","data",1,78.4,{"id":401,"source":381,"value":402,"adjusted":402,"lines":403,"halfLife":404,"coverage":405,"weight":406,"score":407},"dead-code",2.1,18396,7.5,98.3,0.983,82.4,{"id":409,"source":381,"value":410,"adjusted":410,"lines":411,"halfLife":412,"weight":398,"score":413},"complexity",53.7,479938,50,47.5,{"total":415,"mean":416,"files":417},144078,34,[418,423,427,432,437,442,447,452,456,461],{"path":419,"complexity":420,"lines":421,"bytes":422},"apps\u002Fdashboard\u002Fsrc\u002Fcomponents\u002Fmigration\u002FServerMigrationWizard.tsx",1016,4819,212775,{"path":424,"complexity":241,"lines":425,"bytes":426},"packages\u002Fadapters\u002Fsrc\u002Fruntime\u002Fdocker.ts",5694,242818,{"path":428,"complexity":429,"lines":430,"bytes":431},"apps\u002Fdashboard\u002Fsrc\u002Fapp\u002F(dashboard)\u002Fprojects\u002F[id]\u002Fcomponents\u002FDomainSettings.tsx",894,3388,158878,{"path":433,"complexity":434,"lines":435,"bytes":436},"packages\u002Fplatform\u002Fsrc\u002Fengine\u002Fmodules\u002Fdeployments\u002Fcompose\u002Fdeploy.service.ts",835,4570,208642,{"path":438,"complexity":439,"lines":440,"bytes":441},"packages\u002Fplatform\u002Fsrc\u002Fengine\u002Fmodules\u002Fprojects\u002Fproject-crud.service.ts",675,2743,120433,{"path":443,"complexity":444,"lines":445,"bytes":446},"packages\u002Fplatform\u002Fsrc\u002Fengine\u002Fmodules\u002Fdeployments\u002Fbuild.service.ts",579,2986,139588,{"path":448,"complexity":449,"lines":450,"bytes":451},"apps\u002Fapi\u002Ftest\u002Fmodules\u002Fdeployments\u002Fnative-sdk-parity.test.ts",545,2677,158209,{"path":453,"complexity":449,"lines":454,"bytes":455},"apps\u002Fcli\u002Fsrc\u002Flib\u002Fcompose.ts",3712,177020,{"path":457,"complexity":458,"lines":459,"bytes":460},"apps\u002Fdashboard\u002Fsrc\u002Fapp\u002F(dashboard)\u002Fapps\u002Fnew\u002F[appId]\u002Fpage.tsx",523,1847,81937,{"path":462,"complexity":463,"lines":464,"bytes":465},"packages\u002Fadapters\u002Fsrc\u002Finfra\u002Fnginx.test.ts",517,3555,164199,{"percentage":467,"findings":468,"files":469,"byCategory":470,"largest":483},2.09,438,4208,[471,474,477,480],{"category":472,"count":473},"unused-file",132,{"category":475,"count":476},"unused-export",156,{"category":478,"count":479},"unused-symbol",23,{"category":481,"count":482},"unused-import",127,[484,488,491,494,497,500,503,506,509,512],{"category":472,"path":485,"name":486,"line":398,"lines":487},"apps\u002Fdashboard\u002Fsrc\u002Fcomponents\u002Fscale\u002FScaleEditor.tsx","",690,{"category":472,"path":489,"name":486,"line":398,"lines":490},"packages\u002Fadapters\u002Fscripts\u002Fverify-managed-network.ts",631,{"category":472,"path":492,"name":486,"line":398,"lines":493},"apps\u002Fdashboard\u002Fsrc\u002Fcomponents\u002Fscale\u002FScaleInspector.tsx",618,{"category":472,"path":495,"name":486,"line":398,"lines":496},"apps\u002Fapi\u002Fscripts\u002Fpromo-code.ts",597,{"category":472,"path":498,"name":486,"line":398,"lines":499},"apps\u002Fdashboard\u002Fsrc\u002Fcomponents\u002Fscale\u002FScaleCanvas.tsx",455,{"category":472,"path":501,"name":486,"line":398,"lines":502},"scripts\u002Faudit-sdk-relocation.mjs",431,{"category":472,"path":504,"name":486,"line":398,"lines":505},"apps\u002Fdashboard\u002Fsrc\u002Fcomponents\u002Fscale\u002FScaleToolbar.tsx",396,{"category":472,"path":507,"name":486,"line":398,"lines":508},"apps\u002Femail\u002Fclient\u002Fcomponents\u002Fcreate\u002Feditor.tsx",384,{"category":472,"path":510,"name":486,"line":398,"lines":511},"packages\u002Fplatform\u002Fsrc\u002Fnative-worker.ts",354,{"category":472,"path":513,"name":486,"line":398,"lines":514},"apps\u002Fdashboard\u002Fsrc\u002Fhooks\u002FuseBuildConnection.ts",342,1790746423739]