WIP - add extractor, generate snippet_data
This commit is contained in:
131
node_modules/webpack-stats-plugin/README.md
generated
vendored
Normal file
131
node_modules/webpack-stats-plugin/README.md
generated
vendored
Normal file
@ -0,0 +1,131 @@
|
||||
Webpack Stats Plugin
|
||||
====================
|
||||
|
||||
[![Build Status][trav_img]][trav_site]
|
||||
|
||||
This plugin will ingest the webpack
|
||||
[stats](https://github.com/webpack/docs/wiki/node.js-api#stats) object,
|
||||
process / transform the object and write out to a file for further consumption.
|
||||
|
||||
The most common use case is building a hashed bundle and wanting to
|
||||
programmatically refer to the correct bundle path in your Node.js server.
|
||||
|
||||
## Installation
|
||||
|
||||
The plugin is available via [npm](https://www.npmjs.com/package/webpack-stats-plugin):
|
||||
|
||||
```
|
||||
$ npm install --save webpack-stats-plugin
|
||||
```
|
||||
|
||||
## Examples
|
||||
|
||||
You can see lots of examples at
|
||||
[`demo/webpack.config.js`](demo/webpack.config.js).
|
||||
|
||||
### Basic
|
||||
|
||||
```js
|
||||
var StatsWriterPlugin = require("webpack-stats-plugin").StatsWriterPlugin;
|
||||
|
||||
module.exports = {
|
||||
plugins: [
|
||||
// Everything else **first**.
|
||||
|
||||
// Write out stats file to build directory.
|
||||
new StatsWriterPlugin({
|
||||
filename: "stats.json" // Default
|
||||
})
|
||||
]
|
||||
}
|
||||
```
|
||||
|
||||
### Custom Transform Function
|
||||
|
||||
The transform function has a signature of:
|
||||
|
||||
```js
|
||||
/**
|
||||
* Transform skeleton.
|
||||
*
|
||||
* @param {Object} data Stats object
|
||||
* @param {Object} opts Options
|
||||
* @param {Object} opts.compiler Current compiler instance
|
||||
* @returns {String} String to emit to file
|
||||
*/
|
||||
function (data, opts) {}
|
||||
```
|
||||
|
||||
which you can use like:
|
||||
|
||||
```js
|
||||
var StatsWriterPlugin = require("webpack-stats-plugin").StatsWriterPlugin;
|
||||
|
||||
module.exports = {
|
||||
plugins: [
|
||||
new StatsWriterPlugin({
|
||||
transform: function (data, opts) {
|
||||
return JSON.stringify({
|
||||
main: data.assetsByChunkName.main[0],
|
||||
css: data.assetsByChunkName.main[1]
|
||||
}, null, 2);
|
||||
}
|
||||
})
|
||||
]
|
||||
}
|
||||
```
|
||||
|
||||
## Plugins
|
||||
|
||||
* [`StatsWriterPlugin(opts)`](#statswriterplugin-opts-)
|
||||
|
||||
### `StatsWriterPlugin(opts)`
|
||||
* **opts** (`Object`) options
|
||||
* **opts.filename** (`String`) output file name (Default: "stat.json")
|
||||
* **opts.fields** (`Array`) fields of stats obj to keep (Default: \["assetsByChunkName"\])
|
||||
* **opts.transform** (`Function`) transform stats obj (Default: `JSON.stringify()`)
|
||||
|
||||
Stats writer module.
|
||||
|
||||
Stats can be a string or array (we"ll have array from using source maps):
|
||||
|
||||
```js
|
||||
"assetsByChunkName": {
|
||||
"main": [
|
||||
"cd6371d4131fbfbefaa7.bundle.js",
|
||||
"../js-map/cd6371d4131fbfbefaa7.bundle.js.map"
|
||||
]
|
||||
},
|
||||
```
|
||||
|
||||
**Note**: The stats object is **big**. It includes the entire source included
|
||||
in a bundle. Thus, we default `opts.fields` to `["assetsByChunkName"]` to
|
||||
only include those. However, if you want the _whole thing_ (maybe doing an
|
||||
`opts.transform` function), then you can set `fields: null` in options to
|
||||
get **all** of the stats object.
|
||||
|
||||
See:
|
||||
- http://webpack.github.io/docs/long-term-caching.html#get-filenames-from-stats
|
||||
- https://github.com/webpack/docs/wiki/node.js-api#stats
|
||||
|
||||
**`filename`**: The `opts.filename` option can be a file name or path relative to
|
||||
`output.path` in webpack configuration. It should not be absolute.
|
||||
|
||||
**`transform`**: By default, the retrieved stats object is `JSON.stringify`'ed
|
||||
but by supplying an alternate transform you can target _any_ output format.
|
||||
See [`demo/webpack.config.js`](demo/webpack.config.js) for various examples
|
||||
including Markdown output.
|
||||
|
||||
- **Warning**: The output of `transform` should be a `String`, not an object.
|
||||
On Node `v4.x` if you return a real object in `transform`, then webpack
|
||||
will break with a `TypeError` (See [#8](https://github.com/FormidableLabs/webpack-stats-plugin/issues/8)). Just adding a simple
|
||||
`JSON.stringify()` around your object is usually what you need to solve
|
||||
any problems.
|
||||
|
||||
## Contributions
|
||||
|
||||
Contributions welcome! Make sure to pass `$ gulp check`.
|
||||
|
||||
[trav]: https://travis-ci.org/
|
||||
[trav_img]: https://api.travis-ci.org/FormidableLabs/webpack-stats-plugin.svg
|
||||
[trav_site]: https://travis-ci.org/FormidableLabs/webpack-stats-plugin
|
||||
Reference in New Issue
Block a user