-
-
Notifications
You must be signed in to change notification settings - Fork 152
/
Copy pathCargo.toml
112 lines (99 loc) · 3.54 KB
/
Cargo.toml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
[package]
name = "lychee"
authors = ["Matthias Endler <[email protected]>"]
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"
readme = "../README.md"
version.workspace = true
[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.3", default-features = false }
anyhow = "1.0.82"
assert-json-diff = "2.0.2"
clap = { version = "4.5.4", features = ["env", "derive"] }
console = "0.15.8"
const_format = "0.2.32"
csv = "1.3.0"
dashmap = { version = "5.5.3", features = ["serde"] }
env_logger = "0.11.1"
futures = "0.3.30"
headers = "0.4.0"
http = "1.0.0"
humantime = "2.1.0"
humantime-serde = "1.1.1"
indicatif = "0.17.8"
log = "0.4.21"
once_cell = "1.19.0"
openssl-sys = { version = "0.9.102", optional = true }
pad = "0.1.6"
regex = "1.10.4"
reqwest = { version = "0.12.4", default-features = false, features = [
"gzip",
"json",
] }
reqwest_cookie_store = "0.7.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.8"
secrecy = { version = "0.8.0", features = ["serde"] }
serde = { version = "1.0.198", features = ["derive"] }
serde_json = "1.0.116"
strum = { version = "0.26.2", features = ["derive"] }
supports-color = "3.0.0"
tabled = "0.15.0"
tokio = { version = "1.37.0", features = ["full"] }
tokio-stream = "0.1.15"
toml = "0.8.12"
[dev-dependencies]
assert_cmd = "2.0.14"
predicates = "3.1.0"
pretty_assertions = "1.4.0"
tempfile = "3.10.1"
tracing-subscriber = { version = "0.3.18", default-features = false, features = [
"fmt",
"registry",
"env-filter",
] }
uuid = { version = "1.8.0", features = ["v4"] }
wiremock = "0.6.0"
# 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"