File tree Expand file tree Collapse file tree
packages/vinext/src/server
fixtures/ppr-impact-demo/app/cacheability/prerender-phase/[slug] Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -62,7 +62,10 @@ export function installServerGlobals(): void {
6262 get ( ) {
6363 const context = getRequestExecutionContext ( ) ;
6464 const state = context ? Reflect . get ( context , CACHEABILITY_REQUEST_STATE ) : undefined ;
65- if ( Reflect . get ( state ?? { } , "mode" ) === "probe" ) {
65+ if (
66+ context ?. isPrerenderPathDiscovery === true ||
67+ Reflect . get ( state ?? { } , "mode" ) === "probe"
68+ ) {
6669 return PHASE_PRODUCTION_BUILD ;
6770 }
6871 return Reflect . get ( process . env , "NEXT_PHASE" ) ;
Original file line number Diff line number Diff line change @@ -14,6 +14,15 @@ function prerenderSecret(): string {
1414test ( "classifies completed App Page renders inside workerd" , async ( { request } ) => {
1515 const headers = { [ probeHeader ] : "1" , [ secretHeader ] : prerenderSecret ( ) } ;
1616
17+ // Next.js evaluates generateStaticParams during phase-production-build:
18+ // https://github.com/vercel/next.js/blob/canary/packages/next/src/build/index.ts
19+ const discovery = await request . get (
20+ "/__vinext/prerender/static-params?pattern=%2Fcacheability%2Fprerender-phase%2F%3Aslug" ,
21+ { headers : { [ secretHeader ] : prerenderSecret ( ) } } ,
22+ ) ;
23+ expect ( discovery . ok ( ) ) . toBe ( true ) ;
24+ await expect ( discovery . json ( ) ) . resolves . toEqual ( [ { slug : "known" } ] ) ;
25+
1726 const staticProbe = await request . get ( "/cacheability/static" , { headers } ) ;
1827 expect ( staticProbe . ok ( ) ) . toBe ( true ) ;
1928 await expect ( staticProbe . json ( ) ) . resolves . toMatchObject ( {
Original file line number Diff line number Diff line change @@ -3,7 +3,7 @@ import { headers } from "next/headers";
33export const revalidate = 3 ;
44
55export function generateStaticParams ( ) {
6- return [ { slug : "known" } ] ;
6+ return process . env . NEXT_PHASE === "phase-production-build" ? [ { slug : "known" } ] : [ ] ;
77}
88
99export default async function PrerenderPhasePage ( {
You can’t perform that action at this time.
0 commit comments