/sentry-javascript

Official Sentry SDKs for JavaScript. We're hiring https://grnh.se/ca81c1701us

Primary LanguageTypeScriptBSD 3-Clause "New" or "Revised" LicenseBSD-3-Clause


Bad software is everywhere, and we're tired of it. Sentry is on a mission to help developers write better software faster, so we can get back to enjoying technology. If you want to join us Check out our open positions

Build & Test codecov npm version typedoc Discord

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.


Sentry is Hiring!!!

Would you like to work on Open Source software and help maintain this repository? Apply today https://grnh.se/ca81c1701us.


Links

  • TypeDoc
  • Documentation
  • Forum
  • Discord
  • Stack Overflow
  • Twitter Follow

Contents

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/browser: SDK for Browsers including integrations for Backbone
  • @sentry/node: SDK for Node, including integrations for Express, Koa, Loopback, Sails and Connect
  • @sentry/angular: browser SDK with Angular integration enabled
  • @sentry/react: browser SDK with React integration enabled
  • @sentry/ember: browser SDK with Ember integration enabled
  • @sentry/vue: browser SDK with Vue integration enabled
  • @sentry/gatsby: SDK for Gatsby
  • @sentry/nextjs: SDK for Next.js
  • @sentry/integrations: Pluggable integrations that can be used to enhance JS SDKs
  • @sentry/electron: SDK for Electron with support for native crashes
  • @sentry/react-native: SDK for React Native with support for native crashes
  • @sentry/capacitor: SDK for Capacitor Apps and Ionic 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';

init({
  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/tracing: Provides Integrations and extensions for Performance Monitoring / Tracing
  • @sentry/hub: Global state management of SDKs
  • @sentry/minimal: Minimal SDK for library authors to add Sentry support
  • @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/types: Types used in all packages.