Skip to content

Mirror node builder behavior in backends builder#15980

Merged
jeffsee55 merged 2 commits into
mainfrom
use-backends
Apr 16, 2026
Merged

Mirror node builder behavior in backends builder#15980
jeffsee55 merged 2 commits into
mainfrom
use-backends

Conversation

@jeffsee55

@jeffsee55 jeffsee55 commented Apr 15, 2026

Copy link
Copy Markdown
Contributor
  • The node builder doesn't throw when no entrypoint is found, this updates the backends builder to do the same to minimize thrash from new behavior.
  • The node builder only runs tsc against entrypoipnt + it's module graph. The backends builder was just running tsc against the project
  • This also add support that we have in the node builder for package.json#main value being treated a potential entrypoint.

@jeffsee55 jeffsee55 marked this pull request as ready for review April 15, 2026 21:08
@jeffsee55 jeffsee55 requested a review from a team as a code owner April 15, 2026 21:08
@changeset-bot

changeset-bot Bot commented Apr 15, 2026

Copy link
Copy Markdown

🦋 Changeset detected

Latest commit: 5323b38

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

This PR includes changesets to release 4 packages
Name Type
@vercel/backends Patch
@vercel/cervel Patch
vercel Patch
@vercel/express 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

@github-actions

github-actions Bot commented Apr 15, 2026

Copy link
Copy Markdown
Contributor

📦 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-1bqn95sn5.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-1bqn95sn5.vercel.sh/tarballs/vercel.tgz"
    }
  }
}

Python Runtime Wheel

A vercel-runtime wheel was also built for this PR.
To use in your Python project builds, also set this environment variable:

VERCEL_RUNTIME_PYTHON="vercel-runtime @ https://vercel-1bqn95sn5.vercel.sh/tarballs/vercel_runtime-0.13.0.dev1776358029+5323b38-py3-none-any.whl"

Python Workers Wheel

A vercel-workers wheel was also built for this PR.
To use in your Python project builds, also set this environment variable:

VERCEL_WORKERS_PYTHON="vercel-workers @ https://vercel-1bqn95sn5.vercel.sh/tarballs/vercel_workers-0.1.0.dev1776358029+5323b38-py3-none-any.whl"

@vercel

vercel Bot commented Apr 15, 2026

Copy link
Copy Markdown
Contributor

Low Risk — Build tooling hardening — adds defensive error handling and existence checks to prevent build failures on missing files.

  • build.ts: wrap findEntrypoint calls to swallow errors for static-only output trees
  • rolldown/index.ts, nft.ts: add existsSync guards before tracking local files, skip ENOENT errors
  • typescript.ts: refactor from spawning tsc binary to using TypeScript compiler API directly

Assessed at 5323b38.

@github-actions

github-actions Bot commented Apr 15, 2026

Copy link
Copy Markdown
Contributor

🧪 Unit Test Strategy

Comparing: bab75d75323b38 (view diff)

Strategy: Code changed outside of a package - running all unit tests

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

Affected packages - 18 (45%)
  1. @vercel/backends
  2. @vercel/cervel
  3. @vercel/express
  4. vercel
  5. @vercel/build-utils
  6. @vercel/client
  7. @vercel/firewall
  8. @vercel/fs-detectors
  9. @vercel/go
  10. @vercel/hydrogen
  11. @vercel/next
  12. @vercel/node
  13. @vercel/python
  14. @vercel/remix-builder
  15. @vercel/ruby
  16. @vercel/rust
  17. @vercel/static-build
  18. examples
Unaffected packages - 22 (55%)
  1. @vercel-internals/get-package-json
  2. @vercel/cli-auth
  3. @vercel/config
  4. @vercel/detect-agent
  5. @vercel/edge
  6. @vercel/elysia
  7. @vercel/error-utils
  8. @vercel/fastify
  9. @vercel/frameworks
  10. @vercel/functions
  11. @vercel/gatsby-plugin-vercel-builder
  12. @vercel/h3
  13. @vercel/hono
  14. @vercel/koa
  15. @vercel/nestjs
  16. @vercel/oidc
  17. @vercel/oidc-aws-credentials-provider
  18. @vercel/python-analysis
  19. @vercel/redwood
  20. @vercel/related-projects
  21. @vercel/routing-utils
  22. @vercel/static-config

Results

  • Unit tests: All affected packages will run unit tests
  • E2E tests: Running in parallel via E2E Tests workflow
  • Type checks: All affected packages will run type checks

This comment is automatically generated based on the affected testing strategy

Use the TypeScript compiler API for entry-scoped checks without writing
temp tsconfigs. Consolidate cervel and main typescript helpers into one
module. Add tsconfig extends chain to the 17-turborepo fixture.

Made-with: Cursor
@jeffsee55 jeffsee55 changed the title Relax failures when we don't find an entrypoint for backends Mirror node builder behavior in backends builder Apr 16, 2026
@jeffsee55 jeffsee55 enabled auto-merge (squash) April 16, 2026 17:53
@jeffsee55 jeffsee55 merged commit 2babfa2 into main Apr 16, 2026
190 checks passed
@jeffsee55 jeffsee55 deleted the use-backends branch April 16, 2026 18:05
jeffsee55 pushed a commit that referenced this pull request Apr 16, 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.63

### Patch Changes

- Typecheck deployment TypeScript via the compiler API (entry + import
graph), deduplicate the cervel `typescript` module, and extend the
turborepo fixture with a chained `tsconfig` for monorepo path
resolution. ([#15980](#15980))

- Relax failures when we don't find an entrypoint for backends to
maximize backwards compatibility
([#15980](#15980))

- Updated dependencies
\[[`5219572d21a2ba4b49cc1c27d244c1ff5d76c591`](5219572)]:
    -   @vercel/build-utils@13.17.1

## @vercel/build-utils@13.17.1

### Patch Changes

- Align deserialize logic with existing callers.
([#16002](#16002))

## @vercel/cervel@0.0.50

### Patch Changes

- Updated dependencies
\[[`2babfa22946d80a92f1307a8d860a9039d695b09`](2babfa2),
[`2babfa22946d80a92f1307a8d860a9039d695b09`](2babfa2)]:
    -   @vercel/backends@0.0.63

## vercel@51.5.1

### Patch Changes

- Improve Claude Code Vercel plugin install and update prompts across
CLI commands. ([#15921](#15921))

- Updated dependencies
\[[`5219572d21a2ba4b49cc1c27d244c1ff5d76c591`](5219572),
[`2babfa22946d80a92f1307a8d860a9039d695b09`](2babfa2),
[`2babfa22946d80a92f1307a8d860a9039d695b09`](2babfa2),
[`adbe6f0a0152136aa26aa1277458f4578f62beeb`](adbe6f0)]:
    -   @vercel/build-utils@13.17.1
    -   @vercel/backends@0.0.63
    -   @vercel/python@6.33.2
    -   @vercel/elysia@0.1.66
    -   @vercel/express@0.1.76
    -   @vercel/fastify@0.1.69
    -   @vercel/go@3.5.0
    -   @vercel/h3@0.1.75
    -   @vercel/hono@0.2.69
    -   @vercel/hydrogen@1.3.6
    -   @vercel/koa@0.1.49
    -   @vercel/nestjs@0.2.70
    -   @vercel/next@4.16.8
    -   @vercel/node@5.7.8
    -   @vercel/redwood@2.4.12
    -   @vercel/remix-builder@5.7.2
    -   @vercel/ruby@2.3.2
    -   @vercel/rust@1.1.1
    -   @vercel/static-build@2.9.16

## @vercel/client@17.3.5

### Patch Changes

- Updated dependencies
\[[`5219572d21a2ba4b49cc1c27d244c1ff5d76c591`](5219572)]:
    -   @vercel/build-utils@13.17.1

## @vercel/elysia@0.1.66

### Patch Changes

-   Updated dependencies \[]:
    -   @vercel/node@5.7.8

## @vercel/express@0.1.76

### Patch Changes

-   Updated dependencies \[]:
    -   @vercel/node@5.7.8
    -   @vercel/cervel@0.0.50

## @vercel/fastify@0.1.69

### Patch Changes

-   Updated dependencies \[]:
    -   @vercel/node@5.7.8

## @vercel/fs-detectors@5.18.1

### Patch Changes

- Updated dependencies
\[[`5219572d21a2ba4b49cc1c27d244c1ff5d76c591`](5219572)]:
    -   @vercel/build-utils@13.17.1

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

### Patch Changes

- Updated dependencies
\[[`5219572d21a2ba4b49cc1c27d244c1ff5d76c591`](5219572)]:
    -   @vercel/build-utils@13.17.1

## @vercel/h3@0.1.75

### Patch Changes

-   Updated dependencies \[]:
    -   @vercel/node@5.7.8

## @vercel/hono@0.2.69

### Patch Changes

-   Updated dependencies \[]:
    -   @vercel/node@5.7.8

## @vercel/koa@0.1.49

### Patch Changes

-   Updated dependencies \[]:
    -   @vercel/node@5.7.8

## @vercel/nestjs@0.2.70

### Patch Changes

-   Updated dependencies \[]:
    -   @vercel/node@5.7.8

## @vercel/node@5.7.8

### Patch Changes

- Updated dependencies
\[[`5219572d21a2ba4b49cc1c27d244c1ff5d76c591`](5219572)]:
    -   @vercel/build-utils@13.17.1

## @vercel/python@6.33.2

### Patch Changes

- Update the error for custom installCommand builds >250MB.
([#15946](#15946))

## @vercel/static-build@2.9.16

### Patch Changes

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

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