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-dev
const 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.