@momsfriendlydevco/crash

Error utilities and prettifier

Usage no npm install needed!

<script type="module">
  import momsfriendlydevcoCrash from 'https://cdn.skypack.dev/@momsfriendlydevco/crash';
</script>

README

@MomsFriendlyDevCo/Crash

Nicer error reporting with colors and blackboxing.

var crash = require('@momsfriendlydevco/crash');

crash.trace(new Error('Nope!'));

API

crash.trace(error, options)

Output an error or string with colors and stack tracing.

crash.generate(error, options)

Shorthand function for calling trace with {output: false} as a default option. Use this if only the raw text (ANSI wrapped if {colors: true}) is required but not to be immediately output to STDERR.

crash.stop(error, options)

Similar to crash.trace() but immediately terminate the process, halting all execution

crash.decode(error, options)

Decode a string stack trace into its component parts.

crash.defaults

Default options when rendering.

Valid options are:

Option Type Default Description
logger function console.warn Actual outputter, used when writing the error
prefix string "ERROR" Prefix string used when outputting the error
colors object or boolean See code Lookup object of colors used for each part of an error message. If falsy all colors (and ANSI output) is disabled
text object See code Various text strings used in error messages
padding object See code Various text padding options
ignorePaths RegExp See code Path RegExps to blackbox (remove from trace output)
filterUnknown boolean true Filter out grarbage stack trace lines
parsers array <Object> See code Collection of parsers, which are executed in order until one matches
supportBabel boolean true Add support for decoding Babel parser errors
context object See below Options for configuring code-showing context (preview lines of code)
context.above boolean true Show an indicator above the target line
context.below boolean true Show an indicator below the target line
context.linesBefore number 1 How many lines before the target line to output when showing context
context.linesAfter number 1 How many lines after the target line to output when showing context
context.pathRewrite function path => path How to mangle the input file path before reading it to show context