112 lines
2.5 KiB
TOML
112 lines
2.5 KiB
TOML
|
|
# 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
|