2026-02-08 20:09:38 +00:00
|
|
|
# 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"
|
2026-02-08 20:09:38 +00:00
|
|
|
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
|
|
|
#
|
2026-02-08 20:09:38 +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
|
|
|
#
|
2026-02-08 20:09:38 +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",
|
2026-02-08 20:09:38 +00:00
|
|
|
"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"]
|
2026-02-08 20:09:38 +00:00
|
|
|
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",
|
2026-02-08 20:09:38 +00:00
|
|
|
"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
|
|
|
]
|