-
-
Notifications
You must be signed in to change notification settings - Fork 532
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Line numbers in stack traces are wrong in Node v20 #2053
Comments
I can reproduce this issue. With the same code, stack trace line numbers are wrong with Node.Js 20. By just switching to Node.js 18, I get the correct ones. |
same on node 21 |
This problem occurs in Node v18.19.0. It does not occur in Node v18.18.2. So, seems likely that the cause is one of the changes reported as backported from v20 in https://github.com/nodejs/node/blob/main/doc/changelogs/CHANGELOG_V18.md#2023-11-29-version-18190-hydrogen-lts-targos As a superficial guess, my money is on feat(esm): leverage loaders when resolving subsequent loaders #43772 as a likely cause. :) |
Updated TypeStrong/ts-node-repros#34 accordingly, so it now uses v18.19.0 and exhibits the problem. |
I replaced ts-node with tsx, and now I get the correct line numbers with node 20. |
seeing the same issue with ts-morph: a workaround seems to be adding inline source maps and running node with {
...
sourceMap: true,
inlineSourceMap: true,
mapRoot: 'file:///'
} and project.createSourceFile(/* full '/...' */ sourcepath, source) |
I can confirm adding |
|
Search Terms
line numbers
Note that there is #1495, closed almost two years ago, long before Node v20 came out. I opened a new issue because (a) root causes are likely different even if the manifestation is similar, and (b) the way to reproduce is likely different as well, and (c) I can't reopen that old one anyway :) but the problem is clearly present today.
Expected Behavior
I expect line numbers in stack traces thrown from TypeScript code to match the actual line numbers in the file, when running under Node v20, as they do when running under Node v18 and v19.
Actual Behavior
When running under Node v20, line numbers in stack traces are wrong, appearing to be from the transpiled version of the module.
Steps to reproduce the problem
Run a TypeScript module in which an error is thrown. Observe that the line numbers in the stack trace of that error are incorrect when running in Node v20, but are correct when running in Node v18 or v19.
Minimal reproduction
TypeStrong/ts-node-repros#34
Specifications
The text was updated successfully, but these errors were encountered: