UNPKG

1.3 kBJavaScriptView Raw
1'use strict';
2
3var debug = require('debug');
4var notifier = require('node-notifier');
5var webpack = require('webpack');
6var WebpackDevServer = require('webpack-dev-server');
7
8module.exports = function (webpackConfig) {
9 var NAME = webpackConfig.displayName;
10 var PORT = webpackConfig.hotloadPort;
11 var HOST = "http://localhost:" + PORT;
12
13 var log = debug('webpack:dev');
14 var compiler = webpack(webpackConfig);
15
16 compiler.plugin("done", function (stats) {
17 var errors = stats.compilation.errors;
18 errors.length && errors.forEach(function (error) {
19 console.log(error.message);
20
21 try {
22 notifier.notify({
23 title: NAME + ' ' + error.module.rawRequest,
24 message: error.error.message.split(': ').join('\n')
25 })
26 } catch (e) { console.log(e.message) }
27 });
28 });
29
30 var server = new WebpackDevServer(compiler, {
31 contentBase: HOST,
32 publicPath: webpackConfig.output.publicPath,
33 noInfo: true,
34 hot: true,
35 quiet: true
36 });
37
38 log("Starting");
39
40 server.listen(PORT, 'localhost', function (err, result) {
41 if (err) {
42 log("Error:", err);
43 }
44
45 log("Listening on port " + PORT);
46 });
47}
48