siegel
Version:
Web application development ecosystem
28 lines (27 loc) • 1.19 kB
JavaScript
process.on('warning', console.warn);
process.on('uncaughtException', console.error);
const { INIT_CWD, PWD } = process.env;
if (INIT_CWD && INIT_CWD != PWD) {
process.chdir(INIT_CWD);
}
import * as utils from '../common/index.js';
import * as nodeUtils from './utils/index.js';
import getConfig from './get_config.js';
import webpackBuilder, { BUILD_CONSTANTS } from './client_build/index.js';
import { bootServer, getStaticServingData, http2Server, httpServer, proxyReq, extractSSL } from './server/index.js';
async function main(userConfig) {
const config = getConfig(userConfig);
const { isBuild, isServer, isProd } = config.runMode;
let devMiddlewares = [];
if (isBuild) {
const { run, getDevMiddlewares } = webpackBuilder(config);
await run();
if (isServer && !isProd) {
devMiddlewares = Object.values(getDevMiddlewares());
}
}
isServer && bootServer.run({ devMiddlewares, config });
}
nodeUtils.isRunDirectly(import.meta) && main();
export default main;
export { webpackBuilder, BUILD_CONSTANTS, getConfig, bootServer, getStaticServingData, http2Server, httpServer, proxyReq, extractSSL, nodeUtils, utils };