forked from LucasPickering/slumber
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathCargo.toml
More file actions
140 lines (129 loc) · 4.74 KB
/
Cargo.toml
File metadata and controls
140 lines (129 loc) · 4.74 KB
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
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
[package]
authors = {workspace = true}
description = "Terminal-based HTTP client"
edition = {workspace = true}
homepage = {workspace = true}
keywords = {workspace = true}
license = {workspace = true}
name = "slumber"
repository = {workspace = true}
rust-version = {workspace = true}
version = {workspace = true}
[workspace]
members = ["crates/*"]
[workspace.package]
authors = ["Lucas Pickering <lucas@lucaspickering.me>"]
edition = "2024"
homepage = "https://slumber.lucaspickering.me"
keywords = ["rest", "http", "terminal", "tui"]
license = "MIT"
repository = "https://github.com/LucasPickering/slumber"
version = "3.3.0"
# Keep in sync w/ rust-toolchain.toml
rust-version = "1.88.0"
# Dependencies used in multiple crates get de-duplicated here
[workspace.dependencies]
anyhow = "1.0.0"
async-trait = "0.1.81"
bytes = {version = "1.6.1", default-features = false}
chrono = {version = "0.4.31", default-features = false}
derive_more = {version = "1.0.0", default-features = false}
dialoguer = {version = "0.11.0", default-features = false}
dirs = "5.0.1"
env-lock = "0.1.0"
futures = "0.3.28"
indexmap = {version = "2.0.0", default-features = false}
itertools = "0.13.0"
mime = "0.3.17"
pretty_assertions = "1.4.0"
reqwest = {version = "0.12.5", default-features = false}
rstest = {version = "0.24.0", default-features = false}
serde = {version = "1.0.204", default-features = false}
serde_json = {version = "1.0.120", default-features = false, features = ["preserve_order"]}
serde_test = "1.0.176"
serde_yaml = {version = "0.9.0", default-features = false}
slumber_cli = {path = "./crates/cli", version = "3.3.0"}
slumber_config = {path = "./crates/config", version = "3.3.0"}
slumber_core = {path = "./crates/core", version = "3.3.0"}
slumber_import = {path = "./crates/import", version = "3.3.0"}
slumber_tui = {path = "./crates/tui", version = "3.3.0"}
slumber_util = {path = "./crates/util", version = "3.3.0"}
strum = {version = "0.26.3", default-features = false}
terminput = "0.5.3"
thiserror = "2.0.12"
tokio = {version = "1.39.2", default-features = false}
tracing = "0.1.40"
url = "2.0.0"
uuid = {version = "1.10.0", default-features = false}
winnow = "0.6.16"
wiremock = {version = "0.6.1", default-features = false}
[workspace.lints.rust]
unsafe_code = "forbid"
[workspace.lints.clippy]
all = {level = "deny", priority = -1}
pedantic = {level = "warn", priority = -1}
allow_attributes = "deny"
cast_possible_truncation = "allow"
cast_possible_wrap = "allow"
cast_precision_loss = "allow"
cast_sign_loss = "allow"
dbg_macro = "warn"
default_trait_access = "allow"
doc_markdown = "allow"
explicit_deref_methods = "allow"
large_enum_variant = "allow"
map_unwrap_or = "allow"
match_same_arms = "allow"
missing_errors_doc = "allow"
missing_panics_doc = "allow"
must_use_candidate = "allow"
needless_pass_by_value = "allow"
similar_names = "allow"
too_many_lines = "allow"
unused_self = "allow"
used_underscore_binding = "allow"
[dependencies]
anyhow = {workspace = true, features = ["backtrace"]}
console-subscriber = {version = "0.4.1", default-features = false, optional = true}
slumber_cli = {workspace = true, optional = true}
slumber_tui = {workspace = true, optional = true}
slumber_util = {workspace = true}
tokio = {workspace = true, features = ["macros", "rt", "tracing"]}
tracing = {workspace = true}
tracing-subscriber = {version = "0.3.17", default-features = false, features = ["ansi", "fmt", "registry"]}
[features]
default = ["cli", "tui"]
# TUI and CLI can be disabled in dev to speed compilation while not in use
cli = ["dep:slumber_cli"]
tui = ["dep:slumber_tui"]
# Enable tokio-console tracing
tokio_tracing = ["dep:console-subscriber"]
# The profile that 'cargo dist' will build with
[profile.dist]
inherits = "release"
lto = "thin"
[package.metadata.release]
pre-release-hook = ["python", "./gifs.py", "--check"]
pre-release-replacements = [
{file = "CHANGELOG.md", search = "## \\[Unreleased\\] - ReleaseDate", replace = "## [Unreleased] - ReleaseDate\n\n## [{{version}}] - {{date}}"},
]
# Config for 'dist'
[workspace.metadata.dist]
# The preferred dist version to use in CI (Cargo.toml SemVer syntax)
cargo-dist-version = "0.28.2"
# CI backends to support
ci = "github"
# The installers to generate for each app
installers = ["shell", "powershell", "homebrew"]
# A GitHub repo to push Homebrew formulas to
tap = "LucasPickering/homebrew-tap"
# Target platforms to build apps for (Rust target-triple syntax)
targets = ["aarch64-apple-darwin", "x86_64-apple-darwin", "x86_64-unknown-linux-gnu", "x86_64-unknown-linux-musl", "x86_64-pc-windows-msvc"]
# Publish jobs to run in CI
publish-jobs = ["homebrew"]
# Which actions to run on pull requests
pr-run-mode = "plan"
# Whether to install an updater program
install-updater = false
# Path that installers should place binaries in
install-path = "CARGO_HOME"