
[workspace]
resolver = "2"
members = [
    "server",
    "client",
    "shared"
]
[profile.release]
codegen-units = 1
lto = true
opt-level = 'z'

[workspace.dependencies]
leptos = { version = "0.8.2", features = ["hydrate", "ssr"] }
leptos_router = { version = "0.8.2", features = ["ssr"] }
leptos_axum = { version = "0.8.2" }
leptos_config = { version = "0.8.2" }
leptos_meta = { version = "0.8.2" }
serde = { version = "1.0", features = ["derive"] }
serde_json = "1.0"
shared = { path = "./shared" }
thiserror = "2.0.12"
rand = "0.9.1"
gloo-timers = { version = "0.3", features = ["futures"] }
console_error_panic_hook = "0.1"
http = "1"
log = "0.4.27"
wasm-bindgen-futures = "0.4.50"
wasm-bindgen = "=0.2.100"
console_log = "1"
reqwest = { version = "0.12.22", features = ["json"] } # reqwest with JSON parsing support
reqwasm = "0.5.0"
web-sys = { version = "0.3.77" , features = ["Clipboard", "Window", "Navigator", "Permissions", "MouseEvent", "Storage", "console", "File"] }
regex = "1.11.1"
tracing = "0.1"
tracing-subscriber = "0.3"
toml = "0.9"
fluent = "0.17"
fluent-bundle = "0.16"
unic-langid = "0.9"
chrono = { version = "0.4", features = ["serde"] }
uuid = { version = "1.17", features = ["v4", "serde"] }

[[workspace.metadata.leptos]]
# The name used by wasm-bindgen/cargo-leptos for the JS/WASM bundle. Defaults to the crate name
output-name = "website"
# Specify which binary target to use (fixes multiple bin targets error)
bin-target = "server"
# The site root folder is where cargo-leptos generate all output. WARNING: all content of this folder will be erased on a rebuild. Use it in your server setup.
site-root = "target/site"
# The site-root relative folder where all compiled output (JS, WASM and CSS) is written
# Defaults to pkg
site-pkg-dir = "pkg"
# Add hash to JS/WASM files for cache busting
hash-files = true
# The tailwind input file. Not needed if tailwind-input-file is not set
# Optional, Activates the tailwind build
#tailwind-input-file = "input.css"

# [Optional] Files in the asset-dir will be copied to the site-root directory
assets-dir = "public"
# The IP and port (ex: 127.0.0.1:3000) where the server serves the content. Use it in your server setup.
site-addr = "0.0.0.0:3030"
# The port to use for automatic reload monitoring
reload-port = 3031

# [Optional] Command to use when running end2end tests. It will run in the end2end dir.
#   [Windows] for non-WSL use "npx.cmd playwright test"
#   This binary name can be checked in Powershell with Get-Command npx
end2end-cmd = "npx playwright test"
end2end-dir = "end2end"

#  The browserlist query used for optimizing the CSS.
browserquery = "defaults"

# Set by cargo-leptos watch when building with that tool. Controls whether autoreload JS will be included in the head
watch = false

# The environment Leptos will run in, usually either "DEV" or "PROD"
env = "DEV"

# The features to use when compiling the bin target
#
# Optional. Can be over-ridden with the command line parameter --bin-features
bin-features = ["ssr"]

# If the --no-default-features flag should be used when compiling the bin target
#
# Optional. Defaults to false.
bin-default-features = true

# The features to use when compiling the lib target
#
# Optional. Can be over-ridden with the command line parameter --lib-features
lib-features = ["hydrate"]

# If the --no-default-features flag should be used when compiling the lib target
#
# Optional. Defaults to false.
lib-default-features = false

name = "rustelo"
bin-package = "server"
lib-package = "client"
