Skip to content

fix(deps): remove brace-expansion@1.1.15 CVE via root dep upgrades#3567

Open
anupamme wants to merge 1 commit into
Kitware:masterfrom
anupamme:fix/brace-expansion-cve
Open

fix(deps): remove brace-expansion@1.1.15 CVE via root dep upgrades#3567
anupamme wants to merge 1 commit into
Kitware:masterfrom
anupamme:fix/brace-expansion-cve

Conversation

@anupamme

Copy link
Copy Markdown

Summary

Fixes the brace-expansion@1.1.15 CVE by removing the four transitive dependency chains that pull it in, rather than using an npm override (as the previous PR #3566 attempted).

Lockfile path Chain Fix
shelljs/node_modules/brace-expansion shelljs@0.8.5 → glob@7 → minimatch@3 Removed shelljs; replaced with Node built-ins
commitizen/node_modules/brace-expansion commitizen@4.3.1 → glob@7.2.3 (pinned exact) Replaced with @commitlint/prompt-cli@19.7.1 (commitizen@4.3.2 still pins glob@7.2.3 — no upgrade path exists)
patch-package/node_modules/brace-expansion patch-package@6.4.7 → rimraf@2.7.1 → glob@7 Upgraded to patch-package@8.0.1 (dropped rimraf entirely)
rimraf/node_modules/brace-expansion @mapbox/node-pre-gyp@1.0.9 → rimraf@3.0.2 → glob@7 Upgraded to @mapbox/node-pre-gyp@2.0.0 (dropped rimraf entirely)

Changes:

  • shelljs removed from dependencies; its three call sites in Utilities/DataGenerator/convert-cli.js replaced with fs.readdirSync, a recursive findAll() helper, and child_process.execSync
  • commitizen replaced with @commitlint/prompt-cli in devDependencies; npm run commit still works (binary name is commit); the config.commitizen block removed
  • patch-package bumped 6.4.7 → 8.0.1; existing patches/dox+1.0.0.patch applies cleanly (verified)
  • @mapbox/node-pre-gyp bumped 1.0.9 → 2.0.0

Test plan

  • node -e "..." confirms zero brace-expansion@1.x entries in the new lockfile
  • npm run build:pre — patch-package 8.0.1 applies dox@1.0.0 patch successfully
  • npm run build — full ESM + UMD build
  • npm test — full test suite
  • npm run commit -- --help — smoke-test @commitlint/prompt-cli launches

🤖 Generated with Claude Code

Remove shelljs (runtime dep) and replace its three call sites in
convert-cli.js with Node built-ins (fs.readdirSync, child_process.execSync).
Replace commitizen with @commitlint/prompt-cli (commitizen@4.3.2 still pins
glob@7.2.3 — no clean upgrade path). Upgrade patch-package 6→8 and
@mapbox/node-pre-gyp 1→2, both of which dropped their rimraf→glob@7 chains.
All four brace-expansion@1.x instances are gone from the lockfile.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
@finetjul
finetjul requested a review from daker July 23, 2026 21:54
@daker

daker commented Jul 24, 2026

Copy link
Copy Markdown
Collaborator

@finetjul is this DataGenerator cli still used/needed ? this PR is full made by AI, Claude even replaced the PR template with his own version. Are we ok with that ? the commit is Co-Authored by Claude ?

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