This Webpack plugin is similar to webpack-shell-plugin but it allows executing
arbitrary code instead of commands on any compiler hook that is made available by Webpack.
npm install event-hooks-webpack-plugin --save-devimport EventHooksPlugin from 'event-hooks-webpack-plugin';
export default {
// ...
plugins: [
new EventHooksPlugin({
initialize: () => {
// ...
}
})
]
};The plugin consumes an object with Webpack compiler event hook names (e.g. run, compile,
and done) as keys and functions as values.
Webpack's compiler uses Tapable which supports different classes of hooks. This plugin supports
synchronous, promise-based, and callback-based hooks through the exported tap, tapPromise and tapAsync methods.
By default, the plugin uses tap.
import EventHooksPlugin, { tapPromise, tapAsync } from 'event-hooks-webpack-plugin';
export default {
// ...
plugins: [
new EventHooksPlugin({
emit: tapAsync(() => {
// ...
}),
run: tapPromise(() => {
// ...
})
})
]
};