superstacktrace
v1.0.0
Published
Long stack traces for Node.js
Downloads
9
Readme
Super stack trace
It provides support for “long stack traces,” wherein the stack
property of Error
rejection reasons
is rewritten to be traced along asynchronous jumps instead of stopping at the most recent one.
The heavy lifting is made by async-listener, which is a polyfill for an experimental API that had a short-life in node.js (v0.11.x only) and was removed.
Installation
$ npm install superstacktrace
Tested on latest iojs
Example
require('superstacktrace');
// That's it.
Stack trace example:
Error: Unhandled error!
at /home/user/project/test/test.js:166:23
at /home/user/project/node_modules/async-listener/glue.js:188:31
at process._tickDomainCallback [as _tickCallback] (node.js:366:13)
From previous event:
at asyncWrap (/home/user/project/node_modules/async-listener/glue.js:150:28)
at wrapCallback (/home/user/project/node_modules/async-listener/glue.js:401:35)
at process.nextTick (/home/user/project/node_modules/async-listener/index.js:16:26)
at myNestedFunction [as _onTimeout] (/home/user/project/test/test.js:165:25)
at Timer.listOnTimeout (timers.js:89:15)
There are some lines including the async-listener library, I thought about filtering them, but then I realise, if that's the real cause of the error it would be hidden.
Running tests
$ mocha
License
MIT