vite-plugin-react-server
Version:
Vite plugin for React Server Components (RSC)
41 lines • 1.8 kB
TypeScript
import type { UserConfig, BuildEnvironmentOptions } from "vite";
import type { ResolvedUserOptions, AutoDiscoveredFiles } from "../types.js";
/**
* KEY DIFFERENCES FROM resolveUserConfig:
*
* 1. Uses BuildEnvironmentOptions type instead of UserConfig
* 2. Returns environment-specific configuration for Vite's Environment API
* 3. Must set preserveModules: true for preserveModulesRoot to work
* 4. Simplified input normalization (no moduleBase stripping in inputs)
* 5. Environment-specific output directories and settings
* 6. Uses Vite's natural module resolution and hashing
*
* FUTURE ENHANCEMENTS:
* - Could support callback functions for entryFileNames, chunkFileNames, and assetFileNames
* - This would allow custom hash generation based on file content as discussed in
* https://github.com/rollup/rollup/issues/5362
* - Would enable better cache busting and custom file naming strategies
*/
export type ResolveEnvironmentConfigProps = {
condition: "react-client" | "react-server";
config: UserConfig;
userOptions: ResolvedUserOptions;
autoDiscoveredFiles: AutoDiscoveredFiles;
ssr?: boolean;
forceResolve?: boolean;
};
export type ResolveEnvironmentConfigReturn = {
type: "success";
environmentConfig: BuildEnvironmentOptions;
} | {
type: "error";
error: unknown;
};
export type ResolveEnvironmentConfigFn = (props: ResolveEnvironmentConfigProps) => ResolveEnvironmentConfigReturn;
/**
* Resolve environment-specific configuration for the Environment API.
* This is a sophisticated version that follows the same patterns as resolveUserConfig
* but adapted for Vite's Environment API requirements.
*/
export declare const resolveEnvironmentConfig: ResolveEnvironmentConfigFn;
//# sourceMappingURL=resolveEnvironmentConfig.d.ts.map