This webpack plugin is similar to webpack-shell-plugin but this allows you to execute arbitrary JavaScript instead of commands on any event hook that is exposed by the Webpack compiler.
Compatibility
Version ^2.0.0 of this plugin is compatible with webpack ^4.0.0. If you're using an older version of webpack, make sure to install the ^1.0.0 (npm install event-hooks-webpack-plugin@^1.0.0) release of this plugin.
npm install event-hooks-webpack-plugin --save-devconst EventHooksPlugin = require('event-hooks-webpack-plugin');
module.exports = {
// ...
plugins: [
new EventHooksPlugin({
eventName: () => {
// ...
}
})
]
};const EventHooksPlugin = require('event-hooks-webpack-plugin');
const { CallbackTask } = require('event-hooks-webpack-plugin/lib/tasks');
module.exports = {
// ...
plugins: [
new EventHooksPlugin({
eventName: new CallbackTask((compiler, callback) => {
// ...
callback();
})
})
]
};const EventHooksPlugin = require('event-hooks-webpack-plugin');
const { PromiseTask } = require('event-hooks-webpack-plugin/lib/tasks');
module.exports = {
// ...
plugins: [
new EventHooksPlugin({
eventName: new PromiseTask(async () => {
// ...
})
})
]
};The plugin consumes an object with webpack compiler event hook names (e.g. run, compile, or done) as keys and functions or task classes as values.