Skip to content

fix(deps): align frozen next major and clear npm audit - #130

Merged
WhiteMuush merged 2 commits into
mainfrom
fix/deps-audit-frozen-next
Jul 28, 2026
Merged

fix(deps): align frozen next major and clear npm audit#130
WhiteMuush merged 2 commits into
mainfrom
fix/deps-audit-frozen-next

Conversation

@WhiteMuush

Copy link
Copy Markdown
Owner

Context

The three open Dependabot pull requests (#127, #128, #129) all failed the same two checks, compliance and Dependency audit. Neither failure was caused by those pull requests: both were inherited from main, where the Security workflow had already failed twice in a row.

This branch fixes the root cause so the Dependabot pull requests can go green on rebase.

Frozen dependency guard

main runs next 16.2.12 since #126, but check-frozen-deps.mjs still declared major 15 as canonical. The guard deliberately rejects a mismatch in either direction, including once the major has already landed on the baseline branch, so every pull request failed compliance regardless of its content.

The baseline is now aligned with the version actually shipped. next 16 is treated as intended.

Dependency audit

npm audit --audit-level=high reported nine findings coming from five advisories, all in transitive dependencies:

Package Locked Advisory Override
postcss 8.5.15 path traversal via sourceMappingURL ^8.5.23
sharp 0.34.5 inherited libvips CVEs ^0.35.3
valibot 1.2.0 flatten() throws on inherited property names ^1.4.2
find-my-way 9.6.0 HTTP2 denial of service ^9.7.0
brace-expansion 1.1.15 / 5.0.6 denial of service via unbounded expansion ^5.0.8

npm audit fix was tried first and made things worse, cascading into the minimatch chain, so targeted overrides were used instead.

The brace-expansion 1.x line has no fixed release for the unbounded expansion advisory, so the override lifts the whole tree to 5.x. That release still publishes a CommonJS build under exports.require, so minimatch 3.x keeps resolving it.

npm audit now reports zero vulnerabilities.

Verification

Run locally against the resulting tree:

  • npm run lint, clean
  • npx tsc --noEmit, clean
  • npm test, 152 tests across 28 files passed
  • npm run build, succeeded
  • npm audit --audit-level=high, zero vulnerabilities

Follow-up

Once this lands, the three Dependabot pull requests need a rebase before merge.

next moved to 16.2.12 on main, but the frozen dependency guard still
declared major 15. The guard rejects a mismatch in either direction, so
every open pull request failed the compliance job even though none of
them touched next.

Align the canonical baseline with the version actually shipped on main.
npm audit --audit-level=high failed on main and therefore on every open
pull request. Five advisories were involved, all reachable only through
transitive dependencies:

- postcss below 8.5.18, path traversal via sourceMappingURL
- sharp below 0.35.0, inherited libvips CVEs
- valibot below 1.4.2, flatten() throwing on inherited property names
- find-my-way below 9.7.0, HTTP2 denial of service
- brace-expansion below 5.0.8, denial of service via unbounded expansion

The brace-expansion 1.x line has no fixed release for the unbounded
expansion advisory, so the override lifts the whole tree to 5.x. That
release still ships a CommonJS build, so minimatch 3.x keeps resolving
it. Lint, typecheck, unit tests and next build were all run against the
resulting tree.

npm audit now reports zero vulnerabilities.
@WhiteMuush WhiteMuush changed the title fix(deps): unblock CI by aligning frozen next major and clearing npm audit fix(deps): align frozen next major and clear npm audit Jul 28, 2026
@WhiteMuush WhiteMuush closed this Jul 28, 2026
@WhiteMuush WhiteMuush reopened this Jul 28, 2026
@WhiteMuush
WhiteMuush merged commit 8cfda3a into main Jul 28, 2026
23 of 25 checks passed
@WhiteMuush
WhiteMuush deleted the fix/deps-audit-frozen-next branch July 28, 2026 07:47
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