fob_cli/dev/
mod.rs

1//! Development server module.
2//!
3//! Provides a full-featured development server with:
4//! - Hot reload via Server-Sent Events
5//! - In-memory bundling with disk write option
6//! - File watching with debouncing
7//! - Error overlay in browser
8
9pub mod asset_middleware;
10pub mod builder;
11pub mod config;
12pub mod error_overlay;
13pub mod server;
14pub mod state;
15pub mod watcher;
16
17// Re-exports
18pub use asset_middleware::handle_asset;
19pub use builder::DevBuilder;
20pub use config::DevConfig;
21pub use server::DevServer;
22pub use state::{BuildStatus, BundleCache, DevServerState, SharedState};
23pub use watcher::{FileChange, FileWatcher};
24
25use serde::{Deserialize, Serialize};
26
27/// Events in the dev server lifecycle
28#[derive(Debug, Clone, Serialize, Deserialize)]
29#[serde(tag = "type")]
30pub enum DevEvent {
31    /// Build started
32    BuildStarted,
33
34    /// Build completed successfully
35    BuildCompleted { duration_ms: u64 },
36
37    /// Build failed with error
38    BuildFailed { error: String },
39
40    /// Client connected
41    ClientConnected { id: usize },
42
43    /// Client disconnected
44    ClientDisconnected { id: usize },
45}