# 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 = "2018"
rust-version = "1.56.1"
name = "insta"
version = "1.16.0"
authors = ["Armin Ronacher <armin.ronacher@active-4.com>"]
exclude = ["assets/*"]
description = "A snapshot testing library for Rust"
homepage = "https://insta.rs/"
readme = "README.md"
keywords = [
    "snapshot",
    "testing",
    "jest",
    "approval",
]
license = "Apache-2.0"
repository = "https://github.com/mitsuhiko/insta"

[package.metadata.docs.rs]
all-features = true

[dependencies.console]
version = "0.15.0"
optional = true
default-features = false

[dependencies.csv]
version = "1.1.4"
optional = true

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

[dependencies.once_cell]
version = "1.9.0"

[dependencies.pest]
version = "2.1.3"
optional = true

[dependencies.pest_derive]
version = "2.1.0"
optional = true

[dependencies.ron]
version = "0.7.1"
optional = true

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

[dependencies.serde_json]
version = "1.0.59"

[dependencies.serde_yaml]
version = "0.8.14"

[dependencies.similar]
version = "2.1.0"
features = ["inline"]

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

[dependencies.walkdir]
version = "2.3.1"
optional = true

[dev-dependencies.similar-asserts]
version = "1.2.0"

[features]
backtrace = []
colors = ["console"]
default = ["colors"]
glob = [
    "walkdir",
    "globset",
]
redactions = [
    "pest",
    "pest_derive",
]
serialization = []
