mirror of
https://github.com/nuxt/nuxt.git
synced 2024-11-11 08:33:53 +00:00
fix(schema): update vite import.meta
types (#19338)
This commit is contained in:
parent
2cf5f48621
commit
654b9a21d7
@ -65,7 +65,7 @@ if (process.dev) {
|
|||||||
// Vite
|
// Vite
|
||||||
if (import.meta.hot) {
|
if (import.meta.hot) {
|
||||||
import.meta.hot.accept((newModule) => {
|
import.meta.hot.accept((newModule) => {
|
||||||
const newConfig = newModule._getAppConfig()
|
const newConfig = newModule?._getAppConfig()
|
||||||
applyHMR(newConfig)
|
applyHMR(newConfig)
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
@ -1,35 +1,134 @@
|
|||||||
/**
|
/**
|
||||||
* Reference: https://github.com/vitejs/vite/blob/main/packages/vite/types/importMeta.d.ts
|
* Reference: https://github.com/vitejs/vite/blob/main/packages/vite/types/importMeta.d.ts
|
||||||
*/
|
*/
|
||||||
|
export type ModuleNamespace = Record<string, any> & {
|
||||||
|
[Symbol.toStringTag]: 'Module'
|
||||||
|
}
|
||||||
|
|
||||||
export interface ViteHot {
|
export interface ViteHot {
|
||||||
readonly data: any
|
readonly data: any
|
||||||
|
|
||||||
accept (): void
|
accept (): void
|
||||||
accept (cb: (mod: any) => void): void
|
accept (cb: (mod: ModuleNamespace | undefined) => void): void
|
||||||
accept (dep: string, cb: (mod: any) => void): void
|
accept (dep: string, cb: (mod: ModuleNamespace | undefined) => void): void
|
||||||
accept (deps: readonly string[], cb: (mods: any[]) => void): void
|
accept (deps: readonly string[], cb: (mods: Array<ModuleNamespace | undefined>) => void): void
|
||||||
|
acceptExports (exportNames: string | readonly string[], cb?: (mod: ModuleNamespace | undefined) => void): void
|
||||||
|
|
||||||
dispose (cb: (data: any) => void): void
|
dispose (cb: (data: any) => void): void
|
||||||
decline (): void
|
prune (cb: (data: any) => void): void
|
||||||
invalidate (): void
|
invalidate (message?: string): void
|
||||||
|
|
||||||
on (event: any, cb: (payload: any) => void): void
|
on (event: any, cb: (payload: any) => void): void
|
||||||
send (event: any, data?: any): void
|
send (event: any, data?: any): void
|
||||||
}
|
}
|
||||||
|
|
||||||
export interface ViteGlobOptions {
|
export interface KnownAsTypeMap {
|
||||||
as?: string
|
raw: string
|
||||||
eager?: boolean
|
url: string
|
||||||
|
worker: Worker
|
||||||
|
}
|
||||||
|
|
||||||
|
export interface ImportGlobOptions<
|
||||||
|
Eager extends boolean,
|
||||||
|
AsType extends string
|
||||||
|
> {
|
||||||
|
/**
|
||||||
|
* Import type for the import url.
|
||||||
|
*/
|
||||||
|
as?: AsType
|
||||||
|
/**
|
||||||
|
* Import as static or dynamic
|
||||||
|
*
|
||||||
|
* @default false
|
||||||
|
*/
|
||||||
|
eager?: Eager
|
||||||
|
/**
|
||||||
|
* Import only the specific named export. Set to `default` to import the default export.
|
||||||
|
*/
|
||||||
import?: string
|
import?: string
|
||||||
|
/**
|
||||||
|
* Custom queries
|
||||||
|
*/
|
||||||
query?: string | Record<string, string | number | boolean>
|
query?: string | Record<string, string | number | boolean>
|
||||||
|
/**
|
||||||
|
* Search files also inside `node_modules/` and hidden directories (e.g. `.git/`). This might have impact on performance.
|
||||||
|
*
|
||||||
|
* @default false
|
||||||
|
*/
|
||||||
exhaustive?: boolean
|
exhaustive?: boolean
|
||||||
}
|
}
|
||||||
|
|
||||||
|
export interface ImportGlobFunction {
|
||||||
|
/**
|
||||||
|
* Import a list of files with a glob pattern.
|
||||||
|
*
|
||||||
|
* Overload 1: No generic provided, infer the type from `eager` and `as`
|
||||||
|
*/
|
||||||
|
<
|
||||||
|
Eager extends boolean,
|
||||||
|
As extends string,
|
||||||
|
T = As extends keyof KnownAsTypeMap ? KnownAsTypeMap[As] : unknown
|
||||||
|
>(
|
||||||
|
glob: string | string[],
|
||||||
|
options?: ImportGlobOptions<Eager, As>
|
||||||
|
): (Eager extends true
|
||||||
|
? true
|
||||||
|
: false) extends true
|
||||||
|
? Record<string, T>
|
||||||
|
: Record<string, () => Promise<T>>
|
||||||
|
/**
|
||||||
|
* Import a list of files with a glob pattern.
|
||||||
|
*
|
||||||
|
* Overload 2: Module generic provided, infer the type from `eager: false`
|
||||||
|
*/
|
||||||
|
<M>(
|
||||||
|
glob: string | string[],
|
||||||
|
options?: ImportGlobOptions<false, string>
|
||||||
|
): Record<string, () => Promise<M>>
|
||||||
|
/**
|
||||||
|
* Import a list of files with a glob pattern.
|
||||||
|
*
|
||||||
|
* Overload 3: Module generic provided, infer the type from `eager: true`
|
||||||
|
*/
|
||||||
|
<M>(
|
||||||
|
glob: string | string[],
|
||||||
|
options: ImportGlobOptions<true, string>
|
||||||
|
): Record<string, M>
|
||||||
|
}
|
||||||
|
|
||||||
|
export interface ImportGlobEagerFunction {
|
||||||
|
/**
|
||||||
|
* Eagerly import a list of files with a glob pattern.
|
||||||
|
*
|
||||||
|
* Overload 1: No generic provided, infer the type from `as`
|
||||||
|
*/
|
||||||
|
<
|
||||||
|
As extends string,
|
||||||
|
T = As extends keyof KnownAsTypeMap ? KnownAsTypeMap[As] : unknown
|
||||||
|
>(
|
||||||
|
glob: string | string[],
|
||||||
|
options?: Omit<ImportGlobOptions<boolean, As>, 'eager'>
|
||||||
|
): Record<string, T>
|
||||||
|
/**
|
||||||
|
* Eagerly import a list of files with a glob pattern.
|
||||||
|
*
|
||||||
|
* Overload 2: Module generic provided
|
||||||
|
*/
|
||||||
|
<M>(
|
||||||
|
glob: string | string[],
|
||||||
|
options?: Omit<ImportGlobOptions<boolean, string>, 'eager'>
|
||||||
|
): Record<string, M>
|
||||||
|
}
|
||||||
|
|
||||||
export interface ViteImportMeta {
|
export interface ViteImportMeta {
|
||||||
/** Vite client HMR API - see https://vitejs.dev/guide/api-hmr.html */
|
/** Vite client HMR API - see https://vitejs.dev/guide/api-hmr.html */
|
||||||
readonly hot?: ViteHot
|
readonly hot?: ViteHot
|
||||||
|
|
||||||
/** vite glob import utility - https://vitejs.dev/guide/features.html#glob-import */
|
/** vite glob import utility - https://vitejs.dev/guide/features.html#glob-import */
|
||||||
glob (glob: string | string[], options?: ViteGlobOptions): Record<string, () => Promise<Record<string, any>>>
|
glob: ImportGlobFunction
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @deprecated Use `import.meta.glob('*', { eager: true })` instead
|
||||||
|
*/
|
||||||
|
globEager: ImportGlobEagerFunction
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user