zshannon / vite-plugin-bugsnag

Report builds and upload source maps to Bugsnag

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

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',
      publicPath: '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

License:MIT License


Languages

Language:TypeScript 76.3%Language:JavaScript 23.1%Language:Shell 0.6%