Skip to content

chore(deps): finalize security overrides and regenerate lockfile#1718

Merged
cliffhall merged 1 commit into
mainfrom
deps/security-lockfile-finalize
Jul 18, 2026
Merged

chore(deps): finalize security overrides and regenerate lockfile#1718
cliffhall merged 1 commit into
mainfrom
deps/security-lockfile-finalize

Conversation

@cliffhall

@cliffhall cliffhall commented Jul 18, 2026

Copy link
Copy Markdown
Member

Summary

Finalizes the transitive-dependency security overrides by regenerating package-lock.json from scratch.

Why this PR exists: npm does not reliably apply newly-added overrides to an existing lockfile — bare overrides and version-targeted overrides applied via npm install / npm update / --package-lock-only all leave residual vulnerable copies of nested deps in place. The only reliable fix is a clean regeneration with the overrides present, which forces every copy to the patched version.

Resolves

Supersedes #1713 (js-yaml — already resolved), #1714 (esbuild), #1715 (minimatch). Part of #1706.

Verification

  • Audited the regenerated lockfile: 0 vulnerable copies across all nine advisory packages (shell-quote, vitest, hono, vite, form-data, @babel/core, esbuild, minimatch, js-yaml).
  • Cross-platform optional deps (esbuild/rollup linux/win binaries) preserved.
  • npm run build passes; client tests (535) and cli tests pass.
  • npm install --package-lock-only produces no further change (lockfile internally consistent).

The lock diff is large because it is a full re-resolution — this is the honest cost of applying these transitive overrides correctly.

🤖 Generated with Claude Code

https://claude.ai/code/session_01HiccCEh9mwCfVzE8qYcop1

npm does not reliably apply these transitive overrides to an existing
lockfile (bare and targeted overrides via install/update leave residual
vulnerable copies). This regenerates the lockfile from scratch with
version-targeted overrides so every copy of the affected packages
resolves to a patched version.

Resolves Dependabot alerts:
- esbuild #121 (-> 0.28.1)
- minimatch #69, #66, #61 (3.x -> 3.1.5)
- @babel/core #132 (-> 7.29.7; completes the partial fix from #1712)
Also pins js-yaml overrides (3.15.0 / 4.2.0) to prevent regression.

Supersedes #1713, #1714, #1715. Part of #1706.

Verified: 0 vulnerable copies across all advisories; build + client (535)
+ cli tests pass; lockfile internally consistent.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01HiccCEh9mwCfVzE8qYcop1
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant