Repository navigation
fix(deps): resolve all npm audit vulnerabilities - #21
Merged
Merged
Conversation
npm audit reported 8 advisories (1 critical, 7 high), all in release-it's transitive dev dependencies: - shell-quote 1.10.0 -> 1.12.0 (GHSA-pqg4-j6r4-53mv, critical) - source-map-js 1.2.1 -> 1.2.2 (GHSA-68fv-2mgg-jv7q) - undici 7.29.0 -> 7.29.1 (ten advisories) - basic-ftp 5.3.1 -> 6.2.3 (GHSA-c475-qrg2-pj4r) The first three came from `npm audit fix`. basic-ftp needs an `overrides` entry because get-uri (via release-it > proxy-agent > pac-proxy-agent) pins `^5.3.1` and has no release that accepts 6.x, so npm's only alternative was downgrading release-it to 15.x. The sole 6.0 breaking change is that separate transfer hosts are now off by default (FTP bounce-attack hardening); get-uri only calls access/lastMod/list/downloadTo/close, all unchanged. 6.2.3 also picks up GHSA-5rfr-xx34-2xxv and GHSA-r4jh-29pc-gfqr. The published package has zero runtime dependencies, so nothing consumers install changes.
|
Review the following changes in direct dependencies. Learn more about Socket for GitHub.
|
There was a problem hiding this comment.
🟢 Approval recommended
The development-only updates and matching lockfile introduce no identified blocking issues.
0 open findings
What changed in this PR
Updates development dependencies to address reported npm audit vulnerabilities without changing the published library’s runtime code.
Changes:
- Adds a
basic-ftpoverride to use the patched 6.2.3 release. - Refreshes
release-itand related dependencies, including security fixes forshell-quote,source-map-js, andundici.
| File | Description |
|---|---|
| package.json | Adds the patched basic-ftp override. |
| package-lock.json | Locks updated development dependencies and integrity hashes. |
🧠 Review effort: Balanced
💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
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.
Summary
npm auditonmainreported 8 vulnerabilities (1 critical, 7 high), all in transitive dev dependencies pulled in byrelease-it. After this change it reports 0.quote())BalancedPoolThe first three were resolved by
npm audit fix.release-itmoved 21.1.0 → 21.1.1 as part of that, which dragged along a handful of@inquirer/*patch bumps.Why basic-ftp needs an
overridesentrybasic-ftpreaches us throughrelease-it > proxy-agent > pac-proxy-agent > get-uri. The latestget-uri(8.0.1) still pinsbasic-ftp@^5.3.1, and there is no 5.x release with the fix, so npm's only automatic option wasnpm audit fix --force, which downgradesrelease-itto 15.x. Insteadpackage.jsonnow carries:I checked that this is safe:
allowSeparateTransferHostoption.get-urionly callsaccess,lastMod,list,downloadToandclose, all of which are unchanged.node >=10, well within the Node 24 CI uses.This code path is only exercised if
release-ithas to fetch a PAC file over FTP through a proxy, which never happens in our CI.No changelog entry
The published package has zero runtime dependencies, so nothing a consumer installs changes. The
Changelogworkflow does not require an entry for changes outsidesrc/. Happy to add one under### Changedif you would rather record it.Supersedes the open dependabot PRs
The lockfile on this branch already contains a newer version than each of #5, #6, #11, #13, #14 and #15 target (and
lodashis no longer in the tree at all), so those can be closed once this merges. Note that #14's target,shell-quote@1.10.0, is itself inside the newly vulnerable range.Verification
npm audit→ 0 vulnerabilitiesnpm run format:check,npm run lint,npm run typecheck→ cleannpm test→ 117 passednpm run build→ esm, cjs and declarations emitted