Webpack Manifest Plugin Build Status codecov Gitter

Webpack plugin for generating an asset manifest.

NOTE: The following is related to the next major version of webpack-manifest-plugin, please check https://github.com/danethurber/webpack-manifest-plugin/blob/1.x/README.md for v1 documentation

Install

bash npm install --save-dev webpack-manifest-plugin

Usage

In your webpack.config.js

```javascript 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:

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

API:

```js // webpack.config.js

module.exports = { output: { publicPath }, plugins: [ new ManifestPlugin(options) ] } ```

options.fileName

Type: String
Default: manifest.json

The manifest filename in your output directory.

options.publicPath

Type: String Default: output.publicPath

A path prefix that will be added to values of the manifest.

options.basePath

Type: String

A path prefix for all keys. Useful for including your output path in the manifest.

options.writeToFileEmit

Type: Boolean
Default: false

If set to true will emit to build folder and memory in combination with webpack-dev-server

options.seed

Type: Object
Default: {}

A cache of key/value pairs to used to seed the manifest. This may include a set of custom key/value pairs to include in your manifest, or may be used to combine manifests across compilations in multi-compiler mode. To combine manifests, pass a shared seed object to each compiler's ManifestPlugin instance.

options.filter

Type: Function(FileDescriptor): Boolean

Filter out files. FileDescriptor typings

options.map

Type: Function(FileDescriptor): FileDescriptor

Modify files details before the manifest is created. FileDescriptor typings

options.sort

Type: Function(FileDescriptor): number

Sort files before they are passed to generate. FileDescriptor typings

options.generate

Type: Function(Object, FileDescriptor, string[]): Object
Default: (seed, files, entrypoints) => files.reduce((manifest, {name, path}) => ({...manifest, [name]: path}), seed)

Create the manifest. It can return anything as long as it's serialisable by JSON.stringify. FileDescriptor typings

options.serialize

Type: Function(Object): string
Default: (manifest) => JSON.stringify(manifest, null, 2)

Output manifest file in different format then json (i.e. yaml).

FileDescriptor

ts FileDescriptor { path: string; name: string | null; isInitial: boolean; isChunk: boolean; chunk?: Chunk; isAsset: boolean; isModuleAsset: boolean; }

chunk

Type: Chunk

Only available is isChunk is true

isInitial

Type: Boolean

Is required to run you app. Cannot be true if isChunk is false.

isModuleAsset

Type: Boolean

Is required by a module. Cannot be true if isAsset is false.

License

MIT © Dane Thurber