vite-plugin-react-server
Version:
Vite plugin for React Server Components (RSC)
60 lines • 2.29 kB
TypeScript
import type { CreateHandlerOptions, PanicThreshold } from "../types.js";
/**
* Serializable handler options that can be safely passed to workers
*
* This extracts only the serializable parts of CreateHandlerOptions,
* excluding functions, React components, and other non-serializable data.
*
* WHAT'S INCLUDED:
* - All primitive values (strings, numbers, booleans)
* - Configuration objects (build, userOptions, etc.)
* - File paths and URLs
* - CSS data (cssFiles, globalCss)
*
* WHAT'S EXCLUDED:
* - React components (PageComponent, RootComponent, HtmlComponent)
* - Functions (loader, normalizer, onEvent, onMetrics)
* - Logger instances
* - Module IDs and autoDiscover functions
*/
export interface SerializableHandlerOptions {
id?: string;
route: string;
url: string;
pagePath: string;
propsPath?: string;
rootPath?: string;
htmlPath?: string;
pageExportName: string;
propsExportName: string;
rootExportName: string;
htmlExportName: string;
projectRoot: string;
moduleRootPath: string;
moduleBaseURL: string;
moduleBasePath: string;
moduleBase?: string;
publicOrigin: string;
build: CreateHandlerOptions["build"];
dev: CreateHandlerOptions["dev"];
css: CreateHandlerOptions["css"];
autoDiscover?: CreateHandlerOptions["autoDiscover"];
cssFiles?: Map<string, any>;
globalCss?: Map<string, any>;
pageProps: any;
panicThreshold: PanicThreshold;
htmlTimeout?: number;
clientPipeableStreamOptions?: Omit<NonNullable<CreateHandlerOptions["clientPipeableStreamOptions"]>, `on${string}` | 'filterStackFrame'>;
serverPipeableStreamOptions?: Omit<NonNullable<CreateHandlerOptions["serverPipeableStreamOptions"]>, `on${string}`>;
}
/**
* Creates serializable handler options from full CreateHandlerOptions
*
* This function strips out non-serializable parts (React components, functions)
* and returns only the data that can be safely passed to workers.
*
* @param options - Full CreateHandlerOptions object
* @returns Serializable options for worker communication
*/
export declare function createSerializableHandlerOptions(options: Partial<CreateHandlerOptions>): SerializableHandlerOptions;
//# sourceMappingURL=createSerializableHandlerOptions.d.ts.map