mockforge-plugin-sdk 0.3.4

Official SDK for developing MockForge plugins with helper macros and testing utilities
Documentation
[package]
name = "mockforge-plugin-sdk"
version = "0.3.4"
edition.workspace = true
authors = ["SaaSy Solutions LLC <ray.clanan@saasysolutionsllc.com>"]
license = "MIT OR Apache-2.0"
description = "Official SDK for developing MockForge plugins with helper macros and testing utilities"
repository = "https://github.com/SaaSy-Solutions/mockforge"
homepage = "https://mockforge.dev"
documentation = "https://docs.rs/mockforge"
readme = "README.md"
keywords = ["mockforge", "plugin", "sdk", "wasm", "api"]
categories = ["development-tools", "api-bindings", "wasm"]

# Enforce documentation for public library APIs
[lints.rust]
missing_docs = "deny"

[lib]
crate-type = ["lib"]

[dependencies]
# Re-export core plugin functionality
mockforge-plugin-core = "0.3.4"

# Serialization
serde = { workspace = true, features = ["derive"] }
serde_json = { workspace = true }
serde_yaml = { workspace = true }

# Async runtime
tokio = { workspace = true, features = ["macros"] }

# Error handling
anyhow = { workspace = true }
thiserror = { workspace = true }

# WebAssembly
wit-bindgen = "0.46"

# Async traits
async-trait = "0.1"

# Utility libraries
uuid = { workspace = true, features = ["v4"] }
chrono = { workspace = true }
regex = { workspace = true }
base64 = { workspace = true }
axum = { workspace = true }

# Proc macros
syn = { version = "2.0", features = ["full", "extra-traits"] }
quote = "1.0"
proc-macro2 = "1.0"

# Testing utilities
mockall = { version = "0.13", optional = true }

[dev-dependencies]
tokio = { workspace = true, features = ["test-util", "macros"] }
tempfile = "3.0"

[features]
default = ["testing"]
testing = ["mockall"]