[package] name = "cynic" description = "A code first GraphQL client for Rust" keywords = ["graphql", "client", "api"] documentation = "https://docs.rs/cynic" readme = "../README.md" authors = { workspace = true } edition = { workspace = true } homepage = { workspace = true } license = { workspace = true } repository = { workspace = true } version = { workspace = true } rust-version = { workspace = true } # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html [features] default = [] all = ["http-surf", "http-reqwest", "http-reqwest-blocking", "rkyv"] http-surf = ["surf", "serde_json"] http-reqwest = ["reqwest", "serde_json"] http-reqwest-blocking = ["http-reqwest", "reqwest/blocking", "serde_json"] rkyv = ["cynic-proc-macros/rkyv"] [dependencies] cynic-proc-macros = { path = "../cynic-proc-macros", version = "3.9.1" } ref-cast = "1.0.15" serde = { version = "1.0.136", features = [ "derive" ] } serde_json = { version = "1.0", optional = true } static_assertions = "1" thiserror = "1.0.30" # Surf feature deps surf = { version = "2.3", default-features = false, optional = true } # Reqwest feature deps reqwest = { version = "0.12", optional = true, features = ["json"], default-features = false } [dev-dependencies] assert_matches = "1.4" chrono = { version = "0.4.19", features = ["serde"] } graphql-parser = "0.4" insta = { version = "1.17", features = ["yaml"] } maplit = "1.0.2" mockito = "1.4.0" rstest.workspace = true serde_json = { version = "1.0" } tokio = { version = "1", features = ["macros"] } # Depend on ourself for tests cynic = { path = ".", features = ["http-reqwest"] } [package.metadata.docs.rs] features = ["all"] rustdoc-args = ["--cfg", "docsrs"]