UNPKG

vite-plugin-react-server

Version:
70 lines 2.74 kB
import type { CssContent, ResolvedUserOptions } from "../types.js"; import type { Logger } from "vite"; /** * Unified CSS Processor * * PURPOSE: Consolidate CSS processing logic used across: * - processCssFilesForPages (plugin.server.ts, plugin.client.ts) * - RSC worker message handler (messageHandler.tsx) * - HTML worker message handler * * This helper provides consistent CSS processing behavior across all environments * and reduces code duplication. */ export interface UnifiedCssProcessorOptions { /** User options for CSS processing */ userOptions: ResolvedUserOptions; /** Logger for verbose output */ logger?: Logger; /** Whether to enable verbose logging */ verbose?: boolean; /** Static build output directory */ staticOutDir?: string; /** Static manifest for CSS file resolution */ staticManifest?: any; /** Bundle containing CSS files */ bundle?: any; } export interface CssProcessingResult { /** CSS files organized by page/route */ cssFilesByPage: Map<string, Map<string, CssContent>>; /** Global CSS files */ globalCss: Map<string, CssContent>; /** Combined CSS files for a specific route */ combinedCssFiles: Map<string, CssContent>; } /** * Processes CSS files from static build output * * @param cssInputs - CSS file inputs from manifest * @param options - Processing options * @returns Processed CSS content map */ export declare function processCssFromStaticBuild(cssInputs: Record<string, string>, options: UnifiedCssProcessorOptions): Map<string, CssContent>; /** * Combines CSS files from multiple sources * * @param sources - Array of CSS file maps to combine * @returns Combined CSS file map */ export declare function combineCssFiles(...sources: Array<Map<string, CssContent> | undefined>): Map<string, CssContent>; /** * Processes inline CSS content for stateful systems * * @param cssFiles - CSS files map * @param addCssFileContent - Function to add CSS content to state * @param userOptions - User options */ export declare function processInlineCssForState(cssFiles: Map<string, CssContent>, addCssFileContent: (id: string, content: string, userOptions: ResolvedUserOptions) => void, userOptions: ResolvedUserOptions): void; /** * Creates a unified CSS processor instance * * @param options - Processing options * @returns CSS processor functions */ export declare function createUnifiedCssProcessor(options: UnifiedCssProcessorOptions): { processCssFromStaticBuild: (cssInputs: Record<string, string>) => Map<string, CssContent>; combineCssFiles: typeof combineCssFiles; processInlineCssForState: typeof processInlineCssForState; }; //# sourceMappingURL=createUnifiedCssProcessor.d.ts.map