Skip to content

Conversation

@ztanner
Copy link
Member

@ztanner ztanner commented Jan 13, 2026

…vious builds (#86554)"

This reverts commit 3bbb2e6.

Need to investigate some upstream constraints before we land this in a stable release.

@ztanner ztanner enabled auto-merge (squash) January 13, 2026 01:34
@nextjs-bot
Copy link
Collaborator

nextjs-bot commented Jan 13, 2026

Tests Passed

@nextjs-bot
Copy link
Collaborator

Stats from current PR

🟢 1 improvement

Metric Canary PR Change Trend
node_modules Size 458 MB 458 MB 🟢 74.1 kB (0%) ▁▁▁▁▁
📊 All Metrics
📖 Metrics Glossary

Dev Server Metrics:

  • Listen = TCP port starts accepting connections
  • First Request = HTTP server returns successful response
  • Cold = Fresh build (no cache)
  • Warm = With cached build artifacts

Build Metrics:

  • Fresh = Clean build (no .next directory)
  • Cached = With existing .next directory

Change Thresholds:

  • Time: Changes < 50ms AND < 10%, OR < 2% are insignificant
  • Size: Changes < 1KB AND < 1% are insignificant
  • All other changes are flagged to catch regressions

⚡ Dev Server

Metric Canary PR Change Trend
Cold (Listen) 455ms 455ms █▁▁▁█
Cold (Ready in log) 439ms 439ms ▃▆▆▃▅
Cold (First Request) 1.171s 1.143s ▁██▂▃
Warm (Listen) 456ms 457ms █▁▁██
Warm (Ready in log) 443ms 443ms ▆▁▁▆█
Warm (First Request) 340ms 344ms ▆▁█▆▆
📦 Dev Server (Webpack) (Legacy)

📦 Dev Server (Webpack)

Metric Canary PR Change Trend
Cold (Listen) 456ms 456ms ▁▁▅▁▁
Cold (Ready in log) 439ms 440ms ▆▆▆▇▅
Cold (First Request) 1.814s 1.835s █▆▇█▆
Warm (Listen) 455ms 456ms █▁███
Warm (Ready in log) 439ms 440ms █▇▇█▆
Warm (First Request) 1.823s 1.829s ▇▆▆▇▅

⚡ Production Builds

Metric Canary PR Change Trend
Fresh Build 4.056s 4.028s ▄▁▁▄█
Cached Build 4.052s 4.075s ▃▁▂▄█
📦 Production Builds (Webpack) (Legacy)

📦 Production Builds (Webpack)

Metric Canary PR Change Trend
Fresh Build 14.030s 14.008s ▄▁▃▃▁
Cached Build 14.108s 14.097s ▄▁▃▃▁
node_modules Size 458 MB 458 MB 🟢 74.1 kB (0%) ▁▁▁▁▁
📦 Bundle Sizes

Bundle Sizes

⚡ Turbopack

Client

Main Bundles: **431 kB** → **431 kB** ✅ -14 B

82 files with content-based hashes (individual files not comparable between builds)

Server

Middleware
Canary PR Change
middleware-b..fest.js gzip 783 B 790 B
Total 783 B 790 B ⚠️ +7 B
Build Details
Build Manifests
Canary PR Change
_buildManifest.js gzip 451 B 449 B
Total 451 B 449 B ✅ -2 B

📦 Webpack

Client

Main Bundles
Canary PR Change
2086.HASH.js gzip 169 B N/A -
2161-HASH.js gzip 5.41 kB N/A -
2747-HASH.js gzip 4.48 kB N/A -
4322-HASH.js gzip 52.8 kB N/A -
ec793fe8-HASH.js gzip 62.3 kB N/A -
framework-HASH.js gzip 59.8 kB 59.8 kB
main-app-HASH.js gzip 251 B 254 B 🔴 +3 B (+1%)
main-HASH.js gzip 38.6 kB 39 kB
webpack-HASH.js gzip 1.68 kB 1.68 kB
1596.HASH.js gzip N/A 169 B -
2658-HASH.js gzip N/A 52.7 kB -
6349-HASH.js gzip N/A 4.46 kB -
7019-HASH.js gzip N/A 5.43 kB -
b17a3386-HASH.js gzip N/A 62.3 kB -
Total 225 kB 226 kB ⚠️ +245 B
Polyfills
Canary PR Change
polyfills-HASH.js gzip 39.4 kB 39.4 kB
Total 39.4 kB 39.4 kB
Pages
Canary PR Change
_app-HASH.js gzip 194 B 193 B
_error-HASH.js gzip 182 B 182 B
css-HASH.js gzip 336 B 335 B
dynamic-HASH.js gzip 1.8 kB 1.8 kB
edge-ssr-HASH.js gzip 256 B 256 B
head-HASH.js gzip 352 B 349 B
hooks-HASH.js gzip 385 B 384 B
image-HASH.js gzip 580 B 580 B
index-HASH.js gzip 259 B 258 B
link-HASH.js gzip 2.5 kB 2.51 kB
routerDirect..HASH.js gzip 319 B 317 B
script-HASH.js gzip 385 B 387 B
withRouter-HASH.js gzip 316 B 315 B
1afbb74e6ecf..834.css gzip 106 B 106 B
Total 7.97 kB 7.96 kB ✅ -8 B

Server

Edge SSR
Canary PR Change
edge-ssr.js gzip 125 kB 125 kB
page.js gzip 242 kB 242 kB
Total 367 kB 367 kB ⚠️ +315 B
Middleware
Canary PR Change
middleware-b..fest.js gzip 653 B 653 B
middleware-r..fest.js gzip 155 B 156 B
middleware.js gzip 33.2 kB 33.4 kB
edge-runtime..pack.js gzip 842 B 842 B
Total 34.8 kB 35 kB ⚠️ +185 B
Build Details
Build Manifests
Canary PR Change
_buildManifest.js gzip 738 B 738 B
Total 738 B 738 B
Build Cache
Canary PR Change
0.pack gzip 3.67 MB 3.67 MB
index.pack gzip 100 kB 101 kB
index.pack.old gzip 99.5 kB 100 kB
Total 3.87 MB 3.87 MB ⚠️ +2.78 kB

🔄 Shared (bundler-independent)

Runtimes
Canary PR Change
app-page-exp...dev.js gzip 304 kB 304 kB
app-page-exp..prod.js gzip 158 kB 158 kB
app-page-tur...dev.js gzip 304 kB 304 kB
app-page-tur..prod.js gzip 158 kB 158 kB
app-page-tur...dev.js gzip 300 kB 300 kB
app-page-tur..prod.js gzip 156 kB 156 kB
app-page.run...dev.js gzip 301 kB 301 kB
app-page.run..prod.js gzip 156 kB 156 kB
app-route-ex...dev.js gzip 68.8 kB 68.8 kB
app-route-ex..prod.js gzip 47.6 kB 47.6 kB
app-route-tu...dev.js gzip 68.8 kB 68.8 kB
app-route-tu..prod.js gzip 47.6 kB 47.6 kB
app-route-tu...dev.js gzip 68.4 kB 68.4 kB
app-route-tu..prod.js gzip 47.4 kB 47.4 kB
app-route.ru...dev.js gzip 68.4 kB 68.4 kB
app-route.ru..prod.js gzip 47.3 kB 47.3 kB
dist_client_...dev.js gzip 324 B 324 B
dist_client_...dev.js gzip 326 B 326 B
dist_client_...dev.js gzip 318 B 318 B
dist_client_...dev.js gzip 317 B 317 B
pages-api-tu...dev.js gzip 41.2 kB 41.2 kB
pages-api-tu..prod.js gzip 31.3 kB 31.3 kB
pages-api.ru...dev.js gzip 41.1 kB 41.1 kB
pages-api.ru..prod.js gzip 31.2 kB 31.2 kB
pages-turbo....dev.js gzip 50.9 kB 50.8 kB
pages-turbo...prod.js gzip 38.3 kB 38.2 kB
pages.runtim...dev.js gzip 50.8 kB 50.7 kB
pages.runtim..prod.js gzip 38.3 kB 38.2 kB
server.runti..prod.js gzip 62.3 kB 62.2 kB
Total 2.69 MB 2.69 MB ✅ -372 B
📝 Changed Files (5 files)

Files with changes:

  • pages-turbo...ntime.dev.js
  • pages-turbo...time.prod.js
  • pages.runtime.dev.js
  • pages.runtime.prod.js
  • server.runtime.prod.js
View diffs
pages-turbo...ntime.dev.js
@@ -7,8 +7,8 @@ Read more: https://nextjs.org/docs/messages/no-document-import-in-page`),"__NEXT
 
 Keys that need to be moved: ${invalidKeys.join(", ")}.
 Read more: https://nextjs.org/docs/messages/${docsPathname}`};function checkRedirectValues(redirect,req,method){let{destination,permanent,statusCode,basePath}=redirect,errors=[],hasStatusCode=void 0!==statusCode,hasPermanent=void 0!==permanent;hasPermanent&&hasStatusCode?errors.push("`permanent` and `statusCode` can not both be provided"):hasPermanent&&"boolean"!=typeof permanent?errors.push("`permanent` must be `true` or `false`"):hasStatusCode&&!allowedStatusCodes.has(statusCode)&&errors.push(`\`statusCode\` must undefined or one of ${[...allowedStatusCodes].join(", ")}`);let destinationType=typeof destination;"string"!==destinationType&&errors.push(`\`destination\` should be string but received ${destinationType}`);let basePathType=typeof basePath;if("undefined"!==basePathType&&"boolean"!==basePathType&&errors.push(`\`basePath\` should be undefined or a false, received ${basePathType}`),errors.length>0)throw Object.defineProperty(Error(`Invalid redirect object returned from ${method} for ${req.url}
-`+errors.join(" and ")+"\nSee more info here: https://nextjs.org/docs/messages/invalid-redirect-gssp"),"__NEXT_ERROR_CODE",{value:"E185",enumerable:!1,configurable:!0})}async function renderToHTMLImpl(req,res,pathname,query,renderOpts,extra,sharedContext,renderContext){let previewData,props,isPreview;(0,api_utils.setLazyProp)({req:req},"cookies",getCookieParser(req.headers));let metadata={};if(metadata.assetQueryString=renderOpts.dev&&renderOpts.assetQueryString||"",renderOpts.dev&&!metadata.assetQueryString){let userAgent=(req.headers["user-agent"]||"").toLowerCase();userAgent.includes("safari")&&!userAgent.includes("chrome")&&(metadata.assetQueryString=`?ts=${Date.now()}`)}sharedContext.deploymentId&&(metadata.assetQueryString+=`${metadata.assetQueryString?"&":"?"}dpl=${sharedContext.deploymentId}`),query=Object.assign({},query);let{err,dev=!1,pageConfig={},buildManifest,reactLoadableManifest,ErrorDebug,getStaticProps,getStaticPaths,getServerSideProps,isNextDataRequest,params,previewProps,basePath,images,runtime:globalRuntime,isExperimentalCompile,expireTime}=renderOpts,{App}=extra,assetQueryString=metadata.assetQueryString,Document=extra.Document,Component=renderOpts.Component,isFallback=renderContext.isFallback??!1,notFoundSrcPage=renderContext.developmentNotFoundSourcePage;var cdnCacheControlHeader,query1=query;for(let name of INTERNAL_QUERY_NAMES)delete query1[name];let isSSG=!!getStaticProps,isBuildTimeSSG=isSSG&&renderOpts.nextExport,defaultAppGetInitialProps=App.getInitialProps===App.origGetInitialProps,hasPageGetInitialProps=!!(null==Component?void 0:Component.getInitialProps),hasPageScripts=null==Component?void 0:Component.unstable_scriptLoader,pageIsDynamic=isDynamicRoute(pathname),defaultErrorGetInitialProps="/_error"===pathname&&Component.getInitialProps===Component.origGetInitialProps;renderOpts.nextExport&&hasPageGetInitialProps&&!defaultErrorGetInitialProps&&warn(`Detected getInitialProps on page '${pathname}' while running export. It's recommended to use getStaticProps which has a more correct behavior for static exporting.
-Read more: https://nextjs.org/docs/messages/get-initial-props-export`);let isAutoExport=!hasPageGetInitialProps&&defaultAppGetInitialProps&&!isSSG&&!getServerSideProps;if(isAutoExport&&!dev&&isExperimentalCompile){let cacheHeaders;cdnCacheControlHeader=renderOpts.experimental.cdnCacheControlHeader,cacheHeaders=function({revalidate,expire}){let swrHeader="number"==typeof revalidate&&void 0!==expire&&revalidate<expire?`, stale-while-revalidate=${expire-revalidate}`:"";if(0===revalidate)return{"Cache-Control":"private, no-cache, no-store, max-age=0, must-revalidate"};let maxAge="number"==typeof revalidate?revalidate:constants.CACHE_ONE_YEAR,cdnCacheControl=`max-age=${maxAge}${swrHeader}`;return{"Cache-Control":`s-maxage=${maxAge}`,cdnCacheControl:cdnCacheControl}}({revalidate:!1,expire:expireTime}),res.setHeader("Cache-Control",cacheHeaders["Cache-Control"]),cacheHeaders.cdnCacheControl&&res.setHeader(cdnCacheControlHeader??"CDN-Cache-Control",cacheHeaders.cdnCacheControl),isAutoExport=!1}if(hasPageGetInitialProps&&isSSG)throw Object.defineProperty(Error(constants.SSG_GET_INITIAL_PROPS_CONFLICT+` ${pathname}`),"__NEXT_ERROR_CODE",{value:"E262",enumerable:!1,configurable:!0});if(hasPageGetInitialProps&&getServerSideProps)throw Object.defineProperty(Error(constants.SERVER_PROPS_GET_INIT_PROPS_CONFLICT+` ${pathname}`),"__NEXT_ERROR_CODE",{value:"E262",enumerable:!1,configurable:!0});if(getServerSideProps&&isSSG)throw Object.defineProperty(Error(constants.SERVER_PROPS_SSG_CONFLICT+` ${pathname}`),"__NEXT_ERROR_CODE",{value:"E262",enumerable:!1,configurable:!0});if(getServerSideProps&&"export"===renderOpts.nextConfigOutput)throw Object.defineProperty(Error('getServerSideProps cannot be used with "output: export". See more info here: https://nextjs.org/docs/advanced-features/static-html-export'),"__NEXT_ERROR_CODE",{value:"E369",enumerable:!1,configurable:!0});if(getStaticPaths&&!pageIsDynamic)throw Object.defineProperty(Error(`getStaticPaths is only allowed for dynamic SSG pages and was found on '${pathname}'.
+`+errors.join(" and ")+"\nSee more info here: https://nextjs.org/docs/messages/invalid-redirect-gssp"),"__NEXT_ERROR_CODE",{value:"E185",enumerable:!1,configurable:!0})}async function renderToHTMLImpl(req,res,pathname,query,renderOpts,extra,sharedContext,renderContext){let previewData,props,isPreview;(0,api_utils.setLazyProp)({req:req},"cookies",getCookieParser(req.headers));let metadata={};if(metadata.assetQueryString=renderOpts.dev&&renderOpts.assetQueryString||"",renderOpts.dev&&!metadata.assetQueryString){let userAgent=(req.headers["user-agent"]||"").toLowerCase();userAgent.includes("safari")&&!userAgent.includes("chrome")&&(metadata.assetQueryString=`?ts=${Date.now()}`)}sharedContext.deploymentId&&(metadata.assetQueryString+=`${metadata.assetQueryString?"&":"?"}dpl=${sharedContext.deploymentId}`),query=Object.assign({},query);let{err,dev=!1,pageConfig={},buildManifest,reactLoadableManifest,ErrorDebug,getStaticProps,getStaticPaths,getServerSideProps,isNextDataRequest,params,previewProps,basePath,images,runtime:globalRuntime,isExperimentalCompile,expireTime}=renderOpts,{App}=extra,assetQueryString=metadata.assetQueryString,Document=extra.Document,Component=renderOpts.Component,isFallback=renderContext.isFallback??!1,notFoundSrcPage=renderContext.developmentNotFoundSourcePage;var query1=query;for(let name of INTERNAL_QUERY_NAMES)delete query1[name];let isSSG=!!getStaticProps,isBuildTimeSSG=isSSG&&renderOpts.nextExport,defaultAppGetInitialProps=App.getInitialProps===App.origGetInitialProps,hasPageGetInitialProps=!!(null==Component?void 0:Component.getInitialProps),hasPageScripts=null==Component?void 0:Component.unstable_scriptLoader,pageIsDynamic=isDynamicRoute(pathname),defaultErrorGetInitialProps="/_error"===pathname&&Component.getInitialProps===Component.origGetInitialProps;renderOpts.nextExport&&hasPageGetInitialProps&&!defaultErrorGetInitialProps&&warn(`Detected getInitialProps on page '${pathname}' while running export. It's recommended to use getStaticProps which has a more correct behavior for static exporting.
+Read more: https://nextjs.org/docs/messages/get-initial-props-export`);let isAutoExport=!hasPageGetInitialProps&&defaultAppGetInitialProps&&!isSSG&&!getServerSideProps;if(isAutoExport&&!dev&&isExperimentalCompile&&(res.setHeader("Cache-Control",function({revalidate,expire}){let swrHeader="number"==typeof revalidate&&void 0!==expire&&revalidate<expire?`, stale-while-revalidate=${expire-revalidate}`:"";return 0===revalidate?"private, no-cache, no-store, max-age=0, must-revalidate":"number"==typeof revalidate?`s-maxage=${revalidate}${swrHeader}`:`s-maxage=${constants.CACHE_ONE_YEAR}${swrHeader}`}({revalidate:!1,expire:expireTime})),isAutoExport=!1),hasPageGetInitialProps&&isSSG)throw Object.defineProperty(Error(constants.SSG_GET_INITIAL_PROPS_CONFLICT+` ${pathname}`),"__NEXT_ERROR_CODE",{value:"E262",enumerable:!1,configurable:!0});if(hasPageGetInitialProps&&getServerSideProps)throw Object.defineProperty(Error(constants.SERVER_PROPS_GET_INIT_PROPS_CONFLICT+` ${pathname}`),"__NEXT_ERROR_CODE",{value:"E262",enumerable:!1,configurable:!0});if(getServerSideProps&&isSSG)throw Object.defineProperty(Error(constants.SERVER_PROPS_SSG_CONFLICT+` ${pathname}`),"__NEXT_ERROR_CODE",{value:"E262",enumerable:!1,configurable:!0});if(getServerSideProps&&"export"===renderOpts.nextConfigOutput)throw Object.defineProperty(Error('getServerSideProps cannot be used with "output: export". See more info here: https://nextjs.org/docs/advanced-features/static-html-export'),"__NEXT_ERROR_CODE",{value:"E369",enumerable:!1,configurable:!0});if(getStaticPaths&&!pageIsDynamic)throw Object.defineProperty(Error(`getStaticPaths is only allowed for dynamic SSG pages and was found on '${pathname}'.
 Read more: https://nextjs.org/docs/messages/non-dynamic-getstaticpaths-usage`),"__NEXT_ERROR_CODE",{value:"E187",enumerable:!1,configurable:!0});if(getStaticPaths&&!isSSG)throw Object.defineProperty(Error(`getStaticPaths was added without a getStaticProps in ${pathname}. Without getStaticProps, getStaticPaths does nothing`),"__NEXT_ERROR_CODE",{value:"E447",enumerable:!1,configurable:!0});if(isSSG&&pageIsDynamic&&!getStaticPaths)throw Object.defineProperty(Error(`getStaticPaths is required for dynamic SSG pages and is missing for '${pathname}'.
 Read more: https://nextjs.org/docs/messages/invalid-getstaticpaths-value`),"__NEXT_ERROR_CODE",{value:"E255",enumerable:!1,configurable:!0});let asPath=renderOpts.resolvedAsPath||req.url;if(dev){let{isValidElementType}=__webpack_require__("./dist/compiled/react-is/index.js");if(!isValidElementType(Component))throw Object.defineProperty(Error(`The default export is not a React Component in page: "${pathname}"`),"__NEXT_ERROR_CODE",{value:"E286",enumerable:!1,configurable:!0});if(!isValidElementType(App))throw Object.defineProperty(Error('The default export is not a React Component in page: "/_app"'),"__NEXT_ERROR_CODE",{value:"E464",enumerable:!1,configurable:!0});if(!isValidElementType(Document))throw Object.defineProperty(Error('The default export is not a React Component in page: "/_document"'),"__NEXT_ERROR_CODE",{value:"E511",enumerable:!1,configurable:!0});if((isAutoExport||isFallback)&&(query={},asPath=`${pathname}${req.url.endsWith("/")&&"/"!==pathname&&!pageIsDynamic?"/":""}`,req.url=pathname),"/404"===pathname&&(hasPageGetInitialProps||getServerSideProps))throw Object.defineProperty(Error(`\`pages/404\` ${constants.STATIC_STATUS_PAGE_GET_INITIAL_PROPS_ERROR}`),"__NEXT_ERROR_CODE",{value:"E134",enumerable:!1,configurable:!0});if(STATIC_STATUS_PAGES.includes(pathname)&&(hasPageGetInitialProps||getServerSideProps))throw Object.defineProperty(Error(`\`pages${pathname}\` ${constants.STATIC_STATUS_PAGE_GET_INITIAL_PROPS_ERROR}`),"__NEXT_ERROR_CODE",{value:"E125",enumerable:!1,configurable:!0});(null==renderOpts?void 0:renderOpts.setIsrStatus)&&renderOpts.setIsrStatus(asPath,isSSG||isAutoExport)}for(let methodName of["getStaticProps","getServerSideProps","getStaticPaths"])if(null==Component?void 0:Component[methodName])throw Object.defineProperty(Error(`page ${pathname} ${methodName} ${constants.GSSP_COMPONENT_MEMBER_ERROR}`),"__NEXT_ERROR_CODE",{value:"E417",enumerable:!1,configurable:!0});await loadable_shared_runtime.preloadAll(),(isSSG||getServerSideProps)&&!isFallback&&previewProps&&(isPreview=!1!==(previewData=render_tryGetPreviewData(req,res,previewProps,!!renderOpts.multiZoneDraftMode)));let routerIsReady=!!(getServerSideProps||hasPageGetInitialProps||!defaultAppGetInitialProps&&!isSSG||isExperimentalCompile),router=new ServerRouter(pathname,query,asPath,{isFallback:isFallback},routerIsReady,basePath,renderOpts.locale,renderOpts.locales,renderOpts.defaultLocale,renderOpts.domainLocales,isPreview,getRequestMeta(req,"isLocaleDomain")),appRouter={back(){router.back()},forward(){router.forward()},refresh(){router.reload()},hmrRefresh(){},push(href,{scroll}={}){router.push(href,void 0,{scroll})},replace(href,{scroll}={}){router.replace(href,void 0,{scroll})},prefetch(href){router.prefetch(href)}},scriptLoader={},jsxStyleRegistry=(0,external_styled_jsx_namespaceObject.createStyleRegistry)(),head=[(0,jsx_runtime_namespaceObject.jsx)("meta",{charSet:"utf-8"},"charset"),(0,jsx_runtime_namespaceObject.jsx)("meta",{name:"viewport",content:"width=device-width"},"viewport")],reactLoadableModules=[],initialScripts={};hasPageScripts&&(initialScripts.beforeInteractive=[].concat(hasPageScripts()).filter(script=>"beforeInteractive"===script.props.strategy).map(script=>script.props));let csp=req.headers["content-security-policy"]||req.headers["content-security-policy-report-only"],nonce="string"==typeof csp?function(cspHeaderValue){var _directive_split_slice_map_find;let directives=cspHeaderValue.split(";").map(directive=>directive.trim()),directive=directives.find(dir=>dir.startsWith("script-src"))||directives.find(dir=>dir.startsWith("default-src"));if(!directive)return;let nonce=null==(_directive_split_slice_map_find=directive.split(" ").slice(1).map(source=>source.trim()).find(source=>source.startsWith("'nonce-")&&source.length>8&&source.endsWith("'")))?void 0:_directive_split_slice_map_find.slice(7,-1);if(nonce){if(ESCAPE_REGEX.test(nonce))throw Object.defineProperty(Error("Nonce value from Content-Security-Policy contained HTML escape characters.\nLearn more: https://nextjs.org/docs/messages/nonce-contained-invalid-characters"),"__NEXT_ERROR_CODE",{value:"E440",enumerable:!1,configurable:!0});return nonce}}(csp):void 0,AppContainer=({children})=>{var router1;return(0,jsx_runtime_namespaceObject.jsx)(AppRouterContext.Provider,{value:appRouter,children:(0,jsx_runtime_namespaceObject.jsx)(SearchParamsContext.Provider,{value:(router1=router).isReady&&router1.query?new URL(router1.asPath,"http://n").searchParams:new URLSearchParams,children:(0,jsx_runtime_namespaceObject.jsx)(PathnameContextProviderAdapter,{router:router,isAutoExport:isAutoExport,children:(0,jsx_runtime_namespaceObject.jsx)(PathParamsContext.Provider,{value:function(router){if(!router.isReady||!router.query)return null;let pathParams={};for(let key of Object.keys(getRouteRegex(router.pathname).groups))pathParams[key]=router.query[key];return pathParams}(router),children:(0,jsx_runtime_namespaceObject.jsx)(RouterContext.Provider,{value:router,children:(0,jsx_runtime_namespaceObject.jsx)(HeadManagerContext.Provider,{value:{updateHead:state=>{head=state},updateScripts:scripts=>{scriptLoader=scripts},scripts:initialScripts,mountedInstances:new Set,nonce},children:(0,jsx_runtime_namespaceObject.jsx)(LoadableContext.Provider,{value:moduleName=>reactLoadableModules.push(moduleName),children:(0,jsx_runtime_namespaceObject.jsx)(external_styled_jsx_namespaceObject.StyleRegistry,{registry:jsxStyleRegistry,children:(0,jsx_runtime_namespaceObject.jsx)(ImageConfigContext.Provider,{value:images,children:children})})})})})})})})})},Noop=()=>null,AppContainerWithIsomorphicFiberStructure=({children})=>(0,jsx_runtime_namespaceObject.jsxs)(jsx_runtime_namespaceObject.Fragment,{children:[(0,jsx_runtime_namespaceObject.jsx)(Noop,{}),(0,jsx_runtime_namespaceObject.jsx)(AppContainer,{children:(0,jsx_runtime_namespaceObject.jsxs)(jsx_runtime_namespaceObject.Fragment,{children:[children,(0,jsx_runtime_namespaceObject.jsx)(Noop,{})]})})]}),ctx={err,req:isAutoExport?void 0:req,res:isAutoExport?void 0:res,pathname,query,asPath,locale:renderOpts.locale,locales:renderOpts.locales,defaultLocale:renderOpts.defaultLocale,AppTree:props=>(0,jsx_runtime_namespaceObject.jsx)(AppContainerWithIsomorphicFiberStructure,{children:renderPageTree(App,Component,{...props,router})}),defaultGetInitialProps:async(docCtx,options={})=>{let{html,head:renderPageHead}=await docCtx.renderPage({enhanceApp:AppComp=>props=>(0,jsx_runtime_namespaceObject.jsx)(AppComp,{...props})}),styles=jsxStyleRegistry.styles({nonce:options.nonce||nonce});return jsxStyleRegistry.flush(),{html,head:renderPageHead,styles}}},nextExport=!isSSG&&(renderOpts.nextExport||dev&&(isAutoExport||isFallback));if(props=await loadGetInitialProps(App,{AppTree:ctx.AppTree,Component,router,ctx}),(isSSG||getServerSideProps)&&isPreview&&(props.__N_PREVIEW=!0),isSSG&&(props.__N_SSG=!0),isSSG&&!isFallback){let data,revalidate;try{data=await (0,tracer_.getTracer)().trace(trace_constants.RenderSpan.getStaticProps,{spanName:`getStaticProps ${pathname}`,attributes:{"next.route":pathname}},()=>getStaticProps({...pageIsDynamic?{params}:void 0,...isPreview?{draftMode:!0,preview:!0,previewData:previewData}:void 0,locales:[...renderOpts.locales??[]],locale:renderOpts.locale,defaultLocale:renderOpts.defaultLocale,revalidateReason:renderOpts.isOnDemandRevalidate?"on-demand":isBuildTimeSSG?"build":"stale"}))}catch(staticPropsError){throw staticPropsError&&"ENOENT"===staticPropsError.code&&delete staticPropsError.code,staticPropsError}if(null==data)throw Object.defineProperty(Error(constants.GSP_NO_RETURNED_VALUE),"__NEXT_ERROR_CODE",{value:"E394",enumerable:!1,configurable:!0});let invalidKeys=Object.keys(data).filter(key=>"revalidate"!==key&&"props"!==key&&"redirect"!==key&&"notFound"!==key);if(invalidKeys.includes("unstable_revalidate"))throw Object.defineProperty(Error(constants.UNSTABLE_REVALIDATE_RENAME_ERROR),"__NEXT_ERROR_CODE",{value:"E394",enumerable:!1,configurable:!0});if(invalidKeys.length)throw Object.defineProperty(Error(invalidKeysMsg("getStaticProps",invalidKeys)),"__NEXT_ERROR_CODE",{value:"E394",enumerable:!1,configurable:!0});if(void 0!==data.notFound&&void 0!==data.redirect)throw Object.defineProperty(Error(`\`redirect\` and \`notFound\` can not both be returned from ${isSSG?"getStaticProps":"getServerSideProps"} at the same time. Page: ${pathname}
 See more info here: https://nextjs.org/docs/messages/gssp-mixed-not-found-redirect`),"__NEXT_ERROR_CODE",{value:"E454",enumerable:!1,configurable:!0});if("notFound"in data&&data.notFound){if("/404"===pathname)throw Object.defineProperty(Error('The /404 page can not return notFound in "getStaticProps", please remove it to continue!'),"__NEXT_ERROR_CODE",{value:"E121",enumerable:!1,configurable:!0});metadata.isNotFound=!0}if("redirect"in data&&data.redirect&&"object"==typeof data.redirect){if(checkRedirectValues(data.redirect,req,"getStaticProps"),isBuildTimeSSG)throw Object.defineProperty(Error(`\`redirect\` can not be returned from getStaticProps during prerendering (${req.url})
pages-turbo...time.prod.js

Diff too large to display

pages.runtime.dev.js
@@ -7,8 +7,8 @@ Read more: https://nextjs.org/docs/messages/no-document-import-in-page`),"__NEXT
 
 Keys that need to be moved: ${invalidKeys.join(", ")}.
 Read more: https://nextjs.org/docs/messages/${docsPathname}`};function checkRedirectValues(redirect,req,method){let{destination,permanent,statusCode,basePath}=redirect,errors=[],hasStatusCode=void 0!==statusCode,hasPermanent=void 0!==permanent;hasPermanent&&hasStatusCode?errors.push("`permanent` and `statusCode` can not both be provided"):hasPermanent&&"boolean"!=typeof permanent?errors.push("`permanent` must be `true` or `false`"):hasStatusCode&&!allowedStatusCodes.has(statusCode)&&errors.push(`\`statusCode\` must undefined or one of ${[...allowedStatusCodes].join(", ")}`);let destinationType=typeof destination;"string"!==destinationType&&errors.push(`\`destination\` should be string but received ${destinationType}`);let basePathType=typeof basePath;if("undefined"!==basePathType&&"boolean"!==basePathType&&errors.push(`\`basePath\` should be undefined or a false, received ${basePathType}`),errors.length>0)throw Object.defineProperty(Error(`Invalid redirect object returned from ${method} for ${req.url}
-`+errors.join(" and ")+"\nSee more info here: https://nextjs.org/docs/messages/invalid-redirect-gssp"),"__NEXT_ERROR_CODE",{value:"E185",enumerable:!1,configurable:!0})}async function renderToHTMLImpl(req,res,pathname,query,renderOpts,extra,sharedContext,renderContext){let previewData,props,isPreview;(0,api_utils.setLazyProp)({req:req},"cookies",getCookieParser(req.headers));let metadata={};if(metadata.assetQueryString=renderOpts.dev&&renderOpts.assetQueryString||"",renderOpts.dev&&!metadata.assetQueryString){let userAgent=(req.headers["user-agent"]||"").toLowerCase();userAgent.includes("safari")&&!userAgent.includes("chrome")&&(metadata.assetQueryString=`?ts=${Date.now()}`)}sharedContext.deploymentId&&(metadata.assetQueryString+=`${metadata.assetQueryString?"&":"?"}dpl=${sharedContext.deploymentId}`),query=Object.assign({},query);let{err,dev=!1,pageConfig={},buildManifest,reactLoadableManifest,ErrorDebug,getStaticProps,getStaticPaths,getServerSideProps,isNextDataRequest,params,previewProps,basePath,images,runtime:globalRuntime,isExperimentalCompile,expireTime}=renderOpts,{App}=extra,assetQueryString=metadata.assetQueryString,Document=extra.Document,Component=renderOpts.Component,isFallback=renderContext.isFallback??!1,notFoundSrcPage=renderContext.developmentNotFoundSourcePage;var cdnCacheControlHeader,query1=query;for(let name of INTERNAL_QUERY_NAMES)delete query1[name];let isSSG=!!getStaticProps,isBuildTimeSSG=isSSG&&renderOpts.nextExport,defaultAppGetInitialProps=App.getInitialProps===App.origGetInitialProps,hasPageGetInitialProps=!!(null==Component?void 0:Component.getInitialProps),hasPageScripts=null==Component?void 0:Component.unstable_scriptLoader,pageIsDynamic=isDynamicRoute(pathname),defaultErrorGetInitialProps="/_error"===pathname&&Component.getInitialProps===Component.origGetInitialProps;renderOpts.nextExport&&hasPageGetInitialProps&&!defaultErrorGetInitialProps&&warn(`Detected getInitialProps on page '${pathname}' while running export. It's recommended to use getStaticProps which has a more correct behavior for static exporting.
-Read more: https://nextjs.org/docs/messages/get-initial-props-export`);let isAutoExport=!hasPageGetInitialProps&&defaultAppGetInitialProps&&!isSSG&&!getServerSideProps;if(isAutoExport&&!dev&&isExperimentalCompile){let cacheHeaders;cdnCacheControlHeader=renderOpts.experimental.cdnCacheControlHeader,cacheHeaders=function({revalidate,expire}){let swrHeader="number"==typeof revalidate&&void 0!==expire&&revalidate<expire?`, stale-while-revalidate=${expire-revalidate}`:"";if(0===revalidate)return{"Cache-Control":"private, no-cache, no-store, max-age=0, must-revalidate"};let maxAge="number"==typeof revalidate?revalidate:constants.CACHE_ONE_YEAR,cdnCacheControl=`max-age=${maxAge}${swrHeader}`;return{"Cache-Control":`s-maxage=${maxAge}`,cdnCacheControl:cdnCacheControl}}({revalidate:!1,expire:expireTime}),res.setHeader("Cache-Control",cacheHeaders["Cache-Control"]),cacheHeaders.cdnCacheControl&&res.setHeader(cdnCacheControlHeader??"CDN-Cache-Control",cacheHeaders.cdnCacheControl),isAutoExport=!1}if(hasPageGetInitialProps&&isSSG)throw Object.defineProperty(Error(constants.SSG_GET_INITIAL_PROPS_CONFLICT+` ${pathname}`),"__NEXT_ERROR_CODE",{value:"E262",enumerable:!1,configurable:!0});if(hasPageGetInitialProps&&getServerSideProps)throw Object.defineProperty(Error(constants.SERVER_PROPS_GET_INIT_PROPS_CONFLICT+` ${pathname}`),"__NEXT_ERROR_CODE",{value:"E262",enumerable:!1,configurable:!0});if(getServerSideProps&&isSSG)throw Object.defineProperty(Error(constants.SERVER_PROPS_SSG_CONFLICT+` ${pathname}`),"__NEXT_ERROR_CODE",{value:"E262",enumerable:!1,configurable:!0});if(getServerSideProps&&"export"===renderOpts.nextConfigOutput)throw Object.defineProperty(Error('getServerSideProps cannot be used with "output: export". See more info here: https://nextjs.org/docs/advanced-features/static-html-export'),"__NEXT_ERROR_CODE",{value:"E369",enumerable:!1,configurable:!0});if(getStaticPaths&&!pageIsDynamic)throw Object.defineProperty(Error(`getStaticPaths is only allowed for dynamic SSG pages and was found on '${pathname}'.
+`+errors.join(" and ")+"\nSee more info here: https://nextjs.org/docs/messages/invalid-redirect-gssp"),"__NEXT_ERROR_CODE",{value:"E185",enumerable:!1,configurable:!0})}async function renderToHTMLImpl(req,res,pathname,query,renderOpts,extra,sharedContext,renderContext){let previewData,props,isPreview;(0,api_utils.setLazyProp)({req:req},"cookies",getCookieParser(req.headers));let metadata={};if(metadata.assetQueryString=renderOpts.dev&&renderOpts.assetQueryString||"",renderOpts.dev&&!metadata.assetQueryString){let userAgent=(req.headers["user-agent"]||"").toLowerCase();userAgent.includes("safari")&&!userAgent.includes("chrome")&&(metadata.assetQueryString=`?ts=${Date.now()}`)}sharedContext.deploymentId&&(metadata.assetQueryString+=`${metadata.assetQueryString?"&":"?"}dpl=${sharedContext.deploymentId}`),query=Object.assign({},query);let{err,dev=!1,pageConfig={},buildManifest,reactLoadableManifest,ErrorDebug,getStaticProps,getStaticPaths,getServerSideProps,isNextDataRequest,params,previewProps,basePath,images,runtime:globalRuntime,isExperimentalCompile,expireTime}=renderOpts,{App}=extra,assetQueryString=metadata.assetQueryString,Document=extra.Document,Component=renderOpts.Component,isFallback=renderContext.isFallback??!1,notFoundSrcPage=renderContext.developmentNotFoundSourcePage;var query1=query;for(let name of INTERNAL_QUERY_NAMES)delete query1[name];let isSSG=!!getStaticProps,isBuildTimeSSG=isSSG&&renderOpts.nextExport,defaultAppGetInitialProps=App.getInitialProps===App.origGetInitialProps,hasPageGetInitialProps=!!(null==Component?void 0:Component.getInitialProps),hasPageScripts=null==Component?void 0:Component.unstable_scriptLoader,pageIsDynamic=isDynamicRoute(pathname),defaultErrorGetInitialProps="/_error"===pathname&&Component.getInitialProps===Component.origGetInitialProps;renderOpts.nextExport&&hasPageGetInitialProps&&!defaultErrorGetInitialProps&&warn(`Detected getInitialProps on page '${pathname}' while running export. It's recommended to use getStaticProps which has a more correct behavior for static exporting.
+Read more: https://nextjs.org/docs/messages/get-initial-props-export`);let isAutoExport=!hasPageGetInitialProps&&defaultAppGetInitialProps&&!isSSG&&!getServerSideProps;if(isAutoExport&&!dev&&isExperimentalCompile&&(res.setHeader("Cache-Control",function({revalidate,expire}){let swrHeader="number"==typeof revalidate&&void 0!==expire&&revalidate<expire?`, stale-while-revalidate=${expire-revalidate}`:"";return 0===revalidate?"private, no-cache, no-store, max-age=0, must-revalidate":"number"==typeof revalidate?`s-maxage=${revalidate}${swrHeader}`:`s-maxage=${constants.CACHE_ONE_YEAR}${swrHeader}`}({revalidate:!1,expire:expireTime})),isAutoExport=!1),hasPageGetInitialProps&&isSSG)throw Object.defineProperty(Error(constants.SSG_GET_INITIAL_PROPS_CONFLICT+` ${pathname}`),"__NEXT_ERROR_CODE",{value:"E262",enumerable:!1,configurable:!0});if(hasPageGetInitialProps&&getServerSideProps)throw Object.defineProperty(Error(constants.SERVER_PROPS_GET_INIT_PROPS_CONFLICT+` ${pathname}`),"__NEXT_ERROR_CODE",{value:"E262",enumerable:!1,configurable:!0});if(getServerSideProps&&isSSG)throw Object.defineProperty(Error(constants.SERVER_PROPS_SSG_CONFLICT+` ${pathname}`),"__NEXT_ERROR_CODE",{value:"E262",enumerable:!1,configurable:!0});if(getServerSideProps&&"export"===renderOpts.nextConfigOutput)throw Object.defineProperty(Error('getServerSideProps cannot be used with "output: export". See more info here: https://nextjs.org/docs/advanced-features/static-html-export'),"__NEXT_ERROR_CODE",{value:"E369",enumerable:!1,configurable:!0});if(getStaticPaths&&!pageIsDynamic)throw Object.defineProperty(Error(`getStaticPaths is only allowed for dynamic SSG pages and was found on '${pathname}'.
 Read more: https://nextjs.org/docs/messages/non-dynamic-getstaticpaths-usage`),"__NEXT_ERROR_CODE",{value:"E187",enumerable:!1,configurable:!0});if(getStaticPaths&&!isSSG)throw Object.defineProperty(Error(`getStaticPaths was added without a getStaticProps in ${pathname}. Without getStaticProps, getStaticPaths does nothing`),"__NEXT_ERROR_CODE",{value:"E447",enumerable:!1,configurable:!0});if(isSSG&&pageIsDynamic&&!getStaticPaths)throw Object.defineProperty(Error(`getStaticPaths is required for dynamic SSG pages and is missing for '${pathname}'.
 Read more: https://nextjs.org/docs/messages/invalid-getstaticpaths-value`),"__NEXT_ERROR_CODE",{value:"E255",enumerable:!1,configurable:!0});let asPath=renderOpts.resolvedAsPath||req.url;if(dev){let{isValidElementType}=__webpack_require__("./dist/compiled/react-is/index.js");if(!isValidElementType(Component))throw Object.defineProperty(Error(`The default export is not a React Component in page: "${pathname}"`),"__NEXT_ERROR_CODE",{value:"E286",enumerable:!1,configurable:!0});if(!isValidElementType(App))throw Object.defineProperty(Error('The default export is not a React Component in page: "/_app"'),"__NEXT_ERROR_CODE",{value:"E464",enumerable:!1,configurable:!0});if(!isValidElementType(Document))throw Object.defineProperty(Error('The default export is not a React Component in page: "/_document"'),"__NEXT_ERROR_CODE",{value:"E511",enumerable:!1,configurable:!0});if((isAutoExport||isFallback)&&(query={},asPath=`${pathname}${req.url.endsWith("/")&&"/"!==pathname&&!pageIsDynamic?"/":""}`,req.url=pathname),"/404"===pathname&&(hasPageGetInitialProps||getServerSideProps))throw Object.defineProperty(Error(`\`pages/404\` ${constants.STATIC_STATUS_PAGE_GET_INITIAL_PROPS_ERROR}`),"__NEXT_ERROR_CODE",{value:"E134",enumerable:!1,configurable:!0});if(STATIC_STATUS_PAGES.includes(pathname)&&(hasPageGetInitialProps||getServerSideProps))throw Object.defineProperty(Error(`\`pages${pathname}\` ${constants.STATIC_STATUS_PAGE_GET_INITIAL_PROPS_ERROR}`),"__NEXT_ERROR_CODE",{value:"E125",enumerable:!1,configurable:!0});(null==renderOpts?void 0:renderOpts.setIsrStatus)&&renderOpts.setIsrStatus(asPath,isSSG||isAutoExport)}for(let methodName of["getStaticProps","getServerSideProps","getStaticPaths"])if(null==Component?void 0:Component[methodName])throw Object.defineProperty(Error(`page ${pathname} ${methodName} ${constants.GSSP_COMPONENT_MEMBER_ERROR}`),"__NEXT_ERROR_CODE",{value:"E417",enumerable:!1,configurable:!0});await loadable_shared_runtime.preloadAll(),(isSSG||getServerSideProps)&&!isFallback&&previewProps&&(isPreview=!1!==(previewData=render_tryGetPreviewData(req,res,previewProps,!!renderOpts.multiZoneDraftMode)));let routerIsReady=!!(getServerSideProps||hasPageGetInitialProps||!defaultAppGetInitialProps&&!isSSG||isExperimentalCompile),router=new ServerRouter(pathname,query,asPath,{isFallback:isFallback},routerIsReady,basePath,renderOpts.locale,renderOpts.locales,renderOpts.defaultLocale,renderOpts.domainLocales,isPreview,getRequestMeta(req,"isLocaleDomain")),appRouter={back(){router.back()},forward(){router.forward()},refresh(){router.reload()},hmrRefresh(){},push(href,{scroll}={}){router.push(href,void 0,{scroll})},replace(href,{scroll}={}){router.replace(href,void 0,{scroll})},prefetch(href){router.prefetch(href)}},scriptLoader={},jsxStyleRegistry=(0,external_styled_jsx_namespaceObject.createStyleRegistry)(),head=[(0,jsx_runtime_namespaceObject.jsx)("meta",{charSet:"utf-8"},"charset"),(0,jsx_runtime_namespaceObject.jsx)("meta",{name:"viewport",content:"width=device-width"},"viewport")],reactLoadableModules=[],initialScripts={};hasPageScripts&&(initialScripts.beforeInteractive=[].concat(hasPageScripts()).filter(script=>"beforeInteractive"===script.props.strategy).map(script=>script.props));let csp=req.headers["content-security-policy"]||req.headers["content-security-policy-report-only"],nonce="string"==typeof csp?function(cspHeaderValue){var _directive_split_slice_map_find;let directives=cspHeaderValue.split(";").map(directive=>directive.trim()),directive=directives.find(dir=>dir.startsWith("script-src"))||directives.find(dir=>dir.startsWith("default-src"));if(!directive)return;let nonce=null==(_directive_split_slice_map_find=directive.split(" ").slice(1).map(source=>source.trim()).find(source=>source.startsWith("'nonce-")&&source.length>8&&source.endsWith("'")))?void 0:_directive_split_slice_map_find.slice(7,-1);if(nonce){if(ESCAPE_REGEX.test(nonce))throw Object.defineProperty(Error("Nonce value from Content-Security-Policy contained HTML escape characters.\nLearn more: https://nextjs.org/docs/messages/nonce-contained-invalid-characters"),"__NEXT_ERROR_CODE",{value:"E440",enumerable:!1,configurable:!0});return nonce}}(csp):void 0,AppContainer=({children})=>{var router1;return(0,jsx_runtime_namespaceObject.jsx)(AppRouterContext.Provider,{value:appRouter,children:(0,jsx_runtime_namespaceObject.jsx)(SearchParamsContext.Provider,{value:(router1=router).isReady&&router1.query?new URL(router1.asPath,"http://n").searchParams:new URLSearchParams,children:(0,jsx_runtime_namespaceObject.jsx)(PathnameContextProviderAdapter,{router:router,isAutoExport:isAutoExport,children:(0,jsx_runtime_namespaceObject.jsx)(PathParamsContext.Provider,{value:function(router){if(!router.isReady||!router.query)return null;let pathParams={};for(let key of Object.keys(getRouteRegex(router.pathname).groups))pathParams[key]=router.query[key];return pathParams}(router),children:(0,jsx_runtime_namespaceObject.jsx)(RouterContext.Provider,{value:router,children:(0,jsx_runtime_namespaceObject.jsx)(HeadManagerContext.Provider,{value:{updateHead:state=>{head=state},updateScripts:scripts=>{scriptLoader=scripts},scripts:initialScripts,mountedInstances:new Set,nonce},children:(0,jsx_runtime_namespaceObject.jsx)(LoadableContext.Provider,{value:moduleName=>reactLoadableModules.push(moduleName),children:(0,jsx_runtime_namespaceObject.jsx)(external_styled_jsx_namespaceObject.StyleRegistry,{registry:jsxStyleRegistry,children:(0,jsx_runtime_namespaceObject.jsx)(ImageConfigContext.Provider,{value:images,children:children})})})})})})})})})},Noop=()=>null,AppContainerWithIsomorphicFiberStructure=({children})=>(0,jsx_runtime_namespaceObject.jsxs)(jsx_runtime_namespaceObject.Fragment,{children:[(0,jsx_runtime_namespaceObject.jsx)(Noop,{}),(0,jsx_runtime_namespaceObject.jsx)(AppContainer,{children:(0,jsx_runtime_namespaceObject.jsxs)(jsx_runtime_namespaceObject.Fragment,{children:[children,(0,jsx_runtime_namespaceObject.jsx)(Noop,{})]})})]}),ctx={err,req:isAutoExport?void 0:req,res:isAutoExport?void 0:res,pathname,query,asPath,locale:renderOpts.locale,locales:renderOpts.locales,defaultLocale:renderOpts.defaultLocale,AppTree:props=>(0,jsx_runtime_namespaceObject.jsx)(AppContainerWithIsomorphicFiberStructure,{children:renderPageTree(App,Component,{...props,router})}),defaultGetInitialProps:async(docCtx,options={})=>{let{html,head:renderPageHead}=await docCtx.renderPage({enhanceApp:AppComp=>props=>(0,jsx_runtime_namespaceObject.jsx)(AppComp,{...props})}),styles=jsxStyleRegistry.styles({nonce:options.nonce||nonce});return jsxStyleRegistry.flush(),{html,head:renderPageHead,styles}}},nextExport=!isSSG&&(renderOpts.nextExport||dev&&(isAutoExport||isFallback));if(props=await loadGetInitialProps(App,{AppTree:ctx.AppTree,Component,router,ctx}),(isSSG||getServerSideProps)&&isPreview&&(props.__N_PREVIEW=!0),isSSG&&(props.__N_SSG=!0),isSSG&&!isFallback){let data,revalidate;try{data=await (0,tracer_.getTracer)().trace(trace_constants.RenderSpan.getStaticProps,{spanName:`getStaticProps ${pathname}`,attributes:{"next.route":pathname}},()=>getStaticProps({...pageIsDynamic?{params}:void 0,...isPreview?{draftMode:!0,preview:!0,previewData:previewData}:void 0,locales:[...renderOpts.locales??[]],locale:renderOpts.locale,defaultLocale:renderOpts.defaultLocale,revalidateReason:renderOpts.isOnDemandRevalidate?"on-demand":isBuildTimeSSG?"build":"stale"}))}catch(staticPropsError){throw staticPropsError&&"ENOENT"===staticPropsError.code&&delete staticPropsError.code,staticPropsError}if(null==data)throw Object.defineProperty(Error(constants.GSP_NO_RETURNED_VALUE),"__NEXT_ERROR_CODE",{value:"E394",enumerable:!1,configurable:!0});let invalidKeys=Object.keys(data).filter(key=>"revalidate"!==key&&"props"!==key&&"redirect"!==key&&"notFound"!==key);if(invalidKeys.includes("unstable_revalidate"))throw Object.defineProperty(Error(constants.UNSTABLE_REVALIDATE_RENAME_ERROR),"__NEXT_ERROR_CODE",{value:"E394",enumerable:!1,configurable:!0});if(invalidKeys.length)throw Object.defineProperty(Error(invalidKeysMsg("getStaticProps",invalidKeys)),"__NEXT_ERROR_CODE",{value:"E394",enumerable:!1,configurable:!0});if(void 0!==data.notFound&&void 0!==data.redirect)throw Object.defineProperty(Error(`\`redirect\` and \`notFound\` can not both be returned from ${isSSG?"getStaticProps":"getServerSideProps"} at the same time. Page: ${pathname}
 See more info here: https://nextjs.org/docs/messages/gssp-mixed-not-found-redirect`),"__NEXT_ERROR_CODE",{value:"E454",enumerable:!1,configurable:!0});if("notFound"in data&&data.notFound){if("/404"===pathname)throw Object.defineProperty(Error('The /404 page can not return notFound in "getStaticProps", please remove it to continue!'),"__NEXT_ERROR_CODE",{value:"E121",enumerable:!1,configurable:!0});metadata.isNotFound=!0}if("redirect"in data&&data.redirect&&"object"==typeof data.redirect){if(checkRedirectValues(data.redirect,req,"getStaticProps"),isBuildTimeSSG)throw Object.defineProperty(Error(`\`redirect\` can not be returned from getStaticProps during prerendering (${req.url})
pages.runtime.prod.js

Diff too large to display

server.runtime.prod.js

Diff too large to display

@ztanner ztanner disabled auto-merge January 13, 2026 01:44
@ztanner ztanner merged commit c1a752b into canary Jan 13, 2026
285 of 287 checks passed
@ztanner ztanner deleted the ztanner/revert-3bbb2e61d54c46df2b5bb0a4ecd7f0765ff93a72 branch January 13, 2026 01:54
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants