cloudflare/vinext

Pages Router: custom `_document` (`getInitialProps` / `renderPage` enhancers) not implemented

Open

#1,468 opened on 2026年5月22日

GitHub で見る
 (0 comments) (0 reactions) (0 assignees)TypeScript (329 forks)github user discovery
adapter-api-e2ehelp wanted

Repository metrics

Stars
 (8,120 stars)
PR merge metrics
 (平均マージ 1d 1h) (30d で 462 merged PRs)

説明

This issue was created by an agent analysing CI failures from the Next.js Deploy Suite (vinext main vs Next.js v16.2.6, 2026-05-22).

Problem

Tests for Pages Router custom _document.js fail because vinext does not run Document.getInitialProps or honor ctx.renderPage({ enhanceApp, enhanceComponent }). As a result <Document> does not receive the expected html prop, custom enhancers never run, and nonce/crossOrigin attributes are missing on emitted scripts.

Document.getInitialProps did not run; renderPage enhanceApp/enhanceComponent did not run

Estimated Impact

~8 test failures across the deploy suite.

Affected Test Suites

  • test/e2e/app-document/rendering.test.ts (8 failures)

Recommendation

  1. Reproduce first in vinext's own test suite. Add a Pages Router app with a custom _document.tsx exporting getInitialProps plus renderPage({ enhanceApp, enhanceComponent }). Assert each hook runs and the produced HTML reflects it.

  2. Study .nextjs-ref/packages/next/src/server/render.tsx. Understand the _document lifecycle: getInitialProps with ctx.renderPage, the enhanceApp/enhanceComponent contract, and how nonce/crossOrigin propagate to emitted <script> tags.

  3. Implement the Pages Router _document pipeline. Run Document.getInitialProps, support ctx.renderPage({ enhanceApp, enhanceComponent }), propagate nonce and crossOrigin to script tags.

コントリビューターガイド