Skip to main content

euv_cli/
lib.rs

1//! euv CLI
2//!
3//! The official CLI tool for the euv UI framework,
4//! providing run/build/fmt modes with hot reload and
5//! wasm-pack integration.
6
7mod build;
8mod error;
9mod fmt;
10mod hmr;
11mod logger;
12mod mode;
13mod server;
14
15pub use build::inline::*;
16use log::SetLoggerError;
17pub use std::{
18    error::Error,
19    ffi::OsStr,
20    fmt::{Display, Formatter},
21    io::Error as IoError,
22    string::FromUtf8Error,
23};
24pub use {build::*, error::*, fmt::*, hmr::*, logger::*, mode::*, server::*};
25
26use std::{
27    collections::HashMap,
28    ffi,
29    fmt::Arguments,
30    io,
31    net::{IpAddr, Ipv4Addr},
32    path::{Component, Path, PathBuf},
33    process::{Output, Stdio},
34    slice::Iter,
35    sync::{Arc, OnceLock},
36    time::Duration,
37};
38
39use {
40    clap::Parser,
41    color_output::*,
42    hyperlane::*,
43    ignore::gitignore::{Gitignore, GitignoreBuilder},
44    lombok_macros::*,
45    notify::{Config, Event, RecommendedWatcher, RecursiveMode, Watcher},
46    qrcode::{QrCode, render::unicode::Dense1x2},
47    serde::Serialize,
48    tokio::{
49        fs::{
50            ReadDir, canonicalize, create_dir_all, metadata, read, read_dir, read_to_string,
51            remove_dir_all, remove_file, write,
52        },
53        process::Command,
54        spawn,
55        sync::{
56            RwLock, RwLockWriteGuard, broadcast,
57            mpsc::{Receiver, Sender, channel},
58        },
59        time::{Interval, interval, sleep},
60    },
61};