@ordojs/dev-tools
Version:
Advanced developer tools for OrdoJS with component inspector, AST explorer, and performance profiling
99 lines (95 loc) • 2.29 kB
TypeScript
import { EventEmitter } from 'events';
import { H as HMRUpdate } from '../index-D9DTurRB.js';
/**
* @fileoverview OrdoJS Dev Tools - Enhanced HMR
*
* Enhanced hot module replacement with state preservation and improved debugging.
*/
/**
* Enhanced HMR for improved hot module replacement
*/
declare class EnhancedHMR extends EventEmitter {
private updates;
private isRunning;
private port;
private statePreservation;
/**
* Create a new EnhancedHMR instance
*
* @param port - WebSocket port for enhanced HMR
* @param statePreservation - Enable state preservation
*/
constructor(port?: number, statePreservation?: boolean);
/**
* Start the enhanced HMR
*/
start(): Promise<void>;
/**
* Stop the enhanced HMR
*/
stop(): Promise<void>;
/**
* Send an HMR update
*
* @param update - HMR update information
*/
sendUpdate(update: HMRUpdate): void;
/**
* Get update by ID
*
* @param updateId - Update identifier
* @returns HMR update or undefined
*/
getUpdate(updateId: string): HMRUpdate | undefined;
/**
* Get all updates
*
* @returns Array of all updates
*/
getAllUpdates(): HMRUpdate[];
/**
* Clear all updates
*/
clearUpdates(): void;
/**
* Get HMR statistics
*
* @returns HMR statistics
*/
getHMRStats(): {
totalUpdates: number;
updatesByType: Record<string, number>;
updatesByFile: Record<string, number>;
averageUpdateTime: number;
};
/**
* Enable state preservation
*/
enableStatePreservation(): void;
/**
* Disable state preservation
*/
disableStatePreservation(): void;
/**
* Check if state preservation is enabled
*
* @returns True if state preservation is enabled
*/
isStatePreservationEnabled(): boolean;
/**
* Generate update ID
*
* @param update - HMR update
* @returns Update ID
*/
private generateUpdateId;
/**
* Start WebSocket server for enhanced HMR communication
*/
private startWebSocketServer;
/**
* Stop WebSocket server
*/
private stopWebSocketServer;
}
export { EnhancedHMR };