pgsafe 0.9.1

Static safety linter for PostgreSQL DDL migrations — catches unsafe schema changes before they lock or break production.
Documentation
# THIS FILE IS AUTOMATICALLY GENERATED BY CARGO
#
# When uploading crates to the registry Cargo will automatically
# "normalize" Cargo.toml files for maximal compatibility
# with all versions of Cargo and also rewrite `path` dependencies
# to registry (e.g., crates.io) dependencies.
#
# If you are reading this file be aware that the original Cargo.toml
# will likely look very different (and much more reasonable).
# See Cargo.toml.orig for the original contents.

[package]
edition = "2021"
rust-version = "1.80"
name = "pgsafe"
version = "0.9.1"
build = false
exclude = [
    "site/",
    "wasm/",
    "scripts/",
    ".github/",
    "action.yml",
]
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Static safety linter for PostgreSQL DDL migrations — catches unsafe schema changes before they lock or break production."
documentation = "https://docs.rs/pgsafe"
readme = "README.md"
keywords = [
    "postgres",
    "postgresql",
    "migrations",
    "ddl",
    "linter",
]
categories = [
    "development-tools",
    "database",
]
license = "Apache-2.0"
repository = "https://github.com/fixed-width/pgsafe"

[features]
cli = [
    "dep:clap",
    "dep:toml",
    "dep:globset",
]
default = ["cli"]

[lib]
name = "pgsafe"
path = "src/lib.rs"

[[bin]]
name = "pgsafe"
path = "src/main.rs"
required-features = ["cli"]

[[test]]
name = "catalog_in_sync"
path = "tests/catalog_in_sync.rs"

[[test]]
name = "cli"
path = "tests/cli.rs"

[[test]]
name = "config"
path = "tests/config.rs"

[[test]]
name = "fix_cli"
path = "tests/fix_cli.rs"

[[test]]
name = "fixes"
path = "tests/fixes.rs"

[[test]]
name = "gitdiff"
path = "tests/gitdiff.rs"

[[test]]
name = "list_rules"
path = "tests/list_rules.rs"

[[test]]
name = "new_table"
path = "tests/new_table.rs"

[[test]]
name = "resolve"
path = "tests/resolve.rs"

[[test]]
name = "rule_cases"
path = "tests/rule_cases.rs"

[[test]]
name = "rule_proofs"
path = "tests/rule_proofs.rs"

[[test]]
name = "sarif"
path = "tests/sarif.rs"

[[test]]
name = "since"
path = "tests/since.rs"

[[test]]
name = "suppression"
path = "tests/suppression.rs"

[[test]]
name = "timeout"
path = "tests/timeout.rs"

[[test]]
name = "txn"
path = "tests/txn.rs"

[[bench]]
name = "lint"
path = "benches/lint.rs"
harness = false

[dependencies.clap]
version = "4"
features = ["derive"]
optional = true

[dependencies.globset]
version = "0.4"
optional = true

[dependencies.pg_query]
version = "6.1"

[dependencies.regex]
version = "1"

[dependencies.serde]
version = "1"
features = ["derive"]

[dependencies.serde_json]
version = "1"

[dependencies.thiserror]
version = "2"

[dependencies.toml]
version = "0.8"
optional = true

[dev-dependencies.assert_cmd]
version = "2.2"

[dev-dependencies.clap]
version = "4"

[dev-dependencies.criterion]
version = "0.8.2"

[dev-dependencies.postgres]
version = "0.19"

[dev-dependencies.predicates]
version = "3.1"

[dev-dependencies.tempfile]
version = "3"

[lints.clippy]
cast_possible_truncation = "warn"
cast_sign_loss = "warn"
missing_errors_doc = "warn"

[lints.rust]
unsafe_code = "forbid"