Upload source maps to new relic as part of a webpack build.
npm install @edx/new-relic-source-map-webpack-plugin --save-dev
Instantiate the plugin and add it to your plugins array.
applicationId
, apiKey
, and staticAssetUrl
are required unless noop
is true
. Full list of options in the next section.
const NewRelicSourceMapPlugin = require('new-relic-source-map-webpack-plugin');
module.exports = {
...webpackConfig,
plugins: [
...yourPlugins,
new NewRelicSourceMapPlugin({
applicationId: 'YOUR NEW RELIC APP ID',
apiKey: process.env.NEW_RELIC_ADMIN_KEY,
staticAssetUrl: 'http://examplecdn.com',
noop: typeof process.env.NEW_RELIC_ADMIN_KEY === 'undefined', // upload source maps in prod builds only
})
]
}
If you're using releaseName
and releaseId
, make sure one or both are unique per build and
that you use the newrelic.addRelease
method in your code to identify the release.
Property | Type | Description |
---|---|---|
applicationId | string | applicationId as defined here |
apiKey | string | API Key as defined here |
staticAssetUrl | string | the domain your production assets are served from. Written as a complete url. Example: "https://www.examplecdn.com" |
staticAssetUrlBuilder | function | A function for building the production url your js file is built from. Will be called for every javascript file with four arguments: staticAssetUrl, the public path from your webpack config, the filename, and the webpack stats instance. Defaults to ${removeLastCharIfSlash(url)}${removeLastCharIfSlash(publicPath)}/${file} |
extensionRegex | regex | a regex used to find js files. Defaults to /\.js$/ |
noop | boolean | control boolean that decides whether or not to run the plugin. Set to true for builds where you don't want to upload assets to new relic. |
releaseName | string | [Optional] unique identifier for the release name |
releaseId | string | [Optional] unique version for the release identifier |
errorCallback | function | [Optional] A function for error callback. Default is console.warn(`New Relic sourcemap upload error: ${err}`) |