Skip to content

fix(deps): remediate Dependabot transitive vulns (npm audit fix, no --force) - #110

Closed
catomean wants to merge 1 commit into
mainfrom
security/dependabot-audit-fix
Closed

fix(deps): remediate Dependabot transitive vulns (npm audit fix, no --force)#110
catomean wants to merge 1 commit into
mainfrom
security/dependabot-audit-fix

Conversation

@catomean

Copy link
Copy Markdown
Collaborator

Security: Dependabot remediation (non-breaking lockfile bumps)

Ran npm audit fix (no --force) to clear transitive advisories that fix within existing semver ranges. Only package-lock.json changedpackage.json version ranges are untouched.

Before / After

critical high moderate low total
Before 3 16 5 1 25
After 1 11 1 0 13

Cleared 12 vulnerabilities via lockfile-only transitive bumps (ws, fast-xml-parser, picomatch, yaml, js-yaml, flatted, handlebars, brace-expansion, ajv, @babel/core and related).

Verification

  • next lint --max-warnings 0 — clean
  • jest — 227 passed, 2 skipped (17 suites)
  • next build — heavy; runs in CI (local run exceeded 10 min budget)

REMAINING (13 — all require breaking MAJOR upgrades, each its own migration)

  1. Next 14 → 16next (high), postcss via next (moderate). Breaking framework migration. Out of scope for this PR.
  2. @xenova/transformers → 1.4.2 (downgrade, breaking)protobufjs (critical), sharp, onnx-proto, onnxruntime-web. The critical (protobufjs) is pinned by transformers; no non-breaking fix exists.
  3. @typescript-eslint 8.x (dev-scope)parser, plugin, type-utils, typescript-estree, minimatch. Dev tooling only, not shipped.

None of the remaining are fixable without a breaking major bump; none were touched here.

Recommendation on Next 14 → 15/16

Do it as a separate, dedicated migration PR. Medium-to-high effort/risk: App Router codemods, async request APIs (cookies()/headers()), caching-default changes, and a full manual QA pass on all routes. It carries real regression risk and should not ride along with a security lockfile bump. The transformers and eslint chains are likewise separate follow-ups.

🤖 Generated with Claude Code

Non-breaking lockfile bumps that clear category-A transitive advisories
(ws, fast-xml-parser, picomatch, yaml, js-yaml, flatted, handlebars,
brace-expansion, ajv, @babel/core and related). Reduces npm audit from
25 -> 13 vulnerabilities. package.json ranges unchanged; lockfile only.

Remaining 13 all require breaking major upgrades (out of scope here):
- next 14 -> 16 (next, postcss-via-next)
- @xenova/transformers downgrade to 1.4.2 (protobufjs[critical], sharp,
  onnx-proto, onnxruntime-web)
- @typescript-eslint 8.x (dev-scope: parser/plugin/utils, minimatch)

Verified: next lint clean, jest 227 passed / 2 skipped. Build runs in CI.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
@catomean

Copy link
Copy Markdown
Collaborator Author

Superseded by #122 — regenerated npm audit fix on post-#120 main after the lockfile conflicted.

@catomean catomean closed this Jul 28, 2026
catomean added a commit that referenced this pull request Jul 28, 2026
Regenerates PR #110's intent on post-#120 main: the non-breaking subset of
`npm audit fix`. Remaining advisories require `--force` (a breaking
@xenova/transformers major) and are deliberately left out. Lockfile-only.

Supersedes #110 (which conflicted after the dependabot merges + #120).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
catomean added a commit that referenced this pull request Jul 28, 2026
…122)

Regenerates PR #110's intent on post-#120 main: the non-breaking subset of
`npm audit fix`. Remaining advisories require `--force` (a breaking
@xenova/transformers major) and are deliberately left out. Lockfile-only.

Supersedes #110 (which conflicted after the dependabot merges + #120).

Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
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