Skip to content

refactor: Bump npm from 11.18.0 to 11.21.1, brace-expansion from 5.0.7 to 5.0.12 and @babel/core from 7.24.8 to 7.29.7 - #965

Merged
mtrezza merged 1 commit into
parse-community:masterfrom
mtrezza:refactor/npm-11.21.1
Oct 28, 2026
Merged

mtrezza merged 1 commit into
parse-community:masterfrom
mtrezza:refactor/npm-11.21.1

Conversation

@mtrezza

@mtrezza mtrezza commented Oct 27, 2026 •

Copy link
Copy Markdown
Member

Security

This lock-file-only change updates three development dependencies to address open Dependabot alerts. It was generated with npm update npm brace-expansion @babel/core --ignore-scripts --package-lock-only. npm prints "up to date", but the lock file changes.

Package From To Parent
npm 11.18.0 11.21.1 @semantic-release/npm 13.1.5 (^11.6.2)
brace-expansion 5.0.7 5.0.12 minimatch 10.2.5 (^5.0.5)
@babel/core 7.24.8 7.29.7 istanbul-lib-instrument 6.0.3 (via nyc)

All three packages are development-only: npm ls --omit=dev does not list any of them.

Most alerts concern copies bundled inside the npm tarball (inBundle entries). Those copies can only change through an npm release, so npm itself is updated. The 13 bundled entries in the new lock file match the npm 11.21.1 tarball exactly.

This change addresses these open alerts:

Alert Package (lock entry) Advisory Severity Vulnerable range Version after this change
alert 473 postcss-selector-parser (bundled in npm) GHSA-rj75-hqrm-r3gf medium >= 7.0.0, < 7.1.6 7.1.6
alert 455 undici (bundled in npm) GHSA-r53p-7pc4-xj5r low < 6.28.1 6.29.0
alert 426 undici (bundled in npm) GHSA-m8rv-5g2x-5cg5 medium < 6.28.0 6.29.0
alert 427 undici (bundled in npm) GHSA-8xcm-r25x-g524 medium < 6.28.0 6.29.0
alert 428 undici (bundled in npm) GHSA-v3r7-h72x-cjcm medium < 6.28.0 6.29.0
alert 460 http-cache-semantics (bundled in npm) GHSA-ch52-4w7c-c8xp high <= 4.2.0 4.3.0 (see note)
alert 458 ip-address (bundled in npm) GHSA-j6r3-76f7-8jcv medium <= 10.7.0 10.7.2
alert 442 ip-address (bundled in npm) GHSA-rpw4-54j3-4h4q medium <= 10.5.0 10.7.2
alert 439 ip-address (bundled in npm) GHSA-2vr4-cq9g-pvrc medium >= 10.2.0, <= 10.5.0 10.7.2
alert 425 ip-address (bundled in npm) GHSA-mwp4-54f8-5fhr high <= 10.3.0 10.7.2
alert 418 ip-address (bundled in npm) GHSA-4xrf-jv44-h6hh medium >= 10.1.1, <= 10.2.1 10.7.2
alert 417 ip-address (bundled in npm) GHSA-22jq-vg5j-6vgg medium >= 10.1.1, <= 10.2.0 10.7.2
alert 456 brace-expansion (top level and bundled in npm) GHSA-q2hr-2g5m-vwhr medium >= 4.0.0, < 5.0.12 5.0.12
alert 398 @babel/core GHSA-4x5r-pxfx-6jf8 low <= 7.29.0 (first patched 7.29.6) 7.29.7

Note on alert 460: GHSA-ch52-4w7c-c8xp is disputed and lists no patched version. The alert closes only because http-cache-semantics 4.3.0 is outside the listed range <= 4.2.0. No fix has been confirmed.

This change also resolves these auto-dismissed alerts:

These advisories still match after this change:

  • alert 472 (open, undici GHSA-xjj6-f33q-929c, high, >= 6.23.0, < 6.29.1) and alert 471 (auto-dismissed, undici GHSA-4qv8-2p9j-2685, >= 6.5.0, < 6.29.1).
    • The match is the undici 6.29.0 bundled in npm 11.21.1.
    • No npm 11.x release bundles undici 6.29.1 or newer: 11.21.1 is the latest 11.x.
    • npm 12 is outside the ^11.6.2 range of @semantic-release/npm.
  • GHSA-9fm3-97px-rjf6 (medium), GHSA-qrxm-fqhp-jwvm (high) and GHSA-2m5v-pch6-74hx (high).
    • These are three undici advisories for < 6.29.1, published on 2026-10-27.
    • This repository has no alerts for them yet.
    • They match the bundled undici 6.29.0 just as they match the current 6.27.0, for the same reason.
    • The top-level undici 6.29.1 and the production undici 7.30.1 are outside their ranges.
  • alert 468 (auto-dismissed, ip-address GHSA-rxp7-6hxx-x8q5, <= 10.7.3).
    • The match is the ip-address 10.7.2 bundled in npm 11.21.1, the latest 11.x.
    • The production ip-address 10.7.4 is not affected.
  • alert 414 (auto-dismissed, tar GHSA-r292-9mhp-454m, <= 7.5.20).
    • The bundled tar moves from 7.5.19 to 7.5.22.
    • The top-level tar 7.5.20 still matches. It is outside this change.

Lock File Scope

Every changed, added or removed entry is inside the dependency tree of npm, brace-expansion or @babel/core:

  • npm 11.18.0 → 11.21.1, and 13 entries bundled in it:
    • undici 6.27.0 → 6.29.0
    • ip-address 10.2.0 → 10.7.2
    • http-cache-semantics 4.2.0 → 4.3.0
    • postcss-selector-parser 7.1.4 → 7.1.6
    • brace-expansion 5.0.7 → 5.0.12
    • tar 7.5.19 → 7.5.22
    • @npmcli/arborist 9.9.0 → 9.9.3
    • @npmcli/config 10.12.0 → 10.14.0
    • libnpmdiff 8.1.11 → 8.1.14
    • libnpmexec 10.3.1 → 10.3.4
    • libnpmfund 7.0.25 → 7.0.28
    • libnpmpack 9.1.11 → 9.1.15
    • libnpmpublish 11.2.0 → 11.2.1
  • brace-expansion (top level) 5.0.7 → 5.0.12.
  • @babel/core 7.24.8 → 7.29.7, with its own dependency tree:
    • @babel/* packages move to 7.29.x.
    • @jridgewell/gen-mapping 0.3.13, @jridgewell/resolve-uri 3.1.2, @jridgewell/sourcemap-codec 1.6.0 and @jridgewell/trace-mapping 0.3.31.
    • @jridgewell/remapping 2.3.5 replaces @ampproject/remapping.
    • jsesc 2.5.2 → 3.1.0, which @babel/generator 7.29.8 requires.
    • browserslist 4.29.4 → 4.29.5, baseline-browser-mapping 2.11.32 → 2.11.34 and electron-to-chromium 1.5.464 → 1.5.466.
    • lru-cache and yallist only gain a license field.
    • Six Babel helpers that newer Babel no longer uses are removed, along with @jridgewell/set-array and a nested globals 11.12.0.

Usage in This Repository

  • npm
    • The release job runs semantic-release with @semantic-release/npm and npmPublish: false. With that setting the plugin skips npm authentication, publishing and dist-tags.
    • The bundled npm only runs npm version <version> --no-git-tag-version --allow-same-version in the prepare step of a release. It is called through execa with preferLocal, so it resolves to node_modules/.bin/npm.
    • None of the npm changes below affect npm version. No CI step and no npm script used in CI invokes npm.
  • brace-expansion
    • It is loaded through minimatch 10.2.5 by ESLint and typescript-eslint in the Lint job, and by glob (jasmine) in the Tests job. nodemon and nyc (test-exclude) also load it.
    • Releases 5.0.8 to 5.0.12 cap expansion at 4,000,000 characters of output, a nesting depth of 1,000 and 1,000 {a},b} rewrites. Above a cap, the expansion is truncated instead of exhausting memory, stack or CPU.
    • The two versions were compared through minimatch 10.2.5 (braceExpand, Minimatch#makeRe, and matching against project paths). The comparison covered 27 project patterns: ESLint files/ignores and defaults, jasmine **/*[sS]pec.ts, nyc and test-exclude defaults, and the nodemon extensions. It also covered 27 malformed inputs such as {a,b, a}, {}, {a},b}, escaped braces and invalid ranges.
    • Results were identical for every project pattern and every malformed input. They differ only for inputs beyond the new caps, for example 200 {a},b} rewrites, which took 9.5 s with 5.0.7 and 75 ms with 5.0.12.
  • @babel/core
    • @babel/core and @babel/parser are only used by istanbul-lib-instrument through nyc, which only runs in the coverage script. No workflow runs that script (CI runs npm run lint and npm test), so CI does not load them.
    • @babel/code-frame is also loaded by parse-json (through read-pkg and cosmiconfig) in the release job, where it only formats JSON parse errors.
  • Engines
    • brace-expansion 5.0.8 and later declare engines.node as 20 || >=22, while this repository's engines.node still includes Node 18.20.4.
    • The package is development-only and CI runs Node 22 only, so this does not affect consumers or CI.
    • The engines ranges of npm 11 (^20.17.0 || >=22.9.0) and @babel/core (>=6.9.0) are unchanged.

Changes

npm 11.18.0 → 11.21.1 (including the bundled @npmcli/arborist, @npmcli/config, libnpmpack and libnpmpublish releases):

brace-expansion 5.0.7 → 5.0.12:

@babel/core 7.24.8 → 7.29.7:

  • The security fix for GHSA-4x5r-pxfx-6jf8 (arbitrary file read via a sourceMappingURL comment) is "Improve input source map handling" in 7.29.6 ([7.x packport]Improve input source map handling babel/babel#18001).
  • 7.29.7 re-releases all packages with npm provenance attestations.
  • Several packages in the tree resolve to newer patch releases than @babel/core: @babel/generator 7.29.8, @babel/traverse and @babel/helpers 7.29.10, and @babel/parser, @babel/types and @babel/helper-string-parser 7.29.11. Their release notes up to 7.29.11 are included below.
  • No entry in this range is a breaking change. The release notes list the following entries for the packages in this lock file's Babel tree. Entries for Babel plugins and presets that this repository does not install are omitted.
Babel 7.24.9 to 7.29.11 entries for the installed packages

Breaking Changes

None

Code Changes Required

None. Only package-lock.json changes; package.json and the code are unchanged.

Summary by CodeRabbit

  • Chores
    • This update contains no changes to user-facing features or behavior. There are no new capabilities, bug fixes, or interface changes to highlight in the release notes.

…7 to 5.0.12 and @babel/core from 7.24.8 to 7.29.7
@parse-github-assistant

Copy link
Copy Markdown

🚀 Thanks for opening this pull request! We appreciate your effort in improving the project. Please let us know once your pull request is ready for review.

Tip

  • Keep pull requests small. Large PRs will be rejected. Break complex features into smaller, incremental PRs.
  • Use Test Driven Development. Write failing tests before implementing functionality. Ensure tests pass.
  • Group code into logical blocks. Add a short comment before each block to explain its purpose.
  • We offer conceptual guidance. Coding is up to you. PRs must be merge-ready for human review.
  • Our review focuses on concept, not quality. PRs with code issues will be rejected. Use an AI agent.
  • Human review time is precious. Avoid review ping-pong. Inspect and test your AI-generated code.

Note

Please respond to review comments from AI agents just like you would to comments from a human reviewer. Let the reviewer resolve their own comments, unless they have reviewed and accepted your commit, or agreed with your explanation for why the feedback was incorrect.

Caution

Pull requests must be written using an AI agent with human supervision. Pull requests written entirely by a human will likely be rejected, because of lower code quality, higher review effort and the higher risk of introducing bugs. Please note that AI review comments on this pull request alone do not satisfy this requirement. Our CI and AI review are safeguards, not development tools. If many issues are flagged, rethink your development approach. Invest more effort in planning and design rather than using review cycles to fix low-quality code.

@coderabbitai

coderabbitai Bot commented Oct 27, 2026 •

Copy link
Copy Markdown

Review in Change Stack →

No actionable comments were generated in the recent review.

Recent review info
Run configuration
  • Source mode: Auto
  • Repository: Unavailable
  • Branch: Unavailable
  • File: No configuration file from this repository applied
  • Commit: Unavailable
  • Layers: Organization UI
  • Review profile: CHILL
  • Plan: Essentials
  • Run ID: 2db9e145-4c8d-4a9d-adcb-45d436e4a40c
Commits

Reviewing files that changed from the base of the PR and between a60b259 and fa5b475.

Files selected for processing: 1
  • package-lock.json

Included review availability: This review used your included allowance. Your plan provides up to 5 included reviews per hour; 3 remain after this review.

Walkthrough

The lockfile updates Babel, source-map, browser-data, npm, and related dependency records. It adds and removes dependency entries and adjusts package versions, requirements, and metadata.

Changes: Dependency lockfile refresh

Layer / File(s) Summary
Babel and source-map dependency graph
package-lock.json
Babel and source-map package records and dependency requirements are updated. The graph adds @babel/helper-globals and @jridgewell/remapping, and removes entries including @ampproject/remapping and @jridgewell/set-array.
Browser data and related packages
package-lock.json
Browser-data packages, brace-expansion, jsesc, and other dependency records receive version or metadata updates.
npm and bundled dependencies
package-lock.json
npm changes from 11.18.0 to 11.21.1. Its dependency requirements and bundled package records are updated.

Priority: Low

Estimated code review effort: 2 (Simple) | ~10 minutes

Suggested reviewers: semantic-release-bot

Merge Risk: Minimal · up to fa5b4

No actionable regression from this lockfile update remains identified; it is mergeable after normal checks.

Pre-merge checks: Passed 6
Check name Status Explanation
Description Check Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check Passed The title begins with the allowed prefix "refactor:" and uses a capitalized first word. It accurately describes the dependency version updates in the pull request.
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.
Security Check Passed The pull request changes only package-lock.json. The root dependencies and devDependency declarations remain unchanged. All changed packages are marked dev-only, and resolved artifacts use the npm reg…
Engage In Review Feedback Passed No review feedback required engagement. The supplied review data reports no returned review threads and zero actionable findings in the current review.
Full details: Security Check

Explanation

The pull request changes only package-lock.json. The root dependencies and devDependency declarations remain unchanged. All changed packages are marked dev-only, and resolved artifacts use the npm registry with integrity hashes. Security-relevant versions increase, including @babel/core 7.24.8→7.29.7, brace-expansion 5.0.7→5.0.12, and npm 11.18.0→11.21.1. Bundled npm copies also update undici, ip-address, postcss-selector-parser, http-cache-semantics, and tar. No new install-script flag, non-registry source, or application code pattern was introduced.

Finishing Touches
🧪 Generate unit tests (beta)
  • Create a new PR
  • Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

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

@mtrezza
mtrezza merged commit 0e632cd into parse-community:master Oct 28, 2026
4 checks passed
@mtrezza
mtrezza deleted the refactor/npm-11.21.1 branch October 28, 2026 11:24
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