Skip to content

Commit bfe9053

Browse files
richardsimkoahmedetefy
authored andcommitted
fix: Code preview not working with ESM (#3262) (#3264)
Thanks!
1 parent f5ff350 commit bfe9053

File tree

2 files changed

+20
-1
lines changed

2 files changed

+20
-1
lines changed

packages/node/src/parsers.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -144,7 +144,7 @@ export function parseStack(stack: stacktrace.StackFrame[], options?: NodeOptions
144144
const frames: StackFrame[] = stack.map(frame => {
145145
const parsedFrame: StackFrame = {
146146
colno: frame.columnNumber,
147-
filename: frame.fileName || '',
147+
filename: frame.fileName?.startsWith('file://') ? frame.fileName.substr(7) : frame.fileName || '',
148148
function: getFunction(frame),
149149
lineno: frame.lineNumber,
150150
};

packages/node/test/parsers.test.ts

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,25 @@ describe('parsers.ts', () => {
4040
});
4141
});
4242

43+
test('parseStack with ESM module names', async () => {
44+
expect.assertions(1);
45+
46+
const framesWithFilePath: stacktrace.StackFrame[] = [
47+
{
48+
columnNumber: 1,
49+
fileName: 'file:///var/task/index.js',
50+
functionName: 'module.exports../src/index.ts.fxn1',
51+
lineNumber: 1,
52+
methodName: 'fxn1',
53+
native: false,
54+
typeName: 'module.exports../src/index.ts',
55+
},
56+
];
57+
return Parsers.parseStack(framesWithFilePath).then(_ => {
58+
expect(spy).toHaveBeenCalledTimes(1);
59+
});
60+
});
61+
4362
test('parseStack with adding different file', done => {
4463
expect.assertions(2);
4564
let mockCalls = 0;

0 commit comments

Comments
 (0)