[package]
name = "shopify-sdk"
version = "1.0.0"
edition = "2021"
rust-version = "1.70"
authors = ["Sascha Bratton"]
description = "A Rust SDK for the Shopify API"
readme = "README.md"
homepage = "https://github.com/saschabratton/shopify-api-rust"
repository = "https://github.com/saschabratton/shopify-api-rust"
license = "MIT"
keywords = ["shopify", "api", "sdk", "ecommerce"]
categories = ["api-bindings", "web-programming"]
include = ["src/**/*", "Cargo.toml", "LICENSE", "README.md"]

[dependencies]
thiserror = "1.0"
chrono = { version = "0.4", features = ["serde"] }
reqwest = { version = "0.11", features = ["json", "rustls-tls"], default-features = false }
tokio = { version = "1", features = ["rt-multi-thread", "macros", "time"] }
serde = { version = "1.0", features = ["derive"] }
serde_json = "1.0"
tracing = "0.1"

# Cryptographic dependencies for OAuth HMAC validation
hmac = "0.12"
sha2 = "0.10"
subtle = "2.5"
rand = "0.8"
base64 = "0.22"
urlencoding = "2.1"

# JWT handling for token exchange
jsonwebtoken = "9"

[dev-dependencies]
wiremock = "0.5"
tokio-test = "0.4"

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

[lints.rust]
unsafe_code = "forbid"

[lints.clippy]
all = "warn"
pedantic = "warn"
nursery = "warn"
