[package]
name = "mik-sdk-macros"
version = "0.1.2"
edition.workspace = true
license.workspace = true
repository.workspace = true
rust-version.workspace = true
description = "Proc-macros for mik-sdk - routes!, ok!, error!, fetch!, derive macros"

[lib]
proc-macro = true

[features]
default = []
# Debug feature: print pretty-formatted macro expansions to stderr
debug-expand = ["dep:prettyplease"]
# Trace feature: print parsing/codegen steps to stderr
macro-trace = []

[dependencies]
proc-macro2 = "1.0"
quote = "1.0"
syn = { version = "2.0", features = ["full", "parsing"] }
# OpenAPI schema generation - compile-time only, zero runtime cost
utoipa = "5"
serde_json = "1.0"
# Optional: pretty-print generated code (only with debug-expand feature)
prettyplease = { version = "0.2", optional = true }

[dev-dependencies]
# Uses package rename to avoid release-please cargo-workspace cycle detection
# See: https://github.com/googleapis/release-please/issues/1662
# The crate is still imported as `mik_sdk` in code
mik_sdk = { path = "../mik-sdk", package = "mik-sdk" }
trybuild = "1.0"
macrotest = "1.0"
# Snapshot testing for macro expansion verification
insta = "1.40"

[lints]
workspace = true
