chore(deps): update npm dependencies updates - #175
Merged
Merged
Conversation
renovate
Bot
force-pushed
the
renovate/npm-dependencies-updates
branch
from
September 21, 2026 08:11
332fe4a to
773e5bd
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:
5.2.*→5.3.*21.0.*→21.1.*Release Notes
kucherenko/jscpd (jscpd)
v5.3.0Compare Source
jscpd 5.3.0 adds a health score for your codebase, a full project dashboard, and a batch of fixes found during a pre-release review.
Highlights
🩺
--health— one score for the codebase. A single 0–100 number (with an A–E grade) built from three shares of the code: duplication, dead code and complexity. Small projects aren't unfairly punished — the score adjusts for project size — and a dimension jscpd can't measure (no JS/TS/Python to check for dead code, say) is left out and labeledn/arather than silently scored as perfect. Plug in your own metrics — coverage, security scan results, whatever you track — with--health-input.📊
--dashboard— the whole picture on one screen. Everything above, plus project size, a duplication breakdown by format, your most complex files, and dead-code findings by category — all in one run, one report.markdownandhtmlreporters are new for both--dashboardand--health, alongside the existingconsole,jsonandbadge(SVG) output.⚡
--complexity— just the complexity half of--summary, without a clone scan. Handy when all you want is "what's the most complex file in here," fast.🎯
--kind— filter clones by how they were found: exact, renamed, or similar (and, for similar, whether it was a near-miss gap merge or a structural match). Typos are caught rather than silently returning a clean report.🧮 More accurate complexity counting. The
--summary --summary-by complexityestimate now tracks real cyclomatic complexity much more closely — short-circuit operators (&&,||) count properly across every language, branches are counted the way each language actually spells them (Rustmatcharms, Swiftguard, Goselect, and so on), and complexity is measured per function instead of per file. Validated against lizard across nine languages, with agreement on file ranking rising from 0.83 to 0.92.🧟
--dead-code— find code nothing runs. A new engine, basta, builds your project's import graph from its real entry points and reports unused files, exports, and imports across JavaScript, TypeScript, Vue, Svelte, Astro and Python — including monorepo package names, path aliases, and framework conventions (Nuxt, SvelteKit, Astro components). Every finding comes with a confidence score, so you know how much to trust it. It's available inside jscpd as--dead-code, and also ships as its own standalonebastacommand.See the full changelog for the details on all of the above.
Fixes
.jscpd.jsonno longer throws out the whole config — only the bad field is dropped, everything else still applies.--dashboard/--healthand their markdown/html output now escape untrusted values (file paths, custom format names, external metric IDs) before rendering them, closing off ways a crafted file name could break a table or inject content.--dashboard/--healthnow drop the dead-code section gracefully when--formatexcludes every language it can analyze, instead of failing the whole report.--complexity --fail-on-emptynow writes its reports before failing, matching every other mode.--min-confidenceabove 100 is now clamped (with a warning) everywhere it's read, not just in the standalone--dead-codemode.oxcparser crates to 0.150.Thanks
Thanks to @Dev-next-gen for fixing how plain text, log and CSV files handle comments (#1065) 🙌
Published Packages
basta@0.1.1on crates.iocpd-core@0.1.15on crates.iocpd-finder@0.1.17on crates.iocpd-reporter@0.1.16on crates.iocpd-tokenizer@0.1.17on crates.iojscpd@5.3.0on crates.iocpd@5.3.0on npmjscpd@5.3.0on npmjscpd-darwin-arm64@5.3.0on npmjscpd-darwin-x64@5.3.0on npmjscpd-linux-x64-gnu@5.3.0on npmjscpd-linux-arm64-gnu@5.3.0on npmjscpd-linux-x64-musl@5.3.0on npmjscpd-linux-arm64-musl@5.3.0on npmjscpd-windows-x64-msvc@5.3.0on npmjscpd-windows-arm64-msvc@5.3.0on npmjscpd==5.3.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.txtrelease-it/release-it (release-it)
v21.1.0Compare Source
033dca2) - thanks @gameroman!6e40222) - thanks @DanMat!eab4b8c)76e409f)afb5565) - thanks @mrpmohiburrahman!9ca5d32)98dcf19)7ee54c2)Configuration
📅 Schedule: (in timezone Europe/Paris)
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
👻 Immortal: This PR will be recreated if closed unmerged. Get config help if that's undesired.
This PR was generated by Mend Renovate. View the repository job log.