UNPKG

rsbuild-plugin-react-router

Version:
48 lines (47 loc) 2.33 kB
import type { RsbuildDevServer, Rspack } from '@rsbuild/core'; import type { ServerBuild } from 'react-router'; import type { ReactRouterManifestForDev } from './manifest.js'; export type ReactRouterDevManifest = ReactRouterManifestForDev; export type ReactRouterDevBuildPlan = { defaultEntryName: string; entryNames: readonly string[]; }; export type ReactRouterDevManifestSet = Readonly<Record<string, ReactRouterDevManifest>>; export type ReactRouterServerBuilds = Readonly<Record<string, ServerBuild>>; export type PairedDevStats = { web: Rspack.Stats; node: Rspack.Stats; }; export type DevRuntimeStats = Rspack.Stats | Rspack.MultiStats | PairedDevStats; export type DependencySnapshot = { files: ReadonlySet<string>; contexts: ReadonlySet<string>; missing: ReadonlySet<string>; }; export type DevChangedFiles = { known: boolean; files: ReadonlySet<string>; }; export type DevGraphChanges = { web: DevChangedFiles; node: DevChangedFiles; }; export type DevCompilationIdentity = symbol; export type DevCompileAttemptIdentity = symbol; export type DevGraphIdentity = { web: DevCompilationIdentity | undefined; node: DevCompilationIdentity | undefined; nodeWeb: DevCompilationIdentity | undefined; attempt: DevCompileAttemptIdentity | undefined; }; export type WebArtifact = { manifestsByEntryName: ReactRouterDevManifestSet; dependencies: DependencySnapshot; }; export declare const snapshotDevChangedFiles: (compiler: Pick<Rspack.Compiler, "modifiedFiles" | "removedFiles"> | undefined) => DevChangedFiles; export declare const snapshotDependencies: (compilation: Rspack.Compilation) => DependencySnapshot; export declare const isSafeOneSidedChange: (changes: DevChangedFiles, dependencies: DependencySnapshot) => boolean; export declare const isPairedDevStats: (stats: DevRuntimeStats) => stats is PairedDevStats; export declare const getEnvironmentStats: (stats: DevRuntimeStats, name: "web" | "node") => Rspack.Stats | undefined; export declare const evaluateServerBuilds: (server: RsbuildDevServer, entryNames: readonly string[]) => Promise<ReactRouterServerBuilds>; export declare const pinServerBuildsToManifests: (builds: ReactRouterServerBuilds, entryNames: readonly string[], manifestsByEntryName: ReactRouterDevManifestSet) => ReactRouterServerBuilds;