# webpack-bugsnag-plugins **Repository Path**: mirrors_docker/webpack-bugsnag-plugins ## Basic Information - **Project Name**: webpack-bugsnag-plugins - **Description**: Webpack plugins for common Bugsnag actions. - **Primary Language**: Unknown - **License**: MIT - **Default Branch**: next - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2022-07-03 - **Last Updated**: 2025-12-27 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # webpack-bugsnag-plugins [![Build status](https://travis-ci.org/bugsnag/webpack-bugsnag-plugins.svg?branch=master)](https://travis-ci.org/bugsnag/webpack-bugsnag-plugins) [![NPM](https://img.shields.io/npm/v/webpack-bugsnag-plugins.svg)](https://npmjs.org/package/webpack-bugsnag-plugins) Webpack plugins for common Bugsnag actions. ## Installation ``` npm install --save-dev webpack-bugsnag-plugins ``` ## Plugins ### `new BugsnagBuildReporterPlugin(build, opts):`[`WebpackPlugin`](https://webpack.js.org/concepts/plugins/) ```js const { BugsnagBuildReporterPlugin } = require('webpack-bugsnag-plugins') ``` Reports your application's build to Bugsnag. It can auto detect source control from `.git`, `.hg` and `package.json`. This plugin hooks into the `'after-emit'` event once all output files have been generated by the Webpack compiler. If anything causes the compilation to fail before this step, the build report will not get sent. - `build` describes the build you are reporting to Bugsnag - `apiKey: string` your Bugsnag API key __[required]__ - `appVersion: string` the version of the application you are building __[required]__ - `releaseStage: string` `'production'`, `'staging'` etc. (leave blank if this build can be released to different `releaseStage`s) - `sourceControl: object` an object describing the source control of the build (if not specified, the module will attempt to detect source control information from `.git`, `.hg` and the nearest `package.json`) - `provider: string` can be one of: `'github'`, `'github-enterprise'`, `'gitlab'`, `'gitlab-onpremise'`, `'bitbucket'`, `'bitbucket-server'` - `repository: string` a URL (`git`/`ssh`/`https`) pointing to the repository, or webpage representing the repository - `revision: string` the unique identifier for the commit (e.g. git SHA) - `builderName: string` the name of the person/machine that created this build (defaults to the result of the `whoami` command) - `autoAssignRelease: boolean` automatically associate this build with any new error events and sessions that are received for the `releaseStage` until a subsequent build notification is received. If this is set to `true` and no `releaseStage` is provided the build will be applied to `'production'`. - `metadata: object` an object describing key/value pairs containing any custom build information that provides useful metadata about the build. e.g. build configuration parameters, versions of dependencies, reason for the build etc. - `opts` - `logLevel: string` the minimum severity of log to output (`'debug'`, `'info'`, `'warn'`, `'error'`), default `'warn'` - `logger: object` provide a different logger object `{ debug, info, warn, error }` - `path: string` the path to search for source control info, defaults to `process.cwd()` - `endpoint: string` post the build payload to a URL other than the default (`https://build.bugsnag.com`) #### Usage ```js const { BugsnagBuildReporterPlugin } = require('webpack-bugsnag-plugins') module.exports = { entry: './app.js', output: { path: __dirname, filename: './bundle.js' }, plugins: [].concat( // It's a good idea to only run this plugin when you're building a bundle // that will be released, rather than for every development build isDistEnv ? new BugsnagBuildReporterPlugin({ apiKey: 'YOUR_API_KEY', appVersion: '1.2.3' }, { /* opts */ }) : [] ) } ``` --- ### `new BugsnagSourceMapUploaderPlugin(opts):`[`WebpackPlugin`](https://webpack.js.org/concepts/plugins/) ```js const { BugsnagSourceMapUploaderPlugin } = require('webpack-bugsnag-plugins') ``` Upload your application's sourcemap(s) to Bugsnag. When Webpack is done producing output, this plugin detects sourcemaps for any output chunks and uploads them to Bugsnag. - `opts` provide options to the sourcemap uploader - `apiKey: string` your Bugsnag API key __[required]__ - `publicPath: string` the path to your bundled assets (as the browser will see them). This option must either be provided here, or as [`output.publicPath`](https://webpack.js.org/configuration/output/#output-publicpath) in your Webpack config. - `appVersion: string` the version of the application you are building (defaults to the `version` set in your project's package.json file, if one is specified there) - `codeBundleId: string` the codeBundleId (e.g. for NativeScript projects) - `overwrite: boolean` whether you want to overwrite previously uploaded sourcemaps - `endpoint: string` post the build payload to a URL other than the default (`https://upload.bugsnag.com`) - `ignoredBundleExtensions: string[]` a list of bundle file extensions which shouldn't be uploaded (default `[ '.css' ]`) #### Usage ```js const { BugsnagSourceMapUploaderPlugin } = require('webpack-bugsnag-plugins') module.exports = { entry: './app.js', devtool: 'source-map', output: { path: __dirname, filename: './bundle.js', publicPath: 'https://your-app.xyz/assets/' }, plugins: [].concat( // It's a good idea to only run this plugin when you're building a bundle // that will be released, rather than for every development build isDistEnv ? new BugsnagSourceMapUploaderPlugin({ apiKey: 'YOUR_API_KEY', appVersion: '1.2.3' }) : [] ) } ``` ## Supported Webpack versions These plugins have been tested with webpack versions 3, 4 and 5. ## Support - [Search open and closed issues](https://github.com/bugsnag/webpack-bugsnag-plugins/issues?q=is%3Aissue) issues for similar problems - [Report a bug or request a feature](https://github.com/bugsnag/webpack-bugsnag-plugins/issues/new) - Email [support@bugsnag.com](mailto:support@bugsnag.com) ## Contributing All contributors are welcome! See our [contributing guide](CONTRIBUTING.md). ## License This module is free software released under the MIT License. See [LICENSE.txt](LICENSE.txt) for details.