Skip to content

fix(client): Phase 2 — clear uuid + dompurify advisories via overrides#550

Merged
Detair merged 1 commit into
mainfrom
fix/frontend-security-deps
May 8, 2026
Merged

fix(client): Phase 2 — clear uuid + dompurify advisories via overrides#550
Detair merged 1 commit into
mainfrom
fix/frontend-security-deps

Conversation

@Detair

@Detair Detair commented May 8, 2026

Copy link
Copy Markdown
Owner

Summary

Phase 2 of the dep-update sweep (spec, plan). Builds on Phase 1 (#549).

  • Adds 3 new transitive overrides to client/package.json:
    • postcss ^8.5.10 — clears the postcss XSS advisory pulled via vite
    • uuid ^11.1.1 — clears the buffer-bounds advisory pulled via mermaid
    • dompurify ^3.4.2 — pins mermaid's transitive copy to match the direct dep
  • Drops the spec's planned vite ^8.0.0 override — forcing nested vite to 8.x breaks vitest 4.1.0's @vitest/mocker (537/581 tests fail with "Failed to parse source for import analysis"). This is the exact known issue documented in PR chore(client): clear 11 devtime advisories via transitive overrides #517's .osv-scanner.toml exception comments. Phase 6c (vitest test-infra majors) is the unblock path.
  • The 6 vite advisories that remain are all already accepted dev-only exceptions in .osv-scanner.toml; OSV Scanner CI gate is unchanged.
  • bun audit: 8 → 6 advisories (uuid + dompurify-via-mermaid cleared in this PR; 4 cleared in Phase 1).

What's NOT in this PR (and why)

The spec planned this Phase 2 to also bump direct deps for dompurify, @sentry/browser, @vitejs/plugin-basic-ssl. Those bumps already landed in Phase 1 (#549) via targeted bun update, since they were within the existing ^ ranges. This PR is just the override additions + the ### Security CHANGELOG entry.

Test plan

  • cargo deny checkadvisories ok, bans ok, licenses ok, sources ok
  • cargo audit — exit 0 with established ignore list (no new RUSTSEC entries; this PR is npm-only)
  • bun run test:run — 32 files, 581/581 tests pass
  • bun run buildtsc && vite build green
  • bun audit — 8 → 6 advisories (the 6 remaining are vite paths under existing PR chore(client): clear 11 devtime advisories via transitive overrides #517 exceptions)
  • No nested vite@7.x shenanigans — bun pm ls --all | grep vite@ shows only vite@8.0.0 (direct) + vite@7.3.1 (vitest's nested, intentionally preserved until Phase 6c)
  • Mermaid's transitive dompurify now resolves to 3.4.2 (single copy across the tree)

🤖 Generated with Claude Code

Phase 2 of the dep-update sweep. Adds transitive overrides for postcss,
uuid, and dompurify. The vite override planned in the spec is dropped:
forcing nested vite to 8.x breaks vitest 4.1.0's @vitest/mocker (the
known issue from PR #517). The 6 vite advisories that remain are
already accepted dev-only exceptions in .osv-scanner.toml; they unblock
in Phase 6c (vitest test-infra majors).

bun audit: 8 → 6 advisories; the 6 remaining are vite/vitest dev-server
paths, all behind .osv-scanner.toml exceptions.

Direct-dep bumps the spec planned for this phase (dompurify 3.3.3 →
3.4.2, @sentry/browser 10.44.0 → 10.52.0, @vitejs/plugin-basic-ssl
2.2.0 → 2.3.0) already landed in Phase 1 via targeted bun update; this
PR only adds the overrides + CHANGELOG.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@Detair Detair merged commit 124ccae into main May 8, 2026
18 checks passed
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