mozilla / fx-private-relay
Duplication

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

Intro
Learn more...
Duplication Overall
system16% (6,937 lines)
dependency graphs: 2D graph | 3D graph | 3D graph (with duplicates)...
Duplication per Extension
scss23% (2,283 lines)
tsx14% (2,049 lines)
py13% (1,906 lines)
ts12% (342 lines)
html31% (335 lines)
yaml27% (22 lines)
Duplication per Component (primary)
frontend17% (4,674 lines)
emails17% (1,013 lines)
privaterelay10% (542 lines)
api14% (351 lines)
phones22% (335 lines)
telemetry27% (22 lines)
mypy_stubs0% (0 lines)
ROOT0% (0 lines)

Duplication Between Components (50+ lines)

G emails emails privaterelay privaterelay emails--privaterelay 297 phones phones emails--phones 280 phones--privaterelay 128

Download: SVG DOT (open online Graphviz editor)

Open 2D force graph... Open 3D force graph...

Show more details on duplication between components...
Longest Duplicates
The list of 50 longest duplicates.
See data for all 831 duplicates...
Size#FoldersFilesLinesCode
107 x 2 frontend/src/components/dashboard
frontend/src/components/dashboard
136:268 (26%)
94:226 (43%)
view
69 x 2 frontend/src/components/phones/onboarding
frontend/src/components/phones/onboarding
140:220 (27%)
129:209 (25%)
view
57 x 2 frontend/src/components/phones/onboarding
frontend/src/components/phones/onboarding
33:97 (23%)
47:111 (20%)
view
50 x 2 frontend/src/components/landing
frontend/src/components/phones/onboarding
819:872 (6%)
129:182 (32%)
view
45 x 2 emails/templates/emails
emails/templates/emails
16:67 (14%)
20:64 (15%)
view
40 x 2 frontend/src/components/dashboard/aliases
frontend/src/components/dashboard/aliases
1:46 (38%)
1:46 (32%)
view
39 x 2 frontend/src/components/layout/topmessage
frontend/src/components/layout/topmessage
1:47 (100%)
1:47 (100%)
view
37 x 2 frontend/src/components/dashboard/aliases
frontend/src/components/dashboard/aliases
58:102 (23%)
107:151 (13%)
view
37 x 2 privaterelay
privaterelay
104:140 (8%)
70:106 (19%)
view
37 x 2 frontend/src/components/phones/onboarding
frontend/src/components/phones/onboarding
16:58 (30%)
23:65 (14%)
view
35 x 2 privaterelay
privaterelay
71:105 (18%)
220:254 (18%)
view
35 x 2 privaterelay
privaterelay
105:139 (7%)
220:254 (18%)
view
35 x 2 frontend/src/components/dashboard
frontend/src/components/dashboard
373:415 (8%)
247:288 (14%)
view
33 x 2 emails/templates/emails
emails/templates/emails
11:43 (21%)
82:114 (21%)
view
32 x 2 frontend/src/components/dashboard/aliases
frontend/src/components/dashboard/aliases
135:168 (21%)
135:168 (23%)
view
30 x 2 emails/templates/emails
emails/templates/emails
43:76 (19%)
127:160 (19%)
view
29 x 2 frontend/src/components/dashboard/aliases
frontend/src/components/phones/dashboard
400:435 (8%)
516:551 (6%)
view
28 x 2 frontend/src/components/layout/topmessage
frontend/src/components/layout/topmessage
1:31 (41%)
1:31 (45%)
view
28 x 2 frontend/src/pages
frontend/src/pages
133:163 (16%)
199:229 (12%)
view
28 x 2 frontend/src/components/phones/onboarding
frontend/src/components/phones/onboarding
26:58 (22%)
47:79 (10%)
view
27 x 2 frontend/src/components/dashboard/aliases
frontend/src/components/dashboard/aliases
126:152 (13%)
281:307 (6%)
view
26 x 2 emails/migrations
emails/migrations
62:87 (24%)
92:117 (24%)
view
25 x 2 emails/migrations
emails/migrations
45:69 (21%)
58:82 (23%)
view
24 x 2 frontend/src/components/phones/onboarding
frontend/src/components/phones/onboarding
239:266 (9%)
208:235 (8%)
view
23 x 2 emails/migrations
emails/migrations
71:93 (19%)
90:112 (21%)
view
22 x 2 frontend/src/pages
frontend/src/pages
234:260 (8%)
245:271 (9%)
view
22 x 2 frontend/src/components/dashboard/aliases
frontend/src/components/layout/navigation
297:326 (7%)
270:299 (7%)
view
22 x 2 emails/migrations
emails/migrations
95:118 (18%)
119:142 (20%)
view
22 x 2 emails/migrations
emails/migrations
23:141 (45%)
19:149 (40%)
view
21 x 2 emails/migrations
emails/migrations
49:69 (17%)
73:93 (17%)
view
21 x 2 emails/migrations
emails/migrations
96:118 (17%)
125:147 (43%)
view
21 x 2 emails/migrations
emails/migrations
49:69 (17%)
92:112 (19%)
view
21 x 2 emails/migrations
emails/migrations
120:142 (19%)
125:147 (43%)
view
21 x 2 frontend/src/components/dashboard/aliases
frontend/src/components/dashboard/aliases
186:207 (10%)
150:171 (14%)
view
21 x 2 emails/migrations
emails/migrations
73:93 (17%)
62:82 (19%)
view
21 x 2 frontend/src/components/phones/onboarding
frontend/src/components/phones/onboarding
63:85 (17%)
80:102 (7%)
view
21 x 2 frontend/src/components/phones/onboarding
frontend/src/components/phones/onboarding
63:85 (17%)
66:88 (8%)
view
20 x 2 emails/templates/emails
emails/templates/emails
12:31 (37%)
55:74 (6%)
view
20 x 2 frontend/src/components/dashboard/aliases
frontend/src/pages/accounts
313:334 (4%)
351:371 (3%)
view
19 x 2 frontend/src/pages
frontend/src/pages
14:35 (7%)
19:40 (9%)
view
19 x 2 emails/templates/emails
emails/templates/emails
116:138 (6%)
38:60 (11%)
view
18 x 2 frontend/src/components/layout/topmessage
frontend/src/components/layout/topmessage
39:57 (45%)
51:69 (38%)
view
18 x 2 frontend/src/components/dashboard/aliases
frontend/src/components/dashboard/aliases
186:204 (8%)
150:168 (13%)
view
18 x 2 emails/migrations
privaterelay/migrations
12:29 (72%)
27:44 (12%)
view
18 x 2 phones/migrations
phones/migrations
48:67 (19%)
43:62 (27%)
view
18 x 2 privaterelay
privaterelay
467:484 (3%)
225:242 (9%)
view
18 x 2 frontend/src/pages
frontend/src/pages
262:283 (6%)
273:294 (7%)
view
18 x 2 phones/migrations
phones/migrations
33:52 (33%)
43:62 (27%)
view
18 x 2 phones/migrations
phones/migrations
48:67 (19%)
62:81 (21%)
view
18 x 2 privaterelay
privaterelay
467:484 (3%)
76:93 (9%)
view