[package] name = "iroh-docs" version = "0.28.0" edition = "2021" readme = "README.md" description = "Iroh sync" license = "MIT/Apache-2.0" authors = ["n0 team"] repository = "https://github.com/n0-computer/iroh-docs" # Sadly this also needs to be updated in .github/workflows/ci.yml rust-version = "1.76" [lints.rust] missing_debug_implementations = "warn" # We use this --cfg for documenting the cargo features on which an API # is available. To preview this locally use: RUSTFLAGS="--cfg # iroh_docsrs cargo +nightly doc --all-features". We use our own # iroh_docsrs instead of the common docsrs to avoid also enabling this # feature in any dependencies, because some indirect dependencies # require a feature enabled when using `--cfg docsrs` which we can not # do. To enable for a crate set `#![cfg_attr(iroh_docsrs, # feature(doc_cfg))]` in the crate. unexpected_cfgs = { level = "warn", check-cfg = ["cfg(iroh_docsrs)"] } [dependencies] anyhow = "1" async-channel = "2.3.1" blake3 = { package = "iroh-blake3", version = "1.4.5"} bytes = { version = "1.7", features = ["serde"] } derive_more = { version = "1.0.0", features = ["debug", "deref", "display", "from", "try_into", "into", "as_ref"] } ed25519-dalek = { version = "2.0.0", features = ["serde", "rand_core"] } futures-buffered = "0.2.4" futures-lite = "2.3.0" futures-util = { version = "0.3.25" } hex = "0.4" iroh-base = "0.28.0" iroh-blobs = { version = "0.28.0", optional = true, features = ["downloader"] } iroh-gossip = { version = "0.28.0", optional = true } iroh-metrics = { version = "0.28.0", default-features = false } iroh-net = { version = "0.28.0", optional = true } iroh-router = { version = "0.28.0", optional = true } lru = "0.12" num_enum = "0.7" postcard = { version = "1", default-features = false, features = ["alloc", "use-std", "experimental-derive"] } rand = "0.8.5" rand_core = "0.6.4" redb = { version = "2.0.0" } redb_v1 = { package = "redb", version = "1.5.1" } self_cell = "1.0.3" serde = { version = "1.0.164", features = ["derive"] } strum = { version = "0.25", features = ["derive"] } tempfile = { version = "3.4" } thiserror = "1" tokio = { version = "1", features = ["sync", "rt", "time", "macros"] } tokio-stream = { version = "0.1", optional = true, features = ["sync"]} tokio-util = { version = "0.7.12", optional = true, features = ["codec", "io-util", "io", "rt"] } tracing = "0.1" [dev-dependencies] iroh-test = "0.28.0" rand_chacha = "0.3.1" tokio = { version = "1", features = ["sync", "macros"] } proptest = "1.2.0" tempfile = "3.4" test-strategy = "0.3.1" [features] default = ["net", "metrics", "engine"] net = ["dep:iroh-net", "tokio/io-util", "dep:tokio-stream", "dep:tokio-util"] metrics = ["iroh-metrics/metrics"] engine = ["net", "dep:iroh-gossip", "dep:iroh-blobs", "dep:iroh-router"] [package.metadata.docs.rs] all-features = true rustdoc-args = ["--cfg", "iroh_docsrs"] [patch.crates-io] iroh-router = { git = "https://github.com/n0-computer/iroh", branch = "main" } iroh-net = { git = "https://github.com/n0-computer/iroh", branch = "main" } iroh-metrics = { git = "https://github.com/n0-computer/iroh", branch = "main" } iroh-base = { git = "https://github.com/n0-computer/iroh", branch = "main" } iroh-blobs = { git = "https://github.com/n0-computer/iroh-blobs", branch = "main" } iroh-gossip = { git = "https://github.com/n0-computer/iroh-gossip", branch = "main" }