usage-config 6.0.0

Layered configuration resolution for usage specs, with provenance
Documentation
[package]
name = "usage-config"
description = "Layered configuration resolution for usage specs, with provenance"
version = "6.0.0"
edition = "2021"
rust-version = "1.91"
homepage = { workspace = true }
documentation = { workspace = true }
repository = { workspace = true }
authors = { workspace = true }
license = { workspace = true }

# Nothing here parses KDL: `#[derive(usage::Config)]` emits the registry as consts at compile
# time. This crate is what runs in the CLI, so it carries no spec parser and no format reader
# it was not asked for.
[dependencies]
toml = { version = "1.0", optional = true }
serde_json = { version = "1", optional = true }
# The YAML organization's continuation of `serde_yaml`, which is deprecated and unmaintained:
# same `Value` and `Mapping`, still being released. The other maintained forks
# (`serde_yaml_ng`, `serde_norway`) have not shipped since 2024.
yaml_serde = { version = "0.10", optional = true }

# Reading config files is opt-in, one format at a time, so the default is still no
# dependencies at all: a CLI whose files are pkl or `.npmrc` writes its own layer against
# `Layer` and takes nothing it does not use.
[features]
default = []
toml = ["dep:toml"]
json = ["dep:serde_json"]
yaml = ["dep:yaml_serde"]

[package.metadata.release]
shared-version = true
release = true