[build-utils] Align deserialize logic with existing callers#16002
Conversation
🦋 Changeset detectedLatest commit: d876e6b The changes in this PR will be included in the next version bump. This PR includes changesets to release 16 packages
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 |
|
Low Risk — Build utils refactor: moves boundary generation to module scope for consistency + adds TypeScript generics + tests.
Assessed at d876e6b. |
📦 CLI Tarball ReadyThe Vercel CLI tarball for this PR is now available! Quick TestYou can test this PR's CLI directly by running: npx https://vercel-j0rizfi4g.vercel.sh/tarballs/vercel.tgz --helpUse in vercel.jsonTo use this CLI version in your project builds, add to your {
"build": {
"env": {
"VERCEL_CLI_VERSION": "vercel@https://vercel-j0rizfi4g.vercel.sh/tarballs/vercel.tgz"
}
}
}Python Runtime WheelA Python Workers WheelA |
🧪 Unit Test StrategyComparing: Strategy: Code changed outside of a package - running all unit tests Affected packages - 40 (100%)
Results
This comment is automatically generated based on the affected testing strategy |
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>
Building on previous PRs: - #15927 - #15961 - #16002 We are extracting the core `deserialize-build-output.ts` file here. This is following refactor efforts in the existing caller codebases to make this extraction simpler. After shipping this extraction, we'll delete the duplicated code and import `deserializeBuildOutput` from this PR. Doing this should introduce zero semantic changes for those callers. Note: callers must inject their own `groupLambdas` strategy. Note2: some existing TODO comments have been left in-place as code documentation.
While I was integrating #15961 for existing callers, I saw that we are slightly changing the behavior of prerenders.
This PR fixes the differing semantics and unblocks this migration work.