aws-samples / cloudfront-authorization-at-edge
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
  • 27% duplication:
    • 4,003 cleaned lines of cleaned code (without empty lines, comments, and frequently duplicated constructs such as imports)
    • 1,086 duplicated lines
  • 119 duplicates
system27% (1,086 lines)
Duplication per Extension
ts29% (726 lines)
yaml26% (360 lines)
Duplication per Component (primary)
ROOT28% (316 lines)
src/cfn-custom-resources/lambda-code-update53% (81 lines)
src/cfn-custom-resources/static-site72% (78 lines)
src/cfn-custom-resources/react-app34% (78 lines)
src/cfn-custom-resources/us-east-1-lambda-stack16% (76 lines)
src/lambda-edge/parse-auth29% (69 lines)
src/cfn-custom-resources/user-pool-domain61% (58 lines)
src/cfn-custom-resources/user-pool-client21% (50 lines)
src/cfn-custom-resources/client-secret-retrieval54% (50 lines)
src/cfn-custom-resources/generate-secret63% (49 lines)
src/lambda-edge/refresh-auth30% (48 lines)
example-serverless-app-reuse16% (44 lines)
src/lambda-edge/check-auth20% (34 lines)
src/lambda-edge/sign-out42% (29 lines)
src/lambda-edge/shared4% (26 lines)
src/lambda-edge/http-headers0% (0 lines)
src/lambda-edge/rewrite-trailing-slash0% (0 lines)

Duplication Between Components (50+ lines)

G src/cfn-custom-resources/react-app src/cfn-custom-resources/react-app src/cfn-custom-resources/static-site src/cfn-custom-resources/static-site src/cfn-custom-resources/react-app--src/cfn-custom-resources/static-site 156 src/cfn-custom-resources/us-east-1-lambda-stack src/cfn-custom-resources/us-east-1-lambda-stack src/cfn-custom-resources/react-app--src/cfn-custom-resources/us-east-1-lambda-stack 90 src/cfn-custom-resources/user-pool-domain src/cfn-custom-resources/user-pool-domain src/cfn-custom-resources/react-app--src/cfn-custom-resources/user-pool-domain 114 src/cfn-custom-resources/user-pool-client src/cfn-custom-resources/user-pool-client src/cfn-custom-resources/react-app--src/cfn-custom-resources/user-pool-client 98 src/cfn-custom-resources/static-site--src/cfn-custom-resources/us-east-1-lambda-stack 90 src/cfn-custom-resources/static-site--src/cfn-custom-resources/user-pool-domain 114 src/cfn-custom-resources/static-site--src/cfn-custom-resources/user-pool-client 98 src/cfn-custom-resources/lambda-code-update src/cfn-custom-resources/lambda-code-update src/cfn-custom-resources/lambda-code-update--src/cfn-custom-resources/react-app 98 src/cfn-custom-resources/lambda-code-update--src/cfn-custom-resources/static-site 98 src/cfn-custom-resources/lambda-code-update--src/cfn-custom-resources/us-east-1-lambda-stack 152 src/cfn-custom-resources/lambda-code-update--src/cfn-custom-resources/user-pool-domain 98 src/cfn-custom-resources/lambda-code-update--src/cfn-custom-resources/user-pool-client 98 src/lambda-edge/shared src/lambda-edge/shared src/cfn-custom-resources/lambda-code-update--src/lambda-edge/shared 52 src/cfn-custom-resources/us-east-1-lambda-stack--src/cfn-custom-resources/user-pool-domain 90 src/cfn-custom-resources/us-east-1-lambda-stack--src/cfn-custom-resources/user-pool-client 90 src/cfn-custom-resources/us-east-1-lambda-stack--src/lambda-edge/shared 52 src/lambda-edge/parse-auth src/lambda-edge/parse-auth src/lambda-edge/refresh-auth src/lambda-edge/refresh-auth src/lambda-edge/parse-auth--src/lambda-edge/refresh-auth 109 src/lambda-edge/sign-out src/lambda-edge/sign-out src/lambda-edge/parse-auth--src/lambda-edge/sign-out 60 src/lambda-edge/refresh-auth--src/lambda-edge/sign-out 56 src/cfn-custom-resources/user-pool-client--src/cfn-custom-resources/user-pool-domain 100 src/cfn-custom-resources/client-secret-retrieval src/cfn-custom-resources/client-secret-retrieval src/cfn-custom-resources/client-secret-retrieval--src/cfn-custom-resources/react-app 98 src/cfn-custom-resources/client-secret-retrieval--src/cfn-custom-resources/static-site 98 src/cfn-custom-resources/client-secret-retrieval--src/cfn-custom-resources/lambda-code-update 100 src/cfn-custom-resources/client-secret-retrieval--src/cfn-custom-resources/us-east-1-lambda-stack 90 src/cfn-custom-resources/client-secret-retrieval--src/cfn-custom-resources/user-pool-domain 98 src/cfn-custom-resources/client-secret-retrieval--src/cfn-custom-resources/user-pool-client 98 src/cfn-custom-resources/generate-secret src/cfn-custom-resources/generate-secret src/cfn-custom-resources/client-secret-retrieval--src/cfn-custom-resources/generate-secret 98 src/cfn-custom-resources/generate-secret--src/cfn-custom-resources/react-app 98 src/cfn-custom-resources/generate-secret--src/cfn-custom-resources/static-site 98 src/cfn-custom-resources/generate-secret--src/cfn-custom-resources/lambda-code-update 98 src/cfn-custom-resources/generate-secret--src/cfn-custom-resources/us-east-1-lambda-stack 90 src/cfn-custom-resources/generate-secret--src/cfn-custom-resources/user-pool-domain 98 src/cfn-custom-resources/generate-secret--src/cfn-custom-resources/user-pool-client 98 example-serverless-app-reuse example-serverless-app-reuse ROOT ROOT example-serverless-app-reuse--ROOT 88 src/lambda-edge/check-auth src/lambda-edge/check-auth src/lambda-edge/check-auth--src/lambda-edge/parse-auth 59

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 119 duplicates...
Size#FoldersFilesLinesCode
45 x 2 ROOT
ROOT
template.yaml
template.yaml
791:835 (4%)
931:975 (4%)
view
45 x 2 ROOT
ROOT
template.yaml
template.yaml
931:975 (4%)
985:1029 (4%)
view
45 x 2 ROOT
ROOT
template.yaml
template.yaml
791:835 (4%)
845:889 (4%)
view
45 x 2 ROOT
ROOT
template.yaml
template.yaml
845:889 (4%)
985:1029 (4%)
view
45 x 2 ROOT
ROOT
template.yaml
template.yaml
845:889 (4%)
931:975 (4%)
view
45 x 2 ROOT
ROOT
template.yaml
template.yaml
791:835 (4%)
985:1029 (4%)
view
37 x 2 src/cfn-custom-resources/lambda-code-update
src/cfn-custom-resources/user-pool-domain
cfn-response.ts
cfn-response.ts
6:45 (100%)
6:45 (100%)
view
37 x 2 src/cfn-custom-resources/client-secret-retrieval
src/cfn-custom-resources/react-app
cfn-response.ts
cfn-response.ts
6:45 (100%)
6:45 (100%)
view
37 x 2 src/cfn-custom-resources/static-site
src/cfn-custom-resources/user-pool-client
cfn-response.ts
cfn-response.ts
6:45 (100%)
6:45 (100%)
view
37 x 2 src/cfn-custom-resources/us-east-1-lambda-stack
src/cfn-custom-resources/user-pool-domain
cfn-response.ts
cfn-response.ts
6:45 (100%)
6:45 (100%)
view
37 x 2 src/cfn-custom-resources/react-app
src/cfn-custom-resources/user-pool-domain
cfn-response.ts
cfn-response.ts
6:45 (100%)
6:45 (100%)
view
37 x 2 src/cfn-custom-resources/generate-secret
src/cfn-custom-resources/user-pool-domain
cfn-response.ts
cfn-response.ts
6:45 (100%)
6:45 (100%)
view
37 x 2 src/cfn-custom-resources/static-site
src/cfn-custom-resources/user-pool-domain
cfn-response.ts
cfn-response.ts
6:45 (100%)
6:45 (100%)
view
37 x 2 src/cfn-custom-resources/generate-secret
src/cfn-custom-resources/user-pool-client
cfn-response.ts
cfn-response.ts
6:45 (100%)
6:45 (100%)
view
37 x 2 src/cfn-custom-resources/user-pool-client
src/cfn-custom-resources/user-pool-domain
cfn-response.ts
cfn-response.ts
6:45 (100%)
6:45 (100%)
view
37 x 2 src/cfn-custom-resources/lambda-code-update
src/cfn-custom-resources/static-site
cfn-response.ts
cfn-response.ts
6:45 (100%)
6:45 (100%)
view
37 x 2 src/cfn-custom-resources/lambda-code-update
src/cfn-custom-resources/react-app
cfn-response.ts
cfn-response.ts
6:45 (100%)
6:45 (100%)
view
37 x 2 src/cfn-custom-resources/client-secret-retrieval
src/cfn-custom-resources/us-east-1-lambda-stack
cfn-response.ts
cfn-response.ts
6:45 (100%)
6:45 (100%)
view
37 x 2 src/cfn-custom-resources/generate-secret
src/cfn-custom-resources/lambda-code-update
cfn-response.ts
cfn-response.ts
6:45 (100%)
6:45 (100%)
view
37 x 2 src/cfn-custom-resources/react-app
src/cfn-custom-resources/user-pool-client
cfn-response.ts
cfn-response.ts
6:45 (100%)
6:45 (100%)
view
Duplicated Units
The list of top 3 duplicated units.
See data for all 3 unit duplicates...
Size#FoldersFilesLinesCode
34 x 8 src/cfn-custom-resources/user-pool-domain
src/cfn-custom-resources/client-secret-retrieval
src/cfn-custom-resources/static-site
src/cfn-custom-resources/generate-secret
src/cfn-custom-resources/lambda-code-update
src/cfn-custom-resources/react-app
src/cfn-custom-resources/user-pool-client
src/cfn-custom-resources/us-east-1-lambda-stack
cfn-response.ts
cfn-response.ts
cfn-response.ts
cfn-response.ts
cfn-response.ts
cfn-response.ts
cfn-response.ts
cfn-response.ts
11:46 
11:46 
11:46 
11:46 
11:46 
11:46 
11:46 
11:46 
view
13 x 2 src/cfn-custom-resources/lambda-code-update
src/cfn-custom-resources/us-east-1-lambda-stack
https.ts
https.ts
7:23 
7:23 
view
6 x 7 src/cfn-custom-resources/user-pool-domain
src/cfn-custom-resources/client-secret-retrieval
src/cfn-custom-resources/static-site
src/cfn-custom-resources/generate-secret
src/cfn-custom-resources/lambda-code-update
src/cfn-custom-resources/react-app
src/cfn-custom-resources/user-pool-client
index.ts
index.ts
index.ts
index.ts
index.ts
index.ts
index.ts
72:78 
63:69 
67:73 
40:46 
98:104 
138:144 
247:253 
view