Bump @vercel/ncc from 0.38.4 to 0.44.0 - #114
Merged
Merged
Conversation
Recreated on top of current main: the original Dependabot branch was six commits behind and had a conflicting package-lock.json. Also rebuilds dist/, which Dependabot does not regenerate. Only dist/sourcemap-register.js changes, since that shim ships with ncc itself; the bundled index.js is byte-identical. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
BrandonLWhite
force-pushed
the
dependabot/npm_and_yarn/vercel/ncc-0.44.0
branch
from
September 1, 2026 20:04
d9bf530 to
2c66b7e
Compare
BrandonLWhite
approved these changes
Sep 1, 2026
BrandonLWhite
left a comment
Member
There was a problem hiding this comment.
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
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
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Bumps @vercel/ncc from 0.38.4 to 0.44.0.
Release notes
Sourced from @vercel/ncc's releases.
Commits
88be21fchore(deps): Bump actions/checkout from 5 to 6 (#1300)5ea625efeat: read permissions pr.yml (#1323)a1ff315feat: remove npm devDependency (#1332)9e077abfeat: add publishConfig to package.json (#1331)7290aa7feat(ci): upgrade python and remove LLVM LTO flags from MSVC build to fix Nod...a428a10feat: publish using node@24 (#1329)3192116feat: use canonical package repository metadata (#1328)4461a52feat: lock semantic-release publish dependencies (#1327)e00b2defeat: switch npm releases to trusted publishing (OIDC) (#1325)5f8f509feat: delete .github/CODEOWNERS (#1324)Maintainer changes
This version was pushed to npm by GitHub Actions, a new releaser for
@vercel/nccsince your current version.You can trigger a rebase of this PR by commenting
@dependabot rebase.Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR:
@dependabot rebasewill rebase this PR@dependabot recreatewill recreate this PR, overwriting any edits that have been made to it@dependabot show <dependency name> ignore conditionswill show all of the ignore conditions of the specified dependency@dependabot ignore this major versionwill close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)@dependabot ignore this minor versionwill close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)@dependabot ignore this dependencywill close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)