diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 0000000..26eb1ff --- /dev/null +++ b/.gitattributes @@ -0,0 +1,8 @@ +# 2024 January 3 +# https://github.com/bevry/base + +# never modify any line ending in any file, disregarding all nonsense from eol, autocrlf, renormalize, safecrlf, usecrlfattr, allBinary +* -text + +# ===================================== +# CUSTOM diff --git a/.github/workflows/bevry.yml b/.github/workflows/bevry.yml index 4ed807c..6c2aad8 100644 --- a/.github/workflows/bevry.yml +++ b/.github/workflows/bevry.yml @@ -16,7 +16,6 @@ jobs: - '20' - '21' runs-on: ${{ matrix.os }} - continue-on-error: ${{ contains('macos-latest windows-latest', matrix.os) }} steps: - uses: actions/checkout@v4 - name: Install Deno diff --git a/HISTORY.md b/HISTORY.md index 6fb4d1e..20cf63d 100644 --- a/HISTORY.md +++ b/HISTORY.md @@ -1,5 +1,11 @@ # History +## v1.7.0 2024 January 3 + +- Support directory removals on Windows on Node.js < v12 +- Updated dependencies, [base files](https://github.com/bevry/base), and [editions](https://editions.bevry.me) using [boundation](https://github.com/bevry/boundation) +- Thank you to the sponsors: [Andrew Nesbitt](https://nesbitt.io), [Balsa](https://balsa.com), [Codecov](https://codecov.io), [Poonacha Medappa](https://poonachamedappa.com), [Rob Morris](https://github.com/Rob-Morris), [Sentry](https://sentry.io), [Syntax](https://syntax.fm) + ## v1.6.0 2023 December 29 - Updated dependencies, [base files](https://github.com/bevry/base), and [editions](https://editions.bevry.me) using [boundation](https://github.com/bevry/boundation) diff --git a/README.md b/README.md index ce578c7..755709c 100644 --- a/README.md +++ b/README.md @@ -48,7 +48,7 @@ Remove a file or directory. ### [Deno](https://deno.land "Deno is a secure runtime for JavaScript and TypeScript, it is an alternative for Node.js") ``` typescript -import pkg from 'https://unpkg.com/@bevry/fs-remove@^1.6.0/edition-deno/index.ts' +import pkg from 'https://unpkg.com/@bevry/fs-remove@^1.7.0/edition-deno/index.ts' ``` ### [Editions](https://editions.bevry.me "Editions are the best way to produce and consume packages you care about.") @@ -108,6 +108,7 @@ This package is published with the following editions: - [Andrew Nesbitt](https://nesbitt.io) — Software engineer and researcher - [Balsa](https://balsa.com) — We're Balsa, and we're building tools for builders. - [Codecov](https://codecov.io) — Empower developers with tools to improve code quality and testing. +- [Frontend Masters](https://FrontendMasters.com) — The training platform for web app engineering skills – from front-end to full-stack! 🚀 - [Poonacha Medappa](https://poonachamedappa.com) - [Rob Morris](https://github.com/Rob-Morris) - [Sentry](https://sentry.io) — Real-time crash reporting for your web apps, mobile apps, and games. @@ -123,6 +124,7 @@ This package is published with the following editions: - [dr.dimitru](https://veliovgroup.com) - [Elliott Ditman](https://elliottditman.com) - [entroniq](https://gitlab.com/entroniq) +- [Frontend Masters](https://FrontendMasters.com) - [GitHub](https://github.com/about) - [Hunter Beast](https://cryptoquick.com) - [Jean-Luc Geering](https://github.com/jlgeering) diff --git a/package-lock.json b/package-lock.json index 02814a8..540f5ee 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "@bevry/fs-remove", - "version": "1.6.0", + "version": "1.7.0", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "@bevry/fs-remove", - "version": "1.6.0", + "version": "1.7.0", "license": "Artistic-2.0", "dependencies": { "@bevry/fs-accessible": "^2.5.0", @@ -16,22 +16,22 @@ }, "devDependencies": { "@bevry/fs-write": "^1.6.0", - "@types/node": "^20.10.5", - "@typescript-eslint/eslint-plugin": "^6.16.0", - "@typescript-eslint/parser": "^6.16.0", + "@types/node": "^20.10.6", + "@typescript-eslint/eslint-plugin": "^6.17.0", + "@typescript-eslint/parser": "^6.17.0", "assert-helpers": "^11.12.0", "eslint": "^8.56.0", - "eslint-config-bevry": "^5.3.0", + "eslint-config-bevry": "^5.5.0", "eslint-config-prettier": "^9.1.0", "eslint-plugin-prettier": "^5.1.2", - "kava": "^7.8.0", - "make-deno-edition": "^2.2.0", + "kava": "^7.9.0", + "make-deno-edition": "^2.3.0", "prettier": "^3.1.1", - "projectz": "^4.1.1", - "promise-errback": "^1.3.0", - "typedoc": "^0.25.4", + "projectz": "^4.2.0", + "promise-errback": "^1.4.0", + "typedoc": "^0.25.6", "typescript": "5.3.3", - "valid-directory": "^4.8.0" + "valid-directory": "^4.9.0" }, "engines": { "node": ">=4" @@ -65,12 +65,12 @@ } }, "node_modules/@bevry/argument": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@bevry/argument/-/argument-1.1.0.tgz", - "integrity": "sha512-fVMUVDTlOUGw4M8wRz1lyWlzAh2+GabOYQijr+j5HpV1uGwn+CbCjtkkAvkArhyQpL6KMFAjXMCG5JC6VsaUmw==", + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@bevry/argument/-/argument-1.2.0.tgz", + "integrity": "sha512-kVMvCrAXMHlTIxUzwVtcIh69eEXEsmnx2PEwOHZz2n5pb6PXXdMvLW9uMO0Gi2qfqdTJoLtFe5DeZeGKn78IxQ==", "dev": true, "dependencies": { - "errlop": "^8.3.0" + "errlop": "^8.4.0" }, "engines": { "node": ">=4" @@ -94,9 +94,9 @@ } }, "node_modules/@bevry/fs-list": { - "version": "2.6.0", - "resolved": "https://registry.npmjs.org/@bevry/fs-list/-/fs-list-2.6.0.tgz", - "integrity": "sha512-O0mqCm9/ajbyiOegZ0Wt6i5iMpIA3/eRP11a7yrRV/aoESlIjOKTalfQGXTICBvyIYnVGhPmsZCC9bI38lDB7A==", + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/@bevry/fs-list/-/fs-list-2.7.0.tgz", + "integrity": "sha512-5Cvc5l5T3qkAZmYTEI/jVbSYGDC36yOj9FT3eY71J5rpPGumvJkDOI2Gqj4OH/urBif1grikOXq7Xz4ih731Og==", "dev": true, "dependencies": { "@bevry/fs-accessible": "^2.5.0", @@ -104,6 +104,9 @@ "errlop": "^8.4.0", "version-compare": "^3.10.0" }, + "bin": { + "fs-list": "bin.cjs" + }, "engines": { "node": ">=4" }, @@ -163,15 +166,15 @@ } }, "node_modules/@bevry/fs-remove": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/@bevry/fs-remove/-/fs-remove-1.5.0.tgz", - "integrity": "sha512-FRXVDrZntPGKVxGwSNNUt2C+/FwALINdsytwEUotzARekShx17TrAKHIQR30wl78mvn06hWRBULhW85uszHBcg==", + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/@bevry/fs-remove/-/fs-remove-1.6.0.tgz", + "integrity": "sha512-p7COolXZr0LUP/vU2B0gI/X88qkhBZFxyq7WyUwA+geV0KFoOg7bx4LzTk2diZH/KogJtluD7n0GkMnBZaD49g==", "dev": true, "dependencies": { - "@bevry/fs-accessible": "^2.4.0", - "editions": "^6.20.0", - "errlop": "^8.3.0", - "version-compare": "^3.9.0" + "@bevry/fs-accessible": "^2.5.0", + "editions": "^6.21.0", + "errlop": "^8.4.0", + "version-compare": "^3.10.0" }, "engines": { "node": ">=4" @@ -181,14 +184,14 @@ } }, "node_modules/@bevry/fs-unlink": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/@bevry/fs-unlink/-/fs-unlink-1.5.0.tgz", - "integrity": "sha512-iX50UsFf4WMnnTbbZ6MsRK2p7gna29j26va3faYtueeVogPeM+2Y1nruWZ4UirOi8qjj/voA/aGefq9A2NNlzA==", + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/@bevry/fs-unlink/-/fs-unlink-1.6.0.tgz", + "integrity": "sha512-QgBbjuhIj4Egc6Anfb9WKJnHTHFGdmznMp19vCHuaT0qEU+2bGLDxQnTbc+mjDUADGY2rXhcSHdeM3euPUE0xA==", "dev": true, "dependencies": { - "@bevry/fs-accessible": "^2.4.0", - "editions": "^6.20.0", - "errlop": "^8.3.0" + "@bevry/fs-accessible": "^2.5.0", + "editions": "^6.21.0", + "errlop": "^8.4.0" }, "engines": { "node": ">=4" @@ -216,24 +219,24 @@ } }, "node_modules/@bevry/github-api": { - "version": "11.3.3", - "resolved": "https://registry.npmjs.org/@bevry/github-api/-/github-api-11.3.3.tgz", - "integrity": "sha512-sbZ1YsopkKmAG7oA9rQzpaotfAXMdx4REO8SbeSjF7mWLvcj89IGhASCWpg+CHgVlN4V6kq/T6p3fHl6BQvuvA==", + "version": "11.4.0", + "resolved": "https://registry.npmjs.org/@bevry/github-api/-/github-api-11.4.0.tgz", + "integrity": "sha512-ZdYpj0uc5TDqgLVovTnZKCX+rmfNMLAEdMnsXx20wO/Mbai0nE7ISREqSfUfPtfy3JS61nx97ONfoJOdEp+ivQ==", "dev": true, "dependencies": { - "@bevry/argument": "^1.1.0", - "@bevry/fs-readable": "^2.4.0", - "@bevry/json": "^2.3.0", - "@bevry/list": "^2.4.0", - "@bevry/wait": "^2.5.0", + "@bevry/argument": "^1.2.0", + "@bevry/fs-readable": "^2.5.0", + "@bevry/json": "^2.4.0", + "@bevry/list": "^2.5.0", + "@bevry/wait": "^2.6.0", "@octokit/graphql": "^7.0.2", - "arrange-package-json": "^5.1.0", + "arrange-package-json": "^5.2.0", "errlop": "^8.4.0", - "fellow": "^7.1.2", + "fellow": "^7.2.1", "js-yaml": "^4.1.0", - "native-promise-pool": "^3.27.0", + "native-promise-pool": "^3.28.0", "simplytyped": "^3.3.0", - "trim-empty-keys": "^1.1.0" + "trim-empty-keys": "^1.2.0" }, "bin": { "github-backers": "bin.cjs" @@ -246,16 +249,16 @@ } }, "node_modules/@bevry/json": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/@bevry/json/-/json-2.3.0.tgz", - "integrity": "sha512-d3CgyXe7Qxf2KaqHIBYQ61/zUJQWwQYXd3g0OdQt/62YfCO725RWEWcCvr16PrgxtQZBJi8WOV6x2SAJpDF37w==", + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/@bevry/json/-/json-2.4.0.tgz", + "integrity": "sha512-k1o7AwpGpwQdC798xc54eK1Tuto8rQVojJjT47TqAAr/9YPUtf08Iix7nhelqinv3M6dooABoohh389HBoeETQ==", "dev": true, "dependencies": { - "@bevry/fs-read": "^1.5.0", - "@bevry/fs-unlink": "^1.5.0", - "@bevry/fs-write": "^1.5.0", - "editions": "^6.20.0", - "errlop": "^8.3.0" + "@bevry/fs-read": "^1.6.0", + "@bevry/fs-unlink": "^1.6.0", + "@bevry/fs-write": "^1.6.0", + "editions": "^6.21.0", + "errlop": "^8.4.0" }, "engines": { "node": ">=4" @@ -265,12 +268,12 @@ } }, "node_modules/@bevry/list": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/@bevry/list/-/list-2.4.0.tgz", - "integrity": "sha512-epnjQ/Xi3TOPiXwRr74zZ5oAiSBoILpaeKw5rQg8qBSJh27KuiVmc04iPWpJ9f5tFesCv0dy8A4SKUob5iVTUw==", + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/@bevry/list/-/list-2.5.0.tgz", + "integrity": "sha512-cxPFXojDAPFR5FwcRzj59YY3D/28s1RIjI8cchf3cJoh1tfn3F4sxjqT7u7N7FEVLsVxZCn7fhLNVpf8AKkTxQ==", "dev": true, "dependencies": { - "editions": "^6.20.0" + "editions": "^6.21.0" }, "engines": { "node": ">=4" @@ -280,9 +283,9 @@ } }, "node_modules/@bevry/render": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@bevry/render/-/render-1.1.0.tgz", - "integrity": "sha512-uWfdRfj/8fhvQvhTPdJjN2ARD9nR94GVqufK+6rO3KTH97RB5vbFRjhMPxR1KXStHxtOaO3RFc/rizcYVhVqUw==", + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@bevry/render/-/render-1.2.0.tgz", + "integrity": "sha512-Hpe5ruDr0V0XiN2025fKqcTJr/qstX03uf+/XxG7s2Id9oWmYbIARQpzjQnq00thd8txYl+R5EtFDz8TO79q1Q==", "dev": true, "engines": { "node": ">=4" @@ -292,9 +295,9 @@ } }, "node_modules/@bevry/valid-filename": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/@bevry/valid-filename/-/valid-filename-2.5.0.tgz", - "integrity": "sha512-4kWa1Pud5x7Efa6wF9+y7jZQdkgCHa2wsbSDRIFaFILINMBY8R8bdSzaIjMJZVETg5IE3qiRsb0TsZ2aK/9CZw==", + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/@bevry/valid-filename/-/valid-filename-2.6.0.tgz", + "integrity": "sha512-p5sl7sUGPbScN99KITIvuKWul9ICuYuXCAz5VjKoUC1fFllU1h2nB1bQYOkZNi0TLCWtk5LIdAg73fPxqgWyXw==", "dev": true, "bin": { "valid-filename": "bin.cjs" @@ -307,9 +310,9 @@ } }, "node_modules/@bevry/wait": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/@bevry/wait/-/wait-2.5.0.tgz", - "integrity": "sha512-F6DGfERA1vG7rVSg/BzkFMqi261u8afAHtoBkpQkwvCKEi9y93VwA0cv6/vJ8DRdam3aKJwqClW9iajOmXV2Lg==", + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/@bevry/wait/-/wait-2.6.0.tgz", + "integrity": "sha512-RswBYspXtm6WoyMsRbsITxqmMCIa6SJ8kZOMeN303kcD/6dda9KJbEd/Hl1Ft7GXaagr4LeGihRlQ7FvgBD2+g==", "dev": true, "engines": { "node": ">=4" @@ -576,9 +579,9 @@ "dev": true }, "node_modules/@types/node": { - "version": "20.10.5", - "resolved": "https://registry.npmjs.org/@types/node/-/node-20.10.5.tgz", - "integrity": "sha512-nNPsNE65wjMxEKI93yOP+NPGGBJz/PoN3kZsVLee0XMiJolxSekEVD8wRwBUBqkwc7UWop0edW50yrCQW4CyRw==", + "version": "20.10.6", + "resolved": "https://registry.npmjs.org/@types/node/-/node-20.10.6.tgz", + "integrity": "sha512-Vac8H+NlRNNlAmDfGUP7b5h/KA+AtWIzuXy0E6OyP8f1tCLYAtPvKRRDJjAPqhpCb0t6U2j7/xqAuLEebW2kiw==", "dev": true, "dependencies": { "undici-types": "~5.26.4" @@ -591,16 +594,16 @@ "dev": true }, "node_modules/@typescript-eslint/eslint-plugin": { - "version": "6.16.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-6.16.0.tgz", - "integrity": "sha512-O5f7Kv5o4dLWQtPX4ywPPa+v9G+1q1x8mz0Kr0pXUtKsevo+gIJHLkGc8RxaZWtP8RrhwhSNIWThnW42K9/0rQ==", + "version": "6.17.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-6.17.0.tgz", + "integrity": "sha512-Vih/4xLXmY7V490dGwBQJTpIZxH4ZFH6eCVmQ4RFkB+wmaCTDAx4dtgoWwMNGKLkqRY1L6rPqzEbjorRnDo4rQ==", "dev": true, "dependencies": { "@eslint-community/regexpp": "^4.5.1", - "@typescript-eslint/scope-manager": "6.16.0", - "@typescript-eslint/type-utils": "6.16.0", - "@typescript-eslint/utils": "6.16.0", - "@typescript-eslint/visitor-keys": "6.16.0", + "@typescript-eslint/scope-manager": "6.17.0", + "@typescript-eslint/type-utils": "6.17.0", + "@typescript-eslint/utils": "6.17.0", + "@typescript-eslint/visitor-keys": "6.17.0", "debug": "^4.3.4", "graphemer": "^1.4.0", "ignore": "^5.2.4", @@ -626,15 +629,15 @@ } }, "node_modules/@typescript-eslint/parser": { - "version": "6.16.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-6.16.0.tgz", - "integrity": "sha512-H2GM3eUo12HpKZU9njig3DF5zJ58ja6ahj1GoHEHOgQvYxzoFJJEvC1MQ7T2l9Ha+69ZSOn7RTxOdpC/y3ikMw==", + "version": "6.17.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-6.17.0.tgz", + "integrity": "sha512-C4bBaX2orvhK+LlwrY8oWGmSl4WolCfYm513gEccdWZj0CwGadbIADb0FtVEcI+WzUyjyoBj2JRP8g25E6IB8A==", "dev": true, "dependencies": { - "@typescript-eslint/scope-manager": "6.16.0", - "@typescript-eslint/types": "6.16.0", - "@typescript-eslint/typescript-estree": "6.16.0", - "@typescript-eslint/visitor-keys": "6.16.0", + "@typescript-eslint/scope-manager": "6.17.0", + "@typescript-eslint/types": "6.17.0", + "@typescript-eslint/typescript-estree": "6.17.0", + "@typescript-eslint/visitor-keys": "6.17.0", "debug": "^4.3.4" }, "engines": { @@ -654,13 +657,13 @@ } }, "node_modules/@typescript-eslint/scope-manager": { - "version": "6.16.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-6.16.0.tgz", - "integrity": "sha512-0N7Y9DSPdaBQ3sqSCwlrm9zJwkpOuc6HYm7LpzLAPqBL7dmzAUimr4M29dMkOP/tEwvOCC/Cxo//yOfJD3HUiw==", + "version": "6.17.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-6.17.0.tgz", + "integrity": "sha512-RX7a8lwgOi7am0k17NUO0+ZmMOX4PpjLtLRgLmT1d3lBYdWH4ssBUbwdmc5pdRX8rXon8v9x8vaoOSpkHfcXGA==", "dev": true, "dependencies": { - "@typescript-eslint/types": "6.16.0", - "@typescript-eslint/visitor-keys": "6.16.0" + "@typescript-eslint/types": "6.17.0", + "@typescript-eslint/visitor-keys": "6.17.0" }, "engines": { "node": "^16.0.0 || >=18.0.0" @@ -671,13 +674,13 @@ } }, "node_modules/@typescript-eslint/type-utils": { - "version": "6.16.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-6.16.0.tgz", - "integrity": "sha512-ThmrEOcARmOnoyQfYkHw/DX2SEYBalVECmoldVuH6qagKROp/jMnfXpAU/pAIWub9c4YTxga+XwgAkoA0pxfmg==", + "version": "6.17.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-6.17.0.tgz", + "integrity": "sha512-hDXcWmnbtn4P2B37ka3nil3yi3VCQO2QEB9gBiHJmQp5wmyQWqnjA85+ZcE8c4FqnaB6lBwMrPkgd4aBYz3iNg==", "dev": true, "dependencies": { - "@typescript-eslint/typescript-estree": "6.16.0", - "@typescript-eslint/utils": "6.16.0", + "@typescript-eslint/typescript-estree": "6.17.0", + "@typescript-eslint/utils": "6.17.0", "debug": "^4.3.4", "ts-api-utils": "^1.0.1" }, @@ -698,9 +701,9 @@ } }, "node_modules/@typescript-eslint/types": { - "version": "6.16.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-6.16.0.tgz", - "integrity": "sha512-hvDFpLEvTJoHutVl87+MG/c5C8I6LOgEx05zExTSJDEVU7hhR3jhV8M5zuggbdFCw98+HhZWPHZeKS97kS3JoQ==", + "version": "6.17.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-6.17.0.tgz", + "integrity": "sha512-qRKs9tvc3a4RBcL/9PXtKSehI/q8wuU9xYJxe97WFxnzH8NWWtcW3ffNS+EWg8uPvIerhjsEZ+rHtDqOCiH57A==", "dev": true, "engines": { "node": "^16.0.0 || >=18.0.0" @@ -711,13 +714,13 @@ } }, "node_modules/@typescript-eslint/typescript-estree": { - "version": "6.16.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-6.16.0.tgz", - "integrity": "sha512-VTWZuixh/vr7nih6CfrdpmFNLEnoVBF1skfjdyGnNwXOH1SLeHItGdZDHhhAIzd3ACazyY2Fg76zuzOVTaknGA==", + "version": "6.17.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-6.17.0.tgz", + "integrity": "sha512-gVQe+SLdNPfjlJn5VNGhlOhrXz4cajwFd5kAgWtZ9dCZf4XJf8xmgCTLIqec7aha3JwgLI2CK6GY1043FRxZwg==", "dev": true, "dependencies": { - "@typescript-eslint/types": "6.16.0", - "@typescript-eslint/visitor-keys": "6.16.0", + "@typescript-eslint/types": "6.17.0", + "@typescript-eslint/visitor-keys": "6.17.0", "debug": "^4.3.4", "globby": "^11.1.0", "is-glob": "^4.0.3", @@ -739,17 +742,17 @@ } }, "node_modules/@typescript-eslint/utils": { - "version": "6.16.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-6.16.0.tgz", - "integrity": "sha512-T83QPKrBm6n//q9mv7oiSvy/Xq/7Hyw9SzSEhMHJwznEmQayfBM87+oAlkNAMEO7/MjIwKyOHgBJbxB0s7gx2A==", + "version": "6.17.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-6.17.0.tgz", + "integrity": "sha512-LofsSPjN/ITNkzV47hxas2JCsNCEnGhVvocfyOcLzT9c/tSZE7SfhS/iWtzP1lKNOEfLhRTZz6xqI8N2RzweSQ==", "dev": true, "dependencies": { "@eslint-community/eslint-utils": "^4.4.0", "@types/json-schema": "^7.0.12", "@types/semver": "^7.5.0", - "@typescript-eslint/scope-manager": "6.16.0", - "@typescript-eslint/types": "6.16.0", - "@typescript-eslint/typescript-estree": "6.16.0", + "@typescript-eslint/scope-manager": "6.17.0", + "@typescript-eslint/types": "6.17.0", + "@typescript-eslint/typescript-estree": "6.17.0", "semver": "^7.5.4" }, "engines": { @@ -764,12 +767,12 @@ } }, "node_modules/@typescript-eslint/visitor-keys": { - "version": "6.16.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-6.16.0.tgz", - "integrity": "sha512-QSFQLruk7fhs91a/Ep/LqRdbJCZ1Rq03rqBdKT5Ky17Sz8zRLUksqIe9DW0pKtg/Z35/ztbLQ6qpOCN6rOC11A==", + "version": "6.17.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-6.17.0.tgz", + "integrity": "sha512-H6VwB/k3IuIeQOyYczyyKN8wH6ed8EwliaYHLxOIhyF0dYEIsN8+Bk3GE19qafeMKyZJJHP8+O1HiFhFLUNKSg==", "dev": true, "dependencies": { - "@typescript-eslint/types": "6.16.0", + "@typescript-eslint/types": "6.17.0", "eslint-visitor-keys": "^3.4.1" }, "engines": { @@ -925,13 +928,13 @@ "dev": true }, "node_modules/arrange-package-json": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/arrange-package-json/-/arrange-package-json-5.1.0.tgz", - "integrity": "sha512-OnW07tfD8TH4HxZDATsp/gvoy7PEyXkS8D1kIo1RghzqzY0HGOfkLExiYQYpHiy2G8YiNelnjlLlOnXtp0N7iA==", + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/arrange-package-json/-/arrange-package-json-5.2.0.tgz", + "integrity": "sha512-wCDmparOOlTTpR7Gr3r7XW2LJEhzDwqlV6ytBNJTOo92ErsbO6AuI8Sf6AsLvT2mv41juhl7IDOOWgfJlGb0oQ==", "dev": true, "dependencies": { - "arrangekeys": "^6.6.0", - "editions": "^6.20.0" + "arrangekeys": "^6.7.0", + "editions": "^6.21.0" }, "engines": { "node": ">=4" @@ -941,9 +944,9 @@ } }, "node_modules/arrangekeys": { - "version": "6.6.0", - "resolved": "https://registry.npmjs.org/arrangekeys/-/arrangekeys-6.6.0.tgz", - "integrity": "sha512-yU9DBpdOCb1Mgb95BiKMjh91A1HyKFy0xY9nO0Hqj8ny4zms+Y3t+Ik6YXGAktN6eertY1B516nVvYgB6vcbrA==", + "version": "6.7.0", + "resolved": "https://registry.npmjs.org/arrangekeys/-/arrangekeys-6.7.0.tgz", + "integrity": "sha512-BaB49iPe6WO7cvCgucT8o5FI6WnygDLlrGemuwdMWjIb5yVkGwdh0sT9pKeZRsNWEyPrejlu2jo5b6E8B2Hzww==", "dev": true, "engines": { "node": ">=4" @@ -991,9 +994,9 @@ } }, "node_modules/badges": { - "version": "4.39.0", - "resolved": "https://registry.npmjs.org/badges/-/badges-4.39.0.tgz", - "integrity": "sha512-IC4Li+FK8gnM4FOTjfT8xubZXFRajFfMki+jfn2ygWQWJfmcHBvNX2FaCSFgIC+3IjvVOUHeMvdL9+xTcqEUaQ==", + "version": "4.40.0", + "resolved": "https://registry.npmjs.org/badges/-/badges-4.40.0.tgz", + "integrity": "sha512-PjeBM7oVzkcLDv62aQZZGOB1NPOzPRAoJr6cxDRFfeYxjK7tSOtNkOvcWxxAUZLpXTS3G6K+QmwyrEhLfbWNoA==", "dev": true, "engines": { "node": ">=10" @@ -1094,15 +1097,15 @@ } }, "node_modules/caterpillar": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/caterpillar/-/caterpillar-8.1.0.tgz", - "integrity": "sha512-rWvexmDmDkgO4xmt5+sKOBjacG9L7SUKn1DlrojwBQjBQeTYLTw73XcR27Wl91Gz64kzlubXEgqL9wA5BDyYxA==", + "version": "8.2.0", + "resolved": "https://registry.npmjs.org/caterpillar/-/caterpillar-8.2.0.tgz", + "integrity": "sha512-c7qv+EwyVIGjDb4XG+jen7oQ/J1MEkEmYeIkmFIGjnfDrlNaj+nOHwGldjmy38iQBHBuKKLj2u15Agv0rTZyPw==", "dev": true, "dependencies": { - "@bevry/ansi": "^6.8.0", - "editions": "^6.20.0", - "get-current-line": "^7.2.0", - "rfc-log-levels": "^4.1.0" + "@bevry/ansi": "^6.9.0", + "editions": "^6.21.0", + "get-current-line": "^7.3.0", + "rfc-log-levels": "^4.2.0" }, "engines": { "node": ">=4" @@ -1330,12 +1333,12 @@ } }, "node_modules/eslint-config-bevry": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/eslint-config-bevry/-/eslint-config-bevry-5.3.0.tgz", - "integrity": "sha512-Evt7Z+djPEMRG/IHA/BvwrzE6u50x8jicCJG0+HLBQjQ9pj4BTsQ9s3BOPScissv6+Klw1EC29hceWTs5EKj9A==", + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/eslint-config-bevry/-/eslint-config-bevry-5.5.0.tgz", + "integrity": "sha512-B1SSALwHvexa8Igyis4tmlRqQGN5saQXQf6Zt4oSJYc1roaACPl0wRuhyNV7Oiaea2S42EhGbnHYIPlWIlxiKA==", "dev": true, "dependencies": { - "version-clean": "^1.6.0" + "version-clean": "^1.8.0" }, "engines": { "node": ">=6" @@ -1496,13 +1499,13 @@ } }, "node_modules/event-emitter-grouped": { - "version": "6.6.0", - "resolved": "https://registry.npmjs.org/event-emitter-grouped/-/event-emitter-grouped-6.6.0.tgz", - "integrity": "sha512-oZQp5T5rf+2MzGN4Rwgl4jEp9rshFd7NuXHEizh+7sMR+7tPzKQYo7eUqpKeqZa8wUbc/9lnz/Vd/TYHP/hnIQ==", + "version": "6.7.0", + "resolved": "https://registry.npmjs.org/event-emitter-grouped/-/event-emitter-grouped-6.7.0.tgz", + "integrity": "sha512-o7MRt6JDz2ErDIDZZ2OkgvmoE/aORuNreox8bFtsttYGnhUDEQN4lH/YQhn2OPsaHWedW+CXDNzpTCIjb47xpA==", "dev": true, "dependencies": { "editions": "^6.21.0", - "taskgroup": "^9.7.0", + "taskgroup": "^9.8.0", "unbounded": "^6.3.1" }, "engines": { @@ -1513,9 +1516,9 @@ } }, "node_modules/extendr": { - "version": "7.9.0", - "resolved": "https://registry.npmjs.org/extendr/-/extendr-7.9.0.tgz", - "integrity": "sha512-+sSXw36D1GJH7KlmxrW6r9Anav7/55MddwmyJ8n+At5doRnsWiSCPFgu8E/Pw1Hiky9Cql5e9CDoIGe/QZ3hZA==", + "version": "7.10.0", + "resolved": "https://registry.npmjs.org/extendr/-/extendr-7.10.0.tgz", + "integrity": "sha512-XtZf4L73Yn+gcp06Bybwdp7HSRfxmrhBpnuvAM25qflKNZb7SMmoA/P5yNGxLUq5AKsStv6/P1tXyhQlK2f1rw==", "dev": true, "dependencies": { "editions": "^6.21.0", @@ -1590,12 +1593,12 @@ } }, "node_modules/fellow": { - "version": "7.1.2", - "resolved": "https://registry.npmjs.org/fellow/-/fellow-7.1.2.tgz", - "integrity": "sha512-mTYWF4+UPHmT9in8E42V90o64s+HDQwYXB3M/SwqAm7apBV8sESAVnwPC8/d9G+VnQFGwHRTFsCxHrAJi+BNqg==", + "version": "7.2.1", + "resolved": "https://registry.npmjs.org/fellow/-/fellow-7.2.1.tgz", + "integrity": "sha512-c5UNDgh5nzmTaTci/8/zEMM4qvR9wfJVECaiTkzZBLd9cMwKRFLGulm2U/iSYkrjcfTehiUX58p9LVwRZfTg1w==", "dev": true, "dependencies": { - "@bevry/render": "^1.1.0", + "@bevry/render": "^1.2.0", "editions": "^6.21.0" }, "engines": { @@ -1672,9 +1675,9 @@ "dev": true }, "node_modules/get-cli-arg": { - "version": "8.5.0", - "resolved": "https://registry.npmjs.org/get-cli-arg/-/get-cli-arg-8.5.0.tgz", - "integrity": "sha512-r1UXW2EloIEGUGvfypchrYCnpem15jmmqWe6ojFtZ4vJNAMI5DLSAZyA8+3xhzaJa83NJzjeDgz3iJpQrB1LnA==", + "version": "8.6.0", + "resolved": "https://registry.npmjs.org/get-cli-arg/-/get-cli-arg-8.6.0.tgz", + "integrity": "sha512-al6F7RkUTyFeqhmXCyopu9gOvaI7c0AVLVQ+NeX0ggv7WF9TYIITd8I1oGL6cK+E/HZc4GDBZHWSfa0ct+XgrQ==", "dev": true, "dependencies": { "normalify": "^2.30.0" @@ -1687,12 +1690,12 @@ } }, "node_modules/get-current-line": { - "version": "7.3.0", - "resolved": "https://registry.npmjs.org/get-current-line/-/get-current-line-7.3.0.tgz", - "integrity": "sha512-c05xljyfL59+gPprXL2MC5WuDeJ40MDWUXADYTm8Ma37yaDhKUuk72tWsAI3crcuulWUtR5ml98jgYQKG/M0Lg==", + "version": "7.4.0", + "resolved": "https://registry.npmjs.org/get-current-line/-/get-current-line-7.4.0.tgz", + "integrity": "sha512-iPHQyqGX7ztEviLIrgq9qYZ/xTbxpQrOsZeUwiFs03uixOPK4IBQRQI4YE4Nsk9A5edUynAqK4BmRnd2Hh2a3g==", "dev": true, "dependencies": { - "editions": "^6.20.0" + "editions": "^6.21.0" }, "engines": { "node": ">=4" @@ -1957,14 +1960,14 @@ "dev": true }, "node_modules/kava": { - "version": "7.8.0", - "resolved": "https://registry.npmjs.org/kava/-/kava-7.8.0.tgz", - "integrity": "sha512-sFi8RebKrccbD3r82UTMQEc0G23yH4jFleUpd2v0opEsocRlM81PT7hKzbHvbA8+hCtBY/5/FT4qbq9ntvymjg==", + "version": "7.9.0", + "resolved": "https://registry.npmjs.org/kava/-/kava-7.9.0.tgz", + "integrity": "sha512-nZUj3w/MMVnAAyB3Kb5vmDlVEhadb9HtbRHXfh3B/Ac0LmP6pV6qR+TI5ZBoevhzEK9x7AE/u97uIzeCwBQEEA==", "dev": true, "dependencies": { "editions": "^6.21.0", - "event-emitter-grouped": "^6.6.0", - "taskgroup": "^9.7.0" + "event-emitter-grouped": "^6.7.0", + "taskgroup": "^9.8.0" }, "engines": { "node": ">=4" @@ -2035,21 +2038,21 @@ "dev": true }, "node_modules/make-deno-edition": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/make-deno-edition/-/make-deno-edition-2.2.0.tgz", - "integrity": "sha512-rGK6tXWOs62Yjmsa3RWISqrIhsWJ7/JihBqidi2ytsrQbNi5DdSmfx29GaNlrYTBJzs0CXc4CmfzgSwQhbP2YQ==", + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/make-deno-edition/-/make-deno-edition-2.3.0.tgz", + "integrity": "sha512-cMY/Rgn1YUGJ9A+ldEB+qOsHQQP8CKyWOKqtVUUE+TDg04lbvugZcmbEZhLeptz5LdRS6fmGUXg7lGsp0IlEGg==", "dev": true, "dependencies": { - "@bevry/ansi": "^6.8.0", - "@bevry/fs-list": "^2.5.0", - "@bevry/fs-read": "^1.5.0", - "@bevry/fs-readable": "^2.4.0", - "@bevry/fs-remove": "^1.5.0", - "@bevry/fs-write": "^1.5.0", - "@bevry/json": "^2.3.0", + "@bevry/ansi": "^6.9.0", + "@bevry/fs-list": "^2.6.0", + "@bevry/fs-read": "^1.6.0", + "@bevry/fs-readable": "^2.5.0", + "@bevry/fs-remove": "^1.6.0", + "@bevry/fs-write": "^1.6.0", + "@bevry/json": "^2.4.0", "await-spawn": "^4.0.2", - "errlop": "^8.3.0", - "get-cli-arg": "^8.5.0" + "errlop": "^8.4.0", + "get-cli-arg": "^8.6.0" }, "bin": { "make-deno-edition": "bin.cjs" @@ -2117,12 +2120,12 @@ "dev": true }, "node_modules/native-promise-pool": { - "version": "3.27.0", - "resolved": "https://registry.npmjs.org/native-promise-pool/-/native-promise-pool-3.27.0.tgz", - "integrity": "sha512-QvYRM010F82Ygod3TgsRkeDAKm7PP6z0nXFcqzPxP9jfI3KxIWLMUUTcT/WqWlxt0PJPwqYv4qJMMhkznNCXXw==", + "version": "3.28.0", + "resolved": "https://registry.npmjs.org/native-promise-pool/-/native-promise-pool-3.28.0.tgz", + "integrity": "sha512-ixwkLwaF+idXLS/UJlVbmgl4obzQxYKNRU7yiwcIoi3PedVC+MvG476k3Ak0RgPoxCN9RcP/+o/5anJBOneiQw==", "dev": true, "dependencies": { - "editions": "^6.20.0" + "editions": "^6.21.0" }, "engines": { "node": ">=10" @@ -2138,9 +2141,9 @@ "dev": true }, "node_modules/normalify": { - "version": "2.30.0", - "resolved": "https://registry.npmjs.org/normalify/-/normalify-2.30.0.tgz", - "integrity": "sha512-LTG0JkblGt/MKrEDXmpqQsnK6ESsrRLYkeaB7M4eWSQO0XTFAiYWopEnOW2mQv1XHQ0ImQ9a/WiiPeYgGVr4wg==", + "version": "2.32.0", + "resolved": "https://registry.npmjs.org/normalify/-/normalify-2.32.0.tgz", + "integrity": "sha512-SPkwNAvT0Ussro2BGHJrh7E3luk1LJKGkcoHwiqw83jI4RsgPhuU2eAkR66dQcTZFUzKDWk9j8FN7P9/dxvANg==", "dev": true, "engines": { "node": ">=10" @@ -2302,21 +2305,21 @@ } }, "node_modules/projectz": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/projectz/-/projectz-4.1.1.tgz", - "integrity": "sha512-yI22S7x2/HMT/Vxx81/WT2slcKzDLUMU26YnEqkSeRtfGhGkmpHzbHAnD/8b+7t8qCV+WrCPhaeb7VaI+b6AVQ==", - "dev": true, - "dependencies": { - "@bevry/argument": "^1.1.0", - "@bevry/fs-list": "^2.5.0", - "@bevry/fs-read": "^1.5.0", - "@bevry/fs-write": "^1.5.0", - "@bevry/github-api": "^11.3.1", - "@bevry/json": "^2.3.0", - "@bevry/render": "^1.1.0", - "arrange-package-json": "^5.1.0", - "badges": "^4.39.0", - "caterpillar": "^8.1.0", + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/projectz/-/projectz-4.2.0.tgz", + "integrity": "sha512-YpkidKcqQ8mHYckkdoeGqKETQsoITvbLlGvYTQ0Wm63/wsCYfQ3lAbORzWekshykxM9FENtm5opc+GbRzpeoOg==", + "dev": true, + "dependencies": { + "@bevry/argument": "^1.2.0", + "@bevry/fs-list": "^2.6.0", + "@bevry/fs-read": "^1.6.0", + "@bevry/fs-write": "^1.6.0", + "@bevry/github-api": "^11.3.3", + "@bevry/json": "^2.4.0", + "@bevry/render": "^1.2.0", + "arrange-package-json": "^5.2.0", + "badges": "^4.40.0", + "caterpillar": "^8.2.0", "spdx-expression-parse": "^4.0.0", "spdx-license-list": "^6.8.0", "trim-empty-keys": "^1.1.0", @@ -2333,9 +2336,9 @@ } }, "node_modules/promise-errback": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/promise-errback/-/promise-errback-1.3.0.tgz", - "integrity": "sha512-m2ssp6fqOT643ifhBvCV41AHQTqZM19whys3yIU2jo9nZTkvE/Bnj+ap+W/h/fk1adtRd/sJd6tl38El+qSScw==", + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/promise-errback/-/promise-errback-1.4.0.tgz", + "integrity": "sha512-C6VULVm5U+xtn38Dq+nUycEXM+yaH1QBdrps9pEXw1Tdu7fSRVHJ26Eo0XROy2W7RaQconSbumM5tzz2l9bg5g==", "dev": true, "engines": { "node": ">=4" @@ -2407,12 +2410,12 @@ } }, "node_modules/rfc-log-levels": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/rfc-log-levels/-/rfc-log-levels-4.2.0.tgz", - "integrity": "sha512-CZ2+u5Hol5k+bfIrTkRzWGZfTSHvu/aKDtaJsBWYjUunIgOoAUAxJV6m4EnX2ctNhDuYB5ascFRys5ccKO1afQ==", + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/rfc-log-levels/-/rfc-log-levels-4.3.0.tgz", + "integrity": "sha512-AEKeJy/pNrLmwCXFk+D5bWJM1IIJHfCRpuXKhZH/yU1iahEi8Ps9orx1/AJTb5cFsxslQLdpLKn9uzulNGVI3w==", "dev": true, "dependencies": { - "editions": "^6.20.0" + "editions": "^6.21.0" }, "engines": { "node": ">=4" @@ -2641,15 +2644,15 @@ } }, "node_modules/taskgroup": { - "version": "9.7.0", - "resolved": "https://registry.npmjs.org/taskgroup/-/taskgroup-9.7.0.tgz", - "integrity": "sha512-BN7NhPCGVNOSvbNx51H/nbvrhddMbm3wTU9lqlq0avwTSDPxkpS8cW16mbi8Pa8cNisCplU+est9EQoi2B2PKw==", + "version": "9.8.0", + "resolved": "https://registry.npmjs.org/taskgroup/-/taskgroup-9.8.0.tgz", + "integrity": "sha512-RxOdv2e17kjXXbk4oXt3I4iRHO193kOL+SxDclBsefF+53FJHA4m0khh49CCStzjrMPeT49KxIcwLzzjwMiGGw==", "dev": true, "dependencies": { "ambi": "3.2.0", "eachr": "^7.4.0", "editions": "^6.21.0", - "extendr": "^7.9.0", + "extendr": "^7.10.0", "unbounded": "^6.3.1" }, "engines": { @@ -2678,9 +2681,9 @@ } }, "node_modules/trim-empty-keys": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/trim-empty-keys/-/trim-empty-keys-1.1.0.tgz", - "integrity": "sha512-LxZzCVSQ6dTiVOYiBDcY8CTkzOYzdU8JI5S4sy5/LHaneGwHRG5jzsryOhKAqlGkEu4IaMQYgpJ2J9Lq8ejzkg==", + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/trim-empty-keys/-/trim-empty-keys-1.2.0.tgz", + "integrity": "sha512-PQhzeeBzU0bTqTlUfDGBZSmRofyF/EcJ9MgSMzLsHqOLhsvHmUD88BVH7Jk4ZmDz1T4Rq5DWWhl/+Z/nciMhsA==", "dev": true, "dependencies": { "typechecker": "^9.3.0" @@ -2750,15 +2753,15 @@ } }, "node_modules/typedoc": { - "version": "0.25.4", - "resolved": "https://registry.npmjs.org/typedoc/-/typedoc-0.25.4.tgz", - "integrity": "sha512-Du9ImmpBCw54bX275yJrxPVnjdIyJO/84co0/L9mwe0R3G4FSR6rQ09AlXVRvZEGMUg09+z/usc8mgygQ1aidA==", + "version": "0.25.6", + "resolved": "https://registry.npmjs.org/typedoc/-/typedoc-0.25.6.tgz", + "integrity": "sha512-1rdionQMpOkpA58qfym1J+YD+ukyA1IEIa4VZahQI2ZORez7dhOvEyUotQL/8rSoMBopdzOS+vAIsORpQO4cTA==", "dev": true, "dependencies": { "lunr": "^2.3.9", "marked": "^4.3.0", "minimatch": "^9.0.3", - "shiki": "^0.14.1" + "shiki": "^0.14.7" }, "bin": { "typedoc": "bin/typedoc" @@ -2826,12 +2829,12 @@ "dev": true }, "node_modules/valid-directory": { - "version": "4.8.0", - "resolved": "https://registry.npmjs.org/valid-directory/-/valid-directory-4.8.0.tgz", - "integrity": "sha512-71SQWCDI/hk+gTQ2/u531ldpa5Qecl9U2oODwU5ubTGj+BE3GqdFdkLM8/OZa0QCsPYChZWl+62h9TZoZ4j3Wg==", + "version": "4.9.0", + "resolved": "https://registry.npmjs.org/valid-directory/-/valid-directory-4.9.0.tgz", + "integrity": "sha512-IV2E9N+GkbLZ00Y8eY9mrj5tblQhu63IOPZJquguIy17NkDOn1+4S8Cz24hQ8fvhfbCFVDPd50JQFs4tCy4wKg==", "dev": true, "dependencies": { - "@bevry/valid-filename": "^2.5.0", + "@bevry/valid-filename": "^2.6.0", "fdir": "^6.1.1" }, "bin": { diff --git a/package.json b/package.json index 4887e2b..8657030 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@bevry/fs-remove", - "version": "1.6.0", + "version": "1.7.0", "license": "Artistic-2.0", "description": "Remove a file or directory.", "homepage": "https://github.com/bevry/fs-remove", @@ -89,6 +89,7 @@ "Andrew Nesbitt (https://nesbitt.io) (https://github.com/andrew): Software engineer and researcher", "Balsa (https://balsa.com) (https://github.com/balsa): We're Balsa, and we're building tools for builders.", "Codecov (https://codecov.io) (https://github.com/codecov): Empower developers with tools to improve code quality and testing.", + "Frontend Masters (https://FrontendMasters.com) (https://github.com/FrontendMasters) (https://thanks.dev/d/gh/FrontendMasters): The training platform for web app engineering skills – from front-end to full-stack! 🚀", "Poonacha Medappa (https://poonachamedappa.com) (https://github.com/km-Poonacha)", "Rob Morris (https://github.com/Rob-Morris)", "Sentry (https://sentry.io) (https://github.com/getsentry): Real-time crash reporting for your web apps, mobile apps, and games.", @@ -103,6 +104,7 @@ "dr.dimitru (https://veliovgroup.com) (https://github.com/dr-dimitru)", "Elliott Ditman (https://elliottditman.com) (https://github.com/elliottditman)", "entroniq (https://gitlab.com/entroniq) (https://thanks.dev/d/gl/entroniq)", + "Frontend Masters (https://FrontendMasters.com) (https://github.com/FrontendMasters) (https://thanks.dev/d/gh/FrontendMasters)", "GitHub (https://github.com/about) (https://github.com/github)", "Hunter Beast (https://cryptoquick.com) (https://github.com/cryptoquick)", "Jean-Luc Geering (https://github.com/jlgeering) (https://opencollective.com/jlgeering) (https://twitter.com/jlgeering)", @@ -242,22 +244,22 @@ }, "devDependencies": { "@bevry/fs-write": "^1.6.0", - "@types/node": "^20.10.5", - "@typescript-eslint/eslint-plugin": "^6.16.0", - "@typescript-eslint/parser": "^6.16.0", + "@types/node": "^20.10.6", + "@typescript-eslint/eslint-plugin": "^6.17.0", + "@typescript-eslint/parser": "^6.17.0", "assert-helpers": "^11.12.0", "eslint": "^8.56.0", - "eslint-config-bevry": "^5.3.0", + "eslint-config-bevry": "^5.5.0", "eslint-config-prettier": "^9.1.0", "eslint-plugin-prettier": "^5.1.2", - "kava": "^7.8.0", - "make-deno-edition": "^2.2.0", + "kava": "^7.9.0", + "make-deno-edition": "^2.3.0", "prettier": "^3.1.1", - "projectz": "^4.1.1", - "promise-errback": "^1.3.0", - "typedoc": "^0.25.4", + "projectz": "^4.2.0", + "promise-errback": "^1.4.0", + "typedoc": "^0.25.6", "typescript": "5.3.3", - "valid-directory": "^4.8.0" + "valid-directory": "^4.9.0" }, "scripts": { "our:clean": "rm -rf ./docs ./edition* ./es2015 ./es5 ./out ./.next", diff --git a/source/index.ts b/source/index.ts index 69f7354..3b01b74 100644 --- a/source/index.ts +++ b/source/index.ts @@ -5,6 +5,8 @@ import { unlink as _unlink, readdir as _readdir, } from 'fs' +import { platform } from 'os' +const isWindows = platform() === 'win32' import { exec } from 'child_process' import { versions } from 'process' const nodeVersion = String(versions.node || '0') @@ -82,6 +84,7 @@ export default async function remove( } // is directory + // NOTE: if you are wondering why this now differs from @bevry/fs-rmdir, it is because the 14.14.0 option is earlier in this file if ( versionCompare(nodeVersion, '12.16.0') >= 0 && versionCompare(nodeVersion, '16') < 0 @@ -100,8 +103,12 @@ export default async function remove( _rmdir(path, { recursive: true, maxBusyTries: 10 } as any, next) }) } else { - // no builtin option exists, so use workaround - exec(`rm -rf ${JSON.stringify(path)}`, next) + // no builtin option exists, so use platform-specific workarounds + // rmdir: https://learn.microsoft.com/en-us/previous-versions/windows/it-pro/windows-xp/bb490990(v=technet.10)?redirectedfrom=MSDN + exec( + `${isWindows ? `rmdir /s /q` : `rm -rf`} ${JSON.stringify(path)}`, + next + ) } }) })