rsbuild-plugin-react-router
Version:
React Router plugin for Rsbuild
37 lines (36 loc) • 2.14 kB
TypeScript
import * as Effect from 'effect/Effect';
import type { RsbuildPluginAPI } from '@rsbuild/core';
import { getBuildManifest } from './build-manifest.js';
import { getReactRouterManifestForDev, type ReactRouterManifestStats, type RouteManifestModuleExports } from './manifest.js';
import type { Config, ResolvedReactRouterConfig } from './react-router-config.js';
import type { PluginOptions, Route } from './types.js';
type ReactRouterManifest = Awaited<ReturnType<typeof getReactRouterManifestForDev>>;
type PrerenderBuildApi = Pick<RsbuildPluginAPI, 'logger' | 'getNormalizedConfig'>;
type RunReactRouterPrerenderBuildOptions = {
api: PrerenderBuildApi;
hasWebEnvironment: boolean;
buildDirectory: string;
serverBuildFile?: string;
ssr: boolean;
isPrerenderEnabled: boolean;
prerenderConfig: Config['prerender'];
prerenderPaths: string[];
basename: string;
future: ResolvedReactRouterConfig['future'];
routes: Record<string, Route>;
latestBrowserManifest: ReactRouterManifest | null;
latestBrowserManifestModuleExports: RouteManifestModuleExports;
clientStats: ReactRouterManifestStats | undefined;
pluginOptions: PluginOptions;
appDirectory: string;
assetPrefix: string;
routeChunkOptions: Parameters<typeof getReactRouterManifestForDev>[5];
buildManifest: Awaited<ReturnType<typeof getBuildManifest>>;
resolvedConfigWithRoutes: ResolvedReactRouterConfig;
buildEnd: Config['buildEnd'];
};
export declare const createBuildRequestEffect: <T>(input: string | URL, init: RequestInit | undefined, handle: (request: Request) => Promise<T>) => Effect.Effect<T, Error, never>;
export declare const withBuildRequest: <T>(input: string | URL, init: RequestInit | undefined, handle: (request: Request) => Promise<T>) => Promise<T>;
export declare const createBoundedPrerenderTasksEffect: (prerenderPaths: string[], concurrency: number, renderPath: (path: string) => Effect.Effect<void, Error, never>) => Effect.Effect<void, Error, never>;
export declare const runReactRouterPrerenderBuild: (options: RunReactRouterPrerenderBuildOptions) => Promise<void>;
export {};