rsnext/packages/next/client/dev/error-overlay/source-map-support.ts
Tim Neutkens 7e7f2c0a6d
Simplify a few parts of the codebase (#7506)
* Move client-side dev JS to dev folder

* Move eventsource polyfill

* Move source-map-support

* Move error boundary

* Deprecate Container in _app

* Make initialRender check better

* Remove unused code

* Only support one subscription as there is only one

* Don’t spread object

* Shorten property name

* Add container in development too

* Simplify query update logic
2019-06-05 20:15:42 +02:00

28 lines
665 B
TypeScript

const filenameRE = /\(([^)]+\.js):(\d+):(\d+)\)$/
export function rewriteStacktrace(e: Error, distDir: string) {
if (!e || typeof e.stack !== 'string') {
return
}
const lines = e.stack.split('\n')
const result = lines.map((line: string) => {
return rewriteTraceLine(line, distDir)
})
e.stack = result.join('\n')
}
function rewriteTraceLine(trace: string, distDir: string) {
const m = trace.match(filenameRE)
if (m == null) {
return trace
}
const filename = m[1]
const filenameLink = filename
.replace(distDir, '/_next/development')
.replace(/\\/g, '/')
trace = trace.replace(filename, filenameLink)
return trace
}