fix(types): sync defineConfig types with vite

pull/2495/head
Divyansh Singh 2 years ago
parent 4ddb96fe50
commit b3ded34d8a

@ -6,7 +6,8 @@ import {
createLogger, createLogger,
loadConfigFromFile, loadConfigFromFile,
mergeConfig as mergeViteConfig, mergeConfig as mergeViteConfig,
normalizePath normalizePath,
type ConfigEnv
} from 'vite' } from 'vite'
import { DEFAULT_THEME_PATH } from './alias' import { DEFAULT_THEME_PATH } from './alias'
import { resolvePages } from './plugins/dynamicRoutesPlugin' import { resolvePages } from './plugins/dynamicRoutesPlugin'
@ -16,24 +17,28 @@ import {
type HeadConfig, type HeadConfig,
type SiteData type SiteData
} from './shared' } from './shared'
import { import type { RawConfigExports, SiteConfig, UserConfig } from './siteConfig'
type UserConfig,
type RawConfigExports,
type SiteConfig
} from './siteConfig'
export * from './siteConfig'
export { resolvePages } from './plugins/dynamicRoutesPlugin' export { resolvePages } from './plugins/dynamicRoutesPlugin'
export * from './siteConfig'
const debug = _debug('vitepress:config') const debug = _debug('vitepress:config')
const resolve = (root: string, file: string) => const resolve = (root: string, file: string) =>
normalizePath(path.resolve(root, `.vitepress`, file)) normalizePath(path.resolve(root, `.vitepress`, file))
export type UserConfigFn<ThemeConfig> = (
env: ConfigEnv
) => UserConfig<ThemeConfig> | Promise<UserConfig<ThemeConfig>>
export type UserConfigExport<ThemeConfig> =
| UserConfig<ThemeConfig>
| Promise<UserConfig<ThemeConfig>>
| UserConfigFn<ThemeConfig>
/** /**
* Type config helper * Type config helper
*/ */
export function defineConfig(config: UserConfig<DefaultTheme.Config>) { export function defineConfig(config: UserConfigExport<DefaultTheme.Config>) {
return config return config
} }
@ -41,7 +46,7 @@ export function defineConfig(config: UserConfig<DefaultTheme.Config>) {
* Type config helper for custom theme config * Type config helper for custom theme config
*/ */
export function defineConfigWithTheme<ThemeConfig>( export function defineConfigWithTheme<ThemeConfig>(
config: UserConfig<ThemeConfig> config: UserConfigExport<ThemeConfig>
) { ) {
return config return config
} }

Loading…
Cancel
Save