Socket
Socket
Sign inDemoInstall

get-stack-trace

Package Overview
Dependencies
7
Maintainers
1
Versions
13
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

    get-stack-trace

V8 stack traces with optional source map resolution.


Version published
Maintainers
1
Install size
1.33 MB
Created

Readme

Source

get-stack-trace

Travis build status Coveralls NPM version Canonical Code Style Twitter Follow

V8 stack traces with optional source map resolution.

Motivation

A lot of NPM packages are transpiled either using Babel or TypeScript.

This means that if you attempt to resolve a CallSite using Error.prepareStackTrace and Error.captureStackTrace, the resulting CallSite object will reference the tranpiled file, rather than the original source file. However, if the project was distributed with source maps, then we can use the available source maps to resolve the original CallSite.

In practise, this is useful if the intent is to log the stack trace of an application at a particular time in execution, e.g. Slonik creates a stack trace prior to every asynchronous call for debugging purposes.

For the stack traces to resolve, packages must be distributed with a source map file along with the transpiled file, e.g. such as in the case of this project:

$ cd ./dist && tree .
.
├── index.js
├── index.js.flow
├── index.js.map
├── test.js
├── test.js.flow
├── test.js.map
├── types.js
├── types.js.flow
└── types.js.map

Usage

import {
  getStackTrace
} from 'get-stack-trace';

const stackTrace = await getStackTrace();

Keywords

FAQs

Last updated on 21 Nov 2019

Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc