firebase / firebase-tools-ui
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:
    • 13,682 cleaned lines of cleaned code (without empty lines, comments, and frequently duplicated constructs such as imports)
    • 679 duplicated lines
  • 77 duplicates
system4% (679 lines)
Duplication per Extension
tsx6% (617 lines)
scss1% (50 lines)
ts<1% (12 lines)
Duplication per Component (primary)
src/components/Firestore5% (296 lines)
src/components/common8% (157 lines)
src/components/Auth7% (94 lines)
src/components/Database4% (90 lines)
src/components/Storage2% (34 lines)
src/components/App5% (8 lines)
public0% (0 lines)
ROOT0% (0 lines)
src0% (0 lines)
src/components/Home0% (0 lines)
src/components/LogViewer0% (0 lines)
src/store0% (0 lines)
src/store/auth0% (0 lines)
src/store/config0% (0 lines)

Duplication Between Components (50+ lines)

G src/components/Auth src/components/Auth src/components/Storage src/components/Storage src/components/Auth--src/components/Storage 76 src/components/Database src/components/Database src/components/Auth--src/components/Database 71 src/components/Database--src/components/Storage 52

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 77 duplicates...
Size#FoldersFilesLinesCode
14 x 2 src/components/Database
src/components/common
icons.tsx
icons.tsx
32:45 (56%)
129:142 (10%)
view
14 x 2 src/components/Auth/UsersCard
src/components/Auth/UsersCard/table
confirmClearAllData.tsx
confirmDeleteUser.tsx
30:44 (66%)
31:45 (66%)
view
14 x 2 src/components/Auth/UsersCard
src/components/Storage/Canvas/DeleteAllButton
confirmClearAllData.tsx
confirmDeleteAllFiles.tsx
30:44 (66%)
30:44 (66%)
view
14 x 2 src/components/Auth/UsersCard/table
src/components/Storage/Canvas/DeleteAllButton
confirmDeleteUser.tsx
confirmDeleteAllFiles.tsx
31:45 (66%)
30:44 (66%)
view
13 x 2 src/components/common
src/components/common
Field.tsx
Field.tsx
74:86 (12%)
121:133 (12%)
view
12 x 2 src/components/Firestore/DocumentEditor
src/components/Firestore/DocumentEditor
index.tsx
index.tsx
222:233 (3%)
285:296 (3%)
view
12 x 2 src/components/Firestore/DocumentEditor
src/components/Firestore/DocumentEditor
JsonEditor.tsx
ReferenceEditor.tsx
29:41 (31%)
31:43 (27%)
view
12 x 2 src/components/Firestore...s/RequestDetails/Header
src/components/Firestore...ests/RequestsCard/Table
index.tsx
TableRow.tsx
82:93 (15%)
95:106 (13%)
view
11 x 2 src/components/common
src/components/common
Field.tsx
FileField.tsx
73:83 (10%)
91:101 (15%)
view
11 x 2 src/components/common
src/components/common
Field.tsx
Field.tsx
46:56 (10%)
106:116 (10%)
view
10 x 2 src/components/Firestore/Requests/RequestDetails
src/components/Firestore...ests/RequestsCard/Table
index.tsx
TableRow.tsx
104:113 (7%)
44:53 (11%)
view
10 x 2 src/components/common
src/components/common
Field.tsx
FileField.tsx
121:130 (9%)
92:101 (14%)
view
10 x 2 src/components/Firestore/DocumentEditor
src/components/Firestore/DocumentEditor
NumberEditor.tsx
ReferenceEditor.tsx
28:38 (28%)
31:41 (23%)
view
10 x 2 src/components/Firestore/DocumentEditor
src/components/Firestore/DocumentEditor
JsonEditor.tsx
NumberEditor.tsx
29:39 (26%)
28:38 (28%)
view
9 x 2 src/components/common
src/components/common
Field.tsx
FileField.tsx
48:56 (8%)
59:67 (12%)
view
9 x 2 src/components/common
src/components/common
Field.tsx
FileField.tsx
108:116 (8%)
59:67 (12%)
view
8 x 2 src/components/Database/DataViewer
src/components/Database/DataViewer
CloneDialog.tsx
RenameDialog.tsx
20:35 (6%)
18:31 (12%)
view
8 x 2 src/components/Firestore/dialogs
src/components/Firestore/dialogs
AddCollectionDialog.tsx
AddDocumentDialog.tsx
130:137 (7%)
124:131 (8%)
view
8 x 2 src/components/App
src/components/Firestore
AppBar.tsx
index.tsx
40:47 (17%)
92:99 (11%)
view
8 x 2 src/components/Auth/UserFormDialog/controls
src/components/Auth/UserFormDialog/controls
EmailPassword.tsx
PhoneControl.tsx
81:88 (9%)
54:61 (23%)
view