rsbuild-plugin-react-router
Version:
React Router plugin for Rsbuild
51 lines (50 loc) • 1.8 kB
TypeScript
import { generate } from './yuku.js';
import { type RouteExportResolver } from './route-export-resolution.js';
import { type RouteChunkCache, type RouteChunkConfig } from './route-chunks.js';
export type RouteTransformResult = {
code: string;
map?: ReturnType<typeof generate>['map'];
};
type BaseRouteTransformTask = {
code: string;
resourcePath: string;
};
export type RouteClientEntryTransformTask = BaseRouteTransformTask & {
kind: 'routeClientEntry';
environmentName?: string;
isBuild: boolean;
routeChunkConfig: RouteChunkConfig;
routeId?: string;
devHmr?: boolean;
};
export type RouteChunkTransformTask = BaseRouteTransformTask & {
kind: 'routeChunk';
resource: string;
isBuild: boolean;
routeChunkConfig: RouteChunkConfig;
};
export type SplitRouteExportsTransformTask = BaseRouteTransformTask & {
kind: 'splitRouteExports';
routeChunkConfig: RouteChunkConfig;
};
export type ClientOnlyStubTransformTask = BaseRouteTransformTask & {
kind: 'clientOnlyStub';
resolveExportAllModule?: RouteExportResolver;
};
export type RouteModuleTransformTask = BaseRouteTransformTask & {
kind: 'routeModule';
resource: string;
environmentName: string;
sourceMaps: boolean;
ssr: boolean;
isBuild: boolean;
isSpaMode: boolean;
rootRoutePath: string | null;
devHmr?: boolean;
};
export type RouteTransformTask = RouteClientEntryTransformTask | RouteChunkTransformTask | SplitRouteExportsTransformTask | ClientOnlyStubTransformTask | RouteModuleTransformTask;
export type RouteTransformTaskOptions = {
routeChunkCache?: RouteChunkCache;
};
export declare const executeRouteTransformTask: (task: RouteTransformTask, options?: RouteTransformTaskOptions) => Promise<RouteTransformResult>;
export {};