UNPKG

@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
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>;