Skip to content

feat(build): add transport-neutral worker stages - #3083

Draft
james-elicx wants to merge 1 commit into
codex/cdn-stack-toolingfrom
codex/cdn-stack-core
Draft

feat(build): add transport-neutral worker stages#3083
james-elicx wants to merge 1 commit into
codex/cdn-stack-toolingfrom
codex/cdn-stack-core

Conversation

@james-elicx

@james-elicx james-elicx commented Aug 25, 2026

Copy link
Copy Markdown
Member

Summary

  • split App and Pages Worker handling into request and response stages
  • expose transport-neutral stage contracts and lazy virtual entry loaders
  • keep middleware, config routing, and request-specific composition above reusable response rendering
  • preserve single-stage behavior when no staged output is selected
  • isolate render dependencies from the request-stage startup graph

This layer contains no Cloudflare RPC, Worker export, Wrangler, or HTTP transport implementation.

Stack

  1. tooling baseline (chore(deps): update Cloudflare Workers tooling #3082)
  2. This PR: transport-neutral worker stages (feat(build): add transport-neutral worker stages #3083)
  3. Cloudflare Workers Cache entrypoint isolation (feat(cloudflare): isolate Workers Cache with staged entrypoints #3079)
  4. independently deployed HTTP stages (feat(build): support independently deployed worker stages #3084)
  5. Workers Cache tag parity (fix(cloudflare): preserve Workers Cache tag parity #3085)

Validation

  • CI: all 68 checks passed
  • 846 focused core/config tests passed locally
  • vp run vinext#build
  • Knip

@pkg-pr-new

pkg-pr-new Bot commented Aug 25, 2026

Copy link
Copy Markdown

Open in StackBlitz

npm i https://pkg.pr.new/@vinext/cloudflare@3083
npm i https://pkg.pr.new/create-vinext-app@3083
npm i https://pkg.pr.new/@vinext/types@3083
npm i https://pkg.pr.new/vinext@3083

commit: eacb78d

@james-elicx
james-elicx force-pushed the codex/cdn-stack-core branch from e242325 to 2a1a9d5 Compare August 25, 2026 23:15
@github-actions

Copy link
Copy Markdown
Contributor
Example Preview Production Original
app-router-cloudflare preview production
pages-router-cloudflare preview production
app-router-playground preview production original
realworld-api-rest preview production
nextra-docs-template preview production
benchmarks preview production
hackernews preview production original
workers-cache preview production
web preview production

@james-elicx
james-elicx force-pushed the codex/cdn-stack-core branch from 2a1a9d5 to eacb78d Compare August 25, 2026 23:19
@github-actions

Copy link
Copy Markdown
Contributor

Performance benchmarks

Compared eacb78d against base 110ef06 using alternating same-runner rounds. Next.js was unchanged and skipped.

0 improved · 4 regressed · 2 within ±1.5%

Scenario Framework Baseline Current Change
Client bundle size (gzip) vinext 142.2 KB 142.2 KB ⚫ +0.0%
Client entry size (gzip) vinext 129.5 KB 129.5 KB ⚫ +0.0%
Dev server cold start vinext 3.03 s 3.15 s 🔴 +4.0%
Production build time vinext 3.33 s 3.39 s 🔴 +1.7%
RSC entry closure size (gzip) vinext 116.6 KB 121.1 KB 🔴 +3.9%
Server bundle size (gzip) vinext 198.1 KB 205.0 KB 🔴 +3.5%

View detailed results and traces

🟢 improvement · 🔴 regression · ⚫ change below 1.5% · paired base/head

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.

1 participant