[package] name = "wsvc" version = "0.1.9" edition = "2021" authors = ["Reverier-Xu "] description = "WebSocket Simple Version Control tool." homepage = "https://github.com/ret2shell/wsvc" documentation = "https://docs.rs/wsvc" repository = "https://github.com/ret2shell/wsvc" readme = "README.md" license = "MPL-2.0" # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html [[bin]] name = "wsvc" required-features = ["cli"] [dependencies] tokio = { version = "1.34", features = ["full"] } tokio-util = { version = "0.7", features = ["io"] } tokio-stream = "0.1" bytes = "1.5" futures = "0.3" async-trait = "0.1" serde = { version = "1.0", features = ["derive"] } serde_repr = "0.1" serde_json = "1.0" chrono = { version = "0.4", features = ["serde"] } thiserror = "1.0" anyhow = "1.0" miniz_oxide = "0.7" nanoid = "0.4" blake3 = "1.5" async-recursion = "1.0" toml = "0.8" # cli dependencies once_cell = { version = "1.18", optional = true } clap = { version = "4.4", features = ["derive"], optional = true } colored = { version = "2.0", optional = true } dirs = { version = "5.0", optional = true } merge ={ version = "0.1", optional = true } indicatif = { version = "0.17", optional = true, features = ["tokio"]} # server dependencies axum = { version = "0.6", features = [ "headers", "ws", "http2", "multipart", "macros", ], optional = true } hyper = { version = "0.14", features = ["full"], optional = true } tower = { version = "0.4", optional = true } tower-http = { version = "0.4", features = ["trace"], optional = true } tracing = { version = "0.1", optional = true } # both cli & server tokio-tungstenite = { version = "0.20", features = [ "rustls-tls-native-roots", ], optional = true } [features] default = ["all"] cli = [ "dep:once_cell", "dep:clap", "dep:tokio-tungstenite", "dep:colored", "dep:dirs", "dep:merge", "dep:indicatif", ] server = ["dep:axum", "dep:hyper", "dep:tower", "dep:tower-http", "dep:tracing"] all = ["cli", "server"]