chore(deps): update dependency jscpd to v5 - #276
Open
renovate[bot] wants to merge 1 commit into
Open
Conversation
Contributor
✅ Snyk checks have passed. No issues have been found so far.
💻 Catch issues earlier using the plugins for VS Code, JetBrains IDEs, Visual Studio, and Eclipse. |
Up to standards ✅🟢 Issues
|
| Metric | Results |
|---|---|
| Complexity | 0 |
| Duplication | 0 |
NEW Get contextual insights on your PRs based on Codacy's metrics, along with PR and Jira context, without leaving GitHub. Enable AI reviewer
TIP This summary will be updated as you push new changes.
renovate
Bot
force-pushed
the
renovate/jscpd-5.x
branch
6 times, most recently
from
June 13, 2026 10:13
2401b49 to
7e508ea
Compare
renovate
Bot
force-pushed
the
renovate/jscpd-5.x
branch
6 times, most recently
from
June 24, 2026 05:00
bb12ee2 to
8804963
Compare
renovate
Bot
force-pushed
the
renovate/jscpd-5.x
branch
3 times, most recently
from
July 2, 2026 02:16
bc657ae to
0cf2a83
Compare
renovate
Bot
force-pushed
the
renovate/jscpd-5.x
branch
5 times, most recently
from
July 14, 2026 08:48
7242e84 to
05ea428
Compare
renovate
Bot
force-pushed
the
renovate/jscpd-5.x
branch
from
July 15, 2026 16:57
05ea428 to
df12389
Compare
renovate
Bot
force-pushed
the
renovate/jscpd-5.x
branch
5 times, most recently
from
July 29, 2026 22:34
c0eb897 to
bd81693
Compare
renovate
Bot
force-pushed
the
renovate/jscpd-5.x
branch
2 times, most recently
from
August 3, 2026 18:16
53f6cb7 to
6012d87
Compare
renovate
Bot
force-pushed
the
renovate/jscpd-5.x
branch
6 times, most recently
from
August 13, 2026 21:30
7be0d19 to
0bb1efb
Compare
renovate
Bot
force-pushed
the
renovate/jscpd-5.x
branch
2 times, most recently
from
August 21, 2026 22:15
d7e63a0 to
d01670e
Compare
renovate
Bot
force-pushed
the
renovate/jscpd-5.x
branch
4 times, most recently
from
August 30, 2026 13:39
2500a08 to
c45f203
Compare
renovate
Bot
force-pushed
the
renovate/jscpd-5.x
branch
from
August 31, 2026 19:35
c45f203 to
eecf365
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This PR contains the following updates:
^4.0.5→^5.0.0Release Notes
kucherenko/jscpd (jscpd)
v5.1.1Compare Source
Bug Fixes
jscpdon npm installed the 5.0.16 engine instead of 5.1.0 — thejscpdwrapper package published itsoptionalDependenciespinned to the5.0.16platform binaries, sonpm i jscpd@5.1.0resolved a native binary one release behind andjscpd --versionreportedcpd 5.0.16. Everything 5.1.0 fixed was therefore absent forjscpdusers, including the Windows--baseline-from-reffix. Thecpdpackage was pinned correctly and is unaffected, as are the platform packages themselves — only the wrapper's pins were stale.The cause was in
scripts/sync-version.mjs: the wrapper's version and its platform pins were updated together behind a singleversion !== npmVersionguard, so once anything setversionbefore the script ran, the guard read "already up to date" and left the pins untouched. The two are now updated independently, and the script ends by verifying that every npm version and platform pin matches the release version, exiting non-zero if any disagree — the release workflow runs this script, so a repeat of this mismatch now fails the release instead of publishing. This is the same defect that produced the 5.0.13 republish; the earlier fix covered thecpdpackage but not thejscpdwrapper.Other
rust-version = "1.87"on crates.io, a floor the crate could not build on: theoxcparser crates require 1.96.0, andignore,globsetandaskamarequire 1.88. The value had been set when the Rust workspace was created and never revisited, and no CI job built at the declared MSRV, so the drift went unnoticed. CI now derives the toolchain fromrust-versionand checks against exactly that version.Published Packages
cpd-core@0.1.10on crates.iocpd-finder@0.1.13on crates.iocpd-reporter@0.1.11on crates.iocpd-tokenizer@0.1.12on crates.iojscpd@5.1.1on crates.iocpd@5.1.1on npmjscpd@5.1.1on npmjscpd-darwin-arm64@5.1.1on npmjscpd-darwin-x64@5.1.1on npmjscpd-linux-x64-gnu@5.1.1on npmjscpd-linux-arm64-gnu@5.1.1on npmjscpd-linux-x64-musl@5.1.1on npmjscpd-windows-x64-msvc@5.1.1on npmjscpd-windows-arm64-msvc@5.1.1on npmv5.1.0Compare Source
New Features
--baseline,--update-baseline,--fail-on-new-clones) — gate CI on new duplication only: a committed baseline file records fingerprints of accepted clones, and only clones absent from it fail the build, so legacy duplication is tolerated while regressions are caught. (#944)--baseline-from-ref) — stateless PR gating without a committed file: scans the base ref in a temporary worktree and reports clones that don't exist there. (#944)--reporters openmetrics) — duplication gauges in the OpenMetrics text format, ready for GitLab CIartifacts:reports:metrics. (#422)--reporters codeclimate, aliasgitlab) —gl-code-quality-report.jsonfor GitLab'sartifacts:reports:codequality, so duplicates appear as code quality issues in merge requests. (#958)aarch64-pc-windows-msvcbinary on Windows ARM64. (#963).config/— jscpd also finds its config at.config/jscpd.jsonper the dot-config convention; a root.jscpd.jsonstill wins. (#979)Bug Fixes
--formatvalues warn instead of silently scanning 0 files —--format cs(or any typo) no longer looks identical to a clean scan in CI. (#964)--baseline-from-refno longer reports every clone as new — Windows verbatim paths (\\?\C:\...) were truncated by the:format-suffix stripper, silently breaking every snippet read behind the base scan's fingerprints. Clone fingerprints are also line-ending agnostic now, so committed baselines survive CRLF/LF differences between platforms.Thank You ❤️
.config/subfolder (#979)--formatbehavior (#964)v5.0.16Compare Source
New Features
--mcp) —cpd --mcp /path/to/projectserves the Model Context Protocol on stdin/stdout; the project is scanned once at startup and kept in memory, socheck_duplicationsnippet checks answer in milliseconds. Tools:check_duplication,get_file_clones,get_statistics,check_current_directory. (#891)--summary) — opt-in refactoring-hotspot overview: top files and folders ranked by tokens, lines, size, or complexity, with each file's duplication share;--summary-topand--summary-bytune it. (#934)--skip-isolated) — skip duplication between monorepo folders owned by different teams (--skip-isolated "packages/a|packages/b"); clones inside one folder or against shared code are still reported. Config file:"skipIsolated": [["packages/a", "packages/b"]]. (#628, #942)Security
SECURITY.mdwith private vulnerability reporting, protectedmasterbranchBug Fixes
Thank You ❤️
skipIsolatedimplementation (#628), which this release ports to the Rust enginev5.0.15Compare Source
New Features
--sarif-error-tokens <N>flag (alsosarifErrorTokensin.jscpd.json): clones with at least N tokens are reported at levelerrorwhile smaller ones staywarning. When overall duplication exceeds--threshold, all SARIF results are emitted aserror. (#908)token_count, aclone_hash, and apartialFingerprintsentry (jscpdCloneHash/v1) for cross-run result identity in consumers like GitHub code scanning. (#909)jscpd/duplicate-coderule. (#914)Bug Fixes
tool.driver.versionand the HTML report version now match--version. (#915)Thank You ❤️
v5.0.14Compare Source
New Features
--cross-formats— detect clones across related formats via format equivalence groups sharing one comparison pool, e.g.--cross-formats "javascript,typescript"or thejs-tspreset. When a group mixes TypeScript with JavaScript, TS files are compared with erasable type syntax stripped. Also configurable ascrossFormatsin.jscpd.json/package.json. (#810)Bug Fixes
.mdfiles without code fences previously produced zero tokens and were silently skipped; prose is now tokenized, while embedded code fences keep their own sub-format pools. (#883)v5.0.12Compare Source
Dependencies
askama0.16.0,log0.4.33,env_logger0.11.11,rustc-hash2.1.3)v5.0.11Compare Source
New Features
Dependencies
cpd-corebumped to 0.1.6,cpd-tokenizerbumped to 0.1.7v5.0.10Compare Source
Bug Fixes
absolute: false. Fixes #827--skip-localto match jscpd v4 TypeScript semanticsRefactoring
cpd-reporter/src/shared.rsgitoxidetogit blame --porcelainv5.0.9Compare Source
New Features
jscpd-copy-paste-detectoraction for GitHub Actions Marketplace. Scan your repo for copy/paste in CI withuses: kucherenko/jscpd/.github/workflows/action.yml@v5Bug Fixes
cpdis installed as a nested dependency (e.g. in a project'snode_modulesvia a parent package). The runner now correctly locates the platform-specific binary relative to the installed package rather than assuming a top-level install. Fixes #816v5.0.8Compare Source
Bug Fixes
vm.max_map_count(default 131 072 on Linux). The walker previously held a liveMmapper discovered file; each rayon worker now opens and drops its mapping within the processing closure, capping concurrent mappings to the thread-pool size (typically 8–32). Fixes #813--patternnot matching relative paths when the scan root is absolute (e.g. CWD). Patterns likesrc/**/*.tsnow match correctly by comparing against both the relative path and the full absolute path, and bare patterns like*.tsgain a**/prefix to match at any depth. Fixes #811\nnow count the final line correctlyv5.0.7Compare Source
Bug Fixes
test/bundlerwith 320K+ nested for-loops). OXC's recursive-descent parser allocates one stack frame per AST nesting level; pathological inputs now exceed the default 8 MiB thread stack. Fixed by building a local rayonThreadPoolwith 64 MiB stacks instead of using the global pool (which silently fails on re-init)--max-sizeto1mb— files exceeding the limit are skipped at walk time, consistent with jscpd v4'smaxSizebehavior. This prevents OXC from ever seeing megabyte-scale generated files that would overflow the stack--workers Nnow correctly takes effect on everyrun()call (previouslybuild_global()silently no-op'd after the first invocation)v5.0.6Compare Source
New Features
.jscpd.jsonfieldspath,pattern,ignore, andignorePatternare now read and applied, matching jscpd v4 behaviorignoreandignorePatternare now distinct:ignorematches file-level globs,ignorePatternmatches code-level regex patterns (previously conflated).jscpd.jsonpath config support — reads scan directories from thepathfield, resolving relative paths against the config file's directoryjscpdnpm wrapper package — publishes the same Rust binary under thejscpdname on npm with v5.x versioning--exit-codenow matches v4 behavior: accepts optional integer value (--exit-codeexits 1,--exit-code 2exits 2);--thresholdand--exit-codeare now independentmemmap2) eliminates heap copies of file contents; SIMD-accelerated line counting (viamemchr); parallel detection pipeline usesflat_mapto avoid intermediate allocations; JS tokenizer no longer clones source strings before parsing (thanks to @auterium, #808)Bug Fixes
--exit-codeto match jscpd v4's--exitCodebehavior (was boolean, now optional integer)v5.0.5Compare Source
v5.0.4Compare Source
New Features
--absolute,--ignore-case,--formats-exts,--formats-namesflags; fixed--threshold, improved--max-sizeBug Fixes
jscpd-report.htmlat theoutput_dirrootas_nanos()instead ofsubsec_nanos())Configuration
📅 Schedule: (UTC)
🚦 Automerge: Enabled.
♻ Rebasing: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
This PR was generated by Mend Renovate. View the repository job log.