in packages/plugin-webpack/src/start.ts [9:44]
export default async (api: PluginAPI, opts: PluginAPIOpt, serverMiddleWares: express.RequestHandler[]) => {
const { webpack, disableHmr } = opts;
let config = webpackConfigure(api, opts);
if (isFunction(webpack)) {
config = webpack(config, getEnv());
}
// @ts-ignore
const { devServer = {} } = config;
if (!disableHmr) {
// @ts-ignore
webpackDevServer.addDevServerEntrypoints(config, devServer);
}
const compiler = createCompiler(config);
const { devServerOpt } = opts;
const devServerConfig: webpackDevServer.Configuration = Object.assign({}, devServer, devServerOpt);
const originBefore = devServerConfig.before;
devServerConfig.before = (app, server, compiler) => {
for (const middleware of serverMiddleWares) {
app.use(middleware);
}
if (originBefore) {
originBefore(app, server, compiler);
}
};
const server = createServer(compiler, devServerConfig);
await runServer(server, devServerConfig);
api.emit('onServerRunning');
if (opts.onServerRunning) {
opts.onServerRunning(server);
}
};