From 191e0b8e051bb559ccd61b31e07ab2f5d67da96c Mon Sep 17 00:00:00 2001 From: Phil Kunz Date: Tue, 6 Apr 2021 02:34:52 +0000 Subject: [PATCH] fix(core): update --- package-lock.json | 135 +++++++++++++++++++++------- package.json | 10 +-- ts/smartbucket.classes.directory.ts | 21 +++++ 3 files changed, 131 insertions(+), 35 deletions(-) diff --git a/package-lock.json b/package-lock.json index 9504d18..72798f0 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1445,6 +1445,33 @@ "integrity": "sha512-shAmDyaQC4H92APFoIaVDHCx5bStIocgvbwQyxPRrbUY20V1EYTbSDchWbuwlMG3V17cprZhA6+78JfB+3DTPw==", "dev": true }, + "@open-wc/dedupe-mixin": { + "version": "1.3.0", + "resolved": "https://verdaccio.lossless.one/@open-wc%2fdedupe-mixin/-/dedupe-mixin-1.3.0.tgz", + "integrity": "sha512-UfdK1MPnR6T7f3svzzYBfu3qBkkZ/KsPhcpc3JYhsUY4hbpwNF9wEQtD4Z+/mRqMTJrKg++YSxIxE0FBhY3RIw==", + "dev": true + }, + "@open-wc/scoped-elements": { + "version": "1.3.3", + "resolved": "https://verdaccio.lossless.one/@open-wc%2fscoped-elements/-/scoped-elements-1.3.3.tgz", + "integrity": "sha512-vFIQVYYjFw67odUE4JzZOpctnF7S/2DX+S+clrL3bQPql7HvEnV0wMFwOWUavQTuCJi0rfU8GTcNMiUybio+Yg==", + "dev": true, + "requires": { + "@open-wc/dedupe-mixin": "^1.3.0", + "lit-html": "^1.0.0" + } + }, + "@open-wc/testing-helpers": { + "version": "1.8.12", + "resolved": "https://verdaccio.lossless.one/@open-wc%2ftesting-helpers/-/testing-helpers-1.8.12.tgz", + "integrity": "sha512-+4exEHYvnFqI1RGDDIKFHPZ7Ws5NK1epvEku3zLaOYN3zc+huX19SndNc5+X++v8A+quN/iXbHlh80ROyNaYDA==", + "dev": true, + "requires": { + "@open-wc/scoped-elements": "^1.2.4", + "lit-element": "^2.2.1", + "lit-html": "^1.0.0" + } + }, "@parcel/fs": { "version": "1.11.0", "resolved": "https://verdaccio.lossless.one/@parcel%2ffs/-/fs-1.11.0.tgz", @@ -2045,9 +2072,9 @@ } }, "@pushrocks/smartpromise": { - "version": "3.0.6", - "resolved": "https://verdaccio.lossless.one/@pushrocks%2fsmartpromise/-/smartpromise-3.0.6.tgz", - "integrity": "sha512-vlQlBGNVIjfClgnsfgQBU6GIKcskYSFzEcKLt18ngPzPEcjKklXcxaqzLXpnoxR+KBh30QPE8255ncYHXuPPOg==" + "version": "3.1.3", + "resolved": "https://verdaccio.lossless.one/@pushrocks%2fsmartpromise/-/smartpromise-3.1.3.tgz", + "integrity": "sha512-KENdm++8uuzxDz1cbUbXtz6InfReP28TYC5zxRgRtwsXh7ZWUkSA+/82IbO97PcSCAfIpg7dwj77G6KGSsTKEQ==" }, "@pushrocks/smartpuppeteer": { "version": "1.0.15", @@ -2163,16 +2190,43 @@ } }, "@pushrocks/tapbundle": { - "version": "3.2.9", - "resolved": "https://verdaccio.lossless.one/@pushrocks%2ftapbundle/-/tapbundle-3.2.9.tgz", - "integrity": "sha512-vtmYL/l7BZvAzySh7cYnnTG6CFMp5zYtowJuMAmqUjhIaQaWW1Tvbrpjp7lVwRXj2JlL/i69KcJ6RVdLItK+rA==", + "version": "3.2.14", + "resolved": "https://verdaccio.lossless.one/@pushrocks%2ftapbundle/-/tapbundle-3.2.14.tgz", + "integrity": "sha512-Hu7SHFww6i17mZ3F8orvzXV7B8nPBRY6PB2Lw2sRfq9+ZbrvUvz7qmbc7d7mXkTGcLx7/7wbH3NHo1V5mplMCQ==", "dev": true, "requires": { - "@pushrocks/smartdelay": "^2.0.9", - "@pushrocks/smartenv": "^4.0.10", - "@pushrocks/smartpromise": "^3.0.2", - "@pushrocks/smarttime": "^3.0.19", + "@open-wc/testing-helpers": "^1.8.12", + "@pushrocks/smartdelay": "^2.0.10", + "@pushrocks/smartenv": "^4.0.16", + "@pushrocks/smartpromise": "^3.1.3", + "@pushrocks/smarttime": "^3.0.38", "smartchai": "^2.0.1" + }, + "dependencies": { + "@pushrocks/smartenv": { + "version": "4.0.16", + "resolved": "https://verdaccio.lossless.one/@pushrocks%2fsmartenv/-/smartenv-4.0.16.tgz", + "integrity": "sha512-NwYMONDc/NjY6BGvzZzLMteF83kPQTF9BCGfqWbktUUruEtdqL+nGw6ecoLFi2b5u7XPb8jK1TKIcSvpNJ7SyA==", + "dev": true, + "requires": { + "@pushrocks/smartpromise": "^3.0.6", + "@types/node": "^14.11.2" + } + }, + "@pushrocks/smarttime": { + "version": "3.0.38", + "resolved": "https://verdaccio.lossless.one/@pushrocks%2fsmarttime/-/smarttime-3.0.38.tgz", + "integrity": "sha512-oVT48eZE66OTmDALAsWkk3GXUQiqzkei7mo526UbuMN2iLY8I9WgsxmLfa8Fp4llQmocncW3WTqGyhnEOAuDgA==", + "dev": true, + "requires": { + "@pushrocks/lik": "^4.0.17", + "@pushrocks/smartdelay": "^2.0.10", + "@pushrocks/smartpromise": "^3.0.2", + "croner": "^1.1.23", + "dayjs": "^1.9.1", + "is-nan": "^1.3.0" + } + } } }, "@pushrocks/webrequest": { @@ -2305,9 +2359,9 @@ "dev": true }, "@types/chai": { - "version": "4.2.13", - "resolved": "https://verdaccio.lossless.one/@types%2fchai/-/chai-4.2.13.tgz", - "integrity": "sha512-o3SGYRlOpvLFpwJA6Sl1UPOwKFEvE4FxTEB/c9XHI2whdnd4kmPVkNLL8gY4vWGBxWWDumzLbKsAhEH5SKn37Q==", + "version": "4.2.16", + "resolved": "https://verdaccio.lossless.one/@types%2fchai/-/chai-4.2.16.tgz", + "integrity": "sha512-vI5iOAsez9+roLS3M3+Xx7w+WRuDtSmF8bQkrbcIJ2sC1PcDgVoA0WGpa+bIrJ+y8zqY2oi//fUctkxtIcXJCw==", "dev": true }, "@types/chai-as-promised": { @@ -2482,9 +2536,9 @@ "integrity": "sha512-tHq6qdbT9U1IRSGf14CL0pUlULksvY9OZ+5eEgl1N7t+OA3tGvNpxJCzuKQlsNgCVwbAs670L1vcVQi8j9HjnA==" }, "@types/minio": { - "version": "7.0.6", - "resolved": "https://verdaccio.lossless.one/@types%2fminio/-/minio-7.0.6.tgz", - "integrity": "sha512-wSNdxcqse8pHdsIyZcSIbgqZq3qcgdLsvSzp1ZvuxzBb717s7/BvEORiRgkl9r/QDORpoaQGg9vsl387tVtjIA==", + "version": "7.0.7", + "resolved": "https://verdaccio.lossless.one/@types%2fminio/-/minio-7.0.7.tgz", + "integrity": "sha512-cK0VuWZ5zvFmkxQzK46RtJ4qt2Gtrv34hsXDr0D3vqesjrnEKT+0rw0zWk40JtCPkoEFgLdIUbXnePsKjbb80Q==", "requires": { "@types/node": "*" } @@ -3075,9 +3129,9 @@ } }, "block-stream2": { - "version": "2.0.0", - "resolved": "https://verdaccio.lossless.one/block-stream2/-/block-stream2-2.0.0.tgz", - "integrity": "sha512-1oI+RHHUEo64xomy1ozLgVJetFlHkIfQfJzTBQrj6xWnEMEPooeo2fZoqFjp0yzfHMBrgxwgh70tKp6T17+i3g==", + "version": "2.1.0", + "resolved": "https://verdaccio.lossless.one/block-stream2/-/block-stream2-2.1.0.tgz", + "integrity": "sha512-suhjmLI57Ewpmq00qaygS8UgEq2ly2PCItenIyhMqVjo4t4pGzqMvfgJuX8iWTeSDdfSSqS6j38fL4ToNL7Pfg==", "requires": { "readable-stream": "^3.4.0" } @@ -3535,16 +3589,16 @@ "dev": true }, "chai": { - "version": "4.2.0", - "resolved": "https://verdaccio.lossless.one/chai/-/chai-4.2.0.tgz", - "integrity": "sha512-XQU3bhBukrOsQCuwZndwGcCVQHyZi53fQ6Ys1Fym7E4olpIqqZZhhoFJoaKVvV17lWQoXYwgWN2nF5crA8J2jw==", + "version": "4.3.4", + "resolved": "https://verdaccio.lossless.one/chai/-/chai-4.3.4.tgz", + "integrity": "sha512-yS5H68VYOCtN1cjfwumDSuzn/9c+yza4f3reKXlE5rUg7SFcCEy90gJvydNgOYtblyf4Zi6jIWRnXOgErta0KA==", "dev": true, "requires": { "assertion-error": "^1.1.0", "check-error": "^1.0.2", "deep-eql": "^3.0.1", "get-func-name": "^2.0.0", - "pathval": "^1.1.0", + "pathval": "^1.1.1", "type-detect": "^4.0.5" } }, @@ -5365,6 +5419,11 @@ "integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=", "dev": true }, + "fast-xml-parser": { + "version": "3.19.0", + "resolved": "https://verdaccio.lossless.one/fast-xml-parser/-/fast-xml-parser-3.19.0.tgz", + "integrity": "sha512-4pXwmBplsCPv8FOY1WRakF970TjNGnGnfbOnLqjlYvMiF1SR3yOHyxMR/YCXpPTOspNF5gwudqktIP4VsWkvBg==" + }, "fastparse": { "version": "1.1.2", "resolved": "https://verdaccio.lossless.one/fastparse/-/fastparse-1.1.2.tgz", @@ -7267,6 +7326,21 @@ "type-check": "~0.3.2" } }, + "lit-element": { + "version": "2.4.0", + "resolved": "https://verdaccio.lossless.one/lit-element/-/lit-element-2.4.0.tgz", + "integrity": "sha512-pBGLglxyhq/Prk2H91nA0KByq/hx/wssJBQFiYqXhGDvEnY31PRGYf1RglVzyLeRysu0IHm2K0P196uLLWmwFg==", + "dev": true, + "requires": { + "lit-html": "^1.1.1" + } + }, + "lit-html": { + "version": "1.3.0", + "resolved": "https://verdaccio.lossless.one/lit-html/-/lit-html-1.3.0.tgz", + "integrity": "sha512-0Q1bwmaFH9O14vycPHw8C/IeHMk/uSDldVLIefu/kfbTBGIc44KGH6A8p1bDfxUfHdc8q6Ct7kQklWoHgr4t1Q==", + "dev": true + }, "locate-path": { "version": "5.0.0", "resolved": "https://verdaccio.lossless.one/locate-path/-/locate-path-5.0.0.tgz", @@ -7627,15 +7701,16 @@ "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==" }, "minio": { - "version": "7.0.16", - "resolved": "https://verdaccio.lossless.one/minio/-/minio-7.0.16.tgz", - "integrity": "sha512-OgCJ3XVMzukSqoMFBiBDeyz30BxYTBM9yRLVRBCExTb+QKVxJh4DnUOS2/zw7OPeDyXXEvYSzDvg4FkCf1Cxyw==", + "version": "7.0.18", + "resolved": "https://verdaccio.lossless.one/minio/-/minio-7.0.18.tgz", + "integrity": "sha512-jVRjkw8A5Spf+ETY5OXQUcQckHriuUA3u2+MAcX36btLT8EytlOVivxIseXvyFf9cNn3dy5w1F1UyjMvHU+nqg==", "requires": { "async": "^3.1.0", "block-stream2": "^2.0.0", "es6-error": "^4.1.1", + "fast-xml-parser": "^3.17.5", "json-stream": "^1.0.0", - "lodash": "^4.14.2", + "lodash": "^4.17.20", "mime-types": "^2.1.14", "mkdirp": "^0.5.1", "querystring": "0.2.0", @@ -8340,9 +8415,9 @@ "dev": true }, "pathval": { - "version": "1.1.0", - "resolved": "https://verdaccio.lossless.one/pathval/-/pathval-1.1.0.tgz", - "integrity": "sha1-uULm1L3mUwBe9rcTYd74cn0GReA=", + "version": "1.1.1", + "resolved": "https://verdaccio.lossless.one/pathval/-/pathval-1.1.1.tgz", + "integrity": "sha512-Dp6zGqpTdETdR63lehJYPeIOqpiNBNtc7BpWSLrOje7UaIsE5aY92r/AunQA7rsXvet3lrJ3JnZX29UPTKXyKQ==", "dev": true }, "pbkdf2": { diff --git a/package.json b/package.json index 75713c3..9f2fa8e 100644 --- a/package.json +++ b/package.json @@ -14,18 +14,18 @@ "devDependencies": { "@gitzone/tsbuild": "^2.1.25", "@gitzone/tstest": "^1.0.52", - "@pushrocks/tapbundle": "^3.2.9", + "@pushrocks/tapbundle": "^3.2.14", "tslint": "^6.1.3", "tslint-config-prettier": "^1.18.0" }, "dependencies": { "@pushrocks/qenv": "^4.0.10", "@pushrocks/smartpath": "^4.0.3", - "@pushrocks/smartpromise": "^3.0.6", + "@pushrocks/smartpromise": "^3.1.3", "@pushrocks/smartrx": "^2.0.19", "@pushrocks/streamfunction": "^2.0.1", - "@types/minio": "^7.0.6", - "minio": "^7.0.16" + "@types/minio": "^7.0.7", + "minio": "^7.0.18" }, "private": false, "files": [ @@ -43,4 +43,4 @@ "browserslist": [ "last 1 chrome versions" ] -} +} \ No newline at end of file diff --git a/ts/smartbucket.classes.directory.ts b/ts/smartbucket.classes.directory.ts index a242354..c6e5e97 100644 --- a/ts/smartbucket.classes.directory.ts +++ b/ts/smartbucket.classes.directory.ts @@ -201,4 +201,25 @@ export class Directory { const path = plugins.path.join(this.getBasePath(), pathArg); await this.bucketRef.fastRemove(path); } + + /** + * deletes the directory with all its contents + */ + public async deleteWithAllContents() { + const deleteDirectory = async (directoryArg: Directory) => { + const childDirectories = await directoryArg.listDirectories(); + if (childDirectories.length === 0) { + console.log('directory empty! Path complete!'); + } else { + for (const childDir of childDirectories) { + await deleteDirectory(childDir); + } + } + const files = await directoryArg.listFiles(); + for (const file of files) { + await directoryArg.fastRemove(file.name); + } + }; + await deleteDirectory(this); + } }