import { Plugin } from "vite"; //#region src/__internal/vite.d.ts /** * Creates the Vite plugin that configures dev-server pre-bundling and SSR externalization * for framework adapters (e.g. vike-lite-solid, vike-lite-vue) that export raw, uncompiled * source files (.tsx/.vue) instead of a pre-built dist. Those adapters need: * - `optimizeDeps.include`: eagerly pre-bundle the framework runtime (e.g. `solid-js`, `vue`) * so the dev server doesn't re-bundle it on every page navigation. * - `optimizeDeps.exclude` + `ssr.noExternal`: prevent Vite from treating the adapter package * as an opaque, externalizable dependency, so its raw JSX/SFC source is instead processed * by the framework's own Vite plugin (e.g. vite-plugin-solid, @vitejs/plugin-vue) both in * dev and during the SSR build. * * This centralizes logic that is otherwise identical across every `vike-lite-*` package * that ships raw source files. */ declare function createDepsConfigPlugin({ packageName, optimizeDepsInclude }: { /** The framework adapter's package name, e.g. 'vike-lite-solid'. */ packageName: string; /** Framework runtime packages to eagerly pre-bundle, e.g. ['solid-js']. */ optimizeDepsInclude: string[]; }): Plugin; /** * Creates the Vite plugin that wires a UI framework adapter (react/vue/solid) into vike-lite, * by providing the virtual `virtual:vike-lite/client` and `virtual:vike-lite/server` modules * that vike-lite's core plugin reads to discover the framework's onRenderClient/onRenderHtml hooks. * * This centralizes logic that is otherwise identical across every `vike-lite-*` package. */ declare function createFrameworkAdapterPlugin({ packageName, hydration, streaming }: { /** The framework adapter's package name, e.g. 'vike-lite-react'. */ packageName: string; /** @default true */ hydration?: boolean; /** * Stream the server-rendered app markup via the framework's Web Streams-based * SSR API instead of buffering it into a single string. Threaded through to * `onRenderHtml` the same way `hydration` is. Ignored by adapters whose * `onRenderHtml` doesn't accept a `streaming` option. * @default true */ streaming?: boolean; }): Plugin; //#endregion export { createDepsConfigPlugin, createFrameworkAdapterPlugin };