/opt/canhelp/node_modules/next/dist/client/dev/hot-reloader/pages
NameSizeModeActions
hot-reloader-pages.d.ts17200644editdlrm
hot-reloader-pages.js181880644editdlrm
hot-reloader-pages.js.map258450644editdlrm
websocket.d.ts3840644editdlrm
websocket.js39950644editdlrm
websocket.js.map53820644editdlrm
Edit: /opt/canhelp/node_modules/next/dist/client/dev/hot-reloader/pages/websocket.js.map (5382B)
{"version":3,"sources":["../../../../../src/client/dev/hot-reloader/pages/websocket.ts"],"sourcesContent":["import {\n isTerminalLoggingEnabled,\n logQueue,\n} from '../../../../next-devtools/userspace/app/forward-logs'\nimport {\n HMR_ACTIONS_SENT_TO_BROWSER,\n type HMR_ACTION_TYPES,\n} from '../../../../server/dev/hot-reloader-types'\nimport { getSocketUrl } from '../get-socket-url'\n\nlet source: WebSocket\n\ntype ActionCallback = (action: HMR_ACTION_TYPES) => void\n\nconst eventCallbacks: Array = []\n\nexport function addMessageListener(callback: ActionCallback) {\n eventCallbacks.push(callback)\n}\n\nexport function sendMessage(data: string) {\n if (!source || source.readyState !== source.OPEN) return\n return source.send(data)\n}\n\nlet reconnections = 0\nlet reloading = false\nlet serverSessionId: number | null = null\n\nexport function connectHMR(options: { path: string; assetPrefix: string }) {\n function init() {\n if (source) source.close()\n\n function handleOnline() {\n if (isTerminalLoggingEnabled) {\n logQueue.onSocketReady(source)\n }\n reconnections = 0\n window.console.log('[HMR] connected')\n }\n\n function handleMessage(event: MessageEvent) {\n // While the page is reloading, don't respond to any more messages.\n // On reconnect, the server may send an empty list of changes if it was restarted.\n if (reloading) {\n return\n }\n\n // Coerce into HMR_ACTION_TYPES as that is the format.\n const msg: HMR_ACTION_TYPES = JSON.parse(event.data)\n\n if (\n 'action' in msg &&\n msg.action === HMR_ACTIONS_SENT_TO_BROWSER.TURBOPACK_CONNECTED\n ) {\n if (\n serverSessionId !== null &&\n serverSessionId !== msg.data.sessionId\n ) {\n // Either the server's session id has changed and it's a new server, or\n // it's been too long since we disconnected and we should reload the page.\n // There could be 1) unhandled server errors and/or 2) stale content.\n // Perform a hard reload of the page.\n window.location.reload()\n\n reloading = true\n return\n }\n\n serverSessionId = msg.data.sessionId\n }\n\n for (const eventCallback of eventCallbacks) {\n eventCallback(msg)\n }\n }\n\n let timer: ReturnType\n function handleDisconnect() {\n source.onerror = null\n source.onclose = null\n source.close()\n reconnections++\n // After 25 reconnects we'll want to reload the page as it indicates the dev server is no longer running.\n if (reconnections > 25) {\n reloading = true\n window.location.reload()\n return\n }\n\n clearTimeout(timer)\n // Try again after 5 seconds\n timer = setTimeout(init, reconnections > 5 ? 5000 : 1000)\n }\n\n const url = getSocketUrl(options.assetPrefix)\n\n source = new window.WebSocket(`${url}${options.path}`)\n source.onopen = handleOnline\n source.onerror = handleDisconnect\n source.onclose = handleDisconnect\n source.onmessage = handleMessage\n }\n\n init()\n}\n"],"names":["addMessageListener","connectHMR","sendMessage","source","eventCallbacks","callback","push","data","readyState","OPEN","send","reconnections","reloading","serverSessionId","options","init","close","handleOnline","isTerminalLoggingEnabled","logQueue","onSocketReady","window","console","log","handleMessage","event","msg","JSON","parse","action","HMR_ACTIONS_SENT_TO_BROWSER","TURBOPACK_CONNECTED","sessionId","location","reload","eventCallback","timer","handleDisconnect","onerror","onclose","clearTimeout","setTimeout","url","getSocketUrl","assetPrefix","WebSocket","path","onopen","onmessage"],"mappings":";;;;;;;;;;;;;;;;IAgBgBA,kBAAkB;eAAlBA;;IAaAC,UAAU;eAAVA;;IATAC,WAAW;eAAXA;;;6BAjBT;kCAIA;8BACsB;AAE7B,IAAIC;AAIJ,MAAMC,iBAAwC,EAAE;AAEzC,SAASJ,mBAAmBK,QAAwB;IACzDD,eAAeE,IAAI,CAACD;AACtB;AAEO,SAASH,YAAYK,IAAY;IACtC,IAAI,CAACJ,UAAUA,OAAOK,UAAU,KAAKL,OAAOM,IAAI,EAAE;IAClD,OAAON,OAAOO,IAAI,CAACH;AACrB;AAEA,IAAII,gBAAgB;AACpB,IAAIC,YAAY;AAChB,IAAIC,kBAAiC;AAE9B,SAASZ,WAAWa,OAA8C;IACvE,SAASC;QACP,IAAIZ,QAAQA,OAAOa,KAAK;QAExB,SAASC;YACP,IAAIC,qCAAwB,EAAE;gBAC5BC,qBAAQ,CAACC,aAAa,CAACjB;YACzB;YACAQ,gBAAgB;YAChBU,OAAOC,OAAO,CAACC,GAAG,CAAC;QACrB;QAEA,SAASC,cAAcC,KAA2B;YAChD,mEAAmE;YACnE,kFAAkF;YAClF,IAAIb,WAAW;gBACb;YACF;YAEA,sDAAsD;YACtD,MAAMc,MAAwBC,KAAKC,KAAK,CAACH,MAAMlB,IAAI;YAEnD,IACE,YAAYmB,OACZA,IAAIG,MAAM,KAAKC,6CAA2B,CAACC,mBAAmB,EAC9D;gBACA,IACElB,oBAAoB,QACpBA,oBAAoBa,IAAInB,IAAI,CAACyB,SAAS,EACtC;oBACA,uEAAuE;oBACvE,0EAA0E;oBAC1E,qEAAqE;oBACrE,qCAAqC;oBACrCX,OAAOY,QAAQ,CAACC,MAAM;oBAEtBtB,YAAY;oBACZ;gBACF;gBAEAC,kBAAkBa,IAAInB,IAAI,CAACyB,SAAS;YACtC;YAEA,KAAK,MAAMG,iBAAiB/B,eAAgB;gBAC1C+B,cAAcT;YAChB;QACF;QAEA,IAAIU;QACJ,SAASC;YACPlC,OAAOmC,OAAO,GAAG;YACjBnC,OAAOoC,OAAO,GAAG;YACjBpC,OAAOa,KAAK;YACZL;YACA,yGAAyG;YACzG,IAAIA,gBAAgB,IAAI;gBACtBC,YAAY;gBACZS,OAAOY,QAAQ,CAACC,MAAM;gBACtB;YACF;YAEAM,aAAaJ;YACb,4BAA4B;YAC5BA,QAAQK,WAAW1B,MAAMJ,gBAAgB,IAAI,OAAO;QACtD;QAEA,MAAM+B,MAAMC,IAAAA,0BAAY,EAAC7B,QAAQ8B,WAAW;QAE5CzC,SAAS,IAAIkB,OAAOwB,SAAS,CAAC,AAAC,KAAEH,MAAM5B,QAAQgC,IAAI;QACnD3C,OAAO4C,MAAM,GAAG9B;QAChBd,OAAOmC,OAAO,GAAGD;QACjBlC,OAAOoC,OAAO,GAAGF;QACjBlC,OAAO6C,SAAS,GAAGxB;IACrB;IAEAT;AACF","ignoreList":[0]}