Uname:Linux machinox-server 6.17.0-1013-aws #13~24.04.1-Ubuntu SMP Fri Apr 24 21:36:58 UTC 2026 aarch64

Base Dir : /var/www/machinox.in

User : root


403WebShell
403Webshell
Server IP : 13.235.167.51  /  Your IP : 216.73.217.116
Web Server : Apache
System : Linux machinox-server 6.17.0-1013-aws #13~24.04.1-Ubuntu SMP Fri Apr 24 21:36:58 UTC 2026 aarch64
User : root ( 0)
PHP Version : 8.2.29
Disable Function : NONE
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : OFF  |  Sudo : ON  |  Pkexec : OFF
Directory :  /var/www/control.machinox.in/node_modules/next/dist/esm/server/dev/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /var/www/control.machinox.in/node_modules/next/dist/esm/server/dev/hot-reloader-turbopack.js.map
{"version":3,"sources":["../../../../src/server/dev/hot-reloader-turbopack.ts"],"sourcesContent":["import type { Socket } from 'net'\nimport { mkdir, writeFile } from 'fs/promises'\nimport * as inspector from 'inspector'\nimport { join, extname, relative } from 'path'\nimport { pathToFileURL } from 'url'\n\nimport ws from 'next/dist/compiled/ws'\n\nimport type { OutputState } from '../../build/output/store'\nimport { store as consoleStore } from '../../build/output/store'\nimport type {\n  CompilationError,\n  HmrMessageSentToBrowser,\n  NextJsHotReloaderInterface,\n  ReloadPageMessage,\n  SyncMessage,\n  TurbopackConnectedMessage,\n} from './hot-reloader-types'\nimport { HMR_MESSAGE_SENT_TO_BROWSER } from './hot-reloader-types'\nimport type {\n  Update as TurbopackUpdate,\n  Endpoint,\n  WrittenEndpoint,\n  TurbopackResult,\n  Project,\n  Entrypoints,\n} from '../../build/swc/types'\nimport { createDefineEnv, getBindingsSync } from '../../build/swc'\nimport * as Log from '../../build/output/log'\nimport { BLOCKED_PAGES } from '../../shared/lib/constants'\nimport {\n  getOverlayMiddleware,\n  getSourceMapMiddleware,\n  getOriginalStackFrames,\n} from './middleware-turbopack'\nimport { PageNotFoundError } from '../../shared/lib/utils'\nimport { debounce } from '../utils'\nimport { deleteCache } from './require-cache'\nimport {\n  clearAllModuleContexts,\n  clearModuleContext,\n} from '../lib/render-server'\nimport { denormalizePagePath } from '../../shared/lib/page-path/denormalize-page-path'\nimport { trace } from '../../trace'\nimport {\n  AssetMapper,\n  type ChangeSubscriptions,\n  type ClientState,\n  handleEntrypoints,\n  handlePagesErrorRoute,\n  handleRouteType,\n  hasEntrypointForKey,\n  msToNs,\n  type ReadyIds,\n  type SendHmr,\n  type StartBuilding,\n  processTopLevelIssues,\n  printNonFatalIssue,\n  normalizedPageToTurbopackStructureRoute,\n} from './turbopack-utils'\nimport {\n  propagateServerField,\n  type ServerFields,\n  type SetupOpts,\n} from '../lib/router-utils/setup-dev-bundler'\nimport { TurbopackManifestLoader } from '../../shared/lib/turbopack/manifest-loader'\nimport { findPagePathData } from './on-demand-entry-handler'\nimport type { RouteDefinition } from '../route-definitions/route-definition'\nimport {\n  type EntryKey,\n  getEntryKey,\n  splitEntryKey,\n} from '../../shared/lib/turbopack/entry-key'\nimport {\n  createBinaryHmrMessageData,\n  FAST_REFRESH_RUNTIME_RELOAD,\n} from './messages'\nimport { generateEncryptionKeyBase64 } from '../app-render/encryption-utils-server'\nimport { isAppPageRouteDefinition } from '../route-definitions/app-page-route-definition'\nimport { normalizeAppPath } from '../../shared/lib/router/utils/app-paths'\nimport type { ModernSourceMapPayload } from '../lib/source-maps'\nimport { isMetadataRouteFile } from '../../lib/metadata/is-metadata-route'\nimport { setBundlerFindSourceMapImplementation } from '../patch-error-inspect'\nimport { getNextErrorFeedbackMiddleware } from '../../next-devtools/server/get-next-error-feedback-middleware'\nimport {\n  formatIssue,\n  isFileSystemCacheEnabledForDev,\n  isWellKnownError,\n  processIssues,\n  renderStyledStringToErrorAnsi,\n  type EntryIssuesMap,\n  type IssuesMap,\n  type TopLevelIssuesMap,\n} from '../../shared/lib/turbopack/utils'\nimport { getDevOverlayFontMiddleware } from '../../next-devtools/server/font/get-dev-overlay-font-middleware'\nimport { devIndicatorServerState } from './dev-indicator-server-state'\nimport { getDisableDevIndicatorMiddleware } from '../../next-devtools/server/dev-indicator-middleware'\nimport { getRestartDevServerMiddleware } from '../../next-devtools/server/restart-dev-server-middleware'\nimport { backgroundLogCompilationEvents } from '../../shared/lib/turbopack/compilation-events'\nimport { getSupportedBrowsers, printBuildErrors } from '../../build/utils'\nimport {\n  receiveBrowserLogsTurbopack,\n  handleClientFileLogs,\n} from './browser-logs/receive-logs'\nimport { normalizePath } from '../../lib/normalize-path'\nimport {\n  devToolsConfigMiddleware,\n  getDevToolsConfig,\n} from '../../next-devtools/server/devtools-config-middleware'\nimport { getAttachNodejsDebuggerMiddleware } from '../../next-devtools/server/attach-nodejs-debugger-middleware'\nimport {\n  connectReactDebugChannel,\n  connectReactDebugChannelForHtmlRequest,\n  deleteReactDebugChannelForHtmlRequest,\n  setReactDebugChannelForHtmlRequest,\n} from './debug-channel'\nimport {\n  getVersionInfo,\n  matchNextPageBundleRequest,\n} from './hot-reloader-shared-utils'\nimport { getMcpMiddleware } from '../mcp/get-mcp-middleware'\nimport { handleErrorStateResponse } from '../mcp/tools/get-errors'\nimport { handlePageMetadataResponse } from '../mcp/tools/get-page-metadata'\nimport { setStackFrameResolver } from '../mcp/tools/utils/format-errors'\nimport { recordMcpTelemetry } from '../mcp/mcp-telemetry-tracker'\nimport { getFileLogger } from './browser-logs/file-logger'\nimport type { ServerCacheStatus } from '../../next-devtools/dev-overlay/cache-indicator'\nimport type { Lockfile } from '../../build/lockfile'\nimport {\n  sendSerializedErrorsToClient,\n  sendSerializedErrorsToClientForHtmlRequest,\n  setErrorsRscStreamForHtmlRequest,\n} from './serialized-errors'\n\nconst wsServer = new ws.Server({ noServer: true })\nconst isTestMode = !!(\n  process.env.NEXT_TEST_MODE ||\n  process.env.__NEXT_TEST_MODE ||\n  process.env.DEBUG\n)\n\nconst sessionId = Math.floor(Number.MAX_SAFE_INTEGER * Math.random())\n\ndeclare const __next__clear_chunk_cache__: (() => void) | null | undefined\n\n/**\n * Replaces turbopack:///[project] with the specified project in the `source` field.\n */\nfunction rewriteTurbopackSources(\n  projectRoot: string,\n  sourceMap: ModernSourceMapPayload\n): void {\n  if ('sections' in sourceMap) {\n    for (const section of sourceMap.sections) {\n      rewriteTurbopackSources(projectRoot, section.map)\n    }\n  } else {\n    for (let i = 0; i < sourceMap.sources.length; i++) {\n      sourceMap.sources[i] = pathToFileURL(\n        join(\n          projectRoot,\n          sourceMap.sources[i].replace(/turbopack:\\/\\/\\/\\[project\\]/, '')\n        )\n      ).toString()\n    }\n  }\n}\n\nfunction getSourceMapFromTurbopack(\n  project: Project,\n  projectRoot: string,\n  sourceURL: string\n): ModernSourceMapPayload | undefined {\n  let sourceMapJson: string | null = null\n\n  try {\n    sourceMapJson = project.getSourceMapSync(sourceURL)\n  } catch (err) {}\n\n  if (sourceMapJson === null) {\n    return undefined\n  } else {\n    const payload: ModernSourceMapPayload = JSON.parse(sourceMapJson)\n    // The sourcemap from Turbopack is not yet written to disk so its `sources`\n    // are not absolute paths yet. We need to rewrite them to be absolute paths.\n    rewriteTurbopackSources(projectRoot, payload)\n    return payload\n  }\n}\n\nexport async function createHotReloaderTurbopack(\n  opts: SetupOpts & { isSrcDir: boolean },\n  serverFields: ServerFields,\n  distDir: string,\n  resetFetch: () => void,\n  lockfile: Lockfile | undefined\n): Promise<NextJsHotReloaderInterface> {\n  const dev = true\n  const buildId = 'development'\n  const { nextConfig, dir: projectPath } = opts\n\n  const bindings = getBindingsSync()\n\n  // For the debugging purpose, check if createNext or equivalent next instance setup in test cases\n  // works correctly. Normally `run-test` hides output so only will be visible when `--debug` flag is used.\n  if (isTestMode) {\n    ;(require('console') as typeof import('console')).log(\n      'Creating turbopack project',\n      {\n        dir: projectPath,\n        testMode: isTestMode,\n      }\n    )\n  }\n\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 hotReloaderSpan = trace('hot-reloader', undefined, {\n    version: process.env.__NEXT_VERSION as string,\n  })\n  // Ensure the hotReloaderSpan is flushed immediately as it's the parentSpan for all processing\n  // of the current `next dev` invocation.\n  hotReloaderSpan.stop()\n\n  // Initialize log monitor for file logging\n  // Enable logging by default in development mode\n  const mcpServerEnabled = !!nextConfig.experimental.mcpServer\n  const fileLogger = getFileLogger()\n  fileLogger.initialize(distDir, mcpServerEnabled)\n\n  const encryptionKey = await generateEncryptionKeyBase64({\n    isBuild: false,\n    distDir,\n  })\n\n  // TODO: Implement\n  let clientRouterFilters: any\n  if (nextConfig.experimental.clientRouterFilter) {\n    // TODO this need to be set correctly for filesystem cache to work\n  }\n\n  const supportedBrowsers = getSupportedBrowsers(projectPath, dev)\n  const currentNodeJsVersion = process.versions.node\n\n  const rootPath =\n    opts.nextConfig.turbopack?.root ||\n    opts.nextConfig.outputFileTracingRoot ||\n    projectPath\n  const project = await bindings.turbo.createProject(\n    {\n      rootPath,\n      projectPath: normalizePath(relative(rootPath, projectPath) || '.'),\n      distDir,\n      nextConfig: opts.nextConfig,\n      watch: {\n        enable: dev,\n        pollIntervalMs: nextConfig.watchOptions?.pollIntervalMs,\n      },\n      dev,\n      env: process.env as Record<string, string>,\n      defineEnv: createDefineEnv({\n        isTurbopack: true,\n        clientRouterFilters,\n        config: nextConfig,\n        dev,\n        distDir,\n        projectPath,\n        fetchCacheKeyPrefix: opts.nextConfig.experimental.fetchCacheKeyPrefix,\n        hasRewrites,\n        // TODO: Implement\n        middlewareMatchers: undefined,\n        rewrites: opts.fsChecker.rewrites,\n      }),\n      buildId,\n      encryptionKey,\n      previewProps: opts.fsChecker.prerenderManifest.preview,\n      browserslistQuery: supportedBrowsers.join(', '),\n      noMangling: false,\n      writeRoutesHashesManifest: false,\n      currentNodeJsVersion,\n    },\n    {\n      persistentCaching: isFileSystemCacheEnabledForDev(opts.nextConfig),\n      memoryLimit: opts.nextConfig.experimental?.turbopackMemoryLimit,\n      isShortSession: false,\n    }\n  )\n  backgroundLogCompilationEvents(project, {\n    eventTypes: ['StartupCacheInvalidationEvent', 'TimingEvent'],\n  })\n  setBundlerFindSourceMapImplementation(\n    getSourceMapFromTurbopack.bind(null, project, projectPath)\n  )\n  opts.onDevServerCleanup?.(async () => {\n    setBundlerFindSourceMapImplementation(() => undefined)\n    await project.onExit()\n    await lockfile?.unlock()\n  })\n  const entrypointsSubscription = project.entrypointsSubscribe()\n\n  const currentWrittenEntrypoints: Map<EntryKey, WrittenEndpoint> = new Map()\n  const currentEntrypoints: Entrypoints = {\n    global: {\n      app: undefined,\n      document: undefined,\n      error: undefined,\n\n      middleware: undefined,\n      instrumentation: undefined,\n    },\n\n    page: new Map(),\n    app: new Map(),\n  }\n\n  const currentTopLevelIssues: TopLevelIssuesMap = new Map()\n  const currentEntryIssues: EntryIssuesMap = new Map()\n\n  const manifestLoader = new TurbopackManifestLoader({\n    buildId,\n    distDir,\n    encryptionKey,\n  })\n\n  // Dev specific\n  const changeSubscriptions: ChangeSubscriptions = new Map()\n  const serverPathState = new Map<string, string>()\n  const readyIds: ReadyIds = new Set()\n  let currentEntriesHandlingResolve: ((value?: unknown) => void) | undefined\n  let currentEntriesHandling = new Promise(\n    (resolve) => (currentEntriesHandlingResolve = resolve)\n  )\n\n  const assetMapper = new AssetMapper()\n\n  function clearRequireCache(\n    key: EntryKey,\n    writtenEndpoint: WrittenEndpoint,\n    {\n      force,\n    }: {\n      // Always clear the cache, don't check if files have changed\n      force?: boolean\n    } = {}\n  ): boolean {\n    if (force) {\n      for (const { path, contentHash } of writtenEndpoint.serverPaths) {\n        // We ignore source maps\n        if (path.endsWith('.map')) continue\n        const localKey = `${key}:${path}`\n        serverPathState.set(localKey, contentHash)\n        serverPathState.set(path, contentHash)\n      }\n    } else {\n      // Figure out if the server files have changed\n      let hasChange = false\n      for (const { path, contentHash } of writtenEndpoint.serverPaths) {\n        // We ignore source maps\n        if (path.endsWith('.map')) continue\n        const localKey = `${key}:${path}`\n        const localHash = serverPathState.get(localKey)\n        const globalHash = serverPathState.get(path)\n        if (\n          (localHash && localHash !== contentHash) ||\n          (globalHash && globalHash !== contentHash)\n        ) {\n          hasChange = true\n          serverPathState.set(localKey, contentHash)\n          serverPathState.set(path, contentHash)\n        } else {\n          if (!localHash) {\n            serverPathState.set(localKey, contentHash)\n          }\n          if (!globalHash) {\n            serverPathState.set(path, contentHash)\n          }\n        }\n      }\n\n      if (!hasChange) {\n        return false\n      }\n    }\n\n    resetFetch()\n\n    // Not available in:\n    // - Pages Router (no server-side HMR)\n    // - Edge Runtime (uses browser runtime which already disposes chunks individually)\n    if (typeof __next__clear_chunk_cache__ === 'function') {\n      __next__clear_chunk_cache__()\n    }\n\n    const serverPaths = writtenEndpoint.serverPaths.map(({ path: p }) =>\n      join(distDir, p)\n    )\n\n    for (const file of serverPaths) {\n      clearModuleContext(file)\n      deleteCache(file)\n    }\n\n    return true\n  }\n\n  const buildingIds = new Set()\n\n  const startBuilding: StartBuilding = (id, requestUrl, forceRebuild) => {\n    if (!forceRebuild && readyIds.has(id)) {\n      return () => {}\n    }\n    if (buildingIds.size === 0) {\n      consoleStore.setState(\n        {\n          loading: true,\n          trigger: id,\n          url: requestUrl,\n        } as OutputState,\n        true\n      )\n    }\n    buildingIds.add(id)\n    return function finishBuilding() {\n      if (buildingIds.size === 0) {\n        return\n      }\n      readyIds.add(id)\n      buildingIds.delete(id)\n      if (buildingIds.size === 0) {\n        hmrEventHappened = false\n        consoleStore.setState(\n          {\n            loading: false,\n          } as OutputState,\n          true\n        )\n      }\n    }\n  }\n\n  let hmrEventHappened = false\n  let hmrHash = 0\n\n  const clientsWithoutHtmlRequestId = new Set<ws>()\n  const clientsByHtmlRequestId = new Map<string, ws>()\n  const cacheStatusesByHtmlRequestId = new Map<string, ServerCacheStatus>()\n  const clientStates = new WeakMap<ws, ClientState>()\n\n  function sendToClient(client: ws, message: HmrMessageSentToBrowser) {\n    const data =\n      typeof message.type === 'number'\n        ? createBinaryHmrMessageData(message)\n        : JSON.stringify(message)\n\n    client.send(data)\n  }\n\n  function sendEnqueuedMessages() {\n    for (const [, issueMap] of currentEntryIssues) {\n      if (\n        [...issueMap.values()].filter((i) => i.severity !== 'warning').length >\n        0\n      ) {\n        // During compilation errors we want to delay the HMR events until errors are fixed\n        return\n      }\n    }\n\n    for (const client of [\n      ...clientsWithoutHtmlRequestId,\n      ...clientsByHtmlRequestId.values(),\n    ]) {\n      const state = clientStates.get(client)\n      if (!state) {\n        continue\n      }\n\n      for (const [, issueMap] of state.clientIssues) {\n        if (\n          [...issueMap.values()].filter((i) => i.severity !== 'warning')\n            .length > 0\n        ) {\n          // During compilation errors we want to delay the HMR events until errors are fixed\n          return\n        }\n      }\n\n      for (const message of state.messages.values()) {\n        sendToClient(client, message)\n      }\n      state.messages.clear()\n\n      if (state.turbopackUpdates.length > 0) {\n        sendToClient(client, {\n          type: HMR_MESSAGE_SENT_TO_BROWSER.TURBOPACK_MESSAGE,\n          data: state.turbopackUpdates,\n        })\n        state.turbopackUpdates.length = 0\n      }\n    }\n  }\n  const sendEnqueuedMessagesDebounce = debounce(sendEnqueuedMessages, 2)\n\n  const sendHmr: SendHmr = (id: string, message: HmrMessageSentToBrowser) => {\n    for (const client of [\n      ...clientsWithoutHtmlRequestId,\n      ...clientsByHtmlRequestId.values(),\n    ]) {\n      clientStates.get(client)?.messages.set(id, message)\n    }\n\n    hmrEventHappened = true\n    sendEnqueuedMessagesDebounce()\n  }\n\n  function sendTurbopackMessage(payload: TurbopackUpdate) {\n    // TODO(PACK-2049): For some reason we end up emitting hundreds of issues messages on bigger apps,\n    //   a lot of which are duplicates.\n    //   They are currently not handled on the client at all, so might as well not send them for now.\n    payload.diagnostics = []\n    payload.issues = []\n\n    for (const client of [\n      ...clientsWithoutHtmlRequestId,\n      ...clientsByHtmlRequestId.values(),\n    ]) {\n      clientStates.get(client)?.turbopackUpdates.push(payload)\n    }\n\n    hmrEventHappened = true\n    sendEnqueuedMessagesDebounce()\n  }\n\n  async function subscribeToChanges(\n    key: EntryKey,\n    includeIssues: boolean,\n    endpoint: Endpoint,\n    createMessage: (\n      change: TurbopackResult,\n      hash: string\n    ) => Promise<HmrMessageSentToBrowser> | HmrMessageSentToBrowser | void,\n    onError?: (\n      error: Error\n    ) => Promise<HmrMessageSentToBrowser> | HmrMessageSentToBrowser | void\n  ) {\n    if (changeSubscriptions.has(key)) {\n      return\n    }\n\n    const { side } = splitEntryKey(key)\n\n    const changedPromise = endpoint[`${side}Changed`](includeIssues)\n    changeSubscriptions.set(key, changedPromise)\n    try {\n      const changed = await changedPromise\n\n      for await (const change of changed) {\n        processIssues(currentEntryIssues, key, change, false, true)\n        // TODO: Get an actual content hash from Turbopack.\n        const message = await createMessage(change, String(++hmrHash))\n        if (message) {\n          sendHmr(key, message)\n        }\n      }\n    } catch (e) {\n      changeSubscriptions.delete(key)\n      const payload = await onError?.(e as Error)\n      if (payload) {\n        sendHmr(key, payload)\n      }\n      return\n    }\n    changeSubscriptions.delete(key)\n  }\n\n  async function unsubscribeFromChanges(key: EntryKey) {\n    const subscription = await changeSubscriptions.get(key)\n    if (subscription) {\n      await subscription.return?.()\n      changeSubscriptions.delete(key)\n    }\n    currentEntryIssues.delete(key)\n  }\n\n  async function subscribeToHmrEvents(client: ws, id: string) {\n    const key = getEntryKey('assets', 'client', id)\n    if (!hasEntrypointForKey(currentEntrypoints, key, assetMapper)) {\n      // maybe throw an error / force the client to reload?\n      return\n    }\n\n    const state = clientStates.get(client)\n    if (!state || state.subscriptions.has(id)) {\n      return\n    }\n\n    const subscription = project!.hmrEvents(id)\n    state.subscriptions.set(id, subscription)\n\n    // The subscription will always emit once, which is the initial\n    // computation. This is not a change, so swallow it.\n    try {\n      await subscription.next()\n\n      for await (const data of subscription) {\n        processIssues(state.clientIssues, key, data, false, true)\n        if (data.type !== 'issues') {\n          sendTurbopackMessage(data)\n        }\n      }\n    } catch (e) {\n      // The client might be using an HMR session from a previous server, tell them\n      // to fully reload the page to resolve the issue. We can't use\n      // `hotReloader.send` since that would force every connected client to\n      // reload, only this client is out of date.\n      const reloadMessage: ReloadPageMessage = {\n        type: HMR_MESSAGE_SENT_TO_BROWSER.RELOAD_PAGE,\n        data: `error in HMR event subscription for ${id}: ${e}`,\n      }\n      sendToClient(client, reloadMessage)\n      client.close()\n      return\n    }\n  }\n\n  function unsubscribeFromHmrEvents(client: ws, id: string) {\n    const state = clientStates.get(client)\n    if (!state) {\n      return\n    }\n\n    const subscription = state.subscriptions.get(id)\n    subscription?.return!()\n\n    const key = getEntryKey('assets', 'client', id)\n    state.clientIssues.delete(key)\n  }\n\n  async function handleEntrypointsSubscription() {\n    for await (const entrypoints of entrypointsSubscription) {\n      if (!currentEntriesHandlingResolve) {\n        currentEntriesHandling = new Promise(\n          // eslint-disable-next-line no-loop-func\n          (resolve) => (currentEntriesHandlingResolve = resolve)\n        )\n      }\n\n      // Always process issues/diagnostics, even if there are no entrypoints yet\n      processTopLevelIssues(currentTopLevelIssues, entrypoints)\n\n      // Certain crtical issues prevent any entrypoints from being constructed so return early\n      if (!('routes' in entrypoints)) {\n        printBuildErrors(entrypoints, true)\n\n        currentEntriesHandlingResolve!()\n        currentEntriesHandlingResolve = undefined\n        continue\n      }\n\n      const routes = entrypoints.routes\n      const existingRoutes = [\n        ...currentEntrypoints.app.keys(),\n        ...currentEntrypoints.page.keys(),\n      ]\n      const newRoutes = [...routes.keys()]\n\n      const addedRoutes = newRoutes.filter(\n        (route) =>\n          !currentEntrypoints.app.has(route) &&\n          !currentEntrypoints.page.has(route)\n      )\n      const removedRoutes = existingRoutes.filter((route) => !routes.has(route))\n\n      await handleEntrypoints({\n        entrypoints: entrypoints as any,\n\n        currentEntrypoints,\n\n        currentEntryIssues,\n        manifestLoader,\n        devRewrites: opts.fsChecker.rewrites,\n        productionRewrites: undefined,\n        logErrors: true,\n\n        dev: {\n          assetMapper,\n          changeSubscriptions,\n          clients: [\n            ...clientsWithoutHtmlRequestId,\n            ...clientsByHtmlRequestId.values(),\n          ],\n          clientStates,\n          serverFields,\n\n          hooks: {\n            handleWrittenEndpoint: (id, result, forceDeleteCache) => {\n              currentWrittenEntrypoints.set(id, result)\n              return clearRequireCache(id, result, { force: forceDeleteCache })\n            },\n            propagateServerField: propagateServerField.bind(null, opts),\n            sendHmr,\n            startBuilding,\n            subscribeToChanges,\n            unsubscribeFromChanges,\n            unsubscribeFromHmrEvents,\n          },\n        },\n      })\n\n      // Reload matchers when the files have been compiled\n      await propagateServerField(opts, 'reloadMatchers', undefined)\n\n      if (addedRoutes.length > 0 || removedRoutes.length > 0) {\n        // When the list of routes changes a new manifest should be fetched for Pages Router.\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\n      for (const route of addedRoutes) {\n        hotReloader.send({\n          type: HMR_MESSAGE_SENT_TO_BROWSER.ADDED_PAGE,\n          data: [route],\n        })\n      }\n\n      for (const route of removedRoutes) {\n        hotReloader.send({\n          type: HMR_MESSAGE_SENT_TO_BROWSER.REMOVED_PAGE,\n          data: [route],\n        })\n      }\n\n      currentEntriesHandlingResolve!()\n      currentEntriesHandlingResolve = undefined\n    }\n  }\n\n  await mkdir(join(distDir, 'server'), { recursive: true })\n  await mkdir(join(distDir, 'static', buildId), { recursive: true })\n  await writeFile(\n    join(distDir, 'package.json'),\n    JSON.stringify(\n      {\n        type: 'commonjs',\n      },\n      null,\n      2\n    )\n  )\n\n  const middlewares = [\n    getOverlayMiddleware({\n      project,\n      projectPath,\n      isSrcDir: opts.isSrcDir,\n    }),\n    getSourceMapMiddleware(project),\n    getNextErrorFeedbackMiddleware(opts.telemetry),\n    getDevOverlayFontMiddleware(),\n    getDisableDevIndicatorMiddleware(),\n    getRestartDevServerMiddleware({\n      telemetry: opts.telemetry,\n      turbopackProject: project,\n    }),\n    devToolsConfigMiddleware({\n      distDir,\n      sendUpdateSignal: (data) => {\n        hotReloader.send({\n          type: HMR_MESSAGE_SENT_TO_BROWSER.DEVTOOLS_CONFIG,\n          data,\n        })\n      },\n    }),\n    getAttachNodejsDebuggerMiddleware(),\n    ...(nextConfig.experimental.mcpServer\n      ? [\n          getMcpMiddleware({\n            projectPath,\n            distDir,\n            nextConfig,\n            pagesDir: opts.pagesDir,\n            appDir: opts.appDir,\n            sendHmrMessage: (message) => hotReloader.send(message),\n            getActiveConnectionCount: () =>\n              clientsWithoutHtmlRequestId.size + clientsByHtmlRequestId.size,\n            getDevServerUrl: () => process.env.__NEXT_PRIVATE_ORIGIN,\n          }),\n        ]\n      : []),\n  ]\n\n  setStackFrameResolver(async (request) => {\n    return getOriginalStackFrames({\n      project,\n      projectPath,\n      isServer: request.isServer,\n      isEdgeServer: request.isEdgeServer,\n      isAppDirectory: request.isAppDirectory,\n      frames: request.frames,\n    })\n  })\n\n  let versionInfoCached: ReturnType<typeof getVersionInfo> | undefined\n  // This fetch, even though not awaited, is not kicked off eagerly because the first `fetch()` in\n  // Node.js adds roughly 20ms main-thread blocking to load the SSL certificate cache\n  // We don't want that blocking time to be in the hot path for the `ready in` logging.\n  // Instead, the fetch is kicked off lazily when the first `getVersionInfoCached()` is called.\n  const getVersionInfoCached = (): ReturnType<typeof getVersionInfo> => {\n    if (!versionInfoCached) {\n      versionInfoCached = getVersionInfo()\n    }\n    return versionInfoCached\n  }\n\n  let devtoolsFrontendUrl: string | undefined\n  const inspectorURLRaw = inspector.url()\n  if (inspectorURLRaw !== undefined) {\n    const inspectorURL = new URL(inspectorURLRaw)\n\n    let debugInfo\n    try {\n      const debugInfoList = await fetch(\n        `http://${inspectorURL.host}/json/list`\n      ).then((res) => res.json())\n      debugInfo = debugInfoList[0]\n    } catch {}\n    if (debugInfo) {\n      devtoolsFrontendUrl = debugInfo.devtoolsFrontendUrl\n    }\n  }\n\n  const hotReloader: NextJsHotReloaderInterface = {\n    turbopackProject: project,\n    activeWebpackConfigs: undefined,\n    serverStats: null,\n    edgeServerStats: null,\n    async run(req, res, _parsedUrl) {\n      // intercept page chunks request and ensure them with turbopack\n      if (req.url?.startsWith('/_next/static/chunks/pages/')) {\n        const params = matchNextPageBundleRequest(req.url)\n\n        if (params) {\n          const decodedPagePath = `/${params.path\n            .map((param: string) => decodeURIComponent(param))\n            .join('/')}`\n\n          const denormalizedPagePath = denormalizePagePath(decodedPagePath)\n\n          await hotReloader\n            .ensurePage({\n              page: denormalizedPagePath,\n              clientOnly: false,\n              definition: undefined,\n              url: req.url,\n            })\n            .catch(console.error)\n        }\n      }\n\n      for (const middleware of middlewares) {\n        let calledNext = false\n\n        await middleware(req, res, () => {\n          calledNext = true\n        })\n\n        if (!calledNext) {\n          return { finished: true }\n        }\n      }\n\n      // Request was not finished.\n      return { finished: undefined }\n    },\n\n    // TODO: Figure out if socket type can match the NextJsHotReloaderInterface\n    onHMR(req, socket: Socket, head, onUpgrade) {\n      wsServer.handleUpgrade(req, socket, head, (client) => {\n        const clientIssues: EntryIssuesMap = new Map()\n        const subscriptions: Map<string, AsyncIterator<any>> = new Map()\n\n        const htmlRequestId = req.url\n          ? new URL(req.url, 'http://n').searchParams.get('id')\n          : null\n\n        // Clients with a request ID are inferred App Router clients. If Cache\n        // Components is not enabled, we consider those legacy clients. Pages\n        // Router clients are also considered legacy clients. TODO: Maybe mark\n        // clients as App Router / Pages Router clients explicitly, instead of\n        // inferring it from the presence of a request ID.\n        if (htmlRequestId) {\n          clientsByHtmlRequestId.set(htmlRequestId, client)\n          const enableCacheComponents = nextConfig.cacheComponents\n          if (enableCacheComponents) {\n            onUpgrade(client, { isLegacyClient: false })\n            const cacheStatus = cacheStatusesByHtmlRequestId.get(htmlRequestId)\n            if (cacheStatus !== undefined) {\n              sendToClient(client, {\n                type: HMR_MESSAGE_SENT_TO_BROWSER.CACHE_INDICATOR,\n                state: cacheStatus,\n              })\n              cacheStatusesByHtmlRequestId.delete(htmlRequestId)\n            }\n          } else {\n            onUpgrade(client, { isLegacyClient: true })\n          }\n\n          connectReactDebugChannelForHtmlRequest(\n            htmlRequestId,\n            sendToClient.bind(null, client)\n          )\n\n          sendSerializedErrorsToClientForHtmlRequest(\n            htmlRequestId,\n            sendToClient.bind(null, client)\n          )\n        } else {\n          clientsWithoutHtmlRequestId.add(client)\n          onUpgrade(client, { isLegacyClient: true })\n        }\n\n        clientStates.set(client, {\n          clientIssues,\n          messages: new Map(),\n          turbopackUpdates: [],\n          subscriptions,\n        })\n\n        client.on('close', () => {\n          // Remove active subscriptions\n          for (const subscription of subscriptions.values()) {\n            subscription.return?.()\n          }\n          clientStates.delete(client)\n\n          if (htmlRequestId) {\n            clientsByHtmlRequestId.delete(htmlRequestId)\n            deleteReactDebugChannelForHtmlRequest(htmlRequestId)\n          } else {\n            clientsWithoutHtmlRequestId.delete(client)\n          }\n        })\n\n        client.addEventListener('message', async ({ data }) => {\n          const parsedData = JSON.parse(\n            typeof data !== 'string' ? data.toString() : data\n          )\n\n          // Next.js messages\n          switch (parsedData.event) {\n            case 'span-end': {\n              hotReloaderSpan.manualTraceChild(\n                parsedData.spanName,\n                msToNs(parsedData.startTime),\n                msToNs(parsedData.endTime),\n                parsedData.attributes\n              )\n              break\n            }\n            case 'client-hmr-latency': // { id, startTime, endTime, page, updatedModules, isPageHidden }\n              hotReloaderSpan.manualTraceChild(\n                parsedData.event,\n                msToNs(parsedData.startTime),\n                msToNs(parsedData.endTime),\n                {\n                  updatedModules: parsedData.updatedModules,\n                  page: parsedData.page,\n                  isPageHidden: parsedData.isPageHidden,\n                }\n              )\n              break\n\n            case 'client-error': // { errorCount, clientId }\n            case 'client-warning': // { warningCount, clientId }\n            case 'client-success': // { clientId }\n            case 'server-component-reload-page': // { clientId }\n            case 'client-reload-page': // { clientId }\n            case 'client-removed-page': // { page }\n            case 'client-full-reload': // { stackTrace, hadRuntimeError }\n              const { hadRuntimeError, dependencyChain } = parsedData\n              if (hadRuntimeError) {\n                Log.warn(FAST_REFRESH_RUNTIME_RELOAD)\n              }\n              if (\n                Array.isArray(dependencyChain) &&\n                typeof dependencyChain[0] === 'string'\n              ) {\n                const cleanedModulePath = dependencyChain[0]\n                  .replace(/^\\[project\\]/, '.')\n                  .replace(/ \\[.*\\] \\(.*\\)$/, '')\n                Log.warn(\n                  `Fast Refresh had to perform a full reload when ${cleanedModulePath} changed. Read more: https://nextjs.org/docs/messages/fast-refresh-reload`\n                )\n              }\n              break\n            case 'client-added-page':\n              // TODO\n              break\n            case 'browser-logs': {\n              if (nextConfig.experimental.browserDebugInfoInTerminal) {\n                await receiveBrowserLogsTurbopack({\n                  entries: parsedData.entries,\n                  router: parsedData.router,\n                  sourceType: parsedData.sourceType,\n                  project,\n                  projectPath,\n                  distDir,\n                  config: nextConfig.experimental.browserDebugInfoInTerminal,\n                })\n              }\n              break\n            }\n            case 'client-file-logs': {\n              // Always log to file regardless of terminal flag\n              await handleClientFileLogs(parsedData.logs)\n              break\n            }\n            case 'ping': {\n              // Handle ping events to keep WebSocket connections alive\n              // No-op - just acknowledge the ping\n              break\n            }\n\n            case 'mcp-error-state-response': {\n              handleErrorStateResponse(\n                parsedData.requestId,\n                parsedData.errorState,\n                parsedData.url\n              )\n              break\n            }\n\n            case 'mcp-page-metadata-response': {\n              handlePageMetadataResponse(\n                parsedData.requestId,\n                parsedData.segmentTrieData,\n                parsedData.url\n              )\n              break\n            }\n\n            default:\n              // Might be a Turbopack message...\n              if (!parsedData.type) {\n                throw new Error(`unrecognized HMR message \"${data}\"`)\n              }\n          }\n\n          // Turbopack messages\n          switch (parsedData.type) {\n            case 'turbopack-subscribe':\n              subscribeToHmrEvents(client, parsedData.path)\n              break\n\n            case 'turbopack-unsubscribe':\n              unsubscribeFromHmrEvents(client, parsedData.path)\n              break\n\n            default:\n              if (!parsedData.event) {\n                throw new Error(`unrecognized Turbopack HMR message \"${data}\"`)\n              }\n          }\n        })\n\n        const turbopackConnectedMessage: TurbopackConnectedMessage = {\n          type: HMR_MESSAGE_SENT_TO_BROWSER.TURBOPACK_CONNECTED,\n          data: { sessionId },\n        }\n        sendToClient(client, turbopackConnectedMessage)\n\n        const errors: CompilationError[] = []\n\n        for (const entryIssues of currentEntryIssues.values()) {\n          for (const issue of entryIssues.values()) {\n            if (issue.severity !== 'warning') {\n              errors.push({\n                message: formatIssue(issue),\n              })\n            } else {\n              printNonFatalIssue(issue)\n            }\n          }\n        }\n\n        if (devIndicatorServerState.disabledUntil < Date.now()) {\n          devIndicatorServerState.disabledUntil = 0\n        }\n\n        ;(async function () {\n          const versionInfo = await getVersionInfoCached()\n          const devToolsConfig = await getDevToolsConfig(distDir)\n\n          const syncMessage: SyncMessage = {\n            type: HMR_MESSAGE_SENT_TO_BROWSER.SYNC,\n            errors,\n            warnings: [],\n            hash: '',\n            versionInfo,\n            debug: {\n              devtoolsFrontendUrl,\n            },\n            devIndicator: devIndicatorServerState,\n            devToolsConfig,\n          }\n\n          sendToClient(client, syncMessage)\n        })()\n      })\n    },\n\n    send(action) {\n      const payload = JSON.stringify(action)\n\n      for (const client of [\n        ...clientsWithoutHtmlRequestId,\n        ...clientsByHtmlRequestId.values(),\n      ]) {\n        client.send(payload)\n      }\n    },\n\n    sendToLegacyClients(action) {\n      const payload = JSON.stringify(action)\n\n      // Clients with a request ID are inferred App Router clients. If Cache\n      // Components is not enabled, we consider those legacy clients. Pages\n      // Router clients are also considered legacy clients. TODO: Maybe mark\n      // clients as App Router / Pages Router clients explicitly, instead of\n      // inferring it from the presence of a request ID.\n\n      if (!nextConfig.cacheComponents) {\n        for (const client of clientsByHtmlRequestId.values()) {\n          client.send(payload)\n        }\n      }\n\n      for (const client of clientsWithoutHtmlRequestId) {\n        client.send(payload)\n      }\n    },\n\n    setCacheStatus(status: ServerCacheStatus, htmlRequestId: string): void {\n      // Legacy clients don't have Cache Components.\n      const client = clientsByHtmlRequestId.get(htmlRequestId)\n      if (client !== undefined) {\n        sendToClient(client, {\n          type: HMR_MESSAGE_SENT_TO_BROWSER.CACHE_INDICATOR,\n          state: status,\n        })\n      } else {\n        // If the client is not connected, store the status so that we can send it\n        // when the client connects.\n        cacheStatusesByHtmlRequestId.set(htmlRequestId, status)\n      }\n    },\n\n    setReactDebugChannel(debugChannel, htmlRequestId, requestId) {\n      const client = clientsByHtmlRequestId.get(htmlRequestId)\n\n      if (htmlRequestId === requestId) {\n        // The debug channel is for the HTML request.\n        if (client) {\n          // If the client is connected, we can connect the debug channel for\n          // the HTML request immediately.\n          connectReactDebugChannel(\n            htmlRequestId,\n            debugChannel,\n            sendToClient.bind(null, client)\n          )\n        } else {\n          // Otherwise, we'll do that when the client connects and just store\n          // the debug channel.\n          setReactDebugChannelForHtmlRequest(htmlRequestId, debugChannel)\n        }\n      } else if (client) {\n        // The debug channel is for a subsequent request (e.g. client-side\n        // navigation for server function call). If the client is not connected\n        // anymore, we don't need to connect the debug channel.\n        connectReactDebugChannel(\n          requestId,\n          debugChannel,\n          sendToClient.bind(null, client)\n        )\n      }\n    },\n\n    sendErrorsToBrowser(errorsRscStream, htmlRequestId) {\n      const client = clientsByHtmlRequestId.get(htmlRequestId)\n\n      if (client) {\n        // If the client is connected, we can send the errors immediately.\n        sendSerializedErrorsToClient(\n          errorsRscStream,\n          sendToClient.bind(null, client)\n        )\n      } else {\n        // Otherwise, store the errors stream so that we can send it when the\n        // client connects.\n        setErrorsRscStreamForHtmlRequest(htmlRequestId, errorsRscStream)\n      }\n    },\n\n    setHmrServerError(_error) {\n      // Not implemented yet.\n    },\n    clearHmrServerError() {\n      // Not implemented yet.\n    },\n    async start() {},\n    async getCompilationErrors(page) {\n      const appEntryKey = getEntryKey('app', 'server', page)\n      const pagesEntryKey = getEntryKey('pages', 'server', page)\n\n      const topLevelIssues = currentTopLevelIssues.values()\n\n      const thisEntryIssues =\n        currentEntryIssues.get(appEntryKey) ??\n        currentEntryIssues.get(pagesEntryKey)\n\n      if (thisEntryIssues !== undefined && thisEntryIssues.size > 0) {\n        // If there is an error related to the requesting page we display it instead of the first error\n        return [...topLevelIssues, ...thisEntryIssues.values()]\n          .map((issue) => {\n            const formattedIssue = formatIssue(issue)\n            if (issue.severity === 'warning') {\n              printNonFatalIssue(issue)\n              return null\n            } else if (isWellKnownError(issue)) {\n              Log.error(formattedIssue)\n            }\n\n            return new Error(formattedIssue)\n          })\n          .filter((error) => error !== null)\n      }\n\n      // Otherwise, return all errors across pages\n      const errors = []\n      for (const issue of topLevelIssues) {\n        if (issue.severity !== 'warning') {\n          errors.push(new Error(formatIssue(issue)))\n        }\n      }\n      for (const entryIssues of currentEntryIssues.values()) {\n        for (const issue of entryIssues.values()) {\n          if (issue.severity !== 'warning') {\n            const message = formatIssue(issue)\n            errors.push(new Error(message))\n          } else {\n            printNonFatalIssue(issue)\n          }\n        }\n      }\n      return errors\n    },\n    async invalidate({\n      // .env files or tsconfig/jsconfig change\n      reloadAfterInvalidation,\n    }) {\n      if (reloadAfterInvalidation) {\n        for (const [key, entrypoint] of currentWrittenEntrypoints) {\n          clearRequireCache(key, entrypoint, { force: true })\n        }\n\n        await clearAllModuleContexts()\n        this.send({\n          type: HMR_MESSAGE_SENT_TO_BROWSER.SERVER_COMPONENT_CHANGES,\n          hash: String(++hmrHash),\n        })\n      }\n    },\n    async buildFallbackError() {\n      // Not implemented yet.\n    },\n    async ensurePage({\n      page: inputPage,\n      // Unused parameters\n      // clientOnly,\n      appPaths,\n      definition,\n      isApp,\n      url: requestUrl,\n    }) {\n      // When there is no route definition this is an internal file not a route the user added.\n      // Middleware and instrumentation are handled in turbpack-utils.ts handleEntrypoints instead.\n      if (!definition) {\n        if (inputPage === '/middleware') return\n        if (inputPage === '/src/middleware') return\n        if (inputPage === '/instrumentation') return\n        if (inputPage === '/src/instrumentation') return\n      }\n\n      return hotReloaderSpan\n        .traceChild('ensure-page', {\n          inputPage,\n        })\n        .traceAsyncFn(async () => {\n          if (BLOCKED_PAGES.includes(inputPage) && inputPage !== '/_error') {\n            return\n          }\n\n          await currentEntriesHandling\n\n          // TODO We shouldn't look into the filesystem again. This should use the information from entrypoints\n          let routeDef: Pick<\n            RouteDefinition,\n            'filename' | 'bundlePath' | 'page'\n          > =\n            definition ??\n            (await findPagePathData(\n              projectPath,\n              inputPage,\n              nextConfig.pageExtensions,\n              opts.pagesDir,\n              opts.appDir,\n              !!nextConfig.experimental.globalNotFound\n            ))\n\n          // If the route is actually an app page route, then we should have access\n          // to the app route definition, and therefore, the appPaths from it.\n          if (!appPaths && definition && isAppPageRouteDefinition(definition)) {\n            appPaths = definition.appPaths\n          }\n\n          let page = routeDef.page\n          if (appPaths) {\n            const normalizedPage = normalizeAppPath(page)\n\n            // filter out paths that are not exact matches (e.g. catchall)\n            const matchingAppPaths = appPaths.filter(\n              (path) => normalizeAppPath(path) === normalizedPage\n            )\n\n            // the last item in the array is the root page, if there are parallel routes\n            page = matchingAppPaths[matchingAppPaths.length - 1]\n          }\n\n          const pathname = definition?.pathname ?? inputPage\n\n          if (page === '/_error') {\n            let finishBuilding = startBuilding(pathname, requestUrl, false)\n            try {\n              await handlePagesErrorRoute({\n                currentEntryIssues,\n                entrypoints: currentEntrypoints,\n                manifestLoader,\n                devRewrites: opts.fsChecker.rewrites,\n                productionRewrites: undefined,\n                logErrors: true,\n                hooks: {\n                  subscribeToChanges,\n                  handleWrittenEndpoint: (id, result, forceDeleteCache) => {\n                    currentWrittenEntrypoints.set(id, result)\n                    assetMapper.setPathsForKey(id, result.clientPaths)\n                    return clearRequireCache(id, result, {\n                      force: forceDeleteCache,\n                    })\n                  },\n                },\n              })\n            } finally {\n              finishBuilding()\n            }\n            return\n          }\n\n          const isInsideAppDir = routeDef.bundlePath.startsWith('app/')\n          const isEntryMetadataRouteFile = isMetadataRouteFile(\n            routeDef.filename.replace(opts.appDir || '', ''),\n            nextConfig.pageExtensions,\n            true\n          )\n          const normalizedAppPage = isEntryMetadataRouteFile\n            ? normalizedPageToTurbopackStructureRoute(\n                page,\n                extname(routeDef.filename)\n              )\n            : page\n\n          const route = isInsideAppDir\n            ? currentEntrypoints.app.get(normalizedAppPage)\n            : currentEntrypoints.page.get(page)\n\n          if (!route) {\n            // TODO: why is this entry missing in turbopack?\n            if (page === '/middleware') return\n            if (page === '/src/middleware') return\n            if (page === '/proxy') return\n            if (page === '/src/proxy') return\n            if (page === '/instrumentation') return\n            if (page === '/src/instrumentation') return\n\n            throw new PageNotFoundError(`route not found ${page}`)\n          }\n\n          // We don't throw on ensureOpts.isApp === true for page-api\n          // since this can happen when app pages make\n          // api requests to page API routes.\n          if (isApp && route.type === 'page') {\n            throw new Error(`mis-matched route type: isApp && page for ${page}`)\n          }\n\n          const finishBuilding = startBuilding(pathname, requestUrl, false)\n          try {\n            await handleRouteType({\n              dev,\n              page,\n              pathname,\n              route,\n              currentEntryIssues,\n              entrypoints: currentEntrypoints,\n              manifestLoader,\n              readyIds,\n              devRewrites: opts.fsChecker.rewrites,\n              productionRewrites: undefined,\n              logErrors: true,\n\n              hooks: {\n                subscribeToChanges,\n                handleWrittenEndpoint: (id, result, forceDeleteCache) => {\n                  currentWrittenEntrypoints.set(id, result)\n                  assetMapper.setPathsForKey(id, result.clientPaths)\n                  return clearRequireCache(id, result, {\n                    force: forceDeleteCache,\n                  })\n                },\n              },\n            })\n          } finally {\n            finishBuilding()\n          }\n        })\n    },\n    close() {\n      // Report MCP telemetry if MCP server is enabled\n      recordMcpTelemetry(opts.telemetry)\n\n      for (const wsClient of [\n        ...clientsWithoutHtmlRequestId,\n        ...clientsByHtmlRequestId.values(),\n      ]) {\n        // it's okay to not cleanly close these websocket connections, this is dev\n        wsClient.terminate()\n      }\n      clientsWithoutHtmlRequestId.clear()\n      clientsByHtmlRequestId.clear()\n    },\n  }\n\n  handleEntrypointsSubscription().catch((err) => {\n    console.error(err)\n    process.exit(1)\n  })\n\n  // Write empty manifests\n  await currentEntriesHandling\n  await manifestLoader.writeManifests({\n    devRewrites: opts.fsChecker.rewrites,\n    productionRewrites: undefined,\n    entrypoints: currentEntrypoints,\n  })\n\n  async function handleProjectUpdates() {\n    for await (const updateMessage of project.updateInfoSubscribe(30)) {\n      switch (updateMessage.updateType) {\n        case 'start': {\n          hotReloader.send({ type: HMR_MESSAGE_SENT_TO_BROWSER.BUILDING })\n          break\n        }\n        case 'end': {\n          sendEnqueuedMessages()\n\n          function addToErrorsMap(\n            errorsMap: Map<string, CompilationError>,\n            issueMap: IssuesMap\n          ) {\n            for (const [key, issue] of issueMap) {\n              if (issue.severity === 'warning') continue\n              if (errorsMap.has(key)) continue\n\n              const message = formatIssue(issue)\n\n              errorsMap.set(key, {\n                message,\n                details: issue.detail\n                  ? renderStyledStringToErrorAnsi(issue.detail)\n                  : undefined,\n              })\n            }\n          }\n\n          function addErrors(\n            errorsMap: Map<string, CompilationError>,\n            issues: EntryIssuesMap\n          ) {\n            for (const issueMap of issues.values()) {\n              addToErrorsMap(errorsMap, issueMap)\n            }\n          }\n\n          const errors = new Map<string, CompilationError>()\n          addToErrorsMap(errors, currentTopLevelIssues)\n          addErrors(errors, currentEntryIssues)\n\n          for (const client of [\n            ...clientsWithoutHtmlRequestId,\n            ...clientsByHtmlRequestId.values(),\n          ]) {\n            const state = clientStates.get(client)\n            if (!state) {\n              continue\n            }\n\n            const clientErrors = new Map(errors)\n            addErrors(clientErrors, state.clientIssues)\n\n            sendToClient(client, {\n              type: HMR_MESSAGE_SENT_TO_BROWSER.BUILT,\n              hash: String(++hmrHash),\n              errors: [...clientErrors.values()],\n              warnings: [],\n            })\n          }\n\n          if (hmrEventHappened) {\n            const time = updateMessage.value.duration\n            const timeMessage =\n              time > 2000 ? `${Math.round(time / 100) / 10}s` : `${time}ms`\n            Log.event(`Compiled in ${timeMessage}`)\n            hmrEventHappened = false\n          }\n          break\n        }\n        default:\n      }\n    }\n  }\n\n  handleProjectUpdates().catch((err) => {\n    console.error(err)\n    process.exit(1)\n  })\n\n  return hotReloader\n}\n"],"names":["mkdir","writeFile","inspector","join","extname","relative","pathToFileURL","ws","store","consoleStore","HMR_MESSAGE_SENT_TO_BROWSER","createDefineEnv","getBindingsSync","Log","BLOCKED_PAGES","getOverlayMiddleware","getSourceMapMiddleware","getOriginalStackFrames","PageNotFoundError","debounce","deleteCache","clearAllModuleContexts","clearModuleContext","denormalizePagePath","trace","AssetMapper","handleEntrypoints","handlePagesErrorRoute","handleRouteType","hasEntrypointForKey","msToNs","processTopLevelIssues","printNonFatalIssue","normalizedPageToTurbopackStructureRoute","propagateServerField","TurbopackManifestLoader","findPagePathData","getEntryKey","splitEntryKey","createBinaryHmrMessageData","FAST_REFRESH_RUNTIME_RELOAD","generateEncryptionKeyBase64","isAppPageRouteDefinition","normalizeAppPath","isMetadataRouteFile","setBundlerFindSourceMapImplementation","getNextErrorFeedbackMiddleware","formatIssue","isFileSystemCacheEnabledForDev","isWellKnownError","processIssues","renderStyledStringToErrorAnsi","getDevOverlayFontMiddleware","devIndicatorServerState","getDisableDevIndicatorMiddleware","getRestartDevServerMiddleware","backgroundLogCompilationEvents","getSupportedBrowsers","printBuildErrors","receiveBrowserLogsTurbopack","handleClientFileLogs","normalizePath","devToolsConfigMiddleware","getDevToolsConfig","getAttachNodejsDebuggerMiddleware","connectReactDebugChannel","connectReactDebugChannelForHtmlRequest","deleteReactDebugChannelForHtmlRequest","setReactDebugChannelForHtmlRequest","getVersionInfo","matchNextPageBundleRequest","getMcpMiddleware","handleErrorStateResponse","handlePageMetadataResponse","setStackFrameResolver","recordMcpTelemetry","getFileLogger","sendSerializedErrorsToClient","sendSerializedErrorsToClientForHtmlRequest","setErrorsRscStreamForHtmlRequest","wsServer","Server","noServer","isTestMode","process","env","NEXT_TEST_MODE","__NEXT_TEST_MODE","DEBUG","sessionId","Math","floor","Number","MAX_SAFE_INTEGER","random","rewriteTurbopackSources","projectRoot","sourceMap","section","sections","map","i","sources","length","replace","toString","getSourceMapFromTurbopack","project","sourceURL","sourceMapJson","getSourceMapSync","err","undefined","payload","JSON","parse","createHotReloaderTurbopack","opts","serverFields","distDir","resetFetch","lockfile","nextConfig","dev","buildId","dir","projectPath","bindings","require","log","testMode","hasRewrites","fsChecker","rewrites","afterFiles","beforeFiles","fallback","hotReloaderSpan","version","__NEXT_VERSION","stop","mcpServerEnabled","experimental","mcpServer","fileLogger","initialize","encryptionKey","isBuild","clientRouterFilters","clientRouterFilter","supportedBrowsers","currentNodeJsVersion","versions","node","rootPath","turbopack","root","outputFileTracingRoot","turbo","createProject","watch","enable","pollIntervalMs","watchOptions","defineEnv","isTurbopack","config","fetchCacheKeyPrefix","middlewareMatchers","previewProps","prerenderManifest","preview","browserslistQuery","noMangling","writeRoutesHashesManifest","persistentCaching","memoryLimit","turbopackMemoryLimit","isShortSession","eventTypes","bind","onDevServerCleanup","onExit","unlock","entrypointsSubscription","entrypointsSubscribe","currentWrittenEntrypoints","Map","currentEntrypoints","global","app","document","error","middleware","instrumentation","page","currentTopLevelIssues","currentEntryIssues","manifestLoader","changeSubscriptions","serverPathState","readyIds","Set","currentEntriesHandlingResolve","currentEntriesHandling","Promise","resolve","assetMapper","clearRequireCache","key","writtenEndpoint","force","path","contentHash","serverPaths","endsWith","localKey","set","hasChange","localHash","get","globalHash","__next__clear_chunk_cache__","p","file","buildingIds","startBuilding","id","requestUrl","forceRebuild","has","size","setState","loading","trigger","url","add","finishBuilding","delete","hmrEventHappened","hmrHash","clientsWithoutHtmlRequestId","clientsByHtmlRequestId","cacheStatusesByHtmlRequestId","clientStates","WeakMap","sendToClient","client","message","data","type","stringify","send","sendEnqueuedMessages","issueMap","values","filter","severity","state","clientIssues","messages","clear","turbopackUpdates","TURBOPACK_MESSAGE","sendEnqueuedMessagesDebounce","sendHmr","sendTurbopackMessage","diagnostics","issues","push","subscribeToChanges","includeIssues","endpoint","createMessage","onError","side","changedPromise","changed","change","String","e","unsubscribeFromChanges","subscription","return","subscribeToHmrEvents","subscriptions","hmrEvents","next","reloadMessage","RELOAD_PAGE","close","unsubscribeFromHmrEvents","handleEntrypointsSubscription","entrypoints","routes","existingRoutes","keys","newRoutes","addedRoutes","route","removedRoutes","devRewrites","productionRewrites","logErrors","clients","hooks","handleWrittenEndpoint","result","forceDeleteCache","hotReloader","DEV_PAGES_MANIFEST_UPDATE","devPagesManifest","ADDED_PAGE","REMOVED_PAGE","recursive","middlewares","isSrcDir","telemetry","turbopackProject","sendUpdateSignal","DEVTOOLS_CONFIG","pagesDir","appDir","sendHmrMessage","getActiveConnectionCount","getDevServerUrl","__NEXT_PRIVATE_ORIGIN","request","isServer","isEdgeServer","isAppDirectory","frames","versionInfoCached","getVersionInfoCached","devtoolsFrontendUrl","inspectorURLRaw","inspectorURL","URL","debugInfo","debugInfoList","fetch","host","then","res","json","activeWebpackConfigs","serverStats","edgeServerStats","run","req","_parsedUrl","startsWith","params","decodedPagePath","param","decodeURIComponent","denormalizedPagePath","ensurePage","clientOnly","definition","catch","console","calledNext","finished","onHMR","socket","head","onUpgrade","handleUpgrade","htmlRequestId","searchParams","enableCacheComponents","cacheComponents","isLegacyClient","cacheStatus","CACHE_INDICATOR","on","addEventListener","parsedData","event","manualTraceChild","spanName","startTime","endTime","attributes","updatedModules","isPageHidden","hadRuntimeError","dependencyChain","warn","Array","isArray","cleanedModulePath","browserDebugInfoInTerminal","entries","router","sourceType","logs","requestId","errorState","segmentTrieData","Error","turbopackConnectedMessage","TURBOPACK_CONNECTED","errors","entryIssues","issue","disabledUntil","Date","now","versionInfo","devToolsConfig","syncMessage","SYNC","warnings","hash","debug","devIndicator","action","sendToLegacyClients","setCacheStatus","status","setReactDebugChannel","debugChannel","sendErrorsToBrowser","errorsRscStream","setHmrServerError","_error","clearHmrServerError","start","getCompilationErrors","appEntryKey","pagesEntryKey","topLevelIssues","thisEntryIssues","formattedIssue","invalidate","reloadAfterInvalidation","entrypoint","SERVER_COMPONENT_CHANGES","buildFallbackError","inputPage","appPaths","isApp","traceChild","traceAsyncFn","includes","routeDef","pageExtensions","globalNotFound","normalizedPage","matchingAppPaths","pathname","setPathsForKey","clientPaths","isInsideAppDir","bundlePath","isEntryMetadataRouteFile","filename","normalizedAppPage","wsClient","terminate","exit","writeManifests","handleProjectUpdates","updateMessage","updateInfoSubscribe","updateType","BUILDING","addToErrorsMap","errorsMap","details","detail","addErrors","clientErrors","BUILT","time","value","duration","timeMessage","round"],"mappings":"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","ignoreList":[0]}

Youez - 2016 - github.com/yon3zu
LinuXploit