Commit Graph

13 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 3e92d8c744 benchmark: mark jscpd@4 and jscpd-rs as section-aware for vue/svelte/astro 2026-06-14 11:53:45 +02:00
apk e618fcb11a benchmark: remove console reporters from token efficiency comparison 2026-06-14 11:52:07 +02:00
apk 0090257efb benchmark: mark jscpd@4 and jscpd-rs as cross-format capable 2026-06-14 11:51:03 +02:00
apk 7f43328841 benchmark: rewrite cross-format section as multi-format overview
Replace detailed within-format clone tables with a format support
overview showing language count, section-aware parsing for vue/svelte/
astro/markdown, and cross-format capability. Keep cross-format and
markdown detection tables as supporting evidence.
2026-06-14 11:47:41 +02:00
apk ac64c4ebf8 benchmark: reorder jscpd@5 above jscpd-rs in token efficiency 2026-06-14 08:03:42 +02:00
apk 719bda2745 benchmark: add jscpd@4 and jscpd-rs to token efficiency comparison 2026-06-14 08:02:50 +02:00
apk ce064022a2 benchmark: remove JSON from token efficiency section 2026-06-14 07:56:35 +02:00
apk ac05c59f07 benchmark: use console reporter instead of JSON in token efficiency section
Add jscpd@5 console reporter (110 tokens/clone) as a reference point
between the AI reporter (13 tokens/clone) and JSON (591 tokens/clone).
Update rankings table to include all formats.
2026-06-14 07:55:06 +02:00
apk 824959e6cb benchmark: add AI token efficiency section
Compares output sizes and tokens/clone across all tools. jscpd AI
reporter achieves 13 tokens/clone (44× reduction vs JSON), making it
practical for LLM prompt contexts.
2026-06-14 07:51:23 +02:00
apk 9fef86f6c6 benchmark: add markdown embedded-code detection to cross-format section
Compares how tools handle embedded code blocks in markdown (YAML,
TypeScript, Python) vs flat-text matching. Also adds markdown column
to within-format clones table.
2026-06-14 07:43:48 +02:00
apk aeae7b2897 benchmark: add cross-format detection section for Svelte, Astro, Vue
Compares how each tool handles multi-file component formats — detecting
duplicates both within the same format and across formats (e.g. shared
CSS between .svelte and .astro). Also updates timing numbers from
latest run.
2026-06-14 07:39:59 +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