UNPKG

@ordojs/cli

Version:

Command-line interface for OrdoJS framework

120 lines 2.73 kB
/** * @fileoverview OrdoJS CLI - Development Server with File Watching * * Main development server implementation with lifecycle management and file watching. */ /** * Development server options */ export interface DevServerOptions { /** Directory to serve */ dir: string; /** Host to listen on */ host: string; /** Port to listen on */ port: string | number; /** Enable hot module replacement */ hmr: boolean; /** HMR port (defaults to main port + 1) */ hmrPort?: number; } /** * Server status enum */ export declare enum ServerStatus { STOPPED = "stopped", STARTING = "starting", RUNNING = "running", STOPPING = "stopping", ERROR = "error", RESTARTING = "restarting" } /** * Server state interface for preserving state during restarts */ export interface ServerState { /** Connected clients */ connectedClients?: string[]; /** Active file watchers */ activeWatchers?: string[]; /** Compilation cache */ compilationCache?: Record<string, unknown>; /** Custom state data */ [key: string]: unknown; } /** * OrdoJSDevServer class for managing the development server lifecycle */ export declare class OrdoJSDevServer { private options; private server; private portManager; private processManager; private fileWatcher; private hmr; private status; private actualPort; private hmrPort; private serverState; /** * Create a new OrdoJSDevServer instance * * @param options - Server options */ constructor(options: DevServerOptions); /** * Get the current server status */ getStatus(): ServerStatus; /** * Get the actual port the server is running on */ getPort(): number; /** * Get the HMR port */ getHMRPort(): number; /** * Get the current server state * * @returns The current server state */ getServerState(): ServerState; /** * Start the development server */ start(): Promise<void>; /** * Stop the development server */ stop(): Promise<void>; /** * Restart the development server */ restart(): Promise<void>; /** * Set up HMR system and file watching */ private setupHMR; /** * Handle file change events */ private handleFileChange; /** * Handle file watcher errors */ private handleFileWatcherError; /** * Start the HTTP server */ private startServer; /** * Stop the HTTP server */ private stopServer; /** * HTTP request handler */ private requestHandler; } //# sourceMappingURL=server-with-watcher.d.ts.map