ProgressPlugin
object = { boolean activeModules = true, boolean entries = false, function (number percentage, string message, [string] ...args) handler, boolean modules = true, number modulesCount = 500, boolean profile = false }
function (number percentage, string message, [string] ...args)
The ProgressPlugin provides a way to customize how progress is reported during a compilation.
Usage
Create an instance of ProgressPlugin and provide one of the allowed params.
Providing function
Provide a handler function which will be called when hooks report progress. handler function arguments:
-
percentage: a number between 0 and 1 indicating the completion percentage of the compilation -
message: a short description of the currently-executing hook -
...args: zero or more additional strings describing the current progress
const handler = (percentage, message, ...args) => {
// e.g. Output each progress message directly to the console:
console.info(percentage, message, ...args);
};
new webpack.ProgressPlugin(handler); Providing object
When providing an object to the ProgressPlugin, following properties are supported:
-
activeModulesshow's active modules count and one active module in progress message -
entriesshow's entries count in progress message handler: function (percentage, message, ...args)-
modulesshow's modules count in progress message -
modulesCounta minimum modules count to start with. Takes effect whenmodulesproperty is enabled. -
profiletellsProgressPluginto collect profile data for progress steps.
new webpack.ProgressPlugin({
entries: true,
modules: true,
modulesCount: 100,
profile: true,
handler: (percentage, message, ...args) => {
// custom logic
}
}); Supported Hooks
The following hooks report progress information to ProgressPlugin.
Hooks marked with * allow plugins to report progress information using
reportProgress. For more, see Plugin API: Reporting Progress
Compiler
- compilation
- emit*
- afterEmit*
- done
Compilation
- buildModule
- failedModule
- succeedModule
- finishModules*
- seal*
- optimizeDependenciesBasic*
- optimizeDependencies*
- optimizeDependenciesAdvanced*
- afterOptimizeDependencies*
- optimize*
- optimizeModulesBasic*
- optimizeModules*
- optimizeModulesAdvanced*
- afterOptimizeModules*
- optimizeChunksBasic*
- optimizeChunks*
- optimizeChunksAdvanced*
- afterOptimizeChunks*
- optimizeTree*
- afterOptimizeTree*
- optimizeChunkModulesBasic*
- optimizeChunkModules*
- optimizeChunkModulesAdvanced*
- afterOptimizeChunkModules*
- reviveModules*
- optimizeModuleOrder*
- advancedOptimizeModuleOrder*
- beforeModuleIds*
- moduleIds*
- optimizeModuleIds*
- afterOptimizeModuleIds*
- reviveChunks*
- optimizeChunkOrder*
- beforeChunkIds*
- optimizeChunkIds*
- afterOptimizeChunkIds*
- recordModules*
- recordChunks*
- beforeHash*
- afterHash*
- recordHash*
- beforeModuleAssets*
- beforeChunkAssets*
- additionalChunkAssets*
- record*
- additionalAssets*
- optimizeChunkAssets*
- afterOptimizeChunkAssets*
- optimizeAssets*
- afterOptimizeAssets*
- afterSeal*
Source
© JS Foundation and other contributors
Licensed under the Creative Commons Attribution License 4.0.
https://v4.webpack.js.org/plugins/progress-plugin