40 lines
1.1 KiB
Plaintext
40 lines
1.1 KiB
Plaintext
import type {
|
|
ErrorPayload,
|
|
FullReloadPayload,
|
|
PrunePayload,
|
|
UpdatePayload,
|
|
} from './hmrPayload'
|
|
|
|
export interface CustomEventMap {
|
|
'vite:beforeUpdate': UpdatePayload
|
|
'vite:afterUpdate': UpdatePayload
|
|
'vite:beforePrune': PrunePayload
|
|
'vite:beforeFullReload': FullReloadPayload
|
|
'vite:error': ErrorPayload
|
|
'vite:invalidate': InvalidatePayload
|
|
'vite:ws:connect': WebSocketConnectionPayload
|
|
'vite:ws:disconnect': WebSocketConnectionPayload
|
|
}
|
|
|
|
export interface WebSocketConnectionPayload {
|
|
/**
|
|
* @experimental
|
|
* We expose this instance experimentally to see potential usage.
|
|
* This might be removed in the future if we didn't find reasonable use cases.
|
|
* If you find this useful, please open an issue with details so we can discuss and make it stable API.
|
|
*/
|
|
// eslint-disable-next-line n/no-unsupported-features/node-builtins
|
|
webSocket: WebSocket
|
|
}
|
|
|
|
export interface InvalidatePayload {
|
|
path: string
|
|
message: string | undefined
|
|
}
|
|
|
|
/**
|
|
* provides types for built-in Vite events
|
|
*/
|
|
export type InferCustomEventPayload<T extends string> =
|
|
T extends keyof CustomEventMap ? CustomEventMap[T] : any
|