Skip to content

fix(deps): upgrade dependencies to resolve Dependabot security alerts#114

Merged
emmanuelnk merged 3 commits into
mainfrom
fix/dependabot-security-alerts
May 13, 2026
Merged

fix(deps): upgrade dependencies to resolve Dependabot security alerts#114
emmanuelnk merged 3 commits into
mainfrom
fix/dependabot-security-alerts

Conversation

@emmanuelnk
Copy link
Copy Markdown
Owner

Problem

29 open Dependabot security alerts across the monorepo, ranging from low to critical severity. All were transitive dependency vulnerabilities — nothing directly declared in our package manifests was itself vulnerable.

Solution

Upgraded direct dependencies in both the root and docs packages to versions that pull in patched transitive versions. Also ran targeted pnpm update for a handful of transitive packages (fast-uri, flatted, lodash, picomatch) where pnpm had locked to old versions even though the semver range already permitted the patched release.

What changed

Root package.json:

  • @changesets/cli: 2.29.8 → 2.31.0 — fixes picomatch 2.x (via updated @manypkg/get-packages which dropped globby@11)
  • @commitlint/cli + config-conventional: 19.8.1 → 21.0.1 — fixes fast-uri (via newer ajv)
  • @typescript-eslint/eslint-plugin + parser + typescript-eslint: 8.54.0 → 8.59.3 — fixes minimatch 9.x and picomatch 4.x chains (switches to minimatch@10 internally)
  • eslint: 9.23.0 → 9.39.4 — fixes minimatch 3.x (via updated @eslint/config-array)
  • eslint-plugin-jest: 28.11.0 → 29.15.2 — picks up the updated @typescript-eslint/utils
  • lint-staged: 15.5.2 → 17.0.4 — fixes yaml and picomatch 4.x
  • ts-jest: 29.4.6 → 29.4.9 — fixes handlebars (critical/high JS injection alerts)

docs/package.json:

  • @docusaurus/core + preset-classic + module-type-aliases/tsconfig/types: 3.9.2 → 3.10.1 — fixes @babel/plugin-transform-modules-systemjs, follow-redirects, postcss, path-to-regexp, qs
  • typedoc: → 0.28.19 — fixes markdown-it (ReDoS) and yaml (stack overflow)
  • typedoc-plugin-markdown: → 4.11.0 — required for typedoc 0.28.19 compatibility

Lockfile-only (pnpm update):

  • fast-uri: 3.1.0 → 3.1.2
  • flatted: 3.3.3 → 3.4.2
  • lodash: 4.17.23 → 4.18.1
  • picomatch 2.x: 2.3.1 → 2.3.2

Remaining alert (1)

serialize-javascript@6.0.2 via copy-webpack-plugin@11.0.0@docusaurus/bundler@3.10.1. The fix requires copy-webpack-plugin@14 (which uses serialize-javascript@^7.0.3), but @docusaurus/bundler pins ^11.0.0 in their latest release. Nothing we can do without an upstream docusaurus fix or an override.

Test plan

  • All 302 tests pass (pnpm test) across packages/lib, packages/cli, and packages/actions
  • pnpm audit reduced from 29 open alerts to 1 (the blocked docusaurus one above)
  • Pre-commit hook ran and passed (lint-staged + full test suite)

Upgrades direct dependencies to pull in patched transitive versions,
eliminating 28 of 29 open Dependabot alerts. The one remaining alert
(serialize-javascript via copy-webpack-plugin@11 in @docusaurus/bundler)
has no upstream fix available in the current docusaurus ecosystem.

Root package:
- @changesets/cli: 2.29.8 -> 2.31.0 (fixes picomatch 2.x via updated @manypkg)
- @commitlint/cli + config-conventional: 19.8.1 -> 21.0.1 (fixes fast-uri)
- @typescript-eslint/eslint-plugin + parser + typescript-eslint: 8.54.0 -> 8.59.3
- eslint: 9.23.0 -> 9.39.4 (fixes minimatch via @eslint/config-array)
- eslint-plugin-jest: 28.11.0 -> 29.15.2
- lint-staged: 15.5.2 -> 17.0.4 (fixes yaml, picomatch 4.x)
- ts-jest: 29.4.6 -> 29.4.9 (fixes handlebars)

Docs package:
- @Docusaurus core/preset-classic/types: 3.9.2 -> 3.10.1
- typedoc: -> 0.28.19 (fixes markdown-it, yaml)
- typedoc-plugin-markdown: -> 4.11.0

Lockfile-only updates (pnpm update):
- fast-uri: 3.1.0 -> 3.1.2
- flatted: 3.3.3 -> 3.4.2
- lodash: 4.17.23 -> 4.18.1
- picomatch 2.x: 2.3.1 -> 2.3.2
@vercel
Copy link
Copy Markdown

vercel Bot commented May 13, 2026

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

Project Deployment Actions Updated (UTC)
github-actions-workflow-ts Ready Ready Preview, Comment May 13, 2026 7:04pm

@github-actions github-actions Bot added the bug Something isn't working label May 13, 2026
TypeScript 6 removed captureStackTrace from ErrorConstructor (it is a
V8/Node extension). The docs build now uses TS6 via the updated typedoc
dependency, causing a type error when compiling packages/lib. Use a type
assertion at the call site to satisfy both TS5 and TS6.
@emmanuelnk emmanuelnk merged commit 3eec223 into main May 13, 2026
11 checks passed
@emmanuelnk emmanuelnk deleted the fix/dependabot-security-alerts branch May 13, 2026 19:05
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

bug Something isn't working

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant