rsbuild-plugin-react-router
Version:
React Router plugin for Rsbuild
39 lines (38 loc) • 1.36 kB
JavaScript
import { parentPort } from "node:worker_threads";
import { setBoundedCacheEntry, executeRouteTransformTask } from "./451.js";
if (!parentPort) throw Error('parallel route transform worker requires parentPort');
let sourceCache = new Map();
parentPort.on('message', async ({ id, task, sourceCacheKey })=>{
try {
let hydratedTask = (({ task, sourceCacheKey })=>{
if (!sourceCacheKey) return task;
if ('string' == typeof task.code) return setBoundedCacheEntry(sourceCache, sourceCacheKey, task.code, 2048), task;
let code = sourceCache.get(sourceCacheKey);
if (void 0 === code) throw Error(`Missing cached route transform source for ${sourceCacheKey}.`);
return {
...task,
code
};
})({
task,
sourceCacheKey
}), result = await executeRouteTransformTask(hydratedTask);
parentPort?.postMessage({
id,
ok: !0,
result
});
} catch (error) {
parentPort?.postMessage({
id,
ok: !1,
error: error instanceof Error ? {
name: error.name,
message: error.message,
stack: error.stack
} : {
message: String(error)
}
});
}
});