[package]
name = "showbits-typst-plugin"
version = "0.0.0"
edition = "2024"

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

[dependencies]
palette = "0.7.6"

[dependencies.image]
version = "0.25.5"
default-features = false
features = ["png"]

[dependencies.mark]
git = "https://github.com/Garmelon/mark.git"
rev = "2a862a69d69abc64ddd7eefd1e1ff3d05ce3b6e4"

[dependencies.wasm-minimal-protocol]
git = "https://github.com/astrale-sharp/wasm-minimal-protocol.git"
rev = "90336ebf2d99844fd8f8e99ea7096af96526cbf4"

[profile.release]
lto = true        # Enable link-time optimization
strip = true      # Strip symbols from binary*
opt-level = 'z'   # Optimize for size
codegen-units = 1 # Reduce number of codegen units to increase optimizations
panic = 'abort'   # Abort on panic

[lints]
rust.unsafe_code = { level = "forbid", priority = 1 }
# Lint groups
rust.deprecated_safe = "warn"
rust.future_incompatible = "warn"
rust.keyword_idents = "warn"
rust.rust_2018_idioms = "warn"
rust.unused = "warn"
# Individual lints
rust.non_local_definitions = "warn"
rust.redundant_imports = "warn"
rust.redundant_lifetimes = "warn"
rust.single_use_lifetimes = "warn"
rust.unit_bindings = "warn"
rust.unused_crate_dependencies = "warn"
rust.unused_import_braces = "warn"
rust.unused_lifetimes = "warn"
rust.unused_qualifications = "warn"
# Clippy
clippy.use_self = "warn"

[workspace] # Prevent package from being included in outer workspace
