webpack-manifest-plugin

webpack plugin for generating asset manifests

  • Owner: shellscape/webpack-manifest-plugin
  • Platform:
  • License:: MIT License
  • Category::
  • Topic:
  • Like:
    0
      Compare:

Github stars Tracking Chart

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

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

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"
}

API:

// webpack.config.js

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

options.fileName

Type: String
Default: manifest.json

By default the plugin will emit manifest.json to your output directory. Can override with an absolute path.

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

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

chunk

Type: Chunk

Only available if 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

Main metrics

Overview
Name With Ownershellscape/webpack-manifest-plugin
Primary LanguageJavaScript
Program languageJavaScript (Language Count: 3)
Platform
License:MIT License
所有者活动
Created At2015-03-21 22:36:51
Pushed At2025-03-11 23:18:05
Last Commit At2025-03-11 19:15:46
Release Count40
Last Release Namev5.0.1 (Posted on )
First Release Namev0.0.2 (Posted on 2015-05-21 14:59:58)
用户参与
Stargazers Count1.4k
Watchers Count16
Fork Count183
Commits Count211
Has Issues Enabled
Issues Count165
Issue Open Count1
Pull Requests Count83
Pull Requests Open Count0
Pull Requests Close Count55
项目设置
Has Wiki Enabled
Is Archived
Is Fork
Is Locked
Is Mirror
Is Private