UNPKG

1.22 kBJavaScriptView Raw
1const chalk = require('chalk')
2const emoji = require('node-emoji')
3const serve = require('webpack-serve')
4const historyApiFallback = require('connect-history-api-fallback')
5const koaConnect = require('koa-connect')
6
7const getWebpackConfig = require('../utils/getWebpackConfig')
8const createWebpackCompiler = require('../utils/createWebpackCompiler')
9
10module.exports = options => {
11 process.env.GNOLL_ENTRY = options.entry
12 process.env.GNOLL_TARGET = 'web'
13 process.env.GNOLL_ENV = 'browser'
14 process.env.GNOLL_DEVSERVER = 1
15
16 const { serve: serveConfig, ...webpackConfig } = getWebpackConfig(options)
17
18 const port = (serveConfig && serveConfig.port) || 3000
19 const host = (serveConfig && serveConfig.host) || '0.0.0.0'
20 const add =
21 (serveConfig && serveConfig.add) ||
22 (app => app.use(koaConnect(historyApiFallback())))
23
24 console.log(emoji.get('rocket'), ' Starting the development server...')
25 console.log(`The app is running at http://${host}:${port}/\n`)
26
27 const compiler = createWebpackCompiler(webpackConfig)
28
29 let start
30
31 serve(
32 {},
33 {
34 ...serveConfig,
35 host,
36 port,
37 compiler,
38 add,
39 hotClient: { logLevel: 'silent' },
40 devMiddleware: { logLevel: 'silent' },
41 logLevel: 'silent'
42 }
43 )
44}