UNPKG

rsbuild-plugin-react-router

Version:
62 lines (61 loc) 2.52 kB
import type { BuildManifest as ReactRouterBuildManifest, Config as ReactRouterConfig } from '@react-router/dev/config'; import type { NormalizedConfig } from '@rsbuild/core'; import type { RouteConfigEntry } from '@react-router/dev/routes'; import * as Effect from 'effect/Effect'; export type BuildEndHook = { bivarianceHack(args: { buildManifest: ReactRouterBuildManifest | undefined; reactRouterConfig: ResolvedReactRouterConfig; viteConfig: NormalizedConfig; }): void | Promise<void>; }['bivarianceHack']; type SplitRouteModulesConfig = boolean | 'enforce'; export type Config = Omit<ReactRouterConfig, 'buildEnd' | 'future' | 'splitRouteModules' | 'subResourceIntegrity'> & { buildEnd?: BuildEndHook; future?: Partial<FutureConfig>; splitRouteModules?: SplitRouteModulesConfig; subResourceIntegrity?: boolean; }; type FutureConfig = { unstable_optimizeDeps: boolean; unstable_subResourceIntegrity: boolean; unstable_trailingSlashAwareDataRequests: boolean; v8_middleware: boolean; v8_splitRouteModules: boolean | 'enforce'; v8_viteEnvironmentApi: boolean; }; type RouteManifestEntry = { id: string; parentId?: string; path?: string; index?: boolean; caseSensitive?: boolean; file: string; }; type RouteManifest = Record<string, RouteManifestEntry>; type ResolveReactRouterConfigResult = { resolved: ResolvedReactRouterConfig; presets: NonNullable<Config['presets']>; hasConfiguredServerModuleFormat: boolean; }; export type ResolvedReactRouterConfig = Readonly<{ appDirectory: string; basename: string; buildDirectory: string; buildEnd?: Config['buildEnd']; future: FutureConfig; prerender: Config['prerender']; routeDiscovery: Config['routeDiscovery']; routes: RouteManifest; serverBuildFile: NonNullable<ReactRouterConfig['serverBuildFile']>; serverBundles?: Config['serverBundles']; serverModuleFormat: NonNullable<ReactRouterConfig['serverModuleFormat']>; splitRouteModules: SplitRouteModulesConfig; subResourceIntegrity: boolean; ssr: NonNullable<ReactRouterConfig['ssr']>; allowedActionOrigins: string[] | false; unstable_routeConfig: RouteConfigEntry[]; }>; export declare const resolveReactRouterConfigEffect: (reactRouterUserConfig: Config) => Effect.Effect<ResolveReactRouterConfigResult, Error, never>; export declare const resolveReactRouterConfig: (reactRouterUserConfig: Config) => Promise<ResolveReactRouterConfigResult>; export {};