forked from notify-rs/notify
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathCargo.toml
More file actions
108 lines (100 loc) · 3.69 KB
/
Cargo.toml
File metadata and controls
108 lines (100 loc) · 3.69 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
[workspace]
resolver = "2"
members = [
"notify",
"notify-types",
"notify-debouncer-mini",
"notify-debouncer-full",
"file-id",
"examples",
]
exclude = [
"examples/hot_reload_tide", # excluded until https://github.com/rustsec/rustsec/issues/501 is resolved
]
[workspace.package]
rust-version = "1.90"
homepage = "https://github.com/notify-rs/notify"
repository = "https://github.com/notify-rs/notify.git"
edition = "2024"
[workspace.lints.clippy]
# Guidelines
# - We should only disable rules globally if they are either false positives, chaotic, or does not make sense.
# - Group are enabled with priority -1, so we could easily override some specific rules.
# - https://doc.rust-lang.org/stable/cargo/reference/manifest.html#the-lints-section
# --- restriction https://doc.rust-lang.org/clippy/usage.html#clippyrestriction
allow_attributes = "deny"
dbg_macro = "deny"
print_stdout = "deny"
# I like the explicitness of this rule as it removes confusion around `clone`.
# This increases readability, avoids `clone` mindlessly and heap allocating on accident.
clone_on_ref_ptr = "deny"
empty_drop = "deny"
exit = "deny"
filetype_is_file = "deny"
get_unwrap = "deny"
rc_buffer = "deny"
rc_mutex = "deny"
rest_pat_in_fully_bound_structs = "deny"
unnecessary_safety_comment = "deny"
# --- pedantic #https://doc.rust-lang.org/clippy/usage.html#clippypedantic
# To write the best rust code, pedantic group is enabled by default.
pedantic = { level = "deny", priority = -1 }
case_sensitive_file_extension_comparisons = "allow"
# Though the following are nursery rules, they’re still useful.
debug_assert_with_mut_call = "warn"
iter_on_single_items = "warn"
needless_pass_by_ref_mut = "warn"
redundant_clone = "warn"
redundant_pub_crate = "warn"
significant_drop_in_scrutinee = "warn"
unused_peekable = "warn"
# Wizards, naming is too hard.
module_inception = "allow"
module_name_repetitions = "allow"
similar_names = "allow"
struct_field_names = "allow"
# Forwarding `Result` is a common pattern, this rule is too pedantic.
missing_errors_doc = "allow"
doc_markdown = "allow"
inline_always = "allow"
wildcard_imports = "allow"
redundant_closure_for_method_calls = "allow"
items_after_statements = "allow"
redundant-pub-crate = "allow"
# Order doesn't really matter https://rust-lang.github.io/rust-clippy/master/index.html#/inconsistent_struct_constructor
inconsistent_struct_constructor = "allow"
# Single match is equally readable as if/else. https://rust-lang.github.io/rust-clippy/master/index.html#/single_match
single_match = "allow"
single_match_else = "allow"
# Rewriting `unwrap_or` to `map_or` requires to annotate type explicitly which is cumbersome
map_unwrap_or = "allow"
[workspace.dependencies]
bitflags = "2.7.0"
crossbeam-channel = "0.5.0"
criterion = "0.7.0"
flume = "0.11.1"
deser-hjson = "2.2.4"
tracing-subscriber = "0.3.20"
rolldown-file-id = { version = "0.2.7", path = "file-id" }
objc2-core-foundation = { version = "0.3.2", default-features = false }
objc2-core-services = { version = "0.3.2", default-features = false }
futures = "0.3.30"
inotify = { version = "0.11.0", default-features = false }
insta = "1.34.0"
kqueue = "1.1.1"
libc = "0.2.4"
tracing = "0.1.41"
mio = { version = "1.0", features = ["os-ext"] }
web-time = "1.1.0"
rolldown-notify = { version = "10.2.1", path = "notify" }
rolldown-notify-debouncer-full = { version = "0.7.6", path = "notify-debouncer-full" }
rolldown-notify-debouncer-mini = { version = "0.8.6", path = "notify-debouncer-mini" }
rolldown-notify-types = { version = "2.0.2", path = "notify-types" }
pretty_assertions = "1.3.0"
rstest = "0.26.0"
serde = { version = "1.0.89", features = ["derive"] }
serde_json = "1.0.39"
tempfile = "3.26.0"
trash = "5.2.2"
walkdir = "2.4.0"
windows-sys = "0.61.2"