aws / jsii
Duplication

Places in code with 6 or more lines that are exactly the same.

Intro
  • For duplication, we look at places in code where there are 6 or more lines of code that are exactly the same.
  • Before duplication is calculated, the code is cleaned to remove empty lines, comments, and frequently duplicated constructs such as imports.
  • You should aim at having as little as possible (<5%) of duplicated code as high-level of duplication can lead to maintenance difficulties, poor factoring, and logical contradictions.
Learn more...
Duplication Overall
  • 4% duplication:
    • 39,126 cleaned lines of cleaned code (without empty lines, comments, and frequently duplicated constructs such as imports)
    • 1,954 duplicated lines
  • 139 duplicates
system4% (1,954 lines)
Duplication per Extension
ts5% (1,552 lines)
js30% (165 lines)
py8% (100 lines)
ps156% (63 lines)
cs1% (50 lines)
go1% (24 lines)
Duplication per Component (primary)
packages/@jsii5% (607 lines)
packages/jsii-pacmak5% (508 lines)
packages/jsii6% (454 lines)
packages/jsii-rosetta3% (176 lines)
packages/jsii-reflect9% (135 lines)
packages/jsii-calc3% (56 lines)
packages/jsii-diff1% (12 lines)
scripts6% (6 lines)
gh-pages0% (0 lines)
gh-pages/content0% (0 lines)
ROOT0% (0 lines)
tools/jsii-compliance0% (0 lines)
packages/@scope0% (0 lines)
packages/jsii-config0% (0 lines)
packages/codemaker0% (0 lines)
packages/@fixtures0% (0 lines)
packages/oo-ascii-tree0% (0 lines)
superchain/gpg0% (0 lines)

Duplication Between Components (50+ lines)

G packages/jsii-pacmak packages/jsii-pacmak packages/jsii packages/jsii packages/jsii-pacmak--packages/jsii 196 packages/jsii-reflect packages/jsii-reflect packages/jsii-pacmak--packages/jsii-reflect 94 packages/jsii-reflect--packages/jsii 54

Download: SVG DOT (open online Graphviz editor)

Open 3D force graph...

Show more details on duplication between components...
Longest Duplicates
The list of 20 longest duplicates.
See data for all 139 duplicates...
Size#FoldersFilesLinesCode
55 x 2 packages/jsii-pacmak/lib/targets/dotnet
packages/jsii/lib
nameutils.ts
reserved-words.ts
146:200 (36%)
38:92 (22%)
view
41 x 2 packages/jsii-pacmak/lib
packages/jsii-reflect/lib
util.ts
util.ts
14:94 (20%)
18:98 (89%)
view
29 x 2 packages/@jsii/java-runtime-test
packages/@jsii/java-runtime
pom.xml.t.js
pom.xml.t.js
62:92 (32%)
184:214 (15%)
view
17 x 2 packages/@jsii/go-runtime-test/build-tools
packages/@jsii/go-runtime/build-tools
go-run.ts
go-run.ts
7:31 (100%)
8:32 (100%)
view
17 x 2 packages/@jsii/python-ru.../jsii/_kernel/providers
packages/@jsii/python-ru.../jsii/_kernel/providers
base.py
process.py
18:34 (20%)
46:62 (6%)
view
16 x 2 packages/jsii-reflect/lib
packages/jsii/lib
util.ts
utils.ts
18:41 (34%)
175:198 (11%)
view
16 x 2 packages/jsii-pacmak/lib/targets/dotnet
packages/jsii/lib
nameutils.ts
reserved-words.ts
128:143 (10%)
20:35 (6%)
view
16 x 2 packages/jsii-pacmak/lib
packages/jsii/lib
util.ts
utils.ts
14:37 (7%)
175:198 (11%)
view
15 x 2 packages/jsii-reflect/lib
packages/jsii-reflect/lib
callable.ts
property.ts
54:82 (37%)
80:108 (33%)
view
15 x 2 packages/@jsii/java-runtime-test
packages/@jsii/java-runtime
pom.xml.t.js
pom.xml.t.js
49:65 (16%)
129:145 (7%)
view
14 x 2 packages/@jsii/dotnet-ru...on.JSII.Analyzers/tools
packages/@jsii/dotnet-ru...on.JSII.Analyzers/tools
install.ps1
uninstall.ps1
24:38 (26%)
24:38 (23%)
view
13 x 2 packages/@jsii/dotnet-runtime
packages/@jsii/java-runtime
JsiiRuntimeProvider.t.js
BundledRuntime.t.js
34:54 (25%)
56:76 (20%)
view
13 x 2 packages/jsii-reflect/lib
packages/jsii-reflect/lib
class.ts
interface.ts
126:140 (14%)
94:108 (20%)
view
13 x 2 packages/jsii-pacmak/lib/targets
packages/jsii-pacmak/lib/targets
python.ts
python.ts
2591:2604 (<1%)
2608:2621 (<1%)
view
12 x 2 packages/jsii-pacmak/lib/targets
packages/jsii-pacmak/lib/targets
dotnet.ts
java.ts
29:44 (5%)
55:70 (<1%)
view
12 x 2 packages/jsii/lib
packages/jsii/lib
assembler.ts
assembler.ts
472:484 (<1%)
491:502 (<1%)
view
11 x 2 packages/@jsii/kernel/lib
packages/@jsii/kernel/lib
serialization.ts
serialization.ts
175:187 (1%)
202:215 (1%)
view
11 x 2 packages/jsii-pacmak/lib/targets/go/types
packages/jsii-pacmak/lib/targets/go/types
class.ts
interface.ts
131:142 (4%)
127:138 (6%)
view
11 x 2 packages/jsii/lib
packages/jsii/lib
validator.ts
validator.ts
286:297 (1%)
317:328 (1%)
view
11 x 2 packages/@jsii/kernel/lib
packages/@jsii/kernel/lib
serialization.ts
serialization.ts
311:327 (1%)
329:345 (1%)
view
Duplicated Units
The list of top 20 duplicated units.
See data for all 21 unit duplicates...
Size#FoldersFilesLinesCode
19 x 2 packages/jsii-calc/lib
packages/jsii-calc/lib
compliance.ts
compliance.ts
2263:2282 
2284:2303 
view
17 x 3 packages/jsii-reflect/lib
packages/jsii/lib
packages/jsii-pacmak/lib
util.ts
utils.ts
util.ts
18:42 
175:199 
14:38 
view
17 x 2 packages/jsii-pacmak/lib/targets
packages/jsii-pacmak/lib/targets/dotnet
java.ts
dotnettyperesolver.ts
2586:2603 
168:185 
view
14 x 2 packages/@jsii/kernel/lib
packages/@jsii/kernel/lib
serialization.ts
serialization.ts
310:327 
328:345 
view
14 x 2 packages/jsii-reflect/lib
packages/jsii-pacmak/lib
util.ts
util.ts
83:100 
79:96 
view
11 x 3 packages/jsii-reflect/lib
packages/jsii/lib
packages/jsii-pacmak/lib
util.ts
utils.ts
util.ts
62:73 
207:218 
58:69 
view
9 x 2 packages/@jsii/runtime
packages/@jsii/check-node
jest.config.ts
jest.config.ts
3:13 
3:13 
view
8 x 2 packages/@jsii/dotnet-ru...c/Amazon.JSII.Analyzers
packages/@jsii/dotnet-ru...c/Amazon.JSII.Analyzers
JsiiOptionalAnalyzer.cs
JsiiOptionalAnalyzer.cs
113:121 
131:139 
view
7 x 2 packages/@jsii/python-runtime/src/jsii
packages/@jsii/python-runtime/src/jsii
_reference_map.py
_reference_map.py
0:0 
0:0 
view
7 x 2 packages/jsii-reflect/lib
packages/jsii-reflect/lib
property.ts
callable.ts
88:95 
62:69 
view
7 x 2 packages/jsii-reflect/lib
packages/jsii-pacmak/lib/targets/go
type-system.ts
util.ts
345:352 
38:45 
view
6 x 2 packages/@jsii/kernel/lib
packages/jsii-diff/lib
serialization.ts
util.ts
847:853 
99:105 
view
6 x 2 packages/jsii-rosetta/lib/languages
packages/jsii-rosetta/lib/languages
java.ts
csharp.ts
436:442 
514:520 
view
6 x 2 packages/jsii-pacmak/lib/targets
packages/jsii-pacmak/lib/targets/dotnet
java.ts
dotnetgenerator.ts
733:739 
452:458 
view
6 x 2 packages/jsii-pacmak/lib/targets
packages/jsii-pacmak/lib/targets/dotnet
java.ts
dotnetgenerator.ts
744:750 
460:466 
view
6 x 2 packages/jsii-pacmak/lib/targets
packages/jsii-pacmak/lib/targets/dotnet
java.ts
dotnetgenerator.ts
756:762 
428:434 
view
6 x 2 packages/jsii-pacmak/lib/targets
packages/jsii-pacmak/lib/targets/dotnet
java.ts
dotnetgenerator.ts
884:890 
227:233 
view
6 x 2 packages/jsii-pacmak/lib/targets
packages/jsii-pacmak/lib/targets/dotnet
java.ts
dotnetgenerator.ts
2305:2311 
1050:1056 
view
6 x 2 packages/jsii-pacmak/lib/targets
packages/jsii-pacmak/lib/targets
js.ts
js.ts
112:118 
122:128 
view
6 x 2 packages/jsii-pacmak/lib/targets
packages/jsii-pacmak/lib/targets
python.ts
python.ts
2743:2749 
2751:2757 
view