[package]
edition = "2024"
rust-version = "1.90"
name = "rolldown-notify"
version = "10.2.0"
authors = [
"Félix Saparelli <me@passcod.name>",
"Daniel Faust <hessijames@gmail.com>",
"Aron Heinecke <Ox0p54r36@t-online.de>",
]
build = false
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Cross-platform filesystem notification library"
homepage = "https://github.com/notify-rs/notify"
documentation = "https://docs.rs/notify"
readme = "README.md"
keywords = [
"events",
"filesystem",
"notify",
"watch",
]
categories = ["filesystem"]
license = "CC0-1.0"
repository = "https://github.com/notify-rs/notify.git"
resolver = "2"
[features]
default = ["macos_fsevent"]
macos_fsevent = [
"dep:objc2-core-foundation",
"dep:objc2-core-services",
]
macos_kqueue = [
"dep:kqueue",
"dep:mio",
]
serde = ["rolldown-notify-types/serde"]
serialization-compat-6 = ["rolldown-notify-types/serialization-compat-6"]
[lib]
name = "notify"
path = "src/lib.rs"
[[bench]]
name = "paths_mut_bench"
path = "benches/paths_mut_bench.rs"
harness = false
[dependencies.crossbeam-channel]
version = "0.5.0"
optional = true
[dependencies.flume]
version = "0.11.1"
optional = true
[dependencies.libc]
version = "0.2.4"
[dependencies.rolldown-notify-types]
version = "2.0.2"
[dependencies.tracing]
version = "0.1.41"
[dependencies.walkdir]
version = "2.4.0"
[dev-dependencies.pretty_assertions]
version = "1.3.0"
[dev-dependencies.tempfile]
version = "3.26.0"
[target.'cfg(any(target_os="freebsd", target_os="openbsd", target_os = "netbsd", target_os = "dragonflybsd", target_os = "ios"))'.dependencies.kqueue]
version = "1.1.1"
[target.'cfg(any(target_os="freebsd", target_os="openbsd", target_os = "netbsd", target_os = "dragonflybsd", target_os = "ios"))'.dependencies.mio]
version = "1.0"
features = ["os-ext"]
[target.'cfg(any(target_os="linux", target_os="android"))'.dependencies.inotify]
version = "0.11.0"
default-features = false
[target.'cfg(any(target_os="linux", target_os="android"))'.dependencies.mio]
version = "1.0"
features = ["os-ext"]
[target.'cfg(not(target_family = "wasm"))'.dev-dependencies.criterion]
version = "0.7.0"
[target.'cfg(target_os = "windows")'.dev-dependencies.trash]
version = "5.2.2"
[target.'cfg(target_os="macos")'.dependencies.bitflags]
version = "2.7.0"
[target.'cfg(target_os="macos")'.dependencies.kqueue]
version = "1.1.1"
optional = true
[target.'cfg(target_os="macos")'.dependencies.mio]
version = "1.0"
features = ["os-ext"]
optional = true
[target.'cfg(target_os="macos")'.dependencies.objc2-core-foundation]
version = "0.3.2"
features = [
"std",
"CFDate",
"CFString",
"CFArray",
"CFRunLoop",
"CFError",
"CFURL",
]
optional = true
default-features = false
[target.'cfg(target_os="macos")'.dependencies.objc2-core-services]
version = "0.3.2"
features = [
"std",
"libc",
"FSEvents",
]
optional = true
default-features = false
[target."cfg(windows)".dependencies.windows-sys]
version = "0.61.2"
features = [
"Win32_System_Threading",
"Win32_Foundation",
"Win32_Storage_FileSystem",
"Win32_Security",
"Win32_System_WindowsProgramming",
"Win32_System_IO",
]
[lints.clippy]
allow_attributes = "deny"
case_sensitive_file_extension_comparisons = "allow"
clone_on_ref_ptr = "deny"
dbg_macro = "deny"
debug_assert_with_mut_call = "warn"
doc_markdown = "allow"
empty_drop = "deny"
exit = "deny"
filetype_is_file = "deny"
get_unwrap = "deny"
inconsistent_struct_constructor = "allow"
inline_always = "allow"
items_after_statements = "allow"
iter_on_single_items = "warn"
map_unwrap_or = "allow"
missing_errors_doc = "allow"
module_inception = "allow"
module_name_repetitions = "allow"
needless_pass_by_ref_mut = "warn"
print_stdout = "deny"
rc_buffer = "deny"
rc_mutex = "deny"
redundant-pub-crate = "allow"
redundant_clone = "warn"
redundant_closure_for_method_calls = "allow"
redundant_pub_crate = "warn"
rest_pat_in_fully_bound_structs = "deny"
significant_drop_in_scrutinee = "warn"
similar_names = "allow"
single_match = "allow"
single_match_else = "allow"
struct_field_names = "allow"
unnecessary_safety_comment = "deny"
unused_peekable = "warn"
wildcard_imports = "allow"
[lints.clippy.pedantic]
level = "deny"
priority = -1