UNPKG

one

Version:

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

73 lines 2.64 kB
var import_node_worker_threads = require("node:worker_threads"); var import_workerImport = require("../utils/workerImport.cjs"); const import_meta = {}; if (!import_node_worker_threads.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 (0, import_workerImport.workerImport)("./buildPage", import_meta.url); buildPageFn = mod.buildPage; } if (!runWithAsyncLocalContextFn) { const mod = await (0, import_workerImport.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; } import_node_worker_threads.parentPort.on("message", async msg => { if (msg.type === "init") { await initializeWorker(msg.oneOptions); import_node_worker_threads.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); }); import_node_worker_threads.parentPort.postMessage({ type: "done", id: msg.id, result }); } catch (err) { import_node_worker_threads.parentPort.postMessage({ type: "error", id: msg.id, error: err instanceof Error ? err.message : String(err), stack: err instanceof Error ? err.stack : void 0 }); } } }); import_node_worker_threads.parentPort.postMessage({ type: "ready" });