Skip to content

fix(deps): override serialize-javascript to ^7.0.5#112

Merged
zuchka merged 1 commit into
mainfrom
fix/serialize-javascript-cves
May 11, 2026
Merged

fix(deps): override serialize-javascript to ^7.0.5#112
zuchka merged 1 commit into
mainfrom
fix/serialize-javascript-cves

Conversation

@zuchka

@zuchka zuchka commented May 11, 2026

Copy link
Copy Markdown
Owner

Summary

  • Adds overrides to force serialize-javascript@^7.0.5, closing two Dependabot alerts
  • Dev-only change; published artifact is byte-identical to 0.6.4 (no release needed)

Alerts closed

Why no release / no version bump

serialize-javascript is a transitive devDep pulled in by mocha. The published tarball contains only index.js, index.d.ts, README.md, LICENSE — verified byte-identical to the 0.6.4 tarball after this change. Per npm's resolution semantics, overrides declared inside a transitive dependency are ignored, so the 1M+ weekly consumers see no behavioral difference whatsoever.

Lockfile churn

The package-lock.json diff is larger than the single override would suggest because regenerating the lock via npm install re-resolved unrelated devDeps within their existing semver ranges (e.g., chai 4.4.0→4.5.0, binary-extensions 2.2.0→2.3.0). It also corrects a stale "version": "0.6.3" field that the 0.6.4 release commit didn't refresh. None of these changes affect anything consumers see.

Verification performed

  • npm test — 39 passing on Node 18.x, 20.x, 22.x (locally via nvm)
  • mocha --parallel — 39 passing (exercises the serialize-javascript IPC code path most heavily)
  • npm audit — 0 vulnerabilities (was 5: 1 low, 1 moderate, 3 high)
  • node -e "require('serialize-javascript/package.json').version" reports 7.0.5
  • Only one serialize-javascript entry in lockfile, resolved to 7.0.5
  • tar -tzf of pre/post 0.6.4 tarballs produce identical file listings
  • diff -r of extracted tarballs shows only package.json differs
  • The package.json diff in the tarball is exactly the overrides block addition — nothing else
  • CI matrix (Node 18.x/20.x/22.x) green
  • Dependabot alerts auto-close after merge

Test plan

🤖 Generated with Claude Code

Forces transitive devDep serialize-javascript (via mocha) to a
patched version. Closes Dependabot alerts:

- #28 (HIGH, GHSA-5c6j-r48x-rmvq): RCE via RegExp.flags and
  Date.prototype.toISOString
- #32 (MEDIUM, CVE-2026-34043): CPU DoS via crafted array-like
  objects

Dev-only change. The published tarball's source files
(index.js, index.d.ts, README.md, LICENSE) are byte-identical
to 0.6.4 -- verified via diff -r of pre/post npm pack output.
No version bump needed; consumers ignore overrides declared
in transitive dependencies.

Lockfile also picks up incidental minor/patch bumps of unrelated
devDeps (within existing semver ranges) from the full re-resolve,
and corrects a stale "version": "0.6.3" field that the 0.6.4
release commit didn't refresh.

Verified:
- All 39 tests pass on Node 18.x / 20.x / 22.x (locally via nvm)
- mocha --parallel passes (exercises serialize-javascript IPC path)
- npm audit reports 0 vulnerabilities (was 5)
- Published tarball file listing unchanged
- index.js, index.d.ts, README.md, LICENSE bit-for-bit identical
- Only package.json differs in the tarball, by exactly the
  overrides block addition

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@zuchka zuchka merged commit 28f25a5 into main May 11, 2026
3 checks passed
@zuchka zuchka deleted the fix/serialize-javascript-cves branch May 11, 2026 13:41
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