build-time-analysis-webpack-plugin
Version:
A webpack plugin that output the build time file by file as a JSON format with filters
77 lines (55 loc) • 3.11 kB
Markdown
# build-time-analysis-webpack-plugin
A webpack plugin that output the build time file by file as a JSON format with filters
[](https://www.codacy.com/app/hijiangtao/build-time-analysis-webpack-plugin?utm_source=github.com&utm_medium=referral&utm_content=hijiangtao/build-time-analysis-webpack-plugin&utm_campaign=badger)
[](https://www.npmjs.com/package/build-time-analysis-webpack-plugin)
[](https://github.com/hijiangtao/build-time-analysis-webpack-plugin/releases)
[](https://www.npmjs.com/package/build-time-analysis-webpack-plugin)
[]()
[](https://github.com/hijiangtao/build-time-analysis-webpack-plugin/issues)
[](https://github.com/hijiangtao/build-time-analysis-webpack-plugin/pulls)
[](https://github.com/hijiangtao/build-time-analysis-webpack-plugin/blob/master/LICENSE)
[](https://nodei.co/npm/build-time-analysis-webpack-plugin/)
## USAGE
Install the plugin via `npm` or `yarn`:
```shell
npm install --save-dev build-time-analysis-webpack-plugin
// or
yarn add build-time-analysis-webpack-plugin --dev
```
Then require it in your `webpack.config.js`:
```javascript
const ModuleBuildTimeCalWebpackPlugin = require('build-time-analysis-webpack-plugin');
module.exports = {
plugins: [
new ModuleBuildTimeCalWebpackPlugin({
filename: 'modules.json',
includeNodeModules: false,
callback: () => {},
}),
]
};
```
Then you can pack your codes via commands such as `npm run build`, plugin's result will be output to `modules.json` file by default (however, you can customize it via `options` that passed to plugin constructor). The output JSON format is something like this:
```json
{
'src/index.js': {
name: 'src/index.js',
start: 1,
end: 4,
time: 3,
loaders: [ ... ]
},
...
}
```
## API
### filename [String, optional]
A string with file extension, The filename that you want plugin output the result to, default to `modules.json`.
### includeNodeModules [Boolean, optional]
Whether to include the build time result of files inside `node_modules`, default to `false`.
### callback [Function, optional]
The callback handler you want plugin called after resolve all process (correspondind lifecycle should be `compilation.hooks.finishModules`), default to `() => {}`.
## CONTACT
@hijiangtao
## LICENSE
MIT