[package]
name = "nils-github-app-cli"
version = "1.21.9"
edition.workspace = true
license.workspace = true

description = "CLI crate for nils-github-app-cli in the nils-cli workspace."
repository = "https://github.com/sympoies/nils-cli"

[lib]
name = "github_app_cli"
path = "src/lib.rs"

[[bin]]
name = "github-app-cli"
path = "src/main.rs"

[dependencies]
clap = { workspace = true, features = ["env"] }
clap_complete = { workspace = true }
# jsonwebtoken 10 split its crypto backend into mutually exclusive `rust_crypto`
# / `aws_lc_rs` features and panics at runtime if neither is selected under
# `default-features = false`. Use the `aws_lc_rs` backend: `aws-lc-rs` is already
# compiled in this crate via reqwest's rustls (rustls 0.23's default provider) and
# on every release target (linux-gnu + apple-darwin, no musl), so it adds no build
# cost — while the pure-Rust `rust_crypto` backend drags in `rsa` (RUSTSEC-2023-0071)
# and a duplicate old-generation RustCrypto/EC tree. We only mint RS256 App JWTs.
jsonwebtoken = { version = "10", default-features = false, features = ["use_pem", "aws_lc_rs"] }
nils-build-info = { version = "1.21.9", path = "../nils-build-info" }
nils-common = { version = "1.21.9", path = "../nils-common", package = "nils-common" }
reqwest = { version = "0.13", default-features = false, features = ["blocking", "json", "rustls"] }
serde = { workspace = true }
serde_json = { workspace = true }

[dev-dependencies]
nils-test-support = { version = "1.21.9", path = "../nils-test-support" }
pretty_assertions = { workspace = true }
