node package manager

@newrelic/publish-sourcemap

Overview

This module is for publishing source maps to New Relic Browser. It can be used from the command line or programatically from a node script.

Published source maps are used to automatically unminify stack traces for JavaScript errors in the New Relic Browser Monitoring product.

Please see the source map documentation for more details.

Command Line

Install

In order to publish source maps from the command line, install the library globally.

npm install -g @newrelic/publish-sourcemap

Usage

Options can be provided on the command line or as environment variables.

To publish a source map:
publish-sourcemap [dist/sourcefile.js.map || https://example.com/sourcefile.js.map] [https://example.com/sourcefile.js]  --applicationId=[ID] --nrAdminKey=[apiKey]

Options:
  --applicationId  Browser application id (APPLICATION_ID)
  --nrAdminKey     New Relic admin api key (NR_ADMIN_KEY)
  --releaseName    [Optional] unique identifer for the release name
                   (RELEASE_NAME)
  --releaseId      [Optional] unique version for the release identifier
                   (RELEASE_ID)
To list source maps for an application:
list-sourcemaps --applicationId=[ID] --nrAdminKey=[apiKey] --limit=[20] --offset=[0]

Options:
  --applicationId  Browser application id (APPLICATION_ID)
  --nrAdminKey     New Relic admin api key (NR_ADMIN_KEY)
  --limit          Max number of results to return, default 20
  --offset         Number of results to skip before returning, default 0
To delete a source map:
delete-sourcemap --applicationId=[ID] --nrAdminKey=[apiKey] --sourcemapId=[sourcemapId]

Options:
  --applicationId  Browser application id (APPLICATION_ID)
  --nrAdminKey     New Relic admin api key (NR_ADMIN_KEY)
  --sourcemapId    Unique id generated for a source map

Note that you may have to use list-sourcemaps to get the unique id for the source map to delete.

From javascript

Install

The module can also be used from a JavaScript build tool such as gulp.

npm install --save-dev @newrelic/publish-sourcemap
var publishSourcemap = require(‘@newrelic/publish-sourcemap’).publishSourcemap
 
publishSourcemap({
  sourcemapPath: './dist/bundle.js.map', // from a local file 
  // sourcemapUrl: 'https://example.com/sourcefile.js.map', // or from a URL 
  javascriptUrl: 'https://example.com/assets/bundle.js',
  applicationId: 1234,
  nrAdminKey: 'APIKEY',
  releaseName: 'OPTIONAL RELEASE NAME',
  releaseId: 'OPTIONAL RELEASE ID',
}, function (err) { console.log(err || 'Source map upload done')})
var deleteSourcemap = require(‘@newrelic/publish-sourcemap’).deleteSourcemap
 
deleteSourcemap({
  sourcemapId: 'aaaaaaaa-bbbb-1010-bbbb-cccccccccccc',
  applicationId: 1234,
  nrAdminKey: 'APIKEY',
}, function (err) { console.log(err || 'Deleted source map')})
var listSourcemaps = require(‘@newrelic/publish-sourcemap’).listSourcemaps
 
listSourcemaps({
  applicationId: 1234,
  nrAdminKey: 'APIKEY',
  limit: 20,
  offset: 20
}, function (err, res) { console.log(err || res.body)})