# 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]] 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): # # Published crates (when available on crates.io): # rustelo-core = "{{rustelo_core_version}}" # rustelo-web = "{{rustelo_web_version}}" # # 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 = [ "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"] 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", "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" ]