content: [package]
  name = "schematic"
  version = "0.18.14"
  edition = "2024"
  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"
  rust-version = "1.85.0"
  
  [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.18.12", path = "../macros" }
  schematic_types = { version = "0.10.7", path = "../types" }
  miette = { workspace = true }
  thiserror = "2.0.12"
  tracing = { workspace = true }
  
  # config
  garde = { version = "0.22.0", default-features = false, optional = true, features = [
  	"regex",
  ] }
  serde = { workspace = true }
  serde_path_to_error = { version = "0.1.17", optional = true }
  starbase_styles = { version = "0.6.3", optional = true }
  
  # settings
  regex = { workspace = true, optional = true }
  semver = { workspace = true, optional = true }
  
  # schema
  indexmap = { workspace = true, optional = true, features = ["serde"] }
  
  # json
  serde_json = { workspace = true, optional = true, features = [
  	"preserve_order",
  ] }
  
  # json schema
  markdown = { version = "1.0.0", optional = true }
  schemars = { version = "0.8.22", optional = true, default-features = false }
  
  # pkl
  rpkl = { workspace = true, optional = true }
  
  # ron
  ron = { workspace = true, optional = true }
  
  # toml
  toml = { workspace = true, optional = true }
  
  # yaml
  serde_yaml = { workspace = true, optional = true }
  serde_yml = { workspace = true, optional = true }
  
  # url
  reqwest = { workspace = true, optional = true, features = ["blocking"] }
  
  [features]
  default = ["config", "env", "extends", "validate"]
  config = [
  	"dep:serde_path_to_error",
  	"dep:starbase_styles",
  	"schematic_macros/config",
  ]
  schema = ["dep:indexmap", "schematic_macros/schema"]
  schema_serde = ["schema", "schematic_types/serde"]
  tracing = ["schematic_macros/tracing"]
  
  # Features
  env = ["schematic_macros/env"]
  extends = ["schematic_macros/extends"]
  url = ["dep:reqwest"]
  validate = ["dep:garde", "schematic_macros/validate"]
  
  # Formats
  json = ["dep:serde_json", "schematic_types/serde_json"]
  pkl = ["dep:rpkl", "schematic_types/serde_rpkl"]
  ron = ["dep:ron", "schematic_types/serde_ron"]
  toml = ["dep:toml", "schematic_types/serde_toml"]
  yaml = ["dep:serde_yaml", "schematic_types/serde_yaml"]
  yml = ["dep:serde_yml", "schematic_types/serde_yml"]
  
  # Renderers
  renderer_json_schema = ["json", "schema", "dep:markdown", "dep:schemars"]
  renderer_template = ["schema"]
  renderer_typescript = ["schema"]
  
  # Types
  type_chrono = ["schematic_types/chrono"]
  type_indexmap = ["schematic_types/indexmap"]
  type_regex = ["schematic_types/regex", "dep:regex"]
  type_relative_path = ["schematic_types/relative_path"]
  type_rust_decimal = ["schematic_types/rust_decimal", "garde?/rust_decimal"]
  type_semver = ["schematic_types/semver", "dep:semver"]
  type_url = ["schematic_types/url"]
  type_uuid = ["schematic_types/uuid"]
  
  # Validation
  validate_email = ["validate", "garde/email"]
  validate_url = ["validate", "garde/url"]
  
  [dev-dependencies]
  schematic = { path = ".", features = [
  	"config",
  	"env",
  	"extends",
  	"json",
  	"pkl",
  	"renderer_json_schema",
  	"renderer_template",
  	"renderer_typescript",
  	"schema",
  	"schema_serde",
  	"toml",
  	"tracing",
  	"type_chrono",
  	"type_indexmap",
  	"type_regex",
  	"type_relative_path",
  	"type_rust_decimal",
  	"type_semver",
  	"type_url",
  	"type_uuid",
  	"url",
  	"validate",
  	"validate_email",
  	"validate_url",
  	# "yaml",
  	"yml",
  ] }
  reqwest = { workspace = true, features = [
  	"blocking",
  	"rustls-tls-native-roots",
  ] }
  serial_test = "3.2.0"
  similar = "2.7.0"
  starbase_sandbox = { workspace = true }
  derive_more = { version = "2.0.1", features = ["try_into", "as_ref"] }
  
  # Types
  chrono = { workspace = true, features = ["serde"] }
  indexmap = { workspace = true }
  relative-path = { workspace = true, features = ["serde"] }
  rust_decimal = { workspace = true }
  semver = { workspace = true, features = ["serde"] }
  url = { workspace = true, features = ["serde"] }
  uuid = { workspace = true, features = ["serde"] }
  