- Bug fixes: JSON reporter duplicate token counts, gitignore parent-directory walk, and Commander v15 migration
- Updated dependencies
- @jscpd/core@4.2.5
- @jscpd/tokenizer@4.2.5
- Features
- detectClonesAndStatistic() API — new function returning both clone results and statistics in one call; also exposes an optional statisticProvider injection point on detectClones. Closes #536, #549. Bug Fixes
- .gitignore not respected by default — gitignore option now defaults to true; patterns are read from every scanned directory (not just process.cwd()); fix applies to both CLI and programmatic API. Use --no-gitignore to opt out. Fixes #790.
- .gitignore negation patterns silently dropped — negated patterns (!test.js, !src/**, etc.) were discarded instead of being passed to fast-glob. Fixes #723. Documentation
- Document path option in .jscpd.json and package.json config examples. (#717)
- Add Gitignore option section to README with CLI examples, config snippet, and default/type reference.
- Add detectClonesAndStatistic API example to README.
- Updated dependencies
- @jscpd/core@4.2.4
- @jscpd/tokenizer@4.2.4
- fix(finder): resolve relative ignore patterns against scan dirs (#611)
- Updated dependencies
- @jscpd/core@4.2.3
- @jscpd/tokenizer@4.2.3
- fix(tokenizer): resolve quadratic bash tokenization hang
- Updated dependencies
- @jscpd/core@4.2.2
- @jscpd/tokenizer@4.2.2
- fix tokenization issue for cross formats detection
- Updated dependencies
- @jscpd/core@4.2.1
- @jscpd/tokenizer@4.2.1
--store-path/storePathoption — the store now accepts a configurable root directory for its LevelDB data files. Previously the store always wrote to.jscpd/relative to the working directory, causing collisions when multiple jscpd processes ran in parallel. SetstorePathto a unique path per process to avoid contention.
@jscpd/core→ 4.2.0
- Update hash function, improve performance and keep browser support
- Updated dependencies
- @jscpd/core@4.1.1
- @jscpd/tokenizer@4.1.1
A LevelDB-backed persistent store for jscpd. Use this store when scanning very large codebases where keeping the entire token map in memory is impractical. Token data is flushed to disk and read back on demand, keeping the Node.js heap small.
4.1.0 — 2026-05-09
- Aligned with the monorepo 4.1.0 release. No store-specific changes.
- Upgraded
levelto v10.0.0. - CI now tests against Node.js 22.x and 24.x.
@jscpd/core→ 4.1.0@jscpd/tokenizer→ 4.1.0
4.0.5 — 2026-04-10
- Aligned with the AI reporter release. No store-specific changes.
@jscpd/core→ 4.0.5@jscpd/tokenizer→ 4.0.5
4.0.4 — 2026-01-30
- Aligned with the MCP server and GDScript support release.
@jscpd/core→ 4.0.4@jscpd/tokenizer→ 4.0.4
4.0.3 — 2026-01-11
- Fixed a build output issue.
@jscpd/core→ 4.0.3@jscpd/tokenizer→ 4.0.3
4.0.2 — 2026-01-11
- Merged community PRs; minor housekeeping.
@jscpd/core→ 4.0.2@jscpd/tokenizer→ 4.0.2
4.0.1 — 2024-05-26
- First public release as a versioned standalone package under v4.
@jscpd/core→ 4.0.1@jscpd/tokenizer→ 4.0.1
4.0.0 — 2024-05-26
- Monorepo restructure — package moved to
packages/leveldb-store. Build system changed totsup. - Requires Node.js 18+.
leveldependency updated to v8+.
@jscpd/core→ 4.0.0@jscpd/tokenizer→ 4.0.0
3.3.0-rc.3 — 2020-05-02
First release as a standalone @jscpd/leveldb-store package.
- Extracted from the main
jscpdpackage where LevelDB was the default store. - Internal imports reorganised.