[package]
name = "hive-router-plan-executor"
version = "6.13.6"
edition = "2021"
description = "GraphQL query planner executor for Federation specification"
license = "MIT"
publish = true
repository = "https://github.com/graphql-hive/router"
homepage = "https://github.com/graphql-hive/router"
authors = ["The Guild"]

[lib]
 # Disabled because it requires all imports in the documentation, which bloats the documentation,
 # and makes it harder to follow.
doctest = false

[dependencies]
hive-router-query-planner = { path = "../query-planner", version = "2.8.2" }
hive-router-config = { path = "../router-config", version = "0.0.36" }
hive-router-internal = { path = "../internal", version = "0.0.24" }
graphql-tools =  { path = "../graphql-tools", version = "0.5.4" }
hive-console-sdk = { path = "../hive-console-sdk", version = "0.3.8" }

async-trait = { workspace = true }
futures = { workspace = true }
http = { workspace = true }
http-body-util = { workspace = true }
hyper = { workspace = true, features = ["client"] }
hyperlocal = "0.9.1"
brotli = "8.0.2"
flate2 = { version = "1.1.9", default-features = false, features = ["zlib-rs"] } # Use zlib-rs for performance
serde = { workspace = true }
sonic-rs = { workspace = true }
tracing = { workspace = true }
thiserror = { workspace = true }
xxhash-rust = { workspace = true }
tokio = { workspace = true, features = ["sync"] }
dashmap = { workspace = true }
serde_json = { workspace = true }
recloser = { workspace = true }

regex-automata = { workspace = true }
bytes = { workspace = true }
strum = { workspace = true, features = ["derive"] }
ahash = { workspace = true }
ntex = { workspace = true }
hyper-rustls = { workspace = true}
rustls = { workspace = true }
lazy_static = { workspace = true }

hyper-util = { version = "0.1.16", features = [
  "client",
  "client-legacy",
  "http1",
  "http2",
  "tokio",
] }
itoa = "1.0.15"
ryu = "1.0.20"
indexmap = "2.10.0"
bumpalo = "3.19.0"
sonic-simd = "0.1.2"
async-stream = "0.3.6"
futures-util = "0.3.31"
ulid = "1.2.1"
uuid = { version = "1.23.1", features = ["v4", "fast-rng"] }

[dev-dependencies]
subgraphs = { path = "../../bench/subgraphs" }
criterion = { workspace = true }
tokio = { workspace = true }
insta = { workspace = true }
mockito = { workspace = true }
rustls = { workspace = true }

[[bench]]
name = "executor_benches"
harness = false

[[bench]]
name = "coprocessor_benches"
harness = false
