Duplication Overall
  • 16% duplication:
    • 28,337 cleaned lines of cleaned code (without empty lines, comments, and frequently duplicated constructs such as imports)
    • 4,619 duplicated lines
  • 762 duplicates
system16% (4,619 lines)
dependency graphs: 2D graph | 2D graph (with duplicates)... | 3D graph | 3D graph (with duplicates)...
Duplication per Extension
tsx21% (2,339 lines)
ts12% (2,026 lines)
yaml16% (142 lines)
html76% (112 lines)
Duplication per Component (primary)
src16% (4,192 lines)
playwright17% (178 lines)
ROOT12% (142 lines)
cdk21% (107 lines)
util0% (0 lines)
.storybook0% (0 lines)
scripts0% (0 lines)
.github0% (0 lines)
Longest Duplicates
The list of 50 longest duplicates.
See data for all 762 duplicates...
Size#FoldersFilesLinesCode
72 x 2 src/client/pages
src/client/pages
42:117 (35%)
49:124 (32%)
view
53 x 2 src/okta/static
src/okta/static
1:62 (96%)
1:62 (96%)
view
24 x 2 src/client/pages
src/client/pages
10:36 (38%)
15:41 (45%)
view
22 x 2 src/client/pages
src/client/pages
21:44 (40%)
27:50 (26%)
view
20 x 2 src/client/pages
src/client/pages
24:45 (25%)
29:50 (24%)
view
20 x 2 src/client/pages
src/client/pages
23:44 (36%)
24:45 (25%)
view
20 x 2 src/server/controllers
src/server/routes
802:821 (4%)
306:325 (7%)
view
19 x 2 src/server/controllers
src/server/controllers
399:419 (4%)
632:652 (4%)
view
19 x 2 src/server/controllers
src/server/lib/okta
399:419 (4%)
358:378 (6%)
view
19 x 2 src/server/controllers
src/server/lib/okta
632:652 (4%)
358:378 (6%)
view
17 x 2 src/client/pages
src/client/pages
70:88 (6%)
66:84 (4%)
view
16 x 2 ROOT
ROOT
622:637 (2%)
702:717 (2%)
view
16 x 2 ROOT
ROOT
669:684 (2%)
735:750 (2%)
view
16 x 2 ROOT
ROOT
669:684 (2%)
801:816 (2%)
view
16 x 2 ROOT
ROOT
735:750 (2%)
801:816 (2%)
view
15 x 2 src/client/pages
src/client/pages
165:180 (5%)
257:272 (5%)
view
15 x 2 src/server/controllers
src/server/controllers
504:522 (3%)
586:604 (3%)
view
15 x 2 src/server/lib/okta
src/server/lib/okta
84:99 (4%)
180:195 (4%)
view
15 x 2 src/server/lib/okta
src/server/lib/okta
117:135 (4%)
213:231 (4%)
view
15 x 2 src/client/pages
src/client/pages
220:234 (7%)
171:185 (9%)
view
15 x 2 src/server/lib/middleware
src/server/routes
69:90 (23%)
67:85 (7%)
view
14 x 2 cdk/lib
cdk/lib
468:481 (2%)
514:527 (2%)
view
14 x 2 cdk/lib
cdk/lib
491:504 (2%)
538:551 (2%)
view
14 x 2 src/client/pages
src/client/pages
69:83 (5%)
165:179 (5%)
view
14 x 2 src/client/pages
src/client/pages
69:83 (5%)
257:271 (5%)
view
14 x 2 src/server/routes
src/server/routes
124:138 (7%)
169:182 (7%)
view
14 x 2 src/client/pages
src/client/pages
92:111 (7%)
107:126 (8%)
view
14 x 2 src/server/controllers
src/server/controllers
77:97 (11%)
480:502 (2%)
view
14 x 2 src/client/pages
src/client/pages
8:27 (33%)
9:28 (34%)
view
14 x 2 src/server/controllers
src/server/routes
686:707 (2%)
180:202 (5%)
view
13 x 2 ROOT
ROOT
453:465 (1%)
494:506 (1%)
view
13 x 2 src/server/controllers
src/server/controllers
473:486 (2%)
555:568 (2%)
view
13 x 2 src/client/pages
src/client/pages
166:179 (4%)
66:79 (3%)
view
13 x 2 src/client/pages
src/client/pages
258:271 (4%)
66:79 (3%)
view
13 x 2 src/email/components
src/email/components
11:24 (68%)
10:23 (56%)
view
13 x 2 src/server/controllers
src/server/routes
572:595 (2%)
485:507 (2%)
view
13 x 2 src/server/controllers
src/server/controllers
192:204 (11%)
507:519 (2%)
view
13 x 2 src/server/controllers
src/server/controllers
192:204 (11%)
589:601 (2%)
view
12 x 2 src/server/lib/okta/api
src/server/lib/okta/api
167:178 (5%)
264:275 (5%)
view
12 x 2 src/client/pages
src/client/pages
65:77 (2%)
168:180 (2%)
view
12 x 2 src/client/pages
src/client/pages
65:77 (2%)
275:287 (2%)
view
12 x 2 src/client/pages
src/client/pages
65:77 (2%)
382:394 (2%)
view
12 x 2 src/client/pages
src/client/pages
168:180 (2%)
275:287 (2%)
view
12 x 2 src/client/pages
src/client/pages
168:180 (2%)
382:394 (2%)
view
12 x 2 src/client/pages
src/client/pages
275:287 (2%)
382:394 (2%)
view
12 x 2 src/client/pages
src/client/pages
56:68 (4%)
52:64 (2%)
view
12 x 2 src/client/pages
src/client/pages
90:102 (4%)
86:98 (2%)
view
12 x 2 src/client/pages
src/client/pages
195:206 (5%)
178:189 (5%)
view
12 x 2 src/client/pages
src/client/pages
32:43 (17%)
22:33 (22%)
view
12 x 2 src/email/components
src/email/templates/EmailChallengePasscode
15:27 (32%)
10:22 (42%)
view
Most Frequent Duplicates
The list of 50 most frequently found duplicates.
Size#FoldersFilesLinesCode
6 x 18 src/email/components
src/email/templates/AccidentalEmail
src/email/components
src/email/components
src/email/templates/EmailChallengePasscode
src/email/components
src/email/templates/CompleteRegistration
src/email/templates/RegistrationPasscode
src/email/templates/CreatePassword
src/email/templates/AccountExists
...
14:19 (31%)
13:18 (30%)
18:23 (16%)
13:18 (26%)
13:18 (21%)
13:18 (30%)
13:18 (30%)
13:18 (21%)
13:18 (30%)
13:18 (30%)
...
view
6 x 17 src/email/components
src/email/templates/AccidentalEmail
src/email/components
src/email/components
src/email/templates/EmailChallengePasscode
src/email/components
src/email/templates/CompleteRegistration
src/email/templates/RegistrationPasscode
src/email/templates/CreatePassword
src/email/templates/AccountExists
...
15:21 (31%)
14:20 (30%)
19:25 (16%)
14:20 (26%)
14:20 (21%)
14:20 (30%)
14:20 (30%)
14:20 (21%)
14:20 (30%)
14:20 (30%)
...
view
6 x 17 src/email/components
src/email/templates/AccidentalEmail
src/email/components
src/email/components
src/email/templates/EmailChallengePasscode
src/email/components
src/email/templates/CompleteRegistration
src/email/templates/RegistrationPasscode
src/email/templates/CreatePassword
src/email/templates/AccountExists
...
13:18 (31%)
12:17 (30%)
17:22 (16%)
12:17 (26%)
12:17 (21%)
12:17 (30%)
12:17 (30%)
12:17 (21%)
12:17 (30%)
12:17 (30%)
...
view
6 x 17 src/email/components
src/email/templates/AccidentalEmail
src/email/components
src/email/components
src/email/templates/EmailChallengePasscode
src/email/components
src/email/templates/CompleteRegistration
src/email/templates/RegistrationPasscode
src/email/templates/CreatePassword
src/email/templates/AccountExists
...
16:22 (31%)
15:21 (30%)
20:26 (16%)
15:21 (26%)
15:21 (21%)
15:21 (30%)
15:21 (30%)
15:21 (21%)
15:21 (30%)
15:21 (30%)
...
view
6 x 17 src/email/components
src/email/templates/AccidentalEmail
src/email/components
src/email/components
src/email/templates/RegistrationPasscode
src/email/templates/EmailChallengePasscode
src/email/components
src/email/templates/CompleteRegistration
src/email/templates/CreatePassword
src/email/templates/AccountExists
...
11:16 (31%)
10:15 (30%)
15:20 (16%)
10:15 (26%)
10:15 (21%)
10:15 (21%)
10:15 (30%)
10:15 (30%)
10:15 (30%)
10:15 (30%)
...
view
6 x 17 src/email/components
src/email/templates/AccidentalEmail
src/email/components
src/email/components
src/email/templates/EmailChallengePasscode
src/email/components
src/email/templates/CompleteRegistration
src/email/templates/RegistrationPasscode
src/email/templates/CreatePassword
src/email/templates/AccountExists
...
12:17 (31%)
11:16 (30%)
16:21 (16%)
11:16 (26%)
11:16 (21%)
11:16 (30%)
11:16 (30%)
11:16 (21%)
11:16 (30%)
11:16 (30%)
...
view
6 x 11 src/email/templates/CompleteRegistration
src/email/templates/RegistrationPasscode
src/email/templates/CreatePassword
src/email/components
src/email/templates/AccidentalEmail
src/email/templates/AccountWithoutPasswordExists
src/email/templates/EmailChallengePasscode
src/email/templates/NoAccount
src/email/templates/ResetPassword
src/email/templates/AccountExists
...
16:22 (30%)
16:22 (21%)
16:22 (30%)
21:27 (16%)
16:22 (30%)
16:22 (30%)
16:22 (21%)
16:22 (30%)
16:22 (30%)
16:22 (30%)
...
view
6 x 10 src/server/routes
src/server/routes
src/server/routes
src/server/routes
src/server/routes
src/server/routes
src/server/routes
src/server/routes
src/server/routes
src/server/routes
23:28 (6%)
130:135 (1%)
41:46 (2%)
224:230 (1%)
336:342 (1%)
358:363 (1%)
393:398 (1%)
246:251 (2%)
326:331 (2%)
403:408 (2%)
view
6 x 9 src/server/lib/okta
src/server/lib
src/server/controllers
src/server/lib/okta
src/server/lib/okta
src/server/lib/okta
src/server/controllers
src/server/controllers
src/server/controllers
90:95 (1%)
43:48 (16%)
408:413 (1%)
186:191 (1%)
367:372 (1%)
466:471 (1%)
479:484 (1%)
561:566 (1%)
641:646 (1%)
view
6 x 8 src/client/pages
src/client/pages
src/client/pages
src/client/pages
src/client/pages
src/client/pages
src/client/pages
src/client/pages
8:13 (20%)
8:13 (21%)
8:13 (18%)
10:15 (18%)
8:13 (16%)
9:14 (18%)
7:12 (21%)
7:12 (19%)
view
6 x 8 src/client/pages
src/client/pages
src/client/pages
src/client/pages
src/client/pages
src/client/pages
src/client/pages
src/client/pages
65:70 (1%)
85:90 (1%)
168:173 (1%)
189:194 (1%)
275:280 (1%)
296:301 (1%)
382:387 (1%)
403:408 (1%)
view
6 x 8 src/client/pages
src/client/pages
src/client/pages
src/client/pages
src/client/pages
src/client/pages
src/client/pages
src/client/pages
37:42 (10%)
48:53 (5%)
38:43 (7%)
43:48 (7%)
78:83 (2%)
85:90 (2%)
101:106 (2%)
108:113 (2%)
view
6 x 8 src/client/pages
src/client/pages
src/client/pages
src/client/pages
src/client/pages
src/client/pages
src/client/pages
src/client/pages
33:38 (10%)
44:49 (5%)
34:39 (7%)
39:44 (7%)
74:79 (2%)
81:86 (2%)
97:102 (2%)
104:109 (2%)
view
6 x 8 src/client/pages
src/client/pages
src/client/pages
src/client/pages
src/client/pages
src/client/pages
src/client/pages
src/client/pages
35:40 (10%)
46:51 (5%)
36:41 (7%)
41:46 (7%)
76:81 (2%)
83:88 (2%)
99:104 (2%)
106:111 (2%)
view
6 x 8 src/client/pages
src/client/pages
src/client/pages
src/client/pages
src/client/pages
src/client/pages
src/client/pages
src/client/pages
32:37 (10%)
43:48 (5%)
33:38 (7%)
38:43 (7%)
73:78 (2%)
80:85 (2%)
96:101 (2%)
103:108 (2%)
view
6 x 8 src/client/pages
src/client/pages
src/client/pages
src/client/pages
src/client/pages
src/client/pages
src/client/pages
src/client/pages
34:39 (10%)
45:50 (5%)
35:40 (7%)
40:45 (7%)
75:80 (2%)
82:87 (2%)
98:103 (2%)
105:110 (2%)
view
6 x 8 src/client/pages
src/client/pages
src/client/pages
src/client/pages
src/client/pages
src/client/pages
src/client/pages
src/client/pages
36:41 (10%)
47:52 (5%)
37:42 (7%)
42:47 (7%)
77:82 (2%)
84:89 (2%)
100:105 (2%)
107:112 (2%)
view
6 x 7 src/client/pages
src/client/pages
src/client/pages
src/client/pages
src/client/pages
src/client/pages
src/client/pages
10:16 (20%)
10:16 (21%)
10:16 (18%)
12:18 (18%)
10:16 (16%)
11:17 (18%)
9:14 (21%)
view
6 x 7 src/client/pages
src/client/pages
src/client/pages
src/client/pages
src/client/pages
src/client/pages
src/client/pages
74:80 (2%)
70:76 (1%)
173:179 (1%)
280:286 (1%)
387:393 (1%)
170:176 (2%)
262:268 (2%)
view
6 x 7 src/client/pages
src/client/pages
src/client/pages
src/client/pages
src/client/pages
src/client/pages
src/client/pages
9:14 (20%)
9:14 (21%)
9:14 (18%)
11:16 (18%)
9:14 (16%)
10:15 (18%)
8:13 (21%)
view
6 x 7 src/client/pages
src/client/pages
src/client/pages
src/client/pages
src/client/pages
src/client/pages
src/client/pages
75:81 (2%)
71:77 (1%)
174:180 (1%)
281:287 (1%)
388:394 (1%)
171:177 (2%)
263:269 (2%)
view
6 x 7 src/client/pages
src/client/pages
src/client/pages
src/client/pages
src/client/pages
src/client/pages
src/client/pages
72:78 (2%)
68:74 (1%)
171:177 (1%)
278:284 (1%)
385:391 (1%)
168:174 (2%)
260:266 (2%)
view
6 x 7 src/client/pages
src/client/pages
src/client/pages
src/client/pages
src/client/pages
src/client/pages
src/client/pages
70:75 (2%)
66:71 (1%)
169:174 (1%)
276:281 (1%)
383:388 (1%)
166:171 (2%)
258:263 (2%)
view
6 x 7 src/client/pages
src/client/pages
src/client/pages
src/client/pages
src/client/pages
src/client/pages
src/client/pages
90:95 (2%)
86:91 (1%)
190:195 (1%)
297:302 (1%)
404:409 (1%)
186:191 (2%)
278:283 (2%)
view
6 x 7 src/client/pages
src/client/pages
src/client/pages
src/client/pages
src/client/pages
src/client/pages
src/client/pages
71:76 (2%)
67:72 (1%)
170:175 (1%)
277:282 (1%)
384:389 (1%)
167:172 (2%)
259:264 (2%)
view
6 x 7 src/client/pages
src/client/pages
src/client/pages
src/client/pages
src/client/pages
src/client/pages
src/client/pages
13:18 (18%)
10:15 (9%)
8:13 (17%)
9:14 (18%)
8:13 (15%)
15:20 (11%)
26:31 (8%)
view
6 x 7 src/client/pages
src/client/pages
src/client/pages
src/client/pages
src/client/pages
src/client/pages
src/client/pages
73:79 (2%)
69:75 (1%)
172:178 (1%)
279:285 (1%)
386:392 (1%)
169:175 (2%)
261:267 (2%)
view
6 x 6 ROOT
ROOT
ROOT
ROOT
ROOT
ROOT
631:636 (<1%)
678:683 (<1%)
711:716 (<1%)
744:749 (<1%)
777:782 (<1%)
810:815 (<1%)
view
6 x 6 src/email/components
src/email/components
src/email/components
src/email/components
src/email/components
src/email/components
16:22 (30%)
17:23 (31%)
16:22 (18%)
16:22 (30%)
16:22 (26%)
16:22 (30%)
view
6 x 6 ROOT
ROOT
ROOT
ROOT
ROOT
ROOT
629:634 (<1%)
676:681 (<1%)
709:714 (<1%)
742:747 (<1%)
775:780 (<1%)
808:813 (<1%)
view
6 x 6 src/client/pages
src/client/pages
src/client/pages
src/client/pages
src/client/pages
src/client/pages
38:44 (10%)
49:55 (5%)
39:45 (7%)
44:50 (7%)
109:115 (2%)
102:108 (2%)
view
6 x 6 ROOT
ROOT
ROOT
ROOT
ROOT
ROOT
630:635 (<1%)
677:682 (<1%)
710:715 (<1%)
743:748 (<1%)
776:781 (<1%)
809:814 (<1%)
view
6 x 6 src/client/pages
src/client/pages
src/client/pages
src/client/pages
src/client/pages
src/client/pages
15:20 (18%)
12:17 (9%)
10:15 (17%)
11:16 (18%)
10:15 (15%)
17:22 (11%)
view
6 x 6 src/client/pages
src/client/pages
src/client/pages
src/client/pages
src/client/pages
src/client/pages
69:74 (2%)
89:94 (2%)
165:170 (2%)
185:190 (2%)
257:262 (2%)
277:282 (2%)
view
6 x 6 ROOT
ROOT
ROOT
ROOT
ROOT
ROOT
628:633 (<1%)
675:680 (<1%)
708:713 (<1%)
741:746 (<1%)
774:779 (<1%)
807:812 (<1%)
view
6 x 6 src/client/pages
src/client/pages
src/client/pages
src/client/pages
src/client/pages
src/client/pages
14:19 (18%)
11:16 (9%)
9:14 (17%)
10:15 (18%)
9:14 (15%)
16:21 (11%)
view
6 x 6 ROOT
ROOT
ROOT
ROOT
ROOT
ROOT
632:637 (<1%)
679:684 (<1%)
712:717 (<1%)
745:750 (<1%)
778:783 (<1%)
811:816 (<1%)
view
6 x 5 cdk/lib
cdk/lib
cdk/lib
cdk/lib
cdk/lib
453:458 (1%)
476:481 (1%)
499:504 (1%)
522:527 (1%)
546:551 (1%)
view
6 x 5 src/client/pages
src/client/pages
src/client/pages
src/client/pages
src/client/pages
38:43 (1%)
51:56 (1%)
154:159 (1%)
261:266 (1%)
368:373 (1%)
view
6 x 5 src/server/routes
src/server/routes
src/server/routes
src/server/routes
src/server/routes
129:136 (2%)
94:100 (1%)
37:44 (8%)
106:113 (1%)
141:148 (2%)
view
6 x 5 src/client/components
src/client/pages
src/client/components
src/client/pages
src/client/pages
201:207 (1%)
25:31 (15%)
68:74 (7%)
19:25 (19%)
30:36 (15%)
view
6 x 5 playwright/helpers/api
playwright/helpers/api
playwright/helpers/api
playwright/helpers/api
playwright/helpers/api
19:25 (30%)
25:31 (2%)
71:77 (2%)
117:123 (2%)
161:167 (2%)
view
6 x 5 src/client/pages
src/client/pages
src/client/pages
src/client/pages
src/client/pages
19:24 (6%)
30:35 (19%)
36:41 (6%)
78:83 (6%)
96:101 (6%)
view
6 x 5 src/client/components
src/client/components
src/client/components
src/client/components
src/client/components
36:41 (5%)
48:53 (5%)
73:78 (5%)
87:92 (5%)
103:108 (5%)
view
6 x 5 cdk/lib
cdk/lib
cdk/lib
cdk/lib
cdk/lib
451:456 (1%)
474:479 (1%)
497:502 (1%)
520:525 (1%)
544:549 (1%)
view
6 x 5 src/server/controllers
src/server/lib/okta
src/server/controllers
src/server/lib/okta
src/server/controllers
198:203 (5%)
126:131 (1%)
513:518 (1%)
222:227 (1%)
595:600 (1%)
view
6 x 5 src/server/controllers
src/server/lib/okta
src/server/controllers
src/server/lib/okta
src/server/controllers
199:204 (5%)
127:132 (1%)
514:519 (1%)
223:228 (1%)
596:601 (1%)
view
6 x 5 src/client/components
src/client/pages
src/client/components
src/client/pages
src/client/pages
204:209 (1%)
28:33 (15%)
71:76 (7%)
22:27 (19%)
33:38 (15%)
view
6 x 5 cdk/lib
cdk/lib
cdk/lib
cdk/lib
cdk/lib
452:457 (1%)
475:480 (1%)
498:503 (1%)
521:526 (1%)
545:550 (1%)
view
6 x 5 src/client/pages
src/client/pages
src/client/pages
src/client/pages
src/client/pages
31:36 (10%)
32:37 (7%)
37:42 (7%)
72:77 (2%)
79:84 (2%)
view
Duplicated Units
The list of top 2 duplicated units.
See data for all 2 unit duplicates...
Size#FoldersFilesLinesCode
15 x 2 src/server/controllers
src/server/routes
802:818 
306:322 
view
6 x 2 src/server/routes
src/server/routes
248:255 
334:341 
view
About This Analysis
  • 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...