[package] name = "dioxus-router" authors = ["Jonathan Kelley", "Evan Almloff"] version = { workspace = true } edition = "2018" description = "Cross-platform router for Dioxus apps" license = "MIT OR Apache-2.0" repository = "https://github.com/DioxusLabs/dioxus/" homepage = "https://dioxuslabs.com" keywords = ["dom", "ui", "gui", "react", "wasm"] [dependencies] anyhow = "1.0.66" dioxus = { workspace = true } dioxus-router-macro = { workspace = true } gloo = { version = "0.8.0", optional = true } tracing = { workspace = true } thiserror = { workspace = true } futures-util = { workspace = true } urlencoding = "2.1.3" serde = { version = "1", features = ["derive"], optional = true } serde_json = { version = "1.0.91", optional = true } url = "2.3.1" wasm-bindgen = { workspace = true, optional = true } web-sys = { version = "0.3.60", optional = true, features = [ "ScrollRestoration", ] } js-sys = { version = "0.3.63", optional = true } gloo-utils = { version = "0.1.6", optional = true } dioxus-liveview = { workspace = true, optional = true } dioxus-ssr = { workspace = true, optional = true } tokio = { workspace = true, features = ["full"], optional = true } [features] default = ["web"] ssr = ["dioxus-ssr", "tokio"] liveview = ["dioxus-liveview", "tokio", "dep:serde", "serde_json"] wasm_test = [] serde = ["dep:serde", "gloo-utils/serde"] web = ["gloo", "web-sys", "wasm-bindgen", "gloo-utils", "js-sys"] [dev-dependencies] axum = { version = "0.6.1", features = ["ws"] } dioxus = { path = "../dioxus" } dioxus-liveview = { workspace = true, features = ["axum"] } dioxus-ssr = { path = "../ssr" } criterion = { version = "0.5", features = ["async_tokio", "html_reports"] } [[example]] name = "static_generation" required-features = ["ssr"] [[bench]] name = "incremental" required-features = ["ssr"] harness = false [target.'cfg(not(target_family = "wasm"))'.dev-dependencies] dioxus-desktop = { path = "../desktop" } [target.'cfg(target_family = "wasm")'.dev-dependencies] console_error_panic_hook = "0.1.7" dioxus-router = { path = ".", features = ["web"] } dioxus-web = { workspace = true } gloo = "0.8.0" wasm-bindgen-test = "0.3.33" wasm-logger = "0.2.0"