[package] name = "lychee" authors = ["Matthias Endler "] 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/MIT" repository = "https://github.com/lycheeverse/lychee" version = "0.13.0" [dependencies] lychee-lib = { path = "../lychee-lib", version = "0.13.0", default-features = false } anyhow = "1.0.71" assert-json-diff = "2.0.2" clap = { version = "4.3.11", features = ["env", "derive"] } console = "0.15.7" const_format = "0.2.31" csv = "1.2.2" dashmap = { version = "5.4.0", features = ["serde"] } env_logger = "0.10.0" futures = "0.3.27" headers = "0.3.8" http = "0.2.9" humantime = "2.1.0" humantime-serde = "1.1.1" indicatif = "0.17.5" log = "0.4.19" once_cell = "1.18.0" openssl-sys = { version = "0.9.90", optional = true } pad = "0.1.6" regex = "1.9.0" reqwest = { version = "0.11.18", default-features = false, features = ["gzip", "json"] } # 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 = { version = "0.8.0", features = ["serde"] } serde = { version = "1.0.168", features = ["derive"] } serde_json = "1.0.100" strum = {version = "0.25.0" , features = ["derive"] } supports-color = "2.0.0" tabled = "0.12.2" tokio = { version = "1.29.1", features = ["full"] } tokio-stream = "0.1.14" toml = "0.7.6" [dev-dependencies] assert_cmd = "2.0.11" predicates = "3.0.3" pretty_assertions = "1.4.0" tempfile = "3.6.0" tracing-subscriber = { version = "0.3.17", default-features = false, features = ["fmt", "registry", "env-filter"] } uuid = { version = "1.4.0", features = ["v4"] } wiremock = "0.5.19" # 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"