Skip to content

[services] consolidate workspace and entrypoint#15093

Merged
ricardo-agz merged 11 commits intomainfrom
ricardo/be-435-workspace-entrypoint
Feb 19, 2026
Merged

[services] consolidate workspace and entrypoint#15093
ricardo-agz merged 11 commits intomainfrom
ricardo/be-435-workspace-entrypoint

Conversation

@ricardo-agz
Copy link
Copy Markdown
Contributor

@ricardo-agz ricardo-agz commented Feb 18, 2026

  • consolidate workspace and entrypoint from experimentalServices vercel.json schema
  • make framework config in service optional -- infer framework from service workspace when not explicitly provided

Note

Low Risk Change

This PR consolidates workspace and entrypoint config fields into a single entrypoint field with automatic framework detection, representing a schema change and significant refactor of service resolution logic but without security implications.

  • Schema change: removes workspace field from service config validation
  • Adds framework auto-detection for directory entrypoints via detectFrameworkFromWorkspace
  • Refactors entrypoint resolution to distinguish file vs directory paths

Risk assessment for commit d1b72c9.

ricardo-agz and others added 3 commits February 17, 2026 16:31
Unify experimentalServices configuration so `entrypoint` can represent either a runtime file or a service directory. This removes the separate `workspace` input and updates service resolution, fixtures, and unit coverage to the new model.

Co-authored-by: Cursor <cursoragent@cursor.com>
@changeset-bot
Copy link
Copy Markdown

changeset-bot bot commented Feb 18, 2026

🦋 Changeset detected

Latest commit: d1b72c9

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

This PR includes changesets to release 16 packages
Name Type
@vercel/build-utils Patch
vercel Patch
@vercel/fs-detectors Patch
@vercel/backends 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/koa Patch
@vercel/nestjs Patch
@vercel/node Patch
@vercel/static-build Patch
@vercel/cervel 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 Feb 18, 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-cnehfk7cp.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-cnehfk7cp.vercel.sh/tarballs/vercel.tgz"
    }
  }
}

Python Runtime Wheel

A Python 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-cnehfk7cp.vercel.sh/tarballs/vercel_runtime-0.5.0.dev1771529512+d1b72c9-py3-none-any.whl"

@github-actions
Copy link
Copy Markdown
Contributor

github-actions bot commented Feb 18, 2026

🧪 Unit Test Strategy

Comparing: d44b1dfd1b72c9 (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 - 40 (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/koa
  24. @vercel/nestjs
  25. @vercel/next
  26. @vercel/node
  27. @vercel/oidc
  28. @vercel/oidc-aws-credentials-provider
  29. @vercel/python
  30. @vercel/python-analysis
  31. @vercel/redwood
  32. @vercel/related-projects
  33. @vercel/remix-builder
  34. @vercel/routing-utils
  35. @vercel/ruby
  36. @vercel/rust
  37. @vercel/static-build
  38. @vercel/static-config
  39. examples
  40. vercel

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

@ricardo-agz ricardo-agz merged commit 09b3540 into main Feb 19, 2026
362 of 396 checks passed
@ricardo-agz ricardo-agz deleted the ricardo/be-435-workspace-entrypoint branch February 19, 2026 21:12
tknickman pushed a commit that referenced this pull request Feb 19, 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@50.22.0

### Minor Changes

- feat(cli): add `vercel integration guide` command
([#15108](#15108))

Adds a new `vercel integration guide` subcommand that displays getting
started guides,
code snippets, and resource links for marketplace integrations directly
in the terminal.

Supports single-product and multi-product integrations with interactive
product and
framework selection. Includes `--framework` flag for non-interactive
framework
selection (useful for CI/agents). Output is raw markdown written to
stdout for easy
    piping to files or other tools.

### Patch Changes

- fix(cli): fix missing planId in non-subscription plan web fallback
([#15152](#15152))

-   [services]([#15093](#15093))
- consolidate `workspace` and `entrypoint` from `experimentalServices`
`vercel.json` schema
- make `framework` config in service optional -- infer framework from
service workspace when not explicitly provided

- Updated dependencies
\[[`09b3540742ac86b768de9775929fef1ef36db412`](09b3540),
[`fc56fb91b4dafabe0f68f86efeabbaf98b2642bc`](fc56fb9)]:
    -   @vercel/build-utils@13.4.3
    -   @vercel/python@6.15.0
    -   @vercel/backends@0.0.36
    -   @vercel/elysia@0.1.39
    -   @vercel/express@0.1.48
    -   @vercel/fastify@0.1.42
    -   @vercel/go@3.4.1
    -   @vercel/h3@0.1.48
    -   @vercel/hono@0.2.42
    -   @vercel/hydrogen@1.3.5
    -   @vercel/koa@0.1.22
    -   @vercel/nestjs@0.2.43
    -   @vercel/next@4.15.31
    -   @vercel/node@5.6.6
    -   @vercel/redwood@2.4.9
    -   @vercel/remix-builder@5.5.10
    -   @vercel/ruby@2.3.1
    -   @vercel/rust@1.0.5
    -   @vercel/static-build@2.8.40

## @vercel/python@6.15.0

### Minor Changes

- Optimize cold starts for lambdas >250MB
([#15080](#15080))

1. Remove `uv pip install` and replace it with `uv sync --inexact
--frozen`
2. Pack the lambda zip with dependencies up to 245MB then only install
the remaining ones at runtime

### Patch Changes

- Updated dependencies
\[[`fc56fb91b4dafabe0f68f86efeabbaf98b2642bc`](fc56fb9)]:
    -   @vercel/python-analysis@0.6.0

## @vercel/python-analysis@0.6.0

### Minor Changes

- Optimize cold starts for lambdas >250MB
([#15080](#15080))

1. Remove `uv pip install` and replace it with `uv sync --inexact
--frozen`
2. Pack the lambda zip with dependencies up to 245MB then only install
the remaining ones at runtime

## @vercel/backends@0.0.36

### Patch Changes

- Updated dependencies
\[[`09b3540742ac86b768de9775929fef1ef36db412`](09b3540)]:
    -   @vercel/build-utils@13.4.3

## @vercel/build-utils@13.4.3

### Patch Changes

-   [services]([#15093](#15093))
- consolidate `workspace` and `entrypoint` from `experimentalServices`
`vercel.json` schema
- make `framework` config in service optional -- infer framework from
service workspace when not explicitly provided
- Updated dependencies
\[[`fc56fb91b4dafabe0f68f86efeabbaf98b2642bc`](fc56fb9)]:
    -   @vercel/python-analysis@0.6.0

## @vercel/cervel@0.0.23

### Patch Changes

-   Updated dependencies \[]:
    -   @vercel/backends@0.0.36

## @vercel/client@17.2.45

### Patch Changes

- Updated dependencies
\[[`09b3540742ac86b768de9775929fef1ef36db412`](09b3540)]:
    -   @vercel/build-utils@13.4.3

## @vercel/elysia@0.1.39

### Patch Changes

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

## @vercel/express@0.1.48

### Patch Changes

-   Updated dependencies \[]:
    -   @vercel/node@5.6.6
    -   @vercel/cervel@0.0.23

## @vercel/fastify@0.1.42

### Patch Changes

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

## @vercel/fs-detectors@5.8.9

### Patch Changes

-   [services]([#15093](#15093))
- consolidate `workspace` and `entrypoint` from `experimentalServices`
`vercel.json` schema
- make `framework` config in service optional -- infer framework from
service workspace when not explicitly provided

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

### Patch Changes

- Updated dependencies
\[[`09b3540742ac86b768de9775929fef1ef36db412`](09b3540)]:
    -   @vercel/build-utils@13.4.3

## @vercel/h3@0.1.48

### Patch Changes

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

## @vercel/hono@0.2.42

### Patch Changes

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

## @vercel/koa@0.1.22

### Patch Changes

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

## @vercel/nestjs@0.2.43

### Patch Changes

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

## @vercel/node@5.6.6

### Patch Changes

- Updated dependencies
\[[`09b3540742ac86b768de9775929fef1ef36db412`](09b3540)]:
    -   @vercel/build-utils@13.4.3

## @vercel/static-build@2.8.40

### Patch Changes

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

## @vercel/python-runtime@0.5.0

### Minor Changes

- Optimize cold starts for lambdas >250MB
([#15080](#15080))

1. Remove `uv pip install` and replace it with `uv sync --inexact
--frozen`
2. Pack the lambda zip with dependencies up to 245MB then only install
the remaining ones at runtime


<!-- VADE_RISK_START -->
> [!NOTE]
> Low Risk Change
>
> This PR is an automated Changesets release that only updates version
numbers in package.json files and CHANGELOG.md files across multiple
packages, with no logic changes.
> 
> - Version bumps across ~25 packages (patch and minor versions)
> - CHANGELOG.md updates documenting previous changes
> - Deleted changeset markdown files consumed by release process
>
> <sup>Risk assessment for [commit
f054c83](https://github.com/vercel/vercel/commit/f054c83041bfd8d833afeb59bac76918875f980e).</sup>
<!-- VADE_RISK_END -->

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.

4 participants