[package]
name = "knot-static"
version = "2.0.0"
edition = "2024"
rust-version = "1.96"
license = "AGPL-3.0-or-later"
description = "Read-only static Tangled knot: offline compiler + provisioning CLI whose serving path is only nginx + immutable files"
[dependencies]
knot-acl = { path = "vendor/core/knot2/crates/knot-acl" }
knot-atproto = { path = "vendor/core/knot2/crates/knot-atproto" }
knot-cob = { path = "vendor/core/knot2/crates/knot-cob" }
knot-cobs = { path = "vendor/core/knot2/crates/knot-cobs" }
knot-git = { path = "vendor/core/knot2/crates/knot-git" }
knot-index = { path = "vendor/core/knot2/crates/knot-index" }
knot-langs = { path = "vendor/core/knot2/crates/knot-langs" }
knot-pack = { path = "vendor/core/knot2/crates/knot-pack" }
knot-record = { path = "vendor/core/knot2/crates/knot-record" }
knot-resource = { path = "vendor/core/knot2/crates/knot-resource" }
knot-runtime = { path = "vendor/core/knot2/crates/knot-runtime" }
knot-secrets = { path = "vendor/core/knot2/crates/knot-secrets" }
knot-types = { path = "vendor/core/knot2/crates/knot-types" }
anyhow = "1"
cid = "0.11"
jacquard-common = "0.12.1"
jacquard-repo = "0.12.1"
rayon = "1.10"
base64 = "0.22"
bytes = "1"
chrono = { version = "0.4", features = ["serde"] }
clap = { version = "4", features = ["derive", "env"] }
serde = { version = "1", features = ["derive"] }
serde_json = { version = "1", features = ["raw_value"] }
sha1 = { version = "0.10", features = ["compress"] }
sha2 = "0.11"
libc = "0.2"
tempfile = "3"
http = "1"
flate2 = "1"
crc32fast = "1"
fontdue = { version = "0.9.4", default-features = false }
pcre2 = "0.2"
reqwest = { version = "0.12", default-features = false, features = ["json", "rustls-tls"] }
p256 = { version = "0.13", default-features = false, features = ["ecdsa", "std"] }
aes-gcm = "0.11.0-rc.4"
tokio = { version = "1.52", features = ["macros", "rt-multi-thread", "time", "io-util", "net"] }
toml = { version = "0.9", default-features = false, features = ["parse", "serde"] }
tracing = "0.1"
tracing-subscriber = { version = "0.3", features = ["env-filter", "fmt"] }
url = { version = "2", features = ["serde"] }
unicode-segmentation = "1"
image = { version = "0.25", default-features = false, features = ["png", "jpeg", "webp"] }
futures = "0.3"
gix = { version = "0.84", default-features = false }
memmap2 = "0.9"
gix-pack = { version = "0.71", default-features = false }
hashbrown = { version = "0.17", default-features = false }
serde_ipld_dagcbor = "0.6"
ipld-core = "0.4"
divan = { version = "0.1.21", optional = true }
[features]
# the micro benches, which reach the crate's insides
bench = ["dep:divan"]
[dev-dependencies]
rcgen = "0.13"
divan = "0.1.21"
rustls = { version = "0.23", default-features = false, features = ["ring", "std"] }
[[bench]]
name = "micro"
harness = false
required-features = ["bench"]
[[bin]]
name = "knot-static"
path = "src/main.rs"
[[bench]]
name = "scale"
path = "benches/scale/main.rs"
harness = false
[workspace]
exclude = ["firehose", "vendor/core"]
[patch.crates-io]
gix-chunk = { path = "vendor/core/crates/gix-chunk" }
gix-commitgraph = { path = "vendor/core/crates/gix-commitgraph" }
gix-imara-diff = { path = "vendor/core/knot2/third_party/gix-imara-diff" }
gix-pack = { path = "vendor/core/knot2/third_party/gix-pack" }
jacquard-api = { git = "https://tangled.org/oppi.li/jacquard", rev = "bb32de36f1cc2727954fba6377e0433c391d34f3" }
jacquard-common = { git = "https://tangled.org/oppi.li/jacquard", rev = "bb32de36f1cc2727954fba6377e0433c391d34f3" }
jacquard-derive = { git = "https://tangled.org/oppi.li/jacquard", rev = "bb32de36f1cc2727954fba6377e0433c391d34f3" }
jacquard-lexicon = { git = "https://tangled.org/oppi.li/jacquard", rev = "bb32de36f1cc2727954fba6377e0433c391d34f3" }