one
Version:
One is a new React Framework that makes Vite serve both native and web.
49 lines (48 loc) • 1.51 kB
JavaScript
import "./polyfills-server.mjs";
import FSExtra from "fs-extra";
import { setServerGlobals } from "./server/setServerGlobals.mjs";
import { setupBuildInfo } from "./server/setupBuildOptions.mjs";
import { ensureExists } from "./utils/ensureExists.mjs";
process.on("uncaughtException", err => {
console.error("[one] Uncaught exception", err?.stack || err);
});
async function serve(args = {}) {
const buildInfo = await FSExtra.readJSON("dist/buildInfo.json"),
{
oneOptions
} = buildInfo;
setServerGlobals(), setupBuildInfo(buildInfo), ensureExists(oneOptions);
const {
labelProcess
} = await import("./cli/label-process.mjs"),
{
removeUndefined
} = await import("./utils/removeUndefined.mjs"),
{
loadEnv,
serve: vxrnServe,
serveStaticAssets
} = await import("vxrn/serve"),
{
oneServe
} = await import("./server/oneServe.mjs");
return labelProcess("serve"), args.loadEnv && (await loadEnv("production")), await vxrnServe({
app: args.app,
// fallback to one plugin
...oneOptions.server,
// override with any flags given to cli
...removeUndefined({
port: args.port ? +args.port : void 0,
host: args.host,
compress: args.compress
}),
async beforeRegisterRoutes(options, app) {
await oneServe(oneOptions, buildInfo, app, {
serveStaticAssets
});
},
async afterRegisterRoutes(options, app) {}
});
}
export { serve };
//# sourceMappingURL=serve.mjs.map