diff --git a/packages/schema/src/types/config.ts b/packages/schema/src/types/config.ts index e21dfdaecc..3e365c131d 100644 --- a/packages/schema/src/types/config.ts +++ b/packages/schema/src/types/config.ts @@ -1,12 +1,13 @@ import { ConfigSchema } from '../../schema/config' import type { ResolvedConfig } from 'c12' -import { UserConfig } from 'vite' -import { Options as VuePluginOptions } from '@vitejs/plugin-vue' +import type { UserConfig as ViteUserConfig } from 'vite' +import type { Options as VuePluginOptions } from '@vitejs/plugin-vue' type DeepPartial = T extends Function ? T : T extends Record ? { [P in keyof T]?: DeepPartial } : T /** User configuration in `nuxt.config` file */ export interface NuxtConfig extends DeepPartial> { + // Avoid DeepPartial for vite config interface (#4772) vite?: ConfigSchema['vite'] [key: string]: any } @@ -28,7 +29,7 @@ export interface RuntimeConfig extends PrivateRuntimeConfig, RuntimeConfigNamesp public: PublicRuntimeConfig } -export interface ViteConfig extends UserConfig { +export interface ViteConfig extends ViteUserConfig { /** * Options passed to @vitejs/plugin-vue * @see https://github.com/vitejs/vite/tree/main/packages/plugin-vue