[package]
edition = "2021"
rust-version = "1.83.0"
name = "jsonschema"
version = "0.42.0"
authors = ["Dmitry Dygalo <dmitry@dygalo.dev>"]
build = false
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "JSON schema validaton library"
readme = "README.md"
keywords = [
"jsonschema",
"validation",
]
categories = ["web-programming"]
license = "MIT"
repository = "https://github.com/Stranger6667/jsonschema"
[features]
arbitrary-precision = [
"serde_json/arbitrary_precision",
"dep:num-bigint",
]
default = [
"resolve-http",
"resolve-file",
"tls-aws-lc-rs",
]
resolve-async = [
"referencing/retrieve-async",
"reqwest",
"dep:async-trait",
"dep:tokio",
]
resolve-file = []
resolve-http = [
"reqwest",
"dep:rustls",
]
tls-aws-lc-rs = ["rustls/aws-lc-rs"]
tls-ring = ["rustls/ring"]
[lib]
name = "jsonschema"
path = "src/lib.rs"
[[test]]
name = "output_suite"
path = "tests/output_suite.rs"
[[test]]
name = "suite"
path = "tests/suite.rs"
[[test]]
name = "wasm"
path = "tests/wasm.rs"
[[test]]
name = "wasm_wasi"
path = "tests/wasm_wasi.rs"
[[bench]]
name = "errors"
path = "benches/errors.rs"
harness = false
[[bench]]
name = "jsonschema"
path = "benches/jsonschema.rs"
harness = false
[[bench]]
name = "keywords"
path = "benches/keywords.rs"
harness = false
[[bench]]
name = "location"
path = "benches/location.rs"
harness = false
[[bench]]
name = "unevaluated_items"
path = "benches/unevaluated_items.rs"
harness = false
[[bench]]
name = "unevaluated_properties"
path = "benches/unevaluated_properties.rs"
harness = false
[dependencies.ahash]
version = "0.8"
features = ["serde"]
[dependencies.async-trait]
version = "0.1.86"
optional = true
[dependencies.bytecount]
version = "0.6"
features = ["runtime-dispatch-simd"]
[dependencies.data-encoding]
version = "2.9"
[dependencies.email_address]
version = "0.2.9"
[dependencies.fancy-regex]
version = "0.17"
[dependencies.fraction]
version = "0.15"
features = ["with-bigint"]
default-features = false
[dependencies.idna]
version = "1.0.2"
[dependencies.itoa]
version = "1"
[dependencies.num-bigint]
version = "0.4"
optional = true
[dependencies.num-cmp]
version = "0.1"
[dependencies.num-traits]
version = "0.2.19"
[dependencies.percent-encoding]
version = "2.3"
[dependencies.referencing]
version = "0.42.0"
[dependencies.regex]
version = "1.11.1"
[dependencies.regex-syntax]
version = "0.8.5"
[dependencies.serde]
version = "1.0"
features = ["derive"]
[dependencies.serde_json]
version = "1"
[dependencies.unicode-general-category]
version = "1.1"
[dependencies.uuid-simd]
version = "0.8"
features = [
"std",
"detect",
]
default-features = false
[dev-dependencies.futures]
version = "0.3"
features = ["std"]
default-features = false
[dev-dependencies.test-case]
version = "3"
[target.'cfg(all(target_arch = "wasm32", target_os = "unknown"))'.dev-dependencies.wasm-bindgen-test]
version = "0.3.55"
[target.'cfg(not(target_arch = "wasm32"))'.dependencies.reqwest]
version = "0.13"
features = [
"blocking",
"json",
"http2",
"rustls-no-provider",
]
optional = true
default-features = false
[target.'cfg(not(target_arch = "wasm32"))'.dependencies.rustls]
version = "0.23"
features = [
"std",
"tls12",
]
optional = true
default-features = false
[target.'cfg(not(target_arch = "wasm32"))'.dependencies.tokio]
version = "1.0"
features = [
"fs",
"rt",
]
optional = true
[target.'cfg(not(target_arch = "wasm32"))'.dev-dependencies.codspeed-criterion-compat]
version = "4.1"
default-features = false
[target.'cfg(not(target_arch = "wasm32"))'.dev-dependencies.criterion]
version = "0.7"
default-features = false
[target.'cfg(not(target_arch = "wasm32"))'.dev-dependencies.tempfile]
version = "3.13.0"
[target.'cfg(not(target_arch = "wasm32"))'.dev-dependencies.test-case]
version = "3"
[target.'cfg(not(target_arch = "wasm32"))'.dev-dependencies.tokio]
version = "1"
features = [
"macros",
"rt",
]
[target.'cfg(target_arch = "wasm32")'.dependencies.getrandom]
version = "0.3.4"
features = ["wasm_js"]
[target.'cfg(target_arch = "wasm32")'.dependencies.reqwest]
version = "0.13"
features = ["json"]
optional = true
default-features = false
[target.'cfg(target_arch = "wasm32")'.dependencies.tokio]
version = "1.0"
features = ["rt"]
optional = true
[lints.clippy]
dbg_macro = "warn"
empty_drop = "warn"
empty_structs_with_brackets = "warn"
exit = "warn"
get_unwrap = "warn"
module_name_repetitions = "allow"
print_stderr = "warn"
print_stdout = "warn"
rc_buffer = "warn"
rc_mutex = "warn"
rest_pat_in_fully_bound_structs = "warn"
similar_names = "allow"
too_many_arguments = "allow"
too_many_lines = "allow"
[lints.clippy.pedantic]
level = "warn"
priority = -2
[lints.rust]
unreachable_pub = "warn"
unsafe_code = "warn"