UNPKG

1.43 kBJavaScriptView Raw
1"use strict";
2
3exports.__esModule = true;
4exports.default = createServer;
5
6var _webpack = _interopRequireDefault(require("webpack"));
7
8var _webpackDevServer = _interopRequireDefault(require("webpack-dev-server"));
9
10var _makeWebpackConfig = _interopRequireDefault(require("./make-webpack-config"));
11
12function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
13
14function createServer(config, env) {
15 const webpackConfig = (0, _makeWebpackConfig.default)(config, env);
16 const baseConfig = {
17 host: config.serverHost,
18 port: config.serverPort,
19 compress: true,
20 hot: true,
21 client: {
22 logging: 'none'
23 },
24 static: Array.isArray(config.assetsDir) ? config.assetsDir.map(assetsDir => ({
25 directory: assetsDir,
26 watch: true,
27 publicPath: '/'
28 })) : {
29 directory: config.assetsDir,
30 watch: true,
31 publicPath: '/'
32 },
33 devMiddleware: {
34 stats: webpackConfig.stats || {}
35 }
36 }; // Allow custom devServer options to override base config.
37
38 webpackConfig.devServer = { ...baseConfig,
39 ...webpackConfig.devServer
40 };
41 const compiler = (0, _webpack.default)(webpackConfig);
42 const devServer = new _webpackDevServer.default(webpackConfig.devServer, compiler); // User defined customizations
43
44 if (config.configureServer) {
45 config.configureServer(devServer.app, env);
46 }
47
48 return {
49 app: devServer,
50 compiler
51 };
52}
\No newline at end of file