[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"
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 }
indexmap = { version = "2.1.0", optional = true }
serde_json = { workspace = true, optional = true }
schemars = { version = "0.8.16", optional = true, default-features = false }
toml = { workspace = true, optional = true }
serde_yaml = { workspace = true, optional = true }
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"
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 }