[package] name = "package_json_schema" version = "0.2.2" authors = ["Ifiok Jr. "] categories = ["encoding", "config"] documentation = "https://docs.rs/package_json_schema" edition = "2021" homepage = "https://github.com/ifiokjr/package_json_schema" include = ["src/**/*.rs", "Cargo.toml", "readme.md", "license"] keywords = ["schema", "package", "npm", "node", "json"] license = "Unlicense" readme = "readme.md" repository = "https://github.com/ifiokjr/package_json_schema" rust-version = "1.70" description = "Parse content from `package.json` content and consume the result as a `PackageJson` struct." [lib] crate-type = ["lib"] [dependencies] cfg-if = "1" doc-comment = "0.3" indexmap = { version = "2", features = ["serde"] } lazy_static = "1" regex = "1" semver = "1" serde = { version = "1", features = ["derive"] } serde_json = { version = "1", features = ["preserve_order", "std"] } thiserror = "1" typed-builder = "0.20" validator = { version = "0.18", features = ["derive"], optional = true } [dev-dependencies] insta = { version = "1", features = ["json"] } [workspace.metadata.bin] cargo-insta = { version = "1.40.0" } cargo-llvm-cov = { version = "0.6.10" } cargo-nextest = { version = "0.9.72" } [features] validate = ["dep:validator"] [lints.rust] # Group lints rust_2021_compatibility = { level = "warn", priority = -1 } rust_2024_compatibility = { level = "warn", priority = -1 } # Individual lints unsafe_code = "deny" unstable_features = "deny" unused_extern_crates = "warn" unused_import_braces = "warn" unused_lifetimes = "warn" unused_macro_rules = "warn" unused_qualifications = "warn" variant_size_differences = "warn" [lints.clippy] # Group lints complexity = { level = "warn", priority = -1 } correctness = { level = "deny", priority = -1 } pedantic = { level = "warn", priority = -1 } perf = { level = "warn", priority = -1 } style = { level = "warn", priority = -1 } suspicious = { level = "warn", priority = -1 } # Individual lints blocks_in_conditions = "allow" cargo_common_metadata = "allow" cast_possible_truncation = "allow" cast_possible_wrap = "allow" cast_precision_loss = "allow" cast_sign_loss = "allow" expl_impl_clone_on_copy = "allow" items_after_statements = "allow" missing_errors_doc = "allow" missing_panics_doc = "allow" module_name_repetitions = "allow" must_use_candidate = "allow" no_effect_underscore_binding = "allow" tabs-in-doc-comments = "allow" too_many_lines = "allow" wildcard_dependencies = "deny" wildcard_imports = "allow"