next 15.6.0-canary.22 → 15.6.0-canary.23

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (48) hide show
  1. package/dist/bin/next +1 -1
  2. package/dist/build/index.js +3 -3
  3. package/dist/build/swc/index.js +1 -1
  4. package/dist/build/webpack/plugins/build-manifest-plugin-utils.d.ts +17 -0
  5. package/dist/build/webpack/plugins/build-manifest-plugin-utils.js +79 -0
  6. package/dist/build/webpack/plugins/build-manifest-plugin-utils.js.map +1 -0
  7. package/dist/build/webpack/plugins/build-manifest-plugin.d.ts +1 -16
  8. package/dist/build/webpack/plugins/build-manifest-plugin.js +8 -70
  9. package/dist/build/webpack/plugins/build-manifest-plugin.js.map +1 -1
  10. package/dist/build/webpack-config.js +2 -2
  11. package/dist/client/app-bootstrap.js +1 -1
  12. package/dist/client/index.js +1 -1
  13. package/dist/compiled/webpack/webpack.js +34 -37
  14. package/dist/esm/build/index.js +3 -3
  15. package/dist/esm/build/swc/index.js +1 -1
  16. package/dist/esm/build/webpack/plugins/build-manifest-plugin-utils.js +52 -0
  17. package/dist/esm/build/webpack/plugins/build-manifest-plugin-utils.js.map +1 -0
  18. package/dist/esm/build/webpack/plugins/build-manifest-plugin.js +1 -50
  19. package/dist/esm/build/webpack/plugins/build-manifest-plugin.js.map +1 -1
  20. package/dist/esm/build/webpack-config.js +2 -2
  21. package/dist/esm/client/app-bootstrap.js +1 -1
  22. package/dist/esm/client/index.js +1 -1
  23. package/dist/esm/server/config-utils.js +0 -2
  24. package/dist/esm/server/config-utils.js.map +1 -1
  25. package/dist/esm/server/dev/hot-reloader-turbopack.js +1 -1
  26. package/dist/esm/server/dev/hot-reloader-webpack.js +1 -1
  27. package/dist/esm/server/lib/app-info-log.js +1 -1
  28. package/dist/esm/server/lib/router-utils/setup-dev-bundler.js +1 -1
  29. package/dist/esm/server/lib/router-utils/setup-dev-bundler.js.map +1 -1
  30. package/dist/esm/server/lib/start-server.js +1 -1
  31. package/dist/esm/shared/lib/canary-only.js +1 -1
  32. package/dist/esm/shared/lib/turbopack/manifest-loader.js +1 -1
  33. package/dist/esm/shared/lib/turbopack/manifest-loader.js.map +1 -1
  34. package/dist/server/config-utils.js +0 -2
  35. package/dist/server/config-utils.js.map +1 -1
  36. package/dist/server/dev/hot-reloader-turbopack.js +1 -1
  37. package/dist/server/dev/hot-reloader-webpack.js +1 -1
  38. package/dist/server/lib/app-info-log.js +1 -1
  39. package/dist/server/lib/router-utils/setup-dev-bundler.js +2 -2
  40. package/dist/server/lib/router-utils/setup-dev-bundler.js.map +1 -1
  41. package/dist/server/lib/start-server.js +1 -1
  42. package/dist/shared/lib/canary-only.js +1 -1
  43. package/dist/shared/lib/turbopack/manifest-loader.js +7 -7
  44. package/dist/shared/lib/turbopack/manifest-loader.js.map +1 -1
  45. package/dist/telemetry/anonymous-meta.js +1 -1
  46. package/dist/telemetry/events/session-stopped.js +2 -2
  47. package/dist/telemetry/events/version.js +2 -2
  48. package/package.json +15 -15
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/server/lib/router-utils/setup-dev-bundler.ts"],"sourcesContent":["import type { NextConfigComplete } from '../../config-shared'\nimport type { FilesystemDynamicRoute } from './filesystem'\nimport type { UnwrapPromise } from '../../../lib/coalesced-function'\nimport type { MiddlewareMatcher } from '../../../build/analysis/get-page-static-info'\nimport type { RoutesManifest } from '../../../build'\nimport type { MiddlewareRouteMatch } from '../../../shared/lib/router/utils/middleware-route-matcher'\nimport type { PropagateToWorkersField } from './types'\nimport type { NextJsHotReloaderInterface } from '../../dev/hot-reloader-types'\n\nimport { createDefineEnv } from '../../../build/swc'\nimport fs from 'fs'\nimport url from 'url'\nimport path from 'path'\nimport qs from 'querystring'\nimport Watchpack from 'next/dist/compiled/watchpack'\nimport findUp from 'next/dist/compiled/find-up'\nimport { buildCustomRoute } from './filesystem'\nimport * as Log from '../../../build/output/log'\nimport { setGlobal } from '../../../trace/shared'\nimport type { Telemetry } from '../../../telemetry/storage'\nimport type { IncomingMessage, ServerResponse } from 'http'\nimport { createValidFileMatcher } from '../find-page-file'\nimport {\n EVENT_BUILD_FEATURE_USAGE,\n eventCliSession,\n} from '../../../telemetry/events'\nimport { getSortedRoutes } from '../../../shared/lib/router/utils'\nimport { sortByPageExts } from '../../../build/sort-by-page-exts'\nimport { verifyTypeScriptSetup } from '../../../lib/verify-typescript-setup'\nimport { verifyPartytownSetup } from '../../../lib/verify-partytown-setup'\nimport { getNamedRouteRegex } from '../../../shared/lib/router/utils/route-regex'\nimport { normalizeAppPath } from '../../../shared/lib/router/utils/app-paths'\nimport { buildDataRoute } from './build-data-route'\nimport { getRouteMatcher } from '../../../shared/lib/router/utils/route-matcher'\nimport { normalizePathSep } from '../../../shared/lib/page-path/normalize-path-sep'\nimport { createClientRouterFilter } from '../../../lib/create-client-router-filter'\nimport { absolutePathToPage } from '../../../shared/lib/page-path/absolute-path-to-page'\nimport { generateInterceptionRoutesRewrites } from '../../../lib/generate-interception-routes-rewrites'\n\nimport {\n CLIENT_STATIC_FILES_PATH,\n DEV_CLIENT_PAGES_MANIFEST,\n DEV_CLIENT_MIDDLEWARE_MANIFEST,\n PHASE_DEVELOPMENT_SERVER,\n TURBOPACK_CLIENT_MIDDLEWARE_MANIFEST,\n ROUTES_MANIFEST,\n PRERENDER_MANIFEST,\n} from '../../../shared/lib/constants'\n\nimport { getMiddlewareRouteMatcher } from '../../../shared/lib/router/utils/middleware-route-matcher'\n\nimport {\n isMiddlewareFile,\n NestedMiddlewareError,\n isInstrumentationHookFile,\n getPossibleMiddlewareFilenames,\n getPossibleInstrumentationHookFilenames,\n} from '../../../build/utils'\nimport { devPageFiles } from '../../../build/webpack/plugins/next-types-plugin/shared'\nimport type { LazyRenderServerInstance } from '../router-server'\nimport { HMR_MESSAGE_SENT_TO_BROWSER } from '../../dev/hot-reloader-types'\nimport { PAGE_TYPES } from '../../../lib/page-types'\nimport { generateEncryptionKeyBase64 } from '../../app-render/encryption-utils-server'\nimport {\n isMetadataRouteFile,\n isStaticMetadataFile,\n} from '../../../lib/metadata/is-metadata-route'\nimport { normalizeMetadataPageToRoute } from '../../../lib/metadata/get-metadata-route'\nimport { createEnvDefinitions } from '../experimental/create-env-definitions'\nimport { JsConfigPathsPlugin } from '../../../build/webpack/plugins/jsconfig-paths-plugin'\nimport { store as consoleStore } from '../../../build/output/store'\nimport {\n isPersistentCachingEnabled,\n ModuleBuildError,\n} from '../../../shared/lib/turbopack/utils'\nimport { getDefineEnv } from '../../../build/define-env'\nimport { TurbopackInternalError } from '../../../shared/lib/turbopack/internal-error'\nimport { normalizePath } from '../../../lib/normalize-path'\nimport { JSON_CONTENT_TYPE_HEADER } from '../../../lib/constants'\nimport {\n createRouteTypesManifest,\n writeRouteTypesManifest,\n writeValidatorFile,\n} from './route-types-utils'\nimport { isParallelRouteSegment } from '../../../shared/lib/segment'\nimport { ensureLeadingSlash } from '../../../shared/lib/page-path/ensure-leading-slash'\n\nexport type SetupOpts = {\n renderServer: LazyRenderServerInstance\n dir: string\n turbo?: boolean\n appDir?: string\n pagesDir?: string\n telemetry: Telemetry\n isCustomServer?: boolean\n fsChecker: UnwrapPromise<\n ReturnType<typeof import('./filesystem').setupFsCheck>\n >\n nextConfig: NextConfigComplete\n port: number\n onDevServerCleanup: ((listener: () => Promise<void>) => void) | undefined\n resetFetch: () => void\n}\n\nexport interface DevRoutesManifest {\n version: number\n caseSensitive: RoutesManifest['caseSensitive']\n basePath: RoutesManifest['basePath']\n rewrites: RoutesManifest['rewrites']\n redirects: RoutesManifest['redirects']\n headers: RoutesManifest['headers']\n i18n: RoutesManifest['i18n']\n skipMiddlewareUrlNormalize: RoutesManifest['skipMiddlewareUrlNormalize']\n}\n\nexport type ServerFields = {\n actualMiddlewareFile?: string | undefined\n actualInstrumentationHookFile?: string | undefined\n appPathRoutes?: Record<string, string | string[]>\n middleware?:\n | {\n page: string\n match: MiddlewareRouteMatch\n matchers?: MiddlewareMatcher[]\n }\n | undefined\n hasAppNotFound?: boolean\n interceptionRoutes?: ReturnType<\n typeof import('./filesystem').buildCustomRoute\n >[]\n setIsrStatus?: (key: string, value: boolean) => void\n resetFetch?: () => void\n}\n\nasync function verifyTypeScript(opts: SetupOpts) {\n const verifyResult = await verifyTypeScriptSetup({\n dir: opts.dir,\n distDir: opts.nextConfig.distDir,\n intentDirs: [opts.pagesDir, opts.appDir].filter(Boolean) as string[],\n typeCheckPreflight: false,\n tsconfigPath: opts.nextConfig.typescript.tsconfigPath,\n disableStaticImages: opts.nextConfig.images.disableStaticImages,\n hasAppDir: !!opts.appDir,\n hasPagesDir: !!opts.pagesDir,\n })\n\n if (verifyResult.version) {\n return true\n }\n return false\n}\n\nexport async function propagateServerField(\n opts: SetupOpts,\n field: PropagateToWorkersField,\n args: any\n) {\n await opts.renderServer?.instance?.propagateServerField(opts.dir, field, args)\n}\n\nasync function startWatcher(\n opts: SetupOpts & {\n isSrcDir: boolean\n }\n) {\n const { nextConfig, appDir, pagesDir, dir, resetFetch } = opts\n const { useFileSystemPublicRoutes } = nextConfig\n\n const distDir = path.join(opts.dir, opts.nextConfig.distDir)\n\n setGlobal('distDir', distDir)\n setGlobal('phase', PHASE_DEVELOPMENT_SERVER)\n\n const validFileMatcher = createValidFileMatcher(\n nextConfig.pageExtensions,\n appDir\n )\n\n const serverFields: ServerFields = {}\n\n // Update logging state once based on next.config.js when initializing\n consoleStore.setState({\n logging: nextConfig.logging !== false,\n })\n\n const hotReloader: NextJsHotReloaderInterface = opts.turbo\n ? await (async () => {\n const createHotReloaderTurbopack = (\n require('../../dev/hot-reloader-turbopack') as typeof import('../../dev/hot-reloader-turbopack')\n ).createHotReloaderTurbopack\n return await createHotReloaderTurbopack(\n opts,\n serverFields,\n distDir,\n resetFetch\n )\n })()\n : await (async () => {\n const HotReloaderWebpack = (\n require('../../dev/hot-reloader-webpack') as typeof import('../../dev/hot-reloader-webpack')\n ).default\n return new HotReloaderWebpack(opts.dir, {\n isSrcDir: opts.isSrcDir,\n appDir,\n pagesDir,\n distDir,\n config: opts.nextConfig,\n buildId: 'development',\n encryptionKey: await generateEncryptionKeyBase64({\n isBuild: false,\n distDir,\n }),\n telemetry: opts.telemetry,\n rewrites: opts.fsChecker.rewrites,\n previewProps: opts.fsChecker.prerenderManifest.preview,\n resetFetch,\n })\n })()\n\n await hotReloader.start()\n\n // have to write this after starting hot-reloader since that\n // cleans the dist dir\n const distTypesDir = path.join(distDir, 'types')\n await writeRouteTypesManifest(\n {\n appRoutes: {},\n pageRoutes: {},\n layoutRoutes: {},\n appRouteHandlerRoutes: {},\n redirectRoutes: {},\n rewriteRoutes: {},\n appPagePaths: new Set(),\n pagesRouterPagePaths: new Set(),\n layoutPaths: new Set(),\n appRouteHandlers: new Set(),\n pageApiRoutes: new Set(),\n filePathToRoute: new Map(),\n },\n path.join(distTypesDir, 'routes.d.ts'),\n opts.nextConfig\n )\n\n const routesManifestPath = path.join(distDir, ROUTES_MANIFEST)\n const routesManifest: DevRoutesManifest = {\n version: 3,\n caseSensitive: !!nextConfig.experimental.caseSensitiveRoutes,\n basePath: nextConfig.basePath,\n rewrites: opts.fsChecker.rewrites,\n redirects: opts.fsChecker.redirects,\n headers: opts.fsChecker.headers,\n i18n: nextConfig.i18n || undefined,\n skipMiddlewareUrlNormalize: nextConfig.skipMiddlewareUrlNormalize,\n }\n await fs.promises.writeFile(\n routesManifestPath,\n JSON.stringify(routesManifest)\n )\n\n const prerenderManifestPath = path.join(distDir, PRERENDER_MANIFEST)\n await fs.promises.writeFile(\n prerenderManifestPath,\n JSON.stringify(opts.fsChecker.prerenderManifest, null, 2)\n )\n\n if (opts.nextConfig.experimental.nextScriptWorkers) {\n await verifyPartytownSetup(\n opts.dir,\n path.join(distDir, CLIENT_STATIC_FILES_PATH)\n )\n }\n\n opts.fsChecker.ensureCallback(async function ensure(item) {\n if (item.type === 'appFile' || item.type === 'pageFile') {\n await hotReloader.ensurePage({\n clientOnly: false,\n page: item.itemPath,\n isApp: item.type === 'appFile',\n definition: undefined,\n })\n }\n })\n\n let resolved = false\n let prevSortedRoutes: string[] = []\n\n await new Promise<void>(async (resolve, reject) => {\n if (pagesDir) {\n // Watchpack doesn't emit an event for an empty directory\n fs.readdir(pagesDir, (_, files) => {\n if (files?.length) {\n return\n }\n\n if (!resolved) {\n resolve()\n resolved = true\n }\n })\n }\n\n const pages = pagesDir ? [pagesDir] : []\n const app = appDir ? [appDir] : []\n const directories = [...pages, ...app]\n\n const rootDir = pagesDir || appDir\n const files = [\n ...getPossibleMiddlewareFilenames(\n path.join(rootDir!, '..'),\n nextConfig.pageExtensions\n ),\n ...getPossibleInstrumentationHookFilenames(\n path.join(rootDir!, '..'),\n nextConfig.pageExtensions\n ),\n ]\n let nestedMiddleware: string[] = []\n\n const envFiles = [\n '.env.development.local',\n '.env.local',\n '.env.development',\n '.env',\n ].map((file) => path.join(dir, file))\n\n files.push(...envFiles)\n\n // tsconfig/jsconfig paths hot-reloading\n const tsconfigPaths = [\n path.join(dir, 'tsconfig.json'),\n path.join(dir, 'jsconfig.json'),\n ] as const\n files.push(...tsconfigPaths)\n\n const wp = new Watchpack({\n // Watchpack default is 200ms which adds 200ms of dead time on bootup.\n aggregateTimeout: 5, // Matches webpack-config.ts.\n ignored: (pathname: string) => {\n return (\n !files.some((file) => file.startsWith(pathname)) &&\n !directories.some(\n (d) => pathname.startsWith(d) || d.startsWith(pathname)\n )\n )\n },\n })\n const fileWatchTimes = new Map()\n let enabledTypeScript = await verifyTypeScript(opts)\n let previousClientRouterFilters: any\n let previousConflictingPagePaths: Set<string> = new Set()\n\n const routeTypesFilePath = path.join(distDir, 'types', 'routes.d.ts')\n const validatorFilePath = path.join(distDir, 'types', 'validator.ts')\n\n wp.on('aggregated', async () => {\n let writeEnvDefinitions = false\n let typescriptStatusFromLastAggregation = enabledTypeScript\n let middlewareMatchers: MiddlewareMatcher[] | undefined\n const routedPages: string[] = []\n const knownFiles = wp.getTimeInfoEntries()\n const appPaths: Record<string, string[]> = {}\n const pageNameSet = new Set<string>()\n const conflictingAppPagePaths = new Set<string>()\n const appPageFilePaths = new Map<string, string>()\n const pagesPageFilePaths = new Map<string, string>()\n const appRouteHandlers: Array<{ route: string; filePath: string }> = []\n const pageApiRoutes: Array<{ route: string; filePath: string }> = []\n\n const pageRoutes: Array<{ route: string; filePath: string }> = []\n const appRoutes: Array<{ route: string; filePath: string }> = []\n const layoutRoutes: Array<{ route: string; filePath: string }> = []\n const slots: Array<{ name: string; parent: string }> = []\n\n let envChange = false\n let tsconfigChange = false\n let conflictingPageChange = 0\n let hasRootAppNotFound = false\n\n const { appFiles, pageFiles, staticMetadataFiles } = opts.fsChecker\n\n appFiles.clear()\n pageFiles.clear()\n staticMetadataFiles.clear()\n devPageFiles.clear()\n\n const sortedKnownFiles: string[] = [...knownFiles.keys()].sort(\n sortByPageExts(nextConfig.pageExtensions)\n )\n\n for (const fileName of sortedKnownFiles) {\n if (\n !files.includes(fileName) &&\n !directories.some((d) => fileName.startsWith(d))\n ) {\n continue\n }\n const meta = knownFiles.get(fileName)\n\n const watchTime = fileWatchTimes.get(fileName)\n // If the file is showing up for the first time or the meta.timestamp is changed since last time\n const watchTimeChange =\n watchTime === undefined ||\n (watchTime && watchTime !== meta?.timestamp)\n fileWatchTimes.set(fileName, meta?.timestamp)\n\n if (envFiles.includes(fileName)) {\n if (watchTimeChange) {\n envChange = true\n }\n continue\n }\n\n if (tsconfigPaths.includes(fileName)) {\n if (fileName.endsWith('tsconfig.json')) {\n enabledTypeScript = true\n }\n if (watchTimeChange) {\n tsconfigChange = true\n }\n continue\n }\n\n if (\n meta?.accuracy === undefined ||\n !validFileMatcher.isPageFile(fileName)\n ) {\n continue\n }\n\n const isAppPath = Boolean(\n appDir &&\n normalizePathSep(fileName).startsWith(\n normalizePathSep(appDir) + '/'\n )\n )\n const isPagePath = Boolean(\n pagesDir &&\n normalizePathSep(fileName).startsWith(\n normalizePathSep(pagesDir) + '/'\n )\n )\n\n const rootFile = absolutePathToPage(fileName, {\n dir: dir,\n extensions: nextConfig.pageExtensions,\n keepIndex: false,\n pagesType: PAGE_TYPES.ROOT,\n })\n\n if (isMiddlewareFile(rootFile)) {\n const getStaticInfoIncludingLayouts = (\n require('../../../build/get-static-info-including-layouts') as typeof import('../../../build/get-static-info-including-layouts')\n ).getStaticInfoIncludingLayouts\n const staticInfo = await getStaticInfoIncludingLayouts({\n pageFilePath: fileName,\n config: nextConfig,\n appDir: appDir,\n page: rootFile,\n isDev: true,\n isInsideAppDir: isAppPath,\n pageExtensions: nextConfig.pageExtensions,\n })\n if (nextConfig.output === 'export') {\n Log.error(\n 'Middleware cannot be used with \"output: export\". See more info here: https://nextjs.org/docs/advanced-features/static-html-export'\n )\n continue\n }\n serverFields.actualMiddlewareFile = rootFile\n await propagateServerField(\n opts,\n 'actualMiddlewareFile',\n serverFields.actualMiddlewareFile\n )\n middlewareMatchers = staticInfo.middleware?.matchers || [\n { regexp: '^/.*$', originalSource: '/:path*' },\n ]\n continue\n }\n if (isInstrumentationHookFile(rootFile)) {\n serverFields.actualInstrumentationHookFile = rootFile\n await propagateServerField(\n opts,\n 'actualInstrumentationHookFile',\n serverFields.actualInstrumentationHookFile\n )\n continue\n }\n\n if (fileName.endsWith('.ts') || fileName.endsWith('.tsx')) {\n enabledTypeScript = true\n }\n\n if (!(isAppPath || isPagePath)) {\n continue\n }\n\n // Collect all current filenames for the TS plugin to use\n devPageFiles.add(fileName)\n\n let pageName = absolutePathToPage(fileName, {\n dir: isAppPath ? appDir! : pagesDir!,\n extensions: nextConfig.pageExtensions,\n keepIndex: isAppPath,\n pagesType: isAppPath ? PAGE_TYPES.APP : PAGE_TYPES.PAGES,\n })\n\n if (\n isAppPath &&\n appDir &&\n isMetadataRouteFile(\n fileName.replace(appDir, ''),\n nextConfig.pageExtensions,\n true\n )\n ) {\n const getPageStaticInfo = (\n require('../../../build/analysis/get-page-static-info') as typeof import('../../../build/analysis/get-page-static-info')\n ).getPageStaticInfo\n const staticInfo = await getPageStaticInfo({\n pageFilePath: fileName,\n nextConfig: {},\n page: pageName,\n isDev: true,\n pageType: PAGE_TYPES.APP,\n })\n\n pageName = normalizeMetadataPageToRoute(\n pageName,\n !!(staticInfo.generateSitemaps || staticInfo.generateImageMetadata)\n )\n }\n\n if (\n !isAppPath &&\n pageName.startsWith('/api/') &&\n nextConfig.output === 'export'\n ) {\n Log.error(\n 'API Routes cannot be used with \"output: export\". See more info here: https://nextjs.org/docs/advanced-features/static-html-export'\n )\n continue\n }\n\n if (isAppPath) {\n const isRootNotFound = validFileMatcher.isRootNotFound(fileName)\n hasRootAppNotFound = true\n\n if (isRootNotFound) {\n continue\n }\n\n // Ignore files/directories starting with `_` in the app directory\n if (normalizePathSep(pageName).includes('/_')) {\n continue\n }\n\n // Record parallel route slots for layout typing\n // May run multiple times (e.g. if a parallel route\n // has both a layout and a page, and children) but that's fine\n const segments = normalizePathSep(pageName).split('/')\n for (let i = segments.length - 1; i >= 0; i--) {\n const segment = segments[i]\n if (isParallelRouteSegment(segment)) {\n const parentPath = normalizeAppPath(\n segments.slice(0, i).join('/')\n )\n\n const slotName = segment.slice(1)\n // check if the slot already exists\n if (\n slots.some(\n (s) => s.name === slotName && s.parent === parentPath\n )\n )\n continue\n\n slots.push({\n name: slotName,\n parent: parentPath,\n })\n break\n }\n }\n\n // Record layouts\n if (validFileMatcher.isAppLayoutPage(fileName)) {\n layoutRoutes.push({\n route: ensureLeadingSlash(\n normalizeAppPath(normalizePathSep(pageName)).replace(\n /\\/layout$/,\n ''\n )\n ),\n filePath: fileName,\n })\n }\n\n if (!validFileMatcher.isAppRouterPage(fileName)) {\n continue\n }\n\n const originalPageName = pageName\n pageName = normalizeAppPath(pageName).replace(/%5F/g, '_')\n if (!appPaths[pageName]) {\n appPaths[pageName] = []\n }\n appPaths[pageName].push(\n opts.turbo\n ? // Turbopack outputs the correct path which is normalized with the `_`.\n originalPageName.replace(/%5F/g, '_')\n : originalPageName\n )\n\n if (useFileSystemPublicRoutes) {\n // Static metadata files will be served from filesystem.\n if (appDir && isStaticMetadataFile(fileName.replace(appDir, ''))) {\n staticMetadataFiles.set(pageName, fileName)\n } else {\n appFiles.add(pageName)\n }\n }\n\n if (validFileMatcher.isAppRouterRoute(fileName)) {\n appRouteHandlers.push({\n route: normalizePathSep(pageName),\n filePath: fileName,\n })\n } else {\n appRoutes.push({\n route: normalizePathSep(pageName),\n filePath: fileName,\n })\n }\n\n if (routedPages.includes(pageName)) {\n continue\n }\n } else {\n if (useFileSystemPublicRoutes) {\n pageFiles.add(pageName)\n // always add to nextDataRoutes for now but in future only add\n // entries that actually use getStaticProps/getServerSideProps\n opts.fsChecker.nextDataRoutes.add(pageName)\n }\n\n if (pageName.startsWith('/api/')) {\n pageApiRoutes.push({\n route: normalizePathSep(pageName),\n filePath: fileName,\n })\n } else {\n pageRoutes.push({\n route: normalizePathSep(pageName),\n filePath: fileName,\n })\n }\n }\n\n // Record pages\n if (isAppPath) {\n appPageFilePaths.set(pageName, fileName)\n } else {\n pagesPageFilePaths.set(pageName, fileName)\n }\n\n if (appDir && pageNameSet.has(pageName)) {\n conflictingAppPagePaths.add(pageName)\n } else {\n pageNameSet.add(pageName)\n }\n\n /**\n * If there is a middleware that is not declared in the root we will\n * warn without adding it so it doesn't make its way into the system.\n */\n if (/[\\\\\\\\/]_middleware$/.test(pageName)) {\n nestedMiddleware.push(pageName)\n continue\n }\n\n routedPages.push(pageName)\n }\n\n const numConflicting = conflictingAppPagePaths.size\n conflictingPageChange = numConflicting - previousConflictingPagePaths.size\n\n if (conflictingPageChange !== 0) {\n if (numConflicting > 0) {\n let errorMessage = `Conflicting app and page file${\n numConflicting === 1 ? ' was' : 's were'\n } found, please remove the conflicting files to continue:\\n`\n\n for (const p of conflictingAppPagePaths) {\n const appPath = path.relative(dir, appPageFilePaths.get(p)!)\n const pagesPath = path.relative(dir, pagesPageFilePaths.get(p)!)\n errorMessage += ` \"${pagesPath}\" - \"${appPath}\"\\n`\n }\n hotReloader.setHmrServerError(new Error(errorMessage))\n } else if (numConflicting === 0) {\n hotReloader.clearHmrServerError()\n await propagateServerField(opts, 'reloadMatchers', undefined)\n }\n }\n\n previousConflictingPagePaths = conflictingAppPagePaths\n\n let clientRouterFilters: any\n if (nextConfig.experimental.clientRouterFilter) {\n clientRouterFilters = createClientRouterFilter(\n Object.keys(appPaths),\n nextConfig.experimental.clientRouterFilterRedirects\n ? ((nextConfig as any)._originalRedirects || []).filter(\n (r: any) => !r.internal\n )\n : [],\n nextConfig.experimental.clientRouterFilterAllowedRate\n )\n\n if (\n !previousClientRouterFilters ||\n JSON.stringify(previousClientRouterFilters) !==\n JSON.stringify(clientRouterFilters)\n ) {\n envChange = true\n previousClientRouterFilters = clientRouterFilters\n }\n }\n\n if (envChange || tsconfigChange) {\n if (envChange) {\n writeEnvDefinitions = true\n\n await propagateServerField(opts, 'loadEnvConfig', [\n { dev: true, forceReload: true },\n ])\n }\n\n if (hotReloader.turbopackProject) {\n const hasRewrites =\n opts.fsChecker.rewrites.afterFiles.length > 0 ||\n opts.fsChecker.rewrites.beforeFiles.length > 0 ||\n opts.fsChecker.rewrites.fallback.length > 0\n\n const rootPath =\n opts.nextConfig.turbopack?.root ||\n opts.nextConfig.outputFileTracingRoot ||\n opts.dir\n await hotReloader.turbopackProject.update({\n defineEnv: createDefineEnv({\n isTurbopack: true,\n clientRouterFilters,\n config: nextConfig,\n dev: true,\n distDir,\n fetchCacheKeyPrefix:\n opts.nextConfig.experimental.fetchCacheKeyPrefix,\n hasRewrites,\n // TODO: Implement\n middlewareMatchers: undefined,\n projectPath: opts.dir,\n rewrites: opts.fsChecker.rewrites,\n }),\n rootPath,\n projectPath: normalizePath(path.relative(rootPath, dir)),\n })\n } else {\n let tsconfigResult:\n | UnwrapPromise<\n ReturnType<\n typeof import('../../../build/load-jsconfig').default\n >\n >\n | undefined\n // This is not relevant for Turbopack because tsconfig/jsconfig is handled internally.\n if (tsconfigChange) {\n try {\n const loadJsConfig = (\n require('../../../build/load-jsconfig') as typeof import('../../../build/load-jsconfig')\n ).default\n tsconfigResult = await loadJsConfig(dir, nextConfig)\n } catch (_) {\n /* do we want to log if there are syntax errors in tsconfig while editing? */\n }\n }\n\n hotReloader.activeWebpackConfigs?.forEach((config, idx) => {\n const isClient = idx === 0\n const isNodeServer = idx === 1\n const isEdgeServer = idx === 2\n const hasRewrites =\n opts.fsChecker.rewrites.afterFiles.length > 0 ||\n opts.fsChecker.rewrites.beforeFiles.length > 0 ||\n opts.fsChecker.rewrites.fallback.length > 0\n\n if (tsconfigChange) {\n config.resolve?.plugins?.forEach((plugin: any) => {\n // look for the JsConfigPathsPlugin and update with\n // the latest paths/baseUrl config\n if (plugin instanceof JsConfigPathsPlugin && tsconfigResult) {\n const { resolvedBaseUrl, jsConfig } = tsconfigResult\n const currentResolvedBaseUrl = plugin.resolvedBaseUrl\n const resolvedUrlIndex = config.resolve?.modules?.findIndex(\n (item) => item === currentResolvedBaseUrl?.baseUrl\n )\n\n if (resolvedBaseUrl) {\n if (\n resolvedBaseUrl.baseUrl !==\n currentResolvedBaseUrl?.baseUrl\n ) {\n // remove old baseUrl and add new one\n if (resolvedUrlIndex && resolvedUrlIndex > -1) {\n config.resolve?.modules?.splice(resolvedUrlIndex, 1)\n }\n\n // If the resolvedBaseUrl is implicit we only remove the previous value.\n // Only add the baseUrl if it's explicitly set in tsconfig/jsconfig\n if (!resolvedBaseUrl.isImplicit) {\n config.resolve?.modules?.push(resolvedBaseUrl.baseUrl)\n }\n }\n }\n\n if (jsConfig?.compilerOptions?.paths && resolvedBaseUrl) {\n Object.keys(plugin.paths).forEach((key) => {\n delete plugin.paths[key]\n })\n Object.assign(plugin.paths, jsConfig.compilerOptions.paths)\n plugin.resolvedBaseUrl = resolvedBaseUrl\n }\n }\n })\n }\n\n if (envChange) {\n config.plugins?.forEach((plugin: any) => {\n // we look for the DefinePlugin definitions so we can\n // update them on the active compilers\n if (\n plugin &&\n typeof plugin.definitions === 'object' &&\n plugin.definitions.__NEXT_DEFINE_ENV\n ) {\n const newDefine = getDefineEnv({\n isTurbopack: false,\n clientRouterFilters,\n config: nextConfig,\n dev: true,\n distDir,\n fetchCacheKeyPrefix:\n opts.nextConfig.experimental.fetchCacheKeyPrefix,\n hasRewrites,\n isClient,\n isEdgeServer,\n isNodeServer,\n middlewareMatchers: undefined,\n projectPath: opts.dir,\n rewrites: opts.fsChecker.rewrites,\n })\n\n Object.keys(plugin.definitions).forEach((key) => {\n if (!(key in newDefine)) {\n delete plugin.definitions[key]\n }\n })\n Object.assign(plugin.definitions, newDefine)\n }\n })\n }\n })\n }\n await hotReloader.invalidate({\n reloadAfterInvalidation: envChange,\n })\n }\n\n if (nestedMiddleware.length > 0) {\n Log.error(\n new NestedMiddlewareError(\n nestedMiddleware,\n dir,\n (pagesDir || appDir)!\n ).message\n )\n nestedMiddleware = []\n }\n\n // Make sure to sort parallel routes to make the result deterministic.\n serverFields.appPathRoutes = Object.fromEntries(\n Object.entries(appPaths).map(([k, v]) => [k, v.sort()])\n )\n await propagateServerField(\n opts,\n 'appPathRoutes',\n serverFields.appPathRoutes\n )\n\n // TODO: pass this to fsChecker/next-dev-server?\n serverFields.middleware = middlewareMatchers\n ? {\n match: null as any,\n page: '/',\n matchers: middlewareMatchers,\n }\n : undefined\n\n await propagateServerField(opts, 'middleware', serverFields.middleware)\n serverFields.hasAppNotFound = hasRootAppNotFound\n\n opts.fsChecker.middlewareMatcher = serverFields.middleware?.matchers\n ? getMiddlewareRouteMatcher(serverFields.middleware?.matchers)\n : undefined\n\n const interceptionRoutes = generateInterceptionRoutesRewrites(\n Object.keys(appPaths),\n opts.nextConfig.basePath\n ).map((item) =>\n buildCustomRoute(\n 'before_files_rewrite',\n item,\n opts.nextConfig.basePath,\n opts.nextConfig.experimental.caseSensitiveRoutes\n )\n )\n\n opts.fsChecker.rewrites.beforeFiles.push(...interceptionRoutes)\n\n const exportPathMap =\n (typeof nextConfig.exportPathMap === 'function' &&\n (await nextConfig.exportPathMap?.(\n {},\n {\n dev: true,\n dir: opts.dir,\n outDir: null,\n distDir: distDir,\n buildId: 'development',\n }\n ))) ||\n {}\n\n const exportPathMapEntries = Object.entries(exportPathMap || {})\n\n if (exportPathMapEntries.length > 0) {\n opts.fsChecker.exportPathMapRoutes = exportPathMapEntries.map(\n ([key, value]) =>\n buildCustomRoute(\n 'before_files_rewrite',\n {\n source: key,\n destination: `${value.page}${\n value.query ? '?' : ''\n }${qs.stringify(value.query)}`,\n },\n opts.nextConfig.basePath,\n opts.nextConfig.experimental.caseSensitiveRoutes\n )\n )\n }\n\n try {\n // we serve a separate manifest with all pages for the client in\n // dev mode so that we can match a page after a rewrite on the client\n // before it has been built and is populated in the _buildManifest\n const sortedRoutes = getSortedRoutes(routedPages)\n\n opts.fsChecker.dynamicRoutes = sortedRoutes.map(\n (page): FilesystemDynamicRoute => {\n const regex = getNamedRouteRegex(page, {\n prefixRouteKeys: true,\n })\n return {\n regex: regex.re.toString(),\n namedRegex: regex.namedRegex,\n routeKeys: regex.routeKeys,\n match: getRouteMatcher(regex),\n page,\n }\n }\n )\n\n const dataRoutes: typeof opts.fsChecker.dynamicRoutes = []\n\n for (const page of sortedRoutes) {\n const route = buildDataRoute(page, 'development')\n const routeRegex = getNamedRouteRegex(route.page, {\n prefixRouteKeys: true,\n })\n dataRoutes.push({\n ...route,\n regex: routeRegex.re.toString(),\n namedRegex: routeRegex.namedRegex,\n routeKeys: routeRegex.routeKeys,\n match: getRouteMatcher({\n // TODO: fix this in the manifest itself, must also be fixed in\n // upstream builder that relies on this\n re: opts.nextConfig.i18n\n ? new RegExp(\n route.dataRouteRegex.replace(\n `/development/`,\n `/development/(?<nextLocale>[^/]+?)/`\n )\n )\n : new RegExp(route.dataRouteRegex),\n groups: routeRegex.groups,\n }),\n })\n }\n opts.fsChecker.dynamicRoutes.unshift(...dataRoutes)\n\n // For Turbopack ADDED_PAGE and REMOVED_PAGE are implemented in hot-reloader-turbopack.ts\n // in order to avoid a race condition where ADDED_PAGE and REMOVED_PAGE are sent before Turbopack picked up the file change.\n if (!opts.turbo) {\n // Reload the matchers. The filesystem would have been written to,\n // and the matchers need to re-scan it to update the router.\n // Reloading the matchers should happen before `ADDED_PAGE` or `REMOVED_PAGE` is sent over the websocket\n // otherwise it sends the event too early.\n await propagateServerField(opts, 'reloadMatchers', undefined)\n\n if (\n !prevSortedRoutes?.every((val, idx) => val === sortedRoutes[idx])\n ) {\n const addedRoutes = sortedRoutes.filter(\n (route) => !prevSortedRoutes.includes(route)\n )\n const removedRoutes = prevSortedRoutes.filter(\n (route) => !sortedRoutes.includes(route)\n )\n\n // emit the change so clients fetch the update\n hotReloader.send({\n type: HMR_MESSAGE_SENT_TO_BROWSER.DEV_PAGES_MANIFEST_UPDATE,\n data: [\n {\n devPagesManifest: true,\n },\n ],\n })\n\n addedRoutes.forEach((route) => {\n hotReloader.send({\n type: HMR_MESSAGE_SENT_TO_BROWSER.ADDED_PAGE,\n data: [route],\n })\n })\n\n removedRoutes.forEach((route) => {\n hotReloader.send({\n type: HMR_MESSAGE_SENT_TO_BROWSER.REMOVED_PAGE,\n data: [route],\n })\n })\n }\n }\n prevSortedRoutes = sortedRoutes\n\n if (enabledTypeScript) {\n // Using === false to make the check clearer.\n if (typescriptStatusFromLastAggregation === false) {\n // we tolerate the error here as this is best effort\n // and the manual install command will be shown\n await verifyTypeScript(opts)\n .then(() => {\n tsconfigChange = true\n })\n .catch(() => {})\n }\n\n if (writeEnvDefinitions && nextConfig.experimental?.typedEnv) {\n // TODO: The call to propagateServerField 'loadEnvConfig' causes the env to be loaded twice on env file changes.\n const loadEnvConfig = (\n require('@next/env') as typeof import('@next/env')\n ).loadEnvConfig\n const { loadedEnvFiles } = loadEnvConfig(\n dir,\n process.env.NODE_ENV === 'development',\n // Silent as it's the second time `loadEnvConfig` is called in this pass.\n undefined,\n true\n )\n\n await createEnvDefinitions({\n distDir,\n loadedEnvFiles: [\n ...loadedEnvFiles,\n {\n path: nextConfig.configFileName,\n env: nextConfig.env,\n contents: '',\n },\n ],\n })\n }\n\n const routeTypesManifest = await createRouteTypesManifest({\n dir,\n pageRoutes,\n appRoutes,\n layoutRoutes,\n slots,\n redirects: opts.nextConfig.redirects,\n rewrites: opts.nextConfig.rewrites,\n // Ensure relative paths in validator.ts are computed from validatorFilePath,\n // matching behavior of build and CLI typegen.\n validatorFilePath,\n appRouteHandlers,\n pageApiRoutes,\n })\n\n await writeRouteTypesManifest(\n routeTypesManifest,\n routeTypesFilePath,\n opts.nextConfig\n )\n await writeValidatorFile(routeTypesManifest, validatorFilePath)\n }\n\n if (!resolved) {\n resolve()\n resolved = true\n }\n } catch (e) {\n if (!resolved) {\n reject(e)\n resolved = true\n } else {\n Log.warn('Failed to reload dynamic routes:', e)\n }\n }\n })\n\n wp.watch({ directories: [dir], startTime: 0 })\n })\n\n const clientPagesManifestPath = `/_next/${CLIENT_STATIC_FILES_PATH}/development/${DEV_CLIENT_PAGES_MANIFEST}`\n opts.fsChecker.devVirtualFsItems.add(clientPagesManifestPath)\n\n const devMiddlewareManifestPath = `/_next/${CLIENT_STATIC_FILES_PATH}/development/${DEV_CLIENT_MIDDLEWARE_MANIFEST}`\n opts.fsChecker.devVirtualFsItems.add(devMiddlewareManifestPath)\n\n const devTurbopackMiddlewareManifestPath = `/_next/${CLIENT_STATIC_FILES_PATH}/development/${TURBOPACK_CLIENT_MIDDLEWARE_MANIFEST}`\n opts.fsChecker.devVirtualFsItems.add(devTurbopackMiddlewareManifestPath)\n\n async function requestHandler(req: IncomingMessage, res: ServerResponse) {\n const parsedUrl = url.parse(req.url || '/')\n\n if (parsedUrl.pathname?.includes(clientPagesManifestPath)) {\n res.statusCode = 200\n res.setHeader('Content-Type', JSON_CONTENT_TYPE_HEADER)\n res.end(\n JSON.stringify({\n pages: prevSortedRoutes.filter(\n (route) => !opts.fsChecker.appFiles.has(route)\n ),\n })\n )\n return { finished: true }\n }\n\n if (\n parsedUrl.pathname?.includes(devMiddlewareManifestPath) ||\n parsedUrl.pathname?.includes(devTurbopackMiddlewareManifestPath)\n ) {\n res.statusCode = 200\n res.setHeader('Content-Type', JSON_CONTENT_TYPE_HEADER)\n res.end(JSON.stringify(serverFields.middleware?.matchers || []))\n return { finished: true }\n }\n return { finished: false }\n }\n\n function logErrorWithOriginalStack(\n err: unknown,\n type?: 'unhandledRejection' | 'uncaughtException' | 'warning' | 'app-dir'\n ) {\n if (err instanceof ModuleBuildError) {\n // Errors that may come from issues from the user's code\n Log.error(err.message)\n } else if (err instanceof TurbopackInternalError) {\n // An internal Turbopack error that has been handled by next-swc, written\n // to disk and a simplified message shown to user on the Rust side.\n } else if (type === 'warning') {\n Log.warn(err)\n } else if (type === 'app-dir') {\n Log.error(err)\n } else if (type) {\n Log.error(`${type}:`, err)\n } else {\n Log.error(err)\n }\n }\n\n return {\n serverFields,\n hotReloader,\n requestHandler,\n logErrorWithOriginalStack,\n\n async ensureMiddleware(requestUrl?: string) {\n if (!serverFields.actualMiddlewareFile) return\n return hotReloader.ensurePage({\n page: serverFields.actualMiddlewareFile,\n clientOnly: false,\n definition: undefined,\n url: requestUrl,\n })\n },\n }\n}\n\nexport async function setupDevBundler(opts: SetupOpts) {\n const isSrcDir = path\n .relative(opts.dir, opts.pagesDir || opts.appDir || '')\n .startsWith('src')\n\n const result = await startWatcher({\n ...opts,\n isSrcDir,\n })\n\n opts.telemetry.record(\n eventCliSession(opts.nextConfig, {\n webpackVersion: 5,\n isSrcDir,\n turboFlag: !!opts.turbo,\n cliCommand: 'dev',\n appDir: !!opts.appDir,\n pagesDir: !!opts.pagesDir,\n isCustomServer: !!opts.isCustomServer,\n hasNowJson: !!(await findUp('now.json', { cwd: opts.dir })),\n })\n )\n\n // Track build features for dev server here:\n opts.telemetry.record({\n eventName: EVENT_BUILD_FEATURE_USAGE,\n payload: {\n featureName: 'turbopackPersistentCaching',\n invocationCount: isPersistentCachingEnabled(opts.nextConfig) ? 1 : 0,\n },\n })\n\n return result\n}\n\nexport type DevBundler = Awaited<ReturnType<typeof setupDevBundler>>\n\n// Returns a trace rewritten through Turbopack's sourcemaps\n"],"names":["propagateServerField","setupDevBundler","verifyTypeScript","opts","verifyResult","verifyTypeScriptSetup","dir","distDir","nextConfig","intentDirs","pagesDir","appDir","filter","Boolean","typeCheckPreflight","tsconfigPath","typescript","disableStaticImages","images","hasAppDir","hasPagesDir","version","field","args","renderServer","instance","startWatcher","resetFetch","useFileSystemPublicRoutes","path","join","setGlobal","PHASE_DEVELOPMENT_SERVER","validFileMatcher","createValidFileMatcher","pageExtensions","serverFields","consoleStore","setState","logging","hotReloader","turbo","createHotReloaderTurbopack","require","HotReloaderWebpack","default","isSrcDir","config","buildId","encryptionKey","generateEncryptionKeyBase64","isBuild","telemetry","rewrites","fsChecker","previewProps","prerenderManifest","preview","start","distTypesDir","writeRouteTypesManifest","appRoutes","pageRoutes","layoutRoutes","appRouteHandlerRoutes","redirectRoutes","rewriteRoutes","appPagePaths","Set","pagesRouterPagePaths","layoutPaths","appRouteHandlers","pageApiRoutes","filePathToRoute","Map","routesManifestPath","ROUTES_MANIFEST","routesManifest","caseSensitive","experimental","caseSensitiveRoutes","basePath","redirects","headers","i18n","undefined","skipMiddlewareUrlNormalize","fs","promises","writeFile","JSON","stringify","prerenderManifestPath","PRERENDER_MANIFEST","nextScriptWorkers","verifyPartytownSetup","CLIENT_STATIC_FILES_PATH","ensureCallback","ensure","item","type","ensurePage","clientOnly","page","itemPath","isApp","definition","resolved","prevSortedRoutes","Promise","resolve","reject","readdir","_","files","length","pages","app","directories","rootDir","getPossibleMiddlewareFilenames","getPossibleInstrumentationHookFilenames","nestedMiddleware","envFiles","map","file","push","tsconfigPaths","wp","Watchpack","aggregateTimeout","ignored","pathname","some","startsWith","d","fileWatchTimes","enabledTypeScript","previousClientRouterFilters","previousConflictingPagePaths","routeTypesFilePath","validatorFilePath","on","writeEnvDefinitions","typescriptStatusFromLastAggregation","middlewareMatchers","routedPages","knownFiles","getTimeInfoEntries","appPaths","pageNameSet","conflictingAppPagePaths","appPageFilePaths","pagesPageFilePaths","slots","envChange","tsconfigChange","conflictingPageChange","hasRootAppNotFound","appFiles","pageFiles","staticMetadataFiles","clear","devPageFiles","sortedKnownFiles","keys","sort","sortByPageExts","fileName","includes","meta","get","watchTime","watchTimeChange","timestamp","set","endsWith","accuracy","isPageFile","isAppPath","normalizePathSep","isPagePath","rootFile","absolutePathToPage","extensions","keepIndex","pagesType","PAGE_TYPES","ROOT","isMiddlewareFile","staticInfo","getStaticInfoIncludingLayouts","pageFilePath","isDev","isInsideAppDir","output","Log","error","actualMiddlewareFile","middleware","matchers","regexp","originalSource","isInstrumentationHookFile","actualInstrumentationHookFile","add","pageName","APP","PAGES","isMetadataRouteFile","replace","getPageStaticInfo","pageType","normalizeMetadataPageToRoute","generateSitemaps","generateImageMetadata","isRootNotFound","segments","split","i","segment","isParallelRouteSegment","parentPath","normalizeAppPath","slice","slotName","s","name","parent","isAppLayoutPage","route","ensureLeadingSlash","filePath","isAppRouterPage","originalPageName","isStaticMetadataFile","isAppRouterRoute","nextDataRoutes","has","test","numConflicting","size","errorMessage","p","appPath","relative","pagesPath","setHmrServerError","Error","clearHmrServerError","clientRouterFilters","clientRouterFilter","createClientRouterFilter","Object","clientRouterFilterRedirects","_originalRedirects","r","internal","clientRouterFilterAllowedRate","dev","forceReload","turbopackProject","hasRewrites","afterFiles","beforeFiles","fallback","rootPath","turbopack","root","outputFileTracingRoot","update","defineEnv","createDefineEnv","isTurbopack","fetchCacheKeyPrefix","projectPath","normalizePath","tsconfigResult","loadJsConfig","activeWebpackConfigs","forEach","idx","isClient","isNodeServer","isEdgeServer","plugins","plugin","JsConfigPathsPlugin","jsConfig","resolvedBaseUrl","currentResolvedBaseUrl","resolvedUrlIndex","modules","findIndex","baseUrl","splice","isImplicit","compilerOptions","paths","key","assign","definitions","__NEXT_DEFINE_ENV","newDefine","getDefineEnv","invalidate","reloadAfterInvalidation","NestedMiddlewareError","message","appPathRoutes","fromEntries","entries","k","v","match","hasAppNotFound","middlewareMatcher","getMiddlewareRouteMatcher","interceptionRoutes","generateInterceptionRoutesRewrites","buildCustomRoute","exportPathMap","outDir","exportPathMapEntries","exportPathMapRoutes","value","source","destination","query","qs","sortedRoutes","getSortedRoutes","dynamicRoutes","regex","getNamedRouteRegex","prefixRouteKeys","re","toString","namedRegex","routeKeys","getRouteMatcher","dataRoutes","buildDataRoute","routeRegex","RegExp","dataRouteRegex","groups","unshift","every","val","addedRoutes","removedRoutes","send","HMR_MESSAGE_SENT_TO_BROWSER","DEV_PAGES_MANIFEST_UPDATE","data","devPagesManifest","ADDED_PAGE","REMOVED_PAGE","then","catch","typedEnv","loadEnvConfig","loadedEnvFiles","process","env","NODE_ENV","createEnvDefinitions","configFileName","contents","routeTypesManifest","createRouteTypesManifest","writeValidatorFile","e","warn","watch","startTime","clientPagesManifestPath","DEV_CLIENT_PAGES_MANIFEST","devVirtualFsItems","devMiddlewareManifestPath","DEV_CLIENT_MIDDLEWARE_MANIFEST","devTurbopackMiddlewareManifestPath","TURBOPACK_CLIENT_MIDDLEWARE_MANIFEST","requestHandler","req","res","parsedUrl","url","parse","statusCode","setHeader","JSON_CONTENT_TYPE_HEADER","end","finished","logErrorWithOriginalStack","err","ModuleBuildError","TurbopackInternalError","ensureMiddleware","requestUrl","result","record","eventCliSession","webpackVersion","turboFlag","cliCommand","isCustomServer","hasNowJson","findUp","cwd","eventName","EVENT_BUILD_FEATURE_USAGE","payload","featureName","invocationCount","isPersistentCachingEnabled"],"mappings":"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","ignoreList":[0]}
1
+ {"version":3,"sources":["../../../../src/server/lib/router-utils/setup-dev-bundler.ts"],"sourcesContent":["import type { NextConfigComplete } from '../../config-shared'\nimport type { FilesystemDynamicRoute } from './filesystem'\nimport type { UnwrapPromise } from '../../../lib/coalesced-function'\nimport type { MiddlewareMatcher } from '../../../build/analysis/get-page-static-info'\nimport type { RoutesManifest } from '../../../build'\nimport type { MiddlewareRouteMatch } from '../../../shared/lib/router/utils/middleware-route-matcher'\nimport type { PropagateToWorkersField } from './types'\nimport type { NextJsHotReloaderInterface } from '../../dev/hot-reloader-types'\n\nimport { createDefineEnv } from '../../../build/swc'\nimport fs from 'fs'\nimport url from 'url'\nimport path from 'path'\nimport qs from 'querystring'\nimport Watchpack from 'next/dist/compiled/watchpack'\nimport findUp from 'next/dist/compiled/find-up'\nimport { buildCustomRoute } from './filesystem'\nimport * as Log from '../../../build/output/log'\nimport { setGlobal } from '../../../trace/shared'\nimport type { Telemetry } from '../../../telemetry/storage'\nimport type { IncomingMessage, ServerResponse } from 'http'\nimport { createValidFileMatcher } from '../find-page-file'\nimport {\n EVENT_BUILD_FEATURE_USAGE,\n eventCliSession,\n} from '../../../telemetry/events'\nimport { getSortedRoutes } from '../../../shared/lib/router/utils'\nimport { sortByPageExts } from '../../../build/sort-by-page-exts'\nimport { verifyTypeScriptSetup } from '../../../lib/verify-typescript-setup'\nimport { verifyPartytownSetup } from '../../../lib/verify-partytown-setup'\nimport { getNamedRouteRegex } from '../../../shared/lib/router/utils/route-regex'\nimport { normalizeAppPath } from '../../../shared/lib/router/utils/app-paths'\nimport { buildDataRoute } from './build-data-route'\nimport { getRouteMatcher } from '../../../shared/lib/router/utils/route-matcher'\nimport { normalizePathSep } from '../../../shared/lib/page-path/normalize-path-sep'\nimport { createClientRouterFilter } from '../../../lib/create-client-router-filter'\nimport { absolutePathToPage } from '../../../shared/lib/page-path/absolute-path-to-page'\nimport { generateInterceptionRoutesRewrites } from '../../../lib/generate-interception-routes-rewrites'\n\nimport {\n CLIENT_STATIC_FILES_PATH,\n DEV_CLIENT_PAGES_MANIFEST,\n DEV_CLIENT_MIDDLEWARE_MANIFEST,\n PHASE_DEVELOPMENT_SERVER,\n TURBOPACK_CLIENT_MIDDLEWARE_MANIFEST,\n ROUTES_MANIFEST,\n PRERENDER_MANIFEST,\n} from '../../../shared/lib/constants'\n\nimport { getMiddlewareRouteMatcher } from '../../../shared/lib/router/utils/middleware-route-matcher'\n\nimport {\n isMiddlewareFile,\n NestedMiddlewareError,\n isInstrumentationHookFile,\n getPossibleMiddlewareFilenames,\n getPossibleInstrumentationHookFilenames,\n} from '../../../build/utils'\nimport { devPageFiles } from '../../../build/webpack/plugins/next-types-plugin/shared'\nimport type { LazyRenderServerInstance } from '../router-server'\nimport { HMR_MESSAGE_SENT_TO_BROWSER } from '../../dev/hot-reloader-types'\nimport { PAGE_TYPES } from '../../../lib/page-types'\nimport { generateEncryptionKeyBase64 } from '../../app-render/encryption-utils-server'\nimport {\n isMetadataRouteFile,\n isStaticMetadataFile,\n} from '../../../lib/metadata/is-metadata-route'\nimport { normalizeMetadataPageToRoute } from '../../../lib/metadata/get-metadata-route'\nimport { JsConfigPathsPlugin } from '../../../build/webpack/plugins/jsconfig-paths-plugin'\nimport { store as consoleStore } from '../../../build/output/store'\nimport {\n isPersistentCachingEnabled,\n ModuleBuildError,\n} from '../../../shared/lib/turbopack/utils'\nimport { getDefineEnv } from '../../../build/define-env'\nimport { TurbopackInternalError } from '../../../shared/lib/turbopack/internal-error'\nimport { normalizePath } from '../../../lib/normalize-path'\nimport { JSON_CONTENT_TYPE_HEADER } from '../../../lib/constants'\nimport {\n createRouteTypesManifest,\n writeRouteTypesManifest,\n writeValidatorFile,\n} from './route-types-utils'\nimport { isParallelRouteSegment } from '../../../shared/lib/segment'\nimport { ensureLeadingSlash } from '../../../shared/lib/page-path/ensure-leading-slash'\n\nexport type SetupOpts = {\n renderServer: LazyRenderServerInstance\n dir: string\n turbo?: boolean\n appDir?: string\n pagesDir?: string\n telemetry: Telemetry\n isCustomServer?: boolean\n fsChecker: UnwrapPromise<\n ReturnType<typeof import('./filesystem').setupFsCheck>\n >\n nextConfig: NextConfigComplete\n port: number\n onDevServerCleanup: ((listener: () => Promise<void>) => void) | undefined\n resetFetch: () => void\n}\n\nexport interface DevRoutesManifest {\n version: number\n caseSensitive: RoutesManifest['caseSensitive']\n basePath: RoutesManifest['basePath']\n rewrites: RoutesManifest['rewrites']\n redirects: RoutesManifest['redirects']\n headers: RoutesManifest['headers']\n i18n: RoutesManifest['i18n']\n skipMiddlewareUrlNormalize: RoutesManifest['skipMiddlewareUrlNormalize']\n}\n\nexport type ServerFields = {\n actualMiddlewareFile?: string | undefined\n actualInstrumentationHookFile?: string | undefined\n appPathRoutes?: Record<string, string | string[]>\n middleware?:\n | {\n page: string\n match: MiddlewareRouteMatch\n matchers?: MiddlewareMatcher[]\n }\n | undefined\n hasAppNotFound?: boolean\n interceptionRoutes?: ReturnType<\n typeof import('./filesystem').buildCustomRoute\n >[]\n setIsrStatus?: (key: string, value: boolean) => void\n resetFetch?: () => void\n}\n\nasync function verifyTypeScript(opts: SetupOpts) {\n const verifyResult = await verifyTypeScriptSetup({\n dir: opts.dir,\n distDir: opts.nextConfig.distDir,\n intentDirs: [opts.pagesDir, opts.appDir].filter(Boolean) as string[],\n typeCheckPreflight: false,\n tsconfigPath: opts.nextConfig.typescript.tsconfigPath,\n disableStaticImages: opts.nextConfig.images.disableStaticImages,\n hasAppDir: !!opts.appDir,\n hasPagesDir: !!opts.pagesDir,\n })\n\n if (verifyResult.version) {\n return true\n }\n return false\n}\n\nexport async function propagateServerField(\n opts: SetupOpts,\n field: PropagateToWorkersField,\n args: any\n) {\n await opts.renderServer?.instance?.propagateServerField(opts.dir, field, args)\n}\n\nasync function startWatcher(\n opts: SetupOpts & {\n isSrcDir: boolean\n }\n) {\n const { nextConfig, appDir, pagesDir, dir, resetFetch } = opts\n const { useFileSystemPublicRoutes } = nextConfig\n\n const distDir = path.join(opts.dir, opts.nextConfig.distDir)\n\n setGlobal('distDir', distDir)\n setGlobal('phase', PHASE_DEVELOPMENT_SERVER)\n\n const validFileMatcher = createValidFileMatcher(\n nextConfig.pageExtensions,\n appDir\n )\n\n const serverFields: ServerFields = {}\n\n // Update logging state once based on next.config.js when initializing\n consoleStore.setState({\n logging: nextConfig.logging !== false,\n })\n\n const hotReloader: NextJsHotReloaderInterface = opts.turbo\n ? await (async () => {\n const createHotReloaderTurbopack = (\n require('../../dev/hot-reloader-turbopack') as typeof import('../../dev/hot-reloader-turbopack')\n ).createHotReloaderTurbopack\n return await createHotReloaderTurbopack(\n opts,\n serverFields,\n distDir,\n resetFetch\n )\n })()\n : await (async () => {\n const HotReloaderWebpack = (\n require('../../dev/hot-reloader-webpack') as typeof import('../../dev/hot-reloader-webpack')\n ).default\n return new HotReloaderWebpack(opts.dir, {\n isSrcDir: opts.isSrcDir,\n appDir,\n pagesDir,\n distDir,\n config: opts.nextConfig,\n buildId: 'development',\n encryptionKey: await generateEncryptionKeyBase64({\n isBuild: false,\n distDir,\n }),\n telemetry: opts.telemetry,\n rewrites: opts.fsChecker.rewrites,\n previewProps: opts.fsChecker.prerenderManifest.preview,\n resetFetch,\n })\n })()\n\n await hotReloader.start()\n\n // have to write this after starting hot-reloader since that\n // cleans the dist dir\n const distTypesDir = path.join(distDir, 'types')\n await writeRouteTypesManifest(\n {\n appRoutes: {},\n pageRoutes: {},\n layoutRoutes: {},\n appRouteHandlerRoutes: {},\n redirectRoutes: {},\n rewriteRoutes: {},\n appPagePaths: new Set(),\n pagesRouterPagePaths: new Set(),\n layoutPaths: new Set(),\n appRouteHandlers: new Set(),\n pageApiRoutes: new Set(),\n filePathToRoute: new Map(),\n },\n path.join(distTypesDir, 'routes.d.ts'),\n opts.nextConfig\n )\n\n const routesManifestPath = path.join(distDir, ROUTES_MANIFEST)\n const routesManifest: DevRoutesManifest = {\n version: 3,\n caseSensitive: !!nextConfig.experimental.caseSensitiveRoutes,\n basePath: nextConfig.basePath,\n rewrites: opts.fsChecker.rewrites,\n redirects: opts.fsChecker.redirects,\n headers: opts.fsChecker.headers,\n i18n: nextConfig.i18n || undefined,\n skipMiddlewareUrlNormalize: nextConfig.skipMiddlewareUrlNormalize,\n }\n await fs.promises.writeFile(\n routesManifestPath,\n JSON.stringify(routesManifest)\n )\n\n const prerenderManifestPath = path.join(distDir, PRERENDER_MANIFEST)\n await fs.promises.writeFile(\n prerenderManifestPath,\n JSON.stringify(opts.fsChecker.prerenderManifest, null, 2)\n )\n\n if (opts.nextConfig.experimental.nextScriptWorkers) {\n await verifyPartytownSetup(\n opts.dir,\n path.join(distDir, CLIENT_STATIC_FILES_PATH)\n )\n }\n\n opts.fsChecker.ensureCallback(async function ensure(item) {\n if (item.type === 'appFile' || item.type === 'pageFile') {\n await hotReloader.ensurePage({\n clientOnly: false,\n page: item.itemPath,\n isApp: item.type === 'appFile',\n definition: undefined,\n })\n }\n })\n\n let resolved = false\n let prevSortedRoutes: string[] = []\n\n await new Promise<void>(async (resolve, reject) => {\n if (pagesDir) {\n // Watchpack doesn't emit an event for an empty directory\n fs.readdir(pagesDir, (_, files) => {\n if (files?.length) {\n return\n }\n\n if (!resolved) {\n resolve()\n resolved = true\n }\n })\n }\n\n const pages = pagesDir ? [pagesDir] : []\n const app = appDir ? [appDir] : []\n const directories = [...pages, ...app]\n\n const rootDir = pagesDir || appDir\n const files = [\n ...getPossibleMiddlewareFilenames(\n path.join(rootDir!, '..'),\n nextConfig.pageExtensions\n ),\n ...getPossibleInstrumentationHookFilenames(\n path.join(rootDir!, '..'),\n nextConfig.pageExtensions\n ),\n ]\n let nestedMiddleware: string[] = []\n\n const envFiles = [\n '.env.development.local',\n '.env.local',\n '.env.development',\n '.env',\n ].map((file) => path.join(dir, file))\n\n files.push(...envFiles)\n\n // tsconfig/jsconfig paths hot-reloading\n const tsconfigPaths = [\n path.join(dir, 'tsconfig.json'),\n path.join(dir, 'jsconfig.json'),\n ] as const\n files.push(...tsconfigPaths)\n\n const wp = new Watchpack({\n // Watchpack default is 200ms which adds 200ms of dead time on bootup.\n aggregateTimeout: 5, // Matches webpack-config.ts.\n ignored: (pathname: string) => {\n return (\n !files.some((file) => file.startsWith(pathname)) &&\n !directories.some(\n (d) => pathname.startsWith(d) || d.startsWith(pathname)\n )\n )\n },\n })\n const fileWatchTimes = new Map()\n let enabledTypeScript = await verifyTypeScript(opts)\n let previousClientRouterFilters: any\n let previousConflictingPagePaths: Set<string> = new Set()\n\n const routeTypesFilePath = path.join(distDir, 'types', 'routes.d.ts')\n const validatorFilePath = path.join(distDir, 'types', 'validator.ts')\n\n wp.on('aggregated', async () => {\n let writeEnvDefinitions = false\n let typescriptStatusFromLastAggregation = enabledTypeScript\n let middlewareMatchers: MiddlewareMatcher[] | undefined\n const routedPages: string[] = []\n const knownFiles = wp.getTimeInfoEntries()\n const appPaths: Record<string, string[]> = {}\n const pageNameSet = new Set<string>()\n const conflictingAppPagePaths = new Set<string>()\n const appPageFilePaths = new Map<string, string>()\n const pagesPageFilePaths = new Map<string, string>()\n const appRouteHandlers: Array<{ route: string; filePath: string }> = []\n const pageApiRoutes: Array<{ route: string; filePath: string }> = []\n\n const pageRoutes: Array<{ route: string; filePath: string }> = []\n const appRoutes: Array<{ route: string; filePath: string }> = []\n const layoutRoutes: Array<{ route: string; filePath: string }> = []\n const slots: Array<{ name: string; parent: string }> = []\n\n let envChange = false\n let tsconfigChange = false\n let conflictingPageChange = 0\n let hasRootAppNotFound = false\n\n const { appFiles, pageFiles, staticMetadataFiles } = opts.fsChecker\n\n appFiles.clear()\n pageFiles.clear()\n staticMetadataFiles.clear()\n devPageFiles.clear()\n\n const sortedKnownFiles: string[] = [...knownFiles.keys()].sort(\n sortByPageExts(nextConfig.pageExtensions)\n )\n\n for (const fileName of sortedKnownFiles) {\n if (\n !files.includes(fileName) &&\n !directories.some((d) => fileName.startsWith(d))\n ) {\n continue\n }\n const meta = knownFiles.get(fileName)\n\n const watchTime = fileWatchTimes.get(fileName)\n // If the file is showing up for the first time or the meta.timestamp is changed since last time\n const watchTimeChange =\n watchTime === undefined ||\n (watchTime && watchTime !== meta?.timestamp)\n fileWatchTimes.set(fileName, meta?.timestamp)\n\n if (envFiles.includes(fileName)) {\n if (watchTimeChange) {\n envChange = true\n }\n continue\n }\n\n if (tsconfigPaths.includes(fileName)) {\n if (fileName.endsWith('tsconfig.json')) {\n enabledTypeScript = true\n }\n if (watchTimeChange) {\n tsconfigChange = true\n }\n continue\n }\n\n if (\n meta?.accuracy === undefined ||\n !validFileMatcher.isPageFile(fileName)\n ) {\n continue\n }\n\n const isAppPath = Boolean(\n appDir &&\n normalizePathSep(fileName).startsWith(\n normalizePathSep(appDir) + '/'\n )\n )\n const isPagePath = Boolean(\n pagesDir &&\n normalizePathSep(fileName).startsWith(\n normalizePathSep(pagesDir) + '/'\n )\n )\n\n const rootFile = absolutePathToPage(fileName, {\n dir: dir,\n extensions: nextConfig.pageExtensions,\n keepIndex: false,\n pagesType: PAGE_TYPES.ROOT,\n })\n\n if (isMiddlewareFile(rootFile)) {\n const getStaticInfoIncludingLayouts = (\n require('../../../build/get-static-info-including-layouts') as typeof import('../../../build/get-static-info-including-layouts')\n ).getStaticInfoIncludingLayouts\n const staticInfo = await getStaticInfoIncludingLayouts({\n pageFilePath: fileName,\n config: nextConfig,\n appDir: appDir,\n page: rootFile,\n isDev: true,\n isInsideAppDir: isAppPath,\n pageExtensions: nextConfig.pageExtensions,\n })\n if (nextConfig.output === 'export') {\n Log.error(\n 'Middleware cannot be used with \"output: export\". See more info here: https://nextjs.org/docs/advanced-features/static-html-export'\n )\n continue\n }\n serverFields.actualMiddlewareFile = rootFile\n await propagateServerField(\n opts,\n 'actualMiddlewareFile',\n serverFields.actualMiddlewareFile\n )\n middlewareMatchers = staticInfo.middleware?.matchers || [\n { regexp: '^/.*$', originalSource: '/:path*' },\n ]\n continue\n }\n if (isInstrumentationHookFile(rootFile)) {\n serverFields.actualInstrumentationHookFile = rootFile\n await propagateServerField(\n opts,\n 'actualInstrumentationHookFile',\n serverFields.actualInstrumentationHookFile\n )\n continue\n }\n\n if (fileName.endsWith('.ts') || fileName.endsWith('.tsx')) {\n enabledTypeScript = true\n }\n\n if (!(isAppPath || isPagePath)) {\n continue\n }\n\n // Collect all current filenames for the TS plugin to use\n devPageFiles.add(fileName)\n\n let pageName = absolutePathToPage(fileName, {\n dir: isAppPath ? appDir! : pagesDir!,\n extensions: nextConfig.pageExtensions,\n keepIndex: isAppPath,\n pagesType: isAppPath ? PAGE_TYPES.APP : PAGE_TYPES.PAGES,\n })\n\n if (\n isAppPath &&\n appDir &&\n isMetadataRouteFile(\n fileName.replace(appDir, ''),\n nextConfig.pageExtensions,\n true\n )\n ) {\n const getPageStaticInfo = (\n require('../../../build/analysis/get-page-static-info') as typeof import('../../../build/analysis/get-page-static-info')\n ).getPageStaticInfo\n const staticInfo = await getPageStaticInfo({\n pageFilePath: fileName,\n nextConfig: {},\n page: pageName,\n isDev: true,\n pageType: PAGE_TYPES.APP,\n })\n\n pageName = normalizeMetadataPageToRoute(\n pageName,\n !!(staticInfo.generateSitemaps || staticInfo.generateImageMetadata)\n )\n }\n\n if (\n !isAppPath &&\n pageName.startsWith('/api/') &&\n nextConfig.output === 'export'\n ) {\n Log.error(\n 'API Routes cannot be used with \"output: export\". See more info here: https://nextjs.org/docs/advanced-features/static-html-export'\n )\n continue\n }\n\n if (isAppPath) {\n const isRootNotFound = validFileMatcher.isRootNotFound(fileName)\n hasRootAppNotFound = true\n\n if (isRootNotFound) {\n continue\n }\n\n // Ignore files/directories starting with `_` in the app directory\n if (normalizePathSep(pageName).includes('/_')) {\n continue\n }\n\n // Record parallel route slots for layout typing\n // May run multiple times (e.g. if a parallel route\n // has both a layout and a page, and children) but that's fine\n const segments = normalizePathSep(pageName).split('/')\n for (let i = segments.length - 1; i >= 0; i--) {\n const segment = segments[i]\n if (isParallelRouteSegment(segment)) {\n const parentPath = normalizeAppPath(\n segments.slice(0, i).join('/')\n )\n\n const slotName = segment.slice(1)\n // check if the slot already exists\n if (\n slots.some(\n (s) => s.name === slotName && s.parent === parentPath\n )\n )\n continue\n\n slots.push({\n name: slotName,\n parent: parentPath,\n })\n break\n }\n }\n\n // Record layouts\n if (validFileMatcher.isAppLayoutPage(fileName)) {\n layoutRoutes.push({\n route: ensureLeadingSlash(\n normalizeAppPath(normalizePathSep(pageName)).replace(\n /\\/layout$/,\n ''\n )\n ),\n filePath: fileName,\n })\n }\n\n if (!validFileMatcher.isAppRouterPage(fileName)) {\n continue\n }\n\n const originalPageName = pageName\n pageName = normalizeAppPath(pageName).replace(/%5F/g, '_')\n if (!appPaths[pageName]) {\n appPaths[pageName] = []\n }\n appPaths[pageName].push(\n opts.turbo\n ? // Turbopack outputs the correct path which is normalized with the `_`.\n originalPageName.replace(/%5F/g, '_')\n : originalPageName\n )\n\n if (useFileSystemPublicRoutes) {\n // Static metadata files will be served from filesystem.\n if (appDir && isStaticMetadataFile(fileName.replace(appDir, ''))) {\n staticMetadataFiles.set(pageName, fileName)\n } else {\n appFiles.add(pageName)\n }\n }\n\n if (validFileMatcher.isAppRouterRoute(fileName)) {\n appRouteHandlers.push({\n route: normalizePathSep(pageName),\n filePath: fileName,\n })\n } else {\n appRoutes.push({\n route: normalizePathSep(pageName),\n filePath: fileName,\n })\n }\n\n if (routedPages.includes(pageName)) {\n continue\n }\n } else {\n if (useFileSystemPublicRoutes) {\n pageFiles.add(pageName)\n // always add to nextDataRoutes for now but in future only add\n // entries that actually use getStaticProps/getServerSideProps\n opts.fsChecker.nextDataRoutes.add(pageName)\n }\n\n if (pageName.startsWith('/api/')) {\n pageApiRoutes.push({\n route: normalizePathSep(pageName),\n filePath: fileName,\n })\n } else {\n pageRoutes.push({\n route: normalizePathSep(pageName),\n filePath: fileName,\n })\n }\n }\n\n // Record pages\n if (isAppPath) {\n appPageFilePaths.set(pageName, fileName)\n } else {\n pagesPageFilePaths.set(pageName, fileName)\n }\n\n if (appDir && pageNameSet.has(pageName)) {\n conflictingAppPagePaths.add(pageName)\n } else {\n pageNameSet.add(pageName)\n }\n\n /**\n * If there is a middleware that is not declared in the root we will\n * warn without adding it so it doesn't make its way into the system.\n */\n if (/[\\\\\\\\/]_middleware$/.test(pageName)) {\n nestedMiddleware.push(pageName)\n continue\n }\n\n routedPages.push(pageName)\n }\n\n const numConflicting = conflictingAppPagePaths.size\n conflictingPageChange = numConflicting - previousConflictingPagePaths.size\n\n if (conflictingPageChange !== 0) {\n if (numConflicting > 0) {\n let errorMessage = `Conflicting app and page file${\n numConflicting === 1 ? ' was' : 's were'\n } found, please remove the conflicting files to continue:\\n`\n\n for (const p of conflictingAppPagePaths) {\n const appPath = path.relative(dir, appPageFilePaths.get(p)!)\n const pagesPath = path.relative(dir, pagesPageFilePaths.get(p)!)\n errorMessage += ` \"${pagesPath}\" - \"${appPath}\"\\n`\n }\n hotReloader.setHmrServerError(new Error(errorMessage))\n } else if (numConflicting === 0) {\n hotReloader.clearHmrServerError()\n await propagateServerField(opts, 'reloadMatchers', undefined)\n }\n }\n\n previousConflictingPagePaths = conflictingAppPagePaths\n\n let clientRouterFilters: any\n if (nextConfig.experimental.clientRouterFilter) {\n clientRouterFilters = createClientRouterFilter(\n Object.keys(appPaths),\n nextConfig.experimental.clientRouterFilterRedirects\n ? ((nextConfig as any)._originalRedirects || []).filter(\n (r: any) => !r.internal\n )\n : [],\n nextConfig.experimental.clientRouterFilterAllowedRate\n )\n\n if (\n !previousClientRouterFilters ||\n JSON.stringify(previousClientRouterFilters) !==\n JSON.stringify(clientRouterFilters)\n ) {\n envChange = true\n previousClientRouterFilters = clientRouterFilters\n }\n }\n\n if (envChange || tsconfigChange) {\n if (envChange) {\n writeEnvDefinitions = true\n\n await propagateServerField(opts, 'loadEnvConfig', [\n { dev: true, forceReload: true },\n ])\n }\n\n if (hotReloader.turbopackProject) {\n const hasRewrites =\n opts.fsChecker.rewrites.afterFiles.length > 0 ||\n opts.fsChecker.rewrites.beforeFiles.length > 0 ||\n opts.fsChecker.rewrites.fallback.length > 0\n\n const rootPath =\n opts.nextConfig.turbopack?.root ||\n opts.nextConfig.outputFileTracingRoot ||\n opts.dir\n await hotReloader.turbopackProject.update({\n defineEnv: createDefineEnv({\n isTurbopack: true,\n clientRouterFilters,\n config: nextConfig,\n dev: true,\n distDir,\n fetchCacheKeyPrefix:\n opts.nextConfig.experimental.fetchCacheKeyPrefix,\n hasRewrites,\n // TODO: Implement\n middlewareMatchers: undefined,\n projectPath: opts.dir,\n rewrites: opts.fsChecker.rewrites,\n }),\n rootPath,\n projectPath: normalizePath(path.relative(rootPath, dir)),\n })\n } else {\n let tsconfigResult:\n | UnwrapPromise<\n ReturnType<\n typeof import('../../../build/load-jsconfig').default\n >\n >\n | undefined\n // This is not relevant for Turbopack because tsconfig/jsconfig is handled internally.\n if (tsconfigChange) {\n try {\n const loadJsConfig = (\n require('../../../build/load-jsconfig') as typeof import('../../../build/load-jsconfig')\n ).default\n tsconfigResult = await loadJsConfig(dir, nextConfig)\n } catch (_) {\n /* do we want to log if there are syntax errors in tsconfig while editing? */\n }\n }\n\n hotReloader.activeWebpackConfigs?.forEach((config, idx) => {\n const isClient = idx === 0\n const isNodeServer = idx === 1\n const isEdgeServer = idx === 2\n const hasRewrites =\n opts.fsChecker.rewrites.afterFiles.length > 0 ||\n opts.fsChecker.rewrites.beforeFiles.length > 0 ||\n opts.fsChecker.rewrites.fallback.length > 0\n\n if (tsconfigChange) {\n config.resolve?.plugins?.forEach((plugin: any) => {\n // look for the JsConfigPathsPlugin and update with\n // the latest paths/baseUrl config\n if (plugin instanceof JsConfigPathsPlugin && tsconfigResult) {\n const { resolvedBaseUrl, jsConfig } = tsconfigResult\n const currentResolvedBaseUrl = plugin.resolvedBaseUrl\n const resolvedUrlIndex = config.resolve?.modules?.findIndex(\n (item) => item === currentResolvedBaseUrl?.baseUrl\n )\n\n if (resolvedBaseUrl) {\n if (\n resolvedBaseUrl.baseUrl !==\n currentResolvedBaseUrl?.baseUrl\n ) {\n // remove old baseUrl and add new one\n if (resolvedUrlIndex && resolvedUrlIndex > -1) {\n config.resolve?.modules?.splice(resolvedUrlIndex, 1)\n }\n\n // If the resolvedBaseUrl is implicit we only remove the previous value.\n // Only add the baseUrl if it's explicitly set in tsconfig/jsconfig\n if (!resolvedBaseUrl.isImplicit) {\n config.resolve?.modules?.push(resolvedBaseUrl.baseUrl)\n }\n }\n }\n\n if (jsConfig?.compilerOptions?.paths && resolvedBaseUrl) {\n Object.keys(plugin.paths).forEach((key) => {\n delete plugin.paths[key]\n })\n Object.assign(plugin.paths, jsConfig.compilerOptions.paths)\n plugin.resolvedBaseUrl = resolvedBaseUrl\n }\n }\n })\n }\n\n if (envChange) {\n config.plugins?.forEach((plugin: any) => {\n // we look for the DefinePlugin definitions so we can\n // update them on the active compilers\n if (\n plugin &&\n typeof plugin.definitions === 'object' &&\n plugin.definitions.__NEXT_DEFINE_ENV\n ) {\n const newDefine = getDefineEnv({\n isTurbopack: false,\n clientRouterFilters,\n config: nextConfig,\n dev: true,\n distDir,\n fetchCacheKeyPrefix:\n opts.nextConfig.experimental.fetchCacheKeyPrefix,\n hasRewrites,\n isClient,\n isEdgeServer,\n isNodeServer,\n middlewareMatchers: undefined,\n projectPath: opts.dir,\n rewrites: opts.fsChecker.rewrites,\n })\n\n Object.keys(plugin.definitions).forEach((key) => {\n if (!(key in newDefine)) {\n delete plugin.definitions[key]\n }\n })\n Object.assign(plugin.definitions, newDefine)\n }\n })\n }\n })\n }\n await hotReloader.invalidate({\n reloadAfterInvalidation: envChange,\n })\n }\n\n if (nestedMiddleware.length > 0) {\n Log.error(\n new NestedMiddlewareError(\n nestedMiddleware,\n dir,\n (pagesDir || appDir)!\n ).message\n )\n nestedMiddleware = []\n }\n\n // Make sure to sort parallel routes to make the result deterministic.\n serverFields.appPathRoutes = Object.fromEntries(\n Object.entries(appPaths).map(([k, v]) => [k, v.sort()])\n )\n await propagateServerField(\n opts,\n 'appPathRoutes',\n serverFields.appPathRoutes\n )\n\n // TODO: pass this to fsChecker/next-dev-server?\n serverFields.middleware = middlewareMatchers\n ? {\n match: null as any,\n page: '/',\n matchers: middlewareMatchers,\n }\n : undefined\n\n await propagateServerField(opts, 'middleware', serverFields.middleware)\n serverFields.hasAppNotFound = hasRootAppNotFound\n\n opts.fsChecker.middlewareMatcher = serverFields.middleware?.matchers\n ? getMiddlewareRouteMatcher(serverFields.middleware?.matchers)\n : undefined\n\n const interceptionRoutes = generateInterceptionRoutesRewrites(\n Object.keys(appPaths),\n opts.nextConfig.basePath\n ).map((item) =>\n buildCustomRoute(\n 'before_files_rewrite',\n item,\n opts.nextConfig.basePath,\n opts.nextConfig.experimental.caseSensitiveRoutes\n )\n )\n\n opts.fsChecker.rewrites.beforeFiles.push(...interceptionRoutes)\n\n const exportPathMap =\n (typeof nextConfig.exportPathMap === 'function' &&\n (await nextConfig.exportPathMap?.(\n {},\n {\n dev: true,\n dir: opts.dir,\n outDir: null,\n distDir: distDir,\n buildId: 'development',\n }\n ))) ||\n {}\n\n const exportPathMapEntries = Object.entries(exportPathMap || {})\n\n if (exportPathMapEntries.length > 0) {\n opts.fsChecker.exportPathMapRoutes = exportPathMapEntries.map(\n ([key, value]) =>\n buildCustomRoute(\n 'before_files_rewrite',\n {\n source: key,\n destination: `${value.page}${\n value.query ? '?' : ''\n }${qs.stringify(value.query)}`,\n },\n opts.nextConfig.basePath,\n opts.nextConfig.experimental.caseSensitiveRoutes\n )\n )\n }\n\n try {\n // we serve a separate manifest with all pages for the client in\n // dev mode so that we can match a page after a rewrite on the client\n // before it has been built and is populated in the _buildManifest\n const sortedRoutes = getSortedRoutes(routedPages)\n\n opts.fsChecker.dynamicRoutes = sortedRoutes.map(\n (page): FilesystemDynamicRoute => {\n const regex = getNamedRouteRegex(page, {\n prefixRouteKeys: true,\n })\n return {\n regex: regex.re.toString(),\n namedRegex: regex.namedRegex,\n routeKeys: regex.routeKeys,\n match: getRouteMatcher(regex),\n page,\n }\n }\n )\n\n const dataRoutes: typeof opts.fsChecker.dynamicRoutes = []\n\n for (const page of sortedRoutes) {\n const route = buildDataRoute(page, 'development')\n const routeRegex = getNamedRouteRegex(route.page, {\n prefixRouteKeys: true,\n })\n dataRoutes.push({\n ...route,\n regex: routeRegex.re.toString(),\n namedRegex: routeRegex.namedRegex,\n routeKeys: routeRegex.routeKeys,\n match: getRouteMatcher({\n // TODO: fix this in the manifest itself, must also be fixed in\n // upstream builder that relies on this\n re: opts.nextConfig.i18n\n ? new RegExp(\n route.dataRouteRegex.replace(\n `/development/`,\n `/development/(?<nextLocale>[^/]+?)/`\n )\n )\n : new RegExp(route.dataRouteRegex),\n groups: routeRegex.groups,\n }),\n })\n }\n opts.fsChecker.dynamicRoutes.unshift(...dataRoutes)\n\n // For Turbopack ADDED_PAGE and REMOVED_PAGE are implemented in hot-reloader-turbopack.ts\n // in order to avoid a race condition where ADDED_PAGE and REMOVED_PAGE are sent before Turbopack picked up the file change.\n if (!opts.turbo) {\n // Reload the matchers. The filesystem would have been written to,\n // and the matchers need to re-scan it to update the router.\n // Reloading the matchers should happen before `ADDED_PAGE` or `REMOVED_PAGE` is sent over the websocket\n // otherwise it sends the event too early.\n await propagateServerField(opts, 'reloadMatchers', undefined)\n\n if (\n !prevSortedRoutes?.every((val, idx) => val === sortedRoutes[idx])\n ) {\n const addedRoutes = sortedRoutes.filter(\n (route) => !prevSortedRoutes.includes(route)\n )\n const removedRoutes = prevSortedRoutes.filter(\n (route) => !sortedRoutes.includes(route)\n )\n\n // emit the change so clients fetch the update\n hotReloader.send({\n type: HMR_MESSAGE_SENT_TO_BROWSER.DEV_PAGES_MANIFEST_UPDATE,\n data: [\n {\n devPagesManifest: true,\n },\n ],\n })\n\n addedRoutes.forEach((route) => {\n hotReloader.send({\n type: HMR_MESSAGE_SENT_TO_BROWSER.ADDED_PAGE,\n data: [route],\n })\n })\n\n removedRoutes.forEach((route) => {\n hotReloader.send({\n type: HMR_MESSAGE_SENT_TO_BROWSER.REMOVED_PAGE,\n data: [route],\n })\n })\n }\n }\n prevSortedRoutes = sortedRoutes\n\n if (enabledTypeScript) {\n // Using === false to make the check clearer.\n if (typescriptStatusFromLastAggregation === false) {\n // we tolerate the error here as this is best effort\n // and the manual install command will be shown\n await verifyTypeScript(opts)\n .then(() => {\n tsconfigChange = true\n })\n .catch(() => {})\n }\n\n if (writeEnvDefinitions && nextConfig.experimental?.typedEnv) {\n // TODO: The call to propagateServerField 'loadEnvConfig' causes the env to be loaded twice on env file changes.\n const loadEnvConfig = (\n require('@next/env') as typeof import('@next/env')\n ).loadEnvConfig\n const { loadedEnvFiles } = loadEnvConfig(\n dir,\n process.env.NODE_ENV === 'development',\n // Silent as it's the second time `loadEnvConfig` is called in this pass.\n undefined,\n true\n )\n\n const createEnvDefinitions = (\n require('../experimental/create-env-definitions') as typeof import('../experimental/create-env-definitions')\n ).createEnvDefinitions\n await createEnvDefinitions({\n distDir,\n loadedEnvFiles: [\n ...loadedEnvFiles,\n {\n path: nextConfig.configFileName,\n env: nextConfig.env,\n contents: '',\n },\n ],\n })\n }\n\n const routeTypesManifest = await createRouteTypesManifest({\n dir,\n pageRoutes,\n appRoutes,\n layoutRoutes,\n slots,\n redirects: opts.nextConfig.redirects,\n rewrites: opts.nextConfig.rewrites,\n // Ensure relative paths in validator.ts are computed from validatorFilePath,\n // matching behavior of build and CLI typegen.\n validatorFilePath,\n appRouteHandlers,\n pageApiRoutes,\n })\n\n await writeRouteTypesManifest(\n routeTypesManifest,\n routeTypesFilePath,\n opts.nextConfig\n )\n await writeValidatorFile(routeTypesManifest, validatorFilePath)\n }\n\n if (!resolved) {\n resolve()\n resolved = true\n }\n } catch (e) {\n if (!resolved) {\n reject(e)\n resolved = true\n } else {\n Log.warn('Failed to reload dynamic routes:', e)\n }\n }\n })\n\n wp.watch({ directories: [dir], startTime: 0 })\n })\n\n const clientPagesManifestPath = `/_next/${CLIENT_STATIC_FILES_PATH}/development/${DEV_CLIENT_PAGES_MANIFEST}`\n opts.fsChecker.devVirtualFsItems.add(clientPagesManifestPath)\n\n const devMiddlewareManifestPath = `/_next/${CLIENT_STATIC_FILES_PATH}/development/${DEV_CLIENT_MIDDLEWARE_MANIFEST}`\n opts.fsChecker.devVirtualFsItems.add(devMiddlewareManifestPath)\n\n const devTurbopackMiddlewareManifestPath = `/_next/${CLIENT_STATIC_FILES_PATH}/development/${TURBOPACK_CLIENT_MIDDLEWARE_MANIFEST}`\n opts.fsChecker.devVirtualFsItems.add(devTurbopackMiddlewareManifestPath)\n\n async function requestHandler(req: IncomingMessage, res: ServerResponse) {\n const parsedUrl = url.parse(req.url || '/')\n\n if (parsedUrl.pathname?.includes(clientPagesManifestPath)) {\n res.statusCode = 200\n res.setHeader('Content-Type', JSON_CONTENT_TYPE_HEADER)\n res.end(\n JSON.stringify({\n pages: prevSortedRoutes.filter(\n (route) => !opts.fsChecker.appFiles.has(route)\n ),\n })\n )\n return { finished: true }\n }\n\n if (\n parsedUrl.pathname?.includes(devMiddlewareManifestPath) ||\n parsedUrl.pathname?.includes(devTurbopackMiddlewareManifestPath)\n ) {\n res.statusCode = 200\n res.setHeader('Content-Type', JSON_CONTENT_TYPE_HEADER)\n res.end(JSON.stringify(serverFields.middleware?.matchers || []))\n return { finished: true }\n }\n return { finished: false }\n }\n\n function logErrorWithOriginalStack(\n err: unknown,\n type?: 'unhandledRejection' | 'uncaughtException' | 'warning' | 'app-dir'\n ) {\n if (err instanceof ModuleBuildError) {\n // Errors that may come from issues from the user's code\n Log.error(err.message)\n } else if (err instanceof TurbopackInternalError) {\n // An internal Turbopack error that has been handled by next-swc, written\n // to disk and a simplified message shown to user on the Rust side.\n } else if (type === 'warning') {\n Log.warn(err)\n } else if (type === 'app-dir') {\n Log.error(err)\n } else if (type) {\n Log.error(`${type}:`, err)\n } else {\n Log.error(err)\n }\n }\n\n return {\n serverFields,\n hotReloader,\n requestHandler,\n logErrorWithOriginalStack,\n\n async ensureMiddleware(requestUrl?: string) {\n if (!serverFields.actualMiddlewareFile) return\n return hotReloader.ensurePage({\n page: serverFields.actualMiddlewareFile,\n clientOnly: false,\n definition: undefined,\n url: requestUrl,\n })\n },\n }\n}\n\nexport async function setupDevBundler(opts: SetupOpts) {\n const isSrcDir = path\n .relative(opts.dir, opts.pagesDir || opts.appDir || '')\n .startsWith('src')\n\n const result = await startWatcher({\n ...opts,\n isSrcDir,\n })\n\n opts.telemetry.record(\n eventCliSession(opts.nextConfig, {\n webpackVersion: 5,\n isSrcDir,\n turboFlag: !!opts.turbo,\n cliCommand: 'dev',\n appDir: !!opts.appDir,\n pagesDir: !!opts.pagesDir,\n isCustomServer: !!opts.isCustomServer,\n hasNowJson: !!(await findUp('now.json', { cwd: opts.dir })),\n })\n )\n\n // Track build features for dev server here:\n opts.telemetry.record({\n eventName: EVENT_BUILD_FEATURE_USAGE,\n payload: {\n featureName: 'turbopackPersistentCaching',\n invocationCount: isPersistentCachingEnabled(opts.nextConfig) ? 1 : 0,\n },\n })\n\n return result\n}\n\nexport type DevBundler = Awaited<ReturnType<typeof setupDevBundler>>\n\n// Returns a trace rewritten through Turbopack's sourcemaps\n"],"names":["propagateServerField","setupDevBundler","verifyTypeScript","opts","verifyResult","verifyTypeScriptSetup","dir","distDir","nextConfig","intentDirs","pagesDir","appDir","filter","Boolean","typeCheckPreflight","tsconfigPath","typescript","disableStaticImages","images","hasAppDir","hasPagesDir","version","field","args","renderServer","instance","startWatcher","resetFetch","useFileSystemPublicRoutes","path","join","setGlobal","PHASE_DEVELOPMENT_SERVER","validFileMatcher","createValidFileMatcher","pageExtensions","serverFields","consoleStore","setState","logging","hotReloader","turbo","createHotReloaderTurbopack","require","HotReloaderWebpack","default","isSrcDir","config","buildId","encryptionKey","generateEncryptionKeyBase64","isBuild","telemetry","rewrites","fsChecker","previewProps","prerenderManifest","preview","start","distTypesDir","writeRouteTypesManifest","appRoutes","pageRoutes","layoutRoutes","appRouteHandlerRoutes","redirectRoutes","rewriteRoutes","appPagePaths","Set","pagesRouterPagePaths","layoutPaths","appRouteHandlers","pageApiRoutes","filePathToRoute","Map","routesManifestPath","ROUTES_MANIFEST","routesManifest","caseSensitive","experimental","caseSensitiveRoutes","basePath","redirects","headers","i18n","undefined","skipMiddlewareUrlNormalize","fs","promises","writeFile","JSON","stringify","prerenderManifestPath","PRERENDER_MANIFEST","nextScriptWorkers","verifyPartytownSetup","CLIENT_STATIC_FILES_PATH","ensureCallback","ensure","item","type","ensurePage","clientOnly","page","itemPath","isApp","definition","resolved","prevSortedRoutes","Promise","resolve","reject","readdir","_","files","length","pages","app","directories","rootDir","getPossibleMiddlewareFilenames","getPossibleInstrumentationHookFilenames","nestedMiddleware","envFiles","map","file","push","tsconfigPaths","wp","Watchpack","aggregateTimeout","ignored","pathname","some","startsWith","d","fileWatchTimes","enabledTypeScript","previousClientRouterFilters","previousConflictingPagePaths","routeTypesFilePath","validatorFilePath","on","writeEnvDefinitions","typescriptStatusFromLastAggregation","middlewareMatchers","routedPages","knownFiles","getTimeInfoEntries","appPaths","pageNameSet","conflictingAppPagePaths","appPageFilePaths","pagesPageFilePaths","slots","envChange","tsconfigChange","conflictingPageChange","hasRootAppNotFound","appFiles","pageFiles","staticMetadataFiles","clear","devPageFiles","sortedKnownFiles","keys","sort","sortByPageExts","fileName","includes","meta","get","watchTime","watchTimeChange","timestamp","set","endsWith","accuracy","isPageFile","isAppPath","normalizePathSep","isPagePath","rootFile","absolutePathToPage","extensions","keepIndex","pagesType","PAGE_TYPES","ROOT","isMiddlewareFile","staticInfo","getStaticInfoIncludingLayouts","pageFilePath","isDev","isInsideAppDir","output","Log","error","actualMiddlewareFile","middleware","matchers","regexp","originalSource","isInstrumentationHookFile","actualInstrumentationHookFile","add","pageName","APP","PAGES","isMetadataRouteFile","replace","getPageStaticInfo","pageType","normalizeMetadataPageToRoute","generateSitemaps","generateImageMetadata","isRootNotFound","segments","split","i","segment","isParallelRouteSegment","parentPath","normalizeAppPath","slice","slotName","s","name","parent","isAppLayoutPage","route","ensureLeadingSlash","filePath","isAppRouterPage","originalPageName","isStaticMetadataFile","isAppRouterRoute","nextDataRoutes","has","test","numConflicting","size","errorMessage","p","appPath","relative","pagesPath","setHmrServerError","Error","clearHmrServerError","clientRouterFilters","clientRouterFilter","createClientRouterFilter","Object","clientRouterFilterRedirects","_originalRedirects","r","internal","clientRouterFilterAllowedRate","dev","forceReload","turbopackProject","hasRewrites","afterFiles","beforeFiles","fallback","rootPath","turbopack","root","outputFileTracingRoot","update","defineEnv","createDefineEnv","isTurbopack","fetchCacheKeyPrefix","projectPath","normalizePath","tsconfigResult","loadJsConfig","activeWebpackConfigs","forEach","idx","isClient","isNodeServer","isEdgeServer","plugins","plugin","JsConfigPathsPlugin","jsConfig","resolvedBaseUrl","currentResolvedBaseUrl","resolvedUrlIndex","modules","findIndex","baseUrl","splice","isImplicit","compilerOptions","paths","key","assign","definitions","__NEXT_DEFINE_ENV","newDefine","getDefineEnv","invalidate","reloadAfterInvalidation","NestedMiddlewareError","message","appPathRoutes","fromEntries","entries","k","v","match","hasAppNotFound","middlewareMatcher","getMiddlewareRouteMatcher","interceptionRoutes","generateInterceptionRoutesRewrites","buildCustomRoute","exportPathMap","outDir","exportPathMapEntries","exportPathMapRoutes","value","source","destination","query","qs","sortedRoutes","getSortedRoutes","dynamicRoutes","regex","getNamedRouteRegex","prefixRouteKeys","re","toString","namedRegex","routeKeys","getRouteMatcher","dataRoutes","buildDataRoute","routeRegex","RegExp","dataRouteRegex","groups","unshift","every","val","addedRoutes","removedRoutes","send","HMR_MESSAGE_SENT_TO_BROWSER","DEV_PAGES_MANIFEST_UPDATE","data","devPagesManifest","ADDED_PAGE","REMOVED_PAGE","then","catch","typedEnv","loadEnvConfig","loadedEnvFiles","process","env","NODE_ENV","createEnvDefinitions","configFileName","contents","routeTypesManifest","createRouteTypesManifest","writeValidatorFile","e","warn","watch","startTime","clientPagesManifestPath","DEV_CLIENT_PAGES_MANIFEST","devVirtualFsItems","devMiddlewareManifestPath","DEV_CLIENT_MIDDLEWARE_MANIFEST","devTurbopackMiddlewareManifestPath","TURBOPACK_CLIENT_MIDDLEWARE_MANIFEST","requestHandler","req","res","parsedUrl","url","parse","statusCode","setHeader","JSON_CONTENT_TYPE_HEADER","end","finished","logErrorWithOriginalStack","err","ModuleBuildError","TurbopackInternalError","ensureMiddleware","requestUrl","result","record","eventCliSession","webpackVersion","turboFlag","cliCommand","isCustomServer","hasNowJson","findUp","cwd","eventName","EVENT_BUILD_FEATURE_USAGE","payload","featureName","invocationCount","isPersistentCachingEnabled"],"mappings":"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","ignoreList":[0]}
@@ -179,7 +179,7 @@ async function getRequestHandlers({ dir, port, isDev, onDevServerCleanup, server
179
179
  async function startServer(serverOptions) {
180
180
  const { dir, isDev, hostname, minimalMode, allowRetry, keepAliveTimeout, selfSignedCertificate } = serverOptions;
181
181
  let { port } = serverOptions;
182
- process.title = `next-server (v${"15.6.0-canary.22"})`;
182
+ process.title = `next-server (v${"15.6.0-canary.23"})`;
183
183
  let handlersReady = ()=>{};
184
184
  let handlersError = ()=>{};
185
185
  let handlersPromise = new Promise((resolve, reject)=>{
@@ -22,7 +22,7 @@ _export(exports, {
22
22
  });
23
23
  function isStableBuild() {
24
24
  var _process_env___NEXT_VERSION;
25
- return !((_process_env___NEXT_VERSION = "15.6.0-canary.22") == null ? void 0 : _process_env___NEXT_VERSION.includes('canary')) && !process.env.__NEXT_TEST_MODE && !process.env.NEXT_PRIVATE_LOCAL_DEV;
25
+ return !((_process_env___NEXT_VERSION = "15.6.0-canary.23") == null ? void 0 : _process_env___NEXT_VERSION.includes('canary')) && !process.env.__NEXT_TEST_MODE && !process.env.NEXT_PRIVATE_LOCAL_DEV;
26
26
  }
27
27
  class CanaryOnlyError extends Error {
28
28
  constructor(arg){
@@ -15,13 +15,13 @@ const _fs = require("fs");
15
15
  const _requirecache = require("../../../server/dev/require-cache");
16
16
  const _writeatomic = require("../../../lib/fs/write-atomic");
17
17
  const _generateinterceptionroutesrewrites = require("../../../lib/generate-interception-routes-rewrites");
18
- const _buildmanifestplugin = require("../../../build/webpack/plugins/build-manifest-plugin");
19
18
  const _getassetpathfromroute = /*#__PURE__*/ _interop_require_default._(require("../router/utils/get-asset-path-from-route"));
20
19
  const _entrykey = require("./entry-key");
21
20
  const _utils = require("../router/utils");
22
21
  const _turbopackutils = require("../../../server/dev/turbopack-utils");
23
22
  const _trytoparsepath = require("../../../lib/try-to-parse-path");
24
23
  const _routematchutils = require("../router/utils/route-match-utils");
24
+ const _buildmanifestpluginutils = require("../../../build/webpack/plugins/build-manifest-plugin-utils");
25
25
  const getManifestPath = (page, distDir, name, type, firstCall)=>{
26
26
  let manifestPath = _path.posix.join(distDir, "server", type, type === 'middleware' || type === 'instrumentation' ? '' : type === 'app' ? page : (0, _getassetpathfromroute.default)(page), name);
27
27
  if (firstCall) {
@@ -219,7 +219,7 @@ class TurbopackManifestLoader {
219
219
  }
220
220
  mergeClientBuildManifests(rewrites, manifests, sortedPageKeys) {
221
221
  const manifest = {
222
- __rewrites: (0, _buildmanifestplugin.normalizeRewritesForBuildManifest)(rewrites),
222
+ __rewrites: (0, _buildmanifestpluginutils.normalizeRewritesForBuildManifest)(rewrites),
223
223
  sortedPages: sortedPageKeys
224
224
  };
225
225
  for (const m of manifests){
@@ -231,9 +231,9 @@ class TurbopackManifestLoader {
231
231
  var _devRewrites_beforeFiles, _devRewrites_afterFiles, _devRewrites_fallback;
232
232
  const rewrites = productionRewrites != null ? productionRewrites : {
233
233
  ...devRewrites,
234
- beforeFiles: ((_devRewrites_beforeFiles = devRewrites == null ? void 0 : devRewrites.beforeFiles) != null ? _devRewrites_beforeFiles : []).map(_buildmanifestplugin.processRoute),
235
- afterFiles: ((_devRewrites_afterFiles = devRewrites == null ? void 0 : devRewrites.afterFiles) != null ? _devRewrites_afterFiles : []).map(_buildmanifestplugin.processRoute),
236
- fallback: ((_devRewrites_fallback = devRewrites == null ? void 0 : devRewrites.fallback) != null ? _devRewrites_fallback : []).map(_buildmanifestplugin.processRoute)
234
+ beforeFiles: ((_devRewrites_beforeFiles = devRewrites == null ? void 0 : devRewrites.beforeFiles) != null ? _devRewrites_beforeFiles : []).map(_buildmanifestpluginutils.processRoute),
235
+ afterFiles: ((_devRewrites_afterFiles = devRewrites == null ? void 0 : devRewrites.afterFiles) != null ? _devRewrites_afterFiles : []).map(_buildmanifestpluginutils.processRoute),
236
+ fallback: ((_devRewrites_fallback = devRewrites == null ? void 0 : devRewrites.fallback) != null ? _devRewrites_fallback : []).map(_buildmanifestpluginutils.processRoute)
237
237
  };
238
238
  const buildManifest = this.mergeBuildManifests(this.buildManifests.values());
239
239
  const buildManifestPath = (0, _path.join)(this.distDir, _constants.BUILD_MANIFEST);
@@ -245,7 +245,7 @@ class TurbopackManifestLoader {
245
245
  (0, _writeatomic.writeFileAtomic)(buildManifestPath, JSON.stringify(buildManifest, null, 2));
246
246
  (0, _writeatomic.writeFileAtomic)(middlewareBuildManifestPath, // we use globalThis here because middleware can be node
247
247
  // which doesn't have "self"
248
- (0, _buildmanifestplugin.createEdgeRuntimeManifest)(buildManifest));
248
+ (0, _buildmanifestpluginutils.createEdgeRuntimeManifest)(buildManifest));
249
249
  const interceptionRewrites = JSON.stringify(rewrites.beforeFiles.filter(_generateinterceptionroutesrewrites.isInterceptionRouteRewrite));
250
250
  (0, _writeatomic.writeFileAtomic)(interceptionRewriteManifestPath, "self.__INTERCEPTION_ROUTE_REWRITE_MANIFEST=" + JSON.stringify(interceptionRewrites) + ";");
251
251
  const pagesKeys = [
@@ -261,7 +261,7 @@ class TurbopackManifestLoader {
261
261
  const clientBuildManifest = this.mergeClientBuildManifests(rewrites, this.clientBuildManifests.values(), sortedPageKeys);
262
262
  const clientBuildManifestJs = "self.__BUILD_MANIFEST = " + JSON.stringify(clientBuildManifest, null, 2) + ";self.__BUILD_MANIFEST_CB && self.__BUILD_MANIFEST_CB()";
263
263
  (0, _writeatomic.writeFileAtomic)((0, _path.join)(this.distDir, 'static', this.buildId, '_buildManifest.js'), clientBuildManifestJs);
264
- (0, _writeatomic.writeFileAtomic)((0, _path.join)(this.distDir, 'static', this.buildId, '_ssgManifest.js'), _buildmanifestplugin.srcEmptySsgManifest);
264
+ (0, _writeatomic.writeFileAtomic)((0, _path.join)(this.distDir, 'static', this.buildId, '_ssgManifest.js'), _buildmanifestpluginutils.srcEmptySsgManifest);
265
265
  }
266
266
  writeClientMiddlewareManifest() {
267
267
  var _middlewareManifest_middleware_;