Skip to content

Bump the npm_and_yarn group across 1 directory with 3 updates - #120

Merged
BrandonLWhite merged 2 commits into
mainfrom
dependabot/npm_and_yarn/npm_and_yarn-d13be5c920
Sep 1, 2026
Merged

Bump the npm_and_yarn group across 1 directory with 3 updates#120
BrandonLWhite merged 2 commits into
mainfrom
dependabot/npm_and_yarn/npm_and_yarn-d13be5c920

Conversation

@dependabot

@dependabot dependabot Bot commented on behalf of github Sep 1, 2026

Copy link
Copy Markdown
Contributor

Bumps the npm_and_yarn group with 3 updates in the / directory: brace-expansion, flatted and undici.

Updates brace-expansion from 1.1.12 to 1.1.18

Release notes

Sourced from brace-expansion's releases.

v1.1.15

  • Backport v5.0.6 change to v1 (#111) 0b09384

juliangruber/brace-expansion@v1.1.14...v1.1.15

Commits

Updates flatted from 3.3.3 to 3.4.4

Commits

Updates undici from 5.29.0 to 6.28.0

Release notes

Sourced from undici's releases.

v6.28.0

⚠️ Security fixes

  • GHSA-m8rv-5g2x-5cg5: a malicious type property on a duck-typed blob-like HTTP/1.1 request body could inject CRLF sequences into the generated content-type header. Undici now coerces and validates the value before adding it to the request. Fixed by 740a0b7c.
  • GHSA-8xcm-r25x-g524: the retry interceptor could expose a stale Content-Length after resuming a partial response, potentially causing downstream response desynchronization, hangs, or corruption. Undici now rejects partial responses whose Content-Length is inconsistent with Content-Range. Fixed by cba3a52a, with corrected fixtures in 4fd5a0c6.
  • GHSA-v3r7-h72x-cjcm: unsanitized domain and unparsed values passed to setCookie() could inject cookie attributes. Undici now validates cookie domains, paths, and unparsed attributes more strictly. Fixed by af748404.

GHSA-4cwx-7wf7-3272 and GHSA-jr45-8vmc-qm54 affect the cache interceptor in Undici v7 and v8; Undici v6 is not in their affected version ranges.

Full Changelog: nodejs/undici@v6.27.0...v6.28.0

v6.27.0

⚠️ Security Release

This release line addresses 4 security advisories.

Action required: Upgrade to undici 6.27.0 or later.

npm install undici@^6.27.0

Note on patched version: the v6 fixes shipped in v6.27.0, not 6.26.0v6.26.0 contains only the chunked-EOF fix (#5308) and the version bump, none of the security fixes below.

The v6 line is not affected by the SOCKS5 advisories (GHSA-vmh5-mc38-953g, GHSA-hm92-r4w5-c3mj), the shared-cache disclosure (GHSA-pr7r-676h-xcf6), or the 8.x-only WebSocket regression (GHSA-38rv-x7px-6hhq).

Summary

Advisory CVE Severity (CVSS) Fixed in Fix commit
GHSA-vxpw-j846-p89q CVE-2026-12151 High (7.5) 6.27.0 b7f252e7
GHSA-p88m-4jfj-68fv CVE-2026-9679 Moderate (5.9) 6.27.0 25efa447
GHSA-g8m3-5g58-fq7m CVE-2026-11525 Low (3.7) 6.27.0 25efa447
GHSA-35p6-xmwp-9g52 CVE-2026-6733 Low (3.7) 6.27.0 f4c31d60

High severity

WebSocket DoS via fragment count bypass — CVE-2026-12151

GHSA-vxpw-j846-p89q · CWE-400, CWE-770 Fix: b7f252e7 Backport WebSocket maxPayloadSize fixes (#5423, backported to v6 in #5428)

A malicious WebSocket server can stream a large number of small or empty continuation frames. Undici enforced a limit on cumulative payload size but did

... (truncated)

Commits
  • 01a912e Bumped v6.28.0 (#5591)
  • 481ecfc Use Node 22 and npm 11 to release
  • 740a0b7 fix: validate blob body content type
  • 2698e49 fix: validate coerced header values for CRLF (#5579)
  • 4fd5a0c test(retry): correct broken content-range fixtures in retry-handler.js
  • cba3a52 fix(retry): reject partial content length mismatch
  • af74840 fix: harden cookie domain, path, and unparsed attribute validation
  • 551138c Bumped v6.27.0 (#5431)
  • b7f252e Backport WebSocket maxPayloadSize fixes to v7.x (#5423) (#5428)
  • 25efa44 fix(cookies): preserve values and parse SameSite strictly
  • Additional commits viewable in compare view
Maintainer changes

This version was pushed to npm by GitHub Actions, a new releaser for undici since your current version.

Install script changes

This version modifies prepare script that runs during installation. Review the package contents before updating.


@dependabot dependabot Bot added dependencies Pull requests that update a dependency file javascript Pull requests that update Javascript code labels Sep 1, 2026
Bumps the npm_and_yarn group with 3 updates in the / directory: [brace-expansion](https://github.com/juliangruber/brace-expansion), [flatted](https://github.com/WebReflection/flatted) and [undici](https://github.com/nodejs/undici).


Updates `brace-expansion` from 1.1.12 to 1.1.18
- [Release notes](https://github.com/juliangruber/brace-expansion/releases)
- [Commits](juliangruber/brace-expansion@v1.1.12...v1.1.18)

Updates `flatted` from 3.3.3 to 3.4.4
- [Commits](WebReflection/flatted@v3.3.3...v3.4.4)

Updates `undici` from 5.29.0 to 6.28.0
- [Release notes](https://github.com/nodejs/undici/releases)
- [Commits](nodejs/undici@v5.29.0...v6.28.0)

---
updated-dependencies:
- dependency-name: brace-expansion
  dependency-version: 1.1.18
  dependency-type: indirect
- dependency-name: flatted
  dependency-version: 3.4.4
  dependency-type: indirect
- dependency-name: undici
  dependency-version: 6.28.0
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
@dependabot
dependabot Bot force-pushed the dependabot/npm_and_yarn/npm_and_yarn-d13be5c920 branch from c0fa4f5 to 80b9345 Compare September 1, 2026 19:17
Dependabot updates package-lock.json but does not regenerate the
committed ncc bundle, so check-dist failed. Rebuilt with `npm run
prepare` to pick up brace-expansion 1.1.18 and undici 6.28.0.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>

@BrandonLWhite BrandonLWhite left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Verified locally: npm ci + npm run prepare reproduce the committed dist/ exactly, all 12 tests pass, and the rebuilt bundle was smoke-tested against test-fixtures/multi-project. All checks green.

@BrandonLWhite
BrandonLWhite merged commit 2d9f130 into main Sep 1, 2026
9 checks passed
@BrandonLWhite
BrandonLWhite deleted the dependabot/npm_and_yarn/npm_and_yarn-d13be5c920 branch September 1, 2026 20:20
BrandonLWhite added a commit that referenced this pull request Sep 1, 2026
… PRs

Summary:
=======
Three Dependabot PRs (#108, #114, #120) were all stuck on a red `check-dist`
because Dependabot only edits `package.json` / `package-lock.json` and never
rebuilds the checked-in `dist/` bundle. #108 was additionally red on `units`:
`@actions/core` 3.0.0 is ESM-only and its `exports` map declares no `require`
condition, so `require("@actions/core")` fails outright with
`ERR_PACKAGE_PATH_NOT_EXPORTED` on any Node version. Taking that bump therefore
required converting the action from CommonJS to ESM, which pairs naturally with
moving the published runtime to node24.

Two latent CI defects surfaced while verifying the above and are fixed here:

- `node-version-file: package.json` never resolved, because the manifest had no
  `engines.node`. setup-node logged "Could not determine node version ...
  Falling back" and silently built `dist/` on the runner's Node 22, so CI was
  not exercising the runtime the action declares.
- The `check-dist` comparison used `git diff`, which cannot see files the build
  newly adds. ncc 0.44 emits `dist/package.json` and renames
  `sourcemap-register.js` to `.cjs`; without the untracked-file check, shipping
  the action with a missing `sourcemap-register.cjs` would have passed CI and
  failed at runtime.

Actions:
=======
- Convert `index.js` and `find-python-projects.js` to ESM named exports and set
  `"type": "module"`.
- Rewrite the test suite to mock via `jest.unstable_mockModule`, since frozen
  ESM namespaces cannot be patched by `jest.spyOn`; run jest under
  `--experimental-vm-modules`. All 12 tests and 4 snapshots pass unchanged,
  confirming the migration is behavior-neutral.
- Bump `@actions/core` to ^3.0.1 (#108) and `@vercel/ncc` to ^0.44.0 (#114).
- Apply the npm_and_yarn security group (#120): brace-expansion 1.1.12 -> 1.1.18
  and 2.1.0 -> 2.1.4, flatted 3.3.3 -> 3.4.4, undici 5.29.0 -> 6.28.0.
- Set `runs.using` to node24 in `action.yml` and add `engines.node: ^24.0.0` so
  `node-version-file: package.json` resolves.
- Add setup-node to the `units` job so unit tests run on the same pinned Node.
- Harden the `check-dist` comparison to also fail on untracked files in `dist/`.
- Repair `npm run lint`, broken since the eslint 10 bump: the flat config
  imported `globals`, `@eslint/js` and `@eslint/eslintrc`, none of which were
  declared and which eslint 10 no longer provides transitively. Declare
  `globals` and `@eslint/js`, and drop the `FlatCompat`/eslintrc shim in favor
  of `js.configs.recommended`.
- Rebuild `dist/`; add `dist/package.json` and `dist/sourcemap-register.cjs`,
  remove the now-stale `dist/sourcemap-register.js`.

BREAKING CHANGE: the action now runs on the node24 runtime and its sources are
ESM. Consumers referencing the action by tag are unaffected, but GitHub Actions
runners must support `runs.using: node24`.

ai-generated: true
BrandonLWhite added a commit that referenced this pull request Sep 1, 2026
… PRs (#121)

* chore!: migrate to ESM, adopt node24 runtime, roll up open Dependabot PRs

Summary:
=======
Three Dependabot PRs (#108, #114, #120) were all stuck on a red `check-dist`
because Dependabot only edits `package.json` / `package-lock.json` and never
rebuilds the checked-in `dist/` bundle. #108 was additionally red on `units`:
`@actions/core` 3.0.0 is ESM-only and its `exports` map declares no `require`
condition, so `require("@actions/core")` fails outright with
`ERR_PACKAGE_PATH_NOT_EXPORTED` on any Node version. Taking that bump therefore
required converting the action from CommonJS to ESM, which pairs naturally with
moving the published runtime to node24.

Two latent CI defects surfaced while verifying the above and are fixed here:

- `node-version-file: package.json` never resolved, because the manifest had no
  `engines.node`. setup-node logged "Could not determine node version ...
  Falling back" and silently built `dist/` on the runner's Node 22, so CI was
  not exercising the runtime the action declares.
- The `check-dist` comparison used `git diff`, which cannot see files the build
  newly adds. ncc 0.44 emits `dist/package.json` and renames
  `sourcemap-register.js` to `.cjs`; without the untracked-file check, shipping
  the action with a missing `sourcemap-register.cjs` would have passed CI and
  failed at runtime.

Actions:
=======
- Convert `index.js` and `find-python-projects.js` to ESM named exports and set
  `"type": "module"`.
- Rewrite the test suite to mock via `jest.unstable_mockModule`, since frozen
  ESM namespaces cannot be patched by `jest.spyOn`; run jest under
  `--experimental-vm-modules`. All 12 tests and 4 snapshots pass unchanged,
  confirming the migration is behavior-neutral.
- Bump `@actions/core` to ^3.0.1 (#108) and `@vercel/ncc` to ^0.44.0 (#114).
- Apply the npm_and_yarn security group (#120): brace-expansion 1.1.12 -> 1.1.18
  and 2.1.0 -> 2.1.4, flatted 3.3.3 -> 3.4.4, undici 5.29.0 -> 6.28.0.
- Set `runs.using` to node24 in `action.yml` and add `engines.node: ^24.0.0` so
  `node-version-file: package.json` resolves.
- Add setup-node to the `units` job so unit tests run on the same pinned Node.
- Harden the `check-dist` comparison to also fail on untracked files in `dist/`.
- Repair `npm run lint`, broken since the eslint 10 bump: the flat config
  imported `globals`, `@eslint/js` and `@eslint/eslintrc`, none of which were
  declared and which eslint 10 no longer provides transitively. Declare
  `globals` and `@eslint/js`, and drop the `FlatCompat`/eslintrc shim in favor
  of `js.configs.recommended`.
- Rebuild `dist/`; add `dist/package.json` and `dist/sourcemap-register.cjs`,
  remove the now-stale `dist/sourcemap-register.js`.

BREAKING CHANGE: the action now runs on the node24 runtime and its sources are
ESM. Consumers referencing the action by tag are unaffected, but GitHub Actions
runners must support `runs.using: node24`.

ai-generated: true

* chore: declare @jest/globals and match sibling repos' test invocation

Summary:
=======
The ESM test suite imports `jest`, `describe`, `it`, `expect` and `beforeEach`
from `@jest/globals`, but that package was only reachable transitively through
`jest`. That is the same undeclared-import bug class that had already broken
`npm run lint` on main, so declare it explicitly before it bites.

Also aligns the test script with the sibling action repos
(pipx-install-action, python-test-matrix-generator-action), which additionally
silences the VM-modules ExperimentalWarning.

Actions:
=======
- Add `@jest/globals` ^30.4.2 to devDependencies.
- Change the `test` script to
  `NODE_OPTIONS=--experimental-vm-modules NODE_NO_WARNINGS=1 jest`.

ai-generated: true
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

dependencies Pull requests that update a dependency file javascript Pull requests that update Javascript code

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant