Skip to content

Commit 809fec6

Browse files
committed
add jscpd
1 parent 6c1ab42 commit 809fec6

File tree

4 files changed

+884
-0
lines changed

4 files changed

+884
-0
lines changed

.jscpd.json

Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,43 @@
1+
{
2+
"threshold": 0,
3+
"reporters": ["console"],
4+
"ignore": [
5+
"**/node_modules/**",
6+
"**/dist/**",
7+
"**/test-results/**",
8+
"**/playwright-report/**",
9+
"**/coverage/**",
10+
"**/coverage_rails/**",
11+
"**/generated/**",
12+
"**/.jscpd/**",
13+
"**/.git/**",
14+
"**/tmp/**",
15+
"**/log/**",
16+
"**/rails_test_app/logstruct_test_app/**",
17+
"**/docs/.next/**",
18+
"**/docs/out/**",
19+
"**/docs/.vercel/**",
20+
"**/docspring/**",
21+
"**/terraform-provider-logstruct/**",
22+
"**/terraform-aws-logstruct/**",
23+
"**/terraform-example/**",
24+
"**/convox_racks_terraform/**",
25+
"**/sorbet/rbi/**",
26+
"**/vendor/**",
27+
"**/AGENTS.md",
28+
"**/CLAUDE.md",
29+
"**/*.test.ts",
30+
"**/*.test.tsx",
31+
"**/*.spec.ts",
32+
"**/*.spec.tsx",
33+
"**/*.test.js",
34+
"**/*.spec.js"
35+
],
36+
"format": ["javascript", "typescript", "ruby"],
37+
"minLines": 10,
38+
"minTokens": 50,
39+
"output": ".jscpd",
40+
"exitCode": 1,
41+
"absolute": false,
42+
"gitignore": true
43+
}

Taskfile.yml

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,12 @@ tasks:
4141
cmds:
4242
- scripts/spellcheck.sh
4343

44+
jscpd:
45+
desc: Detect copy/paste duplication
46+
deps: [prettier:deps]
47+
cmds:
48+
- pnpm exec jscpd . --exitCode 1
49+
4450
test:
4551
desc: Run Ruby unit tests, Rails integration tests, and merge coverage
4652
cmds:

package.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@
2424
"devDependencies": {
2525
"@docspring/cspell-lockfile-dicts": "^1.2.0",
2626
"cspell": "^9.2.1",
27+
"jscpd": "^4.0.7",
2728
"prettier": "^3.4.2"
2829
}
2930
}

0 commit comments

Comments
 (0)