error-shortener
This module is written on
typescript
, and contains the.d.ts
file.
If you write ontypescript
: just use it in your project and definitions will be automatically uploaded.
npm i -S error-shortener
Motivation
Once I tired of reading the error-stack on several screens.
So I wrote the module to clean the stack: it removes the elements that are out of your repository (based on process.cwd()
), and the elements from the node_modules
folder.
Note: before cleaning the error will be checked to the expected format. If it is different, the stack cleaning will not be fulfilled.
API
const API = // performs reduction of the stack, normalized error-stack indents, replacement message and name to the actual// alias to API.fmtShortErrorAPI: string// normalized error-stack indents, replacement message and name to the actualAPI: string// compliance argument with the interfaceAPI: arg is APIIErrorLike
Examples
Example: error has an expected format
when formatting:
- Replaced the old
SomeError
to the newNewError
name. - Replaced the old message to new.
- Excluded calls that do not relate to your source code.
- Removed
process.cwd()
part of the file paths.
const likeBluebirdError = name: `NewError` message: `Text added from some place!\ \n\t SomeMeta: foo=bar; other=abc\ \n\t OriginalError: something happened!` stack: `SomeError: something happened! at error (/home/nskazki/node.js/example/index.js:12:28) From previous event: at error (/home/nskazki/node.js/example/index.js:12:27) at /home/nskazki/node.js/example/index.js:19:15 at Timer.listOnTimeout (timers.js:92:15) From previous event: at Object.<anonymous> (/home/nskazki/node.js/example/index.js:19:4) at Module._compile (module.js:413:34) at Object.Module._extensions..js (module.js:422:10) at Module.load (module.js:357:32) at Function.Module._load (module.js:314:12) at Function.Module.runMain (module.js:447:10) at startup (node.js:141:18) at node.js:933:3` console/*NewError: Text added from some place! SomeMeta: foo=bar; other=abc OriginalError: something happened! at error (index.js:12:28)From previous event: at error (index.js:12:27) at index.js:19:15`From previous event: at Object.<anonymous> (index.js:19:4)*/
Example: unknown error format
when formatting:
- added default
Error
name - normalized error-stack indents
const likePhantomError = message: 'JSON.stringify cannot serialize cyclic structures.' stack: `stringify@[native code] wrapper global code evaluateJavaScript@[native code] evaluate file:///home/nskazki/node.js/work-projects/dmca-ip-search-service/phantom-farm/worker/node_modules/node-phantom-simple/bridge.js:121:61` console /*Error: JSON.stringify cannot serialize cyclic structures.Stack: stringify@[native code] wrapper global code evaluateJavaScript@[native code] evaluate file:///home/nskazki/node.js/work-projects/dmca-ip-search-service/phantom-farm/worker/node_modules/node-phantom-simple/bridge.js:121:61`*/