@re-shell/cli
Version:
Full-stack development platform uniting microservices and microfrontends. Build complete applications with .NET (ASP.NET Core Web API, Minimal API), Java (Spring Boot, Quarkus, Micronaut, Vert.x), Rust (Actix-Web, Warp, Rocket, Axum), Python (FastAPI, Dja
53 lines (52 loc) • 1.66 kB
TypeScript
import { EventEmitter } from 'events';
export interface ConfigChangeEvent {
type: 'changed' | 'added' | 'unlinked';
path: string;
configType: 'global' | 'project' | 'workspace';
timestamp: Date;
config?: any;
error?: Error;
}
export interface HotReloadOptions {
enabled?: boolean;
debounceMs?: number;
validateOnChange?: boolean;
autoBackup?: boolean;
restoreOnError?: boolean;
verbose?: boolean;
includeWorkspaces?: boolean;
excludePatterns?: string[];
}
export declare class ConfigWatcher extends EventEmitter {
private watchers;
private debounceTimers;
private isWatching;
private options;
private lastConfigs;
private backupIds;
constructor(options?: HotReloadOptions);
startWatching(): Promise<void>;
stopWatching(): Promise<void>;
isActive(): boolean;
getStatus(): {
isWatching: boolean;
watchedPaths: string[];
options: HotReloadOptions;
lastChanges: ConfigChangeEvent[];
};
updateOptions(newOptions: Partial<HotReloadOptions>): void;
forceReload(): Promise<void>;
private watchGlobalConfig;
private watchProjectConfig;
private watchWorkspaceConfigs;
private handleConfigChange;
private processConfigChange;
private validateConfig;
private createChangeBackup;
private restoreFromBackup;
private storeInitialConfigs;
private logWatchedFiles;
}
export declare const configWatcher: ConfigWatcher;
export declare function setupConfigHotReload(options?: HotReloadOptions): Promise<ConfigWatcher>;
export declare function startDevMode(options?: HotReloadOptions): Promise<void>;