# 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.65.0"
name = "krates"
version = "0.16.7"
authors = [
    "Embark <opensource@embark-studios.com>",
    "Jake Shadle <jake.shadle@embark-studios.com>",
]
exclude = [
    ".github",
    "tests",
]
description = "Create graphs of crates gathered from cargo metadata"
homepage = "https://github.com/EmbarkStudios/krates"
documentation = "https://docs.rs/krates"
readme = "README.md"
keywords = [
    "cargo",
    "metadata",
    "graph",
]
categories = ["visualization"]
license = "MIT OR Apache-2.0"
repository = "https://github.com/EmbarkStudios/krates"

[profile.dev.package.insta]
opt-level = 3

[profile.dev.package.similar]
opt-level = 3

[dependencies.cargo_metadata]
version = "0.18"

[dependencies.cfg-expr]
version = "0.15"

[dependencies.petgraph]
version = "0.6"

[dependencies.semver]
version = "1.0"

[dev-dependencies.clap]
version = "4.0"
features = ["derive"]

[dev-dependencies.insta]
version = "1.21"

[dev-dependencies.serde_json]
version = "1.0"

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

[dev-dependencies.tame-index]
version = "0.9"

[features]
default = []
targets = ["cfg-expr/targets"]
