[package] name = "yggdrasil" version = "0.2.0" edition = "2021" [dependencies] dioxus = { version = "0.7.9", features = ["fullstack", "router"] } serde = { version = "1.0", features = ["derive"] } tokio = { version = "1.52", features = ["rt-multi-thread", "macros", "fs", "time", "sync"], optional = true } tokio-postgres = { version = "0.7", features = ["with-chrono-0_4"], optional = true } deadpool-postgres = { version = "0.14", optional = true } argon2 = "0.5" uuid = { version = "1", features = ["v4", "js"] } chrono = { version = "0.4", features = ["serde"] } regex = "1.12" pulldown-cmark = "0.13" dotenvy = { version = "0.15", optional = true } tracing = { version = "0.1", optional = true } tracing-subscriber = { version = "0.3", optional = true } tower-http = { version = "0.6", features = ["trace"], optional = true } rand = { version = "0.8", features = ["getrandom"] } getrandom = { version = "0.2", features = ["js"] } http = "1" axum = { version = "0.8", optional = true, features = ["multipart"] } serde_json = "1.0" sha2 = "0.10" hex = "0.4" ammonia = { version = "4", optional = true } syntect = { version = "5", default-features = false, features = ["default-syntaxes", "default-themes", "default-fancy", "html", "parsing", "dump-load", "yaml-load"], optional = true } # NOTE: WebP decoder is intentionally excluded from the image crate. # We use zenwebp for both encoding and decoding to ensure consistency. # Do NOT add "webp" to the features list without updating src/webp.rs. image = { version = "0.25", optional = true, default-features = false, features = ["jpeg", "png", "gif"] } zenwebp = { version = "0.3", optional = true } moka = { version = "0.12", features = ["future"], optional = true } governor = { version = "0.8", optional = true } md-5 = { version = "0.10", optional = true } [target.'cfg(target_arch = "wasm32")'.dependencies] web-sys = { version = "0.3", features = ["Document", "Window", "Storage", "Element", "DomTokenList", "MediaQueryList", "HtmlImageElement", "MouseEvent", "KeyboardEvent", "Node", "EventTarget", "Navigator"] } wasm-bindgen = "0.2" wasm-bindgen-futures = "0.4" js-sys = "0.3" [dev-dependencies] tokio = { version = "1.52", features = ["rt-multi-thread", "macros", "fs", "time", "sync"] } [profile.release] debug = false opt-level = 3 lto = "thin" codegen-units = 1 [features] default = ["web", "server"] web = ["dioxus/web"] server = [ "dioxus/server", "dep:tokio", "dep:tokio-postgres", "dep:deadpool-postgres", "dep:dotenvy", "dep:tracing", "dep:tracing-subscriber", "dep:tower-http", "dep:ammonia", "dep:syntect", "dep:axum", "dep:image", "dep:zenwebp", "dep:moka", "dep:governor", "dep:md-5", ]