Skip to content

fix(deps): refresh vulnerable transitive resolutions in bun.lock - #7654

Merged
joelgallardoclippy-lgtm merged 2 commits into
mainfrom
clippy/transitive-lock-refresh
Nov 13, 2026
Merged

joelgallardoclippy-lgtm merged 2 commits into
mainfrom
clippy/transitive-lock-refresh

Conversation

@joelgallardoclippy-lgtm

@joelgallardoclippy-lgtm joelgallardoclippy-lgtm commented Nov 13, 2026 •

Copy link
Copy Markdown
Contributor

What

Lockfile-only refresh of vulnerable transitive resolutions in the root bun.lock. No package.json changes and no new overrides; every new version already satisfies its parents' existing ranges.

Package Before → After Pulled in by Scope Fix release published
protobufjs 7.5.7 → 7.6.6 google-gax, @grpc/proto-loader, @google/genai runtime 7.6.5: 2026-07-04 (7.6.6: 2026-08-27)
@grpc/grpc-js 1.14.4 → 1.14.7 google-gax runtime 1.14.5: 2026-09-17 (1.14.7: 2026-10-29)
source-map-js 1.2.1 → 1.2.2 postcss, css-tree, @tailwindcss/node runtime 2026-09-30
brace-expansion 2.1.0 → 2.1.7 minimatch@9 (glob) runtime 2026-09-14
brace-expansion 5.0.6 → 5.0.12 minimatch@10 (aws-cdk-lib) dev 2026-09-14
form-data 2.5.5 → 2.5.6 @types/request (retry-request, google-gax) runtime 2026-06-12
fast-uri 3.1.2 → 3.1.9 ajv dev 2026-10-19
js-yaml 4.1.1 → 4.3.2 cosmiconfig (commitlint) dev 2026-08-26
browserslist 4.28.2 → 4.29.5 @babel/helper-compilation-targets dev 4.28.7: 2026-07-21 (4.29.5: 2026-10-26)
baseline-browser-mapping 2.10.29 → 2.11.35 browserslist dev 2.11.0: 2026-07-21 (2.11.35: 2026-11-02)
ws 8.21.3 (hoisted) / 8.20.0 (nested under @google/genai) → 8.22.1 @google/genai, happy-dom, puppeteer-core runtime/dev 8.21.0 line; 8.22.1: 2026-10-31

Adjacent resolver changes these unavoidably drag in:

  • @protobufjs/fetch 1.1.0 → 1.1.1 and @protobufjs/eventemitter 1.1.0 → 1.1.1 (protobufjs 7.6.x floors). @protobufjs/inquire drops out because fetch 1.1.1 no longer depends on it.
  • hasown 2.0.3 → 2.0.4 (form-data 2.5.6 requires ^2.0.4; kept deduped to one copy).
  • caniuse-lite, electron-to-chromium, node-releases, update-browserslist-db: browser data packages, raised to browserslist 4.29's floors.
  • The nested @google/genai/ws@8.20.0 entry dedupes into the hoisted ws@8.22.1.

Why

Clears these published advisories (34 entries in bun audit, 93 → 59 total against current main):

bun audit shows none of these packages after the change.

Related work

No open Renovate PR covers these transitives. Merged main (after #7641, #7652, #7653) into this branch; bun.lock was resolved by taking main's lock and re-running the same targeted updates, giving the same resulting entries as before.

How

  • Targeted bun update <pkg> per package, with a temporary, uncommitted bunfig.toml minimumReleaseAge of 7 days so no newly resolved version is younger than a week (newest: caniuse-lite / electron-to-chromium, 2026-11-06). Bun 1.4.4 per engines.bun.
  • Then bun update hasown to keep a single hasown copy.
  • Reverted the unrelated workspace version churn bun writes into the workspaces block.
  • The Lambda runtime locks already resolve ws@8.22.2 and contain none of the other packages; packages/studio/frontend/bun.lock contains none of them. No other locks need changes.

Test plan

  • bun install --frozen-lockfile accepts the lock ("no changes")
  • bun why for each changed package shows the new version as the only resolution
  • bun audit before/after: the 34 advisories above cleared, none new
  • bun run lint, bun run format:check
  • Hosted CI (Build, Typecheck, Test, runtime contract, regression, Windows render/test)
  • Unit tests added/updated (n/a, lockfile only)
  • Manual testing performed
  • Documentation updated (if applicable)
  • Comments follow CONTRIBUTING.md "Comments" (n/a, no code)

— Clippy

🤖 Generated with Claude Code

Lockfile-only targeted refresh within existing parent ranges:
protobufjs 7.6.6, @grpc/grpc-js 1.14.7, source-map-js 1.2.2,
brace-expansion 2.1.7 / 5.0.12, form-data 2.5.6, fast-uri 3.1.9,
js-yaml 4.3.2, browserslist 4.29.5, baseline-browser-mapping 2.11.35,
ws 8.22.1.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@github-actions

github-actions Bot commented Nov 13, 2026 •

Copy link
Copy Markdown
Contributor

Edit accuracy: accurate 267 (base branch 267), smooth 100 of those

The gate passes.
Smoothness is reported in the artifact, not gated. A case fails only if it fails 2 of 3 runs.

Quarantined, measured but not gated (8)

Unstable (2)

  • seqrotatenudge-none-pct-r0-root-z100: tracking 0.03, pressJump 0, drop 0, reload 3.03, render 0.04, renderKey -, undo false, teleport true / tracking 0.03, pressJump 0, drop 0, reload 0, render 0.08, renderKey -, undo true, teleport true / tracking 0.03, pressJump 0, drop 0, reload 0, render 0.08, renderKey -, undo true, teleport true
  • seqfastkeys-none-px-r0-root-z100: tracking 0.06, pressJump 0.05, drop 0, reload 0, render 0.02, renderKey -, undo false, teleport true / tracking 0.06, pressJump 0.05, drop 0, reload 0, render 0.02, renderKey -, undo true, teleport true / tracking 0.06, pressJump 0.05, drop 0, reload 0, render 0.02, renderKey -, undo true, teleport true

@jrusso1020 jrusso1020 left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Reviewed at 4ac4e26c6606e4e7d0d78b240134e8aa13dcc395. No blockers found.

Parsed comparison confirms bun.lock is the only changed file; workspace declarations and overrides are identical. All changed package versions stay within their existing major versions and satisfy parent ranges. The adjacent changes match protobufjs/form-data/browser-data dependency floors, removal of unused @protobufjs/inquire, and ws deduplication; no unexpected package additions were found. Both Lambda runtime locks are unchanged.

Validation: frozen install and full build pass. Local dependency smoke checks pass for protobuf encode/decode, source-map roundtrip, YAML loading, brace expansion and WebSocket echo. Audit against this PR's base is 117→77 with no new advisory IDs; none of the targeted packages remains in the audit output. The description's 111 baseline is not what the current audit returns. Hosted checks have no failures at this head. The other dependency PRs touch bun.lock too, so preserve their selected versions when rebasing whichever lands later.

Need: yes, patched transitive resolutions · Size: ok · Reuse: existing dependency ranges · Simpler: already minimal · Structure: fine (checked parent dependency edges and unchanged workspace declarations; no split)
Risk: low — compatible transitive patches/minors with unchanged source and passing build/smoke coverage.

Verdict: APPROVE
Reasoning: The refresh stays within declared contracts, clears the targeted audit findings and introduces no unexpected dependency changes.

— Rames

Resolve bun.lock by taking main's lock and re-applying the same
targeted bun update refreshes (7-day minimum release age).

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

@jrusso1020 jrusso1020 left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Reviewed at d9a8d8af4d91d6d82f94529882fbd456829667d9. No blockers found in the merge resolution.

Verified this is a signed merge of the previously reviewed 4ac4e26c and main 7603215f. Against that main parent, only bun.lock changes: all 18 refreshed package records—including dependency maps and integrity hashes—exactly match 4ac4e26c. Workspace declarations/settings and every unrelated main record are preserved. The two removals are the now-unused @protobufjs/inquire and redundant @google/genai/ws; consumers share patched ws@8.22.1. No new major-version moves or downgrades in the refresh. An override-aware scan of 1,734 dependency/optional/workspace edges found no range violations.

Validation at this head: bun install --frozen-lockfile --ignore-scripts installed 1,470 packages; bun run build exits 0. The gated dependency smoke probe reports protobuf codec, source-map roundtrip, YAML, brace expansion, WebSocket echo: 5 PASS. bun audit --json reports 99→59 advisories against the exact main parent, with no new advisory IDs (the author's 93 baseline did not reproduce). Hosted checks show 84 successful, 49 skipped and one cancelled; no failed or pending jobs. The earlier full compatibility review still applies to the identical refreshed package records; the merged main code was checked for preservation rather than independently re-reviewed in full.

Need: yes, patched transitive resolutions · Size: ok · Reuse: existing dependency ranges and main overrides · Simpler: already minimal · Structure: fine (checked both parent graphs and unchanged workspace declarations; no split)
Risk: low — same reviewed transitive refresh, preserving main's newer dependencies.

Verdict: APPROVE.
Reasoning: The merge keeps both main's dependency updates and the previously reviewed security refresh, with no unexpected lockfile resolution changes.

— Rames

@joelgallardoclippy-lgtm
joelgallardoclippy-lgtm added this pull request to the merge queue Nov 13, 2026
Merged via the queue into main with commit 0c2384d Nov 13, 2026
133 of 134 checks passed
@joelgallardoclippy-lgtm
joelgallardoclippy-lgtm deleted the clippy/transitive-lock-refresh branch November 13, 2026 19:03
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.

2 participants