Skip to content

feat(build): select adapter-owned worker stages - #3150

Draft
james-elicx wants to merge 7 commits into
codex/cdn-v2-app-request-stagefrom
codex/cdn-v2-build-stages
Draft

feat(build): select adapter-owned worker stages#3150
james-elicx wants to merge 7 commits into
codex/cdn-v2-app-request-stagefrom
codex/cdn-v2-build-stages

Conversation

@james-elicx

@james-elicx james-elicx commented Sep 2, 2026

Copy link
Copy Markdown
Member

Part 10 of 16 in the staged CDN adapter stack. Depends on #3149.

Summary

  • atomically publishes adapter-selected staged-output descriptors and lazy request/response loader exports
  • resolves and emits separate request and response stage entries during production builds
  • preserves the existing single-entry fetch handler when no staged output is selected
  • keeps pregenerated-route lookup available to selected entries and excludes client-only environments

Validation

  • focused build-optimization, entry-template, fetch-handler, and adapter-config tests
  • 188 publication/build-boundary assertions passed, 2 platform skips
  • cumulative exact-tip changed-test sweep: 3,461 passed, 2 skipped

Review size

  • Implementation: +265 / -22 LOC
  • Tests and fixtures: +550 / -12 LOC
  • Other (docs, config, lockfile): +8 / -0 LOC
  • 14 changed files

Measured against codex/cdn-v2-app-request-stage after rebasing onto main@a6931c0.

@pkg-pr-new

pkg-pr-new Bot commented Sep 2, 2026

Copy link
Copy Markdown

Open in StackBlitz

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

commit: 01bb5ba

@github-actions

github-actions Bot commented Sep 2, 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-v2-build-stages branch from 71d99e5 to d4708ad Compare September 2, 2026 13:41
@james-elicx
james-elicx force-pushed the codex/cdn-v2-build-stages branch 2 times, most recently from cad4db7 to f15baa3 Compare September 2, 2026 15:11
@james-elicx
james-elicx force-pushed the codex/cdn-v2-build-stages branch from f15baa3 to abd50c6 Compare September 2, 2026 15:21
@james-elicx
james-elicx force-pushed the codex/cdn-v2-build-stages branch from abd50c6 to 5c88cc7 Compare September 2, 2026 15:27
@james-elicx
james-elicx force-pushed the codex/cdn-v2-build-stages branch from 5c88cc7 to ce8233e Compare September 2, 2026 15:36
@james-elicx
james-elicx force-pushed the codex/cdn-v2-build-stages branch from ce8233e to f8fb8ab Compare September 2, 2026 15:41
@james-elicx
james-elicx force-pushed the codex/cdn-v2-build-stages branch from f8fb8ab to 40e8445 Compare September 2, 2026 16:26
@github-actions

github-actions Bot commented Sep 2, 2026

Copy link
Copy Markdown
Contributor

Performance benchmarks

Compared 01bb5ba against base daa9683 using alternating same-runner rounds. Next.js was unchanged and skipped.

0 improved · 0 regressed · 6 within ±1.5%

Scenario Framework Baseline Current Change
Client bundle size (gzip) vinext 142.3 KB 142.3 KB ⚫ 0.0%
Client entry size (gzip) vinext 129.6 KB 129.6 KB ⚫ -0.0%
Dev server cold start vinext 3.37 s 3.38 s ⚫ +0.3%
Production build time vinext 3.72 s 3.77 s ⚫ +1.3%
RSC entry closure size (gzip) vinext 125.6 KB 125.6 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

@james-elicx
james-elicx force-pushed the codex/cdn-v2-build-stages branch from e2c4a80 to 01bb5ba Compare September 2, 2026 18:46
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