[package]
edition = "2024"
rust-version = "1.86"
name = "encrypt_config"
version = "2.0.2"
authors = ["Louis <836250617@qq.com>"]
build = "build.rs"
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "A Rust crate to manage, persist and encrypt your configurations."
documentation = "https://docs.rs/encrypt-config"
readme = "README.md"
keywords = [
"config",
"encryption",
]
license = "MIT"
repository = "https://github.com/kingwingfly/encrypt-config"
[package.metadata.docs.rs]
features = [
"full",
"mock",
]
rustdoc-args = [
"--cfg",
"docsrs",
]
[features]
default = ["derive"]
default_config_dir = [
"dep:dirs",
"encrypt_config_derive?/default_config_dir",
]
derive = ["dep:encrypt_config_derive"]
full = [
"persist",
"secret",
"derive",
]
mock = []
persist = ["encrypt_config_derive?/persist"]
secret = [
"dep:rsa",
"dep:rand",
"dep:keyring",
"persist",
"encrypt_config_derive?/secret",
]
[lib]
name = "encrypt_config"
path = "src/lib.rs"
[dependencies.dirs]
version = "6.0.0"
optional = true
[dependencies.encrypt_config_derive]
version = "2.0.2"
optional = true
default-features = false
[dependencies.rand]
version = "0.8"
optional = true
[dependencies.rom_cache]
version = "0.1.1"
[dependencies.rsa]
version = "0.9.8"
features = ["serde"]
optional = true
[dependencies.serde]
version = "1"
features = ["derive"]
[dependencies.serde_json]
version = "1"
[dependencies.snafu]
version = "0.8.5"
[target.'cfg(target_os = "freebsd")'.dependencies.keyring]
version = "3.6"
features = ["linux-native"]
optional = true
default-features = false
[target.'cfg(target_os = "ios")'.dependencies.keyring]
version = "3.6"
features = ["apple-native"]
optional = true
default-features = false
[target.'cfg(target_os = "linux")'.dependencies.keyring]
version = "3.6"
features = ["linux-native"]
optional = true
default-features = false
[target.'cfg(target_os = "macos")'.dependencies.keyring]
version = "3.6"
features = ["apple-native"]
optional = true
default-features = false
[target.'cfg(target_os = "openbsd")'.dependencies.keyring]
version = "3.6"
features = ["linux-native"]
optional = true
default-features = false
[target.'cfg(target_os = "windows")'.dependencies.keyring]
version = "3.6"
features = ["windows-native"]
optional = true
default-features = false