microsoft / roosterjs
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
  • <1% duplication:
    • 14,322 cleaned lines of cleaned code (without empty lines, comments, and frequently duplicated constructs such as imports)
    • 123 duplicated lines
  • 11 duplicates
system<1% (123 lines)
Duplication per Extension
ts<1% (100 lines)
js2% (23 lines)
Duplication per Component (primary)
packages/roosterjs-editor-plugins1% (64 lines)
packages/roosterjs-editor-core1% (27 lines)
tools/buildTools2% (23 lines)
packages/roosterjs-editor-dom<1% (9 lines)
ROOT0% (0 lines)
packages/roosterjs-color-utils0% (0 lines)
packages/roosterjs-editor-api0% (0 lines)
packages/roosterjs-editor-types0% (0 lines)
packages/roosterjs0% (0 lines)
tools0% (0 lines)
Longest Duplicates
The list of 11 longest duplicates.
See data for all 11 duplicates...
Size#FoldersFilesLinesCode
9 x 2 packages/roosterjs-editor-core/lib/corePlugins
packages/roosterjs-editor-dom/lib/utils
LifecyclePlugin.ts
applyFormat.ts
213:221 (5%)
17:25 (30%)
view
7 x 2 packages/roosterjs-edito...ins/TableResize/editors
packages/roosterjs-edito...ins/TableResize/editors
CellResizer.ts
TableResizer.ts
111:117 (4%)
73:79 (7%)
view
7 x 2 packages/roosterjs-edito...ns/ContentEdit/features
packages/roosterjs-edito...ns/ContentEdit/features
entityFeatures.ts
entityFeatures.ts
53:61 (4%)
183:191 (4%)
view
7 x 2 tools/buildTools
tools/buildTools
buildDemo.js
pack.js
80:87 (6%)
36:43 (12%)
view
6 x 2 packages/roosterjs-editor-core/lib/corePlugins
packages/roosterjs-edito...ugins/lib/plugins/Paste
TypeInContainerPlugin.ts
Paste.ts
3:8 (16%)
9:14 (9%)
view
6 x 2 packages/roosterjs-edito...ins/TableResize/editors
packages/roosterjs-edito...ins/TableResize/editors
CellResizer.ts
CellResizer.ts
88:93 (3%)
111:116 (3%)
view
6 x 2 packages/roosterjs-editor-core/lib/coreApi
packages/roosterjs-editor-core/lib/coreApi
getSelectionRange.ts
getSelectionRangeEx.ts
19:24 (24%)
23:28 (8%)
view
6 x 2 tools/buildTools
tools/buildTools
clean.js
pack.js
9:15 (35%)
41:47 (10%)
view
6 x 2 packages/roosterjs-edito...ins/TableResize/editors
packages/roosterjs-edito...ins/TableResize/editors
CellResizer.ts
TableResizer.ts
88:93 (3%)
73:78 (6%)
view
6 x 2 packages/roosterjs-edito.../ImageEdit/imageEditors
packages/roosterjs-edito.../ImageEdit/imageEditors
Resizer.ts
Resizer.ts
111:116 (5%)
129:134 (5%)
view
6 x 2 packages/roosterjs-edito...s/lib/plugins/ImageEdit
packages/roosterjs-edito...ImageEdit/editInfoUtils
ImageEdit.ts
getGeneratedImageSize.ts
447:452 (1%)
45:50 (20%)
view