Sentry uses releases to match the correct source maps to your events. You can use the Sentry Vite plugin to automatically create releases and upload source maps to Sentry when bundling your app.


npm install @sentry/vite-plugin --save-dev


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


import { defineConfig, loadEnv } from "vite";
import { sentryVitePlugin } from "@sentry/vite-plugin";

export default defineConfig(({ command, mode }) => {
  // Load env file based on `mode` in the current working directory.
  // Set the third parameter to '' to load all env regardless of the `VITE_` prefix.
  const env = loadEnv(mode, process.cwd(), '')

  return {
    build: {
      sourcemap: true, // Source map generation must be turned on
    plugins: [
      // Put the Sentry vite plugin after all other plugins
        org: "example-org",
        project: "example-project",

        // Specify the directory containing build artifacts
        include: "./dist",

        // Auth tokens can be obtained from
        // and needs the `project:releases` and `org:read` scopes
        authToken: env.VITE_SENTRY_AUTH_TOKEN,

        // Optionally uncomment the line below to override automatic release name detection
        // release: env.RELEASE,

The Sentry Vite plugin will automatically inject a release value into the SDK so you must either omit the release option from Sentry.init or make sure Sentry.init's release option matches the plugin's release option exactly:

  dsn: "",

  // When using the plugin, either remove the `release`` property here entirely or
  // make sure that the plugin's release option and the Sentry.init()'s release
  // option match exactly.
  // release: "my-example-release-1"
Help improve this content
Our documentation is open source and available on GitHub. Your contributions are welcome, whether fixing a typo (drat!) to suggesting an update ("yeah, this would be better").