fraiseql-cli 2.1.5

CLI tools for FraiseQL v2 - Schema compilation and development utilities
Documentation
[[bin]]
name = "fraiseql-cli"
path = "src/main.rs"

[dependencies]
# Error handling
anyhow = "1.0"
# SQL Server connection pool (optional, for sqlserver feature)
bb8 = {version = "0.8", optional = true}
bb8-tiberius = {version = "0.15", optional = true}
# CLI framework
clap = {version = "4.5", features = ["derive", "cargo", "color", "suggestions"]}
# Database connection (for introspect/validate commands)
deadpool-postgres = {workspace = true}
# MySQL / SQLite connection (optional, for mysql/sqlite features)
sqlx = {workspace = true, optional = true}
# SQL Server TDS driver (optional, for sqlserver feature)
tiberius = {version = "0.12", default-features = false, features = ["tds73", "native-tls"], optional = true}
# Workspace dependencies
fraiseql-core = {workspace = true, features = ["postgres", "schema-lint"]}
fraiseql-server = {workspace = true, optional = true}
axum = {workspace = true, optional = true}
glob = "0.3"
prost = "0.14"
prost-types = "0.14"
reqwest = {workspace = true}
# Serialization
indexmap = {workspace = true}
# File watching (for serve command)
notify = "7.0"
regex = {workspace = true}
serde = {version = "1.0", features = ["derive"]}
serde_json = "1.0"
sha2 = {workspace = true}
thiserror = "2.0"
# Async runtime
tokio = {workspace = true}
tokio-postgres = {workspace = true, features = ["with-serde_json-1"]}
toml = "0.8"
# Logging
tracing = "0.1"
tracing-subscriber = {version = "0.3", features = ["env-filter", "fmt", "ansi"]}
# Multi-file schema loading
walkdir = "2"

[dev-dependencies]
assert_cmd = "2"
http-body-util = "0.1"
insta = {version = "1", features = ["yaml"]}
predicates = "3"
temp-env = {workspace = true}
tempfile = "3.25"
tower = {workspace = true}

[features]
default = []
federation = ["fraiseql-core/federation"]
mysql = ["fraiseql-core/mysql", "dep:sqlx", "sqlx/mysql"]
sqlite = ["fraiseql-core/sqlite", "dep:sqlx", "sqlx/sqlite"]
sqlserver = ["fraiseql-core/sqlserver", "dep:bb8", "dep:bb8-tiberius", "dep:tiberius"]
run-server = ["dep:fraiseql-server", "dep:axum"]

[lints]
workspace = true

[package]
description = "CLI tools for FraiseQL v2 - Schema compilation and development utilities"
name = "fraiseql-cli"
authors.workspace = true
categories.workspace = true
documentation.workspace = true
edition.workspace = true
homepage.workspace = true
keywords.workspace = true
license.workspace = true
repository.workspace = true
rust-version.workspace = true
version.workspace = true

[[test]]
name = "cli_federation_validation"
required-features = ["federation"]

[[test]]
name = "federation_cli_advanced"
required-features = ["federation"]

[[test]]
name = "federation_cli_compose"
required-features = ["federation"]

[[test]]
name = "federation_composition_advanced"
required-features = ["federation"]

[[test]]
name = "federation_composition_validator"
required-features = ["federation"]

[[test]]
name = "federation_cross_subgraph_validation"
required-features = ["federation"]

[[test]]
name = "federation_cross_subgraph_validation_advanced"
required-features = ["federation"]

[[test]]
name = "federation_edge_cases"
required-features = ["federation"]

[[test]]
name = "federation_graph_tests"
required-features = ["federation"]

[[test]]
name = "federation_validation"
required-features = ["federation"]

[package.metadata.binstall]
bin-dir = "fraiseql{ binary-ext }"
pkg-fmt = "tgz"
pkg-url = "{ repo }/releases/download/v{ version }/fraiseql-{ target }.tar.gz"

[package.metadata.binstall.overrides.x86_64-pc-windows-msvc]
pkg-fmt = "zip"