Skip to content

fix: bump vulnerable transitive deps to resolve dependabot alerts - #499

Open
sriramveeraghanta wants to merge 1 commit into
masterfrom
fix/dependabot-alerts
Open

fix: bump vulnerable transitive deps to resolve dependabot alerts#499
sriramveeraghanta wants to merge 1 commit into
masterfrom
fix/dependabot-alerts

Conversation

@sriramveeraghanta

@sriramveeraghanta sriramveeraghanta commented Aug 17, 2026

Copy link
Copy Markdown
Member

Closes all 9 open Dependabot alerts, every one of them on pnpm-lock.yaml.

What changed

Three of the five packages were held at vulnerable versions by the overrides: block in pnpm-workspace.yaml, so the fix is to raise the pins — same pattern as bb7fdf7:

Package Before After Alerts
dompurify 3.4.11 3.4.13 #78 low, #79 medium
postcss 8.5.15 8.5.26 #71 high, #76 medium
js-yaml 3.15.0 3.15.1 #73 high

The other two had no override and only needed the lockfile refreshed — their parents' declared ranges already allow the patched versions:

Package Before After Alerts Parent range
brace-expansion 5.0.6 5.0.9 #68, #70, #72 high minimatch wants ^5.0.5
linkify-it 5.0.1 5.0.2 #69 high markdown-it wants ^5.0.1

Why no override for the last two

pnpm overrides apply tree-wide, and brace-expansion 5.x replaced the v1/v2 default export with a named expand. Pinning it would break any future consumer still on minimatch 9.x, which does import expand from 'brace-expansion'. The lockfile pin is durable on its own here: 5.0.9 and 5.0.2 are the tops of their respective ranges, so re-resolution lands on the patched versions.

Every new version still satisfies its consumer's own declared range (dompurify ^3.3.3, postcss ^8.5.3, js-yaml ^3.13.1) — these are security floors, not compatibility ceilings.

Verification

  • pnpm check:format, pnpm dedupe --check, pnpm check:types (3/3), pnpm build (both sites) — all pass
  • pnpm audit — no known vulnerabilities found
  • Each of the five packages resolves to exactly one version in the lockfile, all outside their vulnerable ranges
  • Single-copy invariant holds: vue@3.5.41, vitepress@2.0.0-alpha.16, @voidzero-dev/vitepress-theme@4.8.4
  • Lockfile's recorded overrides: block matches pnpm-workspace.yaml, so --frozen-lockfile won't fail in CI
  • Differential testing found no behavior change: 489/489 frontmatter blocks parse identically (js-yaml), 1,917 autolink matches identical (linkify-it), byte-identical CSS output (postcss), 40k fuzzed glob inputs identical (brace-expansion)

Not covered: a live browser render of the two mermaid pages (dompurify is consumed client-side by mermaid). Both dompurify advisories are sanitization hardening, so the risk is low, but it is unverified at runtime.

https://claude.ai/code/session_019kCVtLs1Yho8dzcuzV4Hrn

Summary by CodeRabbit

  • Chores
    • Updated several underlying dependencies to newer patch versions.
    • No user-facing functionality or behavior changes.

Closes all 9 open Dependabot alerts, every one of them on pnpm-lock.yaml.

Three of the five packages were held at vulnerable versions by the
`overrides:` block in pnpm-workspace.yaml, so the fix is to raise the
pins (same pattern as bb7fdf7):

  dompurify  3.4.11 -> 3.4.13  (#78 low, #79 medium)
  postcss    8.5.15 -> 8.5.26  (#71 high, #76 medium)
  js-yaml    3.15.0 -> 3.15.1  (#73 high)

The other two had no override and only needed the lockfile refreshed —
their parents' declared ranges already allow the patched versions:

  brace-expansion  5.0.6 -> 5.0.9  (#68, #70, #72 high; minimatch wants ^5.0.5)
  linkify-it       5.0.1 -> 5.0.2  (#69 high; markdown-it wants ^5.0.1)

No override was added for those two on purpose: pnpm overrides apply
tree-wide, and brace-expansion 5.x replaced the default export with a
named `expand`, so pinning it would break any future consumer on
minimatch 9.x, which imports it as a default.

Every new version still satisfies its consumer's own declared range
(dompurify ^3.3.3, postcss ^8.5.3, js-yaml ^3.13.1), so these are
security floors rather than compatibility ceilings.

Verified: check:format, dedupe --check, check:types (3/3) and build
(both sites) all pass; pnpm audit reports no known vulnerabilities; the
single-copy invariant holds for vue, vitepress and the voidzero theme.

Claude-Session: https://claude.ai/code/session_019kCVtLs1Yho8dzcuzV4Hrn
@vercel

vercel Bot commented Aug 17, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
developer-docs Ready Ready Preview Aug 18, 2026 10:05am
docs Ready Ready Preview Aug 18, 2026 10:05am

Request Review

@coderabbitai

coderabbitai Bot commented Aug 17, 2026

Copy link
Copy Markdown

Review Change Stack

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro Plus

Run ID: 0d3b1fc9-d85d-4bda-94a8-12026bd33f92

📥 Commits

Reviewing files that changed from the base of the PR and between 8ac7543 and 64d08fe.

⛔ Files ignored due to path filters (1)
  • pnpm-lock.yaml is excluded by !**/pnpm-lock.yaml
📒 Files selected for processing (1)
  • pnpm-workspace.yaml

Included review availability: Your plan includes up to 1 review per rolling hour; 0 remain after this review.


📝 Walkthrough

Walkthrough

The workspace updates pinned override versions for dompurify, postcss, and js-yaml in pnpm-workspace.yaml.

Changes

Dependency Override Updates

Layer / File(s) Summary
Update dependency pins
pnpm-workspace.yaml
The overrides update dompurify to 3.4.13, postcss to 8.5.26, and js-yaml to 3.15.1.

Estimated code review effort: 1 (Trivial) | ~2 minutes

Merge Risk: ⚪ Minimal · up to 64d08

This change updates vulnerable transitive dependency versions and matching workspace pins while preserving the existing dependency ranges; the reported checks pass, and no actionable merge-blocking risk remains beyond normal review.

Possibly related PRs

  • makeplane/docs#466: Both PRs modify dependency overrides in pnpm-workspace.yaml, including postcss.

Suggested reviewers: vihar

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title clearly summarizes the main change: updating vulnerable transitive dependencies to resolve Dependabot alerts.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch fix/dependabot-alerts

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

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