raven-js: JavaScript client for Sentry

crash-reporting, error-monitoring, javascript, javascript-client, node, raven, sentry, sentry-client, typescript


Build Status codecov npm version typedoc

Official Sentry SDKs for JavaScript

This is the next line of Sentry JavaScript SDKs, comprised in the @sentry/ namespace. It will provide a more convenient interface and improved consistency between various JavaScript environments.



Supported Platforms

For each major JavaScript platform, there is a specific high-level SDK that provides all the tools you need in a single package. Please refer to the README and instructions of those SDKs for more detailed information:

  • @sentry/hub: Global state management of SDKs
  • @sentry/minimal: Minimal SDK for library authors to add Sentry support
  • @sentry/browser: SDK for Browsers, including integrations for React, Angular, Ember, Vue and Backbone
  • @sentry/node: SDK for Node, including integrations for Express, Koa, Loopback, Sails and Connect
  • @sentry/integrations: Pluggable integrations that can be used to enhance JS SDKs
  • @sentry/electron: SDK for Electron with support for native crashes
  • sentry-cordova: SDK for Cordova Apps and Ionic with support for native crashes
  • raven-js: Our old stable JavaScript SDK, we still support and release bug fixes for the SDK but all new features will be implemented in @sentry/browser which is the successor.
  • raven: Our old stable Node SDK, same as for raven-js we still support and release bug fixes for the SDK but all new features will be implemented in @sentry/node which is the successor.

Installation and Usage

To install a SDK, simply add the high-level package, for example:

npm install --save @sentry/browser
yarn add @sentry/browser

Setup and usage of these SDKs always follows the same principle.

import { init, captureMessage } from '@sentry/browser';

  dsn: '__DSN__',
  // ...

captureMessage('Hello, world!');

Other Packages

Besides the high-level SDKs, this repository contains shared packages, helpers and configuration used for SDK development. If you're thinking about contributing to or creating a JavaScript-based SDK, have a look at the resources below:

  • @sentry/core: The base for all JavaScript SDKs with interfaces, type definitions and base classes.
  • @sentry/utils: A set of helpers and utility functions useful for various SDKs.
  • @sentry/opentracing: OpenTracing compatible integration that can be used as a pluggable integration for the SDKs.
  • @sentry/typescript: Shared Typescript compiler and linter options.
  • @sentry/types: Types used in all packages.