/webpack-manifest-plugin

webpack plugin for generating asset manifests

Primary LanguageJavaScript

Webpack Manifest Plugin

Webpack plugin for generating an asset manifest.

Circle CI

Usage

In your webpack.config.js

var ManifestPlugin = require('webpack-manifest-plugin');

module.exports = {
    // ...
    plugins: [
      new ManifestPlugin()
    ]
};

This will generate a manifest.json file in your root output directory with a mapping of all source file names to their corresponding output file, for example:

{
  "mods/alpha.js": "mods/alpha.1234567890.js",
  "mods/omega.js": "mods/omega.0987654321.js"
}

Configuration

A manifest is configurable using constructor options:

new ManifestPlugin({
  fileName: 'my-manifest.json',
  basePath: '/app/'
})

Options:

  • fileName: The manifest filename in your output directory (manifest.json by default).
  • basePath: A path prefix for all file references. Useful for including your output path in the manifest.
  • publicPath: A path prefix used only on output files, similar to Webpack's output.publicPath. Ignored if basePath was also provided.
  • stripSrc: removes unwanted strings from source filenames
  • writeToFileEmit: If set to true will emit to build folder and memory in combination with webpack-dev-server
  • cache: In multi-compiler mode webpack will overwrite the manifest on each compilation. Passing a shared {} as the cache option into each compilation's ManifestPlugin will combine the manifest between compilations.