Next.js website for Rocky Mountain Vending company featuring: - Product catalog with Stripe integration - Service areas and parts pages - Admin dashboard with Clerk authentication - SEO optimized pages with JSON-LD structured data Co-authored-by: Cursor <cursoragent@cursor.com>
1 line
No EOL
78 KiB
Text
1 line
No EOL
78 KiB
Text
{"version":3,"sources":["../../../src/build/templates/app-page.ts"],"sourcesContent":["import type { LoaderTree } from '../../server/lib/app-dir-module'\nimport type { IncomingMessage, ServerResponse } from 'node:http'\n\nimport {\n AppPageRouteModule,\n type AppPageRouteHandlerContext,\n} from '../../server/route-modules/app-page/module.compiled' with { 'turbopack-transition': 'next-ssr' }\n\nimport { RouteKind } from '../../server/route-kind' with { 'turbopack-transition': 'next-server-utility' }\n\nimport { getRevalidateReason } from '../../server/instrumentation/utils'\nimport { getTracer, SpanKind, type Span } from '../../server/lib/trace/tracer'\nimport { addRequestMeta, getRequestMeta } from '../../server/request-meta'\nimport { BaseServerSpan } from '../../server/lib/trace/constants'\nimport { interopDefault } from '../../server/app-render/interop-default'\nimport { stripFlightHeaders } from '../../server/app-render/strip-flight-headers'\nimport { NodeNextRequest, NodeNextResponse } from '../../server/base-http/node'\nimport { checkIsAppPPREnabled } from '../../server/lib/experimental/ppr'\nimport {\n getFallbackRouteParams,\n createOpaqueFallbackRouteParams,\n type OpaqueFallbackRouteParams,\n} from '../../server/request/fallback-params'\nimport { setReferenceManifestsSingleton } from '../../server/app-render/encryption-utils'\nimport {\n isHtmlBotRequest,\n shouldServeStreamingMetadata,\n} from '../../server/lib/streaming-metadata'\nimport { createServerModuleMap } from '../../server/app-render/action-utils'\nimport { normalizeAppPath } from '../../shared/lib/router/utils/app-paths'\nimport { getIsPossibleServerAction } from '../../server/lib/server-action-request-meta'\nimport {\n RSC_HEADER,\n NEXT_ROUTER_PREFETCH_HEADER,\n NEXT_IS_PRERENDER_HEADER,\n NEXT_DID_POSTPONE_HEADER,\n RSC_CONTENT_TYPE_HEADER,\n} from '../../client/components/app-router-headers'\nimport { getBotType, isBot } from '../../shared/lib/router/utils/is-bot'\nimport {\n CachedRouteKind,\n IncrementalCacheKind,\n type CachedAppPageValue,\n type CachedPageValue,\n type ResponseCacheEntry,\n type ResponseGenerator,\n} from '../../server/response-cache'\nimport { FallbackMode, parseFallbackField } from '../../lib/fallback'\nimport RenderResult from '../../server/render-result'\nimport {\n CACHE_ONE_YEAR,\n HTML_CONTENT_TYPE_HEADER,\n NEXT_CACHE_TAGS_HEADER,\n} from '../../lib/constants'\nimport type { CacheControl } from '../../server/lib/cache-control'\nimport { ENCODED_TAGS } from '../../server/stream-utils/encoded-tags'\nimport { sendRenderResult } from '../../server/send-payload'\nimport { NoFallbackError } from '../../shared/lib/no-fallback-error.external'\n\n// These are injected by the loader afterwards.\n\n/**\n * The tree created in next-app-loader that holds component segments and modules\n * and I've updated it.\n */\ndeclare const tree: LoaderTree\n\n// We inject the tree and pages here so that we can use them in the route\n// module.\n// INJECT:tree\n\nimport GlobalError from 'VAR_MODULE_GLOBAL_ERROR' with { 'turbopack-transition': 'next-server-utility' }\n\nexport { GlobalError }\n\n// These are injected by the loader afterwards.\ndeclare const __next_app_require__: (id: string | number) => unknown\ndeclare const __next_app_load_chunk__: (id: string | number) => Promise<unknown>\n\n// INJECT:__next_app_require__\n// INJECT:__next_app_load_chunk__\n\nexport const __next_app__ = {\n require: __next_app_require__,\n loadChunk: __next_app_load_chunk__,\n}\n\nimport * as entryBase from '../../server/app-render/entry-base' with { 'turbopack-transition': 'next-server-utility' }\nimport { RedirectStatusCode } from '../../client/components/redirect-status-code'\nimport { InvariantError } from '../../shared/lib/invariant-error'\nimport { scheduleOnNextTick } from '../../lib/scheduler'\nimport { isInterceptionRouteAppPath } from '../../shared/lib/router/utils/interception-routes'\n\nexport * from '../../server/app-render/entry-base' with { 'turbopack-transition': 'next-server-utility' }\n\n// Create and export the route module that will be consumed.\nexport const routeModule = new AppPageRouteModule({\n definition: {\n kind: RouteKind.APP_PAGE,\n page: 'VAR_DEFINITION_PAGE',\n pathname: 'VAR_DEFINITION_PATHNAME',\n // The following aren't used in production.\n bundlePath: '',\n filename: '',\n appPaths: [],\n },\n userland: {\n loaderTree: tree,\n },\n distDir: process.env.__NEXT_RELATIVE_DIST_DIR || '',\n relativeProjectDir: process.env.__NEXT_RELATIVE_PROJECT_DIR || '',\n})\n\nexport async function handler(\n req: IncomingMessage,\n res: ServerResponse,\n ctx: {\n waitUntil: (prom: Promise<void>) => void\n }\n) {\n if (routeModule.isDev) {\n addRequestMeta(req, 'devRequestTimingInternalsEnd', process.hrtime.bigint())\n }\n let srcPage = 'VAR_DEFINITION_PAGE'\n\n // turbopack doesn't normalize `/index` in the page name\n // so we need to to process dynamic routes properly\n // TODO: fix turbopack providing differing value from webpack\n if (process.env.TURBOPACK) {\n srcPage = srcPage.replace(/\\/index$/, '') || '/'\n } else if (srcPage === '/index') {\n // we always normalize /index specifically\n srcPage = '/'\n }\n const multiZoneDraftMode = process.env\n .__NEXT_MULTI_ZONE_DRAFT_MODE as any as boolean\n\n const isMinimalMode = Boolean(\n process.env.MINIMAL_MODE || getRequestMeta(req, 'minimalMode')\n )\n\n const prepareResult = await routeModule.prepare(req, res, {\n srcPage,\n multiZoneDraftMode,\n })\n\n if (!prepareResult) {\n res.statusCode = 400\n res.end('Bad Request')\n ctx.waitUntil?.(Promise.resolve())\n return null\n }\n\n const {\n buildId,\n query,\n params,\n pageIsDynamic,\n buildManifest,\n nextFontManifest,\n reactLoadableManifest,\n serverActionsManifest,\n clientReferenceManifest,\n subresourceIntegrityManifest,\n prerenderManifest,\n isDraftMode,\n resolvedPathname,\n revalidateOnlyGenerated,\n routerServerContext,\n nextConfig,\n parsedUrl,\n interceptionRoutePatterns,\n } = prepareResult\n\n const normalizedSrcPage = normalizeAppPath(srcPage)\n\n let { isOnDemandRevalidate } = prepareResult\n\n // We use the resolvedPathname instead of the parsedUrl.pathname because it\n // is not rewritten as resolvedPathname is. This will ensure that the correct\n // prerender info is used instead of using the original pathname as the\n // source. If however PPR is enabled and cacheComponents is disabled, we\n // treat the pathname as dynamic. Currently, there's a bug in the PPR\n // implementation that incorrectly leaves %%drp placeholders in the output of\n // parallel routes. This is addressed with cacheComponents.\n const prerenderInfo =\n nextConfig.experimental.ppr &&\n !nextConfig.cacheComponents &&\n isInterceptionRouteAppPath(resolvedPathname)\n ? null\n : routeModule.match(resolvedPathname, prerenderManifest)\n\n const isPrerendered = !!prerenderManifest.routes[resolvedPathname]\n\n const userAgent = req.headers['user-agent'] || ''\n const botType = getBotType(userAgent)\n const isHtmlBot = isHtmlBotRequest(req)\n\n /**\n * If true, this indicates that the request being made is for an app\n * prefetch request.\n */\n const isPrefetchRSCRequest =\n getRequestMeta(req, 'isPrefetchRSCRequest') ??\n req.headers[NEXT_ROUTER_PREFETCH_HEADER] === '1' // exclude runtime prefetches, which use '2'\n\n // NOTE: Don't delete headers[RSC] yet, it still needs to be used in renderToHTML later\n\n const isRSCRequest =\n getRequestMeta(req, 'isRSCRequest') ?? Boolean(req.headers[RSC_HEADER])\n\n const isPossibleServerAction = getIsPossibleServerAction(req)\n\n /**\n * If the route being rendered is an app page, and the ppr feature has been\n * enabled, then the given route _could_ support PPR.\n */\n const couldSupportPPR: boolean = checkIsAppPPREnabled(\n nextConfig.experimental.ppr\n )\n\n // When enabled, this will allow the use of the `?__nextppronly` query to\n // enable debugging of the static shell.\n const hasDebugStaticShellQuery =\n process.env.__NEXT_EXPERIMENTAL_STATIC_SHELL_DEBUGGING === '1' &&\n typeof query.__nextppronly !== 'undefined' &&\n couldSupportPPR\n\n // When enabled, this will allow the use of the `?__nextppronly` query\n // to enable debugging of the fallback shell.\n const hasDebugFallbackShellQuery =\n hasDebugStaticShellQuery && query.__nextppronly === 'fallback'\n\n // This page supports PPR if it is marked as being `PARTIALLY_STATIC` in the\n // prerender manifest and this is an app page.\n const isRoutePPREnabled: boolean =\n couldSupportPPR &&\n ((\n prerenderManifest.routes[normalizedSrcPage] ??\n prerenderManifest.dynamicRoutes[normalizedSrcPage]\n )?.renderingMode === 'PARTIALLY_STATIC' ||\n // Ideally we'd want to check the appConfig to see if this page has PPR\n // enabled or not, but that would require plumbing the appConfig through\n // to the server during development. We assume that the page supports it\n // but only during development.\n (hasDebugStaticShellQuery &&\n (routeModule.isDev === true ||\n routerServerContext?.experimentalTestProxy === true)))\n\n const isDebugStaticShell: boolean =\n hasDebugStaticShellQuery && isRoutePPREnabled\n\n // We should enable debugging dynamic accesses when the static shell\n // debugging has been enabled and we're also in development mode.\n const isDebugDynamicAccesses =\n isDebugStaticShell && routeModule.isDev === true\n\n const isDebugFallbackShell = hasDebugFallbackShellQuery && isRoutePPREnabled\n\n // If we're in minimal mode, then try to get the postponed information from\n // the request metadata. If available, use it for resuming the postponed\n // render.\n const minimalPostponed = isRoutePPREnabled\n ? getRequestMeta(req, 'postponed')\n : undefined\n\n // If PPR is enabled, and this is a RSC request (but not a prefetch), then\n // we can use this fact to only generate the flight data for the request\n // because we can't cache the HTML (as it's also dynamic).\n const isDynamicRSCRequest =\n isRoutePPREnabled && isRSCRequest && !isPrefetchRSCRequest\n\n // Need to read this before it's stripped by stripFlightHeaders. We don't\n // need to transfer it to the request meta because it's only read\n // within this function; the static segment data should have already been\n // generated, so we will always either return a static response or a 404.\n const segmentPrefetchHeader = getRequestMeta(req, 'segmentPrefetchRSCRequest')\n\n // TODO: investigate existing bug with shouldServeStreamingMetadata always\n // being true for a revalidate due to modifying the base-server this.renderOpts\n // when fixing this to correct logic it causes hydration issue since we set\n // serveStreamingMetadata to true during export\n const serveStreamingMetadata =\n isHtmlBot && isRoutePPREnabled\n ? false\n : !userAgent\n ? true\n : shouldServeStreamingMetadata(userAgent, nextConfig.htmlLimitedBots)\n\n const isSSG = Boolean(\n (prerenderInfo ||\n isPrerendered ||\n prerenderManifest.routes[normalizedSrcPage]) &&\n // If this is a html bot request and PPR is enabled, then we don't want\n // to serve a static response.\n !(isHtmlBot && isRoutePPREnabled)\n )\n\n // When a page supports cacheComponents, we can support RDC for Navigations\n const supportsRDCForNavigations =\n isRoutePPREnabled && nextConfig.cacheComponents === true\n\n // In development, we always want to generate dynamic HTML.\n const supportsDynamicResponse: boolean =\n // If we're in development, we always support dynamic HTML, unless it's\n // a data request, in which case we only produce static HTML.\n routeModule.isDev === true ||\n // If this is not SSG or does not have static paths, then it supports\n // dynamic HTML.\n !isSSG ||\n // If this request has provided postponed data, it supports dynamic\n // HTML.\n typeof minimalPostponed === 'string' ||\n // If this handler supports onCacheEntryV2, then we can only support\n // dynamic responses if it's a dynamic RSC request and not in minimal mode. If it\n // doesn't support it we must fallback to the default behavior.\n (supportsRDCForNavigations && getRequestMeta(req, 'onCacheEntryV2')\n ? // In minimal mode, we'll always want to generate a static response\n // which will generate the RDC for the route. When resuming a Dynamic\n // RSC request, we'll pass the minimal postponed data to the render\n // which will trigger the `supportsDynamicResponse` to be true.\n isDynamicRSCRequest && !isMinimalMode\n : // Otherwise, we can support dynamic responses if it's a dynamic RSC request.\n isDynamicRSCRequest)\n\n // When html bots request PPR page, perform the full dynamic rendering.\n const shouldWaitOnAllReady = isHtmlBot && isRoutePPREnabled\n\n let ssgCacheKey: string | null = null\n if (\n !isDraftMode &&\n isSSG &&\n !supportsDynamicResponse &&\n !isPossibleServerAction &&\n !minimalPostponed &&\n !isDynamicRSCRequest\n ) {\n ssgCacheKey = resolvedPathname\n }\n\n // the staticPathKey differs from ssgCacheKey since\n // ssgCacheKey is null in dev since we're always in \"dynamic\"\n // mode in dev to bypass the cache, but we still need to honor\n // dynamicParams = false in dev mode\n let staticPathKey = ssgCacheKey\n if (!staticPathKey && routeModule.isDev) {\n staticPathKey = resolvedPathname\n }\n\n // If this is a request for an app path that should be statically generated\n // and we aren't in the edge runtime, strip the flight headers so it will\n // generate the static response.\n if (\n !routeModule.isDev &&\n !isDraftMode &&\n isSSG &&\n isRSCRequest &&\n !isDynamicRSCRequest\n ) {\n stripFlightHeaders(req.headers)\n }\n\n const ComponentMod = {\n ...entryBase,\n tree,\n GlobalError,\n handler,\n routeModule,\n __next_app__,\n }\n\n // Before rendering (which initializes component tree modules), we have to\n // set the reference manifests to our global store so Server Action's\n // encryption util can access to them at the top level of the page module.\n if (serverActionsManifest && clientReferenceManifest) {\n setReferenceManifestsSingleton({\n page: srcPage,\n clientReferenceManifest,\n serverActionsManifest,\n serverModuleMap: createServerModuleMap({\n serverActionsManifest,\n }),\n })\n }\n\n const method = req.method || 'GET'\n const tracer = getTracer()\n const activeSpan = tracer.getActiveScopeSpan()\n\n const render404 = async () => {\n // TODO: should route-module itself handle rendering the 404\n if (routerServerContext?.render404) {\n await routerServerContext.render404(req, res, parsedUrl, false)\n } else {\n res.end('This page could not be found')\n }\n return null\n }\n\n try {\n const varyHeader = routeModule.getVaryHeader(\n resolvedPathname,\n interceptionRoutePatterns\n )\n res.setHeader('Vary', varyHeader)\n const invokeRouteModule = async (\n span: Span | undefined,\n context: AppPageRouteHandlerContext\n ) => {\n const nextReq = new NodeNextRequest(req)\n const nextRes = new NodeNextResponse(res)\n\n return routeModule.render(nextReq, nextRes, context).finally(() => {\n if (!span) return\n\n span.setAttributes({\n 'http.status_code': res.statusCode,\n 'next.rsc': false,\n })\n\n const rootSpanAttributes = tracer.getRootSpanAttributes()\n // We were unable to get attributes, probably OTEL is not enabled\n if (!rootSpanAttributes) {\n return\n }\n\n if (\n rootSpanAttributes.get('next.span_type') !==\n BaseServerSpan.handleRequest\n ) {\n console.warn(\n `Unexpected root span type '${rootSpanAttributes.get(\n 'next.span_type'\n )}'. Please report this Next.js issue https://github.com/vercel/next.js`\n )\n return\n }\n\n const route = rootSpanAttributes.get('next.route')\n if (route) {\n const name = `${method} ${route}`\n\n span.setAttributes({\n 'next.route': route,\n 'http.route': route,\n 'next.span_name': name,\n })\n span.updateName(name)\n } else {\n span.updateName(`${method} ${srcPage}`)\n }\n })\n }\n\n const incrementalCache = getRequestMeta(req, 'incrementalCache')\n\n const doRender = async ({\n span,\n postponed,\n fallbackRouteParams,\n forceStaticRender,\n }: {\n span?: Span\n\n /**\n * The postponed data for this render. This is only provided when resuming\n * a render that has been postponed.\n */\n postponed: string | undefined\n\n /**\n * The unknown route params for this render.\n */\n fallbackRouteParams: OpaqueFallbackRouteParams | null\n\n /**\n * When true, this indicates that the response generator is being called\n * in a context where the response must be generated statically.\n *\n * CRITICAL: This should only currently be used when revalidating due to a\n * dynamic RSC request.\n */\n forceStaticRender: boolean\n }): Promise<ResponseCacheEntry> => {\n const context: AppPageRouteHandlerContext = {\n query,\n params,\n page: normalizedSrcPage,\n sharedContext: {\n buildId,\n },\n serverComponentsHmrCache: getRequestMeta(\n req,\n 'serverComponentsHmrCache'\n ),\n fallbackRouteParams,\n renderOpts: {\n App: () => null,\n Document: () => null,\n pageConfig: {},\n ComponentMod,\n Component: interopDefault(ComponentMod),\n\n params,\n routeModule,\n page: srcPage,\n postponed,\n shouldWaitOnAllReady,\n serveStreamingMetadata,\n supportsDynamicResponse:\n typeof postponed === 'string' || supportsDynamicResponse,\n buildManifest,\n nextFontManifest,\n reactLoadableManifest,\n subresourceIntegrityManifest,\n serverActionsManifest,\n clientReferenceManifest,\n setCacheStatus: routerServerContext?.setCacheStatus,\n setIsrStatus: routerServerContext?.setIsrStatus,\n setReactDebugChannel: routerServerContext?.setReactDebugChannel,\n\n dir:\n process.env.NEXT_RUNTIME === 'nodejs'\n ? (require('path') as typeof import('path')).join(\n /* turbopackIgnore: true */\n process.cwd(),\n routeModule.relativeProjectDir\n )\n : `${process.cwd()}/${routeModule.relativeProjectDir}`,\n isDraftMode,\n botType,\n isOnDemandRevalidate,\n isPossibleServerAction,\n assetPrefix: nextConfig.assetPrefix,\n nextConfigOutput: nextConfig.output,\n crossOrigin: nextConfig.crossOrigin,\n trailingSlash: nextConfig.trailingSlash,\n images: nextConfig.images,\n previewProps: prerenderManifest.preview,\n deploymentId: nextConfig.deploymentId,\n enableTainting: nextConfig.experimental.taint,\n htmlLimitedBots: nextConfig.htmlLimitedBots,\n reactMaxHeadersLength: nextConfig.reactMaxHeadersLength,\n\n multiZoneDraftMode,\n incrementalCache,\n cacheLifeProfiles: nextConfig.cacheLife,\n basePath: nextConfig.basePath,\n serverActions: nextConfig.experimental.serverActions,\n\n ...(isDebugStaticShell ||\n isDebugDynamicAccesses ||\n isDebugFallbackShell\n ? {\n nextExport: true,\n supportsDynamicResponse: false,\n isStaticGeneration: true,\n isDebugDynamicAccesses: isDebugDynamicAccesses,\n }\n : {}),\n cacheComponents: Boolean(nextConfig.cacheComponents),\n experimental: {\n isRoutePPREnabled,\n expireTime: nextConfig.expireTime,\n staleTimes: nextConfig.experimental.staleTimes,\n clientSegmentCache: Boolean(\n nextConfig.experimental.clientSegmentCache\n ),\n dynamicOnHover: Boolean(nextConfig.experimental.dynamicOnHover),\n inlineCss: Boolean(nextConfig.experimental.inlineCss),\n authInterrupts: Boolean(nextConfig.experimental.authInterrupts),\n clientTraceMetadata:\n nextConfig.experimental.clientTraceMetadata || ([] as any),\n clientParamParsingOrigins:\n nextConfig.experimental.clientParamParsingOrigins,\n },\n\n waitUntil: ctx.waitUntil,\n onClose: (cb) => {\n res.on('close', cb)\n },\n onAfterTaskError: () => {},\n\n onInstrumentationRequestError: (error, _request, errorContext) =>\n routeModule.onRequestError(\n req,\n error,\n errorContext,\n routerServerContext\n ),\n err: getRequestMeta(req, 'invokeError'),\n dev: routeModule.isDev,\n },\n }\n\n if (isDebugStaticShell || isDebugDynamicAccesses) {\n context.renderOpts.nextExport = true\n context.renderOpts.supportsDynamicResponse = false\n context.renderOpts.isDebugDynamicAccesses = isDebugDynamicAccesses\n }\n\n // When we're revalidating in the background, we should not allow dynamic\n // responses.\n if (forceStaticRender) {\n context.renderOpts.supportsDynamicResponse = false\n }\n\n const result = await invokeRouteModule(span, context)\n\n const { metadata } = result\n\n const {\n cacheControl,\n headers = {},\n // Add any fetch tags that were on the page to the response headers.\n fetchTags: cacheTags,\n fetchMetrics,\n } = metadata\n\n if (cacheTags) {\n headers[NEXT_CACHE_TAGS_HEADER] = cacheTags\n }\n\n // Pull any fetch metrics from the render onto the request.\n ;(req as any).fetchMetrics = fetchMetrics\n\n // we don't throw static to dynamic errors in dev as isSSG\n // is a best guess in dev since we don't have the prerender pass\n // to know whether the path is actually static or not\n if (\n isSSG &&\n cacheControl?.revalidate === 0 &&\n !routeModule.isDev &&\n !isRoutePPREnabled\n ) {\n const staticBailoutInfo = metadata.staticBailoutInfo\n\n const err = new Error(\n `Page changed from static to dynamic at runtime ${resolvedPathname}${\n staticBailoutInfo?.description\n ? `, reason: ${staticBailoutInfo.description}`\n : ``\n }` +\n `\\nsee more here https://nextjs.org/docs/messages/app-static-to-dynamic-error`\n )\n\n if (staticBailoutInfo?.stack) {\n const stack = staticBailoutInfo.stack\n err.stack = err.message + stack.substring(stack.indexOf('\\n'))\n }\n\n throw err\n }\n\n return {\n value: {\n kind: CachedRouteKind.APP_PAGE,\n html: result,\n headers,\n rscData: metadata.flightData,\n postponed: metadata.postponed,\n status: metadata.statusCode,\n segmentData: metadata.segmentData,\n } satisfies CachedAppPageValue,\n cacheControl,\n } satisfies ResponseCacheEntry\n }\n\n const responseGenerator: ResponseGenerator = async ({\n hasResolved,\n previousCacheEntry: previousIncrementalCacheEntry,\n isRevalidating,\n span,\n forceStaticRender = false,\n }) => {\n const isProduction = routeModule.isDev === false\n const didRespond = hasResolved || res.writableEnded\n\n // skip on-demand revalidate if cache is not present and\n // revalidate-if-generated is set\n if (\n isOnDemandRevalidate &&\n revalidateOnlyGenerated &&\n !previousIncrementalCacheEntry &&\n !isMinimalMode\n ) {\n if (routerServerContext?.render404) {\n await routerServerContext.render404(req, res)\n } else {\n res.statusCode = 404\n res.end('This page could not be found')\n }\n return null\n }\n\n let fallbackMode: FallbackMode | undefined\n\n if (prerenderInfo) {\n fallbackMode = parseFallbackField(prerenderInfo.fallback)\n }\n\n // When serving a HTML bot request, we want to serve a blocking render and\n // not the prerendered page. This ensures that the correct content is served\n // to the bot in the head.\n if (fallbackMode === FallbackMode.PRERENDER && isBot(userAgent)) {\n if (!isRoutePPREnabled || isHtmlBot) {\n fallbackMode = FallbackMode.BLOCKING_STATIC_RENDER\n }\n }\n\n if (previousIncrementalCacheEntry?.isStale === -1) {\n isOnDemandRevalidate = true\n }\n\n // TODO: adapt for PPR\n // only allow on-demand revalidate for fallback: true/blocking\n // or for prerendered fallback: false paths\n if (\n isOnDemandRevalidate &&\n (fallbackMode !== FallbackMode.NOT_FOUND ||\n previousIncrementalCacheEntry)\n ) {\n fallbackMode = FallbackMode.BLOCKING_STATIC_RENDER\n }\n\n if (\n !isMinimalMode &&\n fallbackMode !== FallbackMode.BLOCKING_STATIC_RENDER &&\n staticPathKey &&\n !didRespond &&\n !isDraftMode &&\n pageIsDynamic &&\n (isProduction || !isPrerendered)\n ) {\n // if the page has dynamicParams: false and this pathname wasn't\n // prerendered trigger the no fallback handling\n if (\n // In development, fall through to render to handle missing\n // getStaticPaths.\n (isProduction || prerenderInfo) &&\n // When fallback isn't present, abort this render so we 404\n fallbackMode === FallbackMode.NOT_FOUND\n ) {\n if (nextConfig.experimental.adapterPath) {\n return await render404()\n }\n throw new NoFallbackError()\n }\n\n // When cacheComponents is enabled, we can use the fallback\n // response if the request is not a dynamic RSC request because the\n // RSC data when this feature flag is enabled does not contain any\n // param references. Without this feature flag enabled, the RSC data\n // contains param references, and therefore we can't use the fallback.\n if (\n isRoutePPREnabled &&\n (nextConfig.cacheComponents ? !isDynamicRSCRequest : !isRSCRequest)\n ) {\n const cacheKey =\n isProduction && typeof prerenderInfo?.fallback === 'string'\n ? prerenderInfo.fallback\n : normalizedSrcPage\n\n const fallbackRouteParams =\n // If we're in production and we have fallback route params, then we\n // can use the manifest fallback route params.\n isProduction && prerenderInfo?.fallbackRouteParams\n ? createOpaqueFallbackRouteParams(\n prerenderInfo.fallbackRouteParams\n )\n : // Otherwise, if we're debugging the fallback shell, then we\n // have to manually generate the fallback route params.\n isDebugFallbackShell\n ? getFallbackRouteParams(normalizedSrcPage, routeModule)\n : null\n\n // We use the response cache here to handle the revalidation and\n // management of the fallback shell.\n const fallbackResponse = await routeModule.handleResponse({\n cacheKey,\n req,\n nextConfig,\n routeKind: RouteKind.APP_PAGE,\n isFallback: true,\n prerenderManifest,\n isRoutePPREnabled,\n responseGenerator: async () =>\n doRender({\n span,\n // We pass `undefined` as rendering a fallback isn't resumed\n // here.\n postponed: undefined,\n fallbackRouteParams,\n forceStaticRender: false,\n }),\n waitUntil: ctx.waitUntil,\n isMinimalMode,\n })\n\n // If the fallback response was set to null, then we should return null.\n if (fallbackResponse === null) return null\n\n // Otherwise, if we did get a fallback response, we should return it.\n if (fallbackResponse) {\n // Remove the cache control from the response to prevent it from being\n // used in the surrounding cache.\n delete fallbackResponse.cacheControl\n\n return fallbackResponse\n }\n }\n }\n\n // Only requests that aren't revalidating can be resumed. If we have the\n // minimal postponed data, then we should resume the render with it.\n let postponed =\n !isOnDemandRevalidate && !isRevalidating && minimalPostponed\n ? minimalPostponed\n : undefined\n\n // If this is a dynamic RSC request, we should use the postponed data from\n // the static render (if available). This ensures that we can utilize the\n // resume data cache (RDC) from the static render to ensure that the data\n // is consistent between the static and dynamic renders.\n if (\n // Only enable RDC for Navigations if the feature is enabled.\n supportsRDCForNavigations &&\n process.env.NEXT_RUNTIME !== 'edge' &&\n !isMinimalMode &&\n incrementalCache &&\n isDynamicRSCRequest &&\n // We don't typically trigger an on-demand revalidation for dynamic RSC\n // requests, as we're typically revalidating the page in the background\n // instead. However, if the cache entry is stale, we should trigger a\n // background revalidation on dynamic RSC requests. This prevents us\n // from entering an infinite loop of revalidations.\n !forceStaticRender\n ) {\n const incrementalCacheEntry = await incrementalCache.get(\n resolvedPathname,\n {\n kind: IncrementalCacheKind.APP_PAGE,\n isRoutePPREnabled: true,\n isFallback: false,\n }\n )\n\n // If the cache entry is found, we should use the postponed data from\n // the cache.\n if (\n incrementalCacheEntry &&\n incrementalCacheEntry.value &&\n incrementalCacheEntry.value.kind === CachedRouteKind.APP_PAGE\n ) {\n // CRITICAL: we're assigning the postponed data from the cache entry\n // here as we're using the RDC to resume the render.\n postponed = incrementalCacheEntry.value.postponed\n\n // If the cache entry is stale, we should trigger a background\n // revalidation so that subsequent requests will get a fresh response.\n if (\n incrementalCacheEntry &&\n // We want to trigger this flow if the cache entry is stale and if\n // the requested revalidation flow is either foreground or\n // background.\n (incrementalCacheEntry.isStale === -1 ||\n incrementalCacheEntry.isStale === true)\n ) {\n // We want to schedule this on the next tick to ensure that the\n // render is not blocked on it.\n scheduleOnNextTick(async () => {\n const responseCache = routeModule.getResponseCache(req)\n\n try {\n await responseCache.revalidate(\n resolvedPathname,\n incrementalCache,\n isRoutePPREnabled,\n false,\n (c) =>\n responseGenerator({\n ...c,\n // CRITICAL: we need to set this to true as we're\n // revalidating in the background and typically this dynamic\n // RSC request is not treated as static.\n forceStaticRender: true,\n }),\n // CRITICAL: we need to pass null here because passing the\n // previous cache entry here (which is stale) will switch on\n // isOnDemandRevalidate and break the prerendering.\n null,\n hasResolved,\n ctx.waitUntil\n )\n } catch (err) {\n console.error(\n 'Error revalidating the page in the background',\n err\n )\n }\n })\n }\n }\n }\n\n // When we're in minimal mode, if we're trying to debug the static shell,\n // we should just return nothing instead of resuming the dynamic render.\n if (\n (isDebugStaticShell || isDebugDynamicAccesses) &&\n typeof postponed !== 'undefined'\n ) {\n return {\n cacheControl: { revalidate: 1, expire: undefined },\n value: {\n kind: CachedRouteKind.PAGES,\n html: RenderResult.EMPTY,\n pageData: {},\n headers: undefined,\n status: undefined,\n } satisfies CachedPageValue,\n }\n }\n\n const fallbackRouteParams =\n // If we're in production and we have fallback route params, then we\n // can use the manifest fallback route params if we need to render the\n // fallback shell.\n isProduction &&\n prerenderInfo?.fallbackRouteParams &&\n getRequestMeta(req, 'renderFallbackShell')\n ? createOpaqueFallbackRouteParams(prerenderInfo.fallbackRouteParams)\n : // Otherwise, if we're debugging the fallback shell, then we have to\n // manually generate the fallback route params.\n isDebugFallbackShell\n ? getFallbackRouteParams(normalizedSrcPage, routeModule)\n : null\n\n // Perform the render.\n return doRender({\n span,\n postponed,\n fallbackRouteParams,\n forceStaticRender,\n })\n }\n\n const handleResponse = async (span?: Span): Promise<null | void> => {\n const cacheEntry = await routeModule.handleResponse({\n cacheKey: ssgCacheKey,\n responseGenerator: (c) =>\n responseGenerator({\n span,\n ...c,\n }),\n routeKind: RouteKind.APP_PAGE,\n isOnDemandRevalidate,\n isRoutePPREnabled,\n req,\n nextConfig,\n prerenderManifest,\n waitUntil: ctx.waitUntil,\n isMinimalMode,\n })\n\n if (isDraftMode) {\n res.setHeader(\n 'Cache-Control',\n 'private, no-cache, no-store, max-age=0, must-revalidate'\n )\n }\n\n // In dev, we should not cache pages for any reason.\n if (routeModule.isDev) {\n res.setHeader('Cache-Control', 'no-store, must-revalidate')\n }\n\n if (!cacheEntry) {\n if (ssgCacheKey) {\n // A cache entry might not be generated if a response is written\n // in `getInitialProps` or `getServerSideProps`, but those shouldn't\n // have a cache key. If we do have a cache key but we don't end up\n // with a cache entry, then either Next.js or the application has a\n // bug that needs fixing.\n throw new Error('invariant: cache entry required but not generated')\n }\n return null\n }\n\n if (cacheEntry.value?.kind !== CachedRouteKind.APP_PAGE) {\n throw new Error(\n `Invariant app-page handler received invalid cache entry ${cacheEntry.value?.kind}`\n )\n }\n\n const didPostpone = typeof cacheEntry.value.postponed === 'string'\n\n if (\n isSSG &&\n // We don't want to send a cache header for requests that contain dynamic\n // data. If this is a Dynamic RSC request or wasn't a Prefetch RSC\n // request, then we should set the cache header.\n !isDynamicRSCRequest &&\n (!didPostpone || isPrefetchRSCRequest)\n ) {\n if (!isMinimalMode) {\n // set x-nextjs-cache header to match the header\n // we set for the image-optimizer\n res.setHeader(\n 'x-nextjs-cache',\n isOnDemandRevalidate\n ? 'REVALIDATED'\n : cacheEntry.isMiss\n ? 'MISS'\n : cacheEntry.isStale\n ? 'STALE'\n : 'HIT'\n )\n }\n // Set a header used by the client router to signal the response is static\n // and should respect the `static` cache staleTime value.\n res.setHeader(NEXT_IS_PRERENDER_HEADER, '1')\n }\n const { value: cachedData } = cacheEntry\n\n // Coerce the cache control parameter from the render.\n let cacheControl: CacheControl | undefined\n\n // If this is a resume request in minimal mode it is streamed with dynamic\n // content and should not be cached.\n if (minimalPostponed) {\n cacheControl = { revalidate: 0, expire: undefined }\n }\n\n // If this is in minimal mode and this is a flight request that isn't a\n // prefetch request while PPR is enabled, it cannot be cached as it contains\n // dynamic content.\n else if (isDynamicRSCRequest) {\n cacheControl = { revalidate: 0, expire: undefined }\n } else if (!routeModule.isDev) {\n // If this is a preview mode request, we shouldn't cache it\n if (isDraftMode) {\n cacheControl = { revalidate: 0, expire: undefined }\n }\n\n // If this isn't SSG, then we should set change the header only if it is\n // not set already.\n else if (!isSSG) {\n if (!res.getHeader('Cache-Control')) {\n cacheControl = { revalidate: 0, expire: undefined }\n }\n } else if (cacheEntry.cacheControl) {\n // If the cache entry has a cache control with a revalidate value that's\n // a number, use it.\n if (typeof cacheEntry.cacheControl.revalidate === 'number') {\n if (cacheEntry.cacheControl.revalidate < 1) {\n throw new Error(\n `Invalid revalidate configuration provided: ${cacheEntry.cacheControl.revalidate} < 1`\n )\n }\n\n cacheControl = {\n revalidate: cacheEntry.cacheControl.revalidate,\n expire: cacheEntry.cacheControl?.expire ?? nextConfig.expireTime,\n }\n }\n // Otherwise if the revalidate value is false, then we should use the\n // cache time of one year.\n else {\n cacheControl = { revalidate: CACHE_ONE_YEAR, expire: undefined }\n }\n }\n }\n\n cacheEntry.cacheControl = cacheControl\n\n if (\n typeof segmentPrefetchHeader === 'string' &&\n cachedData?.kind === CachedRouteKind.APP_PAGE &&\n cachedData.segmentData\n ) {\n // This is a prefetch request issued by the client Segment Cache. These\n // should never reach the application layer (lambda). We should either\n // respond from the cache (HIT) or respond with 204 No Content (MISS).\n\n // Set a header to indicate that PPR is enabled for this route. This\n // lets the client distinguish between a regular cache miss and a cache\n // miss due to PPR being disabled. In other contexts this header is used\n // to indicate that the response contains dynamic data, but here we're\n // only using it to indicate that the feature is enabled — the segment\n // response itself contains whether the data is dynamic.\n res.setHeader(NEXT_DID_POSTPONE_HEADER, '2')\n\n // Add the cache tags header to the response if it exists and we're in\n // minimal mode while rendering a static page.\n const tags = cachedData.headers?.[NEXT_CACHE_TAGS_HEADER]\n if (isMinimalMode && isSSG && tags && typeof tags === 'string') {\n res.setHeader(NEXT_CACHE_TAGS_HEADER, tags)\n }\n\n const matchedSegment = cachedData.segmentData.get(segmentPrefetchHeader)\n if (matchedSegment !== undefined) {\n // Cache hit\n return sendRenderResult({\n req,\n res,\n generateEtags: nextConfig.generateEtags,\n poweredByHeader: nextConfig.poweredByHeader,\n result: RenderResult.fromStatic(\n matchedSegment,\n RSC_CONTENT_TYPE_HEADER\n ),\n cacheControl: cacheEntry.cacheControl,\n })\n }\n\n // Cache miss. Either a cache entry for this route has not been generated\n // (which technically should not be possible when PPR is enabled, because\n // at a minimum there should always be a fallback entry) or there's no\n // match for the requested segment. Respond with a 204 No Content. We\n // don't bother to respond with 404, because these requests are only\n // issued as part of a prefetch.\n res.statusCode = 204\n return sendRenderResult({\n req,\n res,\n generateEtags: nextConfig.generateEtags,\n poweredByHeader: nextConfig.poweredByHeader,\n result: RenderResult.EMPTY,\n cacheControl: cacheEntry.cacheControl,\n })\n }\n\n // If there's a callback for `onCacheEntry`, call it with the cache entry\n // and the revalidate options. If we support RDC for Navigations, we\n // prefer the `onCacheEntryV2` callback. Once RDC for Navigations is the\n // default, we can remove the fallback to `onCacheEntry` as\n // `onCacheEntryV2` is now fully supported.\n const onCacheEntry = supportsRDCForNavigations\n ? (getRequestMeta(req, 'onCacheEntryV2') ??\n getRequestMeta(req, 'onCacheEntry'))\n : getRequestMeta(req, 'onCacheEntry')\n if (onCacheEntry) {\n const finished = await onCacheEntry(cacheEntry, {\n url: getRequestMeta(req, 'initURL') ?? req.url,\n })\n if (finished) return null\n }\n\n if (cachedData.headers) {\n const headers = { ...cachedData.headers }\n\n if (!isMinimalMode || !isSSG) {\n delete headers[NEXT_CACHE_TAGS_HEADER]\n }\n\n for (let [key, value] of Object.entries(headers)) {\n if (typeof value === 'undefined') continue\n\n if (Array.isArray(value)) {\n for (const v of value) {\n res.appendHeader(key, v)\n }\n } else if (typeof value === 'number') {\n value = value.toString()\n res.appendHeader(key, value)\n } else {\n res.appendHeader(key, value)\n }\n }\n }\n\n // Add the cache tags header to the response if it exists and we're in\n // minimal mode while rendering a static page.\n const tags = cachedData.headers?.[NEXT_CACHE_TAGS_HEADER]\n if (isMinimalMode && isSSG && tags && typeof tags === 'string') {\n res.setHeader(NEXT_CACHE_TAGS_HEADER, tags)\n }\n\n // If the request is a data request, then we shouldn't set the status code\n // from the response because it should always be 200. This should be gated\n // behind the experimental PPR flag.\n if (cachedData.status && (!isRSCRequest || !isRoutePPREnabled)) {\n res.statusCode = cachedData.status\n }\n\n // Redirect information is encoded in RSC payload, so we don't need to use redirect status codes\n if (\n !isMinimalMode &&\n cachedData.status &&\n RedirectStatusCode[cachedData.status] &&\n isRSCRequest\n ) {\n res.statusCode = 200\n }\n\n // Mark that the request did postpone.\n if (didPostpone && !isDynamicRSCRequest) {\n res.setHeader(NEXT_DID_POSTPONE_HEADER, '1')\n }\n\n // we don't go through this block when preview mode is true\n // as preview mode is a dynamic request (bypasses cache) and doesn't\n // generate both HTML and payloads in the same request so continue to just\n // return the generated payload\n if (isRSCRequest && !isDraftMode) {\n // If this is a dynamic RSC request, then stream the response.\n if (typeof cachedData.rscData === 'undefined') {\n // If the response is not an RSC response, then we can't serve it.\n if (cachedData.html.contentType !== RSC_CONTENT_TYPE_HEADER) {\n if (nextConfig.cacheComponents) {\n res.statusCode = 404\n return sendRenderResult({\n req,\n res,\n generateEtags: nextConfig.generateEtags,\n poweredByHeader: nextConfig.poweredByHeader,\n result: RenderResult.EMPTY,\n cacheControl: cacheEntry.cacheControl,\n })\n } else {\n // Otherwise this case is not expected.\n throw new InvariantError(\n `Expected RSC response, got ${cachedData.html.contentType}`\n )\n }\n }\n\n return sendRenderResult({\n req,\n res,\n generateEtags: nextConfig.generateEtags,\n poweredByHeader: nextConfig.poweredByHeader,\n result: cachedData.html,\n cacheControl: cacheEntry.cacheControl,\n })\n }\n\n // As this isn't a prefetch request, we should serve the static flight\n // data.\n return sendRenderResult({\n req,\n res,\n generateEtags: nextConfig.generateEtags,\n poweredByHeader: nextConfig.poweredByHeader,\n result: RenderResult.fromStatic(\n cachedData.rscData,\n RSC_CONTENT_TYPE_HEADER\n ),\n cacheControl: cacheEntry.cacheControl,\n })\n }\n\n // This is a request for HTML data.\n const body = cachedData.html\n\n // If there's no postponed state, we should just serve the HTML. This\n // should also be the case for a resume request because it's completed\n // as a server render (rather than a static render).\n if (!didPostpone || isMinimalMode || isRSCRequest) {\n // If we're in test mode, we should add a sentinel chunk to the response\n // that's between the static and dynamic parts so we can compare the\n // chunks and add assertions.\n if (\n process.env.__NEXT_TEST_MODE &&\n isMinimalMode &&\n isRoutePPREnabled &&\n body.contentType === HTML_CONTENT_TYPE_HEADER\n ) {\n // As we're in minimal mode, the static part would have already been\n // streamed first. The only part that this streams is the dynamic part\n // so we should FIRST stream the sentinel and THEN the dynamic part.\n body.unshift(createPPRBoundarySentinel())\n }\n\n return sendRenderResult({\n req,\n res,\n generateEtags: nextConfig.generateEtags,\n poweredByHeader: nextConfig.poweredByHeader,\n result: body,\n cacheControl: cacheEntry.cacheControl,\n })\n }\n\n // If we're debugging the static shell or the dynamic API accesses, we\n // should just serve the HTML without resuming the render. The returned\n // HTML will be the static shell so all the Dynamic API's will be used\n // during static generation.\n if (isDebugStaticShell || isDebugDynamicAccesses) {\n // Since we're not resuming the render, we need to at least add the\n // closing body and html tags to create valid HTML.\n body.push(\n new ReadableStream({\n start(controller) {\n controller.enqueue(ENCODED_TAGS.CLOSED.BODY_AND_HTML)\n controller.close()\n },\n })\n )\n\n return sendRenderResult({\n req,\n res,\n generateEtags: nextConfig.generateEtags,\n poweredByHeader: nextConfig.poweredByHeader,\n result: body,\n cacheControl: { revalidate: 0, expire: undefined },\n })\n }\n\n // If we're in test mode, we should add a sentinel chunk to the response\n // that's between the static and dynamic parts so we can compare the\n // chunks and add assertions.\n if (process.env.__NEXT_TEST_MODE) {\n body.push(createPPRBoundarySentinel())\n }\n\n // This request has postponed, so let's create a new transformer that the\n // dynamic data can pipe to that will attach the dynamic data to the end\n // of the response.\n const transformer = new TransformStream<Uint8Array, Uint8Array>()\n body.push(transformer.readable)\n\n // Perform the render again, but this time, provide the postponed state.\n // We don't await because we want the result to start streaming now, and\n // we've already chained the transformer's readable to the render result.\n doRender({\n span,\n postponed: cachedData.postponed,\n // This is a resume render, not a fallback render, so we don't need to\n // set this.\n fallbackRouteParams: null,\n forceStaticRender: false,\n })\n .then(async (result) => {\n if (!result) {\n throw new Error('Invariant: expected a result to be returned')\n }\n\n if (result.value?.kind !== CachedRouteKind.APP_PAGE) {\n throw new Error(\n `Invariant: expected a page response, got ${result.value?.kind}`\n )\n }\n\n // Pipe the resume result to the transformer.\n await result.value.html.pipeTo(transformer.writable)\n })\n .catch((err) => {\n // An error occurred during piping or preparing the render, abort\n // the transformers writer so we can terminate the stream.\n transformer.writable.abort(err).catch((e) => {\n console.error(\"couldn't abort transformer\", e)\n })\n })\n\n return sendRenderResult({\n req,\n res,\n generateEtags: nextConfig.generateEtags,\n poweredByHeader: nextConfig.poweredByHeader,\n result: body,\n // We don't want to cache the response if it has postponed data because\n // the response being sent to the client it's dynamic parts are streamed\n // to the client on the same request.\n cacheControl: { revalidate: 0, expire: undefined },\n })\n }\n\n // TODO: activeSpan code path is for when wrapped by\n // next-server can be removed when this is no longer used\n if (activeSpan) {\n await handleResponse(activeSpan)\n } else {\n return await tracer.withPropagatedContext(req.headers, () =>\n tracer.trace(\n BaseServerSpan.handleRequest,\n {\n spanName: `${method} ${srcPage}`,\n kind: SpanKind.SERVER,\n attributes: {\n 'http.method': method,\n 'http.target': req.url,\n },\n },\n handleResponse\n )\n )\n }\n } catch (err) {\n if (!(err instanceof NoFallbackError)) {\n await routeModule.onRequestError(\n req,\n err,\n {\n routerKind: 'App Router',\n routePath: srcPage,\n routeType: 'render',\n revalidateReason: getRevalidateReason({\n isStaticGeneration: isSSG,\n isOnDemandRevalidate,\n }),\n },\n routerServerContext\n )\n }\n\n // rethrow so that we can handle serving error page\n throw err\n }\n}\n\n// TODO: omit this from production builds, only test builds should include it\n/**\n * Creates a readable stream that emits a PPR boundary sentinel.\n *\n * @returns A readable stream that emits a PPR boundary sentinel.\n */\nfunction createPPRBoundarySentinel() {\n return new ReadableStream({\n start(controller) {\n controller.enqueue(\n new TextEncoder().encode('<!-- PPR_BOUNDARY_SENTINEL -->')\n )\n controller.close()\n },\n })\n}\n"],"names":["AppPageRouteModule","RouteKind","getRevalidateReason","getTracer","SpanKind","addRequestMeta","getRequestMeta","BaseServerSpan","interopDefault","stripFlightHeaders","NodeNextRequest","NodeNextResponse","checkIsAppPPREnabled","getFallbackRouteParams","createOpaqueFallbackRouteParams","setReferenceManifestsSingleton","isHtmlBotRequest","shouldServeStreamingMetadata","createServerModuleMap","normalizeAppPath","getIsPossibleServerAction","RSC_HEADER","NEXT_ROUTER_PREFETCH_HEADER","NEXT_IS_PRERENDER_HEADER","NEXT_DID_POSTPONE_HEADER","RSC_CONTENT_TYPE_HEADER","getBotType","isBot","CachedRouteKind","IncrementalCacheKind","FallbackMode","parseFallbackField","RenderResult","CACHE_ONE_YEAR","HTML_CONTENT_TYPE_HEADER","NEXT_CACHE_TAGS_HEADER","ENCODED_TAGS","sendRenderResult","NoFallbackError","GlobalError","__next_app__","require","__next_app_require__","loadChunk","__next_app_load_chunk__","entryBase","RedirectStatusCode","InvariantError","scheduleOnNextTick","isInterceptionRouteAppPath","routeModule","definition","kind","APP_PAGE","page","pathname","bundlePath","filename","appPaths","userland","loaderTree","tree","distDir","process","env","__NEXT_RELATIVE_DIST_DIR","relativeProjectDir","__NEXT_RELATIVE_PROJECT_DIR","handler","req","res","ctx","prerenderManifest","isDev","hrtime","bigint","srcPage","TURBOPACK","replace","multiZoneDraftMode","__NEXT_MULTI_ZONE_DRAFT_MODE","isMinimalMode","Boolean","MINIMAL_MODE","prepareResult","prepare","statusCode","end","waitUntil","Promise","resolve","buildId","query","params","pageIsDynamic","buildManifest","nextFontManifest","reactLoadableManifest","serverActionsManifest","clientReferenceManifest","subresourceIntegrityManifest","isDraftMode","resolvedPathname","revalidateOnlyGenerated","routerServerContext","nextConfig","parsedUrl","interceptionRoutePatterns","normalizedSrcPage","isOnDemandRevalidate","prerenderInfo","experimental","ppr","cacheComponents","match","isPrerendered","routes","userAgent","headers","botType","isHtmlBot","isPrefetchRSCRequest","isRSCRequest","isPossibleServerAction","couldSupportPPR","hasDebugStaticShellQuery","__NEXT_EXPERIMENTAL_STATIC_SHELL_DEBUGGING","__nextppronly","hasDebugFallbackShellQuery","isRoutePPREnabled","dynamicRoutes","renderingMode","experimentalTestProxy","isDebugStaticShell","isDebugDynamicAccesses","isDebugFallbackShell","minimalPostponed","undefined","isDynamicRSCRequest","segmentPrefetchHeader","serveStreamingMetadata","htmlLimitedBots","isSSG","supportsRDCForNavigations","supportsDynamicResponse","shouldWaitOnAllReady","ssgCacheKey","staticPathKey","ComponentMod","serverModuleMap","method","tracer","activeSpan","getActiveScopeSpan","render404","varyHeader","getVaryHeader","setHeader","invokeRouteModule","span","context","nextReq","nextRes","render","finally","setAttributes","rootSpanAttributes","getRootSpanAttributes","get","handleRequest","console","warn","route","name","updateName","incrementalCache","doRender","postponed","fallbackRouteParams","forceStaticRender","sharedContext","serverComponentsHmrCache","renderOpts","App","Document","pageConfig","Component","setCacheStatus","setIsrStatus","setReactDebugChannel","dir","NEXT_RUNTIME","join","cwd","assetPrefix","nextConfigOutput","output","crossOrigin","trailingSlash","images","previewProps","preview","deploymentId","enableTainting","taint","reactMaxHeadersLength","cacheLifeProfiles","cacheLife","basePath","serverActions","nextExport","isStaticGeneration","expireTime","staleTimes","clientSegmentCache","dynamicOnHover","inlineCss","authInterrupts","clientTraceMetadata","clientParamParsingOrigins","onClose","cb","on","onAfterTaskError","onInstrumentationRequestError","error","_request","errorContext","onRequestError","err","dev","result","metadata","cacheControl","fetchTags","cacheTags","fetchMetrics","revalidate","staticBailoutInfo","Error","description","stack","message","substring","indexOf","value","html","rscData","flightData","status","segmentData","responseGenerator","hasResolved","previousCacheEntry","previousIncrementalCacheEntry","isRevalidating","isProduction","didRespond","writableEnded","fallbackMode","fallback","PRERENDER","BLOCKING_STATIC_RENDER","isStale","NOT_FOUND","adapterPath","cacheKey","fallbackResponse","handleResponse","routeKind","isFallback","incrementalCacheEntry","responseCache","getResponseCache","c","expire","PAGES","EMPTY","pageData","cacheEntry","cachedData","didPostpone","isMiss","getHeader","tags","matchedSegment","generateEtags","poweredByHeader","fromStatic","onCacheEntry","finished","url","key","Object","entries","Array","isArray","v","appendHeader","toString","contentType","body","__NEXT_TEST_MODE","unshift","createPPRBoundarySentinel","push","ReadableStream","start","controller","enqueue","CLOSED","BODY_AND_HTML","close","transformer","TransformStream","readable","then","pipeTo","writable","catch","abort","e","withPropagatedContext","trace","spanName","SERVER","attributes","routerKind","routePath","routeType","revalidateReason","TextEncoder","encode"],"mappings":"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","ignoreList":[0]} |