[package]
name = "renderreport"
version = "0.2.21"
edition = "2021"
authors = ["Casoon <info@casoon.de>"]
description = "Data-driven report generation with Typst as embedded render engine — no CLI dependency"
homepage = "https://renderreport.casoon.dev"
repository = "https://github.com/casoon/renderreport"
documentation = "https://docs.rs/renderreport"
license = "MIT OR Apache-2.0"
keywords = ["report", "pdf", "typst", "audit", "generator"]
categories = ["text-processing", "rendering", "template-engine"]
readme = "README.md"
rust-version = "1.75"
exclude = [
    "target/",
    ".github/",
    "docs/",
    "fixtures/",
]

[lib]
name = "renderreport"
path = "src/lib.rs"

[[bin]]
name = "renderreport"
path = "src/bin/renderreport.rs"
required-features = ["cli"]

[dependencies]
# CLI (optional)
clap = { version = "4.0", features = ["derive"], optional = true }

# Typst as embedded library
typst = "0.13"
typst-pdf = "0.13"
typst-syntax = "0.13"
comemo = "0.4"

# Serialization
serde = { version = "1.0", features = ["derive"] }
serde_json = "1.0"
toml = "0.8"

# Error handling
thiserror = "2.0"
anyhow = "1.0"

# Barcode encoding
barcoders = "2.0"
qrcode = "0.14"
datamatrix = "0.3"

# Distributed static component registration
inventory = "0.3"

# Utilities
chrono = { version = "0.4", features = ["serde"] }
uuid = { version = "1.0", features = ["v4", "serde"] }

# Font handling
fontdb = "0.22"

# Async (optional, for future remote pack loading)
# tokio = { version = "1.0", features = ["full"], optional = true }

[profile.release]
opt-level = 3
lto = true
codegen-units = 1
strip = true

[dev-dependencies]
pretty_assertions = "1.0"
insta = { version = "1.0", features = ["json"] }
tempfile = "3.0"

[features]
default = []
cli = ["clap"]
# remote-packs = ["tokio"]

[[example]]
name = "simple_report"
path = "examples/simple_report.rs"

[[example]]
name = "custom_theme"
path = "examples/custom_theme.rs"

[[example]]
name = "seo_audit"
path = "examples/seo_audit.rs"

[[example]]
name = "advanced_components"
path = "examples/advanced_components.rs"

[[example]]
name = "new_components_demo"
path = "examples/new_components_demo.rs"

[[example]]
name = "charts_demo"
path = "examples/charts_demo.rs"

[[example]]
name = "barcode_demo"
path = "examples/barcode_demo.rs"

[[example]]
name = "data_analysis_demo"
path = "examples/data_analysis_demo.rs"

[[example]]
name = "text_formatting_demo"
path = "examples/text_formatting_demo.rs"
