Skip to content

fix(deps): address Dependabot security vulnerabilities#761

Merged
BYK merged 7 commits intomasterfrom
fix/dependency-vulnerabilities
Feb 27, 2026
Merged

fix(deps): address Dependabot security vulnerabilities#761
BYK merged 7 commits intomasterfrom
fix/dependency-vulnerabilities

Conversation

@BYK
Copy link
Member

@BYK BYK commented Feb 26, 2026

Summary

Fixes 7 open Dependabot alerts by eliminating vulnerable transitive dependencies where possible, and using pnpm.overrides to force patched versions otherwise.

Changes

Removed legacy dev dependencies (eliminating entire vulnerable sub-trees):

  • @sentry/typescript — only used for its tsconfig.json; dragged in tslintminimatch 3.x (CVE-2026-26996). Settings inlined directly into tsconfig.build.json.
  • rimraf + @types/rimraf — single call site in files.ts replaced with fs.rm() (Node 22 built-in); @types/rimraf was pulling @types/globglob@13minimatch 10.x (vulnerable).

Added pnpm.overrides to force patched transitive deps:

Verification

  • pnpm build: ✓
  • pnpm lint: ✓
  • pnpm test: 884 passing (6 pre-existing e2e failures unrelated to this change — require EDITOR env var for git commits)

BYK added 2 commits February 26, 2026 21:36
- Remove `rimraf`, `@types/rimraf`, and `@sentry/typescript` dev deps:
  - Replace `rimraf()` call in `files.ts` with Node 22 built-in `fs.rm()`
  - Update `clean` script to use `rm -rf` directly
  - Inline `@sentry/typescript/tsconfig.json` settings into `tsconfig.build.json`
    to eliminate the `tslint` transitive dependency tree
- Add `pnpm.overrides` to force patched versions of vulnerable transitive deps:
  - `minimatch >= 10.2.1` (CVE-2026-26996, High, ReDoS — alerts #111-114)
  - `ajv@<6.14.0 → ^6.14.0` (CVE-2025-69873, Medium, ReDoS — alert #110)
- Add `devalue >= 5.6.3` override in `docs/` (GHSA-33hq/8qm3, Low — alerts #108-109)
Documents gotchas discovered during this work:
- pnpm overrides with >= can cross major versions (use ^ to constrain)
- pnpm version-range override keys don't force already-compatible resolutions
- tsconfig.build.json is now self-contained (no @sentry/typescript base)
@BYK BYK marked this pull request as ready for review February 27, 2026 10:44
@github-actions
Copy link
Contributor

github-actions bot commented Feb 27, 2026

PR Preview Action v1.8.1
Preview removed because the pull request was closed.
2026-02-27 11:41 UTC

- Add `force: true` to `fs.rm()` to match `rimraf`'s silent-ENOENT behavior
  and align with the established pattern in test files
- Constrain `minimatch` override to `^10.2.1` (was `>=10.2.1`) to prevent
  accidental resolution to a future major version with breaking API changes
Same pattern as minimatch/ajv overrides — use ^ not >= to avoid
accidentally pulling a future breaking major version.
Copy link
Contributor

@cursor cursor bot left a comment

Choose a reason for hiding this comment

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

Cursor Bugbot has reviewed your changes and found 2 potential issues.

Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, enable autofix in the Cursor dashboard.

- Remove orphaned `diff` and `@isaacs/brace-expansion` pnpm overrides:
  `diff` was only needed by tslint (removed with @sentry/typescript),
  `@isaacs/brace-expansion` is no longer in the resolved tree since
  minimatch@10.2.4 uses the unscoped `brace-expansion` package
- Remove off-topic lore entries from AGENTS.md (React useState, TypeScript
  strict mode, Kubernetes) — generic seed content unrelated to this codebase
@BYK BYK merged commit 98990d0 into master Feb 27, 2026
18 checks passed
@BYK BYK deleted the fix/dependency-vulnerabilities branch February 27, 2026 11: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