From 8ad10a3055089e76968c8e95e395e4ee16ffc39f Mon Sep 17 00:00:00 2001 From: Joachim Van Herwegen Date: Mon, 2 Aug 2021 09:58:05 +0200 Subject: [PATCH] fix: Replace rimraf with fs-extra.remove --- package-lock.json | 135 ++++++++++++------ package.json | 4 +- test/integration/Config.ts | 6 +- test/integration/DynamicPods.test.ts | 4 +- test/integration/LdpHandlerWithAuth.test.ts | 2 +- .../integration/LdpHandlerWithoutAuth.test.ts | 2 +- test/integration/Subdomains.test.ts | 2 +- 7 files changed, 101 insertions(+), 54 deletions(-) diff --git a/package-lock.json b/package-lock.json index 170055a1b8..efd4516463 100644 --- a/package-lock.json +++ b/package-lock.json @@ -80,8 +80,8 @@ "@tsconfig/node12": "^1.0.9", "@types/cheerio": "^0.22.29", "@types/ejs": "^3.0.6", + "@types/fs-extra": "^9.0.12", "@types/jest": "^26.0.23", - "@types/rimraf": "^3.0.0", "@types/set-cookie-parser": "^2.4.0", "@types/supertest": "^2.0.11", "@typescript-eslint/eslint-plugin": "^4.28.1", @@ -95,13 +95,13 @@ "eslint-plugin-jest": "^24.3.6", "eslint-plugin-tsdoc": "^0.2.14", "eslint-plugin-unused-imports": "^1.1.1", + "fs-extra": "^10.0.0", "husky": "^4.3.8", "jest": "^27.0.6", "jest-rdf": "^1.6.0", "manual-git-changelog": "^1.0.1", "node-mocks-http": "^1.10.1", "nodemon": "^2.0.7", - "rimraf": "^3.0.2", "set-cookie-parser": "^2.4.8", "supertest": "^6.1.3", "ts-jest": "^27.0.3", @@ -5114,13 +5114,12 @@ "@types/range-parser": "*" } }, - "node_modules/@types/glob": { - "version": "7.1.3", - "resolved": "https://registry.npmjs.org/@types/glob/-/glob-7.1.3.tgz", - "integrity": "sha512-SEYeGAIQIQX8NN6LDKprLjbrd5dARM5EXsd8GI/A5l0apYI1fGMWgPHSe4ZKL4eozlAyI+doUE9XbYS4xCkQ1w==", + "node_modules/@types/fs-extra": { + "version": "9.0.12", + "resolved": "https://registry.npmjs.org/@types/fs-extra/-/fs-extra-9.0.12.tgz", + "integrity": "sha512-I+bsBr67CurCGnSenZZ7v94gd3tc3+Aj2taxMT4yu4ABLuOgOjeFxX3dokG24ztSRg5tnT00sL8BszO7gSMoIw==", "dev": true, "dependencies": { - "@types/minimatch": "*", "@types/node": "*" } }, @@ -5282,12 +5281,6 @@ "resolved": "https://registry.npmjs.org/@types/mime-types/-/mime-types-2.1.0.tgz", "integrity": "sha1-nKUs2jY/aZxpRmwqbM2q2RPqenM=" }, - "node_modules/@types/minimatch": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/@types/minimatch/-/minimatch-3.0.3.tgz", - "integrity": "sha512-tHq6qdbT9U1IRSGf14CL0pUlULksvY9OZ+5eEgl1N7t+OA3tGvNpxJCzuKQlsNgCVwbAs670L1vcVQi8j9HjnA==", - "dev": true - }, "node_modules/@types/minimist": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/@types/minimist/-/minimist-1.2.0.tgz", @@ -5430,16 +5423,6 @@ "@types/node": "*" } }, - "node_modules/@types/rimraf": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@types/rimraf/-/rimraf-3.0.0.tgz", - "integrity": "sha512-7WhJ0MdpFgYQPXlF4Dx+DhgvlPCfz/x5mHaeDQAKhcenvQP1KCpLQ18JklAqeGMYSAT2PxLpzd0g2/HE7fj7hQ==", - "dev": true, - "dependencies": { - "@types/glob": "*", - "@types/node": "*" - } - }, "node_modules/@types/semver": { "version": "7.3.6", "resolved": "https://registry.npmjs.org/@types/semver/-/semver-7.3.6.tgz", @@ -9212,6 +9195,29 @@ "node": ">= 0.6" } }, + "node_modules/fs-extra": { + "version": "10.0.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-10.0.0.tgz", + "integrity": "sha512-C5owb14u9eJwizKGdchcDUQeFtlSHHthBk8pbX9Vc1PFZrLombudjDnNns88aYslCyF6IY5SUw3Roz6xShcEIQ==", + "dev": true, + "dependencies": { + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/fs-extra/node_modules/universalify": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz", + "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==", + "dev": true, + "engines": { + "node": ">= 10.0.0" + } + }, "node_modules/fs-minipass": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-2.1.0.tgz", @@ -12785,6 +12791,27 @@ "node": ">=6" } }, + "node_modules/jsonfile": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", + "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", + "dev": true, + "dependencies": { + "universalify": "^2.0.0" + }, + "optionalDependencies": { + "graceful-fs": "^4.1.6" + } + }, + "node_modules/jsonfile/node_modules/universalify": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz", + "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==", + "dev": true, + "engines": { + "node": ">= 10.0.0" + } + }, "node_modules/jsonld": { "version": "1.8.1", "resolved": "https://registry.npmjs.org/jsonld/-/jsonld-1.8.1.tgz", @@ -21794,13 +21821,12 @@ "@types/range-parser": "*" } }, - "@types/glob": { - "version": "7.1.3", - "resolved": "https://registry.npmjs.org/@types/glob/-/glob-7.1.3.tgz", - "integrity": "sha512-SEYeGAIQIQX8NN6LDKprLjbrd5dARM5EXsd8GI/A5l0apYI1fGMWgPHSe4ZKL4eozlAyI+doUE9XbYS4xCkQ1w==", + "@types/fs-extra": { + "version": "9.0.12", + "resolved": "https://registry.npmjs.org/@types/fs-extra/-/fs-extra-9.0.12.tgz", + "integrity": "sha512-I+bsBr67CurCGnSenZZ7v94gd3tc3+Aj2taxMT4yu4ABLuOgOjeFxX3dokG24ztSRg5tnT00sL8BszO7gSMoIw==", "dev": true, "requires": { - "@types/minimatch": "*", "@types/node": "*" } }, @@ -21962,12 +21988,6 @@ "resolved": "https://registry.npmjs.org/@types/mime-types/-/mime-types-2.1.0.tgz", "integrity": "sha1-nKUs2jY/aZxpRmwqbM2q2RPqenM=" }, - "@types/minimatch": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/@types/minimatch/-/minimatch-3.0.3.tgz", - "integrity": "sha512-tHq6qdbT9U1IRSGf14CL0pUlULksvY9OZ+5eEgl1N7t+OA3tGvNpxJCzuKQlsNgCVwbAs670L1vcVQi8j9HjnA==", - "dev": true - }, "@types/minimist": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/@types/minimist/-/minimist-1.2.0.tgz", @@ -22109,16 +22129,6 @@ "@types/node": "*" } }, - "@types/rimraf": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@types/rimraf/-/rimraf-3.0.0.tgz", - "integrity": "sha512-7WhJ0MdpFgYQPXlF4Dx+DhgvlPCfz/x5mHaeDQAKhcenvQP1KCpLQ18JklAqeGMYSAT2PxLpzd0g2/HE7fj7hQ==", - "dev": true, - "requires": { - "@types/glob": "*", - "@types/node": "*" - } - }, "@types/semver": { "version": "7.3.6", "resolved": "https://registry.npmjs.org/@types/semver/-/semver-7.3.6.tgz", @@ -24997,6 +25007,25 @@ "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", "integrity": "sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac=" }, + "fs-extra": { + "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": "^6.0.1", + "universalify": "^2.0.0" + }, + "dependencies": { + "universalify": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz", + "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==", + "dev": true + } + } + }, "fs-minipass": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-2.1.0.tgz", @@ -27814,6 +27843,24 @@ "minimist": "^1.2.5" } }, + "jsonfile": { + "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", + "universalify": "^2.0.0" + }, + "dependencies": { + "universalify": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz", + "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==", + "dev": true + } + } + }, "jsonld": { "version": "1.8.1", "resolved": "https://registry.npmjs.org/jsonld/-/jsonld-1.8.1.tgz", diff --git a/package.json b/package.json index 127275ed2b..2c57d88626 100644 --- a/package.json +++ b/package.json @@ -143,8 +143,8 @@ "@tsconfig/node12": "^1.0.9", "@types/cheerio": "^0.22.29", "@types/ejs": "^3.0.6", + "@types/fs-extra": "^9.0.12", "@types/jest": "^26.0.23", - "@types/rimraf": "^3.0.0", "@types/set-cookie-parser": "^2.4.0", "@types/supertest": "^2.0.11", "@typescript-eslint/eslint-plugin": "^4.28.1", @@ -158,13 +158,13 @@ "eslint-plugin-jest": "^24.3.6", "eslint-plugin-tsdoc": "^0.2.14", "eslint-plugin-unused-imports": "^1.1.1", + "fs-extra": "^10.0.0", "husky": "^4.3.8", "jest": "^27.0.6", "jest-rdf": "^1.6.0", "manual-git-changelog": "^1.0.1", "node-mocks-http": "^1.10.1", "nodemon": "^2.0.7", - "rimraf": "^3.0.2", "set-cookie-parser": "^2.4.8", "supertest": "^6.1.3", "ts-jest": "^27.0.3", diff --git a/test/integration/Config.ts b/test/integration/Config.ts index 72b5ffb887..796890f80a 100644 --- a/test/integration/Config.ts +++ b/test/integration/Config.ts @@ -1,6 +1,6 @@ import type { IModuleState } from 'componentsjs'; import { ComponentsManager } from 'componentsjs'; -import * as rimraf from 'rimraf'; +import { remove } from 'fs-extra'; import { joinFilePath } from '../../src/util/PathUtil'; let cachedModuleState: IModuleState; @@ -38,8 +38,8 @@ export function getTestFolder(name: string): string { return joinFilePath(__dirname, '../tmp', name); } -export function removeFolder(folder: string): void { - rimraf.sync(folder, { glob: false }); +export async function removeFolder(folder: string): Promise { + await remove(folder); } export function getDefaultVariables(port: number, baseUrl?: string): Record { diff --git a/test/integration/DynamicPods.test.ts b/test/integration/DynamicPods.test.ts index 13b4fa7ed6..f6dbc6b842 100644 --- a/test/integration/DynamicPods.test.ts +++ b/test/integration/DynamicPods.test.ts @@ -13,10 +13,10 @@ const podConfigJson = joinFilePath(rootFilePath, 'config-pod.json'); const configs: [string, any][] = [ [ 'memory.json', { - teardown: (): void => removeFolder(rootFilePath), + teardown: async(): Promise => removeFolder(rootFilePath), }], [ 'filesystem.json', { - teardown: (): void => removeFolder(rootFilePath), + teardown: async(): Promise => removeFolder(rootFilePath), }], ]; diff --git a/test/integration/LdpHandlerWithAuth.test.ts b/test/integration/LdpHandlerWithAuth.test.ts index 96c3782d32..14740d2f8a 100644 --- a/test/integration/LdpHandlerWithAuth.test.ts +++ b/test/integration/LdpHandlerWithAuth.test.ts @@ -25,7 +25,7 @@ const stores: [string, any][] = [ }], [ 'on-disk storage', { storeConfig: 'storage/backend/file.json', - teardown: (): void => removeFolder(rootFilePath), + teardown: async(): Promise => removeFolder(rootFilePath), }], ]; diff --git a/test/integration/LdpHandlerWithoutAuth.test.ts b/test/integration/LdpHandlerWithoutAuth.test.ts index be437ab72b..e5e1805a24 100644 --- a/test/integration/LdpHandlerWithoutAuth.test.ts +++ b/test/integration/LdpHandlerWithoutAuth.test.ts @@ -26,7 +26,7 @@ const stores: [string, any][] = [ }], [ 'on-disk storage', { storeConfig: 'storage/backend/file.json', - teardown: (): void => removeFolder(rootFilePath), + teardown: async(): Promise => removeFolder(rootFilePath), }], ]; diff --git a/test/integration/Subdomains.test.ts b/test/integration/Subdomains.test.ts index 507ed26dce..088ade3ad6 100644 --- a/test/integration/Subdomains.test.ts +++ b/test/integration/Subdomains.test.ts @@ -22,7 +22,7 @@ const stores: [string, any][] = [ }], [ 'on-disk storage', { storeConfig: 'storage/backend/file.json', - teardown: (): void => removeFolder(rootFilePath), + teardown: async(): Promise => removeFolder(rootFilePath), }], ];