Jsinspect Versions Save

Detect copy-pasted and structurally similar code

0.11.2

7 years ago
  • Fixed error with destructuring assignment syntax by ignoring null values, e.g. with [, b] = [4, 5];

0.11.1

7 years ago
  • Fix error when no js files are found

0.11.0

7 years ago
  • Omit overlapping instances from matches
  • Walk siblings to improve match rates
  • Use a stable sort for keys

0.10.1

7 years ago
  • Regression: All scripts were being parsed as modules. This fixes it by correctly passing the sourceType parameter

0.10.0

7 years ago
  • A lot of breaking changes. Since we're not yet at 1.0, can do this with a minor release. Looking at the current gulp/grunt plugins, their versioning will keep them pinned to a compatible and older release until updated
  • Improved ES6 support, and added flow/jsx support by switching to babylon
  • Completely rewrote alg for traversal and matching
  • Added literal matching (previously only identifier and node type matching were available)
  • More conservative defaults, including higher default thresholds (30 instead of 15). Since the tool has become commonly used for copy-paste detection, identifier and literal matching are now enabled by default
  • Other flags have been renamed or removed
  • --matches became --min-instances
  • --suppress became --truncate
  • --identifiers was dropped, now it's --no-identifiers
  • Diffs have been removed since the N-way diff format was confusing, and alternatives are still difficult to read through
  • All reporters have been revamped to output all lines rather than diffs
  • JSON reporter output has changed

0.9.0

7 years ago
  • Support module exports
  • Add --matches
  • Fix exit codes

0.8.0

8 years ago
  • Add jsx option support in .jsinspectrc
  • Allow duplications to be identified by a hash key

0.7.2

8 years ago
  • Improved ES6 support after bumping acorn and acorn-bfs

0.7.1

8 years ago

Handle when AMD require/define are a property. E.g. namespace.require() as opposed to the usual require()

0.7.0

8 years ago
  • Reporters now accept opts.writableStream, allowing you to write to a stream other than process.stdout