[package]
name = "pulith-archive"
version = "0.2.0"
edition = "2024"
description = "Archive extraction with path sanitization and transactional staging"
license = "Apache-2.0"
repository = "https://github.com/anomalyco/pulith"
documentation = "https://github.com/anomalyco/pulith/blob/main/docs/design/archive.md"
readme = "README.md"
keywords = ["archive", "extract", "unzip", "tar"]
categories = ["compression", "filesystem"]

[features]
default = ["zip", "tar", "xz", "zstd", "sha256", "blake3"]
zip = ["dep:zip"]
tar = ["dep:tar", "dep:flate2"]
xz = ["dep:xz2"]
zstd = ["dep:zstd"]
sha256 = ["dep:sha2", "dep:hex"]
blake3 = ["dep:blake3"]

[dependencies]
pulith-fs = { path = "../pulith-fs", version = "0.1.0" }
thiserror.workspace = true
tempfile.workspace = true

sha2 = { workspace = true, optional = true }
hex = { workspace = true, optional = true }
blake3 = { workspace = true, optional = true }
tar = { workspace = true, optional = true }
xz2 = { workspace = true, optional = true }
zstd = { workspace = true, optional = true }
flate2 = { workspace = true, optional = true }
zip = { workspace = true, optional = true }
