mirror of
https://github.com/storytold/craft-libs.git
synced 2026-11-12 10:03:51 +00:00
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.
28 lines
1.0 KiB
TOML
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"] }
|