1 | 'use strict';
|
2 |
|
3 | var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };
|
4 |
|
5 | var _webpack = require('webpack');
|
6 |
|
7 | var _webpack2 = _interopRequireDefault(_webpack);
|
8 |
|
9 | var _webpackDevMiddleware = require('webpack-dev-middleware');
|
10 |
|
11 | var _webpackDevMiddleware2 = _interopRequireDefault(_webpackDevMiddleware);
|
12 |
|
13 | var _webpackHotMiddleware = require('webpack-hot-middleware');
|
14 |
|
15 | var _webpackHotMiddleware2 = _interopRequireDefault(_webpackHotMiddleware);
|
16 |
|
17 | var _projectSettings = require('../webpack/projectSettings');
|
18 |
|
19 | var _config = require('../webpack/config');
|
20 |
|
21 | var _config2 = _interopRequireDefault(_config);
|
22 |
|
23 | var _utilities = require('../utilities');
|
24 |
|
25 | function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
26 |
|
27 | (0, _utilities.bootstrap)().then(function (_ref) {
|
28 | var server = _ref.server,
|
29 | userSettings = _ref.userSettings;
|
30 |
|
31 | var webpackAssets = {};
|
32 | var config = (0, _config2.default)({
|
33 | creatingBuild: false,
|
34 | getWebpackAssets: function getWebpackAssets(assets) {
|
35 | webpackAssets = assets;
|
36 | return JSON.stringify(assets);
|
37 | },
|
38 | userSettings: userSettings
|
39 | });
|
40 |
|
41 | (0, _utilities.log)({ message: 'Starting Webpack…' });
|
42 |
|
43 |
|
44 | var compiler = (0, _webpack2.default)(_extends({}, config, {
|
45 | devtool: 'source-map',
|
46 | entry: _extends({}, config.entry, {
|
47 | app: ['webpack-hot-middleware/client'].concat(config.entry.app)
|
48 | })
|
49 | }));
|
50 |
|
51 | (0, _utilities.log)({ message: 'Compiling initial bundle…\n' });
|
52 |
|
53 | var webpackDevMiddlewareInstance = (0, _webpackDevMiddleware2.default)(compiler, {
|
54 | stats: 'minimal',
|
55 | publicPath: config.output.publicPath
|
56 | });
|
57 | var webpackHotMiddlewareInstance = (0, _webpackHotMiddleware2.default)(compiler);
|
58 |
|
59 | webpackDevMiddlewareInstance.waitUntilValid(function () {
|
60 | (0, _utilities.log)({ message: '\n✨ Initial compilation has finished.', type: 'success' });
|
61 |
|
62 | (0, _utilities.log)({ message: 'Attaching dev-middleware & hot-middleware…' });
|
63 | try {
|
64 | server.express.use(webpackDevMiddlewareInstance);
|
65 | server.express.use(webpackHotMiddlewareInstance);
|
66 | } catch (error) {
|
67 | (0, _utilities.help)({
|
68 | displayedWhen: server && !server.express,
|
69 | warning: 'Your server needs a `this.express` to be set for attaching webpack middleware.',
|
70 | instruction: 'Example: `constructor() { this.express = express(); }`',
|
71 | link: '/dev-toolkit#custom-server',
|
72 | error: error
|
73 | });
|
74 | }
|
75 |
|
76 | (0, _utilities.log)({ message: 'Starting your Server App…\n', useSeparator: true });
|
77 | try {
|
78 | server.start({ assets: webpackAssets, buildFolder: _projectSettings.buildFolder });
|
79 | } catch (error) {
|
80 | (0, _utilities.help)({
|
81 | displayedWhen: server && typeof server.start !== 'function',
|
82 | warning: 'Your server needs a `start`-method.',
|
83 | instruction: 'Example: `start({ assets }) { this.express.listen(2000); }`',
|
84 | link: '/dev-toolkit#custom-server',
|
85 | error: error
|
86 | });
|
87 | }
|
88 | });
|
89 | }); |
\ | No newline at end of file |