123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102 |
- import { ViteDevServer, Plugin } from 'vite';
- import * as _compiler from 'vue/compiler-sfc';
- import { SFCScriptCompileOptions, SFCTemplateCompileOptions, SFCStyleCompileOptions } from 'vue/compiler-sfc';
- interface VueQuery {
- vue?: boolean;
- src?: string;
- type?: 'script' | 'template' | 'style' | 'custom';
- index?: number;
- lang?: string;
- raw?: boolean;
- url?: boolean;
- scoped?: boolean;
- id?: string;
- }
- declare function parseVueRequest(id: string): {
- filename: string;
- query: VueQuery;
- };
- interface Options {
- include?: string | RegExp | (string | RegExp)[];
- exclude?: string | RegExp | (string | RegExp)[];
- /**
- * In Vite, this option follows Vite's config.
- */
- isProduction?: boolean;
- script?: Partial<Omit<SFCScriptCompileOptions, 'id' | 'isProd' | 'inlineTemplate' | 'templateOptions' | 'sourceMap' | 'genDefaultAs' | 'customElement' | 'defineModel' | 'propsDestructure'>> & {
- /**
- * @deprecated defineModel is now a stable feature and always enabled if
- * using Vue 3.4 or above.
- */
- defineModel?: boolean;
- /**
- * @deprecated moved to `features.propsDestructure`.
- */
- propsDestructure?: boolean;
- };
- template?: Partial<Omit<SFCTemplateCompileOptions, 'id' | 'source' | 'ast' | 'filename' | 'scoped' | 'slotted' | 'isProd' | 'inMap' | 'ssr' | 'ssrCssVars' | 'preprocessLang'>>;
- style?: Partial<Omit<SFCStyleCompileOptions, 'filename' | 'id' | 'isProd' | 'source' | 'scoped' | 'cssDevSourcemap' | 'postcssOptions' | 'map' | 'postcssPlugins' | 'preprocessCustomRequire' | 'preprocessLang' | 'preprocessOptions'>>;
- /**
- * Use custom compiler-sfc instance. Can be used to force a specific version.
- */
- compiler?: typeof _compiler;
- /**
- * Requires @vitejs/plugin-vue@^5.1.0
- */
- features?: {
- /**
- * Enable reactive destructure for `defineProps`.
- * - Available in Vue 3.4 and later.
- * - **default:** `false` in Vue 3.4 (**experimental**), `true` in Vue 3.5+
- */
- propsDestructure?: boolean;
- /**
- * Transform Vue SFCs into custom elements.
- * - `true`: all `*.vue` imports are converted into custom elements
- * - `string | RegExp`: matched files are converted into custom elements
- * - **default:** /\.ce\.vue$/
- */
- customElement?: boolean | string | RegExp | (string | RegExp)[];
- /**
- * Set to `false` to disable Options API support and allow related code in
- * Vue core to be dropped via dead-code elimination in production builds,
- * resulting in smaller bundles.
- * - **default:** `true`
- */
- optionsAPI?: boolean;
- /**
- * Set to `true` to enable devtools support in production builds.
- * Results in slightly larger bundles.
- * - **default:** `false`
- */
- prodDevtools?: boolean;
- /**
- * Set to `true` to enable detailed information for hydration mismatch
- * errors in production builds. Results in slightly larger bundles.
- * - **default:** `false`
- */
- prodHydrationMismatchDetails?: boolean;
- };
- /**
- * @deprecated moved to `features.customElement`.
- */
- customElement?: boolean | string | RegExp | (string | RegExp)[];
- }
- interface ResolvedOptions extends Options {
- compiler: typeof _compiler;
- root: string;
- sourceMap: boolean;
- cssDevSourcemap: boolean;
- devServer?: ViteDevServer;
- devToolsEnabled?: boolean;
- }
- interface Api {
- get options(): ResolvedOptions;
- set options(value: ResolvedOptions);
- version: string;
- }
- declare function vuePlugin(rawOptions?: Options): Plugin<Api>;
- export { type Api, type Options, type ResolvedOptions, type VueQuery, vuePlugin as default, parseVueRequest };
|