[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 = { version = "0.5", optional = true } uuid = { version = "1", features = ["v4"], optional = true } chrono = { version = "0.4", features = ["serde"] } regex = { version = "1.12", optional = true } pulldown-cmark = { version = "0.13", optional = true } dotenvy = { version = "0.15", optional = true } tracing = { version = "0.1", optional = true, features = ["release_max_level_info"] } tracing-subscriber = { version = "0.3", optional = true } rand = { version = "0.8", features = ["getrandom"], optional = true } http = { version = "1", optional = true } axum = { version = "0.8", optional = true, features = ["multipart"] } http-body-util = { version = "0.1", optional = true } serde_json = "1.0" sha2 = { version = "0.10", optional = true } hex = { version = "0.4", optional = true } lol_html = { version = "2", 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"] } serial_test = "3" [profile.release] debug = false opt-level = 3 lto = "thin" codegen-units = 1 strip = "symbols" [features] default = ["web", "server"] web = ["dioxus/web"] server = [ "dioxus/server", "dep:tokio", "dep:tokio-postgres", "dep:deadpool-postgres", "dep:argon2", "dep:uuid", "dep:regex", "dep:pulldown-cmark", "dep:rand", "dep:http", "dep:sha2", "dep:hex", "dep:dotenvy", "dep:tracing", "dep:tracing-subscriber", "dep:http-body-util", "dep:lol_html", "dep:syntect", "dep:axum", "dep:image", "dep:zenwebp", "dep:moka", "dep:governor", "dep:md-5", ]