Skip to content

[builders]: remove getSpawnOptions usage#14604

Merged
LukeSheard merged 5 commits into
mainfrom
01-13-_builders_remove_getspawnoptions_usage
Jan 14, 2026
Merged

[builders]: remove getSpawnOptions usage#14604
LukeSheard merged 5 commits into
mainfrom
01-13-_builders_remove_getspawnoptions_usage

Conversation

@LukeSheard
Copy link
Copy Markdown
Contributor

Overview

This is a re-apply of #14176 without the changes to remove getSpawnOptions from the build-utils package due to the breaking changes that happened.

Background

The vercel environment now populates the right tools into the toolchain when subprocess are spawned in user-space. This means that builders now no longer need to think about the toolchains they need to provision.

In this case we no longer re-create $PATH to include the node version which is needed for the build.

@changeset-bot
Copy link
Copy Markdown

changeset-bot Bot commented Jan 13, 2026

🦋 Changeset detected

Latest commit: d0540f1

The changes in this PR will be included in the next version bump.

This PR includes changesets to release 17 packages
Name Type
@vercel/build-utils Patch
@vercel/static-build Patch
@vercel/backends Patch
@vercel/hydrogen Patch
@vercel/redwood Patch
@vercel/remix-builder Patch
@vercel/next Patch
@vercel/node Patch
vercel Patch
@vercel/client Patch
@vercel/elysia Patch
@vercel/express Patch
@vercel/fastify Patch
@vercel/gatsby-plugin-vercel-builder Patch
@vercel/h3 Patch
@vercel/hono Patch
@vercel/nestjs Patch

Not sure what this means? Click here to learn what changesets are.

Click here if you're a maintainer who wants to add another changeset to this PR

Copy link
Copy Markdown
Contributor Author

This stack of pull requests is managed by Graphite. Learn more about stacking.

@github-actions
Copy link
Copy Markdown
Contributor

github-actions Bot commented Jan 13, 2026

📦 CLI Tarball Ready

The Vercel CLI tarball for this PR is now available!

Quick Test

You can test this PR's CLI directly by running:

npx https://vercel-b0vsd32ch.vercel.sh/tarballs/vercel.tgz --help

Use in vercel.json

To use this CLI version in your project builds, add to your vercel.json:

{
  "build": {
    "env": {
      "VERCEL_CLI_VERSION": "vercel@https://vercel-b0vsd32ch.vercel.sh/tarballs/vercel.tgz"
    }
  }
}

@github-actions
Copy link
Copy Markdown
Contributor

github-actions Bot commented Jan 13, 2026

🧪 Test Strategy

Comparing: ba4a3c8d0540f1 (view diff)

Strategy: Code changed outside of a package - running ALL tests

⚠️ All tests will run because global code changes could impact all packages.

Affected packages - 41 (100%)
  1. @vercel-internals/get-package-json
  2. @vercel/backends
  3. @vercel/build-utils
  4. @vercel/cervel
  5. @vercel/cli-auth
  6. @vercel/client
  7. @vercel/config
  8. @vercel/detect-agent
  9. @vercel/edge
  10. @vercel/elysia
  11. @vercel/error-utils
  12. @vercel/express
  13. @vercel/fastify
  14. @vercel/firewall
  15. @vercel/frameworks
  16. @vercel/fs-detectors
  17. @vercel/functions
  18. @vercel/gatsby-plugin-vercel-builder
  19. @vercel/go
  20. @vercel/h3
  21. @vercel/hono
  22. @vercel/hydrogen
  23. @vercel/introspection
  24. @vercel/koa
  25. @vercel/nestjs
  26. @vercel/next
  27. @vercel/node
  28. @vercel/oidc
  29. @vercel/oidc-aws-credentials-provider
  30. @vercel/python
  31. @vercel/python-analysis
  32. @vercel/redwood
  33. @vercel/related-projects
  34. @vercel/remix-builder
  35. @vercel/routing-utils
  36. @vercel/ruby
  37. @vercel/rust
  38. @vercel/static-build
  39. @vercel/static-config
  40. examples
  41. vercel

Results

  • Unit tests: All affected packages will run unit tests
  • E2E tests: All e2e tests will run
  • Type checks: All affected packages will run type checks

This comment is automatically generated based on the affected testing strategy

Comment thread packages/static-build/src/index.ts Outdated
Comment thread packages/remix/src/prepare-cache.ts Outdated
Comment thread packages/backends/src/utils.ts Outdated
Copy link
Copy Markdown
Contributor

@marc-vercel marc-vercel left a comment

Choose a reason for hiding this comment

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

Code wise LGTM - Can you add in the PR what we talked privately: which change caused the previous revert and how we are avoiding the same problem now?

LukeSheard and others added 3 commits January 13, 2026 21:08
… runPackageJsonScript instead of being wrapped in a SpawnOptions object, causing custom environment variables to be lost

Co-authored-by: LukeSheard <luke@phillips-sheard.com>
@LukeSheard LukeSheard merged commit 92fe2df into main Jan 14, 2026
388 of 391 checks passed
@LukeSheard LukeSheard deleted the 01-13-_builders_remove_getspawnoptions_usage branch January 14, 2026 12:00
tknickman pushed a commit that referenced this pull request Jan 14, 2026
This PR was opened by the [Changesets
release](https://github.com/changesets/action) GitHub action. When
you're ready to do a release, you can merge this and the packages will
be published to npm automatically. If you're not ready to do a release
yet, that's fine, whenever you add more changesets to main, this PR will
be updated.


# Releases
## @vercel/backends@0.0.21

### Patch Changes

- Remove getSpawnOptions
([#14604](#14604))

-   Updated dependencies \[]:
    -   @vercel/introspection@0.0.8

## @vercel/build-utils@13.2.8

### Patch Changes

- Remove getSpawnOptions
([#14604](#14604))

## vercel@50.3.3

### Patch Changes

- Updating validation for custom deployment ids
([#14594](#14594))

- [cli] Add validation for CRON_SECRET environment variable during build
to detect invalid HTTP header characters
([#14576](#14576))

- Updated dependencies
\[[`92fe2dfd81c617fb733fec95a2547024d120a408`](92fe2df)]:
    -   @vercel/build-utils@13.2.8
    -   @vercel/static-build@2.8.19
    -   @vercel/backends@0.0.21
    -   @vercel/hydrogen@1.3.5
    -   @vercel/redwood@2.4.8
    -   @vercel/remix-builder@5.5.8
    -   @vercel/next@4.15.14
    -   @vercel/node@5.5.20
    -   @vercel/elysia@0.1.19
    -   @vercel/express@0.1.26
    -   @vercel/fastify@0.1.22
    -   @vercel/go@3.3.0
    -   @vercel/h3@0.1.28
    -   @vercel/hono@0.2.22
    -   @vercel/koa@0.1.2
    -   @vercel/nestjs@0.2.23
    -   @vercel/python@6.1.6
    -   @vercel/ruby@2.2.4
    -   @vercel/rust@1.0.4

## @vercel/client@17.2.22

### Patch Changes

- Updated dependencies
\[[`92fe2dfd81c617fb733fec95a2547024d120a408`](92fe2df)]:
    -   @vercel/build-utils@13.2.8

## @vercel/elysia@0.1.19

### Patch Changes

- Updated dependencies
\[[`92fe2dfd81c617fb733fec95a2547024d120a408`](92fe2df)]:
    -   @vercel/node@5.5.20

## @vercel/express@0.1.26

### Patch Changes

- Updated dependencies
\[[`92fe2dfd81c617fb733fec95a2547024d120a408`](92fe2df)]:
    -   @vercel/node@5.5.20

## @vercel/fastify@0.1.22

### Patch Changes

- Updated dependencies
\[[`92fe2dfd81c617fb733fec95a2547024d120a408`](92fe2df)]:
    -   @vercel/node@5.5.20

## @vercel/functions@3.3.6

### Patch Changes

- Fix `TimeoutNegativeWarning` in Node.js v24 when process runs longer
than 15 minutes by ensuring minimum wait time of 100ms
([#14491](#14491))

## @vercel/gatsby-plugin-vercel-builder@2.0.118

### Patch Changes

- Updated dependencies
\[[`92fe2dfd81c617fb733fec95a2547024d120a408`](92fe2df)]:
    -   @vercel/build-utils@13.2.8

## @vercel/h3@0.1.28

### Patch Changes

- Updated dependencies
\[[`92fe2dfd81c617fb733fec95a2547024d120a408`](92fe2df)]:
    -   @vercel/node@5.5.20

## @vercel/hono@0.2.22

### Patch Changes

- Updated dependencies
\[[`92fe2dfd81c617fb733fec95a2547024d120a408`](92fe2df)]:
    -   @vercel/node@5.5.20

## @vercel/hydrogen@1.3.5

### Patch Changes

- Remove getSpawnOptions
([#14604](#14604))

## @vercel/koa@0.1.2

### Patch Changes

- Updated dependencies
\[[`92fe2dfd81c617fb733fec95a2547024d120a408`](92fe2df)]:
    -   @vercel/node@5.5.20

## @vercel/nestjs@0.2.23

### Patch Changes

- Updated dependencies
\[[`92fe2dfd81c617fb733fec95a2547024d120a408`](92fe2df)]:
    -   @vercel/node@5.5.20

## @vercel/next@4.15.14

### Patch Changes

- Remove getSpawnOptions
([#14604](#14604))

## @vercel/node@5.5.20

### Patch Changes

- Remove getSpawnOptions
([#14604](#14604))

- Updated dependencies
\[[`92fe2dfd81c617fb733fec95a2547024d120a408`](92fe2df)]:
    -   @vercel/build-utils@13.2.8

## @vercel/redwood@2.4.8

### Patch Changes

- Remove getSpawnOptions
([#14604](#14604))

## @vercel/remix-builder@5.5.8

### Patch Changes

- Remove getSpawnOptions
([#14604](#14604))

## @vercel/static-build@2.8.19

### Patch Changes

- Remove getSpawnOptions
([#14604](#14604))

-   Updated dependencies \[]:
    -   @vercel/gatsby-plugin-vercel-builder@2.0.118

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
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