use crate::*;
#[derive(Clone, Debug, Parser)]
#[command(name = "euv-cli")]
#[command(about = "euv development server with live WASM compilation")]
pub struct Cli {
#[arg(short, long, default_value = ".")]
pub crate_path: PathBuf,
#[arg(short, long, default_value = "www")]
pub www_dir: PathBuf,
#[arg(short, long, default_value_t = 3000)]
pub port: u16,
#[arg(short, long, default_value = "www/pkg")]
pub out_dir: PathBuf,
}
pub struct AppState {
pub html_content: tokio::sync::RwLock<String>,
pub reload_tx: tokio::sync::broadcast::Sender<()>,
pub is_building: tokio::sync::Mutex<bool>,
pub args: Cli,
}
pub struct RequestMiddleware;
pub struct ResponseMiddleware;
pub struct IndexRoute;
pub struct ReloadRoute;