Skip to content

ElMassimo/vite-plugin-bugsnag

Repository files navigation

vite-plugin-bugsnag

Report builds and upload source maps to bugsnag


Why? 🤔

There is no official plugin from Bugsnag for Vite.js.

This plugin provides the same functionality as webpack-bugsnag-plugins in Vite.js.

The API is similar to simplify the migration when moving away from Webpack.

Features ⚡️

  • 🔒 Written in TypeScript
  • 🚀 Quick setup with Vite plugins
  • 📖 Config options are fully documented in JSDoc

Installation 💿

Install the package as a development dependency:

npm i -D vite-plugin-bugsnag # yarn add -D vite-plugin-bugsnag

Usage 🚀

Two plugins are provided, one to report build information, and another one to upload sourcemaps.

Both plugins accept apiKey, appVersion, and endpoint, so you can share a config object.

For example:

import { defineConfig } from 'vite'
import { BugsnagBuildReporterPlugin, BugsnagSourceMapUploaderPlugin } from 'vite-plugin-bugsnag'

const isDistEnv = process.env.RAILS_ENV === 'production'

const bugsnagOptions = {
  apiKey: process.env.BUGSNAG_API_KEY,
  appVersion: process.env.APP_VERSION,
}

export default defineConfig({
  plugins: [
    isDistEnv && BugsnagBuildReporterPlugin({ ...bugsnagOptions, releaseStage: process.env.RAILS_ENV }),
    isDistEnv && BugsnagSourceMapUploaderPlugin({ ...bugsnagOptions, overwrite: true }),
  ],
})

BugsnagBuildReporterPlugin (options)

Use this plugin to report your application's build to Bugsnag.

import { defineConfig } from 'vite'
import { BugsnagBuildReporterPlugin } from 'vite-plugin-bugsnag'

export default defineConfig({
  plugins: [
    BugsnagBuildReporterPlugin({
      apiKey: 'YOUR_API_KEY',
      appVersion: '1.2.3',
    }),
  ],
})
  • It can auto detect source control from .git, .hg and package.json
  • Hooks into writeBundle to upload the information once the build is finished
  • If the build fails, the build report will not be sent

BugsnagSourceMapUploaderPlugin (options)

Use this plugin to upload your application's sourcemaps to Bugsnag.

import { defineConfig } from 'vite'
import { BugsnagSourceMapUploaderPlugin } from 'vite-plugin-bugsnag'

export default defineConfig({
  build: {
    sourcemap: true,
  },
  plugins: [
    BugsnagSourceMapUploaderPlugin({
      apiKey: 'YOUR_API_KEY',
      appVersion: '1.2.3',
      base: 'https://your-app.xyz/assets/',
    }),
  ],
})

License

This library is available as open source under the terms of the MIT License.

About

Report builds and upload source maps to Bugsnag

Topics

Resources

License

Contributing

Stars

Watchers

Forks

Contributors 4

  •  
  •  
  •  
  •