1 view
GoogleChrome/modern-web-guidance-src
Keep your coding agent up to date with the latest web best practices
TypeScript★ 3,444+739 that day#1 on trending
E13.1/100
Duplication52
8.1% in typescript, javascript, tsx, bash, astroDead code1
48.7%Complexity36
74.3% The score is jscpd's own --health model: markup, data and text left out, tests kept. The numbers below are the trending scan's.
9.35%duplicated code · 12,797 of 136,834 lines
1,011clones in code
490code files of 2,482 scanned
14.04%duplicated over all files · 3,621 clones
Most complex files
- src/dashboard/dashboard.js841 cx
- src/dashboard/landing.js774 cx
- guides/ui-components/tabs/targets/daily-grind/grader.ts582 cx
- src/ci/sync-pipeline-issue.ts348 cx
- src/ci/atl-triage.ts335 cx
- guides/ui-components/stack-drill-down/grader.ts332 cx
- src/dashboard/utils.js323 cx
- src/core/guide-validation.ts322 cx
- src/analyzing/scanners/ast-helpers.ts292 cx
- guides/visual-design/visual-effects/targets/daily-grind/grader.ts289 cx
Dead code 48.72% unused · 285 findings
- src/dashboard/dashboard.jsunused-file
- src/dashboard/landing.jsunused-file
- guides/ui-components/tabs/targets/daily-grind/grader.tsunused-file
- guides/ui-components/menu/targets/daily-grind/grader.tsunused-file
- guides/ui-components/stack-drill-down/grader.tsunused-file
- src/analyzing/eval/detection-eval.tsunused-file
- src/dashboard/search/search.jsunused-file
- guides/security/passkeys/targets/devtools-times/grader.tsunused-file
- guides/ui-behaviors/drag/targets/daily-grind/grader.tsunused-file
- src/dashboard/guide.jsunused-file
The code number leaves out tests, fixtures, docs, examples, data files, styles, translations and vendored code, and 1 generated file: src/dashboard/diff.min.js.
Largest clones in the code
- 17 lines in 35 placestypescript87 tokensguides/accessibility/accessible-error-announcement/grader.ts:1–17guides/built-in-ai/language-detection/grader.ts:1–16guides/built-in-ai/summarizer/grader.ts:1–15guides/css/animate-to-intrinsic-sizes/grader.ts:1–16guides/css/child-state-based-styling/grader.ts:1–16and 30 more
1import { test, expect } from '@playwright/test'; 2import * as fs from 'fs'; 3import * as path from 'path'; 4 5// Setup 6const targetFile = process.env.TARGET_FILE; 7if (!targetFile) { 8 throw new Error('TARGET_FILE environment variable not set.'); 9} 10First 10 of 17 lines.
- 19 lines in 19 placestypescript118 tokensguides/accessibility/accessible-error-announcement/grader.ts:17–35guides/css/content-based-styling/grader.ts:16–33guides/forms/autofill-address-form/grader.ts:16–33guides/forms/autofill-payment-form/grader.ts:16–34guides/forms/autofill-sign-up-form/grader.ts:16–33and 14 more
17test.describe(`Accessible Error Announcement Expectations: ${demoName}`, () => { 18 19 // Setup browser testing 20 test.beforeEach(async ({ page }) => { 21 await page.route('http://localhost/*', async (route) => { 22 const requestPath = new URL(route.request().url()).pathname; 23 const localFilePath = path.join(targetDir, requestPath === '/' ? demoName : requestPath); 24 25 if (fs.existsSync(localFilePath)) { 26 await route.fulfill({ path: localFilePath });16test.describe(`content-based-styling Expectations: ${demoName}`, () => { 17 // Setup browser testing 18 test.beforeEach(async ({ page }) => { 19 await page.route('http://localhost/*', async (route) => { 20 const requestPath = new URL(route.request().url()).pathname; 21 const localFilePath = path.join(targetDir, requestPath === '/' ? demoName : requestPath); 22 23 if (fs.existsSync(localFilePath)) { 24 await route.fulfill({ path: localFilePath }); 25 } else {First 10 of 19 lines, the second copy on the right.
- 192 lines in 2 placestypescript1,357 tokensguides/forms/sms-otp-form/targets/daily-grind/grader.ts:1–192guides/forms/sms-otp-form/targets/devtools-times/grader.ts:1–192
1import { 2 test, 3 expect, 4 getTargetFiles, 5 getJsProject, 6 getHtmlDocuments, 7} from '../../../../test-fixture.ts'; 8import { 9 SyntaxKind, 10 Node,First 10 of 192 lines.
7 more
- 134 lines in 2 placestypescript1,185 tokens
- 141 lines in 2 placestypescript1,078 tokens
- 135 lines in 2 placestypescript1,029 tokens
- 139 lines in 2 placestypescript917 tokens
- 123 lines in 2 placestypescript877 tokens
- 14 lines in 10 placestypescript83 tokens
- 16 lines in 7 placestypescript108 tokens
Largest clones over all files, tests and data included
- 1753 lines in 3 placesdiff12,018 tokensguides/forms/sms-otp-form/targets/devtools-times/patches/claude-solution.patch:1–1753guides/forms/sms-otp-form/targets/devtools-times/patches/codex-solution.patch:1–1753guides/forms/sms-otp-form/targets/devtools-times/patches/jetski-solution.patch:1–1753
1diff --git a/astro.config.mjs b/astro.config.mjs 2index cc5869a..d43edf3 100644 3--- a/astro.config.mjs 4+++ b/astro.config.mjs 5@@ -12,6 +12,9 @@ export default defineConfig({ 6 integrations: [react()], 7 vite: { 8 plugins: [tailwindcss()], 9+ define: { 10+ 'process.env.ASTRO_NODE_LOGGING': JSON.stringify('disabled'),First 10 of 1753 lines.
- 1051 lines in 2 placesdiff14,927 tokensguides/security/quick-sign-ins/targets/daily-grind/patches/antigravity-solution.patch:3663–4713guides/security/quick-sign-ins/targets/daily-grind/patches/antigravity-solution.patch:8944–9994
3663+++ b/node_modules/.pnpm/[email protected]/node_modules/ua-parser-js/src/ua-parser.js 3664@@ -0,0 +1,1048 @@ 3665+///////////////////////////////////////////////////////////////////////////////// 3666+/* UAParser.js v1.0.41 3667+ Copyright © 2012-2025 Faisal Salman <[email protected]> 3668+ MIT License *//* 3669+ Detect Browser, Engine, OS, CPU, and Device type/model from User-Agent data. 3670+ Supports browser & node.js environment. 3671+ Demo : https://faisalman.github.io/ua-parser-js 3672+ Source : https://github.com/faisalman/ua-parser-js */First 10 of 1051 lines.
- 741 lines in 3 placesdiff5,212 tokensguides/forms/sms-otp-form/targets/daily-grind/patches/claude-solution.patch:1–741guides/forms/sms-otp-form/targets/daily-grind/patches/codex-solution.patch:1–741guides/forms/sms-otp-form/targets/daily-grind/patches/jetski-solution.patch:1–741
1diff --git a/index.html b/index.html 2index 66c9173..1168016 100644 3--- a/index.html 4+++ b/index.html 5@@ -4,14 +4,33 @@ 6 <head> 7 <meta charset="UTF-8"> 8 <meta name="viewport" content="width=device-width, initial-scale=1.0"> 9- <title>The Daily Grind | Artisanal Coffee</title> 10+ <meta name="description" content="The Daily Grind Artisanal Coffee — Verify your phone number with a one-time passcode (OTP) for express ordering and reward…First 10 of 741 lines.
- 311 lines in 2 placesdiff6,596 tokens
- 316 lines in 2 placesdiff6,224 tokens
By format, code only
| Format | Files | Lines | Clones | Duplicated lines | Duplication |
|---|---|---|---|---|---|
| typescript | 420 | 122,738 | 995 | 12,570 | 10.24% |
| javascript | 22 | 12,033 | 9 | 106 | 0.88% |
| tsx | 13 | 840 | 3 | 70 | 8.33% |
| bash | 3 | 581 | 3 | 43 | 7.4% |
| html | 16 | 642 | 1 | 8 | 1.25% |
| astro | 16 | 0 | 0 | 0 | 0% |
By format, all files
| Format | Files | Lines | Clones | Duplicated lines | Duplication |
|---|---|---|---|---|---|
| diff | 322 | 142,652 | 1,851 | 36,194 | 25.37% |
| typescript | 553 | 156,859 | 1,119 | 13,731 | 8.75% |
| markup | 430 | 59,797 | 469 | 8,822 | 14.75% |
| markdown | 585 | 50,152 | 61 | 1,543 | 3.08% |
| json | 30 | 9,887 | 51 | 2,770 | 28.02% |
| javascript | 173 | 21,981 | 29 | 552 | 2.51% |
| css | 142 | 10,382 | 26 | 226 | 2.18% |
| yaml | 162 | 1,962 | 6 | 72 | 3.67% |
| bash | 24 | 915 | 4 | 64 | 6.99% |
| tsx | 13 | 840 | 3 | 70 | 8.33% |
Trending appearances
| Day | Rank | Stars | Files | Lines | Clones | All files | Code | Health | Commit |
|---|---|---|---|---|---|---|---|---|---|
| Nov 13, 2026 | #1 | 3,444 (+739) | 2,482 | 456,332 | 3,621 | 14.04% | 9.35% | E 13.1 | 3bb177a |
| Nov 12, 2026 | #2 | 1,943 (+159) | 2,474 | 453,612 | 3,612 | 14.1% | 9.43% | E 12.7 | 179dbc6 |
Want this for your own project? Install jscpd and run jscpd ., or measure it the way the baselines were measured.