text-document 1.9.3

Rich text document editing library
Documentation
# Generated by Qleany v1.4.8 from frontend_cargo.tera

[package]
name = "text-document"
authors.workspace = true
documentation.workspace = true
description = "Rich text document editing library"
keywords.workspace = true
categories.workspace = true
version.workspace = true
edition.workspace = true
homepage.workspace = true
repository.workspace = true
license.workspace = true
readme = "../../README.md"
publish = true

[dependencies]
log = "0.4"
anyhow = { workspace = true }
thiserror = { workspace = true }
base64 = "0.22"
serde_json = "1.0"
parking_lot = { workspace = true }
unicode-segmentation = { workspace = true }
common = { workspace = true }

# Backend (frontend re-exports all backend crates)
frontend = { workspace = true }

[dev-dependencies]
proptest = "1"
criterion = { version = "0.8.2", features = ["html_reports"] }
insta = { version = "1.40", features = ["yaml", "redactions"] }
# Image-export tests unzip the DOCX/EPUB they produce and assert on the media
# parts inside — the markup that references them was never the part that was
# wrong, so checking it would not have caught a dangling reference.
zip = { version = "6", default-features = false, features = ["deflate"] }
png = "0.17"
tempfile = "3"

[features]
# PDF export (via embedded Typst) — forwards to `frontend`'s (and thence `document_io`'s) own
# `pdf` feature. Off by default: no typst crates are pulled in unless a downstream consumer
# opts in (e.g. `text-document = { ..., features = ["pdf"] }`).
pdf = ["frontend/pdf"]

[[bench]]
name = "benchmarks"
harness = false

[[bench]]
name = "io_benchmarks"
harness = false

# Deterministic, dependency-free timing harness (plain `fn main()`), so the
# streaming numbers are reproducible and bounded: criterion's iteration
# auto-scaling would either grow the document under test without bound or spend
# its budget on untimed rebuilds.
[[bench]]
name = "streaming"
harness = false

[lints]
workspace = true