[package]
name = "rs-mock-server"
version = "0.7.4"
edition = "2024"
description = "A simple, file-based mock API server that maps your directory structure to HTTP and GraphQL routes. Ideal for local development and testing."
license = "MIT"
authors = ["Luís Vendrame <lvendrame@gmail.com>"]
repository = "https://github.com/lvendrame/rs-mock-server"
readme = "README.md"
keywords = ["mock", "server", "api", "http", "graphql"]
categories = ["command-line-utilities", "development-tools::testing", "web-programming::http-server"]
exclude = [
    ".github/*",
    "images/*",
    "mocks/*",
    "docs/*",
    "example/*",
    "scripts/*",
    ".vscode/*",
    ".editorconfig",
    ".gitignore",
    "Makefile",
    "AGENTS.md",
    "CLAUDE.md",
    "CHANGELOG.md"
]

[dependencies]
axum = { version = "0.8.9", features = ["multipart"] }
axum-server = { version = "0.8.0", features = ["tls-rustls"] }
clap = { version = "4.6.1", features = ["derive"] }
fosk = "0.2.0"
http = "1.4.2"
hyper = "1.10.1"
once_cell = "1.21.4"
regex = "1.12.3"
tokio = { version = "1.52.3", features = ["macros", "rt-multi-thread", "fs", "io-util", "signal"] }
tokio-util = { version = "0.7.18", features = ["io"] }
mime_guess = "2.0"
tower = "0.5.3"
tower-http = { version = "0.6.6", features = ["cors", "fs", "normalize-path", "trace"] }
tracing = "0.1.44"
tracing-subscriber = { version = "0.3.23", features = ["env-filter"] }
serde_json = "1.0.150"
uuid = { version = "1.23.2" , features = ["v4"] }
jsonwebtoken = { version = "10.4.0", features = ["rust_crypto"] }
serde = { version = "1.0.228", features = ["derive"] }
chrono = { version = "0.4.44", features = ["serde"] }
terminal-link = "0.1.0"
jgd-rs = "0.2.1"
notify = "8.2.0"
toml = "1.1.2"
async-graphql = { version = "7.2.1", features = ["dynamic-schema"]}
async-graphql-axum = "7.2.1"
graphql-parser = "0.4"
ratatui = "0.30.1"
crossterm = "0.29.0"
rcgen = "0.14.8"

[dev-dependencies]
tempfile = "3.27.0"
