schematic 0.13.1

A layered serde configuration and schema library.
Documentation
[package]
name = "schematic"
version = "0.13.1"
edition = "2021"
license = "MIT"
description = "A layered serde configuration and schema library."
homepage = "https://moonrepo.github.io/schematic"
repository = "https://github.com/moonrepo/schematic"
readme = "../../README.md"

[package.metadata.release]
pre-release-replacements = [
	{ file = "../../CHANGELOG.md", search = "Unreleased", replace = "{{version}}" },
]

[package.metadata.docs.rs]
all-features = true

[dependencies]
schematic_macros = { version = "0.13.1", path = "../macros" }
schematic_types = { version = "0.5.1", path = "../types" }
miette = { workspace = true }
thiserror = "1.0.56"
tracing = "0.1.40"

# config
garde = { version = "0.16.3", default-features = false, optional = true, features = [
	"regex",
] }
serde = { workspace = true, optional = true }
serde_path_to_error = { version = "0.1.15", optional = true }
starbase_styles = { version = "0.1.16", optional = true }

# schema
indexmap = { version = "2.1.0", optional = true }

# json
serde_json = { workspace = true, optional = true }

# json schema
schemars = { version = "0.8.16", optional = true, default-features = false }

# toml
toml = { workspace = true, optional = true }

# yaml
serde_yaml = { workspace = true, optional = true }

# url
reqwest = { version = "0.11.23", default-features = false, optional = true, features = [
	"blocking",
] }

[features]
default = ["config", "url"]
config = [
	"dep:garde",
	"dep:serde",
	"dep:serde_path_to_error",
	"dep:starbase_styles",
	"schematic_macros/config",
]
json = ["dep:serde_json"]
json_schema = ["dep:schemars", "json", "schema"]
schema = ["dep:indexmap", "schematic_macros/schema"]
template = []
toml = ["dep:toml"]
typescript = ["schema"]
url = ["dep:reqwest"]
yaml = ["dep:serde_yaml"]

type_chrono = ["schematic_types/chrono"]
type_regex = ["schematic_types/regex"]
type_relative_path = ["schematic_types/relative_path"]
type_rust_decimal = ["schematic_types/rust_decimal"]
type_semver = ["schematic_types/semver"]
type_serde_json = ["schematic_types/serde_json"]
type_serde_toml = ["schematic_types/serde_toml"]
type_serde_yaml = ["schematic_types/serde_yaml"]
type_url = ["schematic_types/url"]
type_version_spec = ["schematic_types/version_spec"]
type_warpgate = ["schematic_types/warpgate"]

valid_email = ["garde/email"]
valid_url = ["garde/url"]

[dev-dependencies]
schematic = { path = ".", features = [
	"config",
	"json_schema",
	"json",
	"schema",
	"template",
	"toml",
	"typescript",
	"type_chrono",
	"type_regex",
	"type_relative_path",
	"type_rust_decimal",
	"type_semver",
	"type_serde_json",
	"type_serde_toml",
	"type_serde_yaml",
	"type_url",
	"type_version_spec",
	"type_warpgate",
	"url",
	"valid_email",
	"valid_url",
	"yaml",
] }
serial_test = "2.0.0"
starbase_sandbox = "0.1.12"

# Types
chrono = { workspace = true }
regex = { workspace = true }
relative-path = { workspace = true, features = ["serde"] }
rust_decimal = { workspace = true }
semver = { workspace = true, features = ["serde"] }
url = { workspace = true, features = ["serde"] }
version_spec = { workspace = true }
warpgate = { workspace = true }