From 43a9fe951c50d0389bd03b75bee188c8dee9e740 Mon Sep 17 00:00:00 2001 From: Takuya Matsuyama Date: Thu, 10 Oct 2024 15:28:26 +0900 Subject: [PATCH] feat(dep): bump up chokidar --- package-lock.json | 139 +++++++++++++++++++++++++----------- package.json | 2 +- spec/keymap-manager-spec.js | 52 ++++++++------ src/keymap-manager.js | 2 +- 4 files changed, 133 insertions(+), 62 deletions(-) diff --git a/package-lock.json b/package-lock.json index 8d020a7..e0127cc 100644 --- a/package-lock.json +++ b/package-lock.json @@ -11,7 +11,7 @@ "dependencies": { "@craftzdog/fs-plus": "^4.0.2", "@inkdropapp/yeason": "^7.0.0", - "chokidar": "^3.5.3", + "chokidar": "^4.0.1", "clear-cut": "^2", "event-kit": "^2.5.3", "inkdrop-keyboard-layout": "^2.0.18", @@ -2581,6 +2581,8 @@ "version": "3.1.3", "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", + "dev": true, + "license": "ISC", "dependencies": { "normalize-path": "^3.0.0", "picomatch": "^2.0.4" @@ -2705,11 +2707,16 @@ ] }, "node_modules/binary-extensions": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", - "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==", + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.3.0.tgz", + "integrity": "sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==", + "dev": true, + "license": "MIT", "engines": { "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/bl": { @@ -2741,11 +2748,13 @@ } }, "node_modules/braces": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", - "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz", + "integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==", + "dev": true, + "license": "MIT", "dependencies": { - "fill-range": "^7.0.1" + "fill-range": "^7.1.1" }, "engines": { "node": ">=8" @@ -3073,29 +3082,18 @@ } }, "node_modules/chokidar": { - "version": "3.5.3", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz", - "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==", - "funding": [ - { - "type": "individual", - "url": "https://paulmillr.com/funding/" - } - ], + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-4.0.1.tgz", + "integrity": "sha512-n8enUVCED/KVRQlab1hr3MVpcVMvxtZjmEa956u+4YijlmQED223XMSYj2tLuKvr4jcCTzNNMpQDUer72MMmzA==", + "license": "MIT", "dependencies": { - "anymatch": "~3.1.2", - "braces": "~3.0.2", - "glob-parent": "~5.1.2", - "is-binary-path": "~2.1.0", - "is-glob": "~4.0.1", - "normalize-path": "~3.0.0", - "readdirp": "~3.6.0" + "readdirp": "^4.0.1" }, "engines": { - "node": ">= 8.10.0" + "node": ">= 14.16.0" }, - "optionalDependencies": { - "fsevents": "~2.3.2" + "funding": { + "url": "https://paulmillr.com/funding/" } }, "node_modules/chownr": { @@ -4205,9 +4203,11 @@ } }, "node_modules/fill-range": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", - "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz", + "integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==", + "dev": true, + "license": "MIT", "dependencies": { "to-regex-range": "^5.0.1" }, @@ -4375,10 +4375,12 @@ "dev": true }, "node_modules/fsevents": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", - "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", + "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", + "dev": true, "hasInstallScript": true, + "license": "MIT", "optional": true, "os": [ "darwin" @@ -4529,6 +4531,8 @@ "version": "5.1.2", "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dev": true, + "license": "ISC", "dependencies": { "is-glob": "^4.0.1" }, @@ -4912,6 +4916,8 @@ "version": "2.1.0", "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", + "dev": true, + "license": "MIT", "dependencies": { "binary-extensions": "^2.0.0" }, @@ -4953,6 +4959,7 @@ "version": "2.1.1", "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", + "dev": true, "engines": { "node": ">=0.10.0" } @@ -4988,6 +4995,7 @@ "version": "4.0.3", "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", + "dev": true, "dependencies": { "is-extglob": "^2.1.1" }, @@ -5014,6 +5022,8 @@ "version": "7.0.0", "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "dev": true, + "license": "MIT", "engines": { "node": ">=0.12.0" } @@ -5649,6 +5659,34 @@ "node": ">=8" } }, + "node_modules/mocha/node_modules/chokidar": { + "version": "3.5.3", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz", + "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==", + "dev": true, + "funding": [ + { + "type": "individual", + "url": "https://paulmillr.com/funding/" + } + ], + "license": "MIT", + "dependencies": { + "anymatch": "~3.1.2", + "braces": "~3.0.2", + "glob-parent": "~5.1.2", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.6.0" + }, + "engines": { + "node": ">= 8.10.0" + }, + "optionalDependencies": { + "fsevents": "~2.3.2" + } + }, "node_modules/mocha/node_modules/cliui": { "version": "7.0.4", "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz", @@ -5740,6 +5778,19 @@ "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", "dev": true }, + "node_modules/mocha/node_modules/readdirp": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", + "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", + "dev": true, + "license": "MIT", + "dependencies": { + "picomatch": "^2.2.1" + }, + "engines": { + "node": ">=8.10.0" + } + }, "node_modules/mocha/node_modules/string-width": { "version": "4.2.3", "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", @@ -6016,6 +6067,8 @@ "version": "3.0.0", "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", + "dev": true, + "license": "MIT", "engines": { "node": ">=0.10.0" } @@ -6357,6 +6410,8 @@ "version": "2.3.1", "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", + "dev": true, + "license": "MIT", "engines": { "node": ">=8.6" }, @@ -6573,14 +6628,16 @@ } }, "node_modules/readdirp": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", - "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", - "dependencies": { - "picomatch": "^2.2.1" - }, + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-4.0.2.tgz", + "integrity": "sha512-yDMz9g+VaZkqBYS/ozoBJwaBhTbZo3UNYQHNRw1D3UFQB8oHB4uS/tAODO+ZLjGWmUbKnIlOWO+aaIiAxrUWHA==", + "license": "MIT", "engines": { - "node": ">=8.10.0" + "node": ">= 14.16.0" + }, + "funding": { + "type": "individual", + "url": "https://paulmillr.com/funding/" } }, "node_modules/regenerate": { @@ -7227,6 +7284,8 @@ "version": "5.0.1", "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "dev": true, + "license": "MIT", "dependencies": { "is-number": "^7.0.0" }, diff --git a/package.json b/package.json index bcd404e..bd7f02b 100644 --- a/package.json +++ b/package.json @@ -22,7 +22,7 @@ "dependencies": { "@craftzdog/fs-plus": "^4.0.2", "@inkdropapp/yeason": "^7.0.0", - "chokidar": "^3.5.3", + "chokidar": "^4.0.1", "clear-cut": "^2", "event-kit": "^2.5.3", "inkdrop-keyboard-layout": "^2.0.18", diff --git a/spec/keymap-manager-spec.js b/spec/keymap-manager-spec.js index ead46a3..3b8d711 100644 --- a/spec/keymap-manager-spec.js +++ b/spec/keymap-manager-spec.js @@ -2199,15 +2199,17 @@ describe('KeymapManager', function () { it("reloads the file's key bindings and notifies ::onDidReloadKeymap observers with the keymap path", function (done) { done = debounce(done, 500) - fs.writeFileSync( - keymapFilePath, - `\ + setTimeout(() => { + fs.writeFileSync( + keymapFilePath, + `\ '.a': 'ctrl-a': 'y' '.b': 'ctrl-b': 'z' ` - ) + ) + }, 100) return keymapManager.onDidReloadKeymap(function (event) { assert.equal(event.path, keymapFilePath) @@ -2230,7 +2232,9 @@ describe('KeymapManager', function () { it("reloads the file's key bindings and notifies ::onDidReloadKeymap observers with the keymap path even if the file is empty", function (done) { done = debounce(done, 500) - fs.writeFileSync(keymapFilePath, '') + setTimeout(() => { + fs.writeFileSync(keymapFilePath, '') + }, 100) return keymapManager.onDidReloadKeymap(function (event) { assert.equal(event.path, keymapFilePath) @@ -2242,13 +2246,15 @@ describe('KeymapManager', function () { it("reloads the file's key bindings and notifies ::onDidReloadKeymap observers with the keymap path even if the file has only comments", function (done) { done = debounce(done, 500) - fs.writeFileSync( - keymapFilePath, - `\ + setTimeout(() => { + fs.writeFileSync( + keymapFilePath, + `\ # '.a': 'ctrl-a': 'y' # '.b': 'ctrl-b': 'z'\ ` - ) + ) + }, 100) return keymapManager.onDidReloadKeymap(function (event) { assert.equal(event.path, keymapFilePath) @@ -2261,7 +2267,9 @@ describe('KeymapManager', function () { done = debounce(done, 500) stub(console, 'warn') - fs.writeFileSync(keymapFilePath, 'foo: !->\n') + setTimeout(() => { + fs.writeFileSync(keymapFilePath, 'foo: !->\n') + }, 100) return keymapManager.onDidFailToReadFile(function () { assert(console.warn.callCount > 0) @@ -2277,7 +2285,7 @@ describe('KeymapManager', function () { describe('when the file is removed', () => it('removes the bindings and notifies ::onDidUnloadKeymap observers with keymap path', function (done) { console.log('REMOVING', keymapFilePath) - fs.removeSync(keymapFilePath) + setTimeout(() => fs.removeSync(keymapFilePath), 100) return keymapManager.onDidUnloadKeymap(function (event) { assert.equal(event.path, keymapFilePath) @@ -2295,7 +2303,7 @@ describe('KeymapManager', function () { temp.mkdirSync('keymap-manager-spec'), 'other-guy.cson' ) - fs.moveSync(keymapFilePath, newFilePath) + setTimeout(() => fs.moveSync(keymapFilePath, newFilePath), 100) return keymapManager.onDidUnloadKeymap(function (event) { assert.equal(event.path, keymapFilePath) @@ -2311,15 +2319,17 @@ describe('KeymapManager', function () { done = debounce(done, 100) subscription.dispose() - fs.writeFileSync( - keymapFilePath, - `\ + setTimeout(() => { + fs.writeFileSync( + keymapFilePath, + `\ '.a': 'ctrl-a': 'y' '.b': 'ctrl-b': 'z' ` - ) + ) + }, 100) let reloaded = false keymapManager.onDidReloadKeymap(() => (reloaded = true)) @@ -2332,13 +2342,15 @@ describe('KeymapManager', function () { watch: true, watchImmediately: true }) - fs.writeFileSync( - keymapFilePath, - `\ + setTimeout(() => { + fs.writeFileSync( + keymapFilePath, + `\ '.a': 'ctrl-a': 'q' ` - ) + ) + }, 100) return keymapManager.onDidReloadKeymap(function () { assert.equal( diff --git a/src/keymap-manager.js b/src/keymap-manager.js index f85969a..9f0d8a2 100644 --- a/src/keymap-manager.js +++ b/src/keymap-manager.js @@ -476,7 +476,7 @@ module.exports = KeymapManager = (function () { this.reloadKeymap(filePath, options) } const chokidar = require('chokidar') - const watcher = chokidar.watch(filePath, { useFsEvents: false }) + const watcher = chokidar.watch(filePath) watcher.on('all', reloadKeymap) this.watchSubscriptions[filePath] = new Disposable(() => {