Stacktrace.js Versions Save

Generate, parse, and enhance JavaScript stack traces in all web browsers

v2.0.1

1 month ago
  • Update dependencies
  • Update TypeScript typings

v2.0.0

7 years ago

ES6 Support

ES6 code is now parsed and enhanced!

Extensible StackFrames

StackFrames returned are now able to report on whether a function call was a Constructor, native code, or eval code.

MIT License

The community has voted to change the license of the project to the MIT License

Breaking Changes

  • StackFrame now has a different, more extensible API that allows frames to be marked as native, constructor, or eval.
  • stacktrace.js now ships with no polyfills of any kind. Some Array polyfills were provided for old IE browsers in v1.x, these have been removed.

v1.2.0

7 years ago

Error Messages in Reports

StackTrace.report() now accepts an optional message

var stackframes = [StackFrame(...), StackFrame(...)]
var url = 'https://reporting.yourservice.com/jserror'
var message = 'undefined is not an Object'

StackTrace.report(stackframes, url, message)

Example JSON POSTed:

{
  message: 'undefined is not an Object',
  stack: [
    {functionName: 'fn', fileName: 'file.js', lineNumber: 32, columnNumber: 1},
    {functionName: 'fn2', fileName: 'file.js', lineNumber: 543, columnNumber: 32}
  ]
}

v1.3.0

7 years ago

Synchronous Stack Traces

Due to popular demand, we've provided a synchronous way to get stack traces.

StackTrace.getSync()

HEADS UP: Does not enhance stack traces with source maps or guess anonymous functions like StackTrace.get() does.

1.1.0

8 years ago

Better parsing

Updated error-stack-parser to v1.3 which parses eval stack entries in a better way and fixes a bunch of bugs.

Better resource handling

Updated stacktrace-gps. Now reuses the same instance to avoid duplicate requests for the same resource by default.

Better dev experience

JSCS and automated PR testing have been implemented to ensure consistent styles and quick feedback.

Possibly breaking changes: ErrorStackParser now provides it's own polyfill for Array.map and Array.filter. eval information is will display differently in stack traces.

1.0.1

8 years ago

Bug fixes update

  • Prevent duplicate in-flight network requests for the same resource (stacktracejs/stacktrace-gps#19)
  • Improve POST body handling of StackTrace.report (#135)
  • Fix bower dependencies (#136)

Polyfills version necessary for browsers that don't support native Promises or JSON.stringify

1.0.0

8 years ago

stacktrace.js is reborn

stacktrace.js is now modularized into 5 projects:

... and putting it all together: stacktrace.js for instrumenting your code and generating stack traces!

Key Features

  • Fully asynchronous API, using Promises. Use your own polyfill or use our distribution with polyfills included. See the Migration Guide
  • Source Maps support
  • Forward-compatible: stacktrace.js no longer assumes a given browser formats Error stacks in a given way. This prevents new browser versions from breaking error parsing
  • Stack entries are now fully parsed and returned as StackFrame objects. Prefer the old format? - just call .toString()!
  • Use only what you need. All 5 projects work independently as well as together!
  • iOS 8+ Safari support

Available everywhere

npm install stacktrace-js
bower install stacktrace-js
component install stacktracejs/stacktrace.js
https://cdnjs.cloudflare.com/ajax/libs/stacktrace.js/1.0.0/stacktrace.min.js

Better for contributors

  • gulp build
  • TravisCI + Sauce for testing a bunch of browsers
  • EditorConfig for style adherence

Polyfills version necessary for browsers that don't support Promises or JSON.stringify

0.6.4

8 years ago

Added un-minified sources for CDN distribution