lychee/lychee-bin/Cargo.toml
2024-01-05 17:55:41 +01:00

111 lines
3.5 KiB
TOML

[package]
name = "lychee"
authors = ["Matthias Endler <matthias@endler.dev>"]
description = "A fast, async link checker"
documentation = "https://docs.rs/lychee"
homepage = "https://github.com/lycheeverse/lychee"
edition = "2021"
keywords = [
"link",
"checker",
"cli",
"link-checker",
"validator",
]
license = "Apache-2.0 OR MIT"
repository = "https://github.com/lycheeverse/lychee"
version = "0.14.0"
readme = "../README.md"
[dependencies]
# NOTE: We need to specify the version of lychee-lib here because crates.io
# requires all dependencies to have a version number.
lychee-lib = { path = "../lychee-lib", version = "0.14.0", default-features = false }
anyhow = "1.0.78"
assert-json-diff = "2.0.2"
clap = { version = "4.4.12", features = ["env", "derive"] }
console = "0.15.7"
const_format = "0.2.32"
csv = "1.3.0"
dashmap = { version = "5.5.3", features = ["serde"] }
env_logger = "0.10.1"
futures = "0.3.30"
headers = "0.3.8"
http = "0.2.10"
humantime = "2.1.0"
humantime-serde = "1.1.1"
indicatif = "0.17.7"
log = "0.4.20"
once_cell = "1.19.0"
openssl-sys = { version = "0.9.98", optional = true }
pad = "0.1.6"
regex = "1.10.2"
reqwest = { version = "0.11.23", default-features = false, features = ["gzip", "json"] }
reqwest_cookie_store = "0.6.0"
# Make build work on Apple Silicon.
# See https://github.com/briansmith/ring/issues/1163
# This is necessary for the homebrew build
# https://github.com/Homebrew/homebrew-core/pull/70216
ring = "0.17.7"
secrecy = { version = "0.8.0", features = ["serde"] }
serde = { version = "1.0.193", features = ["derive"] }
serde_json = "1.0.109"
strum = { version = "0.25.0", features = ["derive"] }
supports-color = "2.1.0"
tabled = "0.15.0"
tokio = { version = "1.35.1", features = ["full"] }
tokio-stream = "0.1.14"
toml = "0.8.8"
[dev-dependencies]
assert_cmd = "2.0.12"
predicates = "3.0.4"
pretty_assertions = "1.4.0"
tempfile = "3.9.0"
tracing-subscriber = { version = "0.3.18", default-features = false, features = ["fmt", "registry", "env-filter"] }
uuid = { version = "1.6.1", features = ["v4"] }
wiremock = "0.5.22"
# console-subscriber is not yet published to crates.io
# Users have to uncomment this section and the feature below and build lychee
# locally
# TODO: Remove this git revision pin after publication
#[dependencies.console-subscriber]
#optional = true
#git = "https://github.com/tokio-rs/console"
#rev = "926de99ce4cbfd02c87190f9ec5f1c60b5c305d5"
[features]
#tokio-console = ["console-subscriber", "tracing-subscriber/registry"]
# Compile and statically link a copy of OpenSSL.
vendored-openssl = ["openssl-sys/vendored"]
# Allow checking example domains such as example.com.
check_example_domains = ["lychee-lib/check_example_domains"]
# Enable checking email addresses. Requires the native-tls feature.
email-check = ["lychee-lib/email-check"]
# Use platform-native TLS.
native-tls = ["lychee-lib/native-tls", "openssl-sys", "reqwest/native-tls"]
# Use Rustls TLS.
rustls-tls = ["lychee-lib/rustls-tls", "reqwest/rustls-tls-native-roots"]
default = ["native-tls", "email-check"]
# Unfortunately, it's not possible to automatically enable features for cargo
# test. See rust-lang/cargo#2911. As a workaround we introduce a new feature to
# allow example domains in integration tests.
[[test]]
name = "cli"
path = "tests/cli.rs"
required-features = ["check_example_domains"]
# metadata for cargo-binstall to get the right artifacts
[package.metadata.binstall]
pkg-url = "{ repo }/releases/download/v{ version }/{ name }-v{ version }-{ target }{ archive-suffix }"
bin-dir = "{ bin }{ binary-ext }"
pkg-fmt = "tgz"