{"version":3,"sources":["../../../src/build/entries.ts"],"sourcesContent":["import type { ClientPagesLoaderOptions } from './webpack/loaders/next-client-pages-loader'\nimport type { MiddlewareLoaderOptions } from './webpack/loaders/next-middleware-loader'\nimport type { EdgeSSRLoaderQuery } from './webpack/loaders/next-edge-ssr-loader'\nimport type { EdgeAppRouteLoaderQuery } from './webpack/loaders/next-edge-app-route-loader'\nimport type { NextConfigComplete } from '../server/config-shared'\nimport type { webpack } from 'next/dist/compiled/webpack/webpack'\nimport type {\n  ProxyConfig,\n  ProxyMatcher,\n  PageStaticInfo,\n} from './analysis/get-page-static-info'\nimport type { LoadedEnvFiles } from '@next/env'\nimport type { AppLoaderOptions } from './webpack/loaders/next-app-loader'\n\nimport { posix, join, normalize } from 'path'\nimport { stringify } from 'querystring'\nimport {\n  PAGES_DIR_ALIAS,\n  ROOT_DIR_ALIAS,\n  APP_DIR_ALIAS,\n  WEBPACK_LAYERS,\n  INSTRUMENTATION_HOOK_FILENAME,\n} from '../lib/constants'\nimport { isAPIRoute } from '../lib/is-api-route'\nimport { isEdgeRuntime } from '../lib/is-edge-runtime'\nimport { APP_CLIENT_INTERNALS, RSC_MODULE_TYPES } from '../shared/lib/constants'\nimport {\n  CLIENT_STATIC_FILES_RUNTIME_MAIN,\n  CLIENT_STATIC_FILES_RUNTIME_MAIN_APP,\n  CLIENT_STATIC_FILES_RUNTIME_POLYFILLS,\n  CLIENT_STATIC_FILES_RUNTIME_REACT_REFRESH,\n  COMPILER_NAMES,\n  EDGE_RUNTIME_WEBPACK,\n} from '../shared/lib/constants'\nimport type { CompilerNameValues } from '../shared/lib/constants'\nimport type { __ApiPreviewProps } from '../server/api-utils'\nimport {\n  isMiddlewareFile,\n  isMiddlewareFilename,\n  isProxyFile,\n  isInstrumentationHookFile,\n  isInstrumentationHookFilename,\n} from './utils'\nimport { normalizePagePath } from '../shared/lib/page-path/normalize-page-path'\nimport type { ServerRuntime } from '../types'\nimport {\n  normalizeAppPath,\n  compareAppPaths,\n} from '../shared/lib/router/utils/app-paths'\nimport { encodeMatchers } from './webpack/loaders/next-middleware-loader'\nimport type { EdgeFunctionLoaderOptions } from './webpack/loaders/next-edge-function-loader'\nimport { isAppRouteRoute } from '../lib/is-app-route-route'\nimport { getRouteLoaderEntry } from './webpack/loaders/next-route-loader'\nimport {\n  isInternalComponent,\n  isNonRoutePagesPage,\n} from '../lib/is-internal-component'\nimport { RouteKind } from '../server/route-kind'\nimport { encodeToBase64 } from './webpack/loaders/utils'\nimport { normalizeCatchAllRoutes } from './normalize-catchall-routes'\nimport type { PageExtensions } from './page-extensions-type'\nimport type { MappedPages } from './build-context'\nimport { PAGE_TYPES } from '../lib/page-types'\n\ntype ObjectValue<T> = T extends { [key: string]: infer V } ? V : never\nimport { getStaticInfoIncludingLayouts } from './get-static-info-including-layouts'\nimport { getPageFromPath } from './route-discovery'\n\nexport function getPageFilePath({\n  absolutePagePath,\n  pagesDir,\n  appDir,\n  rootDir,\n}: {\n  absolutePagePath: string\n  pagesDir: string | undefined\n  appDir: string | undefined\n  rootDir: string\n}) {\n  if (absolutePagePath.startsWith(PAGES_DIR_ALIAS) && pagesDir) {\n    return absolutePagePath.replace(PAGES_DIR_ALIAS, pagesDir)\n  }\n\n  if (absolutePagePath.startsWith(APP_DIR_ALIAS) && appDir) {\n    return absolutePagePath.replace(APP_DIR_ALIAS, appDir)\n  }\n\n  if (absolutePagePath.startsWith(ROOT_DIR_ALIAS)) {\n    return absolutePagePath.replace(ROOT_DIR_ALIAS, rootDir)\n  }\n\n  return require.resolve(absolutePagePath)\n}\n\nexport interface CreateEntrypointsParams {\n  buildId: string\n  config: NextConfigComplete\n  envFiles: LoadedEnvFiles\n  isDev: boolean\n  pages: MappedPages\n  pagesDir?: string\n  previewMode: __ApiPreviewProps\n  rootDir: string\n  rootPaths?: MappedPages\n  appDir?: string\n  appPaths?: MappedPages\n  pageExtensions: PageExtensions\n  hasInstrumentationHook?: boolean\n  /**\n   * When set to 'exclude', deferred entries are excluded from the result.\n   * When set to 'only', only deferred entries are included in the result.\n   * When undefined, all entries are included.\n   */\n  deferredEntriesFilter?: 'exclude' | 'only'\n}\n\n/**\n * Checks if a page path matches any of the deferred entry patterns.\n * @param page - The page path (e.g., '/about', '/api/hello')\n * @param deferredEntries - Array of path patterns to match against\n * @returns true if the page matches a deferred entry pattern\n */\nexport function isDeferredEntry(\n  page: string,\n  deferredEntries: string[] | undefined\n): boolean {\n  if (!deferredEntries || deferredEntries.length === 0) {\n    return false\n  }\n\n  // Normalize the page path\n  const normalizedPage = page.startsWith('/') ? page : `/${page}`\n\n  for (const pattern of deferredEntries) {\n    // Normalize the pattern\n    const normalizedPattern = pattern.startsWith('/') ? pattern : `/${pattern}`\n\n    // Check for exact match or prefix match for directories\n    if (normalizedPage === normalizedPattern) {\n      return true\n    }\n\n    // Check if the page is under the deferred directory\n    if (normalizedPage.startsWith(normalizedPattern + '/')) {\n      return true\n    }\n  }\n\n  return false\n}\n\nexport function getEdgeServerEntry(opts: {\n  rootDir: string\n  absolutePagePath: string\n  buildId: string\n  bundlePath: string\n  config: NextConfigComplete\n  isDev: boolean\n  isServerComponent: boolean\n  page: string\n  pages: MappedPages\n  middleware?: Partial<ProxyConfig>\n  pagesType: PAGE_TYPES\n  appDirLoader?: string\n  hasInstrumentationHook?: boolean\n  preferredRegion: string | string[] | undefined\n  middlewareConfig?: ProxyConfig\n}) {\n  const cacheHandler = opts.config.cacheHandler || undefined\n\n  if (\n    opts.pagesType === 'app' &&\n    isAppRouteRoute(opts.page) &&\n    opts.appDirLoader\n  ) {\n    const loaderParams: EdgeAppRouteLoaderQuery = {\n      absolutePagePath: opts.absolutePagePath,\n      page: opts.page,\n      appDirLoader: Buffer.from(opts.appDirLoader || '').toString('base64'),\n      preferredRegion: opts.preferredRegion,\n      middlewareConfig: Buffer.from(\n        JSON.stringify(opts.middlewareConfig || {})\n      ).toString('base64'),\n      cacheHandlers: JSON.stringify(opts.config.cacheHandlers || {}),\n      ...(cacheHandler ? { cacheHandler } : {}),\n    }\n\n    return {\n      import: `next-edge-app-route-loader?${stringify(loaderParams)}!`,\n      layer: WEBPACK_LAYERS.reactServerComponents,\n    }\n  }\n\n  if (isMiddlewareFile(opts.page)) {\n    const loaderParams: MiddlewareLoaderOptions = {\n      absolutePagePath: opts.absolutePagePath,\n      page: opts.page,\n      rootDir: opts.rootDir,\n      matchers: opts.middleware?.matchers\n        ? encodeMatchers(opts.middleware.matchers)\n        : '',\n      preferredRegion: opts.preferredRegion,\n      middlewareConfig: Buffer.from(\n        JSON.stringify(opts.middlewareConfig || {})\n      ).toString('base64'),\n      ...(cacheHandler ? { cacheHandler } : {}),\n    }\n\n    return {\n      import: `next-middleware-loader?${stringify(loaderParams)}!`,\n      layer: WEBPACK_LAYERS.middleware,\n      filename: opts.isDev ? 'middleware.js' : undefined,\n    }\n  }\n\n  if (isAPIRoute(opts.page)) {\n    const loaderParams: EdgeFunctionLoaderOptions = {\n      absolutePagePath: opts.absolutePagePath,\n      page: opts.page,\n      rootDir: opts.rootDir,\n      preferredRegion: opts.preferredRegion,\n      middlewareConfig: Buffer.from(\n        JSON.stringify(opts.middlewareConfig || {})\n      ).toString('base64'),\n      ...(cacheHandler ? { cacheHandler } : {}),\n    }\n\n    return {\n      import: `next-edge-function-loader?${stringify(loaderParams)}!`,\n      layer: WEBPACK_LAYERS.apiEdge,\n    }\n  }\n\n  const loaderParams: EdgeSSRLoaderQuery = {\n    absolute500Path: opts.pages['/500'] || '',\n    absoluteAppPath: opts.pages['/_app'],\n    absoluteDocumentPath: opts.pages['/_document'],\n    absoluteErrorPath: opts.pages['/_error'],\n    absolutePagePath: opts.absolutePagePath,\n    dev: opts.isDev,\n    isServerComponent: opts.isServerComponent,\n    page: opts.page,\n    pagesType: opts.pagesType,\n    appDirLoader: Buffer.from(opts.appDirLoader || '').toString('base64'),\n    sriEnabled: !opts.isDev && !!opts.config.experimental.sri?.algorithm,\n    preferredRegion: opts.preferredRegion,\n    middlewareConfig: Buffer.from(\n      JSON.stringify(opts.middlewareConfig || {})\n    ).toString('base64'),\n    serverActions: opts.config.experimental.serverActions,\n    cacheHandlers: JSON.stringify(opts.config.cacheHandlers || {}),\n    ...(cacheHandler ? { cacheHandler } : {}),\n  }\n\n  return {\n    import: `next-edge-ssr-loader?${JSON.stringify(loaderParams)}!`,\n    // The Edge bundle includes the server in its entrypoint, so it has to\n    // be in the SSR layer — we later convert the page request to the RSC layer\n    // via a webpack rule.\n    layer: opts.appDirLoader ? WEBPACK_LAYERS.serverSideRendering : undefined,\n  }\n}\n\nexport function getInstrumentationEntry(opts: {\n  absolutePagePath: string\n  isEdgeServer: boolean\n  isDev: boolean\n}) {\n  // the '../' is needed to make sure the file is not chunked\n  const filename = `${\n    opts.isEdgeServer ? 'edge-' : opts.isDev ? '' : '../'\n  }${INSTRUMENTATION_HOOK_FILENAME}.js`\n\n  return {\n    import: opts.absolutePagePath,\n    filename,\n    layer: WEBPACK_LAYERS.instrument,\n  }\n}\n\nexport function getAppLoader() {\n  return process.env.BUILTIN_APP_LOADER\n    ? `builtin:next-app-loader`\n    : 'next-app-loader'\n}\n\nexport function getAppEntry(opts: Readonly<AppLoaderOptions>) {\n  if (process.env.NEXT_RSPACK && process.env.BUILTIN_APP_LOADER) {\n    ;(opts as any).projectRoot = normalize(join(__dirname, '../../..'))\n  }\n  return {\n    import: `${getAppLoader()}?${stringify(opts)}!`,\n    layer: WEBPACK_LAYERS.reactServerComponents,\n  }\n}\n\nexport function getClientEntry(opts: {\n  absolutePagePath: string\n  page: string\n}) {\n  const loaderOptions: ClientPagesLoaderOptions = {\n    absolutePagePath: opts.absolutePagePath,\n    page: opts.page,\n  }\n\n  const pageLoader = `next-client-pages-loader?${stringify(loaderOptions)}!`\n\n  // Make sure next/router is a dependency of _app or else chunk splitting\n  // might cause the router to not be able to load causing hydration\n  // to fail\n  return opts.page === '/_app'\n    ? [pageLoader, require.resolve('../client/router')]\n    : pageLoader\n}\n\nexport function runDependingOnPageType<T>(params: {\n  onClient: () => T\n  onEdgeServer: () => T\n  onServer: () => T\n  page: string\n  pageRuntime: ServerRuntime\n  pageType?: PAGE_TYPES\n}): void {\n  if (\n    params.pageType === PAGE_TYPES.ROOT &&\n    isInstrumentationHookFile(params.page)\n  ) {\n    params.onServer()\n    params.onEdgeServer()\n    return\n  }\n\n  if (isProxyFile(params.page)) {\n    params.onServer()\n    return\n  }\n\n  if (isMiddlewareFile(params.page)) {\n    if (params.pageRuntime === 'nodejs') {\n      params.onServer()\n      return\n    } else {\n      params.onEdgeServer()\n      return\n    }\n  }\n\n  if (isAPIRoute(params.page)) {\n    if (isEdgeRuntime(params.pageRuntime)) {\n      params.onEdgeServer()\n      return\n    }\n\n    params.onServer()\n    return\n  }\n  if (params.page === '/_document') {\n    params.onServer()\n    return\n  }\n  if (\n    params.page === '/_app' ||\n    params.page === '/_error' ||\n    params.page === '/404' ||\n    params.page === '/500'\n  ) {\n    params.onClient()\n    params.onServer()\n    return\n  }\n  if (isEdgeRuntime(params.pageRuntime)) {\n    params.onClient()\n    params.onEdgeServer()\n    return\n  }\n\n  params.onClient()\n  params.onServer()\n  return\n}\n\nexport async function createEntrypoints(\n  params: CreateEntrypointsParams\n): Promise<{\n  client: webpack.EntryObject\n  server: webpack.EntryObject\n  edgeServer: webpack.EntryObject\n  middlewareMatchers: undefined\n}> {\n  const {\n    config,\n    pages,\n    pagesDir,\n    isDev,\n    rootDir,\n    rootPaths,\n    appDir,\n    appPaths,\n    pageExtensions,\n    deferredEntriesFilter,\n  } = params\n\n  const deferredEntries = config.experimental.deferredEntries\n  const edgeServer: webpack.EntryObject = {}\n  const server: webpack.EntryObject = {}\n  const client: webpack.EntryObject = {}\n  let middlewareMatchers: ProxyMatcher[] | undefined = undefined\n\n  let appPathsPerRoute: Record<string, string[]> = {}\n  if (appDir && appPaths) {\n    for (const pathname in appPaths) {\n      const normalizedPath = normalizeAppPath(pathname)\n      const actualPath = appPaths[pathname]\n      if (!appPathsPerRoute[normalizedPath]) {\n        appPathsPerRoute[normalizedPath] = []\n      }\n      appPathsPerRoute[normalizedPath].push(\n        // TODO-APP: refactor to pass the page path from createPagesMapping instead.\n        getPageFromPath(actualPath, pageExtensions).replace(APP_DIR_ALIAS, '')\n      )\n    }\n\n    // TODO: find a better place to do this\n    normalizeCatchAllRoutes(appPathsPerRoute)\n\n    // Make sure to sort parallel routes to make the result deterministic.\n    appPathsPerRoute = Object.fromEntries(\n      Object.entries(appPathsPerRoute).map(([k, v]) => [\n        k,\n        v.sort(compareAppPaths),\n      ])\n    )\n  }\n\n  const getEntryHandler =\n    (mappings: MappedPages, pagesType: PAGE_TYPES): ((page: string) => void) =>\n    async (page) => {\n      // Apply deferred entries filter if specified\n      if (deferredEntriesFilter) {\n        const isDeferred = isDeferredEntry(page, deferredEntries)\n        if (deferredEntriesFilter === 'exclude' && isDeferred) {\n          // Skip deferred entries when excluding them\n          return\n        }\n        if (deferredEntriesFilter === 'only' && !isDeferred) {\n          // Skip non-deferred entries when only including deferred ones\n          return\n        }\n      }\n\n      const bundleFile = normalizePagePath(page)\n      const clientBundlePath = posix.join(pagesType, bundleFile)\n      const serverBundlePath =\n        pagesType === PAGE_TYPES.PAGES\n          ? posix.join('pages', bundleFile)\n          : pagesType === PAGE_TYPES.APP\n            ? posix.join('app', bundleFile)\n            : bundleFile.slice(1)\n\n      const absolutePagePath = mappings[page]\n\n      // Handle paths that have aliases\n      const pageFilePath = getPageFilePath({\n        absolutePagePath,\n        pagesDir,\n        appDir,\n        rootDir,\n      })\n\n      const isInsideAppDir =\n        !!appDir &&\n        (absolutePagePath.startsWith(APP_DIR_ALIAS) ||\n          absolutePagePath.startsWith(appDir))\n\n      const staticInfo: PageStaticInfo = await getStaticInfoIncludingLayouts({\n        isInsideAppDir,\n        pageExtensions,\n        pageFilePath,\n        appDir,\n        config,\n        isDev,\n        page,\n      })\n\n      // TODO(timneutkens): remove this\n      const isServerComponent =\n        isInsideAppDir && staticInfo.rsc !== RSC_MODULE_TYPES.client\n\n      if (isMiddlewareFile(page)) {\n        middlewareMatchers = staticInfo.middleware?.matchers ?? [\n          { regexp: '.*', originalSource: '/:path*' },\n        ]\n      }\n\n      const isInstrumentation =\n        isInstrumentationHookFile(page) && pagesType === PAGE_TYPES.ROOT\n\n      runDependingOnPageType({\n        page,\n        pageRuntime: staticInfo.runtime,\n        pageType: pagesType,\n        onClient: () => {\n          if (isServerComponent || isInsideAppDir) {\n            // We skip the initial entries for server component pages and let the\n            // server compiler inject them instead.\n          } else {\n            client[clientBundlePath] = getClientEntry({\n              absolutePagePath,\n              page,\n            })\n          }\n        },\n        onServer: () => {\n          if (pagesType === 'app' && appDir) {\n            const matchedAppPaths = appPathsPerRoute[normalizeAppPath(page)]\n            server[serverBundlePath] = getAppEntry({\n              page,\n              name: serverBundlePath,\n              pagePath: absolutePagePath,\n              appDir,\n              appPaths: matchedAppPaths,\n              allNormalizedAppPaths: Object.keys(appPathsPerRoute),\n              pageExtensions,\n              basePath: config.basePath,\n              assetPrefix: config.assetPrefix,\n              nextConfigOutput: config.output,\n              preferredRegion: staticInfo.preferredRegion,\n              middlewareConfig: encodeToBase64(staticInfo.middleware || {}),\n              isGlobalNotFoundEnabled: config.experimental.globalNotFound\n                ? true\n                : undefined,\n            })\n          } else if (isInstrumentation) {\n            server[serverBundlePath.replace('src/', '')] =\n              getInstrumentationEntry({\n                absolutePagePath,\n                isEdgeServer: false,\n                isDev: false,\n              })\n          } else if (isMiddlewareFile(page)) {\n            server[serverBundlePath.replace('src/', '')] = getEdgeServerEntry({\n              ...params,\n              rootDir,\n              absolutePagePath: absolutePagePath,\n              bundlePath: clientBundlePath,\n              isDev: false,\n              isServerComponent,\n              page,\n              middleware: staticInfo?.middleware,\n              pagesType,\n              preferredRegion: staticInfo.preferredRegion,\n              middlewareConfig: staticInfo.middleware,\n            })\n          } else if (isAPIRoute(page)) {\n            server[serverBundlePath] = [\n              getRouteLoaderEntry({\n                kind: RouteKind.PAGES_API,\n                page,\n                absolutePagePath,\n                preferredRegion: staticInfo.preferredRegion,\n                middlewareConfig: staticInfo.middleware || {},\n              }),\n            ]\n          } else if (\n            !isMiddlewareFile(page) &&\n            !isInternalComponent(absolutePagePath) &&\n            !isNonRoutePagesPage(page)\n          ) {\n            server[serverBundlePath] = [\n              getRouteLoaderEntry({\n                kind: RouteKind.PAGES,\n                page,\n                pages,\n                absolutePagePath,\n                preferredRegion: staticInfo.preferredRegion,\n                middlewareConfig: staticInfo.middleware ?? {},\n              }),\n            ]\n          } else {\n            server[serverBundlePath] = [absolutePagePath]\n          }\n        },\n        onEdgeServer: () => {\n          let appDirLoader: string = ''\n          if (isInstrumentation) {\n            edgeServer[serverBundlePath.replace('src/', '')] =\n              getInstrumentationEntry({\n                absolutePagePath,\n                isEdgeServer: true,\n                isDev: false,\n              })\n          } else {\n            if (pagesType === 'app') {\n              const matchedAppPaths = appPathsPerRoute[normalizeAppPath(page)]\n              appDirLoader = getAppEntry({\n                name: serverBundlePath,\n                page,\n                pagePath: absolutePagePath,\n                appDir: appDir!,\n                appPaths: matchedAppPaths,\n                allNormalizedAppPaths: Object.keys(appPathsPerRoute),\n                pageExtensions,\n                basePath: config.basePath,\n                assetPrefix: config.assetPrefix,\n                nextConfigOutput: config.output,\n                // This isn't used with edge as it needs to be set on the entry module, which will be the `edgeServerEntry` instead.\n                // Still passing it here for consistency.\n                preferredRegion: staticInfo.preferredRegion,\n                middlewareConfig: Buffer.from(\n                  JSON.stringify(staticInfo.middleware || {})\n                ).toString('base64'),\n                isGlobalNotFoundEnabled: config.experimental.globalNotFound\n                  ? true\n                  : undefined,\n              }).import\n            }\n            edgeServer[serverBundlePath] = getEdgeServerEntry({\n              ...params,\n              rootDir,\n              absolutePagePath: absolutePagePath,\n              bundlePath: clientBundlePath,\n              isDev: false,\n              isServerComponent,\n              page,\n              middleware: staticInfo?.middleware,\n              pagesType,\n              appDirLoader,\n              preferredRegion: staticInfo.preferredRegion,\n              middlewareConfig: staticInfo.middleware,\n            })\n          }\n        },\n      })\n    }\n\n  const promises: Promise<void[]>[] = []\n\n  if (appPaths) {\n    const entryHandler = getEntryHandler(appPaths, PAGE_TYPES.APP)\n    promises.push(Promise.all(Object.keys(appPaths).map(entryHandler)))\n  }\n  if (rootPaths) {\n    promises.push(\n      Promise.all(\n        Object.keys(rootPaths).map(getEntryHandler(rootPaths, PAGE_TYPES.ROOT))\n      )\n    )\n  }\n  promises.push(\n    Promise.all(\n      Object.keys(pages).map(getEntryHandler(pages, PAGE_TYPES.PAGES))\n    )\n  )\n\n  await Promise.all(promises)\n\n  // Optimization: If there's only one instrumentation hook in edge compiler, which means there's no edge server entry.\n  // We remove the edge instrumentation entry from edge compiler as it can be pure server side.\n  if (edgeServer.instrumentation && Object.keys(edgeServer).length === 1) {\n    delete edgeServer.instrumentation\n  }\n\n  return {\n    client,\n    server,\n    edgeServer,\n    middlewareMatchers,\n  }\n}\n\nexport function finalizeEntrypoint({\n  name,\n  compilerType,\n  value,\n  isServerComponent,\n  hasAppDir,\n}: {\n  compilerType: CompilerNameValues\n  name: string\n  value: ObjectValue<webpack.EntryObject>\n  isServerComponent?: boolean\n  hasAppDir?: boolean\n}): ObjectValue<webpack.EntryObject> {\n  const entry =\n    typeof value !== 'object' || Array.isArray(value)\n      ? { import: value }\n      : value\n\n  const isApi = name.startsWith('pages/api/')\n  const isInstrumentation = isInstrumentationHookFilename(name)\n\n  switch (compilerType) {\n    case COMPILER_NAMES.server: {\n      const layer = isApi\n        ? WEBPACK_LAYERS.apiNode\n        : isInstrumentation\n          ? WEBPACK_LAYERS.instrument\n          : isServerComponent\n            ? WEBPACK_LAYERS.reactServerComponents\n            : name.startsWith('pages/')\n              ? WEBPACK_LAYERS.pagesDirNode\n              : undefined\n\n      return {\n        publicPath: isApi ? '' : undefined,\n        runtime: isApi ? 'webpack-api-runtime' : 'webpack-runtime',\n        layer,\n        ...entry,\n      }\n    }\n    case COMPILER_NAMES.edgeServer: {\n      return {\n        layer: isApi\n          ? WEBPACK_LAYERS.apiEdge\n          : isMiddlewareFilename(name) || isInstrumentation\n            ? WEBPACK_LAYERS.middleware\n            : name.startsWith('pages/')\n              ? WEBPACK_LAYERS.pagesDirEdge\n              : undefined,\n        library: { name: ['_ENTRIES', `middleware_[name]`], type: 'assign' },\n        runtime: EDGE_RUNTIME_WEBPACK,\n        asyncChunks: false,\n        ...entry,\n      }\n    }\n    case COMPILER_NAMES.client: {\n      const isAppLayer =\n        hasAppDir &&\n        (name === CLIENT_STATIC_FILES_RUNTIME_MAIN_APP ||\n          name === APP_CLIENT_INTERNALS ||\n          name.startsWith('app/'))\n\n      if (\n        // Client special cases\n        name !== CLIENT_STATIC_FILES_RUNTIME_POLYFILLS &&\n        name !== CLIENT_STATIC_FILES_RUNTIME_MAIN &&\n        name !== CLIENT_STATIC_FILES_RUNTIME_MAIN_APP &&\n        name !== CLIENT_STATIC_FILES_RUNTIME_REACT_REFRESH\n      ) {\n        if (isAppLayer) {\n          return {\n            dependOn: CLIENT_STATIC_FILES_RUNTIME_MAIN_APP,\n            layer: WEBPACK_LAYERS.appPagesBrowser,\n            ...entry,\n          }\n        }\n\n        return {\n          dependOn:\n            name.startsWith('pages/') && name !== 'pages/_app'\n              ? 'pages/_app'\n              : CLIENT_STATIC_FILES_RUNTIME_MAIN,\n          layer: WEBPACK_LAYERS.pagesDirBrowser,\n          ...entry,\n        }\n      }\n\n      if (isAppLayer) {\n        return {\n          layer: WEBPACK_LAYERS.appPagesBrowser,\n          ...entry,\n        }\n      }\n\n      return {\n        layer: WEBPACK_LAYERS.pagesDirBrowser,\n        ...entry,\n      }\n    }\n    default:\n      return compilerType satisfies never\n  }\n}\n"],"names":["posix","join","normalize","stringify","PAGES_DIR_ALIAS","ROOT_DIR_ALIAS","APP_DIR_ALIAS","WEBPACK_LAYERS","INSTRUMENTATION_HOOK_FILENAME","isAPIRoute","isEdgeRuntime","APP_CLIENT_INTERNALS","RSC_MODULE_TYPES","CLIENT_STATIC_FILES_RUNTIME_MAIN","CLIENT_STATIC_FILES_RUNTIME_MAIN_APP","CLIENT_STATIC_FILES_RUNTIME_POLYFILLS","CLIENT_STATIC_FILES_RUNTIME_REACT_REFRESH","COMPILER_NAMES","EDGE_RUNTIME_WEBPACK","isMiddlewareFile","isMiddlewareFilename","isProxyFile","isInstrumentationHookFile","isInstrumentationHookFilename","normalizePagePath","normalizeAppPath","compareAppPaths","encodeMatchers","isAppRouteRoute","getRouteLoaderEntry","isInternalComponent","isNonRoutePagesPage","RouteKind","encodeToBase64","normalizeCatchAllRoutes","PAGE_TYPES","getStaticInfoIncludingLayouts","getPageFromPath","getPageFilePath","absolutePagePath","pagesDir","appDir","rootDir","startsWith","replace","require","resolve","isDeferredEntry","page","deferredEntries","length","normalizedPage","pattern","normalizedPattern","getEdgeServerEntry","opts","cacheHandler","config","undefined","pagesType","appDirLoader","loaderParams","Buffer","from","toString","preferredRegion","middlewareConfig","JSON","cacheHandlers","import","layer","reactServerComponents","matchers","middleware","filename","isDev","apiEdge","absolute500Path","pages","absoluteAppPath","absoluteDocumentPath","absoluteErrorPath","dev","isServerComponent","sriEnabled","experimental","sri","algorithm","serverActions","serverSideRendering","getInstrumentationEntry","isEdgeServer","instrument","getAppLoader","process","env","BUILTIN_APP_LOADER","getAppEntry","NEXT_RSPACK","projectRoot","__dirname","getClientEntry","loaderOptions","pageLoader","runDependingOnPageType","params","pageType","ROOT","onServer","onEdgeServer","pageRuntime","onClient","createEntrypoints","rootPaths","appPaths","pageExtensions","deferredEntriesFilter","edgeServer","server","client","middlewareMatchers","appPathsPerRoute","pathname","normalizedPath","actualPath","push","Object","fromEntries","entries","map","k","v","sort","getEntryHandler","mappings","isDeferred","bundleFile","clientBundlePath","serverBundlePath","PAGES","APP","slice","pageFilePath","isInsideAppDir","staticInfo","rsc","regexp","originalSource","isInstrumentation","runtime","matchedAppPaths","name","pagePath","allNormalizedAppPaths","keys","basePath","assetPrefix","nextConfigOutput","output","isGlobalNotFoundEnabled","globalNotFound","bundlePath","kind","PAGES_API","promises","entryHandler","Promise","all","instrumentation","finalizeEntrypoint","compilerType","value","hasAppDir","entry","Array","isArray","isApi","apiNode","pagesDirNode","publicPath","pagesDirEdge","library","type","asyncChunks","isAppLayer","dependOn","appPagesBrowser","pagesDirBrowser"],"mappings":"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","ignoreList":[0]}