Files
mytheclipse/crates/mytheclipse-config/Cargo.toml
T
semantic-release-bot bfe2fae359 chore(release): 1.5.0 [skip ci]
# [1.5.0](https://github.com/asepharyana/mytheclipse/compare/v1.4.1...v1.5.0) (2026-08-29)

### Features

* round-3 abstractions — ConfigValidator, AsyncLifecycleManager, MetricsBridge, rate limiter pre-acquire ([1ea3b35](https://github.com/asepharyana/mytheclipse/commit/1ea3b3558143bd07168c3be89653fbeb9c38930a))
2026-08-29 10:35:22 +00:00

47 lines
1.6 KiB
TOML

[package]
name = "mytheclipse-config"
version = "1.5.0"
edition = "2021"
rust-version = "1.75"
license = "MIT OR Apache-2.0"
repository = "https://github.com/asepharyana/mytheclipse"
homepage = "https://github.com/asepharyana/mytheclipse"
documentation = "https://docs.rs/mytheclipse-config"
authors = ["asepharyana <superaseph@gmail.com>"]
description = "Type-safe, dynamic configuration engine: load .env/YAML/JSON/TOML into typed structs with hot-reload and validation."
readme = "README.md"
keywords = ["config", "env", "yaml", "json", "hot-reload"]
categories = ["config", "development-tools"]
[features]
default = ["env", "yaml", "toml", "hot-reload", "validation"]
# Load .env files + environment variables.
env = ["dep:dotenvy"]
# Parse structured files. JSON support (`.json`) is always available since
# `serde_json::Value` is also the loader's internal merge representation.
yaml = ["dep:serde_yaml"]
toml = ["dep:toml"]
# Watch config files and hot-reload.
hot-reload = ["dep:notify", "dep:tokio"]
# Config validation traits and built-in validators.
validation = []
# JSON Schema generation for config validation and docs.
schema = []
[dependencies]
serde = { version = "1", features = ["derive"] }
serde_json = "1"
tracing = "0.1"
# Optional loaders
dotenvy = { version = "0.15", optional = true }
serde_yaml = { version = "0.9", optional = true }
toml = { version = "0.8", optional = true }
# Hot-reload file watching
notify = { version = "6", optional = true }
tokio = { version = "1.53", features = ["sync", "rt", "time"], optional = true }
[dev-dependencies]
tokio = { version = "1.53", features = ["full"] }
tempfile = "3"