chartlet 0.2.0

Compile structured data into deterministic, accessible static charts
Documentation
[package]
name = "chartlet"
version = "0.2.0"
edition = "2024"
license = "MIT AND OFL-1.1"
description = "Compile structured data into deterministic, accessible static charts"
repository = "https://github.com/casoon/chartlet"
readme = "README.md"
keywords = ["charts", "svg", "accessibility", "static", "visualization"]
categories = ["visualization", "command-line-utilities"]
exclude = ["packages/**", "plan/**", "site/**", "docs/**", "wasm/**"]

[dependencies]
serde = { version = "1.0", features = ["derive"] }
serde_json = "1.0"
serde_path_to_error = "0.1"
# PNG output, behind the `png` feature: text shaping and rasterizing without system fonts.
resvg = { version = "0.48", default-features = false, features = ["text"], optional = true }

[features]
# Adds `render_png` and `chartlet render --format png`. Not part of the default build, the
# WebAssembly build or the npm package.
png = ["dep:resvg"]

[lints.rust]
unsafe_code = "forbid"

[lints.clippy]
all = "warn"
pedantic = "warn"

# The root package stays the default: `cargo build`, `cargo test` and `cargo clippy` here touch
# only `chartlet`. `wasm/` is the WebAssembly build for the npm package; it shares the lockfile
# so both render with the same dependency versions.
[workspace]
members = ["wasm"]

# Size over speed for the WebAssembly build: `cargo build --profile wasm -p chartlet-wasm
# --target wasm32-unknown-unknown`.
[profile.wasm]
inherits = "release"
opt-level = "s"
lto = true
codegen-units = 1
panic = "abort"
strip = true