Commit Graph

2 Commits

Author SHA1 Message Date
apk d790c6c1d3 chore: make master v5-only
Everything belonging to the v4 TypeScript engine moves to the master-v4
branch: apps/, packages/, build-utils/, changesets, pnpm workspace, turbo,
the Node.js CI workflow and the ts-* release jobs. What remains is the
Rust workspace under rust/, the npm wrapper and platform packages, the
GitHub Action, Docker image, flake, skills, benchmark and fixtures/.

- rust.yml gains a smoke job that runs the release binary against
  fixtures/ (json, sarif, html) and asserts clones and reporters
- release.yml keeps only the Rust jobs; pnpm removed from every workflow;
  audit.yml keeps cargo audit + cargo deny; dependabot drops the root npm entry
- root package.json becomes a thin private package depending on the exact
  jscpd@5 version so the pre-commit hook keeps installing the binary;
  sync-version.mjs keeps it in step
- .pre-commit-hooks.yaml used v4-only flags that the v5 CLI rejects; fixed
- FORMATS.md is now generated from the Rust tokenizer (224 formats)
- README, docs, CONTRIBUTING, SECURITY, package and crate descriptions,
  benchmark and skills rewritten for v5 on its own terms: no v5-vs-v4 speed
  multipliers anywhere, a single "Looking for v4?" pointer to master-v4
2026-09-02 10:15:10 +02:00
apk ba6b1cb326 benchmark: add CPD tool comparison benchmark
Benchmark 7 copy/paste detection tools against the fixtures directory:

- jscpd@5 (Rust, local build)
- jscpd@4 (Node.js, local build)
- jscpd-rs (npm package)
- Fallow dupes (npm package)
- PMD CPD (34 languages, summed)
- Duplo (pre-built binary)
- Simian (JAR)

All tools built/installed locally (no npx at runtime).
Results, comparison table, and methodology in BENCHMARK.md.
2026-06-14 07:35:10 +02:00