lychee/lychee-lib/Cargo.toml
2024-01-10 00:07:39 +01:00

95 lines
2.6 KiB
TOML

[package]
name = "lychee-lib"
authors = ["Matthias Endler <matthias@endler.dev>"]
description = "A fast, async link checker"
documentation = "https://docs.rs/lychee_lib"
edition = "2021"
homepage = "https://github.com/lycheeverse/lychee"
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]
async-stream = "0.3.5"
cached = "0.46.1"
check-if-email-exists = { version = "0.9.1", optional = true }
email_address = "0.2.4"
futures = "0.3.30"
glob = "0.3.1"
headers = "0.3.8"
html5ever = "0.26.0"
html5gum = "0.5.7"
http = "0.2.10"
hyper = "1.1.0"
ip_network = "0.4.1"
jwalk = "0.8.1"
linkify = "0.10.0"
log = "0.4.20"
octocrab = "0.32.0"
once_cell = "1.19.0"
openssl-sys = { version = "0.9.98", optional = true }
path-clean = "1.0.1"
percent-encoding = "2.3.1"
pulldown-cmark = "0.9.3"
regex = "1.10.2"
# Use trust-dns to avoid lookup failures on high concurrency
# https://github.com/seanmonstar/reqwest/issues/296
reqwest = { version = "0.11.23", default-features = false, features = ["gzip", "trust-dns", "cookies"] }
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 = "0.8.0"
serde = { version = "1.0.193", features = ["derive"] }
serde_with = "3.4.0"
shellexpand = "3.1.0"
thiserror = "1.0.53"
tokio = { version = "1.35.1", features = ["full"] }
toml = "0.8.8"
typed-builder = "0.18.0"
url = { version = "2.5.0", features = ["serde"] }
[dependencies.par-stream]
version = "0.10.2"
features = ["runtime-tokio"]
[dev-dependencies]
doc-comment = "0.3.3"
tempfile = "3.9.0"
wiremock = "0.5.22"
serde_json = "1.0.109"
rstest = "0.18.2"
toml = "0.8.8"
[features]
# Enable checking email addresses. Requires the native-tls feature.
email-check = ["check-if-email-exists"]
# Use platform-native TLS.
native-tls = ["openssl-sys", "reqwest/native-tls"]
# Use Rustls TLS.
rustls-tls = ["reqwest/rustls-tls-native-roots"]
# Compile and statically link a copy of OpenSSL.
vendored-openssl = ["openssl-sys/vendored"]
# Feature flag to include checking reserved example domains
# as per RFC 2606, section 3.
# This flag is off by default and only exists to allow example domains in
# integration tests, which don't respect `#[cfg(test)]`.
# See https://users.rust-lang.org/t/36630
check_example_domains = []
default = ["native-tls", "email-check"]