Skip to content
This repository has been archived by the owner on Jun 7, 2022. It is now read-only.

kfatehi/js-simple-stacktrace

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

12 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

simple-stacktrace

built this from the answers here mochajs/mocha#545 for the purpose of changing my stack traces from things like this:

1) Router POST /boards Import JSON column #1 has the right # of cards:

    AssertionError: expected 0 to equal 5
    + expected - actual

    +5
    -0

    at Context.<anonymous> (/Users/keyvan/Projects/mib/test/server/router_test.js:274:15)
    at callFn (/Users/keyvan/Projects/mib/node_modules/mocha/lib/runnable.js:223:21)
    at Test.Runnable.run (/Users/keyvan/Projects/mib/node_modules/mocha/lib/runnable.js:216:7)
    at Runner.runTest (/Users/keyvan/Projects/mib/node_modules/mocha/lib/runner.js:373:10)
    at /Users/keyvan/Projects/mib/node_modules/mocha/lib/runner.js:451:12
    at next (/Users/keyvan/Projects/mib/node_modules/mocha/lib/runner.js:298:14)
    at /Users/keyvan/Projects/mib/node_modules/mocha/lib/runner.js:308:7
    at next (/Users/keyvan/Projects/mib/node_modules/mocha/lib/runner.js:246:23)
    at Object._onImmediate (/Users/keyvan/Projects/mib/node_modules/mocha/lib/runner.js:275:5)
    at processImmediate [as _immediateCallback] (timers.js:336:15)

to something more like this:

1) Router POST /boards Import JSON column #1 has the right # of cards:

    AssertionError: expected 0 to equal 5
    + expected - actual

    +5
    -0

    at Context.<anonymous> (test/server/router_test.js:274:15)
    at processImmediate [as _immediateCallback] (timers.js:336:15)

which is easier to read and fits nicely without wrapping or robbing context

install

npm install -g simple-stacktrace

usage

mocha -w ./test/ 2>&1 | simple-stacktrace

options

These are passed in for you automatically when using the pipe form above. If you wish, you can use the following form.

require('simple-stacktrace')({
  root: require('path').resolve(__dirname, '..')
})

This may be preferred for additional configuration, although in this case it would be better to expand on the simple-stacktrace binary and allow it to accept these options:

root: define where the root of your project lives if you want it to be stripped

node_modules: a false value hides any line that contains the string node_modules/ effectively hiding stack traces that occur outside your module. defaults to false

About

simpler stack traces in javascript

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published