mirror of
https://github.com/storytold/craft-libs.git
synced 2026-11-14 22:42:46 +00:00
Manifest, file header, page (guides, flows), shape (geometry, fills with gradients and images, strokes, shadows, blurs, radii, constraints, flex and grid layout fields, component links, applied tokens) and the library records (colours, typographies, components, media), named as the files name their fields. Every record keeps the fields it has no name for, so a member read and written loses nothing but nulls. Archive::typed reads a member as any of them within the archive's budgets.
23 lines
802 B
TOML
23 lines
802 B
TOML
[package]
|
|
name = "craft-penpot"
|
|
description = "Clean-room reader and writer for the Penpot 2.x export container (.penpot, penpot/export-files version 1): the ZIP archive, its manifest, the per-file, per-page and per-shape JSON members and media objects, with bounded reads."
|
|
version.workspace = true
|
|
edition.workspace = true
|
|
license.workspace = true
|
|
rust-version.workspace = true
|
|
repository.workspace = true
|
|
|
|
[lints]
|
|
workspace = true
|
|
|
|
[dependencies]
|
|
serde = { workspace = true }
|
|
serde_json = { workspace = true }
|
|
thiserror = { workspace = true }
|
|
craft-zip = { workspace = true }
|
|
|
|
[dev-dependencies]
|
|
# The tests build archives, hostile ones included, by hand.
|
|
zip = { version = "9", default-features = false, features = ["deflate-flate2"] }
|
|
craft-zip = { workspace = true, features = ["test-support"] }
|