# error-stack

> Parse and manipulate error.stack

Latest version **1.0.3** (published 2020-03-26) · MIT license · 0 weekly downloads

## Install

```sh
npm install error-stack
pnpm add error-stack
yarn add error-stack
bun add error-stack
```

## Health

**Score 15/100 (F)** — status: abandoned.

Positive: no vulnerabilities.

Warnings: low downloads; no types; no esm support.

Negative: abandoned; low maintenance score.

## Facts

| | |
|---|---|
| Version | 1.0.3 |
| Published | 2020-03-26 |
| First published | 2019-06-12 |
| Weekly downloads | 0 |
| License | MIT |
| TypeScript types | none |
| Module format | CommonJS |
| Node | >= 6 |
| Dependencies | 0 |
| Unpacked size | 8.1 KB |
| Known vulnerabilities | 0 |
| Install scripts | no |
| GitHub stars | 3 |
| Author | kaelzhang |
| Maintainers | kael |
| Keywords | error-stack, error-stack-parser, formatter, trace |

## Links

- npm: https://www.npmjs.com/package/error-stack
- Repository: https://github.com/kaelzhang/error-stack
- Homepage: https://github.com/kaelzhang/error-stack#readme
- Issues: https://github.com/kaelzhang/error-stack/issues
- npm.io page: https://npm.io/package/error-stack

## Alternatives

- [@sentry/react-native](https://npm.io/package/@sentry/react-native.md) — 2.6M weekly downloads
- [@ardatan/aggregate-error](https://npm.io/package/@ardatan/aggregate-error.md) — 708.1K weekly downloads
- [custom-error-generator](https://npm.io/package/custom-error-generator.md) — 2.0K weekly downloads
- [@technik-sde/prosemirror-recreate-transform](https://npm.io/package/@technik-sde/prosemirror-recreate-transform.md) — 1.5K weekly downloads
- [@suchipi/error-utils](https://npm.io/package/@suchipi/error-utils.md) — 78 weekly downloads

## Recent versions

- 1.0.3 (latest) — 2020-03-26
- 1.0.2 — 2019-08-16
- 1.0.1 — 2019-06-12
- 1.0.0 — 2019-06-12
- 0.0.0 — 2019-06-12

## README

[![Build Status](https://travis-ci.org/kaelzhang/error-stack.svg?branch=master)](https://travis-ci.org/kaelzhang/error-stack)
[![Coverage](https://codecov.io/gh/kaelzhang/error-stack/branch/master/graph/badge.svg)](https://codecov.io/gh/kaelzhang/error-stack)
<!-- optional appveyor tst
[![Windows Build Status](https://ci.appveyor.com/api/projects/status/github/kaelzhang/error-stack?branch=master&svg=true)](https://ci.appveyor.com/project/kaelzhang/error-stack)
-->
<!-- optional npm version
[![NPM version](https://badge.fury.io/js/error-stack.svg)](http://badge.fury.io/js/error-stack)
-->
<!-- optional npm downloads
[![npm module downloads per month](http://img.shields.io/npm/dm/error-stack.svg)](https://www.npmjs.org/package/error-stack)
-->
<!-- optional dependency status
[![Dependency Status](https://david-dm.org/kaelzhang/error-stack.svg)](https://david-dm.org/kaelzhang/error-stack)
-->

# error-stack

Parse and manipulate `error.stack`

## Install

```sh
$ npm i error-stack
```

## Usage

```js
const parse = require('error-stack')
const {stack} = new Error('foo')

console.log(stack)
// Error: foo
//     at repl:1:11
//     at Script.runInThisContext (vm.js:123:20)

const parsed = parse(stack)

parsed.type // Error

parsed.message  // foo

parsed.traces
// [
//   {
//     callee: undefined,
//     source: 'repl',
//     line: 1,
//     col: 11
//   },
//   {
//     callee: 'Script.runInThisContext',
//     source: 'vm.js',
//     line: 123,
//     col: 20
//   }
// ]

parsed
.filter(({callee}) => !!callee)
.format()
// Error: foo
//     at Script.runInThisContext (vm.js:123:20)
```

### parsed.type `string`

Error type

### parsed.message `string`

The message used by Error constructor

### parsed.traces `Array<Trace>`

```ts
interface Source {
  // The source of the the callee
  source: string
  line?: number
  col?: number
}

interface Trace extends Source{
  callee: string
  // Whether the callee is 'eval'
  eval?: boolean
  // The source location inside eval content
  evalTrace: Source
}
```

### parsed.filter(filterFunction): this

- **filterFunction** `Function` the same as the callback function of `Array.prototype.filter(callback)`

Filters the current traces

### parsed.format(): string

Format object `parsed`

## License

[MIT](LICENSE)

---
_Source: https://npm.io/package/error-stack · Machine-readable twin of the npm.io package page. Health data is recomputed on every publish._
