-
Notifications
You must be signed in to change notification settings - Fork 0
/
Cargo.toml
86 lines (80 loc) · 3.01 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
[package]
name = "zero2prod"
version = "0.1.0"
edition = "2021"
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
[lib]
# We could use any path here, but we are following the community convention.
# We could specify a library name using the `name` field. If unspecified, cargo will default to `package.name`, which is
# what we want.
path = "src/lib.rs"
# Notice the double square brackets: it's an array in TOML's syntax
# We can only have one library in a project, but we can have multiple binaries. If you want to manage multiple libraries
# have a look at the workspace feature - we'll cover it later on.
[[bin]]
path = "src/main.rs"
name = "zero2prod"
[dependencies]
actix-web="4"
tokio = {version = "1.23.1", features = ["macros", "rt-multi-thread"]}
# We need the optional `derive` feature to use `serde`'s procedural macros:
# `#[derive(Serialize)]` and `#[derive(Deserialize)]`.
# The feature is not enabled by default to avoid pulling in unnecessary dependencies for projects that do not need it.
serde = {version = "1", features = ["derive"]}
config = "0.13"
uuid = { version= "1", features = ["v4", "serde"] }
chrono = { version = "0.4.23", default-features = false, features = ["clock"] }
tracing = { version = "0.1", features = ["log"] }
tracing-subscriber = { version = "0.3.16", features = ["registry", "env-filter"]}
tracing-bunyan-formatter = "0.3"
tracing-log = "0.1"
secrecy = { version = "0.8", features = ["serde"] }
tracing-actix-web = "0.6"
serde-aux = "4"
unicode-segmentation = "1"
validator="0.16"
# We need the `std_rng` to get access to the PRNG we want.
rand = {version = "0.8", features = ["std_rng"] }
tera = {version = "1", default-features = false }
once_cell = "1"
thiserror = "1"
anyhow = "1"
base64="0.13"
argon2 = {version="0.4", features = ["std"] }
urlencoding = "2"
htmlescape = "0.3"
actix-web-flash-messages = {version = "0.4", features = ["cookies"] }
actix-session = { version = "0.7", features = ["redis-rs-tls-session"] }
serde_json = "1"
actix-web-lab = "0.18"
serde_urlencoded = "0.7.1"
#Using table-like toml syntax to avoid a super-long line!
[dependencies.sqlx]
version = "0.6"
default-features=false
features = [
"runtime-tokio-rustls",
"macros",
"postgres",
"uuid",
"chrono",
"migrate",
"offline"
]
[dependencies.reqwest]
version = "0.11"
default-features = false
# We need the `json` feature flag to serialize/deserialize JSON payloads
features = ["json", "rustls-tls", "cookies"]
# Dev dependencies are used exclusively when running tests or examples.
# They do not get included in the final application binary!
[dev-dependencies]
# `claim` provides a fairly comprehensive range of assertions to work with common Rust types - in particular Option and Result
claims = "0.7"
# We are not using fake >= 2.4 because it relies on rand 0.8 which has been recently released and it is not yet used by
# quickchek (soved in its upcoming 1.0 release!)
fake = "~2.3"
quickcheck = "0.9.2"
quickcheck_macros = "0.9.1"
wiremock = "0.5.15"
linkify = "0.9"