4af27fb29e
CSS files (and maps for them) were being uploaded for no good reason. This feature adds a whitelist of bundle file extensions to upload source maps for. It is unlikely that anyone will ever need anything but ".js" but the option is there just in case. Fixes #24. |
||
---|---|---|
bin | ||
test | ||
.gitignore | ||
.travis.yml | ||
CHANGELOG.md | ||
CONTRIBUTING.md | ||
LICENSE.txt | ||
README.md | ||
build-reporter-plugin.js | ||
index.js | ||
package-lock.json | ||
package.json | ||
source-map-uploader-plugin.js |
README.md
webpack-bugsnag-plugins
Webpack plugins for common Bugsnag actions.
Installation
npm install --save-dev webpack-bugsnag-plugins
Plugins
new BugsnagBuildReporterPlugin(build, opts):
WebpackPlugin
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 differentreleaseStage
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 nearestpackage.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 thewhoami
command)autoAssignRelease: boolean
automatically associate this build with any new error events and sessions that are received for thereleaseStage
until a subsequent build notification is received. If this is set totrue
and noreleaseStage
is provided the build will be applied to'production'
.
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 toprocess.cwd()
endpoint: string
post the build payload to a URL other than the default (https://build.bugsnag.com
)
Usage
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
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 asoutput.publicPath
in your Webpack config.appVersion: string
the version of the application you are buildingoverwrite: 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
)
Usage
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'
})
: []
)
}
Support
- Search open and closed issues issues for similar problems
- Report a bug or request a feature
- Email support@bugsnag.com
Contributing
All contributors are welcome! See our contributing guide.
License
This module is free software released under the MIT License. See LICENSE.txt for details.