[package]
edition = "2024"
rust-version = "1.92"
name = "typst-pack"
version = "0.5.0"
build = "build.rs"
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Portable single-file packs of Typst projects: sources, resources, packages, and fonts"
homepage = "https://github.com/sagikazarmark/typst-pack"
readme = "README.md"
keywords = [
"typst",
"documents",
"packaging",
"archive",
"fonts",
]
categories = [
"command-line-utilities",
"text-processing",
"filesystem",
]
license = "MIT OR Apache-2.0"
repository = "https://github.com/sagikazarmark/typst-pack"
[package.metadata.docs.rs]
features = [
"diagnostics",
"egress",
"embedded-fonts",
"fs",
"opendal",
"package-reading",
"parallel",
]
[features]
_test-package-download-probe = ["egress"]
default = []
diagnostics = ["typst-kit/emit-diagnostics"]
egress = [
"dep:env_proxy",
"dep:ureq",
"dep:webpki-roots",
"fs",
"package-reading",
]
embedded-fonts = ["typst-kit/embedded-fonts"]
fs = [
"dep:cap-fs-ext",
"dep:cap-primitives",
"dep:cap-std",
"dep:fontconfig-parser",
"dep:ignore",
"dep:libc",
"dep:same-file",
"dep:unicode-normalization",
"dep:walkdir",
"dep:windows-sys",
"typst-kit/system-files",
"typst-kit/timer",
]
opendal = [
"dep:opendal",
"dep:futures-util",
]
package-reading = [
"dep:flate2",
"dep:tar",
]
parallel = ["dep:rayon"]
[lib]
name = "typst_pack"
path = "src/lib.rs"
[[test]]
name = "compilation"
path = "tests/compilation.rs"
[[test]]
name = "creation"
path = "tests/creation.rs"
[[test]]
name = "creation_conformance"
path = "tests/creation_conformance.rs"
[[test]]
name = "embedded_typst_gate"
path = "tests/embedded_typst_gate.rs"
[[test]]
name = "filesystem_font_catalog_reading"
path = "tests/filesystem_font_catalog_reading.rs"
[[test]]
name = "filesystem_pack_assembly"
path = "tests/filesystem_pack_assembly.rs"
[[test]]
name = "filesystem_package_reading"
path = "tests/filesystem_package_reading.rs"
[[test]]
name = "filesystem_project_reading"
path = "tests/filesystem_project_reading.rs"
[[test]]
name = "filesystem_writing"
path = "tests/filesystem_writing.rs"
[[test]]
name = "font_catalog"
path = "tests/font_catalog.rs"
[[test]]
name = "fs_creation"
path = "tests/fs_creation.rs"
[[test]]
name = "fuzz_regressions"
path = "tests/fuzz_regressions.rs"
[[test]]
name = "identity_contracts"
path = "tests/identity_contracts.rs"
[[test]]
name = "official_typst_oracle"
path = "tests/official_typst_oracle.rs"
[[test]]
name = "opendal_bindings"
path = "tests/opendal_bindings.rs"
[[test]]
name = "opendal_compilation_artifact_writing"
path = "tests/opendal_compilation_artifact_writing.rs"
[[test]]
name = "opendal_font_reading"
path = "tests/opendal_font_reading.rs"
[[test]]
name = "opendal_location"
path = "tests/opendal_location.rs"
[[test]]
name = "opendal_minio"
path = "tests/opendal_minio.rs"
[[test]]
name = "opendal_pack_archive_reading"
path = "tests/opendal_pack_archive_reading.rs"
[[test]]
name = "opendal_pack_archive_writing"
path = "tests/opendal_pack_archive_writing.rs"
[[test]]
name = "opendal_pack_extraction_writing"
path = "tests/opendal_pack_extraction_writing.rs"
[[test]]
name = "opendal_package_cache_archive_writing"
path = "tests/opendal_package_cache_archive_writing.rs"
[[test]]
name = "opendal_package_reading"
path = "tests/opendal_package_reading.rs"
[[test]]
name = "opendal_project_reading"
path = "tests/opendal_project_reading.rs"
[[test]]
name = "pack_archive_decoding"
path = "tests/pack_archive_decoding.rs"
[[test]]
name = "pack_archive_encoding"
path = "tests/pack_archive_encoding.rs"
[[test]]
name = "pack_archive_interoperability"
path = "tests/pack_archive_interoperability.rs"
[[test]]
name = "pack_archive_reading"
path = "tests/pack_archive_reading.rs"
[[test]]
name = "pack_archive_writing"
path = "tests/pack_archive_writing.rs"
[[test]]
name = "pack_extraction"
path = "tests/pack_extraction.rs"
[[test]]
name = "package_catalog"
path = "tests/package_catalog.rs"
[[test]]
name = "package_read_failure"
path = "tests/package_read_failure.rs"
[[test]]
name = "package_reading"
path = "tests/package_reading.rs"
[[test]]
name = "project_membership"
path = "tests/project_membership.rs"
[dependencies.cap-fs-ext]
version = "4"
features = [
"std",
"cap-std",
]
optional = true
default-features = false
[dependencies.cap-primitives]
version = "4"
optional = true
[dependencies.cap-std]
version = "4"
optional = true
[dependencies.ecow]
version = "0.2"
[dependencies.env_proxy]
version = "0.4"
optional = true
[dependencies.flate2]
version = "1"
optional = true
[dependencies.futures-util]
version = "0.3.31"
features = [
"alloc",
"async-await",
]
optional = true
default-features = false
[dependencies.ignore]
version = "0.4"
optional = true
[dependencies.opendal]
version = "0.58"
optional = true
default-features = false
[dependencies.rayon]
version = "1"
optional = true
[dependencies.same-file]
version = "1"
optional = true
[dependencies.serde]
version = "1"
features = ["derive"]
[dependencies.tar]
version = "0.4"
optional = true
default-features = false
[dependencies.thiserror]
version = "2"
[dependencies.toml]
version = "1.1"
[dependencies.typst]
version = "=0.15.1"
[dependencies.typst-html]
version = "=0.15.1"
[dependencies.typst-kit]
version = "=0.15.1"
features = ["datetime"]
default-features = false
[dependencies.typst-layout]
version = "=0.15.1"
[dependencies.typst-pdf]
version = "=0.15.1"
[dependencies.typst-render]
version = "=0.15.1"
[dependencies.typst-svg]
version = "=0.15.1"
[dependencies.typst-timing]
version = "=0.15.1"
[dependencies.unicode-normalization]
version = "0.1"
optional = true
[dependencies.ureq]
version = "2"
features = ["tls"]
optional = true
default-features = false
[dependencies.walkdir]
version = "2"
optional = true
[dependencies.webpki-roots]
version = "1"
optional = true
[dependencies.zip]
version = "8"
features = ["deflate"]
default-features = false
[dev-dependencies.flate2]
version = "1"
[dev-dependencies.hayro-syntax]
version = "0.7"
[dev-dependencies.ignore]
version = "0.4"
[dev-dependencies.proptest]
version = "1"
[dev-dependencies.tar]
version = "0.4"
default-features = false
[dev-dependencies.tempfile]
version = "3"
[dev-dependencies.tiny-skia]
version = "0.12"
[build-dependencies.toml]
version = "1.1"
[target.'cfg(all(unix, not(any(target_os = "macos", target_os = "android"))))'.dependencies.fontconfig-parser]
version = "0.5"
optional = true
default-features = false
[target.'cfg(target_os = "linux")'.dev-dependencies.opendal-http-transport-reqwest]
version = "0.58"
default-features = false
[target.'cfg(target_os = "linux")'.dev-dependencies.opendal-service-s3]
version = "0.58"
default-features = false
[target.'cfg(target_os = "linux")'.dev-dependencies.tokio]
version = "1"
features = [
"macros",
"rt-multi-thread",
]
default-features = false
[target."cfg(unix)".dependencies.libc]
version = "0.2"
optional = true
[target."cfg(windows)".dependencies.windows-sys]
version = "0.61"
features = [
"Wdk_Storage_FileSystem",
"Win32_Foundation",
"Win32_Storage_FileSystem",
"Win32_System_IO",
]
optional = true