[workspace]
resolver = "2"
members = ["crates/*"]
[workspace.package]
edition = "2021"
version = "0.702.1+0.7.2"
description = """
"XOEV XWasser XML Standard"
"""
rust-version = "1.81.0"
authors = ["H & D GmbH Open Source <contact-oss@h-d-gmbh.de>"]
license = "MIT"
repository = "https://github.com/hd-gmbh-dev/xoev-xwasser-rs"
categories = []
keywords = []
[workspace.dependencies]
anyhow = "1.0.89"
xoev-xwasser-codelists = { version = "0.702.1", path = "crates/codelists" }
xoev-xwasser-derive = { version = "0.702.1", path = "crates/derive" }
raxb = "0.4.4"
raxb-validate = "0.4.4"
raxb-xmlschema = "0.4.4"
raxb-xmlschema-build = "0.4.4"
serde = { version = "1.0.210", features = ["derive", "rc"] }
[package]
name = "xoev-xwasser"
edition.workspace = true
version.workspace = true
description.workspace = true
rust-version.workspace = true
authors.workspace = true
license.workspace = true
repository.workspace = true
categories.workspace = true
keywords.workspace = true
[lib]
crate-type = ["cdylib", "rlib"]
[features]
default = ["builder", "validate"]
trace = []
builder = ["dep:typed-builder", "dep:uuid", "dep:chrono", "dep:strum", "dep:strum_macros", "dep:tiny_id", "dep:once_cell"]
wasm = ["dep:wasm-bindgen", "dep:serde-wasm-bindgen", "dep:tsify-next", "dep:uuid", "uuid/js", "tiny_id/js"]
schema = [
"dep:rust-embed",
"dep:raxb-validate",
"dep:raxb-xmlschema",
"dep:anyhow",
]
validate = ["dep:xoev-xwasser-codelists"]
[dependencies]
xoev-xwasser-derive.workspace = true
xoev-xwasser-codelists = { workspace = true, optional = true }
anyhow = { version = "1", optional = true }
rust-embed = { version = "8.5.0", optional = true }
raxb = { workspace = true, features = ["trace"] }
raxb-validate = { workspace = true, optional = true }
raxb-xmlschema = { workspace = true, optional = true }
wasm-bindgen = { version = "0.2.93", optional = true }
serde-wasm-bindgen = { version = "0.6", optional = true }
tsify-next = { version= "0.5.4", default-features = false, features = ["js"], optional = true }
serde.workspace = true
typed-builder = { version = "0.20.0", optional = true }
once_cell = { version = "1.20.1", optional = true }
uuid = { version = "1.10.0", features = ["v4"], optional = true }
chrono = { version = "0.4.38", optional = true }
strum = { version = "0.26", optional = true }
strum_macros = { version = "0.26", optional = true }
tiny_id = { version = "0.1.6", features = [], optional = true }
[build-dependencies]
anyhow.workspace = true
raxb-xmlschema-build.workspace = true
[dev-dependencies]
anyhow.workspace = true
raxb-xmlschema-build.workspace = true
serde_json = "1.0.128"
test-log = { version = "0.2.16", features = ["trace", "color"] }
[profile.release]
opt-level = "s"