[package] name = "components" version = "0.1.0" edition = "2021" [lib] name = "components" path = "src/lib.rs" [dependencies] # Use workspace dependencies serde = { workspace = true } serde_json = { workspace = true } log = { workspace = true } thiserror = { workspace = true } uuid = { workspace = true } futures-util = { workspace = true } futures-channel = { workspace = true } # WASM-specific dependencies [target.'cfg(target_arch = "wasm32")'.dependencies] wasm-bindgen = { workspace = true } wasm-bindgen-futures = { workspace = true } yew = { workspace = true } gloo = { workspace = true } gloo-timers = { workspace = true } web-sys = { workspace = true } js-sys = { workspace = true } serde-wasm-bindgen = "0.6" hex = "0.4" k256 = { version = "0.13", features = ["ecdsa", "sha256"] } getrandom = { version = "0.2", features = ["js"] } gloo-net = "0.5" reqwest = { workspace = true } # Native-specific dependencies [target.'cfg(not(target_arch = "wasm32"))'.dependencies] hero_websocket_client = { path = "../../hero/interfaces/websocket/client", default-features = false, features = [] } tokio = { workspace = true, features = ["rt", "macros", "time"] } [dev-dependencies] tokio-test = "0.4" wasm-bindgen-test = { workspace = true } [features] default = [] crypto = ["hero_websocket_client/crypto"] wasm-compatible = [] # For WASM builds without crypto to avoid wasm-opt issues