UNPKG

dool-server

Version:
77 lines (59 loc) 2.55 kB
'use strict'; Object.defineProperty(exports, "__esModule", { value: true }); 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; }; exports.default = function (args) { var webpack = _doolBuild2.default.webpack; // Get config. var cfgs = _doolBuild2.default.config({ cwd: args.cwd, extract: args.extract }); var devServer = { disableHostCheck: true }; cfgs.forEach(function (v) { v.output.pathinfo = true; v.devtool = 'cheap-module-source-map'; v.plugins.push(new webpack.HotModuleReplacementPlugin()); _extends(devServer, v.devServer); }); var compiler = webpack(cfgs); // Hack: remove extract-text-webpack-plugin log args.verbose || compiler.plugin('done', function (stats) { stats.stats.forEach(function (stat) { stat.compilation.children = stat.compilation.children.filter(function (child) { return child.name !== 'extract-text-webpack-plugin'; }); }); }); var opts = { https: !!args.https, stats: { colors: true, children: true, chunks: !!args.verbose, modules: !!args.verbose, chunkModules: !!args.verbose, hash: !!args.verbose, version: !!args.verbose } }; // webpack config passed to webpack-dev-server _extends(opts, devServer); var port = args.port || 8000; var server = new _webpackDevServer2.default(compiler, opts); server.listen(port, '0.0.0.0', function () {}); var url = (args.https ? 'https://' : 'http://') + (0, _ip.address)() + ':' + port; console.log('Starting up dool server.'); console.log('Server url: ' + '\x1B[36m ' + url + ' \x1B[39m'); console.log('Hit CTRL-C to stop the server'); console.log(['\x1B[31m', ' ________ ______ ', ' ___ __ \\______ ______ ___ / ', ' __ / / /_ __ \\_ __ \\__ / ', ' _ /_/ / / /_/ // /_/ /_ / ', ' /_____/ \\____/ \\____/ /_/ ', ' ', '\x1B[39m'].join('\n')); return server; }; var _ip = require('ip'); var _doolBuild = require('dool-build'); var _doolBuild2 = _interopRequireDefault(_doolBuild); var _webpackDevServer = require('webpack-dev-server'); var _webpackDevServer2 = _interopRequireDefault(_webpackDevServer); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } module.exports = exports['default'];