Skip to content

Release v5.0.14

Latest

Choose a tag to compare

@github-actions github-actions released this 27 Jul 10:05

New Features

  • --cross-formats — detect clones across related formats via format equivalence groups sharing one comparison pool, e.g. --cross-formats "javascript,typescript" or the js-ts preset (javascript,jsx,typescript,tsx). When a group mixes TypeScript with JavaScript, TS files are compared with erasable type syntax stripped (positions still reference the original source), so function f(a: number): void matches function f(a). Also configurable as crossFormats in .jscpd.json / package.json (string, array-of-strings, or array-of-arrays). Cross-format clones are attributed to one member format in per-format statistics. (#810)

Bug Fixes

  • Prose-only Markdown files are now analyzed — the Markdown tokenizer only extracted fenced code blocks, so .md files without code fences produced zero tokens and were silently skipped (-f markdown matched 0 files in Markdown-only projects). Prose is now tokenized too, so duplicated prose is detected as clones, while embedded code fences keep being detected under their own sub-format pools. (#883)

Dependencies

  • Bump regex to 1.13.1 in /rust
  • Bump globset to 0.4.19 in /rust
  • Bump ignore to 0.4.28 in /rust
  • Bump xxhash-rust to 0.8.16 in /rust

Published Packages

  • cpd-core@0.1.7 on crates.io
  • cpd-finder@0.1.9 on crates.io
  • cpd-reporter@0.1.7 on crates.io
  • cpd-tokenizer@0.1.8 on crates.io
  • jscpd@5.0.14 on crates.io
  • cpd@5.0.14 on npm
  • jscpd-darwin-arm64@5.0.14 on npm
  • jscpd-darwin-x64@5.0.14 on npm
  • jscpd-linux-x64-gnu@5.0.14 on npm
  • jscpd-linux-arm64-gnu@5.0.14 on npm
  • jscpd-linux-x64-musl@5.0.14 on npm
  • jscpd-windows-x64-msvc@5.0.14 on npm

Not Yet Published

  • jscpd@5.0.14 (published: 5.0.12)