npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

@newrelic/webpack-plugin

v0.4.2

Published

An experimental plugin to allow New Relic's NodeJS Agent to work with webpack compiled server side javascript.

Downloads

20,581

Readme

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 [email protected].

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.