[dependencies]
axum = "0.8.4"
serde_json = "1.0"
thiserror = "2.0.12"
anyhow = "1.0.98"
rand = "0.9.1"
glob = "0.3.3"
console_error_panic_hook = "0.1"
http = "1"
log = "0.4.27"
env_logger = "0.11"
wasm-bindgen-futures = "0.4.50"
wasm-bindgen = "=0.2.100"
js-sys = "0.3.77"
console_log = "1"
reqwasm = "0.5.0"
serde-wasm-bindgen = "0.6.5"
regex = "1.11.1"
tracing = "0.1"
tracing-subscriber = "0.3"
toml = "0.9"
fluent = "0.17"
fluent-bundle = "0.16"
fluent-syntax = "0.12"
tower = "0.5.2"
hex = "0.4.3"
dotenv = "0.15.0"
async-trait = "0.1.88"
once_cell = "1.21.3"
axum-test = "18.0"
serde_yaml = "0.9"
tempfile = "3.20"
tera = "1.20"
unicode-normalization = "0.1"
paste = "1.0"
typed-builder = "0.21"
notify = "8.2.0"
lru = "0.16"
ammonia = "4.1"
scraper = "0.24"
futures = "0.3.31"
ratatui = "0.29"
inquire = "0.7"
crossterm = "0.29"
syntect = "5.2"
similar = "2.7"
walkdir = "2.5"
quote = "1.0"
proc-macro2 = "1.0"
gray_matter = "0.2"
ignore = "0.4"
mockall = "0.14"
wiremock = "0.6"

[dependencies.utils]
path = "crates/utils"

[dependencies.core-types]
path = "crates/core-types"

[dependencies.tools]
path = "crates/tools"

[dependencies.core-lib]
path = "crates/core-lib"

[dependencies.components]
path = "crates/components"

[dependencies.pages]
path = "crates/pages"

[dependencies.client]
path = "crates/client"

[dependencies.leptos]
version = "0.8.6"
features = [
    "hydrate",
    "ssr",
]

[dependencies.leptos_router]
version = "0.8.5"
features = ["ssr"]

[dependencies.leptos_axum]
version = "0.8.5"

[dependencies.leptos_config]
version = "0.8.5"

[dependencies.leptos_meta]
version = "0.8.5"

[dependencies.serde]
version = "1.0"
features = ["derive"]

[dependencies.rand_core]
version = "0.6.4"
features = ["getrandom"]

[dependencies.gloo-timers]
version = "0.3"
features = ["futures"]

[dependencies.gloo-net]
version = "0.6.0"

[dependencies.reqwest]
version = "0.12.22"
features = ["json"]

[dependencies.web-sys]
version = "0.3.77"
features = [
    "Clipboard",
    "Window",
    "Navigator",
    "Permissions",
    "MouseEvent",
    "Storage",
    "console",
    "File",
]

[dependencies.unic-langid]
version = "0.9"
features = ["unic-langid-macros"]

[dependencies.tokio]
version = "1.47.1"
features = ["rt-multi-thread"]

[dependencies.tower-http]
version = "0.6.6"
features = ["fs"]

[dependencies.fluent-templates]
version = "0.13.0"
features = ["tera"]

[dependencies.rhai]
version = "1.22"
features = [
    "serde",
    "only_i64",
    "no_float",
]

[dependencies.lettre]
version = "0.11"
features = [
    "tokio1-native-tls",
    "smtp-transport",
    "pool",
    "hostname",
    "builder",
]

[dependencies.handlebars]
version = "6.3"

[dependencies.urlencoding]
version = "2.1"

[dependencies.axum-server]
version = "0.7"
features = ["tls-rustls"]

[dependencies.rustls]
version = "0.23"

[dependencies.rustls-pemfile]
version = "2.2"

[dependencies.jsonwebtoken]
version = "9.3"

[dependencies.argon2]
version = "0.5"

[dependencies.uuid]
version = "1.17"
features = [
    "v4",
    "serde",
    "js",
]

[dependencies.chrono]
version = "0.4"
features = ["serde"]

[dependencies.oauth2]
version = "5.0"

[dependencies.tower-sessions]
version = "0.14"

[dependencies.sqlx]
version = "0.8"
features = [
    "runtime-tokio-rustls",
    "postgres",
    "sqlite",
    "chrono",
    "uuid",
    "migrate",
]

[dependencies.tower-cookies]
version = "0.11"

[dependencies.time]
version = "0.3.41"
features = ["serde"]

[dependencies.totp-rs]
version = "5.7.0"

[dependencies.qrcode]
version = "0.14"
features = ["svg"]

[dependencies.base32]
version = "0.5"

[dependencies.sha2]
version = "0.10"

[dependencies.base64]
version = "0.22"

[dependencies.aes-gcm]
version = "0.10"

[dependencies.clap]
version = "4.5"
features = ["derive"]

[dependencies.prometheus]
version = "0.14"

[dependencies.pulldown-cmark]
version = "0.12"
features = ["simd"]

[dependencies.async-compression]
version = "0.4"
features = [
    "gzip",
    "tokio",
]

[dependencies.rustelo-core]
path = "crates/rustelo-core"

[dependencies.rustelo-web]
path = "crates/rustelo-web"

[dependencies.rustelo-auth]
path = "crates/rustelo-auth"

[dependencies.rustelo-content]
path = "crates/rustelo-content"

[dependencies.shared]
path = "crates/shared"

[dependencies.ssr]
path = "crates/ssr"

[dependencies.server]
path = "crates/server"

[dependencies.rustelo-cli]
path = "crates/rustelo-cli"

[dependencies.syn]
version = "2.0"
features = ["full"]

[dependencies.comrak]
version = "0.36"
features = ["syntect"]
