Skip to content

Commit

Permalink
fix: fix wrong stacktraces
Browse files Browse the repository at this point in the history
  • Loading branch information
nitedani committed Aug 7, 2024
1 parent 18f6958 commit ed62357
Showing 1 changed file with 16 additions and 2 deletions.
18 changes: 16 additions & 2 deletions packages/vike-node/src/plugin/plugins/devServerPlugin.ts
Original file line number Diff line number Diff line change
Expand Up @@ -94,7 +94,7 @@ export function devServerPlugin(): Plugin {
const indexResolved = await vite.pluginContainer.resolveId(index)
assert(indexResolved?.id)
entryAbs = indexResolved.id
vite.ssrLoadModule(entryAbs)
vite.ssrLoadModule(entryAbs).catch(logRestartMessage)
}

function setupHMRProxy(req: IncomingMessage) {
Expand All @@ -113,21 +113,35 @@ export function devServerPlugin(): Plugin {
}
}

function logRestartMessage() {
logViteInfo('Server crash: Update a server file or type "r+enter" to restart the server.')
}

function setupErrorHandler(vite: ViteDevServer) {
const rewroteStacktraces = new WeakSet()

const _prepareStackTrace = Error.prepareStackTrace
Error.prepareStackTrace = function prepareStackTrace(error, stack) {
let ret = _prepareStackTrace?.(error, stack)
if (!ret) return ret
try {
ret = vite.ssrRewriteStacktrace(ret)
rewroteStacktraces.add(error)
} catch (e) {
console.warn('Failed to apply Vite SSR stack trace fix:', e)
}
return ret
}

const _ssrFixStacktrace = vite.ssrFixStacktrace
vite.ssrFixStacktrace = function ssrFixStacktrace(e) {
if (rewroteStacktraces.has(e)) return
return _ssrFixStacktrace(e)
}

function onError(err: unknown) {
console.error(err)
logViteInfo('Server crash: Update a server file or type "r+enter" to restart the server.')
logRestartMessage()
}

process.on('unhandledRejection', onError)
Expand Down

0 comments on commit ed62357

Please sign in to comment.