[package]
name = "typst-ts-compiler"
description = "Compile Typst documents."
authors.workspace = true
version.workspace = true
license.workspace = true
edition.workspace = true
homepage.workspace = true
repository.workspace = true
[dependencies]
typst.workspace = true
comemo.workspace = true
once_cell.workspace = true
append-only-vec.workspace = true
codespan-reporting.workspace = true
parking_lot.workspace = true
hex.workspace = true
sha2.workspace = true
flate2.workspace = true
instant.workspace = true
strum.workspace = true
rayon = { workspace = true, optional = true }
serde.workspace = true
serde_json.workspace = true
serde-wasm-bindgen = { workspace = true, optional = true }
dirs = { workspace = true, optional = true }
walkdir = { workspace = true, optional = true }
notify = { workspace = true, optional = true }
tokio = { workspace = true, optional = true }
pollster = { workspace = true, optional = true }
log = { workspace = true, optional = true }
fontdb = { workspace = true, optional = true }
chrono = { workspace = true }
base64.workspace = true
rustc-hash.workspace = true
indexmap.workspace = true
fst.workspace = true
nohash-hasher.workspace = true
pathdiff.workspace = true
tar.workspace = true
wasm-bindgen = { workspace = true, optional = true }
wasm-bindgen-futures = { workspace = true, optional = true }
js-sys = { workspace = true, optional = true }
web-sys = { workspace = true, optional = true, features = [
"console",
"Window",
"Blob",
"ImageData",
] }
typst-ts-svg-exporter = { workspace = true, optional = true }
typst-ts-core = { workspace = true, default-features = false, features = [
"flat-vector",
"vector-bbox",
] }
[target.'cfg(not(any(target_arch = "riscv64", target_arch = "wasm32", all(target_os = "windows", target_arch = "aarch64"))))'.dependencies]
reqwest = { version = "^0.11", default-features = false, features = [
"rustls-tls",
"blocking",
"multipart",
] }
[target.'cfg(any(target_arch = "riscv64", all(target_os = "windows", target_arch = "aarch64")))'.dependencies]
reqwest = { version = "^0.11", default-features = false, features = [
"native-tls",
"blocking",
"multipart",
] }
[dev-dependencies]
serde.workspace = true
[features]
cjk = []
emoji = []
lazy-fontdb = ["dep:rayon"]
no-content-hint = ["typst-ts-core/no-content-hint"]
system-compile = [
"dep:dirs",
"dep:walkdir",
"dep:notify",
"dep:log",
"dep:fontdb",
"typst-ts-core/glyph2vec",
]
system-watch = ["dep:notify", "dep:tokio"]
system = ["system-compile", "system-watch"]
dynamic-layout = ["dep:typst-ts-svg-exporter"]
__web = [
"dep:wasm-bindgen",
"dep:wasm-bindgen-futures",
"dep:js-sys",
"dep:web-sys",
"dep:serde-wasm-bindgen",
"dep:pollster",
"typst-ts-core/web",
"instant/wasm-bindgen",
]
web-render = ["__web"]
browser-compile = ["__web", "web-render", "typst-ts-core/glyph2vec"]
browser-embedded-fonts = ["__web"]
web = ["__web", "web-render", "browser-compile"]
default = ["system", "dynamic-layout"]