1[package]
2name = "annoyance"
3version = "0.1.0"
4edition = "2024"
5
6[workspace]
7members = ["run-wasm"]
8
9[features]
10default = []
11server = [
12 "tokio/net",
13 "futures-util/std",
14 "dep:enigo",
15 "dep:tokio-websockets",
16]
17client = [
18 "dep:tokio-rustls",
19 "dep:tokio-tungstenite-wasm",
20]
21
22[dependencies]
23anyhow = "1"
24winit = "0.30"
25softbuffer = "0.4"
26ahash = { version = "0.8", default-features = false, features = ["compile-time-rng"] }
27tiny-skia = { version = "0.11", default-features = false, features = ["simd", "std"] }
28quanta = "0.12"
29bincode = "2.0.1"
30fastrand = "2"
31futures-util = { version = "0.3.31", default-features = false, features = ["sink"] }
32tokio = { version = "1", default-features = false, features = ["rt", "sync", "macros"] }
33tokio-websockets = { optional = true, version = "0.12", default-features = false, features = ["nightly", "server", "sha1_smol"] }
34tokio-tungstenite-wasm = { optional = true, version = "0.6", default-features = false, features = ["rustls-tls-webpki-roots"] }
35
36[target.'cfg(target_arch = "wasm32")'.dependencies]
37fastrand = { version = "2", features = ["js"] }
38console_error_panic_hook = "0.1"
39wasm-bindgen-futures = "0.4"
40
41[target.'cfg(not(target_arch = "wasm32"))'.dependencies]
42tokio-rustls = { optional = true, version = "0.26", default-features = false, features = ["ring"] }
43enigo = { optional = true, version = "0.5.0", features = ["wayland"] }
44tokio = { version = "1", default-features = false, features = ["rt", "rt-multi-thread", "sync"] }
45ahash = { version = "0.8", default-features = false, features = ["runtime-rng"] }
46
47[profile.release]
48opt-level = 3
49lto = "fat"
50codegen-units = 1
51panic = "abort"