[package] name = "lychee-lib" authors = ["Matthias Endler "] 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/MIT" repository = "https://github.com/lycheeverse/lychee" version = "0.13.0" [dependencies] async-stream = "0.3.5" cached = "0.44.0" check-if-email-exists = { version = "0.9.0", optional = true } email_address = "0.2.4" futures = "0.3.27" glob = "0.3.1" headers = "0.3.8" html5ever = "0.26.0" html5gum = "0.5.3" http = "0.2.9" hyper = "0.14.27" ip_network = "0.4.1" jwalk = "0.8.1" linkify = "0.10.0" log = "0.4.19" octocrab = "0.25.1" once_cell = "1.18.0" openssl-sys = { version = "0.9.90", optional = true } path-clean = "1.0.1" percent-encoding = "2.3.0" pulldown-cmark = "0.9.3" regex = "1.9.0" # Use trust-dns to avoid lookup failures on high concurrency # https://github.com/seanmonstar/reqwest/issues/296 reqwest = { version = "0.11.18", default-features = false, features = ["gzip", "trust-dns"] } # 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.16.20" secrecy = "0.8.0" serde = { version = "1.0.168", features = ["derive"] } serde_with = "3.0.0" shellexpand = "3.1.0" thiserror = "1.0.43" tokio = { version = "1.29.1", features = ["full"] } typed-builder = "0.15.0" url = { version = "2.4.0", features = ["serde"] } [dependencies.par-stream] version = "0.10.2" features = ["runtime-tokio"] [dev-dependencies] doc-comment = "0.3.3" tempfile = "3.6.0" wiremock = "0.5.19" serde_json = "1.0.100" [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"]