UNPKG

next

Version:

The React Framework

62 lines (61 loc) 2.07 kB
import { parse } from 'next/dist/compiled/stacktrace-parser'; import { decorateServerError } from '../../../../shared/lib/error-source'; export function getFilesystemFrame(frame) { const f = { ...frame }; if (typeof f.file === 'string') { if (// Posix: f.file.startsWith('/') || // Win32: /^[a-z]:\\/i.test(f.file) || // Win32 UNC: f.file.startsWith('\\\\')) { f.file = "file://" + f.file; } } return f; } export function getServerError(error, type) { if (error.name === 'TurbopackInternalError') { // If this is an internal Turbopack error we shouldn't show internal details // to the user. These are written to a log file instead. const turbopackInternalError = Object.defineProperty(new Error('An unexpected Turbopack error occurred. Please see the output of `next dev` for more details.'), "__NEXT_ERROR_CODE", { value: "E167", enumerable: false, configurable: true }); decorateServerError(turbopackInternalError, type); return turbopackInternalError; } let n; try { throw Object.defineProperty(new Error(error.message), "__NEXT_ERROR_CODE", { value: "E394", enumerable: false, configurable: true }); } catch (e) { n = e; } n.name = error.name; try { n.stack = n.toString() + "\n" + parse(error.stack).map(getFilesystemFrame).map((f)=>{ let str = " at " + f.methodName; if (f.file) { let loc = f.file; if (f.lineNumber) { loc += ":" + f.lineNumber; if (f.column) { loc += ":" + f.column; } } str += " (" + loc + ")"; } return str; }).join('\n'); } catch (e) { n.stack = error.stack; } decorateServerError(n, type); return n; } //# sourceMappingURL=node-stack-frames.js.map