diff --git a/packages/vitest/src/config.ts b/packages/vitest/src/config.ts index 0afb83cccd86..1fdd469cd2bf 100644 --- a/packages/vitest/src/config.ts +++ b/packages/vitest/src/config.ts @@ -10,13 +10,19 @@ export { configDefaults, defaultInclude, defaultExclude, coverageConfigDefaults export { mergeConfig } from 'vite' export type { ConfigEnv, ViteUserConfig as UserConfig } +export type UserConfigFnObject = (env: ConfigEnv) => ViteUserConfig +export type UserConfigFnPromise = (env: ConfigEnv) => Promise export type UserConfigFn = (env: ConfigEnv) => ViteUserConfig | Promise -export type UserConfigExport = ViteUserConfig | Promise | UserConfigFn +export type UserConfigExport = ViteUserConfig | Promise | UserConfigFnObject | UserConfigFnPromise | UserConfigFn export type UserProjectConfigFn = (env: ConfigEnv) => UserWorkspaceConfig | Promise export type UserProjectConfigExport = UserWorkspaceConfig | Promise | UserProjectConfigFn -export function defineConfig(config: UserConfigExport) { +export function defineConfig(config: ViteUserConfig): ViteUserConfig +export function defineConfig(config: Promise): Promise +export function defineConfig(config: UserConfigFnObject): UserConfigFnObject +export function defineConfig(config: UserConfigExport): UserConfigExport +export function defineConfig(config: UserConfigExport): UserConfigExport { return config }