Rustelo/Cargo.toml

188 lines
6.0 KiB
TOML
Raw Normal View History

2025-07-07 23:05:19 +01:00
[workspace]
resolver = "2"
members = [
2026-02-08 20:18:46 +00:00
"crates/framework/crates/rustelo_core",
"crates/framework/crates/rustelo_web",
"crates/framework/crates/rustelo_auth",
"crates/framework/crates/rustelo_content",
"crates/framework/crates/rustelo_cli",
"crates/foundation/crates/rustelo_client",
"crates/foundation/crates/rustelo_server",
"crates/foundation/crates/rustelo_core_lib",
"crates/foundation/crates/rustelo_core_types",
"crates/foundation/crates/rustelo_language",
"crates/foundation/crates/rustelo_routing",
"crates/foundation/crates/rustelo_components",
"crates/foundation/crates/rustelo_pages",
"crates/foundation/crates/rustelo_tools",
"crates/foundation/crates/rustelo_utils",
"crates/foundation/crates/rustelo_macros",
2025-07-07 23:05:19 +01:00
]
[workspace.dependencies]
2026-02-08 20:18:46 +00:00
# Core dependencies
# Rustelo foundation crates
rustelo_utils = { path = "crates/foundation/crates/rustelo_utils" }
rustelo_core_types = { path = "crates/foundation/crates/rustelo_core_types" }
rustelo_language = { path = "crates/foundation/crates/rustelo_language" }
rustelo_routing = { path = "crates/foundation/crates/rustelo_routing" }
rustelo_core_lib = { path = "crates/foundation/crates/rustelo_core_lib" }
rustelo_components = { path = "crates/foundation/crates/rustelo_components" }
rustelo_pages = { path = "crates/foundation/crates/rustelo_pages" }
rustelo_client = { path = "crates/foundation/crates/rustelo_client" }
rustelo_server = { path = "crates/foundation/crates/rustelo_server" }
rustelo_tools = { path = "crates/foundation/crates/rustelo_tools" }
rustelo_macros = { path = "crates/foundation/crates/rustelo_macros" }
# Rustelo framework crates
rustelo_core = { path = "crates/framework/crates/rustelo_core" }
rustelo_web = { path = "crates/framework/crates/rustelo_web" }
rustelo_auth = { path = "crates/framework/crates/rustelo_auth" }
rustelo_content = { path = "crates/framework/crates/rustelo_content" }
rustelo_cli = { path = "crates/framework/crates/rustelo_cli" }
# Leptos ecosystem
leptos = { version = "0.8.15", features = ["hydrate", "ssr"] }
leptos_router = { version = "0.8.11", features = ["ssr"] }
leptos_axum = { version = "0.8.7" }
leptos_config = { version = "0.8.8" }
leptos_meta = { version = "0.8.5" }
leptos_integration_utils = { version = "0.8.7" }
# Other dependencies
2025-07-07 23:05:19 +01:00
serde = { version = "1.0", features = ["derive"] }
2026-02-08 20:18:46 +00:00
axum = "0.8.8"
2025-07-07 23:05:19 +01:00
serde_json = "1.0"
2026-02-08 20:18:46 +00:00
thiserror = "2.0.18"
anyhow = "1.0.101"
rand = "0.9"
rand_core = { version = "0.10" }
#rand_core = { version = "0.6", features = ["getrandom"] }
getrandom = { version = "0.4", features = ["std", "wasm_js"] }
2025-07-07 23:05:19 +01:00
gloo-timers = { version = "0.3", features = ["futures"] }
2026-02-08 20:18:46 +00:00
gloo-net = { version = "0.6.0" }
glob = "0.3.3"
console_error_panic_hook = "0.1.7"
2025-07-07 23:05:19 +01:00
http = "1"
2026-02-08 20:18:46 +00:00
log = "0.4.29"
env_logger = "0.11"
wasm-bindgen-futures = "0.4.58"
wasm-bindgen = "0.2.108"
serde-wasm-bindgen = "0.6.5"
2025-07-07 23:05:19 +01:00
console_log = "1"
2026-02-08 20:18:46 +00:00
reqwest = { version = "0.13.2", features = ["json"] } # reqwest with JSON parsing support
2025-07-07 23:05:19 +01:00
reqwasm = "0.5.0"
2026-02-08 20:18:46 +00:00
js-sys = "0.3.85"
web-sys = { version = "0.3.85" , features = ["Clipboard", "Window", "Navigator", "Permissions", "MouseEvent", "Storage", "console", "File", "SvgElement", "SvgsvgElement", "SvgPathElement", "MediaQueryList"] }
regex = "1.12.3"
2025-07-07 23:05:19 +01:00
tracing = "0.1"
tracing-subscriber = "0.3"
toml = "0.9"
2025-07-07 23:05:19 +01:00
fluent = "0.17"
fluent-bundle = "0.16"
2026-02-08 20:18:46 +00:00
fluent-syntax = "0.12"
unic-langid = { version = "0.9", features = ["unic-langid-macros"] }
tokio = { version = "1.49", features = ["rt-multi-thread"]}
tower = "0.5.3"
tower-http = { version = "0.6.8", features = ["fs"]}
hex = "0.4.3"
dotenv = "0.15.0"
async-trait = "0.1.89"
once_cell = "1.21.3"
fluent-templates = { version = "0.13.2", features = ["tera"]}
rhai = { version = "1.24", features = ["serde", "only_i64", "no_float"] }
# Email support
lettre = { version = "0.11", features = ["tokio1-native-tls", "smtp-transport", "pool", "hostname", "builder"] }
handlebars = { version = "6.4" }
urlencoding = { version = "2.1" }
# TLS Support (optional)
axum-server = { version = "0.8", features = ["tls-rustls"] }
axum-test = "18.7"
rustls = { version = "0.23" }
rustls-pemfile = { version = "2.2" }
# Authentication & Authorization (optional)
jsonwebtoken = { version = "10.3", features = ["rust_crypto"] }
argon2 = { version = "0.5" }
uuid = { version = "1.20", features = ["v4", "serde", "js"] }
2025-07-07 23:05:19 +01:00
chrono = { version = "0.4", features = ["serde"] }
2026-02-08 20:18:46 +00:00
oauth2 = { version = "5.0" }
tower-sessions = { version = "0.15" }
sqlx = { version = "0.8.6", features = ["runtime-tokio-rustls", "postgres", "sqlite", "chrono", "uuid", "migrate"] }
tower-cookies = { version = "0.11" }
time = { version = "0.3", features = ["serde"] }
# 2FA Support (optional)
totp-rs = { version = "5.7.0" }
qrcode = { version = "0.14", features = ["svg"] }
base32 = { version = "0.5" }
sha2 = { version = "0.10" }
base64 = { version = "0.22" }
# Cryptography dependencies
aes-gcm = { version = "0.10" }
clap = { version = "4.5", features = ["derive"] }
# Metrics dependencies
prometheus = { version = "0.14" }
# Content Management & Rendering (optional)
pulldown-cmark = { version = "0.13.0", features = ["simd"] }
serde_yaml = { version = "0.9" }
tempfile = { version = "3.24" }
tera = { version = "1.20" }
unicode-normalization = { version = "0.1" }
paste = "1.0.15"
typed-builder = "0.23"
notify = { version = "8.2.0", default-features = false, features = ["macos_fsevent"] }
lru = "0.16"
ammonia = "4.1"
scraper = "0.25"
futures = "0.3.31"
async-compression = { version = "0.4", features = ["gzip", "tokio"] }
ratatui = "0.30"
inquire = "0.9"
crossterm = "0.29"
syntect = "5.3"
similar = "2.7"
reactive_graph = "0.2.12"
syn = { version = "2.0", features = ["full"] }
comrak = { version = "0.50", features = ["syntect"] }
walkdir = "2.5"
quote = "1.0"
proc-macro2 = "1.0"
gray_matter = "0.3"
ignore = "0.4"
mockall = "0.14"
wiremock = "0.6"
cfg-if = "1.0"
html-escape = "0.2"
shellexpand = "3.1"
semver = "1.0"
pathdiff = "0.2"
dialoguer = "0.12"
console = "0.16"
indicatif = "0.18"
[profile.release]
codegen-units = 1
lto = true
opt-level = "z"