Skip to content

Add Bundling handler to vanilla node workflows#15691

Merged
ShayCichocki merged 15 commits intomainfrom
ci-bundler
Apr 2, 2026
Merged

Add Bundling handler to vanilla node workflows#15691
ShayCichocki merged 15 commits intomainfrom
ci-bundler

Conversation

@ShayCichocki
Copy link
Copy Markdown
Contributor

Linear

Description

To optimize performance we want to bundle vanillaJS packages behind experimentalAllowBundling to reduce the number of lambdas created in fluid compute

@changeset-bot
Copy link
Copy Markdown

changeset-bot bot commented Mar 23, 2026

🦋 Changeset detected

Latest commit: 5f4aa5d

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

This PR includes changesets to release 9 packages
Name Type
@vercel/node Minor
vercel Patch
@vercel/elysia Patch
@vercel/express Patch
@vercel/fastify Patch
@vercel/h3 Patch
@vercel/hono Patch
@vercel/koa 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

@github-actions
Copy link
Copy Markdown
Contributor

github-actions bot commented Mar 23, 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-q0l6axmuo.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-q0l6axmuo.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-q0l6axmuo.vercel.sh/tarballs/vercel_runtime-0.13.0.dev1775083585+5f4aa5d-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-q0l6axmuo.vercel.sh/tarballs/vercel_workers-0.1.0.dev1775083585+5f4aa5d-py3-none-any.whl"

@vercel
Copy link
Copy Markdown
Contributor

vercel bot commented Mar 23, 2026

Warning

High Risk — Cross-app shared package change — bug in bundling handler could break all vanilla API routes using this feature.

  • packages/node/src/build.ts: adds bundling logic gated by env var + zeroConfig, sets experimentalAllowBundling flag
  • packages/node/src/bundling-handler.js: new unified Lambda handler that routes requests via x-matched-path header
  • packages/node/test/unit/bundling.test.ts: comprehensive tests for bundling feature and handler runtime

Assessed at 5f4aa5d.

@github-actions
Copy link
Copy Markdown
Contributor

github-actions bot commented Mar 23, 2026

🧪 Unit Test Strategy

Comparing: 26156e75f4aa5d (view diff)

Strategy: Affected packages only

✅ Only testing packages that have been modified or depend on modified packages.

Affected packages - 9 (23%)
  1. @vercel/elysia
  2. @vercel/express
  3. @vercel/fastify
  4. @vercel/h3
  5. @vercel/hono
  6. @vercel/koa
  7. @vercel/nestjs
  8. @vercel/node
  9. vercel
Unaffected packages - 31 (78%)
  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/error-utils
  11. @vercel/firewall
  12. @vercel/frameworks
  13. @vercel/fs-detectors
  14. @vercel/functions
  15. @vercel/gatsby-plugin-vercel-builder
  16. @vercel/go
  17. @vercel/hydrogen
  18. @vercel/next
  19. @vercel/oidc
  20. @vercel/oidc-aws-credentials-provider
  21. @vercel/python
  22. @vercel/python-analysis
  23. @vercel/redwood
  24. @vercel/related-projects
  25. @vercel/remix-builder
  26. @vercel/routing-utils
  27. @vercel/ruby
  28. @vercel/rust
  29. @vercel/static-build
  30. @vercel/static-config
  31. examples

Results

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

This comment is automatically generated based on the affected testing strategy

@ShayCichocki ShayCichocki marked this pull request as ready for review March 24, 2026 15:25
@ShayCichocki ShayCichocki requested a review from a team as a code owner March 24, 2026 15:25
Copy link
Copy Markdown
Member

@ijjk ijjk left a comment

Choose a reason for hiding this comment

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

Amazing LFGTM 🙌

@ShayCichocki ShayCichocki merged commit aa3ad22 into main Apr 2, 2026
179 checks passed
@ShayCichocki ShayCichocki deleted the ci-bundler branch April 2, 2026 14:45
ShayCichocki pushed a commit that referenced this pull request Apr 2, 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/[email protected]

### Minor Changes

- Add experimental bundling to node bundler
([#15691](#15691))

## [email protected]

### Patch Changes

- Improve `vercel link` by searching matching project names across teams
by default, with clearer linking choices when multiple matches are
found. ([#15400](#15400))

- Updated dependencies
\[[`a50d9615ea546050b9f37dc7e5b4a81228987eef`](a50d961),
[`aa3ad226ef7b4ab98ef97e15f81c91f4f7c527e9`](aa3ad22)]:
    -   @vercel/[email protected]
    -   @vercel/[email protected]
    -   @vercel/[email protected]
    -   @vercel/[email protected]
    -   @vercel/[email protected]
    -   @vercel/[email protected]
    -   @vercel/[email protected]
    -   @vercel/[email protected]
    -   @vercel/[email protected]

## @vercel/[email protected]

### Patch Changes

- Updated dependencies
\[[`aa3ad226ef7b4ab98ef97e15f81c91f4f7c527e9`](aa3ad22)]:
    -   @vercel/[email protected]

## @vercel/[email protected]

### Patch Changes

- Updated dependencies
\[[`aa3ad226ef7b4ab98ef97e15f81c91f4f7c527e9`](aa3ad22)]:
    -   @vercel/[email protected]

## @vercel/[email protected]

### Patch Changes

- Updated dependencies
\[[`aa3ad226ef7b4ab98ef97e15f81c91f4f7c527e9`](aa3ad22)]:
    -   @vercel/[email protected]

## @vercel/[email protected]

### Patch Changes

- Updated dependencies
\[[`aa3ad226ef7b4ab98ef97e15f81c91f4f7c527e9`](aa3ad22)]:
    -   @vercel/[email protected]

## @vercel/[email protected]

### Patch Changes

- Updated dependencies
\[[`aa3ad226ef7b4ab98ef97e15f81c91f4f7c527e9`](aa3ad22)]:
    -   @vercel/[email protected]

## @vercel/[email protected]

### Patch Changes

- Updated dependencies
\[[`aa3ad226ef7b4ab98ef97e15f81c91f4f7c527e9`](aa3ad22)]:
    -   @vercel/[email protected]

## @vercel/[email protected]

### Patch Changes

- Updated dependencies
\[[`aa3ad226ef7b4ab98ef97e15f81c91f4f7c527e9`](aa3ad22)]:
    -   @vercel/[email protected]

## @vercel/[email protected]

### Patch Changes

- Update to latest Next.js adapter
([#15775](#15775))

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