133 lines
3.7 KiB
TOML
133 lines
3.7 KiB
TOML
|
|
# jpl-website - Rustelo CMS Implementation
|
||
|
|
# Generated by cargo rustelo v0.1.0
|
||
|
|
# Template: content-website | Asset source: local
|
||
|
|
#
|
||
|
|
# This is a workspace-based project structure suitable for CMS applications
|
||
|
|
# with separate server, client, and shared crates for optimal organization.
|
||
|
|
|
||
|
|
[workspace]
|
||
|
|
resolver = "2"
|
||
|
|
members = [
|
||
|
|
"server",
|
||
|
|
"client",
|
||
|
|
"shared"
|
||
|
|
]
|
||
|
|
|
||
|
|
# Shared dependencies for all workspace members
|
||
|
|
[workspace.dependencies]
|
||
|
|
# Rustelo Framework Dependencies
|
||
|
|
rustelo-core = { version = "{{rustelo_core_version}}", git = "https://github.com/your-org/rustelo.git", branch = "main" }
|
||
|
|
rustelo-web = { version = "{{rustelo_web_version}}", git = "https://github.com/your-org/rustelo.git", branch = "main" }
|
||
|
|
rustelo-content = { version = "{{rustelo_content_version}}", git = "https://github.com/your-org/rustelo.git", branch = "main" }
|
||
|
|
rustelo-auth = { version = "{{rustelo_auth_version}}", git = "https://github.com/your-org/rustelo.git", branch = "main" }
|
||
|
|
|
||
|
|
# Leptos Framework Stack
|
||
|
|
leptos = { version = "0.8.6", features = ["ssr"] }
|
||
|
|
leptos_axum = { version = "0.8.5" }
|
||
|
|
leptos_router = { version = "0.8.5" }
|
||
|
|
leptos_meta = { version = "0.8.5" }
|
||
|
|
|
||
|
|
# Server Dependencies
|
||
|
|
axum = { version = "0.8.4", features = ["macros", "tracing"] }
|
||
|
|
tower = { version = "0.5.2", features = ["util"] }
|
||
|
|
tower-http = { version = "0.6.6", features = ["fs", "cors", "compression"] }
|
||
|
|
tokio = { version = "1.47.1", features = ["rt-multi-thread", "macros", "signal", "fs", "net"] }
|
||
|
|
|
||
|
|
# Serialization & Data
|
||
|
|
serde = { version = "1.0", features = ["derive"] }
|
||
|
|
serde_json = "1.0"
|
||
|
|
|
||
|
|
# Logging and Observability
|
||
|
|
tracing = "0.1"
|
||
|
|
tracing-subscriber = { version = "0.3", features = ["env-filter", "json"] }
|
||
|
|
|
||
|
|
# Error Handling
|
||
|
|
anyhow = "1.0"
|
||
|
|
thiserror = "2.0"
|
||
|
|
|
||
|
|
# Utilities
|
||
|
|
uuid = { version = "1.18", features = ["v4", "serde"] }
|
||
|
|
chrono = { version = "0.4", features = ["serde"] }
|
||
|
|
|
||
|
|
# Content Management Dependencies
|
||
|
|
pulldown-cmark = { version = "0.12", features = ["simd"] }
|
||
|
|
gray_matter = "0.2"
|
||
|
|
comrak = { version = "0.36", features = ["syntect"] }
|
||
|
|
|
||
|
|
# Client-side Dependencies
|
||
|
|
web-sys = { version = "0.3.77" }
|
||
|
|
wasm-bindgen = "0.2.100"
|
||
|
|
console_error_panic_hook = "0.1"
|
||
|
|
|
||
|
|
# Local crate references
|
||
|
|
jpl_website-server = { path = "server" }
|
||
|
|
jpl_website-client = { path = "client" }
|
||
|
|
jpl_website-shared = { path = "shared" }
|
||
|
|
|
||
|
|
[profile.release]
|
||
|
|
# Optimized production builds
|
||
|
|
codegen-units = 1
|
||
|
|
lto = true
|
||
|
|
opt-level = 'z' # Optimize for size
|
||
|
|
panic = 'abort' # Smaller binary
|
||
|
|
strip = true # Remove debug symbols
|
||
|
|
|
||
|
|
[profile.dev]
|
||
|
|
# Faster development builds
|
||
|
|
opt-level = 0
|
||
|
|
debug = true
|
||
|
|
incremental = true
|
||
|
|
|
||
|
|
# Leptos Configuration for Development Server
|
||
|
|
[[workspace.metadata.leptos]]
|
||
|
|
name = "jpl-website"
|
||
|
|
bin-package = "jpl_website-server"
|
||
|
|
lib-package = "jpl_website-client"
|
||
|
|
bin-target = "jpl-website-server"
|
||
|
|
|
||
|
|
# Output configuration
|
||
|
|
output-name = "jpl-website"
|
||
|
|
site-root = "target/site"
|
||
|
|
site-pkg-dir = "pkg"
|
||
|
|
assets-dir = "public"
|
||
|
|
|
||
|
|
# Development server
|
||
|
|
site-addr = "127.0.0.1:{{dev_port}}"
|
||
|
|
reload-port = {{reload_port}}
|
||
|
|
|
||
|
|
# Build configuration
|
||
|
|
env = "DEV"
|
||
|
|
bin-features = ["ssr"]
|
||
|
|
lib-features = ["hydrate"]
|
||
|
|
watch = true
|
||
|
|
browser-open = true
|
||
|
|
|
||
|
|
# Framework Update Configuration
|
||
|
|
[workspace.metadata.rustelo]
|
||
|
|
# Framework version tracking for safe updates
|
||
|
|
framework_version = "0.1.0"
|
||
|
|
template_variant = "content-website"
|
||
|
|
config_version = "1.0"
|
||
|
|
generation_timestamp = "2025-10-28T18:46:17.145459+00:00"
|
||
|
|
|
||
|
|
# Workspace structure
|
||
|
|
project_type = "cms-workspace"
|
||
|
|
crates = ["server", "client", "shared"]
|
||
|
|
|
||
|
|
# Files that can be safely regenerated during updates
|
||
|
|
generated_files = [
|
||
|
|
"Cargo.toml",
|
||
|
|
"justfile",
|
||
|
|
"package.json",
|
||
|
|
"unocss.config.ts"
|
||
|
|
]
|
||
|
|
|
||
|
|
# Files that should never be overwritten (user code)
|
||
|
|
protected_files = [
|
||
|
|
"server/src/**/*.rs",
|
||
|
|
"client/src/**/*.rs",
|
||
|
|
"shared/src/**/*.rs",
|
||
|
|
"content/**/*",
|
||
|
|
"public/**/*",
|
||
|
|
"local-tasks.just"
|
||
|
|
]
|