[workspace] resolver = "2" members = [ "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", ] [workspace.dependencies] # 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 serde = { version = "1.0", features = ["derive"] } axum = "0.8.8" serde_json = "1.0" 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"] } gloo-timers = { version = "0.3", features = ["futures"] } gloo-net = { version = "0.6.0" } glob = "0.3.3" console_error_panic_hook = "0.1.7" http = "1" 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" console_log = "1" reqwest = { version = "0.13.2", features = ["json"] } # reqwest with JSON parsing support reqwasm = "0.5.0" 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" tracing = "0.1" tracing-subscriber = "0.3" toml = "0.9" fluent = "0.17" fluent-bundle = "0.16" 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"] } chrono = { version = "0.4", features = ["serde"] } 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"