[package]
name = "plcbundle"
version = "0.9.0-alpha.2"
edition = "2024"
authors = ["Tree <tree@tree.fail>"]
description = "DID PLC Bundle Management Tool"
license = "MIT OR Apache-2.0"
repository = "https://tangled.org/atscan.net/plcbundle-rs"
[[bin]]
name = "plcbundle"
path = "src/cli/mod.rs"
[lib]
crate-type = ["cdylib", "rlib"]
[dependencies]
anyhow = "1.0"
serde = { version = "1.0", features = ["derive"] }
serde_json = "1.0"
sonic-rs = "0.5"
jmespath = { version = "0.4", features = ["sync"] }
zstd = { version = "0.13", features = ["zstdmt"] }
rayon = "1.11"
blake3 = "1.8"
memmap2 = "0.9"
chrono = "0.4"
fnv = "1.0"
reqwest = { version = "0.12", features = ["json", "blocking"] }
tokio = { version = "1.48", features = ["full"] }
httpdate = "1.0"
clap = { version = "4.5", features = ["derive"], optional = true }
clap_complete = { version = "4.5", optional = true }
indicatif = { version = "0.18", optional = true }
log = { version = "0.4", optional = true }
env_logger = { version = "0.11", optional = true }
dialoguer = { version = "0.12", optional = true }
crossterm = { version = "0.29", optional = true }
colored = { version = "3.0", optional = true }
colored_json = { version = "5.0", optional = true }
is-terminal = { version = "0.4", optional = true }
similar = { version = "2.7", optional = true }
ctrlc = { version = "3.4", optional = true }
sha2 = "0.10.9"
regex = "1.12"
atproto-plc = "0.2.0"
libc = "0.2"
axum = { version = "0.8", features = ["ws"], optional = true }
tower = { version = "0.5", optional = true }
tower-http = { version = "0.6", features = ["cors"], optional = true }
tokio-tungstenite = { version = "0.28", optional = true }
tokio-util = { version = "0.7", features = ["io"], optional = true }
futures-util = { version = "0.3", optional = true }
[dev-dependencies]
tempfile = "3.23"
reqwest = { version = "0.12", features = ["json"] }
tokio = { version = "1.48", features = ["macros", "rt-multi-thread"] }
axum = "0.8"
zstd = "0.13"
[features]
default = ["cli", "server"]
cli = ["clap", "clap_complete", "indicatif", "log", "env_logger", "dialoguer", "crossterm", "colored", "colored_json", "is-terminal", "similar", "ctrlc"]
server = ["axum", "tower", "tower-http", "tokio-tungstenite", "tokio-util", "futures-util", "crossterm"]
[[test]]
name = "server"
required-features = ["server"]