Files
mytheclipse/crates/mytheclipse-config/Cargo.toml
T
asepharyana db4f277336 feat: add corex-storage crate for unified storage abstraction
- Introduced corex-storage crate with support for local disk, S3-compatible, and Google Cloud Storage backends.
- Implemented StorageDriver trait for various storage backends.
- Added LocalFileStorage for local disk operations.
- Added S3Storage for S3-compatible object storage with multipart upload support.
- Added GcsStorage for Google Cloud Storage operations.
- Included error handling for storage operations.
- Added tests for each storage backend to ensure functionality.
- Created README.md for documentation and usage examples.
- Added Apache and MIT licenses for open-source compliance.
2026-08-28 22:24:18 +07:00

43 lines
1.4 KiB
TOML

[package]
name = "corex-config"
version = "1.2.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/corex-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"]
# 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"]
[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"