{"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 { ProxyMatcher } 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 { installBindings } from '../../../build/swc/install-bindings'\nimport fs from 'fs'\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 { verifyAndRunTypeScript } from '../../../lib/verify-typescript-setup'\nimport { verifyPartytownSetup } from '../../../lib/verify-partytown-setup'\nimport { getNamedRouteRegex } from '../../../shared/lib/router/utils/route-regex'\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 {\n  fillMetadataSegment,\n  normalizeMetadataPageToRoute,\n} 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  isFileSystemCacheEnabledForDev,\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 {\n  JSON_CONTENT_TYPE_HEADER,\n  MIDDLEWARE_FILENAME,\n  PROXY_FILENAME,\n} from '../../../lib/constants'\nimport { parseUrl } from '../../../lib/url'\nimport {\n  createRouteTypesManifest,\n  writeRouteTypesManifest,\n  writeValidatorFile,\n} from './route-types-utils'\nimport { writeCacheLifeTypes } from './cache-life-type-utils'\nimport {\n  addSlotIfNew,\n  type RouteInfo,\n  type SlotInfo,\n} from '../../../build/file-classifier'\nimport {\n  normalizeAppPath,\n  compareAppPaths,\n} from '../../../shared/lib/router/utils/app-paths'\nimport { ensureLeadingSlash } from '../../../shared/lib/page-path/ensure-leading-slash'\nimport { Lockfile, type DevServerInfo } from '../../../build/lockfile'\nimport { deobfuscateText } from '../../../shared/lib/magic-identifier'\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  serverFastRefresh?: boolean\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  onMatchHeaders: RoutesManifest['headers']\n  i18n: RoutesManifest['i18n']\n  skipProxyUrlNormalize: RoutesManifest['skipProxyUrlNormalize']\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?: ProxyMatcher[]\n      }\n    | undefined\n  hasAppNotFound?: boolean\n  interceptionRoutes?: ReturnType<\n    typeof import('./filesystem').buildCustomRoute\n  >[]\n  setIsrStatus?: (key: string, value: boolean | undefined) => void\n  resetFetch?: () => void\n}\n\nasync function verifyTypeScript(opts: SetupOpts) {\n  const verifyResult = await verifyAndRunTypeScript({\n    dir: opts.dir,\n    distDir: opts.nextConfig.distDir,\n    strictRouteTypes: Boolean(opts.nextConfig.experimental.strictRouteTypes),\n    shouldRunTypeCheck: false,\n    tsconfigPath: opts.nextConfig.typescript.tsconfigPath,\n    typedRoutes: Boolean(opts.nextConfig.typedRoutes),\n    disableStaticImages: opts.nextConfig.images.disableStaticImages,\n    hasAppDir: !!opts.appDir,\n    hasPagesDir: !!opts.pagesDir,\n    appDir: opts.appDir,\n    pagesDir: 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  let lockfile\n  if (opts.nextConfig.experimental.lockDistDir) {\n    fs.mkdirSync(distDir, { recursive: true })\n\n    // Create server info to store in the lockfile itself\n    // This allows other processes to discover the running server\n    const appUrl = `http://localhost:${opts.port}`\n    const serverInfo: DevServerInfo = {\n      pid: process.pid,\n      port: opts.port,\n      hostname: 'localhost',\n      appUrl,\n      startedAt: Date.now(),\n    }\n\n    lockfile = await Lockfile.acquireWithRetriesOrExit(\n      path.join(distDir, 'lock'),\n      'next dev',\n      true,\n      JSON.stringify(serverInfo),\n      opts.dir,\n      opts.nextConfig.distDir\n    )\n  }\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          lockfile,\n          opts.serverFastRefresh\n        )\n      })()\n    : await (async () => {\n        const HotReloader = process.env.NEXT_RSPACK\n          ? (\n              require('../../dev/hot-reloader-rspack') as typeof import('../../dev/hot-reloader-rspack')\n            ).default\n          : (\n              require('../../dev/hot-reloader-webpack') as typeof import('../../dev/hot-reloader-webpack')\n            ).default\n        return new HotReloader(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.previewProps,\n          resetFetch,\n          lockfile,\n          onDevServerCleanup: opts.onDevServerCleanup,\n        })\n      })()\n\n  await hotReloader.start()\n\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    onMatchHeaders: opts.fsChecker.onMatchHeaders,\n    i18n: nextConfig.i18n || undefined,\n    skipProxyUrlNormalize: nextConfig.skipProxyUrlNormalize,\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(\n      {\n        version: 4,\n        routes: {},\n        dynamicRoutes: {},\n        notFoundRoutes: [],\n        preview: opts.fsChecker.previewProps,\n      },\n      null,\n      2\n    )\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    let initialWatchTime = performance.now() + performance.timeOrigin\n    wp.on('aggregated', async () => {\n      let writeEnvDefinitions = false\n      let typescriptStatusFromLastAggregation = enabledTypeScript\n      let middlewareMatchers: ProxyMatcher[] | 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: RouteInfo[] = []\n      const pageApiRoutes: RouteInfo[] = []\n      const pageRoutes: RouteInfo[] = []\n      const appRoutes: RouteInfo[] = []\n      const layoutRoutes: RouteInfo[] = []\n      const slots: SlotInfo[] = []\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      let proxyFilePath: string | undefined\n      let middlewareFilePath: string | undefined\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\n        const { name: fileBaseName, dir: fileDir } = path.parse(fileName)\n\n        const isAtConventionLevel =\n          fileDir === dir || fileDir === path.join(dir, 'src')\n\n        if (isAtConventionLevel && fileBaseName === MIDDLEWARE_FILENAME) {\n          middlewareFilePath = fileName\n        }\n        if (isAtConventionLevel && fileBaseName === PROXY_FILENAME) {\n          proxyFilePath = fileName\n        }\n\n        if (middlewareFilePath) {\n          if (proxyFilePath) {\n            const cwd = process.cwd()\n\n            throw new Error(\n              `Both ${MIDDLEWARE_FILENAME} file \"./${path.relative(cwd, middlewareFilePath)}\" and ${PROXY_FILENAME} file \"./${path.relative(cwd, proxyFilePath)}\" are detected. Please use \"./${path.relative(cwd, proxyFilePath)}\" only. Learn more: https://nextjs.org/docs/messages/middleware-to-proxy`\n            )\n          }\n          Log.warnOnce(\n            `The \"${MIDDLEWARE_FILENAME}\" file convention is deprecated. Please use \"${PROXY_FILENAME}\" instead. Learn more: https://nextjs.org/docs/messages/middleware-to-proxy`\n          )\n        }\n\n        const meta = knownFiles.get(fileName)\n\n        const watchTime = fileWatchTimes.get(fileName)\n        const nextWatchTime = meta?.timestamp\n        // If the file is showing up for the first time or the meta.timestamp is changed since last time\n        // Files that were created before we started watching are not considered changed.\n        // If any file was created by Next.js while booting, we assume those changes\n        // are handled in the bootstrap phase.\n        // Files that existed before we booted should be handled during bootstrapping.\n        const fileChanged =\n          (watchTime === undefined &&\n            (nextWatchTime === undefined ||\n              nextWatchTime >= initialWatchTime)) ||\n          (watchTime && watchTime !== nextWatchTime)\n        fileWatchTimes.set(fileName, nextWatchTime)\n\n        if (envFiles.includes(fileName)) {\n          if (fileChanged) {\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 (fileChanged) {\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\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          // Track root not-found\n          if (validFileMatcher.isRootNotFound(fileName)) {\n            hasRootAppNotFound = true\n            continue\n          }\n\n          const normalizedPageName = normalizePathSep(pageName)\n\n          // Skip files/directories starting with `_` in the app directory\n          if (normalizedPageName.includes('/_')) continue\n\n          // Record parallel route slots\n          addSlotIfNew(slots, normalizedPageName)\n\n          // Handle layouts separately - they don't get added to appPaths\n          if (validFileMatcher.isAppLayoutPage(fileName)) {\n            const layoutRoute = ensureLeadingSlash(\n              normalizeAppPath(normalizedPageName).replace(/\\/layout$/, '')\n            )\n            layoutRoutes.push({ route: layoutRoute, filePath: fileName })\n            continue\n          }\n\n          // Skip non-router pages (loading.tsx, error.tsx, etc.)\n          if (!validFileMatcher.isAppRouterPage(fileName)) continue\n\n          const originalPageName = pageName\n          pageName = normalizeAppPath(pageName).replace(/%5F/g, '_')\n          const appRoute = normalizePathSep(pageName)\n\n          if (!appPaths[pageName]) {\n            appPaths[pageName] = []\n          }\n          appPaths[pageName].push(\n            opts.turbo\n              ? originalPageName.replace(/%5F/g, '_')\n              : originalPageName\n          )\n\n          if (useFileSystemPublicRoutes) {\n            if (appDir && isStaticMetadataFile(fileName.replace(appDir, ''))) {\n              const segment = path.posix.dirname(pageName)\n              const lastSegment = path.posix.basename(pageName)\n              const normalizedPath = fillMetadataSegment(\n                segment,\n                {},\n                lastSegment,\n                true\n              )\n              staticMetadataFiles.set(normalizedPath, fileName)\n            } else {\n              appFiles.add(pageName)\n            }\n          }\n\n          const routeEntry = { route: appRoute, filePath: fileName }\n          if (validFileMatcher.isAppRouterRoute(fileName)) {\n            appRouteHandlers.push(routeEntry)\n          } else {\n            appRoutes.push(routeEntry)\n          }\n\n          if (routedPages.includes(pageName)) continue\n        } else {\n          // Pages router\n          if (useFileSystemPublicRoutes) {\n            pageFiles.add(pageName)\n            opts.fsChecker.nextDataRoutes.add(pageName)\n          }\n\n          const route = normalizePathSep(pageName)\n          const routeEntry = { route, filePath: fileName }\n          if (pageName.startsWith('/api/')) {\n            pageApiRoutes.push(routeEntry)\n          } else {\n            pageRoutes.push(routeEntry)\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(compareAppPaths)])\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(\n            routeTypesManifest,\n            validatorFilePath,\n            Boolean(nextConfig.experimental.strictRouteTypes)\n          )\n\n          // Generate cache-life types if cacheLife config exists\n          const cacheLifeFilePath = path.join(distTypesDir, 'cache-life.d.ts')\n          writeCacheLifeTypes(opts.nextConfig.cacheLife, cacheLifeFilePath)\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 = parseUrl(req.url || '/')\n    const pathname = parsedUrl !== undefined ? parsedUrl.pathname : null\n\n    if (pathname !== null && 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      pathname !== null &&\n      (pathname.includes(devMiddlewareManifestPath) ||\n        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 Error) {\n      err.message = deobfuscateText(err.message)\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  await installBindings(opts.nextConfig.experimental?.useWasmBinary)\n\n  // Set up code frame renderer for error formatting\n  const { installCodeFrameSupport } =\n    require('../install-code-frame') as typeof import('../install-code-frame')\n  installCodeFrameSupport()\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: 'turbopackFileSystemCache',\n      invocationCount: isFileSystemCacheEnabledForDev(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":["createDefineEnv","installBindings","fs","path","qs","Watchpack","findUp","buildCustomRoute","Log","setGlobal","createValidFileMatcher","EVENT_BUILD_FEATURE_USAGE","eventCliSession","getSortedRoutes","sortByPageExts","verifyAndRunTypeScript","verifyPartytownSetup","getNamedRouteRegex","buildDataRoute","getRouteMatcher","normalizePathSep","createClientRouterFilter","absolutePathToPage","generateInterceptionRoutesRewrites","CLIENT_STATIC_FILES_PATH","DEV_CLIENT_PAGES_MANIFEST","DEV_CLIENT_MIDDLEWARE_MANIFEST","PHASE_DEVELOPMENT_SERVER","TURBOPACK_CLIENT_MIDDLEWARE_MANIFEST","ROUTES_MANIFEST","PRERENDER_MANIFEST","getMiddlewareRouteMatcher","isMiddlewareFile","NestedMiddlewareError","isInstrumentationHookFile","getPossibleMiddlewareFilenames","getPossibleInstrumentationHookFilenames","devPageFiles","HMR_MESSAGE_SENT_TO_BROWSER","PAGE_TYPES","generateEncryptionKeyBase64","isMetadataRouteFile","isStaticMetadataFile","fillMetadataSegment","normalizeMetadataPageToRoute","JsConfigPathsPlugin","store","consoleStore","isFileSystemCacheEnabledForDev","ModuleBuildError","getDefineEnv","TurbopackInternalError","normalizePath","JSON_CONTENT_TYPE_HEADER","MIDDLEWARE_FILENAME","PROXY_FILENAME","parseUrl","createRouteTypesManifest","writeRouteTypesManifest","writeValidatorFile","writeCacheLifeTypes","addSlotIfNew","normalizeAppPath","compareAppPaths","ensureLeadingSlash","Lockfile","deobfuscateText","verifyTypeScript","opts","verifyResult","dir","distDir","nextConfig","strictRouteTypes","Boolean","experimental","shouldRunTypeCheck","tsconfigPath","typescript","typedRoutes","disableStaticImages","images","hasAppDir","appDir","hasPagesDir","pagesDir","version","propagateServerField","field","args","renderServer","instance","startWatcher","resetFetch","useFileSystemPublicRoutes","join","lockfile","lockDistDir","mkdirSync","recursive","appUrl","port","serverInfo","pid","process","hostname","startedAt","Date","now","acquireWithRetriesOrExit","JSON","stringify","validFileMatcher","pageExtensions","serverFields","setState","logging","hotReloader","turbo","createHotReloaderTurbopack","require","serverFastRefresh","HotReloader","env","NEXT_RSPACK","default","isSrcDir","config","buildId","encryptionKey","isBuild","telemetry","rewrites","fsChecker","previewProps","onDevServerCleanup","start","distTypesDir","appRoutes","pageRoutes","layoutRoutes","appRouteHandlerRoutes","redirectRoutes","rewriteRoutes","appPagePaths","Set","pagesRouterPagePaths","layoutPaths","appRouteHandlers","pageApiRoutes","filePathToRoute","Map","routesManifestPath","routesManifest","caseSensitive","caseSensitiveRoutes","basePath","redirects","headers","onMatchHeaders","i18n","undefined","skipProxyUrlNormalize","promises","writeFile","prerenderManifestPath","routes","dynamicRoutes","notFoundRoutes","preview","nextScriptWorkers","ensureCallback","ensure","item","type","ensurePage","clientOnly","page","itemPath","isApp","definition","resolved","prevSortedRoutes","Promise","resolve","reject","readdir","_","files","length","pages","app","directories","rootDir","nestedMiddleware","envFiles","map","file","push","tsconfigPaths","wp","aggregateTimeout","ignored","pathname","some","startsWith","d","fileWatchTimes","enabledTypeScript","previousClientRouterFilters","previousConflictingPagePaths","routeTypesFilePath","validatorFilePath","initialWatchTime","performance","timeOrigin","on","writeEnvDefinitions","typescriptStatusFromLastAggregation","middlewareMatchers","routedPages","knownFiles","getTimeInfoEntries","appPaths","pageNameSet","conflictingAppPagePaths","appPageFilePaths","pagesPageFilePaths","slots","envChange","tsconfigChange","conflictingPageChange","hasRootAppNotFound","appFiles","pageFiles","staticMetadataFiles","clear","sortedKnownFiles","keys","sort","proxyFilePath","middlewareFilePath","fileName","includes","name","fileBaseName","fileDir","parse","isAtConventionLevel","cwd","Error","relative","warnOnce","meta","get","watchTime","nextWatchTime","timestamp","fileChanged","set","endsWith","accuracy","isPageFile","isAppPath","isPagePath","rootFile","extensions","keepIndex","pagesType","ROOT","staticInfo","getStaticInfoIncludingLayouts","pageFilePath","isDev","isInsideAppDir","output","error","actualMiddlewareFile","middleware","matchers","regexp","originalSource","actualInstrumentationHookFile","add","pageName","APP","PAGES","replace","getPageStaticInfo","pageType","generateSitemaps","generateImageMetadata","isRootNotFound","normalizedPageName","isAppLayoutPage","layoutRoute","route","filePath","isAppRouterPage","originalPageName","appRoute","segment","posix","dirname","lastSegment","basename","normalizedPath","routeEntry","isAppRouterRoute","nextDataRoutes","has","test","numConflicting","size","errorMessage","p","appPath","pagesPath","setHmrServerError","clearHmrServerError","clientRouterFilters","clientRouterFilter","Object","clientRouterFilterRedirects","_originalRedirects","filter","r","internal","clientRouterFilterAllowedRate","dev","forceReload","turbopackProject","hasRewrites","afterFiles","beforeFiles","fallback","rootPath","turbopack","root","outputFileTracingRoot","update","defineEnv","isTurbopack","fetchCacheKeyPrefix","projectPath","tsconfigResult","loadJsConfig","activeWebpackConfigs","forEach","idx","isClient","isNodeServer","isEdgeServer","plugins","plugin","jsConfig","resolvedBaseUrl","currentResolvedBaseUrl","resolvedUrlIndex","modules","findIndex","baseUrl","splice","isImplicit","compilerOptions","paths","key","assign","definitions","__NEXT_DEFINE_ENV","newDefine","invalidate","reloadAfterInvalidation","message","appPathRoutes","fromEntries","entries","k","v","match","hasAppNotFound","middlewareMatcher","interceptionRoutes","exportPathMap","outDir","exportPathMapEntries","exportPathMapRoutes","value","source","destination","query","sortedRoutes","regex","prefixRouteKeys","re","toString","namedRegex","routeKeys","dataRoutes","routeRegex","RegExp","dataRouteRegex","groups","unshift","every","val","addedRoutes","removedRoutes","send","DEV_PAGES_MANIFEST_UPDATE","data","devPagesManifest","ADDED_PAGE","REMOVED_PAGE","then","catch","typedEnv","loadEnvConfig","loadedEnvFiles","NODE_ENV","createEnvDefinitions","configFileName","contents","routeTypesManifest","cacheLifeFilePath","cacheLife","e","warn","watch","startTime","clientPagesManifestPath","devVirtualFsItems","devMiddlewareManifestPath","devTurbopackMiddlewareManifestPath","requestHandler","req","res","parsedUrl","url","statusCode","setHeader","end","finished","logErrorWithOriginalStack","err","ensureMiddleware","requestUrl","setupDevBundler","useWasmBinary","installCodeFrameSupport","result","record","webpackVersion","turboFlag","cliCommand","isCustomServer","hasNowJson","eventName","payload","featureName","invocationCount"],"mappings":"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","ignoreList":[0]}