lychee/lychee-lib/Cargo.toml
Thomas Zahner 31b2525a8d
Move archive functionality to library (#1720)
* Bump flake 1.83.0 -> 1.87.0
* Move archive functionality into lychee-lib
* Create example, update name and docs
* Split function & update tests
* Remove trailing slashes in API calls & update tests
* Apply lint suggestions
* Rename function
* Move module
* Add cargo-nextest to devShell to support 'make test'
2025-06-06 22:24:10 +02:00

98 lines
2.7 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 = "2024"
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"
readme = "../README.md"
version.workspace = true
rust-version = "1.85.0"
[dependencies]
async-stream = "0.3.6"
async-trait = "0.1.88"
cached = "0.55.1"
check-if-email-exists = { version = "0.9.1", optional = true }
cookie_store = "0.21.1"
email_address = "0.2.9"
futures = "0.3.31"
glob = "0.3.2"
headers = "0.4.0"
html5ever = "0.31.0"
html5gum = "0.7.0"
http = "1.3.1"
hyper = "1.6.0"
ignore = "0.4.23"
ip_network = "0.4.1"
linkify = "0.10.0"
log = "0.4.27"
octocrab = "0.44.1"
openssl-sys = { version = "0.9.108", optional = true }
path-clean = "1.0.1"
percent-encoding = "2.3.1"
pulldown-cmark = "0.13.0"
regex = "1.11.1"
# Use trust-dns to avoid lookup failures on high concurrency
# https://github.com/seanmonstar/reqwest/issues/296
reqwest = { version = "0.12.15", default-features = false, features = [
"gzip",
"trust-dns",
"cookies",
"json"
] }
reqwest_cookie_store = { version = "0.8.0", features = ["serde"] }
# 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.14"
secrecy = "0.10.3"
serde = { version = "1.0.219", features = ["derive"] }
serde_with = "3.12.0"
shellexpand = "3.1.1"
strum = { version = "0.27.1", features = ["derive"] }
thiserror = "2.0.12"
tokio = { version = "1.45.1", features = ["full"] }
toml = "0.8.22"
typed-builder = "0.21.0"
url = { version = "2.5.4", features = ["serde"] }
[dependencies.par-stream]
version = "0.10.2"
features = ["runtime-tokio"]
[dev-dependencies]
doc-comment = "0.3.3"
tempfile = "3.20.0"
wiremock = "0.6.3"
serde_json = "1.0.140"
rstest = "0.25.0"
toml = "0.8.22"
pretty_assertions = "1.4.1"
[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"]