dmc-transform 0.3.3

Transform pipeline and built-in transformers for the dmc compiler
Documentation
[package]
name = "dmc-transform"
version.workspace = true
edition.workspace = true
license.workspace = true
authors.workspace = true
repository.workspace = true
homepage.workspace = true
documentation.workspace = true
keywords.workspace = true
categories.workspace = true
description = "Transform pipeline and built-in transformers for the dmc compiler"
readme = "README.md"

[features]
default = ["mermaid", "assets", "npm-command", "math", "emoji"]
mermaid = []
assets = ["dep:blake3"]
npm-command = []
pretty-code = ["dep:dmc-highlight"]
math = ["dep:katex", "dep:pulldown-latex"]
emoji = ["dep:emojis"]

[dependencies]
dmc-lexer = { version = "0.3.3", path = "../dmc-lexer" }
dmc-parser = { version = "0.3.3", path = "../dmc-parser" }
dmc-highlight = { version = "0.3.3", path = "../dmc-highlight", optional = true }
dmc-diagnostic = { workspace = true, features = ["parser", "transform"] }
duck-diagnostic.workspace = true
blake3 = { workspace = true, optional = true }
pulldown-latex = { workspace = true, optional = true }
emojis = { workspace = true, optional = true }
serde.workspace = true
serde_json.workspace = true

# katex backend selected per target. quick-js is faster but POSIX-only.
[target.'cfg(not(target_os = "windows"))'.dependencies]
katex = { workspace = true, features = ["quick-js"], optional = true }

[target.'cfg(target_os = "windows")'.dependencies]
katex = { workspace = true, features = ["duktape"], optional = true }

[dev-dependencies]
pretty_assertions.workspace = true
tempfile.workspace = true

[[bin]]
name = "transform"
path = "transform-samples/transform.rs"