one
Version:
One is a React framework for web, iOS, and Android apps.
71 lines (68 loc) • 2.36 kB
JavaScript
import { parentPort } from "worker_threads";
import { workerImport } from "../utils/workerImport.native.js";
import { setServerGlobals } from "../server/setServerGlobals.native.js";
if (!parentPort) {
console.error("Must be run as a worker thread");
process.exit(1);
}
setServerGlobals();
if (!process.env.NODE_ENV) {
process.env.NODE_ENV = "production";
}
var buildPageFn = null;
var runWithAsyncLocalContextFn = null;
var initialized = false;
async function ensureImports() {
if (!buildPageFn) {
var mod = await workerImport("./buildPage", import.meta.url);
buildPageFn = mod.buildPage;
}
if (!runWithAsyncLocalContextFn) {
var mod1 = await workerImport("../vite/one-server-only", import.meta.url);
runWithAsyncLocalContextFn = mod1.runWithAsyncLocalContext;
}
return {
buildPage: buildPageFn,
runWithAsyncLocalContext: runWithAsyncLocalContextFn
};
}
async function initializeWorker(oneOptions) {
if (initialized) return;
if (!oneOptions) {
throw new Error("Worker must receive oneOptions from main thread");
}
globalThis["__vxrnPluginConfig__"] = oneOptions;
initialized = true;
}
parentPort.on("message", async function(msg) {
if (msg.type === "init") {
await initializeWorker(msg.oneOptions);
parentPort.postMessage({
type: "init-done",
id: msg.id
});
return;
}
if (msg.type === "build") {
try {
var { buildPage, runWithAsyncLocalContext } = await ensureImports();
var result = await runWithAsyncLocalContext(async function() {
return await buildPage(msg.args.serverEntry, msg.args.routerRoot, msg.args.path, msg.args.relativeId, msg.args.params, msg.args.foundRoute, msg.args.clientManifestEntry, msg.args.staticDir, msg.args.clientDir, msg.args.builtMiddlewares, msg.args.serverJsPath, msg.args.preloads, msg.args.allCSS, msg.args.layoutCSS, msg.args.routePreloads, msg.args.allCSSContents, msg.args.criticalPreloads, msg.args.deferredPreloads, msg.args.useAfterLCP, msg.args.useAfterLCPAggressive);
});
parentPort.postMessage({
type: "done",
id: msg.id,
result
});
} catch (err) {
parentPort.postMessage({
type: "error",
id: msg.id,
error: err instanceof Error ? err.message : String(err),
stack: err instanceof Error ? err.stack : void 0
});
}
}
});
parentPort.postMessage({ type: "ready" });
//# sourceMappingURL=buildPageWorker.native.js.map