[package] name = "annoyance" version = "0.1.0" edition = "2024" [workspace] members = ["run-wasm"] [features] default = [] server = [ "tokio/net", "futures-util/std", "dep:enigo", "dep:tokio-websockets", ] client = [ "dep:tokio-rustls", "dep:tokio-tungstenite-wasm", ] [dependencies] anyhow = "1" winit = "0.30" softbuffer = "0.4" ahash = { version = "0.8", default-features = false, features = ["compile-time-rng"] } tiny-skia = { version = "0.11", default-features = false, features = ["simd", "std"] } quanta = "0.12" bincode = "2.0.1" fastrand = "2" futures-util = { version = "0.3.31", default-features = false, features = ["sink"] } tokio = { version = "1", default-features = false, features = ["rt", "sync", "macros"] } tokio-websockets = { optional = true, version = "0.12", default-features = false, features = ["nightly", "server", "sha1_smol"] } tokio-tungstenite-wasm = { optional = true, version = "0.6", default-features = false, features = ["rustls-tls-webpki-roots"] } [target.'cfg(target_arch = "wasm32")'.dependencies] fastrand = { version = "2", features = ["js"] } console_error_panic_hook = "0.1" wasm-bindgen-futures = "0.4" [target.'cfg(not(target_arch = "wasm32"))'.dependencies] tokio-rustls = { optional = true, version = "0.26", default-features = false, features = ["ring"] } enigo = { optional = true, version = "0.5.0", features = ["wayland"] } tokio = { version = "1", default-features = false, features = ["rt", "rt-multi-thread", "sync"] } ahash = { version = "0.8", default-features = false, features = ["runtime-rng"] } [profile.release] opt-level = 3 lto = "fat" codegen-units = 1 panic = "abort"