From 2c3a9fd3c5a24e932ceee64d2e657460e4b53dca Mon Sep 17 00:00:00 2001 From: "trop[bot]" <37223003+trop[bot]@users.noreply.github.com> Date: Fri, 28 Jun 2024 10:11:42 +0200 Subject: [PATCH] build: remove klaw dependency (#42701) * refactor: remove klaw dependency Node 20 added recursive readdir() so klaw is not needed Co-authored-by: Charles Kerr * fixup! refactor: remove klaw dependency findMatchingFiles returns a Promise Co-authored-by: Charles Kerr --------- Co-authored-by: trop[bot] <37223003+trop[bot]@users.noreply.github.com> Co-authored-by: Charles Kerr --- package.json | 2 -- script/lib/utils.js | 20 +++++++------------- yarn.lock | 16 +--------------- 3 files changed, 8 insertions(+), 30 deletions(-) diff --git a/package.json b/package.json index dbe1906572d2..b8a5bfe62a8f 100644 --- a/package.json +++ b/package.json @@ -20,7 +20,6 @@ "@types/dirty-chai": "^2.0.2", "@types/express": "^4.17.13", "@types/fs-extra": "^9.0.1", - "@types/klaw": "^3.0.1", "@types/minimist": "^1.2.0", "@types/mocha": "^7.0.2", "@types/node": "^20.9.0", @@ -54,7 +53,6 @@ "fs-extra": "^9.0.1", "got": "^11.8.5", "husky": "^8.0.1", - "klaw": "^3.0.0", "lint": "^1.1.2", "lint-staged": "^10.2.11", "minimist": "^1.2.6", diff --git a/script/lib/utils.js b/script/lib/utils.js index 53398fb0707f..1a4d07e75cdf 100644 --- a/script/lib/utils.js +++ b/script/lib/utils.js @@ -1,6 +1,5 @@ const { GitProcess } = require('dugite'); const fs = require('node:fs'); -const klaw = require('klaw'); const os = require('node:os'); const path = require('node:path'); @@ -130,18 +129,13 @@ function chunkFilenames (filenames, offset = 0) { * @returns {Promise} */ async function findMatchingFiles (top, test) { - return new Promise(resolve => { - const matches = []; - klaw(top, { - filter: f => path.basename(f) !== '.bin' - }) - .on('end', () => resolve(matches)) - .on('data', item => { - if (test(item.path)) { - matches.push(item.path); - } - }); - }); + return fs.promises.readdir(top, { encoding: 'utf8', recursive: true }) + .then(files => { + return files + .filter(name => path.basename(name) !== '.bin') + .filter(name => test(name)) + .map(name => path.join(top, name)); + }); } module.exports = { diff --git a/yarn.lock b/yarn.lock index bdd4f7a6b616..9959e0457f09 100644 --- a/yarn.lock +++ b/yarn.lock @@ -859,13 +859,6 @@ dependencies: "@types/node" "*" -"@types/klaw@^3.0.1": - version "3.0.1" - resolved "https://registry.yarnpkg.com/@types/klaw/-/klaw-3.0.1.tgz#29f90021c0234976aa4eb97efced9cb6db9fa8b3" - integrity sha512-acnF3n9mYOr1aFJKFyvfNX0am9EtPUsYPq22QUCGdJE+MVt6UyAN1jwo+PmOPqXD4K7ZS9MtxDEp/un0lxFccA== - dependencies: - "@types/node" "*" - "@types/linkify-it@*": version "2.1.0" resolved "https://registry.yarnpkg.com/@types/linkify-it/-/linkify-it-2.1.0.tgz#ea3dd64c4805597311790b61e872cbd1ed2cd806" @@ -3281,7 +3274,7 @@ got@^11.8.5: p-cancelable "^2.0.0" responselike "^2.0.0" -graceful-fs@^4.1.15, graceful-fs@^4.1.2, graceful-fs@^4.1.6, graceful-fs@^4.1.9, graceful-fs@^4.2.0, graceful-fs@^4.2.4, graceful-fs@^4.2.9: +graceful-fs@^4.1.15, graceful-fs@^4.1.2, graceful-fs@^4.1.6, graceful-fs@^4.2.0, graceful-fs@^4.2.4, graceful-fs@^4.2.9: version "4.2.10" resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.10.tgz#147d3a006da4ca3ce14728c7aefc287c367d7a6c" integrity sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA== @@ -3930,13 +3923,6 @@ kind-of@^6.0.2: resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-6.0.3.tgz#07c05034a6c349fa06e24fa35aa76db4580ce4dd" integrity sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw== -klaw@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/klaw/-/klaw-3.0.0.tgz#b11bec9cf2492f06756d6e809ab73a2910259146" - integrity sha512-0Fo5oir+O9jnXu5EefYbVK+mHMBeEVEy2cmctR1O1NECcCkPRreJKrS6Qt/j3KC2C148Dfo9i3pCmCMsdqGr0g== - dependencies: - graceful-fs "^4.1.9" - kleur@^4.0.3: version "4.1.5" resolved "https://registry.yarnpkg.com/kleur/-/kleur-4.1.5.tgz#95106101795f7050c6c650f350c683febddb1780"