UNPKG

vite-plugin-react-server

Version:
51 lines 2 kB
import type { Logger } from "vite"; import type { ModuleRunner } from "vite/module-runner"; import type { InputNormalizer } from "../types.js"; /** * Shared loader utility that both RSC worker loader and build loader can use. * * This handles the common pattern: * 1. Parse id to get moduleId and exportName * 2. Handle virtual modules and node_modules (via resolveVirtualAndNodeModules) * 3. Try manifest-based resolution (build mode) * 4. Import the module * 5. Validate exports * * If the result is already a module object (not a Promise), it's returned directly. * This allows loaders to reuse already-loaded modules. * * @param options - Loader configuration options * @returns The resolved module (already a module object, not a Promise) */ export declare function createSharedLoader({ moduleId, exportName, verbose, logger, resolveVirtual, manifest, normalizer, moduleBase, preserveModulesRoot, projectRoot, buildOutDir, buildServerDir, isBuildMode, isServeMode: _isServeMode, effectiveProjectRoot, build, moduleRunner, }: { moduleId: string; exportName?: string; verbose?: boolean; logger?: Logger; resolveVirtual?: boolean; manifest?: Record<string, { file: string; } | undefined>; normalizer?: InputNormalizer; moduleBase?: string; preserveModulesRoot?: boolean; projectRoot?: string; buildOutDir?: string; buildServerDir?: string; isBuildMode?: boolean; isServeMode?: boolean; effectiveProjectRoot?: string; build?: { server?: string; client?: string; static?: string; outDir?: string; }; /** * Optional Vite ModuleRunner. When provided in dev:ssr mode the worker * pulls project source through Vite's runner instead of Node's native * import(), so file edits invalidate per-module without a worker restart. */ moduleRunner?: ModuleRunner | null; }): Promise<Record<string, any>>; //# sourceMappingURL=createSharedLoader.d.ts.map