# jpl-website - Server Crate
# SSR server with CMS functionality

[package]
name = "jpl_website-server"
version = "{{project_version}}"
edition = "2021"
authors = [{{authors}}]
description = "jpl-website server from Rustelo framework"

# Server binary
[[bin]]
name = "jpl-website-server"
path = "src/main.rs"

[dependencies]
# Workspace crates
jpl_website-shared = { workspace = true }
jpl_website-client = { workspace = true }

# Rustelo Framework
rustelo-core = { workspace = true }
rustelo-web = { workspace = true }
rustelo-content = { workspace = true }
rustelo-auth = { workspace = true }

# Leptos SSR
leptos = { workspace = true, features = ["ssr"] }
leptos_axum = { workspace = true }
leptos_router = { workspace = true, features = ["ssr"] }
leptos_meta = { workspace = true, features = ["ssr"] }

# Web Server Stack
axum = { workspace = true }
tower = { workspace = true }
tower-http = { workspace = true }
tokio = { workspace = true }

# Data & Serialization
serde = { workspace = true }
serde_json = { workspace = true }

# Logging
tracing = { workspace = true }
tracing-subscriber = { workspace = true }

# Error Handling
anyhow = { workspace = true }
thiserror = { workspace = true }

# Utilities
uuid = { workspace = true }
chrono = { workspace = true }

# Content Management (server-side)
pulldown-cmark = { workspace = true }
gray_matter = { workspace = true }
comrak = { workspace = true }

[features]
default = ["ssr"]
ssr = [
    "leptos/ssr",
    "leptos_axum/ssr",
    "leptos_router/ssr",
    "leptos_meta/ssr",
    "jpl_website-shared/ssr"
]

# CMS Features
content-management = ["rustelo-content/full"]
user-auth = ["rustelo-auth/full"]
admin-panel = ["rustelo-content/admin"]
media-management = ["rustelo-content/media"]
seo-optimization = ["rustelo-content/seo"]
