[package]
name = "forma-server"
version.workspace = true
edition.workspace = true
license.workspace = true
authors.workspace = true
repository.workspace = true
homepage.workspace = true
description = "Axum middleware for Forma SSR: page rendering, asset serving, CSP, service worker"
readme = "README.md"
rust-version = "1.85"
documentation = "https://docs.rs/forma-server"
keywords = ["ssr", "axum", "web-framework", "islands", "forma"]
categories = ["web-programming::http-server"]
[dependencies]
brotli = { version = "8", optional = true }
flate2 = { version = "1", default-features = false, features = ["rust_backend"], optional = true }
forma-ir = { version = "=3.2.0", path = "../forma-ir" }
axum = "0.8"
rust-embed = "8"
serde = { version = "1", features = ["derive"] }
serde_json.workspace = true
base64 = "0.22"
ring = "0.17"
tracing.workspace = true
[features]
default = []
navigation = []
experimental-router = ["navigation"]
compression = ["dep:brotli", "dep:flate2"]
[dev-dependencies]
tokio = { version = "1", features = ["macros", "rt"] }
tower = { version = "0.5", features = ["util"] }
forma-ir = { version = "=3.2.0", path = "../forma-ir", features = ["test-helpers", "__fault-injection"] }
[lints]
workspace = true