A JavaScript function to replace error stack traces and following Node.js versions at any indent in a multiline string.
npm install replace-stack-tracesA JavaScript function to replace error stack traces and following Node.js versions at any indent in a multiline string.
Useful for snapshot testing CLI stderr output containing error stack traces, because:
- Different Node.js versions generate different error stack traces, and v17.0.0+ appends the Node.js version if the error caused the process to exit.
- Editing modules that affect the line and column numbers, etc. in the error stack traces requires the snapshots to be updated annoyingly often.
For Node.js, to install replace-stack-traces with npm, run:
``sh`
npm install replace-stack-traces
For Deno, an example import map:
`json`
{
"imports": {
"replace-stack-traces": "https://unpkg.com/replace-stack-traces@2.0.0/replaceStackTraces.mjs"
}
}
Supported runtime environments:
- Node.js versions ^14.17.0 || ^16.0.0 || >= 18.0.0.
- Deno
Non Deno projects must configure TypeScript to use types from the ECMAScript modules that have a // @ts-check comment:
- compilerOptions.allowJs should be true.compilerOptions.maxNodeModuleJsDepth
- should be reasonably large, e.g. 10.compilerOptions.module
- should be "node16" or "nodenext".
The npm package replace-stack-traces features optimal JavaScript module design. These ECMAScript modules are exported via the package.json field exports: