11

Is there any tool to detect code duplication in JavaScript? I tried "PMD Duplicate code detector" but it is not supporting .js extension.

chandra
  • 119
  • 1
  • 3

4 Answers4

10

I would recommend JSCPD

Installation

npm install -g jscpd

Run

jscpd ./path/to/code

(you have several type of reporters, default is console, but you can use html like this: jscpd -r html ./path/to/code)

Other solutions:

  • JSinspect wasn't good for me because didn't support .ts and .tsx (jscpd supports 150+ formats
  • InteliJ IDEs (I'm a big fan of them) don't seem to work since WebStorm found no duplicated code.
Cramer Gabriel
  • 123
  • 2
  • 7
2

You can use JS Inspect it detects copy-pasted and structurally similar code, also supports *.js

Installation

npm install -g jsinspect

Run

jsinspect -t 50 ./path/to/src
Community
  • 1
  • 1
Shashank K
  • 388
  • 4
  • 13
0

IDE can have this functionality. I use IntelliJ, this IDE has a built-in duplicate code checking mechanism at 2 scopes:

  • Inline: Duplicate codes are underlined when opened in editor so that developer can easily catch and do refactoring.
  • Analysis: Go to menu Analyze->Locate Duplicates.., specify scope to run through and list all duplications.
Khoa Bui
  • 733
  • 1
  • 7
  • 15
0

I would recommend looking at this thread (also on stackoverflow): Javascript source code analysis ( specifically duplication checking )

Community
  • 1
  • 1
NT3RP
  • 15,262
  • 9
  • 61
  • 97