Repository navigation
chore(deps): update dependency jscpd to v5.4.0 - #423
Merged
Merged
Conversation
Contributor
Author
Branch automerge failureThis PR was configured for branch automerge. However, this is not possible, so it has been raised as a PR instead.
|
|
Important Review skippedBot user detected. To trigger a single review, invoke the ⚙️ Run configuration
You can disable this status message by setting the Use the checkbox below for a quick retry:
Comment |
renovate
Bot
force-pushed
the
renovate/jscpd-5.x
branch
from
October 8, 2026 14:37
e9b6f8e to
2b05d5c
Compare
Member
|
Human decision needed — |
therockstorm
approved these changes
Oct 8, 2026
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:
5.3.3→5.4.0Release Notes
kucherenko/jscpd (jscpd)
v5.4.0Compare Source
New Features
A language server:
jscpd --lsp. An editor starts jscpd for a workspace, and the files you edit get what jscpd finds as diagnostics that follow the text in the editor, saved or not. After 300 ms without typing, the server tokenizes the file again from the buffer and searches its detection pool again from the tokens it keeps for the rest of the project.--similarity), semantic clones (--semantic), dead code (--dead-code) and complexity, with a limit of 15 per function and the complex-file bar of the health score per file. Only clones are on unless you turn the others on, with--lsp-analyses, with thelspsection of.jscpd.json, or from the editor's settings, and each place wins over the one before it.lsp.clones.warningTokenslowers the smaller ones to information. Dead code is a hint that editors fade..jscpd.jsonin the workspace makes its folder a project of its own, and clones are found within a project. A workspace with no config is one project across all its folders.jscpd:ignore-startandjscpd:ignore-endcomments. Dead code and semantic clones run in the background after a save, and the progress of each run ends with what it found, such as94 files, 13 clones.fixtures/lsp-demois a project that shows each analysis. (#1120, #1121, #1122)Comparing two codebases, experimental:
--compare.jscpd --compare source targetpairs the functions of two folders with the--semanticmodel and reports which functions of each side have a counterpart in the other. During a port to another language or platform, that is what is still to port; for two implementations of one app, it is what only one of them has.high,mediumorlow, and the report lists the pairs under other names on their own.*_test.go,test_*.py,*.test.tsor Rust's#[cfg(test)], and JavaScript test cases take part under their titles.-r htmlwrites a migration map: both sides as dependency graphs with the pairs bridging them, a table of the same pairs, and the functions ready to port, whose callees all have a counterpart already. The JSON report lists those asreadyToPort.fixtures/compare-demois a runnable example. (#1115, #1118, #1119)Agent skills for ports.
compare-codebasesexplains how--comparepairs functions and how to check a comparison.code-migrationports a codebase tests first, binds tests to code by coverage, and takes the next function to port from--compare. Install them withnpx skills add kucherenko/jscpd --skill <name>. (#1115, #1117)Changes
--similarityhave a SARIF rule of their own,jscpd/similar-function. Thesimilarkind comes from two mechanisms that find different things, and SARIF filed both underjscpd/similar-code. That rule now keeps the copies merged across a gap (--max-gap-lines), and Code Climate'scheck_namefollows. GitHub code scanning matches alerts by rule, so the first upload of--similarityresults after the update closes the old alerts and opens the same findings under the new rule. (#1121)Other
cargo publishnow fails the release job instead of passing it. (#1116)Published Packages
basta@0.3.0on crates.iocpd-core@0.1.20on crates.iocpd-finder@0.1.20on crates.iocpd-reporter@0.1.21on crates.iocpd-semantic@0.1.1on crates.iocpd-tokenizer@0.1.19on crates.iojscpd@5.4.0on crates.iocpd@5.4.0on npmjscpd@5.4.0on npmjscpd-darwin-arm64@5.4.0on npmjscpd-darwin-x64@5.4.0on npmjscpd-linux-x64-gnu@5.4.0on npmjscpd-linux-arm64-gnu@5.4.0on npmjscpd-linux-x64-musl@5.4.0on npmjscpd-linux-arm64-musl@5.4.0on npmjscpd-windows-x64-msvc@5.4.0on npmjscpd-windows-arm64-msvc@5.4.0on npmjscpd==5.4.0on PyPIVerify
Archives are signed with Sigstore (keyless,
<asset>.sigstore.json)and carry SLSA build provenance. Replace
jscpd-linux-x64-gnu.tar.gzwith your asset:cosign verify-blob \ --bundle jscpd-linux-x64-gnu.tar.gz.sigstore.json \ --certificate-identity-regexp '^https://github\.com/kucherenko/jscpd/' \ --certificate-oidc-issuer https://token.actions.githubusercontent.com \ jscpd-linux-x64-gnu.tar.gz gh attestation verify jscpd-linux-x64-gnu.tar.gz --repo kucherenko/jscpd sha256sum --check --ignore-missing checksums.txt