[package] name = "schemars" description = "Generate JSON Schemas from Rust code" homepage = "https://graham.cool/schemars/" repository = "https://github.com/GREsau/schemars" version = "1.2.2" authors = ["Graham Esau "] edition = "2021" license = "MIT" readme = "README.md" keywords = ["rust", "json-schema", "serde"] categories = ["encoding", "no-std"] rust-version = "1.74" [dependencies] schemars_derive = { version = "=1.2.2", optional = true, path = "../schemars_derive" } serde = { version = "1.0.194", default-features = false, features = ["alloc"] } serde_json = { version = "1.0.127", default-features = false, features = ["alloc"] } dyn-clone = "1.0.17" ref-cast = "1.0.22" # optional dependencies arrayvec07 = { version = "0.7", default-features = false, optional = true, package = "arrayvec" } bigdecimal04 = { version = "0.4", default-features = false, optional = true, package = "bigdecimal" } bytes1 = { version = "1.0", default-features = false, optional = true, package = "bytes" } chrono04 = { version = "0.4.39", default-features = false, optional = true, package = "chrono" } either1 = { version = "1.3", default-features = false, optional = true, package = "either" } indexmap2 = { version = "2.2.3", default-features = false, optional = true, package = "indexmap" } jiff02 = { version = "0.2", default-features = false, optional = true, package = "jiff" } rust_decimal1 = { version = "1.13", default-features = false, optional = true, package = "rust_decimal" } semver1 = { version = "1.0.9", default-features = false, optional = true, package = "semver" } smallvec1 = { version = "1.0", default-features = false, optional = true, package = "smallvec" } smol_str02 = { version = "0.2.1", default-features = false, optional = true, package = "smol_str" } smol_str03 = { version = "0.3.2", default-features = false, optional = true, package = "smol_str" } url2 = { version = "2.0", default-features = false, optional = true, package = "url" } uuid1 = { version = "1.0", default-features = false, optional = true, package = "uuid" } [dev-dependencies] pretty_assertions = "1.2.1" trybuild = "1.0" serde = { version = "1.0", features = ["derive"] } jsonschema = { version = "0.30", default-features = false } snapbox = { version = "0.6.17", features = ["json"] } serde_repr = "0.1.19" garde = { version = "0.23", features = ["derive", "email", "regex", "url"] } validator = { version = "0.21", features = ["derive"] } regex = { version = "1.10.6", default-features = false } arrayvec07 = { version = "0.7", default-features = false, features = ["serde"], package = "arrayvec" } bigdecimal04 = { version = "0.4", default-features = false, features = ["serde"], package = "bigdecimal" } bytes1 = { version = "1.0", default-features = false, features = ["serde"], package = "bytes" } chrono04 = { version = "0.4", default-features = false, features = ["serde"], package = "chrono" } either1 = { version = "1.3", default-features = false, features = ["serde"], package = "either" } indexmap2 = { version = "2.0", default-features = false, features = ["serde"], package = "indexmap" } jiff02 = { version = "0.2", features = ["serde"], package = "jiff" } rust_decimal1 = { version = "1", default-features = false, features = ["serde"], package = "rust_decimal" } semver1 = { version = "1.0.9", default-features = false, features = ["serde"], package = "semver" } smallvec1 = { version = "1.0", default-features = false, features = ["serde"], package = "smallvec" } smol_str02 = { version = "0.2.1", default-features = false, features = ["serde"], package = "smol_str" } smol_str03 = { version = "0.3.2", default-features = false, features = ["serde"], package = "smol_str" } url2 = { version = "2.0", default-features = false, features = ["serde", "std"], package = "url" } uuid1 = { version = "1.0", default-features = false, features = ["serde"], package = "uuid" } [features] default = ["derive", "std"] # Provide impls for common standard library types like `HashMap`. # Requires a dependency on the Rust standard library. std = [] # Provide `derive(JsonSchema)` macro. derive = ["schemars_derive"] # Preserves order of properties inserted into a `Schema`. # When deriving `JsonSchema`, this ensures that the `properties` entires match # the order of the fields in the struct definition. preserve_order = ["serde_json/preserve_order"] # Implements `JsonSchema` on `serde_json::value::RawValue` raw_value = ["serde_json/raw_value"] # For internal/CI use only _ui_test = [] [[test]] name = "ui" required-features = ["_ui_test"] [package.metadata.docs.rs] all-features = true