[package]
name = "yewprint-app"
version = "0.1.0"
authors = ["Gabriel Tofvesson <contact@w1zzrd.dev>"]
edition = "2021"

# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html

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

[dependencies]
# 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.6", optional = true }

wasm-bindgen = "0.2"
web-sys = { version = "0.3", features = ["Window", "MediaQueryList"] }
js-sys = "0.3"

# `wee_alloc` is a tiny allocator for wasm that is only ~1K in code size
# compared to the default allocator's ~10K. It is slower than the default
# allocator, however.
#
# Unfortunately, `wee_alloc` requires nightly Rust when targeting wasm for now.
wee_alloc = { version = "0.4.5", optional = false }

yew = { version = "0.20.0", features = ["csr"] }
yew-router = { version = "0.17.0" }
yewprint = "0.4.0"
gloo = "0.8.0"
gloo-events = "0.1"
futures = "0.3.25"

# Resource access
gloo-net = "0.2"
serde = { version = "1.0", features = ["derive"] }
wasm-bindgen-futures = "0.4"

comrak = "0.15"

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

[workspace]
members = ["xtask"]