UNPKG

one

Version:

One is a new React Framework that makes Vite serve both native and web.

74 lines (73 loc) 2.43 kB
import { parentPort } from "node:worker_threads"; import { workerImport } from "../utils/workerImport.mjs"; if (!parentPort) { console.error("Must be run as a worker thread"); process.exit(1); } process.env.VXRN_REACT_19 = "1"; process.env.VITE_ENVIRONMENT = "ssr"; if (!process.env.NODE_ENV) { process.env.NODE_ENV = "production"; } let buildPageFn = null; let runWithAsyncLocalContextFn = null; let initialized = false; async function ensureImports() { if (!buildPageFn) { const mod = await workerImport("./buildPage", import.meta.url); buildPageFn = mod.buildPage; } if (!runWithAsyncLocalContextFn) { const mod = await workerImport("../vite/one-server-only", import.meta.url); runWithAsyncLocalContextFn = mod.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 msg => { if (msg.type === "init") { await initializeWorker(msg.oneOptions); parentPort.postMessage({ type: "init-done", id: msg.id }); return; } if (msg.type === "build") { try { const { buildPage, runWithAsyncLocalContext } = await ensureImports(); const result = await runWithAsyncLocalContext(async () => { return await buildPage(msg.args.serverEntry, 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.mjs.map