rsbuild-plugin-react-router
Version:
React Router plugin for Rsbuild
48 lines (47 loc) • 2.48 kB
TypeScript
import type { Rspack } from '@rsbuild/core';
import type { DevCompileAttemptIdentity, DevCompilationIdentity, DevRuntimeStats, DevGraphChanges, DevGraphIdentity } from './dev-runtime-artifacts.js';
export type DevCompilerPair = {
web: Rspack.Compiler;
node: Rspack.Compiler;
settledCompilations: WeakSet<Rspack.Compilation>;
pendingAttempt?: PendingDevCompilation;
currentAttemptIdentity?: DevCompileAttemptIdentity;
latestCompletedWebIdentity?: DevCompilationIdentity;
latestCompletedWebStats?: Rspack.Stats;
latestCompletedNodeStats?: Rspack.Stats;
latestWebStart?: CompilationStart;
latestNodeStart?: CompilationStart;
};
export type PendingDevCompilation = {
stats: DevRuntimeStats;
changes: DevGraphChanges;
identity: DevGraphIdentity;
webCompilation: Rspack.Compilation;
nodeCompilation: Rspack.Compilation;
};
export type CompilationStart = {
status: 'pending';
} | {
status: 'started';
identity: DevCompilationIdentity;
};
type CompilerPairStartSide = 'latestWebStart' | 'latestNodeStart';
export declare const createDevCompilerPair: ({ web, node, }: {
web: Rspack.Compiler;
node: Rspack.Compiler;
}) => DevCompilerPair;
export declare const resetDevCompilerPair: (pair: DevCompilerPair) => void;
export declare const isLatestStartedCompilation: (identity: DevCompilationIdentity | undefined, start: CompilationStart | undefined) => boolean;
export declare const hasPendingCompilation: (pair: DevCompilerPair) => boolean;
export declare const beginDevCompilerAttempt: (pair: DevCompilerPair) => void;
export declare const markDevCompilerPending: (pair: DevCompilerPair, side: CompilerPairStartSide) => boolean;
export declare const clearDevCompilerStart: (pair: DevCompilerPair, side: CompilerPairStartSide) => void;
export type CompilationIdentityTracker = {
getCompilationIdentity(compilation: Rspack.Compilation): DevCompilationIdentity;
getWebIdentityForNodeCompilation(compilation: Rspack.Compilation): DevCompilationIdentity | undefined;
getAttemptIdentityForCompilation(compilation: Rspack.Compilation): DevCompileAttemptIdentity | undefined;
setAttemptIdentityForCompilation(compilation: Rspack.Compilation, identity: DevCompileAttemptIdentity): void;
setWebIdentityForNodeCompilation(compilation: Rspack.Compilation, identity: DevCompilationIdentity): void;
};
export declare const createCompilationIdentityTracker: () => CompilationIdentityTracker;
export {};