Skip to content
A Webpack plugin which copies module sources to a separate directory
JavaScript
Branch: master
Clone or download

Latest commit

Files

Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
.github
tests Fix test name Nov 15, 2019
.gitignore Update gitignore to not ignore simulated node_modules folder in tests Nov 16, 2017
LICENSE.txt
README.md
index.js
package-lock.json Upgrade webpack - Closes #17 Feb 6, 2020
package.json

README.md

Copy Modules Plugin

Table Of Contents

Introduction

copy-modules-webpack-plugin is a Webpack plugin which copies all of the source files which go into the webpack bundle(s) to a separate directory. This enables external tools such as Sonatype Nexus Lifecycle to analyze only those source files which will be included in the final bundle.

N.B. Since version 2.0 the plugin is only compatible with webpack 4.0 and later. Use 1.x releases for webpack 3.

Installation

npm install --save-dev copy-modules-webpack-plugin

Usage

Instantiate the plugin with the desired configuration options and include it in the plugins array of your webpack configuration:

const CopyModulesPlugin = require("copy-modules-webpack-plugin");

module.exports = {
  ...
  plugins: [
    new CopyModulesPlugin({
      destination: 'webpack-modules'
    })
  ]
}

Configuration

copy-modules-webpack-plugin currently supports the following configuration options:

destination
The destination directory where the modules will be copied.
includePackageJsons
Set this to true to also copy the package.json file associated with each copied module file. This may be useful if you are analyzing the output with a tool that has need for additional metadata about each module (Default: false)

The Fine Print

It is worth noting that this is NOT SUPPORTED by Sonatype, and is a contribution of ours to the open source community (read: you!)

Remember:

  • Use this contribution at the risk tolerance that you have
  • Do NOT file Sonatype support tickets related to Webpack support
  • DO file issues here on GitHub, so that the community can pitch in

Phew, that was easier than I thought. Last but not least of all:

Have fun creating and using this plugin, we are glad to have you here!

Getting help

Looking to contribute to our code but need some help? There's a few ways to get information:

You can’t perform that action at this time.