Skip to content

feat(build): support independently deployed worker stages - #3084

Closed
james-elicx wants to merge 7 commits into
codex/cdn-entrypoint-cachefrom
codex/cdn-stack-http
Closed

feat(build): support independently deployed worker stages#3084
james-elicx wants to merge 7 commits into
codex/cdn-entrypoint-cachefrom
codex/cdn-stack-http

Conversation

@james-elicx

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

Copy link
Copy Markdown
Member

Summary

  • let adapters add independently deployable request and response build entries
  • preserve existing host inputs and reject reserved entry-name collisions
  • demonstrate an adapter-owned HTTP transport between two separate Node processes
  • preserve build identity, request authority, pregenerated-path state, PPR guards, revalidation, streaming, static assets, and forged-metadata rejection across that transport

The Cloudflare adapter does not use output.entries; it remains on the preceding PR and owns its ctx.exports transport.

Stack

  1. tooling baseline (chore(deps): update Cloudflare Workers tooling #3082)
  2. 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. This PR: 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

  • independent HTTP-stage regression suite: 13 passed
  • full vp check and Knip: passed at the stack head
  • vinext and @vinext/cloudflare builds: passed

@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@3084
npm i https://pkg.pr.new/create-vinext-app@3084
npm i https://pkg.pr.new/@vinext/types@3084
npm i https://pkg.pr.new/vinext@3084

commit: 9055733

@james-elicx
james-elicx force-pushed the codex/cdn-entrypoint-cache branch from 4d186de to 9d0abbb Compare August 25, 2026 23:15
@james-elicx
james-elicx force-pushed the codex/cdn-stack-http branch from dad2728 to ade8f76 Compare August 25, 2026 23:15
@github-actions

github-actions Bot commented Aug 25, 2026

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
static-export preview production
web preview production

@james-elicx
james-elicx force-pushed the codex/cdn-entrypoint-cache branch from 9d0abbb to 379ae5b Compare August 25, 2026 23:19
@james-elicx
james-elicx force-pushed the codex/cdn-stack-http branch from ade8f76 to a5a3fc1 Compare August 25, 2026 23:19
@github-actions

github-actions Bot commented Aug 25, 2026

Copy link
Copy Markdown
Contributor

Performance benchmarks

Compared 64bc548 against base 23fb088 using alternating same-runner rounds. Next.js was unchanged and skipped.

1 improved · 0 regressed · 5 within ±1.5%

Scenario Framework Baseline Current Change
Client bundle size (gzip) vinext 142.4 KB 142.4 KB ⚫ -0.0%
Client entry size (gzip) vinext 129.6 KB 129.6 KB ⚫ -0.0%
Dev server cold start vinext 3.38 s 3.32 s 🟢 -1.7%
Production build time vinext 3.74 s 3.76 s ⚫ +0.6%
RSC entry closure size (gzip) vinext 125.7 KB 125.7 KB ⚫ -0.0%
Server bundle size (gzip) vinext 216.4 KB 216.4 KB ⚫ -0.0%

View detailed results and traces

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

Comment thread tests/fixtures/multi-stage-http/http-stage-node.ts
@james-elicx
james-elicx force-pushed the codex/cdn-entrypoint-cache branch from 3c4d009 to 974c91c Compare September 2, 2026 03:04
@james-elicx
james-elicx force-pushed the codex/cdn-entrypoint-cache branch from 974c91c to bdb3bff Compare September 2, 2026 03:07
@james-elicx
james-elicx force-pushed the codex/cdn-stack-http branch 2 times, most recently from 55aa99f to 564d736 Compare September 2, 2026 03:13
@james-elicx
james-elicx force-pushed the codex/cdn-entrypoint-cache branch 2 times, most recently from c33a310 to c3d4659 Compare September 2, 2026 03:15
@james-elicx
james-elicx force-pushed the codex/cdn-entrypoint-cache branch from a2187c8 to 642dff1 Compare September 2, 2026 04:04
@james-elicx
james-elicx force-pushed the codex/cdn-entrypoint-cache branch from 642dff1 to 3a030b5 Compare September 2, 2026 04:12
@james-elicx
james-elicx force-pushed the codex/cdn-entrypoint-cache branch from 3a030b5 to 8947fdd Compare September 2, 2026 04:25
@james-elicx
james-elicx force-pushed the codex/cdn-entrypoint-cache branch from 8947fdd to e4d0ce9 Compare September 2, 2026 04:49
@james-elicx
james-elicx force-pushed the codex/cdn-entrypoint-cache branch from e4d0ce9 to 7d73b35 Compare September 2, 2026 04:56
@james-elicx
james-elicx force-pushed the codex/cdn-stack-http branch 2 times, most recently from f2d913d to fcf4e04 Compare September 2, 2026 05:28
@james-elicx
james-elicx force-pushed the codex/cdn-entrypoint-cache branch from 7d73b35 to ff07caf Compare September 2, 2026 05:28
@james-elicx
james-elicx force-pushed the codex/cdn-entrypoint-cache branch from 72f2697 to 7e930d8 Compare September 2, 2026 06:02
@james-elicx
james-elicx force-pushed the codex/cdn-entrypoint-cache branch from 7e930d8 to 8e7977a Compare September 2, 2026 06:13
@james-elicx
james-elicx force-pushed the codex/cdn-stack-http branch 2 times, most recently from 665a818 to 64bc548 Compare September 2, 2026 06:15
@james-elicx
james-elicx force-pushed the codex/cdn-entrypoint-cache branch from 8e7977a to 23fb088 Compare September 2, 2026 06:15
@james-elicx

Copy link
Copy Markdown
Member Author

Superseded by the optional HTTP transport layer in #3155.

@james-elicx james-elicx closed this Sep 2, 2026
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