[package]
name = "app-1"
version = "0.1.0"
edition = "2021"

[lib]
crate-type = ["cdylib", "rlib"]

[dependencies]
console_error_panic_hook = "0.1.0"
leptos_meta = { version = "0.6.0" }
leptos_router = { version = "0.6.0" }
tower = { version = "0.4.0", optional = true }
tower-http = { version = "0.5.0", features = ["fs", "trace"], optional = true }
wasm-bindgen = "0.2.89"
thiserror = "1.0"
tracing = { version = "0.1.0", optional = true }

http = "1.0"

axum = { version = "0.7.0", optional = true }
leptos = "0.6.0"
leptos_axum = { version = "0.6.0", optional = true }
tokio = { version = "1.0", features = ["rt-multi-thread"], optional = true }
shared-server = { path = "../shared-server", default-features = false }
shared-server-2 = { path = "../shared-server-2", default-features = false }
tracing-subscriber = { version = "0.3.18", features = ["env-filter"] }

# Defines a size-optimized profile for the WASM bundle in release mode
[profile.wasm-release]
inherits = "release"
opt-level = 'z'
lto = true
codegen-units = 1
panic = "abort"

[features]
hydrate = [
  "leptos/hydrate",
  "leptos_meta/hydrate",
  "leptos_router/hydrate",
  "shared-server/hydrate",
  "shared-server-2/hydrate",
]
ssr = [
  "shared-server/ssr",
  "shared-server-2/ssr",
  "dep:axum",
  "dep:tokio",
  "dep:tower",
  "dep:tower-http",
  "dep:leptos_axum",
  "leptos/ssr",
  "leptos_meta/ssr",
  "leptos_router/ssr",
  "dep:tracing",
]


[package.metadata.leptos]
# The name used by wasm-bindgen/cargo-leptos for the JS/WASM bundle. Defaults to the crate name
output-name = "app-1"

# 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"

# Assets source dir. All files found here will be copied and synchronized to site-root.
# The assets-dir cannot have a sub directory with the same name/path as site-pkg-dir.
#
# Optional. Env: LEPTOS_ASSETS_DIR.
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.
# we're listening inside of a docker container, so we need to set 0.0.0.0 to let it be accessed from outside the container.
site-addr = "127.0.0.1:3000"

# The port to use for automatic reload monitoring
reload-port = 3004

# [Optional] The source CSS file. If it ends with .sass or .scss then it will be compiled by dart-sass into CSS. The CSS is optimized by Lightning CSS before being written to <site-root>/<site-pkg>/app.css
style-file = "style/main.scss"

#  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 = false

# 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

# The profile to use for the lib target when compiling for release
#
# Optional. Defaults to "release".
lib-profile-release = "wasm-release"
