[package]
name = "leptos_server"
version = "0.8.5"
authors = ["Greg Johnston"]
license = "MIT"
repository = "https://github.com/leptos-rs/leptos"
description = "RPC for the Leptos web framework."
readme = "../README.md"
rust-version.workspace = true
edition.workspace = true

[dependencies]
base64 = { workspace = true, default-features = true }
codee = { features = ["json_serde"], workspace = true, default-features = true }
hydration_context = { workspace = true }
reactive_graph = { workspace = true, features = ["hydration"] }
server_fn = { workspace = true }
tracing = { optional = true, workspace = true, default-features = true }
futures = { workspace = true, default-features = true }

any_spawner = { workspace = true }
or_poisoned = { workspace = true }
tachys = { workspace = true, optional = true, features = ["reactive_graph"] }
send_wrapper = { workspace = true, default-features = true }

# serialization formats
serde = { workspace = true, default-features = true }
js-sys = { optional = true, workspace = true, default-features = true }
wasm-bindgen = { workspace = true, optional = true, default-features = true }
serde_json = { workspace = true, default-features = true }

[features]
ssr = []
hydration = []
miniserde = ["codee/miniserde"]
rkyv = ["codee/rkyv"]
serde-wasm-bindgen = ["codee/json_serde_wasm"]
serde-lite = ["codee/serde_lite"]
tachys = ["dep:tachys"]
tracing = ["dep:tracing"]

[package.metadata.cargo-all-features]
denylist = ["tracing"]
max_combination_size = 2

[package.metadata.docs.rs]
rustdoc-args = ["--generate-link-to-definition", "--cfg", "docsrs"]
all-features = true

[lints.rust]
unexpected_cfgs = { level = "warn", check-cfg = ['cfg(leptos_debuginfo)'] }
