UNPKG

rsbuild-plugin-react-router

Version:
30 lines (29 loc) 1.76 kB
import { type RouteTransformResult, type RouteTransformTask, type RouteTransformTaskOptions } from './route-transform-tasks.js'; import type { PluginOptions } from './types.js'; import type { WorkerRequest, WorkerResponse } from './parallel-route-transform-protocol.js'; export type ParallelRouteTransformConfig = NonNullable<PluginOptions['parallelRouteTransform']> extends infer Config ? Exclude<Config, false> : never; export type RouteTransformExecutorOptions = RouteTransformTaskOptions & { parallelRouteTransform?: PluginOptions['parallelRouteTransform']; splitRouteModules?: boolean; isBuild?: boolean; }; export type RouteTransformExecutor = { run: (task: RouteTransformTask) => Promise<RouteTransformResult>; prewarm: () => void; close: () => Promise<void>; }; type RouteTransformWorker = { on(event: 'message', handler: (response: WorkerResponse) => void): unknown; on(event: 'error', handler: (error: Error) => void): unknown; on(event: 'exit', handler: (code: number) => void): unknown; postMessage(message: WorkerRequest): void; terminate(): Promise<number> | number; }; type RouteTransformWorkerFactory = () => RouteTransformWorker; export declare const getDefaultWorkerCount: (cpuCount?: number, { isBuild }?: { isBuild?: boolean; }) => number; export declare const shouldParallelizeRouteTransforms: (routeCount: number) => boolean; export declare const createRouteTransformExecutor: ({ parallelRouteTransform, routeChunkCache, splitRouteModules, isBuild, }?: RouteTransformExecutorOptions) => RouteTransformExecutor; export declare const createRouteTransformExecutorForTesting: (options: RouteTransformExecutorOptions, createWorker: RouteTransformWorkerFactory) => RouteTransformExecutor; export {};