[package]
name = "rullst"
version = "1.0.3"
edition = "2024"
description = "O framework fullstack definitivo para Rust, com foco em DX, velocidade e segurança."
license = "MIT"
readme = "../README.md"
repository = "https://github.com/venelouis/Rullst"

[features]
default = []
queue-redis = ["dep:redis"]
cache-redis = ["dep:redis"]
mail-smtp = ["dep:lettre"]
storage-s3 = ["dep:aws-config", "dep:aws-sdk-s3"]

[dependencies]
serde = { version = "1.0", features = ["derive"] }
serde_json = "1.0"
rullst-macros = { version = "1.0.3", path = "../rullst-macros" }
# Optional features dependencies
redis = { version = "0.27", features = ["tokio-comp", "aio"], optional = true }
lettre = { version = "0.11", optional = true, default-features = false, features = ["tokio1", "tokio1-rustls-tls", "builder", "smtp-transport", "hostname"] }
aws-config = { version = "1", optional = true }
aws-sdk-s3 = { version = "1", optional = true }

[target.'cfg(not(target_arch = "wasm32"))'.dependencies]
axum = { version = "0.7", features = ["macros", "ws"] }
tokio = { version = "1.43", features = ["rt-multi-thread", "macros", "time"] }
rust-eloquent = "1.1.0"
sqlx = { version = "0.8", features = ["sqlite", "postgres", "mysql", "any", "runtime-tokio", "macros"] }
tower = { version = "0.4", features = ["util"] }
tower-http = { version = "0.5", features = ["fs", "trace"] }
tower-layer = "0.3"
tower-service = "0.3"
async-trait = "0.1"
argon2 = "0.5"
cookie = { version = "0.18", features = ["percent-encoding"] }
rand = "0.8"
aes-gcm = "0.10"
sha2 = "0.10"
base64 = "0.22"
serde_urlencoded = "0.7"
uuid = { version = "1", features = ["v4"] }
dashmap = "6"
cron = "0.15"
chrono = { version = "0.4", default-features = false, features = ["clock"] }
validator = { version = "0.19", features = ["derive"] }
reqwest = { version = "0.12", default-features = false, features = ["json", "rustls-tls"] }
libloading = "0.8"
notify = "6.1.1"


[target.'cfg(target_arch = "wasm32")'.dependencies]
wasm-bindgen = "0.2"
web-sys = { version = "0.3", features = ["Document", "Element", "Window", "EventTarget", "HtmlElement", "console"] }
serde-wasm-bindgen = "0.6"
console_error_panic_hook = "0.1.7"
getrandom = { version = "0.2", features = ["js"] }







