awslabs / aws-lambda-powertools-typescript
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
  • 11% duplication:
    • 1,492 cleaned lines of cleaned code (without empty lines, comments, and frequently duplicated constructs such as imports)
    • 165 duplicated lines
  • 11 duplicates
system11% (165 lines)
Duplication per Extension
js90% (153 lines)
ts<1% (12 lines)
Duplication per Component (primary)
packages/logger93% (42 lines)
packages/tracing93% (42 lines)
packages/metrics97% (35 lines)
packages/commons97% (34 lines)
packages/tracing/src/types35% (6 lines)
packages/metrics/src/types4% (6 lines)
packages/tracing/src0% (0 lines)
packages/tracing/src/config0% (0 lines)
packages/tracing/src/middleware0% (0 lines)
packages/tracing/src/provider0% (0 lines)
packages/logger/src0% (0 lines)
packages/logger/src/config0% (0 lines)
packages/logger/src/log0% (0 lines)
packages/logger/src/formatter0% (0 lines)
packages/logger/src/middleware0% (0 lines)
packages/logger/src/types0% (0 lines)
packages/commons/src0% (0 lines)
packages/commons/src/utils0% (0 lines)
packages/metrics/src0% (0 lines)
packages/metrics/src/config0% (0 lines)
packages/metrics/src/middleware0% (0 lines)
ROOT0% (0 lines)

Duplication Between Components (50+ lines)

G packages/logger packages/logger packages/tracing packages/tracing packages/logger--packages/tracing 84 packages/metrics packages/metrics packages/logger--packages/metrics 66 packages/commons packages/commons packages/commons--packages/logger 64 packages/commons--packages/tracing 64 packages/commons--packages/metrics 68 packages/metrics--packages/tracing 66

Download: SVG DOT (open online Graphviz editor)

Open 3D force graph...

Show more details on duplication between components...
Longest Duplicates
The list of 11 longest duplicates.
See data for all 11 duplicates...
Size#FoldersFilesLinesCode
42 x 2 packages/logger
packages/tracing
jest.config.js
jest.config.js
4:45 (93%)
4:45 (93%)
view
34 x 2 packages/commons
packages/metrics
jest.config.js
jest.config.js
2:35 (97%)
3:36 (94%)
view
21 x 2 packages/metrics
packages/tracing
jest.config.js
jest.config.js
2:22 (58%)
6:26 (46%)
view
21 x 2 packages/logger
packages/metrics
jest.config.js
jest.config.js
6:26 (46%)
2:22 (58%)
view
20 x 2 packages/commons
packages/tracing
jest.config.js
jest.config.js
2:21 (57%)
7:26 (44%)
view
20 x 2 packages/commons
packages/logger
jest.config.js
jest.config.js
2:21 (57%)
7:26 (44%)
view
12 x 2 packages/metrics
packages/tracing
jest.config.js
jest.config.js
23:34 (33%)
28:39 (26%)
view
12 x 2 packages/commons
packages/logger
jest.config.js
jest.config.js
22:33 (34%)
28:39 (26%)
view
12 x 2 packages/commons
packages/tracing
jest.config.js
jest.config.js
22:33 (34%)
28:39 (26%)
view
12 x 2 packages/logger
packages/metrics
jest.config.js
jest.config.js
28:39 (26%)
23:34 (33%)
view
6 x 2 packages/metrics/src/types
packages/tracing/src/types
Metrics.ts
Tracer.ts
26:32 (16%)
25:31 (37%)
view