feat & refactor: webpack-serve-waitpage and lint

This commit is contained in:
endiliey 2018-08-01 16:18:52 +08:00
parent 82be417197
commit d9a86a54c1
9 changed files with 75 additions and 54 deletions

View file

@ -5,19 +5,20 @@ const webpack = require('webpack');
const chokidar = require('chokidar');
const convert = require('koa-connect');
const range = require('koa-range');
const mount = require('koa-mount');
const serveStatic = require('koa-static');
const history = require('connect-history-api-fallback');
const portfinder = require('portfinder');
const serve = require('webpack-serve');
const serveWaitpage = require('webpack-serve-waitpage');
const webpackNiceLog = require('webpack-nicelog');
const HtmlWebpackPlugin = require('html-webpack-plugin');
const load = require('./loader');
const createDevConfig = require('./webpack/dev');
async function getPort(port) {
portfinder.basePort = parseInt(port) || 8080;
port = await portfinder.getPortPromise();
return port;
portfinder.basePort = parseInt(port, 10) || 8080;
return await portfinder.getPortPromise();
}
module.exports = async function dev(sourceDir, cliOptions = {}) {
@ -72,7 +73,7 @@ module.exports = async function dev(sourceDir, cliOptions = {}) {
const compiler = webpack(config);
// webpack-serve
const nonExistentDir = path.resolve(__dirname, 'non-existent')
const nonExistentDir = path.resolve(__dirname, 'non-existent');
await serve(
{},
{
@ -88,11 +89,12 @@ module.exports = async function dev(sourceDir, cliOptions = {}) {
},
logLevel: 'error',
port,
add: app => {
add: (app, middleware, options) => {
const staticDir = path.resolve(sourceDir, 'public');
if (fs.existsSync(staticDir)) {
app.use(mount(publicPath, serveStatic(staticDir)));
}
app.use(serveWaitpage(options, {theme: 'dark'})); // https://github.com/elisherer/webpack-serve-waitpage#middleware-options
app.use(range); // enable range request https://tools.ietf.org/html/rfc7233
app.use(
convert(