Files
craft-libs/crates/opc/Cargo.toml
Dylan M. Taylor f46dc936a5 Add craft-opc: the OPC package layer of DOCX, XLSX and PPTX files (#883)
One crate for what WordCraft's docx::package, GridCraft's xlsx::package and
DeckCraft's pptx::opc each carried: bounded ZIP readers (every part up front,
or on demand), part names, relationships, content types and a package writer.

The declared entry count is checked from the end records before the zip crate
indexes the entries. Limits have no defaults: each format passes its own.
2026-11-11 16:41:01 -05:00

28 lines
1.0 KiB
TOML

[package]
name = "craft-opc"
description = "Open Packaging Conventions (ECMA-376 Part 2): the ZIP container of DOCX, XLSX and PPTX files, with bounded reads, part names, relationships and content types, and a package writer."
version.workspace = true
edition.workspace = true
license.workspace = true
rust-version.workspace = true
repository.workspace = true
[lints]
workspace = true
[features]
# `zip64_entry_count_sample`, the regression input for a reader's own entry-count test.
test-support = []
[dependencies]
craft-xml = { workspace = true }
log = "0.4"
thiserror = { workspace = true }
# `deflate-flate2` with flate2's miniz_oxide backend (chosen below), as in craft-update: zip's own
# `deflate` feature would switch a whole app's flate2 to zlib-rs.
zip = { version = "9", default-features = false, features = ["deflate-flate2"] }
flate2 = { version = "1", default-features = false, features = ["rust_backend"] }
[dev-dependencies]
zip = { version = "9", default-features = false, features = ["deflate-flate2"] }