aws-amplify / amplify-js
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
  • 20% duplication:
    • 56,024 cleaned lines of cleaned code (without empty lines, comments, and frequently duplicated constructs such as imports)
    • 11,605 duplicated lines
  • 1,214 duplicates
system20% (11,605 lines)
Duplication per Extension
ts15% (4,527 lines)
tsx24% (3,451 lines)
js43% (2,297 lines)
c17% (536 lines)
vue22% (466 lines)
scss16% (186 lines)
css11% (74 lines)
m9% (40 lines)
java3% (28 lines)
Duplication per Component (primary)
packages/aws-amplify-react32% (2,414 lines)
packages/aws-amplify-angular45% (2,238 lines)
packages/aws-amplify-vue46% (1,472 lines)
packages/amazon-cognito-identity-js16% (1,064 lines)
packages/amplify-ui-components13% (984 lines)
packages/datastore14% (955 lines)
packages/aws-amplify-react-native32% (943 lines)
packages/analytics9% (219 lines)
packages/core8% (206 lines)
packages/auth7% (183 lines)
packages/storage7% (158 lines)
packages/datastore-storage-adapter19% (152 lines)
packages/predictions6% (116 lines)
packages/amplify-ui-angular75% (110 lines)
scripts19% (100 lines)
packages/amplify-ui11% (74 lines)
packages/pushnotification5% (56 lines)
packages/xr12% (53 lines)
packages/interactions10% (34 lines)
packages/pubsub2% (27 lines)
packages/geo7% (26 lines)
packages/api-graphql4% (15 lines)
packages/aws-amplify3% (6 lines)
vscode0% (0 lines)
vscode/src0% (0 lines)
vscode/out0% (0 lines)
ROOT0% (0 lines)
packages/api0% (0 lines)
packages/amplify-ui-vue0% (0 lines)
packages/amplify-ui-react0% (0 lines)
packages/api-rest0% (0 lines)
packages/amplify-ui-storybook0% (0 lines)

Duplication Between Components (50+ lines)

G packages/aws-amplify-angular packages/aws-amplify-angular packages/aws-amplify-vue packages/aws-amplify-vue packages/aws-amplify-angular--packages/aws-amplify-vue 2000 packages/aws-amplify-react packages/aws-amplify-react packages/aws-amplify-angular--packages/aws-amplify-react 1530 packages/aws-amplify-react-native packages/aws-amplify-react-native packages/aws-amplify-angular--packages/aws-amplify-react-native 56 packages/aws-amplify-react--packages/aws-amplify-vue 1562 packages/aws-amplify-react-native--packages/aws-amplify-vue 138 packages/aws-amplify-react-native--packages/aws-amplify-react 1358 packages/datastore-storage-adapter packages/datastore-storage-adapter packages/datastore packages/datastore packages/datastore-storage-adapter--packages/datastore 398 packages/amplify-ui-components packages/amplify-ui-components packages/amplify-ui packages/amplify-ui packages/amplify-ui-components--packages/amplify-ui 148 packages/amazon-cognito-identity-js packages/amazon-cognito-identity-js packages/core packages/core packages/amazon-cognito-identity-js--packages/core 97

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 1,214 duplicates...
Size#FoldersFilesLinesCode
703 x 2 packages/aws-amplify-ang...ts/interactions/chatbot
packages/aws-amplify-vue...components/interactions
aws-lex-audio.js
aws-lex-audio.js
15:991 (100%)
15:991 (100%)
view
569 x 2 packages/aws-amplify-ang...ts/interactions/chatbot
packages/aws-amplify-react/src/Interactions
aws-lex-audio.js
aws-lex-audio.tsx
15:824 (80%)
16:841 (80%)
view
569 x 2 packages/aws-amplify-react/src/Interactions
packages/aws-amplify-vue...components/interactions
aws-lex-audio.tsx
aws-lex-audio.js
16:841 (80%)
15:824 (80%)
view
207 x 2 packages/aws-amplify-react-native/src
packages/aws-amplify-react/src/Auth/common
CountryDialCodes.ts
country-dial-codes.tsx
2:208 (99%)
2:208 (99%)
view
170 x 2 packages/aws-amplify-angular/src/assets
packages/aws-amplify-vue/src/assets
countries.ts
countries.js
22:191 (76%)
2:171 (77%)
view
69 x 2 packages/aws-amplify-react/src/Interactions
packages/aws-amplify-vue...components/interactions
aws-lex-audio.tsx
aws-lex-audio.js
922:1011 (9%)
902:991 (9%)
view
69 x 2 packages/aws-amplify-ang...ts/interactions/chatbot
packages/aws-amplify-react/src/Interactions
aws-lex-audio.js
aws-lex-audio.tsx
902:991 (9%)
922:1011 (9%)
view
66 x 2 packages/aws-amplify-ang...umerian-scene-component
packages/aws-amplify-ang...umerian-scene-component
sumerian-scene-loading.component.core.ts
sumerian-scene-loading.component.ioni...
18:84 (86%)
18:84 (91%)
view
64 x 2 packages/aws-amplify-react/src/Interactions
packages/aws-amplify-vue...components/interactions
aws-lex-audio.tsx
aws-lex-audio.js
845:920 (9%)
826:901 (9%)
view
64 x 2 packages/aws-amplify-ang...ts/interactions/chatbot
packages/aws-amplify-react/src/Interactions
aws-lex-audio.js
aws-lex-audio.tsx
826:901 (9%)
845:920 (9%)
view
55 x 2 packages/amplify-ui-angular/src
packages/amplify-ui-angular/src
amplify-module.ts
amplify-module.ts
5:59 (45%)
65:119 (45%)
view
52 x 2 packages/aws-amplify-react-native/src
packages/aws-amplify-react/src
AmplifyI18n.ts
AmplifyI18n.tsx
17:68 (22%)
16:67 (17%)
view
47 x 2 packages/amazon-cognito-...JKBigInteger/LibTomMath
packages/amazon-cognito-...JKBigInteger/LibTomMath
tommath.c
tommath.c
357:454 (1%)
6259:6357 (1%)
view
46 x 2 packages/aws-amplify-react-native/src
packages/aws-amplify-react/src
AmplifyI18n.ts
AmplifyI18n.tsx
167:212 (20%)
181:226 (15%)
view
45 x 2 packages/aws-amplify-angular/src/assets
packages/aws-amplify-vue/src/assets
countries.ts
countries.js
194:238 (20%)
174:218 (20%)
view
44 x 2 packages/aws-amplify-react-native/src
packages/aws-amplify-react/src
AmplifyI18n.ts
AmplifyI18n.tsx
113:160 (19%)
130:175 (15%)
view
42 x 2 packages/datastore/src/storage/adapter
packages/datastore/src/storage/adapter
AsyncStorageAdapter.ts
IndexedDBAdapter.ts
272:331 (9%)
405:465 (6%)
view
35 x 2 packages/aws-amplify-react-native/src/Auth
packages/aws-amplify-react/src/Auth
SignUp.tsx
SignUp.tsx
110:160 (15%)
131:181 (13%)
view
35 x 2 packages/aws-amplify-ang.../photo-picker-component
packages/aws-amplify-ang.../photo-picker-component
photo-picker.component.core.ts
photo-picker.component.ionic.ts
26:61 (26%)
20:55 (85%)
view
30 x 2 packages/datastore/src/storage/adapter
packages/datastore/src/storage/adapter
AsyncStorageAdapter.ts
IndexedDBAdapter.ts
423:460 (6%)
617:655 (4%)
view
Duplicated Units
The list of top 20 duplicated units.
See data for all 65 unit duplicates...
Size#FoldersFilesLinesCode
76 x 3 packages/aws-amplify-ang...ts/interactions/chatbot
packages/aws-amplify-vue...components/interactions
packages/aws-amplify-react/src/Interactions
aws-lex-audio.js
aws-lex-audio.js
aws-lex-audio.tsx
566:656 
566:656 
576:673 
view
28 x 3 packages/aws-amplify-ang...ts/interactions/chatbot
packages/aws-amplify-vue...components/interactions
packages/aws-amplify-react/src/Interactions
aws-lex-audio.js
aws-lex-audio.js
aws-lex-audio.tsx
910:938 
910:938 
930:958 
view
24 x 3 packages/aws-amplify-ang...ts/interactions/chatbot
packages/aws-amplify-vue...components/interactions
packages/aws-amplify-react/src/Interactions
aws-lex-audio.js
aws-lex-audio.js
aws-lex-audio.tsx
752:780 
752:780 
769:797 
view
23 x 3 packages/aws-amplify-ang...ts/interactions/chatbot
packages/aws-amplify-vue...components/interactions
packages/aws-amplify-react/src/Interactions
aws-lex-audio.js
aws-lex-audio.js
aws-lex-audio.tsx
504:529 
504:529 
514:539 
view
22 x 3 packages/aws-amplify-ang...ts/interactions/chatbot
packages/aws-amplify-vue...components/interactions
packages/aws-amplify-react/src/Interactions
aws-lex-audio.js
aws-lex-audio.js
aws-lex-audio.tsx
479:501 
479:501 
489:511 
view
21 x 2 packages/aws-amplify-react-native/src/API/GraphQL
packages/aws-amplify-react/src/API/GraphQL
Connect.tsx
Connect.tsx
156:183 
153:184 
view
25 x 3 packages/aws-amplify-ang...ts/interactions/chatbot
packages/aws-amplify-vue...components/interactions
packages/aws-amplify-react/src/Interactions
aws-lex-audio.js
aws-lex-audio.js
aws-lex-audio.tsx
16:41 
16:41 
17:46 
view
20 x 2 packages/datastore/src/storage/adapter
packages/datastore/src/storage/adapter
AsyncStorageAdapter.ts
IndexedDBAdapter.ts
309:332 
442:466 
view
19 x 2 packages/amazon-cognito-identity-js/src
packages/amazon-cognito-identity-js/src
CognitoUser.js
CognitoUser.js
1860:1880 
1889:1909 
view
18 x 3 packages/aws-amplify-ang...ts/interactions/chatbot
packages/aws-amplify-vue...components/interactions
packages/aws-amplify-react/src/Interactions
aws-lex-audio.js
aws-lex-audio.js
aws-lex-audio.tsx
963:983 
963:983 
983:1003 
view
24 x 3 packages/aws-amplify-ang...ts/interactions/chatbot
packages/aws-amplify-vue...components/interactions
packages/aws-amplify-react/src/Interactions
aws-lex-audio.js
aws-lex-audio.js
aws-lex-audio.tsx
259:284 
259:284 
265:290 
view
16 x 3 packages/aws-amplify-ang...ts/interactions/chatbot
packages/aws-amplify-vue...components/interactions
packages/aws-amplify-react/src/Interactions
aws-lex-audio.js
aws-lex-audio.js
aws-lex-audio.tsx
382:403 
382:403 
392:413 
view
16 x 2 packages/amazon-cognito-identity-js/src/utils
packages/amazon-cognito-identity-js/src/utils
cryptoSecureRandomInt.js
cryptoSecureRandomInt.web.js
29:49 
17:37 
view
15 x 3 packages/aws-amplify-ang...ts/interactions/chatbot
packages/aws-amplify-vue...components/interactions
packages/aws-amplify-react/src/Interactions
aws-lex-audio.js
aws-lex-audio.js
aws-lex-audio.tsx
168:183 
168:183 
174:189 
view
14 x 2 packages/aws-amplify-react/src/Auth
packages/aws-amplify-react/src/Auth
SignIn.tsx
RequireNewPassword.tsx
62:76 
48:62 
view
14 x 2 packages/aws-amplify-react/src/Auth
packages/aws-amplify-react/src/Auth
TOTPSetup.tsx
ConfirmSignIn.tsx
36:50 
55:70 
view
12 x 2 packages/storage/src/providers
packages/geo/src/Providers
AWSS3Provider.ts
AmazonLocationServiceProvider.ts
748:761 
260:272 
view
12 x 3 packages/aws-amplify-ang...ts/interactions/chatbot
packages/aws-amplify-vue...components/interactions
packages/aws-amplify-react/src/Interactions
aws-lex-audio.js
aws-lex-audio.js
aws-lex-audio.tsx
143:155 
143:155 
149:161 
view
12 x 3 packages/aws-amplify-ang...ts/interactions/chatbot
packages/aws-amplify-vue...components/interactions
packages/aws-amplify-react/src/Interactions
aws-lex-audio.js
aws-lex-audio.js
aws-lex-audio.tsx
461:473 
461:473 
471:483 
view
11 x 2 packages/aws-amplify-ang...ts/interactions/chatbot
packages/aws-amplify-vue...components/interactions
aws-lex-audio.js
aws-lex-audio.js
823:835 
823:835 
view