Webpack plugins for common Bugsnag actions
npm install webpack-bugsnag-plugins


Webpack plugins for reporting new builds to your dashboard and uploading source maps for deobfuscating stack traces.
```
npm install --save-dev webpack-bugsnag-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 BugsnagapiKey: 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 releaseStages)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 repositoryrevision: 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 / })
: []
)
}
`
---
`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 uploaderapiKey: 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 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 sourcemapsendpoint: 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'
})
: []
)
}
``
These plugins have been tested with webpack versions 3, 4 and 5.
- Search open and closed issues issues for similar problems
- Report a bug or request a feature
- Email support@bugsnag.com
All contributors are welcome! See our contributing guide.
This module is free software released under the MIT License. See LICENSE.txt for details.