facebook / jest
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
  • 9% duplication:
    • 37,404 cleaned lines of cleaned code (without empty lines, comments, and frequently duplicated constructs such as imports)
    • 3,369 duplicated lines
  • 326 duplicates
system9% (3,369 lines)
Duplication per Extension
ts9% (3,258 lines)
js3% (111 lines)
Duplication per Component (primary)
packages/expect21% (660 lines)
packages/jest-worker26% (328 lines)
packages/pretty-format23% (326 lines)
packages/jest-core10% (283 lines)
packages/jest-runtime12% (220 lines)
packages/jest-transform21% (212 lines)
packages/jest-resolve18% (198 lines)
packages/jest-jasmine27% (178 lines)
packages/jest-circus11% (161 lines)
packages/diff-sequences18% (124 lines)
packages/jest-snapshot4% (75 lines)
packages/jest-diff4% (54 lines)
packages/jest-haste-map2% (54 lines)
packages/jest-mock5% (50 lines)
packages/jest-matcher-utils8% (46 lines)
packages/jest-changed-files25% (44 lines)
packages/jest-console15% (42 lines)
website/src3% (42 lines)
packages/jest-reporters2% (40 lines)
packages/babel-jest16% (34 lines)
packages/jest-runner5% (32 lines)
packages/jest-config1% (26 lines)
packages/jest-types3% (24 lines)
packages/jest-repl9% (20 lines)
website6% (19 lines)
scripts1% (18 lines)
packages/expect-utils3% (14 lines)
packages/jest-each3% (12 lines)
packages/jest-util2% (7 lines)
packages/jest-environment-node7% (7 lines)
packages/jest-environment-jsdom6% (7 lines)
packages/jest-expect11% (6 lines)
packages/jest-cli<1% (6 lines)
ROOT0% (0 lines)
website/static0% (0 lines)
packages/jest-fake-timers0% (0 lines)
packages/jest-docblock0% (0 lines)
packages/test-utils0% (0 lines)
packages/jest-schemas0% (0 lines)
packages/jest-globals0% (0 lines)
packages/jest-source-map0% (0 lines)
packages/jest-watcher0% (0 lines)
packages/babel-preset-jest0% (0 lines)
packages/jest-create-cache-key-function0% (0 lines)
packages/jest-serializer0% (0 lines)
packages/jest-leak-detector0% (0 lines)
packages/jest-environment0% (0 lines)
packages/jest-get-type0% (0 lines)
packages/jest-message-util0% (0 lines)
packages/jest-validate0% (0 lines)
packages/babel-plugin-jest-hoist0% (0 lines)
packages/jest-resolve-dependencies0% (0 lines)
packages/jest-phabricator0% (0 lines)
packages/jest-regex-util0% (0 lines)
packages/jest0% (0 lines)

Duplication Between Components (50+ lines)

G packages/jest-circus packages/jest-circus packages/jest-jasmine2 packages/jest-jasmine2 packages/jest-circus--packages/jest-jasmine2 231

Download: SVG DOT (open online Graphviz editor)

Open 3D force graph...

Show more details on duplication between components...
Longest Duplicates
The list of 50 longest duplicates.
See data for all 326 duplicates...
Size#FoldersFilesLinesCode
35 x 2 packages/jest-worker/src/workers
packages/jest-worker/src/workers
114:165 (36%)
116:167 (35%)
view
28 x 2 packages/jest-worker/src/workers
packages/jest-worker/src/workers
165:203 (17%)
132:171 (19%)
view
23 x 2 packages/jest-circus/src
packages/jest-jasmine2/src
104:130 (15%)
67:93 (20%)
view
22 x 2 packages/expect/src
packages/expect/src
610:632 (2%)
935:957 (2%)
view
20 x 2 packages/jest-resolve/src
packages/jest-resolve/src
707:731 (3%)
766:790 (3%)
view
18 x 2 packages/jest-runtime/src
packages/jest-runtime/src
1783:1809 (1%)
1854:1880 (1%)
view
18 x 2 packages/jest-core/src
packages/jest-core/src
112:129 (4%)
133:150 (4%)
view
17 x 2 packages/jest-runtime/src
packages/jest-runtime/src
1827:1844 (<1%)
1901:1918 (<1%)
view
16 x 2 packages/expect/src
packages/expect/src
554:571 (1%)
704:721 (1%)
view
16 x 2 packages/jest-diff/src
packages/jest-matcher-utils/src
33:49 (11%)
29:45 (3%)
view
16 x 2 packages/jest-transform/src
packages/jest-transform/src
489:506 (2%)
553:570 (2%)
view
16 x 2 packages/jest-circus/src
packages/jest-jasmine2/src
23:39 (10%)
17:33 (14%)
view
16 x 2 packages/expect/src
packages/expect/src
522:539 (2%)
575:592 (2%)
view
15 x 2 packages/jest-runtime/src
packages/jest-runtime/src
487:502 (<1%)
612:627 (<1%)
view
15 x 2 packages/jest-circus/src/legacy-code-todo-rewrite
packages/jest-jasmine2/src
107:128 (18%)
184:206 (11%)
view
15 x 2 packages/jest-changed-files/src
packages/jest-changed-files/src
58:72 (18%)
76:90 (18%)
view
14 x 2 packages/jest-circus/src
packages/jest-jasmine2/src
86:102 (9%)
49:65 (12%)
view
14 x 2 packages/jest-worker/src/workers
packages/jest-worker/src/workers
9:23 (14%)
10:24 (14%)
view
14 x 2 packages/jest-circus/src
packages/jest-jasmine2/src
152:167 (9%)
113:128 (12%)
view
14 x 2 packages/diff-sequences/src
packages/diff-sequences/src
576:589 (2%)
622:635 (2%)
view
13 x 2 packages/expect/src
packages/expect/src
658:671 (1%)
817:830 (1%)
view
13 x 2 packages/jest-worker/src/workers
packages/jest-worker/src/workers
44:60 (13%)
46:62 (13%)
view
13 x 2 packages/expect/src
packages/expect/src
629:642 (1%)
789:803 (1%)
view
13 x 2 packages/jest-worker/src/workers
packages/jest-worker/src/workers
13:25 (8%)
12:24 (8%)
view
13 x 2 packages/jest-transform/src
packages/jest-transform/src
597:612 (1%)
640:655 (1%)
view
13 x 2 packages/jest-transform/src
packages/jest-transform/src
579:595 (1%)
622:638 (1%)
view
13 x 2 packages/jest-worker/src/workers
packages/jest-worker/src/workers
89:109 (13%)
91:111 (13%)
view
13 x 2 packages/jest-worker/src/workers
packages/jest-worker/src/workers
141:161 (8%)
109:129 (8%)
view
12 x 2 packages/pretty-format/src
packages/pretty-format/src
44:59 (9%)
106:121 (9%)
view
12 x 2 packages/jest-resolve/src
packages/jest-resolve/src
158:170 (8%)
179:191 (8%)
view
12 x 2 packages/jest-transform/src
packages/jest-transform/src
463:484 (1%)
522:543 (1%)
view
12 x 2 packages/jest-resolve/src
packages/jest-resolve/src
129:141 (8%)
158:170 (8%)
view
12 x 2 packages/jest-resolve/src
packages/jest-resolve/src
129:141 (8%)
179:191 (8%)
view
12 x 2 packages/jest-resolve/src
packages/jest-resolve/src
741:759 (1%)
800:818 (1%)
view
12 x 2 packages/jest-core/src
packages/jest-core/src
53:64 (10%)
177:188 (7%)
view
11 x 2 packages/expect/src
packages/expect/src
357:367 (1%)
406:416 (1%)
view
11 x 2 packages/jest-transform/src
packages/jest-transform/src
131:142 (1%)
165:176 (1%)
view
11 x 2 packages/expect/src
packages/expect/src
466:476 (1%)
504:514 (1%)
view
11 x 2 packages/babel-jest/src
packages/babel-jest/src
202:213 (5%)
216:227 (5%)
view
11 x 2 packages/jest-circus/src/legacy-code-todo-rewrite
packages/jest-jasmine2/src
49:69 (13%)
98:117 (8%)
view
11 x 2 packages/jest-resolve/src
packages/jest-resolve/src
226:237 (1%)
300:311 (1%)
view
11 x 2 packages/expect/src
packages/expect/src
163:174 (2%)
338:349 (2%)
view
11 x 2 packages/expect/src
packages/expect/src
454:465 (1%)
558:569 (1%)
view
10 x 2 packages/jest-worker/src/workers
packages/jest-worker/src/workers
258:274 (6%)
224:240 (6%)
view
10 x 2 packages/pretty-format/src/plugins
packages/pretty-format/src/plugins
28:37 (5%)
133:142 (5%)
view
10 x 2 packages/jest-transform/src
packages/jest-transform/src
146:157 (1%)
184:196 (1%)
view
10 x 2 packages/expect/src
packages/expect/src
821:830 (1%)
1057:1066 (1%)
view
10 x 2 packages/diff-sequences/perf
packages/diff-sequences/perf
28:39 (8%)
58:69 (8%)
view
10 x 2 packages/jest-transform/src
packages/jest-transform/src
81:91 (11%)
116:126 (11%)
view
10 x 2 packages/jest-core/src
packages/jest-core/src
120:132 (8%)
148:160 (8%)
view
Duplicated Units
The list of top 3 duplicated units.
See data for all 3 unit duplicates...
Size#FoldersFilesLinesCode
18 x 2 packages/jest-worker/src/workers
packages/jest-worker/src/workers
147:169 
145:167 
view
16 x 2 packages/jest-worker/src/workers
packages/jest-worker/src/workers
116:140 
114:138 
view
6 x 2 packages/jest-worker/src/workers
packages/jest-worker/src/workers
99:109 
97:107 
view