summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDivy Srivastava <dj.srivastava23@gmail.com>2023-10-31 09:43:04 -0700
committerGitHub <noreply@github.com>2023-10-31 16:43:04 +0000
commit646afdf259e9e25b59c5305aff231e131ea2fc52 (patch)
tree95a886cf8129d9c53e9703bcb70cb0aed621aa2b
parente4308aebc0a060e7210362e576e792e558384c24 (diff)
chore: use kqueue backend of notify on macOS (#21028)
Towards #20996 "macos_fsevent" feature of notify links us to CoreFoundation on macOS.
-rw-r--r--Cargo.lock42
-rw-r--r--Cargo.toml3
-rw-r--r--cli/tests/node_compat/config.jsonc1
-rw-r--r--cli/tests/node_compat/test/parallel/test-fs-watchfile.js2
-rw-r--r--cli/tests/unit/fs_events_test.ts4
5 files changed, 12 insertions, 40 deletions
diff --git a/Cargo.lock b/Cargo.lock
index 733b18459..bd5123186 100644
--- a/Cargo.lock
+++ b/Cargo.lock
@@ -725,11 +725,11 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "69323bff1fb41c635347b8ead484a5ca6c3f11914d784170b158d8449ab07f8e"
dependencies = [
"cfg-if 0.1.10",
- "crossbeam-channel 0.4.4",
+ "crossbeam-channel",
"crossbeam-deque",
"crossbeam-epoch",
"crossbeam-queue",
- "crossbeam-utils 0.7.2",
+ "crossbeam-utils",
]
[[package]]
@@ -738,28 +738,18 @@ version = "0.4.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "b153fe7cbef478c567df0f972e02e6d736db11affe43dfc9c56a9374d1adfb87"
dependencies = [
- "crossbeam-utils 0.7.2",
+ "crossbeam-utils",
"maybe-uninit",
]
[[package]]
-name = "crossbeam-channel"
-version = "0.5.8"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a33c2bf77f2df06183c3aa30d1e96c0695a313d4f9c453cc3762a6db39f99200"
-dependencies = [
- "cfg-if 1.0.0",
- "crossbeam-utils 0.8.16",
-]
-
-[[package]]
name = "crossbeam-deque"
version = "0.7.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "c20ff29ded3204c5106278a81a38f4b482636ed4fa1e6cfbeef193291beb29ed"
dependencies = [
"crossbeam-epoch",
- "crossbeam-utils 0.7.2",
+ "crossbeam-utils",
"maybe-uninit",
]
@@ -771,7 +761,7 @@ checksum = "058ed274caafc1f60c4997b5fc07bf7dc7cca454af7c6e81edffe5f33f70dace"
dependencies = [
"autocfg",
"cfg-if 0.1.10",
- "crossbeam-utils 0.7.2",
+ "crossbeam-utils",
"lazy_static",
"maybe-uninit",
"memoffset 0.5.6",
@@ -785,7 +775,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "774ba60a54c213d409d5353bda12d49cd68d14e45036a285234c8d6f91f92570"
dependencies = [
"cfg-if 0.1.10",
- "crossbeam-utils 0.7.2",
+ "crossbeam-utils",
"maybe-uninit",
]
@@ -801,15 +791,6 @@ dependencies = [
]
[[package]]
-name = "crossbeam-utils"
-version = "0.8.16"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5a22b2d63d4d1dc0b7f1b6b2747dd0088008a9be28b6ddf0b1e7d335e3037294"
-dependencies = [
- "cfg-if 1.0.0",
-]
-
-[[package]]
name = "crunchy"
version = "0.2.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -2487,15 +2468,6 @@ dependencies = [
]
[[package]]
-name = "fsevent-sys"
-version = "4.1.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "76ee7a02da4d231650c7cea31349b889be2f45ddb3ef3032d2ec8185f6313fd2"
-dependencies = [
- "libc",
-]
-
-[[package]]
name = "fslock"
version = "0.1.8"
source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -3513,9 +3485,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "ed2c66da08abae1c024c01d635253e402341b4060a12e99b31c7594063bf490a"
dependencies = [
"bitflags 1.3.2",
- "crossbeam-channel 0.5.8",
"filetime",
- "fsevent-sys",
"inotify",
"kqueue",
"libc",
diff --git a/Cargo.toml b/Cargo.toml
index 61a8dc68f..a6cb60c8c 100644
--- a/Cargo.toml
+++ b/Cargo.toml
@@ -110,7 +110,8 @@ log = "=0.4.20"
lsp-types = "=0.94.1" # used by tower-lsp and "proposed" feature is unstable in patch releases
memmem = "0.1.1"
monch = "=0.4.3"
-notify = "=5.0.0"
+# Note: Do not use the "macos_fsevent" feature of notify, as it links us to CoreFoundation on macOS.
+notify = { version = "=5.0.0", default-features = false, features = ["macos_kqueue"] }
num-bigint = { version = "0.4", features = ["rand"] }
once_cell = "1.17.1"
os_pipe = "=1.1.4"
diff --git a/cli/tests/node_compat/config.jsonc b/cli/tests/node_compat/config.jsonc
index 93a51b671..85a5818e5 100644
--- a/cli/tests/node_compat/config.jsonc
+++ b/cli/tests/node_compat/config.jsonc
@@ -70,6 +70,7 @@
"test-fs-open.js",
"test-fs-opendir.js",
"test-fs-rmdir-recursive.js",
+ "test-fs-watchfile.js",
"test-fs-write-file.js",
"test-fs-write.js",
"test-http-url.parse-https.request.js",
diff --git a/cli/tests/node_compat/test/parallel/test-fs-watchfile.js b/cli/tests/node_compat/test/parallel/test-fs-watchfile.js
index 4acad4b94..a23620aff 100644
--- a/cli/tests/node_compat/test/parallel/test-fs-watchfile.js
+++ b/cli/tests/node_compat/test/parallel/test-fs-watchfile.js
@@ -107,6 +107,6 @@ if (common.isLinux || common.isOSX || common.isWindows) {
fs.writeFile(path.join(dir, 'foo.txt'), 'foo', common.mustCall((err) => {
if (err) assert.fail(err);
}));
- }, 1);
+ }, 20);
}));
}
diff --git a/cli/tests/unit/fs_events_test.ts b/cli/tests/unit/fs_events_test.ts
index 9330f2007..d923d54c6 100644
--- a/cli/tests/unit/fs_events_test.ts
+++ b/cli/tests/unit/fs_events_test.ts
@@ -22,7 +22,7 @@ Deno.test({ permissions: { read: true } }, function watchFsInvalidPath() {
} else {
assertThrows(() => {
Deno.watchFs("non-existent.file");
- }, Deno.errors.NotFound);
+ }, Error);
}
});
@@ -32,7 +32,7 @@ async function getTwoEvents(
const events = [];
for await (const event of iter) {
events.push(event);
- if (events.length > 2) break;
+ if (events.length == 2) break;
}
return events;
}