Skip to content
ElasticAPMSourceMapPlugin is a Webpack plugin that uploads sourcemaps generated by Webpack to an Elastic APM server.
Branch: master
Clone or download
Latest commit 7b17b06 Jul 20, 2019
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
src chore: merge master May 9, 2019
test feat: support for webpack 3 Mar 10, 2019
types test: type tests Feb 25, 2019
.babelrc chore: remove unused babel plugins Feb 24, 2019
.editorconfig chore: init Feb 18, 2019
.eslintignore chore: init Feb 18, 2019
.eslintrc style(.eslintrc): turn off explicit-function-return-type Jun 15, 2019
.gitignore chore: init Feb 18, 2019
.travis.yml chore: remove gen doc Feb 24, 2019
LICENSE chore: init Feb 18, 2019
README.md chore: merge master May 9, 2019
package.json chore: yarn upgrade -L Jul 20, 2019
tsconfig.json test: type tests Feb 25, 2019
yarn.lock chore: yarn upgrade -L Jul 20, 2019

README.md

ElasticAPMSourceMapPlugin

npm Build Status codecov Greenkeeper badge

ElasticAPMSourceMapPlugin is a Webpack plugin that uploads sourcemaps generated by Webpack to a Elastic APM server.

Installation

Use npm:

$ npm install elastic-apm-sourcemap-webpack-plugin --save-dev

Use yarn:

$ yarn add elastic-apm-sourcemap-webpack-plugin --dev

Example

An example of webpack.config.js:

const ElasticAPMSourceMapPlugin = require('elastic-apm-sourcemap-webpack-plugin').default;
const path = require('path');
const PUBLIC_PATH = 'https://path/to/assets';

module.exports = {
  mode: 'production',
  entry: path.resolve(__dirname, './entry.js'),
  publicPath: PUBLIC_PATH,
  output: {
    path: 'build',
    filename: 'index-[hash].js'
  },
  plugins: [
    new ElasticAPMSourceMapPlugin({
      serviceName: 'SERVICE_NAME',
      serviceVersion: 'SERVICE_VERSION',
      serverURL: 'http://127.0.0.1:8200/assets/v1/sourcemaps',
      publicPath: PUBLIC_PATH,
      secret: 'SECRET',
      logLevel: 'debug'
    })
  ]
};

If you are using webpack.babel.js, you can import it without .default:

import ElasticAPMSourceMapPlugin from 'elastic-apm-sourcemap-webpack-plugin';

export default {
  // ...
  plugins: [new ElasticAPMSourceMapPlugin(/* ... */)]
};

Configuration

Pass an object to ElasticAPMSourceMapPlugin to configure the plugin. Available fields are:

serviceName: string

Required. Need to be the same value as in the APM RUM JavaScript agent configuration.

serviceVersion: string

Required. Need to be the same value as in the APM RUM JavaScript agent configuration.

serverURL: string

Required. The URL of the APM server to upload sourcemaps to.

publicPath: string

Required. The base path which will be used to create the bundle_filepath. Need to be an absolute path.

secret?: string

Optional. The secret token for uploading sourcemaps. This field is required if the APM server needs it.

logLevel?: 'info' | 'warn' | 'error' | 'trace' | 'debug' | 'silent'

Optional. Default to 'warn'. Level of the messages that ElasticAPMSourceMapPlugin will log.

ignoreErrors?: boolean

Optional. Default to false. Set it to true to avoid adding errors to the webpack compilation.

License

MIT

You can’t perform that action at this time.