[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
reflexo.workspace = true
reflexo-vfs.workspace = true
reflexo-world.workspace = true
once_cell.workspace = true
codespan-reporting.workspace = true
parking_lot.workspace = true
flate2.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 }
tokio = { workspace = true, optional = true }
pollster = { workspace = true, optional = true }
log.workspace = true
fontdb = { workspace = true, optional = true }
notify = { workspace = true, optional = 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",
] }
[dev-dependencies]
serde.workspace = true
[features]
cjk = []
emoji = []
lazy-fontdb = ["dep:rayon"]
no-content-hint = [
"typst-ts-core/no-content-hint",
"reflexo-world/no-content-hint",
]
system-compile = [
"dep:rayon",
"typst-ts-core/glyph2vec",
"reflexo-vfs/system",
"reflexo-world/system",
]
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",
"reflexo-vfs/web",
"reflexo-world/web",
]
web-render = ["__web"]
browser-compile = [
"__web",
"web-render",
"typst-ts-core/glyph2vec",
"reflexo-vfs/browser",
"reflexo-world/browser",
]
browser-embedded-fonts = ["__web"]
web = ["__web", "web-render", "browser-compile"]
default = ["system", "dynamic-layout"]