aws-amplify / amplify-flutter
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
  • 15% duplication:
    • 39,101 cleaned lines of cleaned code (without empty lines, comments, and frequently duplicated constructs such as imports)
    • 6,146 duplicated lines
  • 1,745 duplicates
system15% (6,146 lines)
Duplication per Extension
dart14% (3,976 lines)
swift16% (1,247 lines)
kt12% (469 lines)
yaml32% (294 lines)
rb100% (160 lines)
Duplication per Component (primary)
packages/amplify_datastore20% (2,209 lines)
packages/amplify_authenticator11% (1,231 lines)
packages/amplify_api25% (826 lines)
packages/amplify_auth_cognito11% (608 lines)
packages/amplify_storage_s323% (274 lines)
packages/amplify_analytics_pinpoint22% (234 lines)
packages/amplify_datastore_plugin_interface14% (223 lines)
packages/amplify_flutter6% (181 lines)
packages/amplify_core17% (82 lines)
packages/amplify_lints74% (71 lines)
example/lib12% (65 lines)
packages/amplify_storage_plugin_interface17% (44 lines)
build-support100% (32 lines)
packages/amplify_auth_plugin_interface2% (31 lines)
packages/amplify_api_plugin_interface4% (14 lines)
packages/amplify_analytics_plugin_interface8% (13 lines)
example/ios88% (8 lines)
ROOT0% (0 lines)
packages/amplify_test0% (0 lines)
tool0% (0 lines)
example/android0% (0 lines)
example0% (0 lines)

Duplication Between Components (50+ lines)

G packages/amplify_analytics_pinpoint packages/amplify_analytics_pinpoint packages/amplify_api packages/amplify_api packages/amplify_analytics_pinpoint--packages/amplify_api 160 packages/amplify_core packages/amplify_core packages/amplify_analytics_pinpoint--packages/amplify_core 134 packages/amplify_flutter packages/amplify_flutter packages/amplify_analytics_pinpoint--packages/amplify_flutter 116 packages/amplify_storage_s3 packages/amplify_storage_s3 packages/amplify_analytics_pinpoint--packages/amplify_storage_s3 78 packages/amplify_api--packages/amplify_core 106 packages/amplify_api--packages/amplify_flutter 106 packages/amplify_api--packages/amplify_storage_s3 56 packages/amplify_core--packages/amplify_flutter 96 packages/amplify_auth_cognito packages/amplify_auth_cognito packages/amplify_datastore packages/amplify_datastore packages/amplify_auth_cognito--packages/amplify_datastore 122 packages/amplify_auth_cognito--packages/amplify_storage_s3 112 packages/amplify_datastore--packages/amplify_storage_s3 92 build-support build-support build-support--packages/amplify_analytics_pinpoint 64 build-support--packages/amplify_api 64 build-support--packages/amplify_core 64 build-support--packages/amplify_flutter 64

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,745 duplicates...
Size#FoldersFilesLinesCode
32 x 2 build-support
packages/amplify_flutter/ios
dependencies.rb
dependencies.rb
1:42 (100%)
1:42 (100%)
view
32 x 2 packages/amplify_lints/lib
packages/amplify_lints/lib
dart.yaml
flutter_lib.yaml
3:35 (96%)
3:36 (88%)
view
32 x 2 packages/amplify_api/ios
packages/amplify_core/ios
dependencies.rb
dependencies.rb
1:42 (100%)
1:42 (100%)
view
32 x 2 packages/amplify_analytics_pinpoint/ios
packages/amplify_api/ios
dependencies.rb
dependencies.rb
1:42 (100%)
1:42 (100%)
view
32 x 2 packages/amplify_api/ios
packages/amplify_flutter/ios
dependencies.rb
dependencies.rb
1:42 (100%)
1:42 (100%)
view
32 x 2 build-support
packages/amplify_api/ios
dependencies.rb
dependencies.rb
1:42 (100%)
1:42 (100%)
view
32 x 2 packages/amplify_analytics_pinpoint/ios
packages/amplify_core/ios
dependencies.rb
dependencies.rb
1:42 (100%)
1:42 (100%)
view
32 x 2 packages/amplify_analytics_pinpoint/ios
packages/amplify_flutter/ios
dependencies.rb
dependencies.rb
1:42 (100%)
1:42 (100%)
view
32 x 2 packages/amplify_core/ios
packages/amplify_flutter/ios
dependencies.rb
dependencies.rb
1:42 (100%)
1:42 (100%)
view
32 x 2 build-support
packages/amplify_analytics_pinpoint/ios
dependencies.rb
dependencies.rb
1:42 (100%)
1:42 (100%)
view
32 x 2 build-support
packages/amplify_core/ios
dependencies.rb
dependencies.rb
1:42 (100%)
1:42 (100%)
view
30 x 2 packages/amplify_datastore/example/lib/models
packages/amplify_datastore/example/lib/models
ModelWithAppsyncScalarTypes.dart
ModelWithAppsyncScalarTypes.dart
254:283 (3%)
501:530 (3%)
view
25 x 2 packages/amplify_api/example/ios/unit_tests
packages/amplify_api/example/ios/unit_tests
RestApiUnitTests.swift
RestApiUnitTests.swift
215:248 (10%)
271:304 (10%)
view
25 x 2 packages/amplify_api/example/ios/unit_tests
packages/amplify_api/example/ios/unit_tests
GraphQLApiUnitTests.swift
GraphQLApiUnitTests.swift
297:331 (6%)
337:371 (6%)
view
23 x 2 packages/amplify_datastore/example/lib/models
packages/amplify_datastore/example/lib/models
CustomTypeWithAppsyncScalarTypes.dart
CustomTypeWithAppsyncScalarTypes.dart
188:210 (4%)
391:413 (4%)
view
23 x 2 packages/amplify_authent...src/widgets/form_fields
packages/amplify_authent...src/widgets/form_fields
confirm_sign_in_form_field.dart
sign_up_form_field.dart
421:448 (3%)
652:679 (3%)
view
22 x 2 packages/amplify_api/and...aws/amplify/amplify_api
packages/amplify_api/and...aws/amplify/amplify_api
FlutterGraphQLApi.kt
FlutterGraphQLApi.kt
41:67 (9%)
119:145 (9%)
view
21 x 2 packages/amplify_authent...src/widgets/form_fields
packages/amplify_authent...src/widgets/form_fields
confirm_sign_in_form_field.dart
confirm_sign_in_form_field.dart
454:475 (3%)
650:671 (3%)
view
21 x 2 packages/amplify_authent...src/widgets/form_fields
packages/amplify_authent...src/widgets/form_fields
confirm_sign_in_form_field.dart
confirm_sign_in_form_field.dart
394:415 (3%)
454:475 (3%)
view
21 x 2 packages/amplify_authent...src/widgets/form_fields
packages/amplify_authent...src/widgets/form_fields
sign_up_form_field.dart
sign_up_form_field.dart
626:647 (3%)
685:706 (3%)
view
Duplicated Units
The list of top 20 duplicated units.
See data for all 25 unit duplicates...
Size#FoldersFilesLinesCode
19 x 2 packages/amplify_authenticator/example/lib
packages/amplify_authenticator/example/lib
main.dart
main.dart
198:217 
224:243 
view
16 x 4 packages/amplify_flutter/lib/src/categories
packages/amplify_flutter/lib/src/categories
packages/amplify_flutter/lib/src/categories
packages/amplify_flutter/lib/src/categories
amplify_analytics_category.dart
amplify_auth_category.dart
amplify_storage_category.dart
amplify_api_category.dart
23:40 
28:45 
24:41 
23:40 
view
16 x 2 packages/amplify_datastore/example/lib
packages/amplify_datastore/example/lib
event_display_widgets.dart
event_display_widgets.dart
18:34 
36:52 
view
15 x 2 packages/amplify_datastore/example/lib/models
packages/amplify_datastore/example/lib/models
BelongsToChildImplicit.dart
BelongsToChildExplicit.dart
92:109 
92:109 
view
15 x 2 packages/amplify_datastore/example/lib/models
packages/amplify_datastore/example/lib/models
HasManyChildBiDirectionalExplicit.dart
HasManyChildBiDirectionalImplicit.dart
94:111 
94:111 
view
12 x 2 packages/amplify_auth_co...lify_auth_cognito/types
packages/amplify_auth_co...lify_auth_cognito/types
FlutterFetchCognitoAuthSessionResult.kt
FlutterFetchCognitoAuthSessionResult.kt
56:68 
71:83 
view
12 x 2 packages/amplify_datasto...ce/lib/src/types/models
packages/amplify_datasto...ce/lib/src/types/models
model_field_definition.dart
model_field_definition.dart
75:87 
89:101 
view
12 x 7 packages/amplify_datastore/example/lib/models
packages/amplify_datastore/example/lib/models
packages/amplify_datastore/example/lib/models
packages/amplify_datastore/example/lib/models
packages/amplify_datastore/example/lib/models
packages/amplify_datastore/example/lib/models
packages/amplify_datastore/example/lib/models
HasManyParentBiDirectionalImplicit.dart
Blog.dart
MultiRelatedMeeting.dart
HasOneChild.dart
HasManyParent.dart
Tag.dart
HasManyParentBiDirectionalExplicit.dart
103:117 
101:115 
106:120 
78:92 
115:129 
101:115 
103:117 
view
11 x 2 packages/amplify_auth_co...lify_auth_cognito/types
packages/amplify_auth_co...lify_auth_cognito/types
FlutterUpdatePasswordRequest.kt
FlutterConfirmResetPasswordRequest.kt
29:40 
39:50 
view
10 x 2 packages/amplify_authent...src/widgets/form_fields
packages/amplify_authent...src/widgets/form_fields
confirm_sign_in_form_field.dart
confirm_sign_in_form_field.dart
393:403 
453:463 
view
10 x 2 packages/amplify_authent...src/widgets/form_fields
packages/amplify_authent...src/widgets/form_fields
sign_up_form_field.dart
sign_up_form_field.dart
401:411 
625:635 
view
9 x 2 packages/amplify_datastore/example/ios/unit_tests
packages/amplify_datastore/example/ios/unit_tests
AmplifySerializedModelUnitTests.swift
AmplifySerializedModelUnitTests.swift
143:152 
154:163 
view
8 x 2 packages/amplify_authent...src/widgets/form_fields
packages/amplify_authent...src/widgets/form_fields
confirm_sign_up_form_field.dart
confirm_sign_up_form_field.dart
128:136 
205:213 
view
8 x 2 packages/amplify_authent...src/widgets/form_fields
packages/amplify_authent...src/widgets/form_fields
verify_user_form_field.dart
verify_user_form_field.dart
81:89 
139:147 
view
8 x 2 packages/amplify_api/lib/src
packages/amplify_api/lib/src
method_channel_api.dart
method_channel_api.dart
135:146 
149:160 
view
7 x 2 packages/amplify_storage...nterface/lib/src/Remove
packages/amplify_storage...nterface/lib/src/GetUrl
RemoveRequest.dart
GetUrlRequest.dart
24:31 
24:31 
view
7 x 2 packages/amplify_authent...src/widgets/form_fields
packages/amplify_authent...src/widgets/form_fields
confirm_sign_in_form_field.dart
sign_up_form_field.dart
254:261 
250:257 
view
7 x 2 packages/amplify_storage_s3/lib/src/S3List
packages/amplify_storage_s3/lib/src/S3DownloadFile
S3ListOptions.dart
S3DownloadFileOptions.dart
28:35 
27:34 
view
6 x 5 packages/amplify_auth_co...ib/src/CognitoPasswords
packages/amplify_auth_co...ib/src/CognitoPasswords
packages/amplify_auth_co...ib/src/CognitoPasswords
packages/amplify_auth_co...o/lib/src/CognitoSignUp
packages/amplify_auth_co...o/lib/src/CognitoSignIn
CognitoConfirmResetPasswordOptions.dart
CognitoResetPasswordOptions.dart
CognitoUpdatePasswordOptions.dart
CognitoResendSignUpCodeOptions.dart
CognitoSignInOptions.dart
27:33 
27:33 
25:31 
26:32 
21:27 
view
6 x 2 packages/amplify_auth_pl...terface/lib/src/SignOut
packages/amplify_auth_pl...terface/lib/src/Session
SignOutRequest.dart
AuthSessionRequest.dart
31:37 
21:27 
view