UNPKG

@ordojs/cli

Version:

Command-line interface for OrdoJS framework

119 lines 2.61 kB
/** * @fileoverview OrdoJS CLI - Development Server * * Main development server implementation with lifecycle management. */ /** * 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; } /** * 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 status; private actualPort; 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 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>; /** * Start the HTTP server */ private startServer; /** * Stop the HTTP server */ private stopServer; /** * HTTP request handler */ private requestHandler; /** * Handle OrdoJS file compilation */ private handleOrdoFile; /** * Handle index page */ private handleIndex; /** * Handle static files */ private handleStaticFile; /** * Show directory listing */ private showDirectoryListing; /** * Compile OrdoJS to HTML */ private compileOrdoToHTML; } //# sourceMappingURL=server.d.ts.map