UNPKG

@farmfe/runtime-plugin-hmr

Version:

Runtime hmr plugin of Farm

26 lines (25 loc) 1.27 kB
import type { ModuleSystem } from '@farmfe/runtime'; import { HotModuleState } from './hot-module-state.js'; import { HMRPayload, HmrUpdateResult, RawHmrUpdateResult } from './types.js'; export declare class HmrClient { private moduleSystem; socket: WebSocket; registeredHotModulesMap: Map<string, HotModuleState>; disposeMap: Map<string, (data: any) => void | Promise<void>>; pruneMap: Map<string, (data: any) => void | Promise<void>>; customListenersMap: Map<string, ((data: any) => void | Promise<void>)[]>; constructor(moduleSystem: ModuleSystem); connect(): WebSocket; closeConnectionGracefully(): void; applyHotUpdates(result: HmrUpdateResult, moduleSystem: ModuleSystem): Promise<void>; notifyListeners(event: string, data: any): Promise<void>; /** * handle vite HMR message, except farm-update which is handled by handleFarmUpdate, other messages are handled the same as vite * @param payload Vite HMR payload */ handleMessage(payload: HMRPayload): Promise<void>; handleFarmUpdate(result: RawHmrUpdateResult): void; } export declare function createOverlay(err: any): void; export declare function waitForWindowShow(): Promise<void>; export declare function wait(ms: number): Promise<unknown>;