# Empty workspace to make this template standalone [workspace] [package] name = "core-lib-template" version = "0.1.0" edition = "2021" authors = ["Rustelo Contributors"] license = "MIT OR Apache-2.0" description = "Core runtime template for Rustelo - trait-based dependency injection" documentation = "https://docs.rs/rustelo" repository = "https://github.com/rustelo/rustelo" homepage = "https://rustelo.dev" readme = "README.md" keywords = [ "rust", "web", "leptos", "template", "traits", ] categories = ["web-programming", "template-engine"] [package.metadata.docs.rs] all-features = true rustdoc-args = [ "--cfg", "docsrs", ] [lib] crate-type = [ "cdylib", "rlib", ] [dependencies] # Pure trait dependencies from Layer 1 rustelo-routing-traits = { path = "../../traits/routing-traits" } rustelo-component-traits = { path = "../../traits/component-traits" } rustelo-core-types = { path = "../../traits/core-types" } # Essential Leptos dependencies leptos = { workspace = true, features = [ "hydrate", "ssr" ] } leptos_meta = { workspace = true } # Serialization serde = { workspace = true, features = ["derive"] } serde_json = { workspace = true } # Error handling thiserror = { workspace = true } # Utilities cfg-if = { workspace = true } once_cell = { workspace = true } # WASM support wasm-bindgen = { workspace = true, optional = true } wasm-bindgen-futures = { workspace = true, optional = true } web-sys = { workspace = true, optional = true } js-sys = { workspace = true, optional = true } reqwasm = { workspace = true, optional = true } # Content processing (optional) pulldown-cmark = { workspace = true, optional = true } toml = { workspace = true, optional = true } # i18n (optional) fluent = { workspace = true, optional = true } fluent-bundle = { workspace = true, optional = true } unic-langid = { workspace = true, optional = true } # Time handling (optional) chrono = { workspace = true, optional = true, features = ["serde"] } # IDs (optional) uuid = { workspace = true, optional = true, features = ["v4", "serde"] } # URL handling urlencoding = { workspace = true } [features] default = ["wasm"] # Essential features wasm = [ "wasm-bindgen", "wasm-bindgen-futures", "web-sys", "js-sys", "reqwasm" ] ssr = [] # Optional feature modules content = ["pulldown-cmark", "toml"] i18n = ["fluent", "fluent-bundle", "unic-langid"] time = ["chrono"] ids = ["uuid"] # NOTE: NO build-dependencies - this template uses dependency injection # Implementations will provide concrete types via traits