0.0.1 • Published 5 years ago

@project-reporter/error-stack-parser v0.0.1

Weekly downloads
-
License
MIT
Repository
github
Last release
5 years ago

NodeJs error stack parser

Convert nodejs error stack string into meaningful and usefull object.

This package is a part of Project Reporter NodeJs implementation, it's open-source for the community, licensed under the MIT license, so, feel free to copy, modify or use at as you need.

Example Usage (JavaScript)

const {
  parseErrorStackTrace
} = require('@project-reporter/error-stack-parser');

const error = new Error('Something wrong');

const stack = parseErrorStackTrace(error.stack);

console.log(stack);

Example Usage (TypeScript)

import {
  IStackTraceItem,
  parseErrorStackTrace
} from '@project-reporter/error-stack-parser';

const error = new Error('Something wrong');

const stack: IStackTraceItem[] = parseErrorStackTrace(error.stack);

console.log(stack);

Example Output

[
  {
    file: 'test.js',
    method: 'Object.<anonymous>',
    position: { line: 3, column: 15 }
  },
  {
    file: 'internal/modules/cjs/loader.js',
    method: 'Module._compile',
    position: { line: 689, column: 30 }
  },
  {
    file: 'internal/modules/cjs/loader.js',
    method: 'Object.Module._extensions..js',
    position: { line: 700, column: 10 }
  },
  {
    file: 'internal/modules/cjs/loader.js',
    method: 'Module.load',
    position: { line: 599, column: 32 }
  },
  {
    file: 'internal/modules/cjs/loader.js',
    method: 'tryModuleLoad',
    position: { line: 538, column: 12 }
  },
  {
    file: 'internal/modules/cjs/loader.js',
    method: 'Function.Module._load',
    position: { line: 530, column: 3 }
  },
  {
    file: 'internal/modules/cjs/loader.js',
    method: 'Function.Module.runMain',
    position: { line: 742, column: 12 }
  },
  {
    file: 'internal/bootstrap/node.js',
    method: 'startup',
    position: { line: 283, column: 19 }
  },
  {
    file: 'internal/bootstrap/node.js',
    method: 'bootstrapNodeJSCore',
    position: { line: 743, column: 3 }
  }
];

Current state

This package considered stable and production-ready can be used in NodeJs and Google Chrome (V8 engine in general).

Contributing

See Contribution Guidelines