/opt/canhelp/node_modules/next/dist/esm/client/dev/hot-reloader/app
Edit: /opt/canhelp/node_modules/next/dist/esm/client/dev/hot-reloader/app/hot-reloader-app.js.map (29044B)
{"version":3,"sources":["../../../../../src/client/dev/hot-reloader/app/hot-reloader-app.tsx"],"sourcesContent":["///
\n\nimport type { ReactNode } from 'react'\nimport { useEffect, startTransition, useRef } from 'react'\nimport stripAnsi from 'next/dist/compiled/strip-ansi'\nimport formatWebpackMessages from '../../../../shared/lib/format-webpack-messages'\nimport { useRouter } from '../../../components/navigation'\nimport {\n REACT_REFRESH_FULL_RELOAD,\n REACT_REFRESH_FULL_RELOAD_FROM_ERROR,\n reportInvalidHmrMessage,\n} from '../shared'\nimport { dispatcher } from 'next/dist/compiled/next-devtools'\nimport { ReplaySsrOnlyErrors } from '../../../../next-devtools/userspace/app/errors/replay-ssr-only-errors'\nimport { AppDevOverlayErrorBoundary } from '../../../../next-devtools/userspace/app/app-dev-overlay-error-boundary'\nimport { useErrorHandler } from '../../../../next-devtools/userspace/app/errors/use-error-handler'\nimport { RuntimeErrorHandler } from '../../runtime-error-handler'\nimport {\n useSendMessage,\n useTurbopack,\n useWebsocket,\n useWebsocketPing,\n} from './use-websocket'\nimport { HMR_ACTIONS_SENT_TO_BROWSER } from '../../../../server/dev/hot-reloader-types'\nimport type {\n HMR_ACTION_TYPES,\n TurbopackMsgToBrowser,\n} from '../../../../server/dev/hot-reloader-types'\nimport { useUntrackedPathname } from '../../../components/navigation-untracked'\nimport reportHmrLatency from '../../report-hmr-latency'\nimport { TurbopackHmr } from '../turbopack-hot-reloader-common'\nimport { NEXT_HMR_REFRESH_HASH_COOKIE } from '../../../components/app-router-headers'\nimport type { GlobalErrorState } from '../../../components/app-router-instance'\nimport { useForwardConsoleLog } from '../../../../next-devtools/userspace/app/errors/use-forward-console-log'\n\nlet mostRecentCompilationHash: any = null\nlet __nextDevClientId = Math.round(Math.random() * 100 + Date.now())\nlet reloading = false\nlet webpackStartMsSinceEpoch: number | null = null\nconst turbopackHmr: TurbopackHmr | null = process.env.TURBOPACK\n ? new TurbopackHmr()\n : null\n\nlet pendingHotUpdateWebpack = Promise.resolve()\nlet resolvePendingHotUpdateWebpack: () => void = () => {}\nfunction setPendingHotUpdateWebpack() {\n pendingHotUpdateWebpack = new Promise((resolve) => {\n resolvePendingHotUpdateWebpack = () => {\n resolve()\n }\n })\n}\n\nexport function waitForWebpackRuntimeHotUpdate() {\n return pendingHotUpdateWebpack\n}\n\n// There is a newer version of the code available.\nfunction handleAvailableHash(hash: string) {\n // Update last known compilation hash.\n mostRecentCompilationHash = hash\n}\n\n/**\n * Is there a newer version of this code available?\n * For webpack: Check if the hash changed compared to __webpack_hash__\n * For Turbopack: Always true because it doesn't have __webpack_hash__\n */\nfunction isUpdateAvailable() {\n if (process.env.TURBOPACK) {\n return true\n }\n\n /* globals __webpack_hash__ */\n // __webpack_hash__ is the hash of the current compilation.\n // It's a global variable injected by Webpack.\n return mostRecentCompilationHash !== __webpack_hash__\n}\n\n// Webpack disallows updates in other states.\nfunction canApplyUpdates() {\n return module.hot.status() === 'idle'\n}\nfunction afterApplyUpdates(fn: any) {\n if (canApplyUpdates()) {\n fn()\n } else {\n function handler(status: any) {\n if (status === 'idle') {\n module.hot.removeStatusHandler(handler)\n fn()\n }\n }\n module.hot.addStatusHandler(handler)\n }\n}\n\nfunction performFullReload(err: any, sendMessage: any) {\n const stackTrace =\n err &&\n ((err.stack && err.stack.split('\\n').slice(0, 5).join('\\n')) ||\n err.message ||\n err + '')\n\n sendMessage(\n JSON.stringify({\n event: 'client-full-reload',\n stackTrace,\n hadRuntimeError: !!RuntimeErrorHandler.hadRuntimeError,\n dependencyChain: err ? err.dependencyChain : undefined,\n })\n )\n\n if (reloading) return\n reloading = true\n window.location.reload()\n}\n\n// Attempt to update code on the fly, fall back to a hard reload.\nfunction tryApplyUpdatesWebpack(sendMessage: (message: string) => void) {\n if (!isUpdateAvailable() || !canApplyUpdates()) {\n resolvePendingHotUpdateWebpack()\n dispatcher.onBuildOk()\n reportHmrLatency(sendMessage, [], webpackStartMsSinceEpoch!, Date.now())\n return\n }\n\n function handleApplyUpdates(\n err: any,\n updatedModules: (string | number)[] | null\n ) {\n if (err || RuntimeErrorHandler.hadRuntimeError || updatedModules == null) {\n if (err) {\n console.warn(REACT_REFRESH_FULL_RELOAD)\n } else if (RuntimeErrorHandler.hadRuntimeError) {\n console.warn(REACT_REFRESH_FULL_RELOAD_FROM_ERROR)\n }\n performFullReload(err, sendMessage)\n return\n }\n\n dispatcher.onBuildOk()\n\n if (isUpdateAvailable()) {\n // While we were updating, there was a new update! Do it again.\n tryApplyUpdatesWebpack(sendMessage)\n return\n }\n\n dispatcher.onRefresh()\n resolvePendingHotUpdateWebpack()\n reportHmrLatency(\n sendMessage,\n updatedModules,\n webpackStartMsSinceEpoch!,\n Date.now()\n )\n\n if (process.env.__NEXT_TEST_MODE) {\n afterApplyUpdates(() => {\n if (self.__NEXT_HMR_CB) {\n self.__NEXT_HMR_CB()\n self.__NEXT_HMR_CB = null\n }\n })\n }\n }\n\n // https://webpack.js.org/api/hot-module-replacement/#check\n module.hot\n .check(/* autoApply */ false)\n .then((updatedModules: (string | number)[] | null) => {\n if (updatedModules == null) {\n return null\n }\n\n // We should always handle an update, even if updatedModules is empty (but\n // non-null) for any reason. That's what webpack would normally do:\n // https://github.com/webpack/webpack/blob/3aa6b6bc3a64/lib/hmr/HotModuleReplacement.runtime.js#L296-L298\n dispatcher.onBeforeRefresh()\n // https://webpack.js.org/api/hot-module-replacement/#apply\n return module.hot.apply()\n })\n .then(\n (updatedModules: (string | number)[] | null) => {\n handleApplyUpdates(null, updatedModules)\n },\n (err: any) => {\n handleApplyUpdates(err, null)\n }\n )\n}\n\n/** Handles messages from the server for the App Router. */\nfunction processMessage(\n obj: HMR_ACTION_TYPES,\n sendMessage: (message: string) => void,\n processTurbopackMessage: (msg: TurbopackMsgToBrowser) => void,\n router: ReturnType
,\n appIsrManifestRef: ReturnType,\n pathnameRef: ReturnType\n) {\n if (!('action' in obj)) {\n return\n }\n\n function handleErrors(errors: ReadonlyArray) {\n // \"Massage\" webpack messages.\n const formatted = formatWebpackMessages({\n errors: errors,\n warnings: [],\n })\n\n // Only show the first error.\n dispatcher.onBuildError(formatted.errors[0])\n\n // Also log them to the console.\n for (let i = 0; i < formatted.errors.length; i++) {\n console.error(stripAnsi(formatted.errors[i]))\n }\n\n // Do not attempt to reload now.\n // We will reload on next success instead.\n if (process.env.__NEXT_TEST_MODE) {\n if (self.__NEXT_HMR_CB) {\n self.__NEXT_HMR_CB(formatted.errors[0])\n self.__NEXT_HMR_CB = null\n }\n }\n }\n\n function handleHotUpdate() {\n if (process.env.TURBOPACK) {\n const hmrUpdate = turbopackHmr!.onBuilt()\n if (hmrUpdate != null) {\n reportHmrLatency(\n sendMessage,\n [...hmrUpdate.updatedModules],\n hmrUpdate.startMsSinceEpoch,\n hmrUpdate.endMsSinceEpoch,\n // suppress the `client-hmr-latency` event if the update was a no-op:\n hmrUpdate.hasUpdates\n )\n }\n dispatcher.onBuildOk()\n } else {\n tryApplyUpdatesWebpack(sendMessage)\n }\n }\n\n switch (obj.action) {\n case HMR_ACTIONS_SENT_TO_BROWSER.ISR_MANIFEST: {\n if (process.env.__NEXT_DEV_INDICATOR) {\n if (appIsrManifestRef) {\n appIsrManifestRef.current = obj.data\n\n // handle initial status on receiving manifest\n // navigation is handled in useEffect for pathname changes\n // as we'll receive the updated manifest before usePathname\n // triggers for new value\n if ((pathnameRef.current as string) in obj.data) {\n dispatcher.onStaticIndicator(true)\n } else {\n dispatcher.onStaticIndicator(false)\n }\n }\n }\n break\n }\n case HMR_ACTIONS_SENT_TO_BROWSER.BUILDING: {\n dispatcher.buildingIndicatorShow()\n\n if (process.env.TURBOPACK) {\n turbopackHmr!.onBuilding()\n } else {\n webpackStartMsSinceEpoch = Date.now()\n setPendingHotUpdateWebpack()\n console.log('[Fast Refresh] rebuilding')\n }\n break\n }\n case HMR_ACTIONS_SENT_TO_BROWSER.BUILT:\n case HMR_ACTIONS_SENT_TO_BROWSER.SYNC: {\n dispatcher.buildingIndicatorHide()\n\n if (obj.hash) {\n handleAvailableHash(obj.hash)\n }\n\n const { errors, warnings } = obj\n\n // Is undefined when it's a 'built' event\n if ('versionInfo' in obj) dispatcher.onVersionInfo(obj.versionInfo)\n if ('debug' in obj && obj.debug) dispatcher.onDebugInfo(obj.debug)\n if ('devIndicator' in obj) dispatcher.onDevIndicator(obj.devIndicator)\n if ('devToolsConfig' in obj)\n dispatcher.onDevToolsConfig(obj.devToolsConfig)\n\n const hasErrors = Boolean(errors && errors.length)\n // Compilation with errors (e.g. syntax error or missing modules).\n if (hasErrors) {\n sendMessage(\n JSON.stringify({\n event: 'client-error',\n errorCount: errors.length,\n clientId: __nextDevClientId,\n })\n )\n\n handleErrors(errors)\n return\n }\n\n const hasWarnings = Boolean(warnings && warnings.length)\n if (hasWarnings) {\n sendMessage(\n JSON.stringify({\n event: 'client-warning',\n warningCount: warnings.length,\n clientId: __nextDevClientId,\n })\n )\n\n // Print warnings to the console.\n const formattedMessages = formatWebpackMessages({\n warnings: warnings,\n errors: [],\n })\n\n for (let i = 0; i < formattedMessages.warnings.length; i++) {\n if (i === 5) {\n console.warn(\n 'There were more warnings in other files.\\n' +\n 'You can find a complete log in the terminal.'\n )\n break\n }\n console.warn(stripAnsi(formattedMessages.warnings[i]))\n }\n\n // No early return here as we need to apply modules in the same way between warnings only and compiles without warnings\n }\n\n sendMessage(\n JSON.stringify({\n event: 'client-success',\n clientId: __nextDevClientId,\n })\n )\n\n if (obj.action === HMR_ACTIONS_SENT_TO_BROWSER.BUILT) {\n handleHotUpdate()\n }\n return\n }\n case HMR_ACTIONS_SENT_TO_BROWSER.TURBOPACK_CONNECTED: {\n processTurbopackMessage({\n type: HMR_ACTIONS_SENT_TO_BROWSER.TURBOPACK_CONNECTED,\n data: {\n sessionId: obj.data.sessionId,\n },\n })\n break\n }\n case HMR_ACTIONS_SENT_TO_BROWSER.TURBOPACK_MESSAGE: {\n turbopackHmr!.onTurbopackMessage(obj)\n dispatcher.onBeforeRefresh()\n processTurbopackMessage({\n type: HMR_ACTIONS_SENT_TO_BROWSER.TURBOPACK_MESSAGE,\n data: obj.data,\n })\n if (RuntimeErrorHandler.hadRuntimeError) {\n console.warn(REACT_REFRESH_FULL_RELOAD_FROM_ERROR)\n performFullReload(null, sendMessage)\n }\n dispatcher.onRefresh()\n break\n }\n // TODO-APP: make server component change more granular\n case HMR_ACTIONS_SENT_TO_BROWSER.SERVER_COMPONENT_CHANGES: {\n turbopackHmr?.onServerComponentChanges()\n sendMessage(\n JSON.stringify({\n event: 'server-component-reload-page',\n clientId: __nextDevClientId,\n hash: obj.hash,\n })\n )\n\n // Store the latest hash in a session cookie so that it's sent back to the\n // server with any subsequent requests.\n document.cookie = `${NEXT_HMR_REFRESH_HASH_COOKIE}=${obj.hash};path=/`\n\n if (\n RuntimeErrorHandler.hadRuntimeError ||\n document.documentElement.id === '__next_error__'\n ) {\n if (reloading) return\n reloading = true\n return window.location.reload()\n }\n\n startTransition(() => {\n router.hmrRefresh()\n dispatcher.onRefresh()\n })\n\n if (process.env.__NEXT_TEST_MODE) {\n if (self.__NEXT_HMR_CB) {\n self.__NEXT_HMR_CB()\n self.__NEXT_HMR_CB = null\n }\n }\n\n return\n }\n case HMR_ACTIONS_SENT_TO_BROWSER.RELOAD_PAGE: {\n turbopackHmr?.onReloadPage()\n sendMessage(\n JSON.stringify({\n event: 'client-reload-page',\n clientId: __nextDevClientId,\n })\n )\n if (reloading) return\n reloading = true\n return window.location.reload()\n }\n case HMR_ACTIONS_SENT_TO_BROWSER.ADDED_PAGE:\n case HMR_ACTIONS_SENT_TO_BROWSER.REMOVED_PAGE: {\n turbopackHmr?.onPageAddRemove()\n // TODO-APP: potentially only refresh if the currently viewed page was added/removed.\n return router.hmrRefresh()\n }\n case HMR_ACTIONS_SENT_TO_BROWSER.SERVER_ERROR: {\n const { errorJSON } = obj\n if (errorJSON) {\n const { message, stack } = JSON.parse(errorJSON)\n const error = new Error(message)\n error.stack = stack\n handleErrors([error])\n }\n return\n }\n case HMR_ACTIONS_SENT_TO_BROWSER.DEV_PAGES_MANIFEST_UPDATE: {\n return\n }\n case HMR_ACTIONS_SENT_TO_BROWSER.DEVTOOLS_CONFIG: {\n dispatcher.onDevToolsConfig(obj.data)\n return\n }\n default: {\n obj satisfies never\n }\n }\n}\n\nexport default function HotReload({\n assetPrefix,\n children,\n globalError,\n}: {\n assetPrefix: string\n children: ReactNode\n globalError: GlobalErrorState\n}) {\n useErrorHandler(dispatcher.onUnhandledError, dispatcher.onUnhandledRejection)\n\n const webSocketRef = useWebsocket(assetPrefix)\n\n useWebsocketPing(webSocketRef)\n const sendMessage = useSendMessage(webSocketRef)\n useForwardConsoleLog(webSocketRef)\n const processTurbopackMessage = useTurbopack(sendMessage, (err) =>\n performFullReload(err, sendMessage)\n )\n\n const router = useRouter()\n\n // We don't want access of the pathname for the dev tools to trigger a dynamic\n // access (as the dev overlay will never be present in production).\n const pathname = useUntrackedPathname()\n const appIsrManifestRef = useRef>({})\n const pathnameRef = useRef(pathname)\n\n if (process.env.__NEXT_DEV_INDICATOR) {\n // this conditional is only for dead-code elimination which\n // isn't a runtime conditional only build-time so ignore hooks rule\n // eslint-disable-next-line react-hooks/rules-of-hooks\n useEffect(() => {\n pathnameRef.current = pathname\n\n const appIsrManifest = appIsrManifestRef.current\n\n if (appIsrManifest) {\n if (pathname && pathname in appIsrManifest) {\n try {\n dispatcher.onStaticIndicator(true)\n } catch (reason) {\n let message = ''\n\n if (reason instanceof DOMException) {\n // Most likely a SecurityError, because of an unavailable localStorage\n message = reason.stack ?? reason.message\n } else if (reason instanceof Error) {\n message = 'Error: ' + reason.message + '\\n' + (reason.stack ?? '')\n } else {\n message = 'Unexpected Exception: ' + reason\n }\n\n console.warn('[HMR] ' + message)\n }\n } else {\n dispatcher.onStaticIndicator(false)\n }\n }\n }, [pathname])\n }\n\n useEffect(() => {\n const websocket = webSocketRef.current\n if (!websocket) return\n\n const handler = (event: MessageEvent) => {\n try {\n const obj = JSON.parse(event.data)\n processMessage(\n obj,\n sendMessage,\n processTurbopackMessage,\n router,\n appIsrManifestRef,\n pathnameRef\n )\n } catch (err: unknown) {\n reportInvalidHmrMessage(event, err)\n }\n }\n\n websocket.addEventListener('message', handler)\n return () => websocket.removeEventListener('message', handler)\n }, [\n sendMessage,\n router,\n webSocketRef,\n processTurbopackMessage,\n appIsrManifestRef,\n ])\n return (\n \n \n {children}\n \n )\n}\n"],"names":["useEffect","startTransition","useRef","stripAnsi","formatWebpackMessages","useRouter","REACT_REFRESH_FULL_RELOAD","REACT_REFRESH_FULL_RELOAD_FROM_ERROR","reportInvalidHmrMessage","dispatcher","ReplaySsrOnlyErrors","AppDevOverlayErrorBoundary","useErrorHandler","RuntimeErrorHandler","useSendMessage","useTurbopack","useWebsocket","useWebsocketPing","HMR_ACTIONS_SENT_TO_BROWSER","useUntrackedPathname","reportHmrLatency","TurbopackHmr","NEXT_HMR_REFRESH_HASH_COOKIE","useForwardConsoleLog","mostRecentCompilationHash","__nextDevClientId","Math","round","random","Date","now","reloading","webpackStartMsSinceEpoch","turbopackHmr","process","env","TURBOPACK","pendingHotUpdateWebpack","Promise","resolve","resolvePendingHotUpdateWebpack","setPendingHotUpdateWebpack","waitForWebpackRuntimeHotUpdate","handleAvailableHash","hash","isUpdateAvailable","__webpack_hash__","canApplyUpdates","module","hot","status","afterApplyUpdates","fn","handler","removeStatusHandler","addStatusHandler","performFullReload","err","sendMessage","stackTrace","stack","split","slice","join","message","JSON","stringify","event","hadRuntimeError","dependencyChain","undefined","window","location","reload","tryApplyUpdatesWebpack","onBuildOk","handleApplyUpdates","updatedModules","console","warn","onRefresh","__NEXT_TEST_MODE","self","__NEXT_HMR_CB","check","then","onBeforeRefresh","apply","processMessage","obj","processTurbopackMessage","router","appIsrManifestRef","pathnameRef","handleErrors","errors","formatted","warnings","onBuildError","i","length","error","handleHotUpdate","hmrUpdate","onBuilt","startMsSinceEpoch","endMsSinceEpoch","hasUpdates","action","ISR_MANIFEST","__NEXT_DEV_INDICATOR","current","data","onStaticIndicator","BUILDING","buildingIndicatorShow","onBuilding","log","BUILT","SYNC","buildingIndicatorHide","onVersionInfo","versionInfo","debug","onDebugInfo","onDevIndicator","devIndicator","onDevToolsConfig","devToolsConfig","hasErrors","Boolean","errorCount","clientId","hasWarnings","warningCount","formattedMessages","TURBOPACK_CONNECTED","type","sessionId","TURBOPACK_MESSAGE","onTurbopackMessage","SERVER_COMPONENT_CHANGES","onServerComponentChanges","document","cookie","documentElement","id","hmrRefresh","RELOAD_PAGE","onReloadPage","ADDED_PAGE","REMOVED_PAGE","onPageAddRemove","SERVER_ERROR","errorJSON","parse","Error","DEV_PAGES_MANIFEST_UPDATE","DEVTOOLS_CONFIG","HotReload","assetPrefix","children","globalError","onUnhandledError","onUnhandledRejection","webSocketRef","pathname","appIsrManifest","reason","DOMException","websocket","addEventListener","removeEventListener","onBlockingError","openErrorOverlay"],"mappings":"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","ignoreList":[0]}