112 lines
2.5 KiB
TOML
Raw Normal View History

# 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