[PR #637] [MERGED] refactor: extract app page boundary render runtime #735

Closed
opened 2026-05-06 13:09:51 +02:00 by BreizhHardware · 0 comments

📋 Pull Request Information

Original PR: https://github.com/cloudflare/vinext/pull/637
Author: @southpolesteve
Created: 3/22/2026
Status: Merged
Merged: 3/22/2026
Merged by: @southpolesteve

Base: mainHead: codex/app-page-boundary-render-runtime


📝 Commits (2)

  • 270e906 refactor: extract app page boundary render runtime
  • 6b8db50 test: harden navigation noindex assertions

📊 Changes

6 files changed (+944 additions, -1380 deletions)

View changed files

📝 packages/vinext/src/entries/app-rsc-entry.ts (+54 -197)
packages/vinext/src/server/app-page-boundary-render.ts (+335 -0)
📝 tests/__snapshots__/entry-templates.test.ts.snap (+312 -1170)
tests/app-page-boundary-render.test.ts (+230 -0)
📝 tests/app-router.test.ts (+8 -11)
📝 tests/nextjs-compat/navigation.test.ts (+5 -2)

📄 Description

Summary

  • extract the remaining App Router HTTP access fallback and error-boundary page rendering into a typed runtime helper
  • keep app-rsc-entry.ts focused on thin generated wiring by delegating boundary rendering to app-page-boundary-render.ts
  • add direct helper coverage and update generated-entry assertions/snapshots for the new contract

Verification

  • vp check packages/vinext/src/server/app-page-boundary-render.ts packages/vinext/src/entries/app-rsc-entry.ts tests/app-page-boundary-render.test.ts tests/app-router.test.ts
  • vp test run tests/app-page-boundary-render.test.ts tests/app-page-boundary.test.ts tests/app-page-stream.test.ts tests/nextjs-compat/global-error.test.ts
  • vp test run tests/app-router.test.ts --testTimeout=120000 -t "renders custom not-found.tsx for unmatched routes|notFound\(\) escalates to nearest ancestor not-found.tsx"
  • vp test run tests/app-router.test.ts -t "generated code delegates page boundary rendering to typed helpers|forbidden\(\) from Server Component returns 403 with forbidden.tsx|unauthorized\(\) from Server Component returns 401 with unauthorized.tsx|renders error boundary wrapper for routes with error.tsx"
  • vp test run tests/entry-templates.test.ts -u
  • vp run vinext#build

Written by Codex.


🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.

## 📋 Pull Request Information **Original PR:** https://github.com/cloudflare/vinext/pull/637 **Author:** [@southpolesteve](https://github.com/southpolesteve) **Created:** 3/22/2026 **Status:** ✅ Merged **Merged:** 3/22/2026 **Merged by:** [@southpolesteve](https://github.com/southpolesteve) **Base:** `main` ← **Head:** `codex/app-page-boundary-render-runtime` --- ### 📝 Commits (2) - [`270e906`](https://github.com/cloudflare/vinext/commit/270e906c0dbe37159b0a9db71d0d02bffa44f002) refactor: extract app page boundary render runtime - [`6b8db50`](https://github.com/cloudflare/vinext/commit/6b8db50f47d1f68d004fc60e589ecf015fd5dbd3) test: harden navigation noindex assertions ### 📊 Changes **6 files changed** (+944 additions, -1380 deletions) <details> <summary>View changed files</summary> 📝 `packages/vinext/src/entries/app-rsc-entry.ts` (+54 -197) ➕ `packages/vinext/src/server/app-page-boundary-render.ts` (+335 -0) 📝 `tests/__snapshots__/entry-templates.test.ts.snap` (+312 -1170) ➕ `tests/app-page-boundary-render.test.ts` (+230 -0) 📝 `tests/app-router.test.ts` (+8 -11) 📝 `tests/nextjs-compat/navigation.test.ts` (+5 -2) </details> ### 📄 Description ## Summary - extract the remaining App Router HTTP access fallback and error-boundary page rendering into a typed runtime helper - keep `app-rsc-entry.ts` focused on thin generated wiring by delegating boundary rendering to `app-page-boundary-render.ts` - add direct helper coverage and update generated-entry assertions/snapshots for the new contract ## Verification - `vp check packages/vinext/src/server/app-page-boundary-render.ts packages/vinext/src/entries/app-rsc-entry.ts tests/app-page-boundary-render.test.ts tests/app-router.test.ts` - `vp test run tests/app-page-boundary-render.test.ts tests/app-page-boundary.test.ts tests/app-page-stream.test.ts tests/nextjs-compat/global-error.test.ts` - `vp test run tests/app-router.test.ts --testTimeout=120000 -t "renders custom not-found.tsx for unmatched routes|notFound\(\) escalates to nearest ancestor not-found.tsx"` - `vp test run tests/app-router.test.ts -t "generated code delegates page boundary rendering to typed helpers|forbidden\(\) from Server Component returns 403 with forbidden.tsx|unauthorized\(\) from Server Component returns 401 with unauthorized.tsx|renders error boundary wrapper for routes with error.tsx"` - `vp test run tests/entry-templates.test.ts -u` - `vp run vinext#build` Written by Codex. --- <sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
BreizhHardware 2026-05-06 13:09:51 +02:00
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
starred/vinext#735
No description provided.