This is a webpack plugin that uses the node-notifier package to display build status system notifications to the user.
This is a fork of the webpack-error-notification plugin. It adds support for Windows and there is no need to manually install the
terminal-notifier
package on OS X anymore.
The plugin will notify you about the first run (success/fail), all failed runs and the first successful run after recovering from a build failure. In other words: it will stay silent if everything is fine with your build.
Use npm
to install this package:
npm install --save-dev webpack-notifier
Check the node-notifier
Requirements
whether you need to install any additional tools for your OS.
In the webpack.config.js
file:
var WebpackNotifierPlugin = require('webpack-notifier');
var config = module.exports = {
// ...
plugins: [
new WebpackNotifierPlugin(),
]
}
You can use any node-notifier options (depending on your OS) Except for options generated by the plugin itself:
title
- it can be not only a string, but also a functionmessage
- generated based on the value of other optionscontentImage
- it can be an object with images for different statusesicon
- matches withcontentImage
Title shown in the notification.
new WebpackNotifierPlugin({title: 'Webpack'});
new WebpackNotifierPlugin({title: function (params) {
return `Build status is ${params.status} with message ${params.message}`;
}});
Show status emoji icon before the message.
new WebpackNotifierPlugin({emoji: true});
Image shown in the notification. Can be a path string or object with paths.
var path = require('path');
new WebpackNotifierPlugin({contentImage: path.join(__dirname, 'logo.png')});
var path = require('path');
const statusesPaths = {
success: path.join(__dirname, 'success.png'),
warning: path.join(__dirname, 'warning.png'),
error: path.join(__dirname, 'error.png')
}
new WebpackNotifierPlugin({contentImage: statusesPaths});
If set to true
, warnings will not cause a notification.
new WebpackNotifierPlugin({excludeWarnings: true});
Trigger a notification every time. Call it "noisy-mode".
new WebpackNotifierPlugin({alwaysNotify: true});
Trigger a notification only on error.
new WebpackNotifierPlugin({onlyOnError: true});
Do not notify on the first build. This allows you to receive notifications on subsequent incremental builds without being notified on the initial build.
new WebpackNotifierPlugin({skipFirstNotification: true});