Socket
Socket
Sign inDemoInstall

@honeybadger-io/webpack

Package Overview
Dependencies
96
Maintainers
8
Versions
31
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

@honeybadger-io/webpack

Webpack plugin to upload source maps to Honeybadger's API - http://docs.honeybadger.io/guides/source-maps.html


Version published
Maintainers
8
Weekly downloads
18,922
decreased by-9.32%

Weekly downloads

Readme

Source

Honeybadger's Webpack Source Map Plugin

Node CI npm version npm dm npm dt

Webpack plugin to upload JavaScript sourcemaps to Honeybadger. You can also send deployment notifications.

Word Up! to the thredUP development team for a similar webpack plugin they have authored.

Installation

# npm
npm install @honeybadger-io/webpack --save-dev

# yarn
yarn add @honeybadger-io/webpack --dev

Configuration

Plugin parameters

These plugin parameters correspond to the Honeybadger Source Map Upload API and Deployments API.

apiKey (required)
The API key of your Honeybadger project
assetsUrl (required)
The base URL to production assets (scheme://host/path)*wildcards are supported. The plugin combines assetsUrl with the generated minified js file name to build the API parameter minified_url
endpoint (optional — default: "https://api.honeybadger.io/v1/source_maps")
Where to upload your sourcemaps to. Perhaps you have a self hosted sourcemap server you would like to upload your sourcemaps to instead of honeybadger.
revision (optional — default: "main")
The deploy revision (i.e. commit hash) that your source map applies to. This could also be a code version. For best results, set it to something unique every time your code changes. See the Honeybadger docs for examples.
silent (optional — default: "null/false")
If true, silence log information emitted by the plugin.
ignoreErrors (optional — default: false)
If true, webpack compilation errors are treated as warnings.
retries (optional — default: 3, max: 10)
This package implements fetch retry functionality via https://github.com/vercel/fetch-retry
Retrying helps fix issues like `ECONNRESET` and `SOCKETTIMEOUT` errors and retries on 429 and 500 errors as well.
workerCount (optional — default: 5, min: 1)
Sourcemaps are uploaded in parallel by a configurable number of workers. Increase or decrease this value to configure how many sourcemaps are being uploaded in parallel.
Limited parallelism helps with connection issues in Docker environments.
deploy (optional — default: false)
Configuration for deployment notifications. To disable deployment notifications, ignore this option. To enable deployment notifications, set this to true, or to an object containing any of these fields (see the API reference):
environment
The environment name, for example, "production"
repository
The base URL of the VCS repository (HTTPS-style), for example, "https://github.com/yourusername/yourrepo"
localUsername
The name of the user that triggered this deploy, for example, "Jane"

Vanilla webpack.config.js

const HoneybadgerSourceMapPlugin = require('@honeybadger-io/webpack')
const ASSETS_URL = 'https://cdn.example.com/assets';
const webpackConfig = {
  plugins: [new HoneybadgerSourceMapPlugin({
    apiKey: 'abc123',
    assetsUrl: ASSETS_URL,
    revision: 'main',
    // You can also enable deployment notifications:
    deploy: {
       environment: process.env.NODE_ENV,
       repository: "https://github.com/yourusername/yourrepo"
    }
  })]
}

Rails Webpacker config/webpack/environment.js

const { environment } = require('@rails/webpacker')
const HoneybadgerSourceMapPlugin = require('@honeybadger-io/webpack')

// Assumes Heroku / 12-factor application style ENV variables
// named GIT_COMMIT, HONEYBADGER_API_KEY, ASSETS_URL
const revision = process.env.GIT_COMMIT || 'main'

environment.plugins.append(
  'HoneybadgerSourceMap',
  new HoneybadgerSourceMapPlugin({
    apiKey: process.env.HONEYBADGER_API_KEY,
    assetsUrl: process.env.ASSETS_URL,
    silent: false,
    ignoreErrors: false,
    revision: revision
  }))

module.exports = environment

Development

  1. Run npm install
  2. Run the tests with npm test
  3. Build/test on save with npm run build:watch and npm run test:watch

See the /example folder for a project to test against.

License

This package is MIT licensed. See the MIT-LICENSE file in this folder for details.

Keywords

FAQs

Last updated on 23 Nov 2023

Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc