Skip to content

[cli] move builders to peer dependencies#14763

Merged
mehulkar merged 41 commits intomainfrom
mk/peer-dep-builders
Feb 12, 2026
Merged

[cli] move builders to peer dependencies#14763
mehulkar merged 41 commits intomainfrom
mk/peer-dep-builders

Conversation

@mehulkar
Copy link
Copy Markdown
Contributor

@mehulkar mehulkar commented Jan 28, 2026

  • Moves builders to peerDependencies and tells pnpm that they're optional dependencies. With this config, pnpm will not bundle them into the publishd vercel CLI, but they will be in the manifest.
  • Add a feature to the resolveBuilders function that reads the peerDependencies section of package.json at runtime and installs that correct version of the builder. It stores this builder in a local cache (.vercel/builders) so it only has to get them from the registry once.

@changeset-bot
Copy link
Copy Markdown

changeset-bot bot commented Jan 28, 2026

🦋 Changeset detected

Latest commit: f68f373

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

This PR includes changesets to release 1 package
Name Type
vercel Minor

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 Jan 28, 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-1jbv71cyz.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-1jbv71cyz.vercel.sh/tarballs/vercel.tgz"
    }
  }
}

@github-actions
Copy link
Copy Markdown
Contributor

github-actions bot commented Jan 28, 2026

🧪 Unit Test Strategy

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

Results

  • Unit tests: All affected packages will run unit tests
  • E2E tests: Handled separately (Version Packages PRs or run-e2e-tests label)
  • Type checks: All affected packages will run type checks

This comment is automatically generated based on the affected testing strategy

vercel[bot]

This comment was marked as resolved.

@mehulkar mehulkar merged commit fa4e1cd into main Feb 12, 2026
89 checks passed
@mehulkar mehulkar deleted the mk/peer-dep-builders branch February 12, 2026 03:51
mehulkar added a commit that referenced this pull request Feb 12, 2026
mehulkar added a commit that referenced this pull request Feb 12, 2026
mehulkar added a commit that referenced this pull request Feb 12, 2026
- Moves builders to peerDependencies and tells pnpm that they're
optional dependencies. With this config, `pnpm` will not bundle them
into the publishd `vercel` CLI, but they will be in the manifest.
- Add a feature to the `resolveBuilders` function that reads the
peerDependencies section of package.json at runtime and installs that
correct version of the builder. It stores this builder in a local cache
(`.vercel/builders`) so it only has to get them from the registry once.

---------

Co-authored-by: Cursor <cursoragent@cursor.com>
mehulkar added a commit that referenced this pull request Feb 12, 2026
Merged in #14763, reverted in
#15022.

Re-submitting and running e2e tests now via label. e2e tests are coming
back by default to PRs in #15008

- Moves builders to peerDependencies and tells pnpm that they're
optional dependencies. With this config, `pnpm` will not bundle them
into the publishd `vercel` CLI, but they will be in the manifest.
- Add a feature to the `resolveBuilders` function that reads the
peerDependencies section of package.json at runtime and installs that
correct version of the builder. It stores this builder in a local cache
(`.vercel/builders`) so it only has to get them from the registry once.

---------

Co-authored-by: Cursor <cursoragent@cursor.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.

4 participants