From 8461d207c230fc58892edc45c5a367aeb5444dcc Mon Sep 17 00:00:00 2001 From: Daniel Nalborczyk Date: Sat, 25 Dec 2021 23:51:24 -0500 Subject: [PATCH] refactor: use fs-extra.removeSync --- package-lock.json | 53 ++++++++++++++++++++++++++++++++++---------- package.json | 1 + scripts/perf-init.js | 4 ++-- test/hooks/index.js | 6 ++--- test/utils.js | 6 ++--- test/watch/index.js | 17 +++++++------- 6 files changed, 58 insertions(+), 29 deletions(-) diff --git a/package-lock.json b/package-lock.json index 1c33476fea8..d0e97dca0ac 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1991,6 +1991,34 @@ "fs-extra": "^8.1.0", "matcher-collection": "^2.0.1", "walk-sync": "^2.0.2" + }, + "dependencies": { + "fs-extra": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz", + "integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==", + "dev": true, + "requires": { + "graceful-fs": "^4.2.0", + "jsonfile": "^4.0.0", + "universalify": "^0.1.0" + } + }, + "jsonfile": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", + "integrity": "sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=", + "dev": true, + "requires": { + "graceful-fs": "^4.1.6" + } + }, + "universalify": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", + "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==", + "dev": true + } } }, "flat": { @@ -2032,14 +2060,14 @@ "dev": true }, "fs-extra": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz", - "integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==", + "version": "10.0.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-10.0.0.tgz", + "integrity": "sha512-C5owb14u9eJwizKGdchcDUQeFtlSHHthBk8pbX9Vc1PFZrLombudjDnNns88aYslCyF6IY5SUw3Roz6xShcEIQ==", "dev": true, "requires": { "graceful-fs": "^4.2.0", - "jsonfile": "^4.0.0", - "universalify": "^0.1.0" + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" } }, "fs.realpath": { @@ -2740,12 +2768,13 @@ } }, "jsonfile": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", - "integrity": "sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=", + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", + "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", "dev": true, "requires": { - "graceful-fs": "^4.1.6" + "graceful-fs": "^4.1.6", + "universalify": "^2.0.0" } }, "levn": { @@ -4634,9 +4663,9 @@ "dev": true }, "universalify": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", - "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz", + "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==", "dev": true }, "uri-js": { diff --git a/package.json b/package.json index 857e8ee89c2..240d4a6cdf5 100644 --- a/package.json +++ b/package.json @@ -88,6 +88,7 @@ "eslint-plugin-prettier": "^4.0.0", "execa": "^5.1.1", "fixturify": "^2.1.1", + "fs-extra": "^10.0.0", "hash.js": "^1.1.7", "husky": "^7.0.4", "is-reference": "^3.0.0", diff --git a/scripts/perf-init.js b/scripts/perf-init.js index 2411e3a8a4e..72e617d7db6 100644 --- a/scripts/perf-init.js +++ b/scripts/perf-init.js @@ -3,7 +3,7 @@ const { accessSync, constants } = require('fs'); const path = require('path'); const execa = require('execa'); -const sander = require('sander'); +const { removeSync } = require('fs-extra'); const repoWithBranch = process.argv[2]; const TARGET_DIR = path.resolve(__dirname, '..', 'perf'); @@ -17,7 +17,7 @@ if (process.argv.length !== 3 || !VALID_REPO.test(repoWithBranch)) { process.exit(1); } console.error(`Cleaning up '${TARGET_DIR}'...`); -sander.rimrafSync(TARGET_DIR); +removeSync(TARGET_DIR); const [, repo, , branch] = VALID_REPO.exec(repoWithBranch); diff --git a/test/hooks/index.js b/test/hooks/index.js index 7470e8fe464..b776bb9e808 100644 --- a/test/hooks/index.js +++ b/test/hooks/index.js @@ -1,7 +1,7 @@ const assert = require('assert'); const { readdirSync } = require('fs'); const path = require('path'); -const sander = require('sander'); +const { removeSync } = require('fs-extra'); const rollup = require('../../dist/rollup.js'); const { loader } = require('../utils.js'); @@ -36,7 +36,7 @@ describe('hooks', () => { .then(() => { const fileNames = readdirSync(TEMP_DIR).sort(); assert.deepStrictEqual(fileNames, ['chunk.js', 'input.js']); - return sander.rimraf(TEMP_DIR); + return removeSync(TEMP_DIR); })); it('supports buildStart and buildEnd hooks', () => { @@ -575,7 +575,7 @@ describe('hooks', () => { .then(bundle => bundle.write({ format: 'es', file })) .then(() => { assert.strictEqual(callCount, 1); - return sander.rimraf(TEMP_DIR); + return removeSync(TEMP_DIR); }); }); diff --git a/test/utils.js b/test/utils.js index 1c7f5e6ff33..b9bb8180b4d 100644 --- a/test/utils.js +++ b/test/utils.js @@ -2,7 +2,7 @@ const assert = require('assert'); const { readdirSync, unlinkSync } = require('fs'); const path = require('path'); const fixturify = require('fixturify'); -const sander = require('sander'); +const { removeSync } = require('fs-extra'); exports.compareError = compareError; exports.compareWarnings = compareWarnings; @@ -133,7 +133,7 @@ function runTestsInDir(dir, runTest) { loadConfigAndRunTest(dir, runTest); } else if (fileNames.length === 0) { console.warn(`Removing empty test directory ${dir}`); - sander.rmdirSync(dir); + removeSync(dir); } else { describe(path.basename(dir), () => { fileNames @@ -148,7 +148,7 @@ function getFileNamesAndRemoveOutput(dir) { try { return readdirSync(dir).filter(fileName => { if (fileName === '_actual') { - sander.rimrafSync(path.join(dir, '_actual')); + removeSync(path.join(dir, '_actual')); return false; } if (fileName === '_actual.js') { diff --git a/test/watch/index.js b/test/watch/index.js index 5fd2e0a8dc2..2ee8a207520 100644 --- a/test/watch/index.js +++ b/test/watch/index.js @@ -8,6 +8,7 @@ const { writeFileSync } = require('fs'); const path = require('path'); +const { removeSync } = require('fs-extra'); const sander = require('sander'); const rollup = require('../../dist/rollup'); @@ -24,7 +25,7 @@ describe('rollup.watch', () => { beforeEach(() => { process.chdir(cwd); - return sander.rimraf('test/_tmp'); + return removeSync('test/_tmp'); }); afterEach(() => { @@ -1158,7 +1159,7 @@ describe('rollup.watch', () => { 'END', () => { [dynamicName, staticName, chunkName] = readdirSync('test/_tmp/output').sort(); - sander.rimrafSync('test/_tmp/output'); + removeSync('test/_tmp/output'); // this should only update the hash of that particular entry point writeFileSync( @@ -1171,10 +1172,9 @@ describe('rollup.watch', () => { 'BUNDLE_END', 'END', () => { - const [newDynamicName, newStaticName, newChunkName] = sander - .readdirSync('test/_tmp/output') - .sort(); - sander.rimrafSync('test/_tmp/output'); + const [newDynamicName, newStaticName, newChunkName] = + readdirSync('test/_tmp/output').sort(); + removeSync('test/_tmp/output'); assert.notEqual(newStaticName, staticName); assert.strictEqual(newDynamicName, dynamicName); assert.strictEqual(newChunkName, chunkName); @@ -1188,9 +1188,8 @@ describe('rollup.watch', () => { 'BUNDLE_END', 'END', () => { - const [newDynamicName, newStaticName, newChunkName] = sander - .readdirSync('test/_tmp/output') - .sort(); + const [newDynamicName, newStaticName, newChunkName] = + readdirSync('test/_tmp/output').sort(); assert.notEqual(newStaticName, staticName); assert.notEqual(newDynamicName, dynamicName); assert.notEqual(newChunkName, chunkName);