esbuild

Upload your source maps with the Sentry esbuild Plugin.

This guide assumes you are using a Sentry SDK on version 7.47.0 or higher.

If you are on an older version and you want to upload source maps we recommend upgrading your SDK to the newest version.

You can use the Sentry esbuild plugin to automatically create releases and upload source maps to Sentry when bundling your app.

The easiest way to configure uploading source maps with esbuild is by using the Sentry Wizard:

Copied
npx @sentry/wizard@latest -i sourcemaps

The wizard will guide you through the following steps:

  • Logging into Sentry and selecting a project
  • Installing the necessary Sentry packages
  • Configuring your build tool to generate and upload source maps
  • Configuring your CI to upload source maps

If you want to configure source maps upload with esbuild manually, follow the steps below.

Install the Sentry esbuild plugin:

Copied
npm install @sentry/esbuild-plugin --save-dev

To upload source maps you have to configure an auth token. Auth tokens can be passed to the plugin explicitly with the authToken option, with a SENTRY_AUTH_TOKEN environment variable, or with an .env.sentry-build-plugin file in the working directory when building your project. We recommend you add the auth token to your CI/CD environment as an environment variable.

Learn more about configuring the plugin in our Sentry esbuild Plugin documentation.

.env.sentry-build-plugin
Copied
SENTRY_AUTH_TOKEN=sntrys_YOUR_TOKEN_HERE

Example:

esbuild.config.js
Copied
const {sentryEsbuildPlugin} = require('@sentry/esbuild-plugin');

require('esbuild').build({
  sourcemap: true, // Source map generation must be turned on
  plugins: [
    // Put the Sentry esbuild plugin after all other plugins
    sentryEsbuildPlugin({
      org: 'example-org',
      project: 'example-project',
      authToken: process.env.SENTRY_AUTH_TOKEN,
    }),
  ],
});

The Sentry esbuild plugin doesn't upload source maps in watch-mode/development-mode. We recommend running a production build to test your configuration.

Help improve this content
Our documentation is open source and available on GitHub. Your contributions are welcome, whether fixing a typo (drat!) or suggesting an update ("yeah, this would be better").