@newrelic/webpack-plugin

0.4.2 • Public • Published

New Relic Experimental header

New Relic Webpack Plugin

This project is an experimental plugin that allows New Relic's NodeJS Agent to work with webpack compiled server side javascript. This plugin does not automatically instrument any frontend javascript frameworks -- please see New Relic's browser agent documentation for more information on monitoring frontend javascript frameworks.

Installation

We distribute this plugin via NPM. To add it to your project, just run

$ npm install @newrelic/webpack-plugin

Getting Started

One installed, to get started add an externals and plugins section to your webpack configuration that looks something like this

/*...*/

const nodeExternals = require('@newrelic/webpack-plugin/lib/externals')
const NewrelicWebpackPlugin = require('@newrelic/webpack-plugin/lib/NewrelicWebpackPlugin')

module.exports = {
  /* ... */
  externals: [nodeExternals()],
  plugins: [
    new NewrelicWebpackPlugin()
  ]
  /* ... */
}

How This Works

In order to use Newrelic's NodeJS agent with webpack, you'll need to

  1. Ensure the modules New Relic instruments are listed as webpack externals.
  2. Add require('newrelic') to the top of your generated sources.

This package allows you to do both. The nodeExternals function

const nodeExternals = require('newrelic-webpack-plugin/lib/externals')

/* ... */

module.exports = {
  /* ... */
  externals: [nodeExternals()],
  /* ... */
}

is borrowed from webpack-node-externals, which is the de-facto standard way to use webpack with NodeJS server side projects. If a module the agent instruments is not listed as a webpack external, the agent will not function properly.

The NewrelicWebpackPlugin

const NewrelicWebpackPlugin = require('newrelic-webpack-plugin/lib/NewrelicWebpackPlugin')

module.exports = {
  /* ... */
  plugins: [
    new NewrelicWebpackPlugin()
  ]
  /* ... */
}

ensures that a require('newrelic') statment is added to the top of any .js asset file generated by webpack.

Testing

You can run tests for this repository via npm

$ npm run test

Support

New Relic hosts and moderates an online forum where customers can interact with New Relic employees as well as other customers to get help and share best practices. Like all official New Relic open source projects, there's a related Community topic in the New Relic Explorers Hub. You can find this project's topic/threads here:

https://discuss.newrelic.com/t/experimental-webpack-plugin-for-nodejs/88068/20

Contributing

We encourage your contributions to improve the New Relic Webpack Plugin! Keep in mind when you submit your pull request, you'll need to sign the CLA via the click-through using CLA-Assistant. You only have to sign the CLA one time per project. If you have any questions, or to execute our corporate CLA, required if your contribution is on behalf of a company, please drop us an email at opensource@newrelic.com.

License

New Relic Webpack Plugin is licensed under the Apache 2.0 License.

The New Relic Webpack Plugin also uses source code from third-party libraries. You can find full details on which libraries are used and the terms under which they are licensed in the third-party notices document.

Dependents (1)

Package Sidebar

Install

npm i @newrelic/webpack-plugin

Weekly Downloads

2,882

Version

0.4.2

License

SEE LICENSE IN LICENSE

Unpacked Size

38.8 kB

Total Files

16

Last publish

Collaborators

  • newrelic