[package] name = "zanzibar-freezone-app" version = "0.1.0" edition = "2021" [workspace] [lib] crate-type = ["cdylib"] # Binary for the server (only built with server feature) [[bin]] name = "server" path = "src/bin/server.rs" required-features = ["server"] [dependencies] # Frontend (WASM) dependencies yew = { version = "0.21", features = ["csr"] } web-sys = { version = "0.3", features = [ "console", "Document", "Element", "HtmlElement", "HtmlInputElement", "HtmlSelectElement", "HtmlTextAreaElement", "HtmlFormElement", "Location", "Window", "History", "MouseEvent", "Event", "EventTarget", "Storage", "UrlSearchParams", "Blob", "File", "FileList", "FormData", "Crypto", "SubtleCrypto", "CryptoKey" ] } wasm-bindgen = "0.2" wasm-bindgen-futures = "0.4" js-sys = "0.3" log = "0.4" wasm-logger = "0.2" gloo = { version = "0.10", features = ["storage", "timers", "events"] } gloo-utils = "0.2" serde = { version = "1.0", features = ["derive"] } serde_json = "1.0" base64 = "0.21" uuid = { version = "1.0", features = ["v4", "js"] } chrono = { version = "0.4", features = ["serde", "wasm-bindgen"] } # Backend server dependencies (optional) tokio = { version = "1.0", features = ["full"], optional = true } axum = { version = "0.7", optional = true } tower = { version = "0.4", optional = true } tower-http = { version = "0.5", features = ["cors", "fs"], optional = true } reqwest = { version = "0.11", features = ["json"], optional = true } dotenv = { version = "0.15", optional = true } anyhow = { version = "1.0", optional = true } tracing = { version = "0.1", optional = true } tracing-subscriber = { version = "0.3", optional = true } [dev-dependencies] wasm-bindgen-test = "0.3" [features] default = [] server = ["tokio", "axum", "tower", "tower-http", "reqwest", "dotenv", "anyhow", "tracing", "tracing-subscriber"]