Rustelo/templates/shared/Cargo.toml

172 lines
4.8 KiB
TOML
Raw Normal View History

# jpl-website - Rustelo Framework Implementation
# Generated by cargo rustelo v0.1.0
# Template: content-website | Asset source: local
#
# This Cargo.toml uses the Rustelo framework as dependencies (not a fork!).
# Framework updates are managed through standard Cargo dependency updates.
[package]
name = "jpl-website"
version = "{{project_version}}"
edition = "2021"
authors = [{{authors}}]
description = "jpl-website from Rustelo framework"
license = "MIT OR Apache-2.0"
repository = "{{repository}}"
# Main binary for the web application
[[bin]]
2026-02-08 20:37:49 +00:00
name = "jpl-website-server"
path = "src/main.rs"
# Optional library crate for reusable components
[lib]
name = "jpl_website"
path = "src/lib.rs"
[dependencies]
# Rustelo Framework Dependencies - The core framework components
# These are managed dependencies, not forks. Updates via `cargo rustelo update`
#
# IMPORTANT: For true self-containment, use ONE of these approaches:
#
# Git dependencies (default for self-contained projects)
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" }
# Alternative dependency strategies (configured via rustelo-deps.toml):
2026-02-08 20:37:49 +00:00
#
# Published crates (when available on crates.io):
# rustelo-core = "{{rustelo_core_version}}"
# rustelo-web = "{{rustelo_web_version}}"
2026-02-08 20:37:49 +00:00
#
# Local development (only during framework development):
# rustelo-core = { version = "{{rustelo_core_version}}", path = "../rustelo/crates/rustelo-core" }
# rustelo-web = { version = "{{rustelo_web_version}}", path = "../rustelo/crates/rustelo-web" }
# Optional framework components (uncomment as needed)
# rustelo-auth = { version = "{{rustelo_auth_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" }
# Web Framework Stack
leptos = { version = "0.8.6", features = ["ssr", "router"] }
leptos_axum = "0.8.5"
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"] }
# Async Runtime
tokio = { version = "1.47.1", features = [
2026-02-08 20:37:49 +00:00
"rt-multi-thread",
"macros",
"signal",
"fs",
"net"
] }
# Serialization
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"] }
[dev-dependencies]
# Testing framework
tokio-test = "0.4"
[features]
default = ["ssr"]
# Server-Side Rendering (production)
ssr = ["leptos/ssr", "leptos_axum/ssr"]
# Client-Side Hydration (for SPA features)
hydrate = ["leptos/hydrate"]
# Optional framework features (enable as needed)
auth = ["rustelo-auth"]
2026-02-08 20:37:49 +00:00
content = ["rustelo-content"]
database = ["rustelo-core/database"]
cache = ["rustelo-core/cache"]
search = ["rustelo-content/search"]
i18n = ["rustelo-content/i18n"]
[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
# This section is used by `cargo rustelo dev` for hot reloading
[[workspace.metadata.leptos]]
name = "jpl-website"
bin-package = "jpl-website"
lib-package = "jpl_website"
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
# CSS and asset processing is handled by cargo rustelo build system
# which integrates with the frontend pipeline (package.json, UnoCSS, etc.)
# Framework Update Configuration
[package.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"
# Files that can be safely regenerated during updates
generated_files = [
"justfile",
2026-02-08 20:37:49 +00:00
"package.json",
"unocss.config.ts",
"rustelo.toml"
]
# Files that should never be overwritten (user code)
protected_files = [
"src/main.rs",
"src/lib.rs",
"src/**/*.rs",
"assets/**/*",
"content/**/*",
"local-tasks.just",
"unocss.local.ts"
2026-02-08 20:37:49 +00:00
]