8

I keep reading that source maps are natively supported in Node. But I don't understand how I can use the source maps when printing an error to the console.

I have tried running node with --enable-source-maps, and I also tried the source-map-support package. But to no avail. The output in the console is only showing the transpiled js code, not the ts source code.

What am I doing wrong?

Source code:

// main.ts
const someError = new Error()
console.error(someError.stack)

Console output (from VS Code):

/home/birger/.nvm/versions/node/v16.16.0/bin/node ./build/main.js -r source-map-support/register
Error
    at Object.<anonymous> (/home/birger/someproject/build/main.js:8:19)
    at Module._compile (node:internal/modules/cjs/loader:1105:14)
    at Object.Module._extensions..js (node:internal/modules/cjs/loader:1159:10)
    at Module.load (node:internal/modules/cjs/loader:981:32)
    at Function.Module._load (node:internal/modules/cjs/loader:822:12)
    at Function.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:77:12)
    at node:internal/main/run_main_module:17:47

Here is my tsconfig.json:

// tsconfig.json
{
    "compilerOptions": {
        "target": "ES2022",
        "module": "commonjs",
        "sourceMap": true,
        "strict": true,
        "outDir": "build",
    }
}

1 Answer 1

25

Turns out you need to have the --enable-source-maps in front of the file argument.

So this works:

node --enable-source-maps somescript.js

But this won't:

node somescript.js --enable-source-maps

🤦

Sign up to request clarification or add additional context in comments.

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.