Plugins

webpack has a rich plugin interface. Most of the features within webpack itself use this plugin interface. This makes webpack flexible.

Name | Description -------------------------------------------------------- | ----------- BannerPlugin | Add a banner to the top of each generated chunk CommonsChunkPlugin | Extract common modules shared between chunks CompressionWebpackPlugin | Prepare compressed versions of assets to serve them with Content-Encoding ContextReplacementPlugin | Override the inferred context of a require expression CopyWebpackPlugin | Copies individual files or entire directories to the build directory DefinePlugin | Allow global constants configured at compile time DllPlugin | Split bundles in order to drastically improve build time EnvironmentPlugin | Shorthand for using the DefinePlugin on process.env keys EslintWebpackPlugin | A ESLint plugin for webpack HotModuleReplacementPlugin | Enable Hot Module Replacement (HMR) HtmlWebpackPlugin | Easily create HTML files to serve your bundles IgnorePlugin | Exclude certain modules from bundles LimitChunkCountPlugin | Set min/max limits for chunking to better control chunking MinChunkSizePlugin | Keep chunk size above the specified limit MiniCssExtractPlugin | creates a CSS file per JS file which requires CSS NoEmitOnErrorsPlugin | Skip the emitting phase when there are compilation errors NormalModuleReplacementPlugin | Replace resource(s) that matches a regexp NpmInstallWebpackPlugin | Auto-install missing dependencies during development ProgressPlugin | Report compilation progress ProvidePlugin | Use modules without having to use import/require SourceMapDevToolPlugin | Enables a more fine grained control of source maps EvalSourceMapDevToolPlugin | Enables a more fine grained control of eval source maps TerserPlugin | Uses Terser to minify the JS in your project

For more third-party plugins, see the list from awesome-webpack.