rsbuild-plugin-react-router
Version:
React Router plugin for Rsbuild
39 lines (38 loc) • 2.05 kB
TypeScript
import type { RsbuildPluginAPI } from '@rsbuild/core';
import type { RouteConfigEntry } from '@react-router/dev/routes';
import { type ReactRouterManifestForDev } from './manifest.js';
import type { RouteTransformExecutor } from './parallel-route-transforms.js';
import { type WatchFileConfig } from './route-watch.js';
import type { PluginOptions } from './types.js';
type RegisterReactRouterDevBackgroundResourcesOptions = {
api: RsbuildPluginAPI;
isBuild: boolean;
lazyCompilationPrewarm: PluginOptions['unstableLazyCompilationPrewarm'];
routeTransformExecutor: RouteTransformExecutor;
routeRestartMarkerPath: string;
watchDirectory: string;
getRouteTopology: () => Promise<Set<string>>;
initialRouteTopology: Set<string>;
onRouteTopologyChange: PluginOptions['onRouteTopologyChange'];
};
type ReactRouterDevBackgroundResources = {
setManifest(manifest: ReactRouterManifestForDev): void;
};
export declare const createReactRouterRouteTopology: ({ appDirectory, rootRouteFile, routeConfig, loadRouteConfig, getRootRoutePath, }: {
appDirectory: string;
rootRouteFile: string;
routeConfig: RouteConfigEntry[];
loadRouteConfig: () => Promise<RouteConfigEntry[]>;
getRootRoutePath: () => string;
}) => {
initialRouteTopology: Set<string>;
getRouteTopology: () => Promise<Set<string>>;
};
export declare const createReactRouterRouteWatchFiles: ({ configWatchPaths, routeConfigWatchPaths, routeRestartMarkerPath, onRouteTopologyChange, }: {
configWatchPaths: string | string[];
routeConfigWatchPaths: string | string[];
routeRestartMarkerPath: string;
onRouteTopologyChange: PluginOptions["onRouteTopologyChange"];
}) => WatchFileConfig[];
export declare const registerReactRouterDevBackgroundResources: ({ api, isBuild, lazyCompilationPrewarm, routeTransformExecutor, routeRestartMarkerPath, watchDirectory, getRouteTopology, initialRouteTopology, onRouteTopologyChange, }: RegisterReactRouterDevBackgroundResourcesOptions) => ReactRouterDevBackgroundResources;
export {};