[package]
name = "thecockpit"
version = "0.1.0"
authors = ["Isaac Mills <rooster0055@protonmail.com>"]
edition = "2018"

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

[features]
default = ["console_error_panic_hook"]
console_error_panic_hook = ["dep:console_error_panic_hook"]

[[bin]]
name = "thecockpit"
path = "src/main.rs"
required-features = ["ratatui/default"]

[target.'cfg(not(target_arch = "wasm32"))'.dependencies]
tokio = { version = "1.47.0", features = ["rt", "macros"] }
ratatui = { version = "0.29.0", default-features = false }

[target.'cfg(target_arch = "wasm32")'.dependencies]
wasm-bindgen = "0.2.84"
wasm-bindgen-futures = "0.4.50"

# The `console_error_panic_hook` crate provides better debugging of panics by
# logging them with `console.error`. This is great for development, but requires
# all the `std::fmt` and `std::panicking` infrastructure, so isn't great for
# code size when deploying.
console_error_panic_hook = { version = "0.1.7", optional = true }
ratzilla = { path = "./ratzilla" }

[target.'cfg(target_arch = "wasm32")'.dev-dependencies]
wasm-bindgen-test = "0.3.34"

[profile.release]
# Tell `rustc` to optimize for small code size.
opt-level = "s"

[dependencies]
dotenvy_macro = "0.15.7"
futures-util = "0.3.31"
getrandom = { version = "0.3.3", features = ["wasm_js"] }
heapless = "0.8.0"
openweathermap_lib = { git = "https://github.com/StratusFearMe21/rusty-openweathermap-library", branch = "wasm_deps" }
phf = { version = "0.12.1", features = ["macros"] }
rand = { version = "0.9.2", default-features = false, features = ["os_rng", "std"] }
tachyonfx = { version = "0.16.0", default-features = false, features = ["web-time"] }
web-time = "1.1.0"

