Skip to content

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

License

Notifications You must be signed in to change notification settings

wuct/elastic-apm-sourcemap-webpack-plugin

Repository files navigation

ElasticAPMSourceMapPlugin

npm Build Status codecov Renovate enabled

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

About

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

Resources

License

Stars

Watchers

Forks

Packages

No packages published