cloudflare/vinext

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

Open

#1.468 aberto em 22 de mai. de 2026

Ver no GitHub
 (0 comments) (0 reactions) (0 assignees)TypeScript (329 forks)github user discovery
adapter-api-e2ehelp wanted

Métricas do repositório

Stars
 (8.120 stars)
Métricas de merge de PR
 (Mesclagem média 1d 1h) (462 fundiu PRs em 30d)

Description

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.

Guia do colaborador