[package] name = "dioxus-server" authors = ["Jonathan Kelley", "Evan Almloff"] version = { workspace = true } edition = "2021" description = "Fullstack utilities for Dioxus: Build fullstack web, desktop, and mobile apps with a single codebase." license = "MIT OR Apache-2.0" repository = "https://github.com/DioxusLabs/dioxus/" homepage = "https://dioxuslabs.com" keywords = ["web", "desktop", "mobile", "gui", "server"] resolver = "2" [dependencies] # dioxus dioxus-lib = { workspace = true } generational-box = { workspace = true } # server functions server_fn = { workspace = true, default-features = false } # axum + native deps axum = { workspace = true, default-features = false } tower-http = { workspace = true, features = ["fs"], optional = true } tokio-util = { workspace = true, features = ["rt"], optional = true } tokio-stream = { workspace = true, features = ["sync"], optional = true } tower = { workspace = true, features = ["util"], optional = true} tower-layer = { version = "0.3.2", optional = true} hyper-util = { workspace = true, features = ["full"], optional = true } hyper = { workspace = true, optional = true } http = { workspace = true } # Dioxus + SSR dioxus-ssr = { workspace = true } dioxus-isrg = { workspace = true } dioxus-router = { workspace = true, features = ["streaming"] } dioxus-fullstack-hooks = { workspace = true } dioxus-fullstack-protocol = { workspace = true } dioxus-interpreter-js = { workspace = true, optional = true } tracing = { workspace = true } tracing-futures = { workspace = true } async-trait = { workspace = true } serde = { workspace = true } enumset = "1.1.5" futures-util = { workspace = true } futures-channel = { workspace = true } ciborium = { workspace = true } base64 = { workspace = true } rustls = { workspace = true, optional = true } hyper-rustls = { workspace = true, optional = true } pin-project = { version = "1.1.2" } thiserror = { workspace = true } bytes = "1.4.0" parking_lot = { workspace = true, features = ["send_guard"] } web-sys = { version = "0.3.61", features = [ "Window", "Document", "Element", "HtmlDocument", "Storage", "console", ] } dioxus-cli-config = { workspace = true } dioxus-devtools = { workspace = true, optional = true } aws-lc-rs = { version = "1.8.1", optional = true } dioxus-history = { workspace = true } subsecond.workspace = true inventory = { workspace = true } dashmap = "6.1.0" [target.'cfg(target_arch = "wasm32")'.dependencies] tokio = { workspace = true, features = ["rt", "sync", "macros"] } [target.'cfg(not(target_arch = "wasm32"))'.dependencies] tokio = { workspace = true, features = ["rt", "sync", "rt-multi-thread", "macros", "net"] } [dev-dependencies] dioxus = { workspace = true, features = ["fullstack"] } [features] default = ["devtools", "full"] full = [ "core", "server_fn/ssr", "dep:tower-http", "default-tls", "dep:tower", "dep:hyper", "dep:tower-layer", "dep:tokio-util", "dep:hyper-util", "axum/default", ] core = [ "server_fn/axum-no-default", "server_fn/ssr", "document", ] devtools = ["dep:dioxus-devtools"] document = ["dep:dioxus-interpreter-js"] default-tls = ["server_fn/default-tls"] rustls = ["server_fn/rustls", "dep:rustls", "dep:hyper-rustls"] aws-lc-rs = ["dep:aws-lc-rs"] [package.metadata.docs.rs] cargo-args = ["-Zunstable-options", "-Zrustdoc-scrape-examples"] features = ["axum", "web", "aws-lc-rs"]