Skip to content

Commit 4582c22

Browse files
committed
refactor(dev): use source-map-js to map error frames
1 parent 51849b8 commit 4582c22

3 files changed

Lines changed: 14 additions & 20 deletions

File tree

packages/nuxt-cli/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -70,7 +70,7 @@
7070
"pnpm-workspace-yaml": "^1.6.1",
7171
"rc9": "^3.0.1",
7272
"scule": "^1.3.0",
73-
"source-map": "^0.7.6",
73+
"source-map-js": "^1.2.1",
7474
"srvx": "^0.11.22",
7575
"std-env": "^4.2.0",
7676
"tinyclip": "^1.0.0",

packages/nuxt-cli/src/dev/error.ts

Lines changed: 10 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ import { readFile } from 'node:fs/promises'
55
import process from 'node:process'
66

77
import { dirname, normalize, resolve } from 'pathe'
8-
import { SourceMapConsumer } from 'source-map'
8+
import { SourceMapConsumer } from 'source-map-js'
99
import { Youch } from 'youch'
1010
import { ErrorParser } from 'youch-core'
1111

@@ -92,21 +92,15 @@ async function applySourceMap(frame: StackFrame): Promise<void> {
9292
if (!rawSourceMap) {
9393
return
9494
}
95-
// Consumers hold WASM memory that is only reclaimed by `destroy()`.
96-
const consumer = await new SourceMapConsumer(rawSourceMap)
97-
try {
98-
const originalPosition = consumer.originalPositionFor({
99-
line: frame.lineNumber!,
100-
column: frame.columnNumber!,
101-
})
102-
if (originalPosition.source && originalPosition.line) {
103-
frame.fileName = resolve(dirname(frame.fileName!), originalPosition.source)
104-
frame.lineNumber = originalPosition.line
105-
frame.columnNumber = originalPosition.column || 0
106-
}
107-
}
108-
finally {
109-
consumer.destroy()
95+
const consumer = new SourceMapConsumer(JSON.parse(rawSourceMap))
96+
const originalPosition = consumer.originalPositionFor({
97+
line: frame.lineNumber!,
98+
column: frame.columnNumber!,
99+
})
100+
if (originalPosition.source && originalPosition.line) {
101+
frame.fileName = resolve(dirname(frame.fileName!), originalPosition.source)
102+
frame.lineNumber = originalPosition.line
103+
frame.columnNumber = originalPosition.column || 0
110104
}
111105
}
112106

pnpm-lock.yaml

Lines changed: 3 additions & 3 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)