From 1315a58449808615a4c0066258cd95f81d86925f Mon Sep 17 00:00:00 2001 From: Sebastian Pekarek Date: Thu, 17 Aug 2023 18:31:53 +0200 Subject: [PATCH 01/39] ci: Update node.js versions --- .github/workflows/test-release.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/test-release.yml b/.github/workflows/test-release.yml index 678dd41e1..e5539293d 100644 --- a/.github/workflows/test-release.yml +++ b/.github/workflows/test-release.yml @@ -15,7 +15,7 @@ jobs: if: github.repository != 'sebbo2002/js-template' && (contains(toJson(github.event.commits.*.message), '[skip ci]') == false || github.ref == 'refs/heads/main') strategy: matrix: - node: [14.x, 16.x, 18.x] + node: [16.x, 18.x, 20.x] steps: - name: ☁️ Checkout Project uses: actions/checkout@v3 @@ -78,7 +78,7 @@ jobs: - name: 🔧 Setup node.js uses: actions/setup-node@v3 with: - node-version: 18 + node-version: 20.x cache: 'npm' - name: 📦 Install dependencies run: npm ci From a26e52b65d248a10afe0ec2ad4037c1905dc188b Mon Sep 17 00:00:00 2001 From: "depfu[bot]" <23717796+depfu[bot]@users.noreply.github.com> Date: Tue, 22 Aug 2023 08:13:12 +0000 Subject: [PATCH 02/39] Update all development npm dependencies (2023-08-22) (#510) --- package-lock.json | 437 +++++++++++++++++----------------------------- package.json | 8 +- 2 files changed, 166 insertions(+), 279 deletions(-) diff --git a/package-lock.json b/package-lock.json index a00f03451..0740d8d8d 100644 --- a/package-lock.json +++ b/package-lock.json @@ -12,7 +12,7 @@ "uuid-random": "^1.3.2" }, "devDependencies": { - "@qiwi/semantic-release-gh-pages-plugin": "^5.2.6", + "@qiwi/semantic-release-gh-pages-plugin": "^5.2.8", "@semantic-release/changelog": "^6.0.3", "@semantic-release/exec": "^6.0.3", "@semantic-release/git": "^10.0.1", @@ -20,16 +20,16 @@ "@touch4it/ical-timezones": "^1.9.0", "@types/luxon": "^3.3.1", "@types/mocha": "^10.0.1", - "@types/node": "^20.4.2", + "@types/node": "^20.5.1", "@typescript-eslint/eslint-plugin": "^6.2.1", "@typescript-eslint/parser": "^6.2.1", "c8": "^8.0.1", "dayjs": "^1.11.9", - "eslint": "^8.45.0", + "eslint": "^8.47.0", "eslint-plugin-jsonc": "^2.9.0", "esm": "^3.2.25", "license-checker": "^25.0.1", - "luxon": "^3.3.0", + "luxon": "^3.4.0", "mocha": "^10.2.0", "mochawesome": "^7.1.3", "moment": "^2.29.4", @@ -939,9 +939,9 @@ } }, "node_modules/@eslint/eslintrc": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.1.0.tgz", - "integrity": "sha512-Lj7DECXqIVCqnqjjHMPna4vn6GJcMgul/wuS0je9OZ9gsL0zzDpKPVtcG1HaDVc+9y+qgXneTeUMbCqXJNpH1A==", + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.1.2.tgz", + "integrity": "sha512-+wvgpDsrB1YqAMdEUCcnTlpfVBH7Vqn6A/NT3D8WVXFIaKMlErPIZT3oCIAVCOtarRpMtelZLqJeU3t7WY6X6g==", "dev": true, "dependencies": { "ajv": "^6.12.4", @@ -980,9 +980,9 @@ } }, "node_modules/@eslint/js": { - "version": "8.44.0", - "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.44.0.tgz", - "integrity": "sha512-Ag+9YM4ocKQx9AarydN0KY2j0ErMHNIocPDrVo8zAE44xLTjEtz81OdR68/cydGtk6m6jDb5Za3r2useMzYmSw==", + "version": "8.47.0", + "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.47.0.tgz", + "integrity": "sha512-P6omY1zv5MItm93kLM8s2vr1HICJH8v0dvddDhysbIuZ+vcjOHg5Zbkf1mTkcmi2JA9oBG2anOkRnW8WJTS8Og==", "dev": true, "engines": { "node": "^12.22.0 || ^14.17.0 || >=16.0.0" @@ -1348,9 +1348,9 @@ } }, "node_modules/@qiwi/semantic-release-gh-pages-plugin": { - "version": "5.2.6", - "resolved": "https://registry.npmjs.org/@qiwi/semantic-release-gh-pages-plugin/-/semantic-release-gh-pages-plugin-5.2.6.tgz", - "integrity": "sha512-D3zOzTMbzdzv/NXraEVdvmA4Tn125udIK6FDn3pqKsBAIGGZ5ypu1jVPuJrZ6V/e8uT9IOIYnz3phqkBBT3Lfg==", + "version": "5.2.8", + "resolved": "https://registry.npmjs.org/@qiwi/semantic-release-gh-pages-plugin/-/semantic-release-gh-pages-plugin-5.2.8.tgz", + "integrity": "sha512-nUxPladlyQ0rK8JdQdAbxYBx3YG/68CsCKTuOC6VsuAAcnPSstjiLfmrAvu5GOyYSW4Qg3+kVMbZeYFQgJM6VA==", "dev": true, "dependencies": { "@qiwi/substrate": "^2.0.4", @@ -1362,13 +1362,13 @@ "aggregate-error": "^3.1.0", "debug": "^4.3.4", "execa": "^5.1.1", - "gh-pages": "^5.0.0", - "git-url-parse": "^12.0.0", + "gh-pages": "^6.0.0", + "git-url-parse": "^13.1.0", "lodash": "^4.17.21", "queuefy": "^1.2.1", "read-pkg": "^5.2.0", "then-request": "^6.0.2", - "tslib": "^2.6.0" + "tslib": "^2.6.1" } }, "node_modules/@qiwi/substrate": { @@ -2259,9 +2259,9 @@ "dev": true }, "node_modules/@types/node": { - "version": "20.4.2", - "resolved": "https://registry.npmjs.org/@types/node/-/node-20.4.2.tgz", - "integrity": "sha512-Dd0BYtWgnWJKwO1jkmTrzofjK2QXXcai0dmtzvIBhcA+RsG5h8R3xlyta0kGOZRNfL9GuRtb1knmPEhQrePCEw==", + "version": "20.5.1", + "resolved": "https://registry.npmjs.org/@types/node/-/node-20.5.1.tgz", + "integrity": "sha512-4tT2UrL5LBqDwoed9wZ6N3umC4Yhz3W3FloMmiiG4JwmUJWpie0c7lcnUNd4gtMKuDEO4wRVS8B6Xa0uMRsMKg==", "dev": true }, "node_modules/@types/normalize-package-data": { @@ -3133,10 +3133,13 @@ } }, "node_modules/commander": { - "version": "2.20.3", - "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", - "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", - "dev": true + "version": "11.0.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-11.0.0.tgz", + "integrity": "sha512-9HMlXtt/BNoYr8ooyjjNRdIilOTkVJXB+GhxMTtOKwk0R4j4lS4NpjuqmRxroBfnfTSHQIHQB7wryHhXarNjmQ==", + "dev": true, + "engines": { + "node": ">=16" + } }, "node_modules/commondir": { "version": "1.0.1", @@ -3757,27 +3760,27 @@ } }, "node_modules/eslint": { - "version": "8.45.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.45.0.tgz", - "integrity": "sha512-pd8KSxiQpdYRfYa9Wufvdoct3ZPQQuVuU5O6scNgMuOMYuxvH0IGaYK0wUFjo4UYYQQCUndlXiMbnxopwvvTiw==", + "version": "8.47.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.47.0.tgz", + "integrity": "sha512-spUQWrdPt+pRVP1TTJLmfRNJJHHZryFmptzcafwSvHsceV81djHOdnEeDmkdotZyLNjDhrOasNK8nikkoG1O8Q==", "dev": true, "dependencies": { "@eslint-community/eslint-utils": "^4.2.0", - "@eslint-community/regexpp": "^4.4.0", - "@eslint/eslintrc": "^2.1.0", - "@eslint/js": "8.44.0", + "@eslint-community/regexpp": "^4.6.1", + "@eslint/eslintrc": "^2.1.2", + "@eslint/js": "^8.47.0", "@humanwhocodes/config-array": "^0.11.10", "@humanwhocodes/module-importer": "^1.0.1", "@nodelib/fs.walk": "^1.2.8", - "ajv": "^6.10.0", + "ajv": "^6.12.4", "chalk": "^4.0.0", "cross-spawn": "^7.0.2", "debug": "^4.3.2", "doctrine": "^3.0.0", "escape-string-regexp": "^4.0.0", - "eslint-scope": "^7.2.0", - "eslint-visitor-keys": "^3.4.1", - "espree": "^9.6.0", + "eslint-scope": "^7.2.2", + "eslint-visitor-keys": "^3.4.3", + "espree": "^9.6.1", "esquery": "^1.4.2", "esutils": "^2.0.2", "fast-deep-equal": "^3.1.3", @@ -3830,11 +3833,15 @@ "eslint": ">=6.0.0" } }, - "node_modules/eslint-visitor-keys": { - "version": "3.4.1", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.1.tgz", - "integrity": "sha512-pZnmmLwYzf+kWaM/Qgrvpen51upAktaaiI01nsJD/Yr3lMOdNtq0cxkrrg16w64VtisN6okbs7Q8AfGqj4c9fA==", + "node_modules/eslint-scope": { + "version": "7.2.2", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.2.2.tgz", + "integrity": "sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==", "dev": true, + "dependencies": { + "esrecurse": "^4.3.0", + "estraverse": "^5.2.0" + }, "engines": { "node": "^12.22.0 || ^14.17.0 || >=16.0.0" }, @@ -3842,21 +3849,11 @@ "url": "https://opencollective.com/eslint" } }, - "node_modules/eslint/node_modules/argparse": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", - "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", - "dev": true - }, - "node_modules/eslint/node_modules/eslint-scope": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.2.0.tgz", - "integrity": "sha512-DYj5deGlHBfMt15J7rdtyKNq/Nqlv5KfU4iodrQ019XESsRnwXH9KAE0y3cwtUHDo2ob7CypAnCqefh6vioWRw==", + "node_modules/eslint-visitor-keys": { + "version": "3.4.3", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz", + "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==", "dev": true, - "dependencies": { - "esrecurse": "^4.3.0", - "estraverse": "^5.2.0" - }, "engines": { "node": "^12.22.0 || ^14.17.0 || >=16.0.0" }, @@ -3864,14 +3861,11 @@ "url": "https://opencollective.com/eslint" } }, - "node_modules/eslint/node_modules/estraverse": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", - "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", - "dev": true, - "engines": { - "node": ">=4.0" - } + "node_modules/eslint/node_modules/argparse": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", + "dev": true }, "node_modules/eslint/node_modules/glob-parent": { "version": "6.0.2", @@ -3948,15 +3942,6 @@ "node": ">=0.10" } }, - "node_modules/esquery/node_modules/estraverse": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", - "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", - "dev": true, - "engines": { - "node": ">=4.0" - } - }, "node_modules/esrecurse": { "version": "4.3.0", "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", @@ -3969,10 +3954,10 @@ "node": ">=4.0" } }, - "node_modules/esrecurse/node_modules/estraverse": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.2.0.tgz", - "integrity": "sha512-BxbNGGNm0RyRYvUdHpIwv9IWzeM9XClbOxwoATuFdOE7ZE6wHL+HQ5T8hoPM+zHvmKzzsEqhgy0GrQ5X13afiQ==", + "node_modules/estraverse": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", "dev": true, "engines": { "node": ">=4.0" @@ -4277,9 +4262,9 @@ ] }, "node_modules/fs-extra": { - "version": "11.1.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-11.1.0.tgz", - "integrity": "sha512-0rcTq621PD5jM/e0a3EJoGC/1TC5ZBCERW82LQuwfGnCa1V8w7dpYH1yNu+SLb6E5dkeCBzKEyLGlFrnr+dUyw==", + "version": "11.1.1", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-11.1.1.tgz", + "integrity": "sha512-MGIE4HOvQCeUCzmlHs0vXpih4ysz4wg9qiSAu6cd42lVwPbTM1TjV7RusoyQqMmk/95gdQZX72u+YW+c3eEpFQ==", "dev": true, "dependencies": { "graceful-fs": "^4.2.0", @@ -4376,17 +4361,17 @@ } }, "node_modules/gh-pages": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/gh-pages/-/gh-pages-5.0.0.tgz", - "integrity": "sha512-Nqp1SjkPIB94Xw/3yYNTUL+G2dxlhjvv1zeN/4kMC1jfViTEqhtVz/Ba1zSXHuvXCN9ADNS1dN4r5/J/nZWEQQ==", + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/gh-pages/-/gh-pages-6.0.0.tgz", + "integrity": "sha512-FXZWJRsvP/fK2HJGY+Di6FRNHvqFF6gOIELaopDjXXgjeOYSNURcuYwEO/6bwuq6koP5Lnkvnr5GViXzuOB89g==", "dev": true, "dependencies": { "async": "^3.2.4", - "commander": "^2.18.0", + "commander": "^11.0.0", "email-addresses": "^5.0.0", "filenamify": "^4.3.0", "find-cache-dir": "^3.3.1", - "fs-extra": "^8.1.0", + "fs-extra": "^11.1.1", "globby": "^6.1.0" }, "bin": { @@ -4415,20 +4400,6 @@ "integrity": "sha512-iAB+JbDEGXhyIUavoDl9WP/Jj106Kz9DEn1DPgYw5ruDn0e3Wgi3sKFm55sASdGBNOQB8F59d9qQ7deqrHA8wQ==", "dev": true }, - "node_modules/gh-pages/node_modules/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, - "dependencies": { - "graceful-fs": "^4.2.0", - "jsonfile": "^4.0.0", - "universalify": "^0.1.0" - }, - "engines": { - "node": ">=6 <7 || >=8" - } - }, "node_modules/gh-pages/node_modules/globby": { "version": "6.1.0", "resolved": "https://registry.npmjs.org/globby/-/globby-6.1.0.tgz", @@ -4445,15 +4416,6 @@ "node": ">=0.10.0" } }, - "node_modules/gh-pages/node_modules/jsonfile": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", - "integrity": "sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==", - "dev": true, - "optionalDependencies": { - "graceful-fs": "^4.1.6" - } - }, "node_modules/gh-pages/node_modules/pify": { "version": "2.3.0", "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", @@ -4463,15 +4425,6 @@ "node": ">=0.10.0" } }, - "node_modules/gh-pages/node_modules/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, - "engines": { - "node": ">= 4.0.0" - } - }, "node_modules/git-log-parser": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/git-log-parser/-/git-log-parser-1.2.0.tgz", @@ -4506,22 +4459,22 @@ } }, "node_modules/git-up": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/git-up/-/git-up-6.0.0.tgz", - "integrity": "sha512-6RUFSNd1c/D0xtGnyWN2sxza2bZtZ/EmI9448n6rCZruFwV/ezeEn2fJP7XnUQGwf0RAtd/mmUCbtH6JPYA2SA==", + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/git-up/-/git-up-7.0.0.tgz", + "integrity": "sha512-ONdIrbBCFusq1Oy0sC71F5azx8bVkvtZtMJAsv+a6lz5YAmbNnLD6HAB4gptHZVLPR8S2/kVN6Gab7lryq5+lQ==", "dev": true, "dependencies": { "is-ssh": "^1.4.0", - "parse-url": "^7.0.2" + "parse-url": "^8.1.0" } }, "node_modules/git-url-parse": { - "version": "12.0.0", - "resolved": "https://registry.npmjs.org/git-url-parse/-/git-url-parse-12.0.0.tgz", - "integrity": "sha512-I6LMWsxV87vysX1WfsoglXsXg6GjQRKq7+Dgiseo+h0skmp5Hp2rzmcEIRQot9CPA+uzU7x1x7jZdqvTFGnB+Q==", + "version": "13.1.0", + "resolved": "https://registry.npmjs.org/git-url-parse/-/git-url-parse-13.1.0.tgz", + "integrity": "sha512-5FvPJP/70WkIprlUZ33bm4UAaFdjcLkJLpWft1BeZKqwR0uhhNGoKwlUaPtVb4LxCSQ++erHapRak9kWGj+FCA==", "dev": true, "dependencies": { - "git-up": "^6.0.0" + "git-up": "^7.0.0" } }, "node_modules/glob": { @@ -4557,9 +4510,9 @@ } }, "node_modules/globals": { - "version": "13.20.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-13.20.0.tgz", - "integrity": "sha512-Qg5QtVkCy/kv3FUSlu4ukeZDVf9ee0iXLAUYX13gbR17bnejFTzr4iS9bY7kwCf1NztRNm1t91fjOiyx4CSwPQ==", + "version": "13.21.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-13.21.0.tgz", + "integrity": "sha512-ybyme3s4yy/t/3s35bewwXKOf7cvzfreG2lH0lZl0JB7I4GxRP2ghxOK/Nb9EkRXdbBXZLfq/p/0W2JUONB/Gg==", "dev": true, "dependencies": { "type-fest": "^0.20.2" @@ -5698,9 +5651,9 @@ "dev": true }, "node_modules/luxon": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/luxon/-/luxon-3.3.0.tgz", - "integrity": "sha512-An0UCfG/rSiqtAIiBPO0Y9/zAnHUZxAMiCpTd5h2smgsj7GGmcenvrvww2cqNA8/4A5ZrD1gJpHN2mIHZQF+Mg==", + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/luxon/-/luxon-3.4.0.tgz", + "integrity": "sha512-7eDo4Pt7aGhoCheGFIuq4Xa2fJm4ZpmldpGhjTYBNUYNCN6TIEP6v7chwwwt3KRp7YR+rghbfvjyo3V5y9hgBw==", "dev": true, "engines": { "node": ">=12" @@ -6344,18 +6297,6 @@ "node": ">=0.10.0" } }, - "node_modules/normalize-url": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-6.1.0.tgz", - "integrity": "sha512-DlL+XwOy3NxAQ8xuC0okPgK46iuVNAK01YN7RueYBqqFeGsBjV9XmCAzAdgt+667bCl5kPh9EqKKDwnaPG1I7A==", - "dev": true, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/npm": { "version": "9.6.3", "resolved": "https://registry.npmjs.org/npm/-/npm-9.6.3.tgz", @@ -9819,24 +9760,21 @@ } }, "node_modules/parse-path": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/parse-path/-/parse-path-5.0.0.tgz", - "integrity": "sha512-qOpH55/+ZJ4jUu/oLO+ifUKjFPNZGfnPJtzvGzKN/4oLMil5m9OH4VpOj6++9/ytJcfks4kzH2hhi87GL/OU9A==", + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/parse-path/-/parse-path-7.0.0.tgz", + "integrity": "sha512-Euf9GG8WT9CdqwuWJGdf3RkUcTBArppHABkO7Lm8IzRQp0e2r/kkFnmhu4TSK30Wcu5rVAZLmfPKSBBi9tWFog==", "dev": true, "dependencies": { "protocols": "^2.0.0" } }, "node_modules/parse-url": { - "version": "7.0.2", - "resolved": "https://registry.npmjs.org/parse-url/-/parse-url-7.0.2.tgz", - "integrity": "sha512-PqO4Z0eCiQ08Wj6QQmrmp5YTTxpYfONdOEamrtvK63AmzXpcavIVQubGHxOEwiIoDZFb8uDOoQFS0NCcjqIYQg==", + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/parse-url/-/parse-url-8.1.0.tgz", + "integrity": "sha512-xDvOoLU5XRrcOZvnI6b8zA6n9O9ejNk/GExuz1yBuWUGn9KA97GI6HTs6u02wKara1CeVmZhH+0TZFdWScR89w==", "dev": true, "dependencies": { - "is-ssh": "^1.4.0", - "normalize-url": "^6.1.0", - "parse-path": "^5.0.0", - "protocols": "^2.0.1" + "parse-path": "^7.0.0" } }, "node_modules/path-exists": { @@ -13128,9 +13066,9 @@ "dev": true }, "@eslint/eslintrc": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.1.0.tgz", - "integrity": "sha512-Lj7DECXqIVCqnqjjHMPna4vn6GJcMgul/wuS0je9OZ9gsL0zzDpKPVtcG1HaDVc+9y+qgXneTeUMbCqXJNpH1A==", + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.1.2.tgz", + "integrity": "sha512-+wvgpDsrB1YqAMdEUCcnTlpfVBH7Vqn6A/NT3D8WVXFIaKMlErPIZT3oCIAVCOtarRpMtelZLqJeU3t7WY6X6g==", "dev": true, "requires": { "ajv": "^6.12.4", @@ -13162,9 +13100,9 @@ } }, "@eslint/js": { - "version": "8.44.0", - "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.44.0.tgz", - "integrity": "sha512-Ag+9YM4ocKQx9AarydN0KY2j0ErMHNIocPDrVo8zAE44xLTjEtz81OdR68/cydGtk6m6jDb5Za3r2useMzYmSw==", + "version": "8.47.0", + "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.47.0.tgz", + "integrity": "sha512-P6omY1zv5MItm93kLM8s2vr1HICJH8v0dvddDhysbIuZ+vcjOHg5Zbkf1mTkcmi2JA9oBG2anOkRnW8WJTS8Og==", "dev": true }, "@humanwhocodes/config-array": { @@ -13441,9 +13379,9 @@ } }, "@qiwi/semantic-release-gh-pages-plugin": { - "version": "5.2.6", - "resolved": "https://registry.npmjs.org/@qiwi/semantic-release-gh-pages-plugin/-/semantic-release-gh-pages-plugin-5.2.6.tgz", - "integrity": "sha512-D3zOzTMbzdzv/NXraEVdvmA4Tn125udIK6FDn3pqKsBAIGGZ5ypu1jVPuJrZ6V/e8uT9IOIYnz3phqkBBT3Lfg==", + "version": "5.2.8", + "resolved": "https://registry.npmjs.org/@qiwi/semantic-release-gh-pages-plugin/-/semantic-release-gh-pages-plugin-5.2.8.tgz", + "integrity": "sha512-nUxPladlyQ0rK8JdQdAbxYBx3YG/68CsCKTuOC6VsuAAcnPSstjiLfmrAvu5GOyYSW4Qg3+kVMbZeYFQgJM6VA==", "dev": true, "requires": { "@qiwi/substrate": "^2.0.4", @@ -13455,13 +13393,13 @@ "aggregate-error": "^3.1.0", "debug": "^4.3.4", "execa": "^5.1.1", - "gh-pages": "^5.0.0", - "git-url-parse": "^12.0.0", + "gh-pages": "^6.0.0", + "git-url-parse": "^13.1.0", "lodash": "^4.17.21", "queuefy": "^1.2.1", "read-pkg": "^5.2.0", "then-request": "^6.0.2", - "tslib": "^2.6.0" + "tslib": "^2.6.1" } }, "@qiwi/substrate": { @@ -14102,9 +14040,9 @@ "dev": true }, "@types/node": { - "version": "20.4.2", - "resolved": "https://registry.npmjs.org/@types/node/-/node-20.4.2.tgz", - "integrity": "sha512-Dd0BYtWgnWJKwO1jkmTrzofjK2QXXcai0dmtzvIBhcA+RsG5h8R3xlyta0kGOZRNfL9GuRtb1knmPEhQrePCEw==", + "version": "20.5.1", + "resolved": "https://registry.npmjs.org/@types/node/-/node-20.5.1.tgz", + "integrity": "sha512-4tT2UrL5LBqDwoed9wZ6N3umC4Yhz3W3FloMmiiG4JwmUJWpie0c7lcnUNd4gtMKuDEO4wRVS8B6Xa0uMRsMKg==", "dev": true }, "@types/normalize-package-data": { @@ -14732,9 +14670,9 @@ } }, "commander": { - "version": "2.20.3", - "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", - "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", + "version": "11.0.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-11.0.0.tgz", + "integrity": "sha512-9HMlXtt/BNoYr8ooyjjNRdIilOTkVJXB+GhxMTtOKwk0R4j4lS4NpjuqmRxroBfnfTSHQIHQB7wryHhXarNjmQ==", "dev": true }, "commondir": { @@ -15213,27 +15151,27 @@ "dev": true }, "eslint": { - "version": "8.45.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.45.0.tgz", - "integrity": "sha512-pd8KSxiQpdYRfYa9Wufvdoct3ZPQQuVuU5O6scNgMuOMYuxvH0IGaYK0wUFjo4UYYQQCUndlXiMbnxopwvvTiw==", + "version": "8.47.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.47.0.tgz", + "integrity": "sha512-spUQWrdPt+pRVP1TTJLmfRNJJHHZryFmptzcafwSvHsceV81djHOdnEeDmkdotZyLNjDhrOasNK8nikkoG1O8Q==", "dev": true, "requires": { "@eslint-community/eslint-utils": "^4.2.0", - "@eslint-community/regexpp": "^4.4.0", - "@eslint/eslintrc": "^2.1.0", - "@eslint/js": "8.44.0", + "@eslint-community/regexpp": "^4.6.1", + "@eslint/eslintrc": "^2.1.2", + "@eslint/js": "^8.47.0", "@humanwhocodes/config-array": "^0.11.10", "@humanwhocodes/module-importer": "^1.0.1", "@nodelib/fs.walk": "^1.2.8", - "ajv": "^6.10.0", + "ajv": "^6.12.4", "chalk": "^4.0.0", "cross-spawn": "^7.0.2", "debug": "^4.3.2", "doctrine": "^3.0.0", "escape-string-regexp": "^4.0.0", - "eslint-scope": "^7.2.0", - "eslint-visitor-keys": "^3.4.1", - "espree": "^9.6.0", + "eslint-scope": "^7.2.2", + "eslint-visitor-keys": "^3.4.3", + "espree": "^9.6.1", "esquery": "^1.4.2", "esutils": "^2.0.2", "fast-deep-equal": "^3.1.3", @@ -15263,22 +15201,6 @@ "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", "dev": true }, - "eslint-scope": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.2.0.tgz", - "integrity": "sha512-DYj5deGlHBfMt15J7rdtyKNq/Nqlv5KfU4iodrQ019XESsRnwXH9KAE0y3cwtUHDo2ob7CypAnCqefh6vioWRw==", - "dev": true, - "requires": { - "esrecurse": "^4.3.0", - "estraverse": "^5.2.0" - } - }, - "estraverse": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", - "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", - "dev": true - }, "glob-parent": { "version": "6.0.2", "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", @@ -15310,10 +15232,20 @@ "natural-compare": "^1.4.0" } }, + "eslint-scope": { + "version": "7.2.2", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.2.2.tgz", + "integrity": "sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==", + "dev": true, + "requires": { + "esrecurse": "^4.3.0", + "estraverse": "^5.2.0" + } + }, "eslint-visitor-keys": { - "version": "3.4.1", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.1.tgz", - "integrity": "sha512-pZnmmLwYzf+kWaM/Qgrvpen51upAktaaiI01nsJD/Yr3lMOdNtq0cxkrrg16w64VtisN6okbs7Q8AfGqj4c9fA==", + "version": "3.4.3", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz", + "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==", "dev": true }, "esm": { @@ -15346,14 +15278,6 @@ "dev": true, "requires": { "estraverse": "^5.1.0" - }, - "dependencies": { - "estraverse": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", - "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", - "dev": true - } } }, "esrecurse": { @@ -15363,16 +15287,14 @@ "dev": true, "requires": { "estraverse": "^5.2.0" - }, - "dependencies": { - "estraverse": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.2.0.tgz", - "integrity": "sha512-BxbNGGNm0RyRYvUdHpIwv9IWzeM9XClbOxwoATuFdOE7ZE6wHL+HQ5T8hoPM+zHvmKzzsEqhgy0GrQ5X13afiQ==", - "dev": true - } } }, + "estraverse": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", + "dev": true + }, "esutils": { "version": "2.0.3", "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", @@ -15585,9 +15507,9 @@ "dev": true }, "fs-extra": { - "version": "11.1.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-11.1.0.tgz", - "integrity": "sha512-0rcTq621PD5jM/e0a3EJoGC/1TC5ZBCERW82LQuwfGnCa1V8w7dpYH1yNu+SLb6E5dkeCBzKEyLGlFrnr+dUyw==", + "version": "11.1.1", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-11.1.1.tgz", + "integrity": "sha512-MGIE4HOvQCeUCzmlHs0vXpih4ysz4wg9qiSAu6cd42lVwPbTM1TjV7RusoyQqMmk/95gdQZX72u+YW+c3eEpFQ==", "dev": true, "requires": { "graceful-fs": "^4.2.0", @@ -15656,17 +15578,17 @@ "dev": true }, "gh-pages": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/gh-pages/-/gh-pages-5.0.0.tgz", - "integrity": "sha512-Nqp1SjkPIB94Xw/3yYNTUL+G2dxlhjvv1zeN/4kMC1jfViTEqhtVz/Ba1zSXHuvXCN9ADNS1dN4r5/J/nZWEQQ==", + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/gh-pages/-/gh-pages-6.0.0.tgz", + "integrity": "sha512-FXZWJRsvP/fK2HJGY+Di6FRNHvqFF6gOIELaopDjXXgjeOYSNURcuYwEO/6bwuq6koP5Lnkvnr5GViXzuOB89g==", "dev": true, "requires": { "async": "^3.2.4", - "commander": "^2.18.0", + "commander": "^11.0.0", "email-addresses": "^5.0.0", "filenamify": "^4.3.0", "find-cache-dir": "^3.3.1", - "fs-extra": "^8.1.0", + "fs-extra": "^11.1.1", "globby": "^6.1.0" }, "dependencies": { @@ -15685,17 +15607,6 @@ "integrity": "sha512-iAB+JbDEGXhyIUavoDl9WP/Jj106Kz9DEn1DPgYw5ruDn0e3Wgi3sKFm55sASdGBNOQB8F59d9qQ7deqrHA8wQ==", "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==", - "dev": true, - "requires": { - "graceful-fs": "^4.2.0", - "jsonfile": "^4.0.0", - "universalify": "^0.1.0" - } - }, "globby": { "version": "6.1.0", "resolved": "https://registry.npmjs.org/globby/-/globby-6.1.0.tgz", @@ -15709,26 +15620,11 @@ "pinkie-promise": "^2.0.0" } }, - "jsonfile": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", - "integrity": "sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==", - "dev": true, - "requires": { - "graceful-fs": "^4.1.6" - } - }, "pify": { "version": "2.3.0", "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", "integrity": "sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==", "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==", - "dev": true } } }, @@ -15768,22 +15664,22 @@ } }, "git-up": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/git-up/-/git-up-6.0.0.tgz", - "integrity": "sha512-6RUFSNd1c/D0xtGnyWN2sxza2bZtZ/EmI9448n6rCZruFwV/ezeEn2fJP7XnUQGwf0RAtd/mmUCbtH6JPYA2SA==", + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/git-up/-/git-up-7.0.0.tgz", + "integrity": "sha512-ONdIrbBCFusq1Oy0sC71F5azx8bVkvtZtMJAsv+a6lz5YAmbNnLD6HAB4gptHZVLPR8S2/kVN6Gab7lryq5+lQ==", "dev": true, "requires": { "is-ssh": "^1.4.0", - "parse-url": "^7.0.2" + "parse-url": "^8.1.0" } }, "git-url-parse": { - "version": "12.0.0", - "resolved": "https://registry.npmjs.org/git-url-parse/-/git-url-parse-12.0.0.tgz", - "integrity": "sha512-I6LMWsxV87vysX1WfsoglXsXg6GjQRKq7+Dgiseo+h0skmp5Hp2rzmcEIRQot9CPA+uzU7x1x7jZdqvTFGnB+Q==", + "version": "13.1.0", + "resolved": "https://registry.npmjs.org/git-url-parse/-/git-url-parse-13.1.0.tgz", + "integrity": "sha512-5FvPJP/70WkIprlUZ33bm4UAaFdjcLkJLpWft1BeZKqwR0uhhNGoKwlUaPtVb4LxCSQ++erHapRak9kWGj+FCA==", "dev": true, "requires": { - "git-up": "^6.0.0" + "git-up": "^7.0.0" } }, "glob": { @@ -15810,9 +15706,9 @@ } }, "globals": { - "version": "13.20.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-13.20.0.tgz", - "integrity": "sha512-Qg5QtVkCy/kv3FUSlu4ukeZDVf9ee0iXLAUYX13gbR17bnejFTzr4iS9bY7kwCf1NztRNm1t91fjOiyx4CSwPQ==", + "version": "13.21.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-13.21.0.tgz", + "integrity": "sha512-ybyme3s4yy/t/3s35bewwXKOf7cvzfreG2lH0lZl0JB7I4GxRP2ghxOK/Nb9EkRXdbBXZLfq/p/0W2JUONB/Gg==", "dev": true, "requires": { "type-fest": "^0.20.2" @@ -16690,9 +16586,9 @@ "dev": true }, "luxon": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/luxon/-/luxon-3.3.0.tgz", - "integrity": "sha512-An0UCfG/rSiqtAIiBPO0Y9/zAnHUZxAMiCpTd5h2smgsj7GGmcenvrvww2cqNA8/4A5ZrD1gJpHN2mIHZQF+Mg==", + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/luxon/-/luxon-3.4.0.tgz", + "integrity": "sha512-7eDo4Pt7aGhoCheGFIuq4Xa2fJm4ZpmldpGhjTYBNUYNCN6TIEP6v7chwwwt3KRp7YR+rghbfvjyo3V5y9hgBw==", "dev": true }, "make-dir": { @@ -17185,12 +17081,6 @@ "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", "dev": true }, - "normalize-url": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-6.1.0.tgz", - "integrity": "sha512-DlL+XwOy3NxAQ8xuC0okPgK46iuVNAK01YN7RueYBqqFeGsBjV9XmCAzAdgt+667bCl5kPh9EqKKDwnaPG1I7A==", - "dev": true - }, "npm": { "version": "9.6.3", "resolved": "https://registry.npmjs.org/npm/-/npm-9.6.3.tgz", @@ -19580,24 +19470,21 @@ } }, "parse-path": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/parse-path/-/parse-path-5.0.0.tgz", - "integrity": "sha512-qOpH55/+ZJ4jUu/oLO+ifUKjFPNZGfnPJtzvGzKN/4oLMil5m9OH4VpOj6++9/ytJcfks4kzH2hhi87GL/OU9A==", + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/parse-path/-/parse-path-7.0.0.tgz", + "integrity": "sha512-Euf9GG8WT9CdqwuWJGdf3RkUcTBArppHABkO7Lm8IzRQp0e2r/kkFnmhu4TSK30Wcu5rVAZLmfPKSBBi9tWFog==", "dev": true, "requires": { "protocols": "^2.0.0" } }, "parse-url": { - "version": "7.0.2", - "resolved": "https://registry.npmjs.org/parse-url/-/parse-url-7.0.2.tgz", - "integrity": "sha512-PqO4Z0eCiQ08Wj6QQmrmp5YTTxpYfONdOEamrtvK63AmzXpcavIVQubGHxOEwiIoDZFb8uDOoQFS0NCcjqIYQg==", + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/parse-url/-/parse-url-8.1.0.tgz", + "integrity": "sha512-xDvOoLU5XRrcOZvnI6b8zA6n9O9ejNk/GExuz1yBuWUGn9KA97GI6HTs6u02wKara1CeVmZhH+0TZFdWScR89w==", "dev": true, "requires": { - "is-ssh": "^1.4.0", - "normalize-url": "^6.1.0", - "parse-path": "^5.0.0", - "protocols": "^2.0.1" + "parse-path": "^7.0.0" } }, "path-exists": { diff --git a/package.json b/package.json index 2141b3a26..8f1151607 100644 --- a/package.json +++ b/package.json @@ -8,7 +8,7 @@ }, "description": "ical-generator is a small piece of code which generates ical calendar files", "devDependencies": { - "@qiwi/semantic-release-gh-pages-plugin": "^5.2.6", + "@qiwi/semantic-release-gh-pages-plugin": "^5.2.8", "@semantic-release/changelog": "^6.0.3", "@semantic-release/exec": "^6.0.3", "@semantic-release/git": "^10.0.1", @@ -16,16 +16,16 @@ "@touch4it/ical-timezones": "^1.9.0", "@types/luxon": "^3.3.1", "@types/mocha": "^10.0.1", - "@types/node": "^20.4.2", + "@types/node": "^20.5.1", "@typescript-eslint/eslint-plugin": "^6.2.1", "@typescript-eslint/parser": "^6.2.1", "c8": "^8.0.1", "dayjs": "^1.11.9", - "eslint": "^8.45.0", + "eslint": "^8.47.0", "eslint-plugin-jsonc": "^2.9.0", "esm": "^3.2.25", "license-checker": "^25.0.1", - "luxon": "^3.3.0", + "luxon": "^3.4.0", "mocha": "^10.2.0", "mochawesome": "^7.1.3", "moment": "^2.29.4", From 91c2ab59d0559a060c11d07973382c465dd3345d Mon Sep 17 00:00:00 2001 From: Sebastian Pekarek Date: Tue, 22 Aug 2023 21:39:14 +0200 Subject: [PATCH 03/39] Revert "ci: Downgrade is-semantic-release till it's fixed" This reverts commit 87d5a15b792ce9c9c75d2ec657d3691a8eafc1a0. --- .github/workflows/is-semantic-pr.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/is-semantic-pr.yml b/.github/workflows/is-semantic-pr.yml index a41a36975..2a8f41259 100644 --- a/.github/workflows/is-semantic-pr.yml +++ b/.github/workflows/is-semantic-pr.yml @@ -8,6 +8,6 @@ jobs: if: ${{ startsWith(github.head_ref, 'depfu/batch_dev/') != true }} steps: - name: 🤖 is-semantic-release - uses: sebbo2002/action-is-semantic-pr@v1.0.2 + uses: sebbo2002/action-is-semantic-pr@main with: token: ${{ secrets.GITHUB_TOKEN }} From 89721ff37e6b90f8677b49265513b473afbc0b9b Mon Sep 17 00:00:00 2001 From: semantic-release-bot Date: Wed, 23 Aug 2023 08:39:43 +0000 Subject: [PATCH 04/39] chore(release): :bookmark: 5.0.2-develop.1 [skip ci] ## [5.0.2-develop.1](https://github.com/sebbo2002/ical-generator/compare/v5.0.1...v5.0.2-develop.1) (2023-08-23) ### Reverts * Revert "ci: Downgrade is-semantic-release till it's fixed" ([91c2ab5](https://github.com/sebbo2002/ical-generator/commit/91c2ab59d0559a060c11d07973382c465dd3345d)) --- CHANGELOG.md | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index eb505080e..a8334155c 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,10 @@ +## [5.0.2-develop.1](https://github.com/sebbo2002/ical-generator/compare/v5.0.1...v5.0.2-develop.1) (2023-08-23) + + +### Reverts + +* Revert "ci: Downgrade is-semantic-release till it's fixed" ([91c2ab5](https://github.com/sebbo2002/ical-generator/commit/91c2ab59d0559a060c11d07973382c465dd3345d)) + ## [5.0.1](https://github.com/sebbo2002/ical-generator/compare/v5.0.0...v5.0.1) (2023-08-17) From abc5cb810967e207270049defca54148f66a5e39 Mon Sep 17 00:00:00 2001 From: Sebastian Pekarek Date: Thu, 24 Aug 2023 21:21:34 +0200 Subject: [PATCH 05/39] ci: Upgrade ReleaseBot's node.js version to v20 --- .github/workflows/release-bot.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/release-bot.yml b/.github/workflows/release-bot.yml index 685c0ae60..10ba8fa0f 100644 --- a/.github/workflows/release-bot.yml +++ b/.github/workflows/release-bot.yml @@ -21,7 +21,7 @@ jobs: - name: 🔧 Setup node uses: actions/setup-node@v3 with: - node-version: '14' + node-version: '20' cache: 'npm' - name: 📦 Install Dependencies run: npm ci From 331661ec48f6eecdf2e58ead4878147950242f3c Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 11 Sep 2023 04:21:22 +0000 Subject: [PATCH 06/39] ci(deps): bump actions/checkout from 3 to 4 Bumps [actions/checkout](https://github.com/actions/checkout) from 3 to 4. - [Release notes](https://github.com/actions/checkout/releases) - [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md) - [Commits](https://github.com/actions/checkout/compare/v3...v4) --- updated-dependencies: - dependency-name: actions/checkout dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] --- .github/workflows/release-bot.yml | 4 ++-- .github/workflows/test-release.yml | 8 ++++---- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/.github/workflows/release-bot.yml b/.github/workflows/release-bot.yml index 10ba8fa0f..23644bdea 100644 --- a/.github/workflows/release-bot.yml +++ b/.github/workflows/release-bot.yml @@ -12,9 +12,9 @@ jobs: if: ${{ github.repository != 'sebbo2002/js-template' }} steps: - name: ☁️ Checkout Project - uses: actions/checkout@v3 + uses: actions/checkout@v4 - name: ☁️ Checkout ReleaseBot - uses: actions/checkout@v3 + uses: actions/checkout@v4 with: repository: sebbo2002/release-bot path: ./.actions/release-bot diff --git a/.github/workflows/test-release.yml b/.github/workflows/test-release.yml index e5539293d..4a239c446 100644 --- a/.github/workflows/test-release.yml +++ b/.github/workflows/test-release.yml @@ -18,7 +18,7 @@ jobs: node: [16.x, 18.x, 20.x] steps: - name: ☁️ Checkout Project - uses: actions/checkout@v3 + uses: actions/checkout@v4 - name: 🔧 Setup node.js uses: actions/setup-node@v3 with: @@ -35,7 +35,7 @@ jobs: if: github.repository != 'sebbo2002/js-template' && (contains(toJson(github.event.commits.*.message), '[skip ci]') == false || github.ref == 'refs/heads/main') steps: - name: ☁️ Checkout Project - uses: actions/checkout@v3 + uses: actions/checkout@v4 - name: 🔧 Setup node.js uses: actions/setup-node@v3 with: @@ -53,7 +53,7 @@ jobs: if: contains(toJson(github.event.commits.*.message), '[skip ci]') == false || github.ref == 'refs/heads/main' steps: - name: ☁️ Checkout Project - uses: actions/checkout@v3 + uses: actions/checkout@v4 - name: 🔧 Setup node.js uses: actions/setup-node@v3 with: @@ -74,7 +74,7 @@ jobs: if: ${{ github.repository != 'sebbo2002/js-template' && (github.ref == 'refs/heads/main' || github.ref == 'refs/heads/develop') }} steps: - name: ☁️ Checkout Project - uses: actions/checkout@v3 + uses: actions/checkout@v4 - name: 🔧 Setup node.js uses: actions/setup-node@v3 with: From 247fb9de00032a6aee5c1bc84a6a830dffe8b2dd Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 11 Sep 2023 07:14:39 +0000 Subject: [PATCH 07/39] ci(deps): bump actions/checkout from 3 to 4 Bumps [actions/checkout](https://github.com/actions/checkout) from 3 to 4. - [Release notes](https://github.com/actions/checkout/releases) - [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md) - [Commits](https://github.com/actions/checkout/compare/v3...v4) --- updated-dependencies: - dependency-name: actions/checkout dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] --- .github/workflows/release-bot.yml | 4 ++-- .github/workflows/test-release.yml | 8 ++++---- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/.github/workflows/release-bot.yml b/.github/workflows/release-bot.yml index 10ba8fa0f..23644bdea 100644 --- a/.github/workflows/release-bot.yml +++ b/.github/workflows/release-bot.yml @@ -12,9 +12,9 @@ jobs: if: ${{ github.repository != 'sebbo2002/js-template' }} steps: - name: ☁️ Checkout Project - uses: actions/checkout@v3 + uses: actions/checkout@v4 - name: ☁️ Checkout ReleaseBot - uses: actions/checkout@v3 + uses: actions/checkout@v4 with: repository: sebbo2002/release-bot path: ./.actions/release-bot diff --git a/.github/workflows/test-release.yml b/.github/workflows/test-release.yml index 0342efa41..42d2f81b3 100644 --- a/.github/workflows/test-release.yml +++ b/.github/workflows/test-release.yml @@ -18,7 +18,7 @@ jobs: node: [16.x, 18.x, 20.x] steps: - name: ☁️ Checkout Project - uses: actions/checkout@v3 + uses: actions/checkout@v4 - name: 🔧 Setup node.js uses: actions/setup-node@v3 with: @@ -37,7 +37,7 @@ jobs: if: github.repository != 'sebbo2002/js-template' && (contains(toJson(github.event.commits.*.message), '[skip ci]') == false || github.ref == 'refs/heads/main') steps: - name: ☁️ Checkout Project - uses: actions/checkout@v3 + uses: actions/checkout@v4 - name: 🔧 Setup node.js uses: actions/setup-node@v3 with: @@ -55,7 +55,7 @@ jobs: if: contains(toJson(github.event.commits.*.message), '[skip ci]') == false || github.ref == 'refs/heads/main' steps: - name: ☁️ Checkout Project - uses: actions/checkout@v3 + uses: actions/checkout@v4 - name: 🔧 Setup node.js uses: actions/setup-node@v3 with: @@ -76,7 +76,7 @@ jobs: if: ${{ github.repository != 'sebbo2002/js-template' && (github.ref == 'refs/heads/main' || github.ref == 'refs/heads/develop') }} steps: - name: ☁️ Checkout Project - uses: actions/checkout@v3 + uses: actions/checkout@v4 - name: 🔧 Setup node.js uses: actions/setup-node@v3 with: From b6217d4265c94ca11c48b90e0eecfc08ca05e380 Mon Sep 17 00:00:00 2001 From: "depfu[bot]" <23717796+depfu[bot]@users.noreply.github.com> Date: Mon, 18 Sep 2023 16:41:35 +0000 Subject: [PATCH 08/39] Update all development npm dependencies (2023-08-29) (#513) --- .github/workflows/test-release.yml | 2 - package-lock.json | 582 +++++++++++++++++------------ package.json | 20 +- 3 files changed, 350 insertions(+), 254 deletions(-) diff --git a/.github/workflows/test-release.yml b/.github/workflows/test-release.yml index 0342efa41..e5539293d 100644 --- a/.github/workflows/test-release.yml +++ b/.github/workflows/test-release.yml @@ -24,8 +24,6 @@ jobs: with: node-version: ${{ matrix.node }} cache: 'npm' - - name: 🔧 Upgrade npm - run: npm install -g npm@latest - name: 📦 Install dependencies run: npm ci - name: ⏳ Run tests diff --git a/package-lock.json b/package-lock.json index 0740d8d8d..3f77f0049 100644 --- a/package-lock.json +++ b/package-lock.json @@ -16,20 +16,20 @@ "@semantic-release/changelog": "^6.0.3", "@semantic-release/exec": "^6.0.3", "@semantic-release/git": "^10.0.1", - "@semantic-release/npm": "^10.0.4", + "@semantic-release/npm": "^10.0.5", "@touch4it/ical-timezones": "^1.9.0", - "@types/luxon": "^3.3.1", + "@types/luxon": "^3.3.2", "@types/mocha": "^10.0.1", - "@types/node": "^20.5.1", - "@typescript-eslint/eslint-plugin": "^6.2.1", - "@typescript-eslint/parser": "^6.2.1", + "@types/node": "^20.5.8", + "@typescript-eslint/eslint-plugin": "^6.5.0", + "@typescript-eslint/parser": "^6.5.0", "c8": "^8.0.1", "dayjs": "^1.11.9", - "eslint": "^8.47.0", + "eslint": "^8.48.0", "eslint-plugin-jsonc": "^2.9.0", "esm": "^3.2.25", "license-checker": "^25.0.1", - "luxon": "^3.4.0", + "luxon": "^3.4.2", "mocha": "^10.2.0", "mochawesome": "^7.1.3", "moment": "^2.29.4", @@ -37,13 +37,13 @@ "nyc": "^15.1.0", "portfinder": "^1.0.32", "rrule": "^2.7.2", - "semantic-release": "^21.0.7", + "semantic-release": "^21.1.1", "semantic-release-license": "^1.0.2", "source-map-support": "^0.5.21", "ts-node": "^10.9.1", "tsup": "^7.2.0", - "typedoc": "^0.24.8", - "typescript": "^5.1.5" + "typedoc": "^0.25.0", + "typescript": "^5.2.2" }, "engines": { "node": "^16.0.0 || >=18.0.0" @@ -980,9 +980,9 @@ } }, "node_modules/@eslint/js": { - "version": "8.47.0", - "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.47.0.tgz", - "integrity": "sha512-P6omY1zv5MItm93kLM8s2vr1HICJH8v0dvddDhysbIuZ+vcjOHg5Zbkf1mTkcmi2JA9oBG2anOkRnW8WJTS8Og==", + "version": "8.48.0", + "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.48.0.tgz", + "integrity": "sha512-ZSjtmelB7IJfWD2Fvb7+Z+ChTIKWq6kjda95fLcQKNS5aheVHn4IkfgRQE3sIIzTcSLwLcLZUD9UBt+V7+h+Pw==", "dev": true, "engines": { "node": "^12.22.0 || ^14.17.0 || >=16.0.0" @@ -1685,14 +1685,14 @@ } }, "node_modules/@semantic-release/npm": { - "version": "10.0.4", - "resolved": "https://registry.npmjs.org/@semantic-release/npm/-/npm-10.0.4.tgz", - "integrity": "sha512-6R3timIQ7VoL2QWRkc9DG8v74RQtRp7UOe/2KbNaqwJ815qOibAv65bH3RtTEhs4axEaHoZf7HDgFs5opaZ9Jw==", + "version": "10.0.5", + "resolved": "https://registry.npmjs.org/@semantic-release/npm/-/npm-10.0.5.tgz", + "integrity": "sha512-cJnQ2M5pxJRwZEkb0A/+U3TG4UNmjrrLwV2PxJKljn5OPT0yJB8GzGgWbbKACayvxrT06YdTa4Amtq/piJcOIA==", "dev": true, "dependencies": { "@semantic-release/error": "^4.0.0", "aggregate-error": "^4.0.1", - "execa": "^7.0.0", + "execa": "^8.0.0", "fs-extra": "^11.0.0", "lodash-es": "^4.17.21", "nerf-dart": "^1.0.0", @@ -1755,28 +1755,40 @@ } }, "node_modules/@semantic-release/npm/node_modules/execa": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/execa/-/execa-7.1.1.tgz", - "integrity": "sha512-wH0eMf/UXckdUYnO21+HDztteVv05rq2GXksxT4fCGeHkBhw1DROXh40wcjMcRqDOWE7iPJ4n3M7e2+YFP+76Q==", + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/execa/-/execa-8.0.1.tgz", + "integrity": "sha512-VyhnebXciFV2DESc+p6B+y0LjSm0krU4OgJN44qFAhBY0TJ+1V61tYD2+wHusZ6F9n5K+vl8k0sTy7PEfV4qpg==", "dev": true, "dependencies": { "cross-spawn": "^7.0.3", - "get-stream": "^6.0.1", - "human-signals": "^4.3.0", + "get-stream": "^8.0.1", + "human-signals": "^5.0.0", "is-stream": "^3.0.0", "merge-stream": "^2.0.0", "npm-run-path": "^5.1.0", "onetime": "^6.0.0", - "signal-exit": "^3.0.7", + "signal-exit": "^4.1.0", "strip-final-newline": "^3.0.0" }, "engines": { - "node": "^14.18.0 || ^16.14.0 || >=18.0.0" + "node": ">=16.17" }, "funding": { "url": "https://github.com/sindresorhus/execa?sponsor=1" } }, + "node_modules/@semantic-release/npm/node_modules/get-stream": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-8.0.1.tgz", + "integrity": "sha512-VaUJspBffn/LMCJVoMvSAdmscJyS1auj5Zulnn5UoYcY531UWmdwhRWkcGKnGU93m5HSXP9LP2usOryrBtQowA==", + "dev": true, + "engines": { + "node": ">=16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/@semantic-release/npm/node_modules/hosted-git-info": { "version": "6.1.1", "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-6.1.1.tgz", @@ -1790,12 +1802,12 @@ } }, "node_modules/@semantic-release/npm/node_modules/human-signals": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-4.3.1.tgz", - "integrity": "sha512-nZXjEF2nbo7lIw3mgYjItAfgQXog3OjJogSbKa2CQIIvSGWcKgeJnQlNXip6NglNzYH45nSRiEVimMvYL8DDqQ==", + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-5.0.0.tgz", + "integrity": "sha512-AXcZb6vzzrFAUE61HnN4mpLqd/cSIwNQjtNWR0euPm6y0iqx3G4gOXaIDdtdDwZmhwe82LA6+zinmW4UBWVePQ==", "dev": true, "engines": { - "node": ">=14.18.0" + "node": ">=16.17.0" } }, "node_modules/@semantic-release/npm/node_modules/indent-string": { @@ -1967,6 +1979,18 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/@semantic-release/npm/node_modules/signal-exit": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz", + "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==", + "dev": true, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, "node_modules/@semantic-release/npm/node_modules/strip-final-newline": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-3.0.0.tgz", @@ -2235,9 +2259,9 @@ "dev": true }, "node_modules/@types/luxon": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/@types/luxon/-/luxon-3.3.1.tgz", - "integrity": "sha512-XOS5nBcgEeP2PpcqJHjCWhUCAzGfXIU8ILOSLpx2FhxqMW9KdxgCGXNOEKGVBfveKtIpztHzKK5vSRVLyW/NqA==", + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/@types/luxon/-/luxon-3.3.2.tgz", + "integrity": "sha512-l5cpE57br4BIjK+9BSkFBOsWtwv6J9bJpC7gdXIzZyI0vuKvNTk0wZZrkQxMGsUAuGW9+WMNWF2IJMD7br2yeQ==", "dev": true }, "node_modules/@types/minimist": { @@ -2259,9 +2283,9 @@ "dev": true }, "node_modules/@types/node": { - "version": "20.5.1", - "resolved": "https://registry.npmjs.org/@types/node/-/node-20.5.1.tgz", - "integrity": "sha512-4tT2UrL5LBqDwoed9wZ6N3umC4Yhz3W3FloMmiiG4JwmUJWpie0c7lcnUNd4gtMKuDEO4wRVS8B6Xa0uMRsMKg==", + "version": "20.5.8", + "resolved": "https://registry.npmjs.org/@types/node/-/node-20.5.8.tgz", + "integrity": "sha512-eajsR9aeljqNhK028VG0Wuw+OaY5LLxYmxeoXynIoE6jannr9/Ucd1LL0hSSoafk5LTYG+FfqsyGt81Q6Zkybw==", "dev": true }, "node_modules/@types/normalize-package-data": { @@ -2286,27 +2310,26 @@ } }, "node_modules/@types/semver": { - "version": "7.5.0", - "resolved": "https://registry.npmjs.org/@types/semver/-/semver-7.5.0.tgz", - "integrity": "sha512-G8hZ6XJiHnuhQKR7ZmysCeJWE08o8T0AXtk5darsCaTVsYZhhgUrq53jizaR2FvsoeCwJhlmwTjkXBY5Pn/ZHw==", + "version": "7.5.1", + "resolved": "https://registry.npmjs.org/@types/semver/-/semver-7.5.1.tgz", + "integrity": "sha512-cJRQXpObxfNKkFAZbJl2yjWtJCqELQIdShsogr1d2MilP8dKD9TE/nEKHkJgUNHdGKCQaf9HbIynuV2csLGVLg==", "dev": true }, "node_modules/@typescript-eslint/eslint-plugin": { - "version": "6.2.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-6.2.1.tgz", - "integrity": "sha512-iZVM/ALid9kO0+I81pnp1xmYiFyqibAHzrqX4q5YvvVEyJqY+e6rfTXSCsc2jUxGNqJqTfFSSij/NFkZBiBzLw==", + "version": "6.5.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-6.5.0.tgz", + "integrity": "sha512-2pktILyjvMaScU6iK3925uvGU87E+N9rh372uGZgiMYwafaw9SXq86U04XPq3UH6tzRvNgBsub6x2DacHc33lw==", "dev": true, "dependencies": { "@eslint-community/regexpp": "^4.5.1", - "@typescript-eslint/scope-manager": "6.2.1", - "@typescript-eslint/type-utils": "6.2.1", - "@typescript-eslint/utils": "6.2.1", - "@typescript-eslint/visitor-keys": "6.2.1", + "@typescript-eslint/scope-manager": "6.5.0", + "@typescript-eslint/type-utils": "6.5.0", + "@typescript-eslint/utils": "6.5.0", + "@typescript-eslint/visitor-keys": "6.5.0", "debug": "^4.3.4", "graphemer": "^1.4.0", "ignore": "^5.2.4", "natural-compare": "^1.4.0", - "natural-compare-lite": "^1.4.0", "semver": "^7.5.4", "ts-api-utils": "^1.0.1" }, @@ -2328,15 +2351,15 @@ } }, "node_modules/@typescript-eslint/parser": { - "version": "6.2.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-6.2.1.tgz", - "integrity": "sha512-Ld+uL1kYFU8e6btqBFpsHkwQ35rw30IWpdQxgOqOh4NfxSDH6uCkah1ks8R/RgQqI5hHPXMaLy9fbFseIe+dIg==", + "version": "6.5.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-6.5.0.tgz", + "integrity": "sha512-LMAVtR5GN8nY0G0BadkG0XIe4AcNMeyEy3DyhKGAh9k4pLSMBO7rF29JvDBpZGCmp5Pgz5RLHP6eCpSYZJQDuQ==", "dev": true, "dependencies": { - "@typescript-eslint/scope-manager": "6.2.1", - "@typescript-eslint/types": "6.2.1", - "@typescript-eslint/typescript-estree": "6.2.1", - "@typescript-eslint/visitor-keys": "6.2.1", + "@typescript-eslint/scope-manager": "6.5.0", + "@typescript-eslint/types": "6.5.0", + "@typescript-eslint/typescript-estree": "6.5.0", + "@typescript-eslint/visitor-keys": "6.5.0", "debug": "^4.3.4" }, "engines": { @@ -2356,13 +2379,13 @@ } }, "node_modules/@typescript-eslint/scope-manager": { - "version": "6.2.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-6.2.1.tgz", - "integrity": "sha512-UCqBF9WFqv64xNsIEPfBtenbfodPXsJ3nPAr55mGPkQIkiQvgoWNo+astj9ZUfJfVKiYgAZDMnM6dIpsxUMp3Q==", + "version": "6.5.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-6.5.0.tgz", + "integrity": "sha512-A8hZ7OlxURricpycp5kdPTH3XnjG85UpJS6Fn4VzeoH4T388gQJ/PGP4ole5NfKt4WDVhmLaQ/dBLNDC4Xl/Kw==", "dev": true, "dependencies": { - "@typescript-eslint/types": "6.2.1", - "@typescript-eslint/visitor-keys": "6.2.1" + "@typescript-eslint/types": "6.5.0", + "@typescript-eslint/visitor-keys": "6.5.0" }, "engines": { "node": "^16.0.0 || >=18.0.0" @@ -2373,13 +2396,13 @@ } }, "node_modules/@typescript-eslint/type-utils": { - "version": "6.2.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-6.2.1.tgz", - "integrity": "sha512-fTfCgomBMIgu2Dh2Or3gMYgoNAnQm3RLtRp+jP7A8fY+LJ2+9PNpi5p6QB5C4RSP+U3cjI0vDlI3mspAkpPVbQ==", + "version": "6.5.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-6.5.0.tgz", + "integrity": "sha512-f7OcZOkRivtujIBQ4yrJNIuwyCQO1OjocVqntl9dgSIZAdKqicj3xFDqDOzHDlGCZX990LqhLQXWRnQvsapq8A==", "dev": true, "dependencies": { - "@typescript-eslint/typescript-estree": "6.2.1", - "@typescript-eslint/utils": "6.2.1", + "@typescript-eslint/typescript-estree": "6.5.0", + "@typescript-eslint/utils": "6.5.0", "debug": "^4.3.4", "ts-api-utils": "^1.0.1" }, @@ -2400,9 +2423,9 @@ } }, "node_modules/@typescript-eslint/types": { - "version": "6.2.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-6.2.1.tgz", - "integrity": "sha512-528bGcoelrpw+sETlyM91k51Arl2ajbNT9L4JwoXE2dvRe1yd8Q64E4OL7vHYw31mlnVsf+BeeLyAZUEQtqahQ==", + "version": "6.5.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-6.5.0.tgz", + "integrity": "sha512-eqLLOEF5/lU8jW3Bw+8auf4lZSbbljHR2saKnYqON12G/WsJrGeeDHWuQePoEf9ro22+JkbPfWQwKEC5WwLQ3w==", "dev": true, "engines": { "node": "^16.0.0 || >=18.0.0" @@ -2413,13 +2436,13 @@ } }, "node_modules/@typescript-eslint/typescript-estree": { - "version": "6.2.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-6.2.1.tgz", - "integrity": "sha512-G+UJeQx9AKBHRQBpmvr8T/3K5bJa485eu+4tQBxFq0KoT22+jJyzo1B50JDT9QdC1DEmWQfdKsa8ybiNWYsi0Q==", + "version": "6.5.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-6.5.0.tgz", + "integrity": "sha512-q0rGwSe9e5Kk/XzliB9h2LBc9tmXX25G0833r7kffbl5437FPWb2tbpIV9wAATebC/018pGa9fwPDuvGN+LxWQ==", "dev": true, "dependencies": { - "@typescript-eslint/types": "6.2.1", - "@typescript-eslint/visitor-keys": "6.2.1", + "@typescript-eslint/types": "6.5.0", + "@typescript-eslint/visitor-keys": "6.5.0", "debug": "^4.3.4", "globby": "^11.1.0", "is-glob": "^4.0.3", @@ -2440,17 +2463,17 @@ } }, "node_modules/@typescript-eslint/utils": { - "version": "6.2.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-6.2.1.tgz", - "integrity": "sha512-eBIXQeupYmxVB6S7x+B9SdBeB6qIdXKjgQBge2J+Ouv8h9Cxm5dHf/gfAZA6dkMaag+03HdbVInuXMmqFB/lKQ==", + "version": "6.5.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-6.5.0.tgz", + "integrity": "sha512-9nqtjkNykFzeVtt9Pj6lyR9WEdd8npPhhIPM992FWVkZuS6tmxHfGVnlUcjpUP2hv8r4w35nT33mlxd+Be1ACQ==", "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.2.1", - "@typescript-eslint/types": "6.2.1", - "@typescript-eslint/typescript-estree": "6.2.1", + "@typescript-eslint/scope-manager": "6.5.0", + "@typescript-eslint/types": "6.5.0", + "@typescript-eslint/typescript-estree": "6.5.0", "semver": "^7.5.4" }, "engines": { @@ -2465,12 +2488,12 @@ } }, "node_modules/@typescript-eslint/visitor-keys": { - "version": "6.2.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-6.2.1.tgz", - "integrity": "sha512-iTN6w3k2JEZ7cyVdZJTVJx2Lv7t6zFA8DCrJEHD2mwfc16AEvvBWVhbFh34XyG2NORCd0viIgQY1+u7kPI0WpA==", + "version": "6.5.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-6.5.0.tgz", + "integrity": "sha512-yCB/2wkbv3hPsh02ZS8dFQnij9VVQXJMN/gbQsaaY+zxALkZnxa/wagvLEFsAWMPv7d7lxQmNsIzGU1w/T/WyA==", "dev": true, "dependencies": { - "@typescript-eslint/types": "6.2.1", + "@typescript-eslint/types": "6.5.0", "eslint-visitor-keys": "^3.4.1" }, "engines": { @@ -3760,15 +3783,15 @@ } }, "node_modules/eslint": { - "version": "8.47.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.47.0.tgz", - "integrity": "sha512-spUQWrdPt+pRVP1TTJLmfRNJJHHZryFmptzcafwSvHsceV81djHOdnEeDmkdotZyLNjDhrOasNK8nikkoG1O8Q==", + "version": "8.48.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.48.0.tgz", + "integrity": "sha512-sb6DLeIuRXxeM1YljSe1KEx9/YYeZFQWcV8Rq9HfigmdDEugjLEVEa1ozDjL6YDjBpQHPJxJzze+alxi4T3OLg==", "dev": true, "dependencies": { "@eslint-community/eslint-utils": "^4.2.0", "@eslint-community/regexpp": "^4.6.1", "@eslint/eslintrc": "^2.1.2", - "@eslint/js": "^8.47.0", + "@eslint/js": "8.48.0", "@humanwhocodes/config-array": "^0.11.10", "@humanwhocodes/module-importer": "^1.0.1", "@nodelib/fs.walk": "^1.2.8", @@ -5651,9 +5674,9 @@ "dev": true }, "node_modules/luxon": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/luxon/-/luxon-3.4.0.tgz", - "integrity": "sha512-7eDo4Pt7aGhoCheGFIuq4Xa2fJm4ZpmldpGhjTYBNUYNCN6TIEP6v7chwwwt3KRp7YR+rghbfvjyo3V5y9hgBw==", + "version": "3.4.2", + "resolved": "https://registry.npmjs.org/luxon/-/luxon-3.4.2.tgz", + "integrity": "sha512-uBoAVCVcajsrqy3pv7eo5jEUz1oeLmCcnMv8n4AJpT5hbpN9lUssAXibNElpbLce3Mhm9dyBzwYLs9zctM/0tA==", "dev": true, "engines": { "node": ">=12" @@ -6173,12 +6196,6 @@ "integrity": "sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=", "dev": true }, - "node_modules/natural-compare-lite": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/natural-compare-lite/-/natural-compare-lite-1.4.0.tgz", - "integrity": "sha512-Tj+HTDSJJKaZnfiuw+iaF9skdPpTo2GtEly5JHnWV/hfv2Qj/9RKsGISQtLh2ox3l5EAGw487hnBee0sIJ6v2g==", - "dev": true - }, "node_modules/neo-async": { "version": "2.6.2", "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz", @@ -10632,9 +10649,9 @@ "dev": true }, "node_modules/semantic-release": { - "version": "21.0.7", - "resolved": "https://registry.npmjs.org/semantic-release/-/semantic-release-21.0.7.tgz", - "integrity": "sha512-peRDSXN+hF8EFSKzze90ff/EnAmgITHQ/a3SZpRV3479ny0BIZWEJ33uX6/GlOSKdaSxo9hVRDyv2/u2MuF+Bw==", + "version": "21.1.1", + "resolved": "https://registry.npmjs.org/semantic-release/-/semantic-release-21.1.1.tgz", + "integrity": "sha512-OCIazQnaCHdq1F6zfmKS0P7jZakYq0weiqW2mxUWo4H2CDnxelUoa/0Bs/dQatoHc6JFh6lG2HWpusdl93bFcw==", "dev": true, "dependencies": { "@semantic-release/commit-analyzer": "^10.0.0", @@ -10646,13 +10663,13 @@ "cosmiconfig": "^8.0.0", "debug": "^4.0.0", "env-ci": "^9.0.0", - "execa": "^7.0.0", + "execa": "^8.0.0", "figures": "^5.0.0", "find-versions": "^5.1.0", "get-stream": "^6.0.0", "git-log-parser": "^1.2.0", "hook-std": "^3.0.0", - "hosted-git-info": "^6.0.0", + "hosted-git-info": "^7.0.0", "lodash-es": "^4.17.21", "marked": "^5.0.0", "marked-terminal": "^5.1.1", @@ -10737,28 +10754,40 @@ } }, "node_modules/semantic-release/node_modules/execa": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/execa/-/execa-7.0.0.tgz", - "integrity": "sha512-tQbH0pH/8LHTnwTrsKWideqi6rFB/QNUawEwrn+WHyz7PX1Tuz2u7wfTvbaNBdP5JD5LVWxNo8/A8CHNZ3bV6g==", + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/execa/-/execa-8.0.1.tgz", + "integrity": "sha512-VyhnebXciFV2DESc+p6B+y0LjSm0krU4OgJN44qFAhBY0TJ+1V61tYD2+wHusZ6F9n5K+vl8k0sTy7PEfV4qpg==", "dev": true, "dependencies": { "cross-spawn": "^7.0.3", - "get-stream": "^6.0.1", - "human-signals": "^4.3.0", + "get-stream": "^8.0.1", + "human-signals": "^5.0.0", "is-stream": "^3.0.0", "merge-stream": "^2.0.0", "npm-run-path": "^5.1.0", "onetime": "^6.0.0", - "signal-exit": "^3.0.7", + "signal-exit": "^4.1.0", "strip-final-newline": "^3.0.0" }, "engines": { - "node": "^14.18.0 || ^16.14.0 || >=18.0.0" + "node": ">=16.17" }, "funding": { "url": "https://github.com/sindresorhus/execa?sponsor=1" } }, + "node_modules/semantic-release/node_modules/execa/node_modules/get-stream": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-8.0.1.tgz", + "integrity": "sha512-VaUJspBffn/LMCJVoMvSAdmscJyS1auj5Zulnn5UoYcY531UWmdwhRWkcGKnGU93m5HSXP9LP2usOryrBtQowA==", + "dev": true, + "engines": { + "node": ">=16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/semantic-release/node_modules/find-up": { "version": "6.3.0", "resolved": "https://registry.npmjs.org/find-up/-/find-up-6.3.0.tgz", @@ -10776,24 +10805,24 @@ } }, "node_modules/semantic-release/node_modules/hosted-git-info": { - "version": "6.1.1", - "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-6.1.1.tgz", - "integrity": "sha512-r0EI+HBMcXadMrugk0GCQ+6BQV39PiWAZVfq7oIckeGiN7sjRGyQxPdft3nQekFTCQbYxLBH+/axZMeH8UX6+w==", + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-7.0.0.tgz", + "integrity": "sha512-ICclEpTLhHj+zCuSb2/usoNXSVkxUSIopre+b1w8NDY9Dntp9LO4vLdHYI336TH8sAqwrRgnSfdkBG2/YpisHA==", "dev": true, "dependencies": { - "lru-cache": "^7.5.1" + "lru-cache": "^10.0.1" }, "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + "node": "^16.14.0 || >=18.0.0" } }, "node_modules/semantic-release/node_modules/human-signals": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-4.3.0.tgz", - "integrity": "sha512-zyzVyMjpGBX2+6cDVZeFPCdtOtdsxOeseRhB9tkQ6xXmGUNrcnBzdEKPy3VPNYz+4gy1oukVOXcrJCunSyc6QQ==", + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-5.0.0.tgz", + "integrity": "sha512-AXcZb6vzzrFAUE61HnN4mpLqd/cSIwNQjtNWR0euPm6y0iqx3G4gOXaIDdtdDwZmhwe82LA6+zinmW4UBWVePQ==", "dev": true, "engines": { - "node": ">=14.18.0" + "node": ">=16.17.0" } }, "node_modules/semantic-release/node_modules/indent-string": { @@ -10854,12 +10883,12 @@ } }, "node_modules/semantic-release/node_modules/lru-cache": { - "version": "7.14.1", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-7.14.1.tgz", - "integrity": "sha512-ysxwsnTKdAx96aTRdhDOCQfDgbHnt8SK0KY8SEjO0wHinhWOFTESbjVCMPbU1uGXg/ch4lifqx0wfjOawU2+WA==", + "version": "10.0.1", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.0.1.tgz", + "integrity": "sha512-IJ4uwUTi2qCccrioU6g9g/5rvvVl13bsdczUUcqbciD9iLr095yj8DQKdObriEvuNSx325N1rV1O0sJFszx75g==", "dev": true, "engines": { - "node": ">=12" + "node": "14 || >=16.14" } }, "node_modules/semantic-release/node_modules/marked": { @@ -10901,6 +10930,27 @@ "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, + "node_modules/semantic-release/node_modules/normalize-package-data/node_modules/hosted-git-info": { + "version": "6.1.1", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-6.1.1.tgz", + "integrity": "sha512-r0EI+HBMcXadMrugk0GCQ+6BQV39PiWAZVfq7oIckeGiN7sjRGyQxPdft3nQekFTCQbYxLBH+/axZMeH8UX6+w==", + "dev": true, + "dependencies": { + "lru-cache": "^7.5.1" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/semantic-release/node_modules/normalize-package-data/node_modules/lru-cache": { + "version": "7.18.3", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-7.18.3.tgz", + "integrity": "sha512-jumlc0BIUrS3qJGgIkWZsyfAM7NCWiBcCDhnd+3NNM5KbBmLTgHVfWBcg6W+rLUsIpzpERPsvwUP7CckAQSOoA==", + "dev": true, + "engines": { + "node": ">=12" + } + }, "node_modules/semantic-release/node_modules/npm-run-path": { "version": "5.1.0", "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-5.1.0.tgz", @@ -11057,6 +11107,18 @@ "node": ">=8" } }, + "node_modules/semantic-release/node_modules/signal-exit": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz", + "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==", + "dev": true, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, "node_modules/semantic-release/node_modules/strip-final-newline": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-3.0.0.tgz", @@ -12110,24 +12172,24 @@ } }, "node_modules/typedoc": { - "version": "0.24.8", - "resolved": "https://registry.npmjs.org/typedoc/-/typedoc-0.24.8.tgz", - "integrity": "sha512-ahJ6Cpcvxwaxfu4KtjA8qZNqS43wYt6JL27wYiIgl1vd38WW/KWX11YuAeZhuz9v+ttrutSsgK+XO1CjL1kA3w==", + "version": "0.25.0", + "resolved": "https://registry.npmjs.org/typedoc/-/typedoc-0.25.0.tgz", + "integrity": "sha512-FvCYWhO1n5jACE0C32qg6b3dSfQ8f2VzExnnRboowHtqUD6ARzM2r8YJeZFYXhcm2hI4C2oCRDgNPk/yaQUN9g==", "dev": true, "dependencies": { "lunr": "^2.3.9", "marked": "^4.3.0", - "minimatch": "^9.0.0", + "minimatch": "^9.0.3", "shiki": "^0.14.1" }, "bin": { "typedoc": "bin/typedoc" }, "engines": { - "node": ">= 14.14" + "node": ">= 16" }, "peerDependencies": { - "typescript": "4.6.x || 4.7.x || 4.8.x || 4.9.x || 5.0.x || 5.1.x" + "typescript": "4.6.x || 4.7.x || 4.8.x || 4.9.x || 5.0.x || 5.1.x || 5.2.x" } }, "node_modules/typedoc/node_modules/brace-expansion": { @@ -12140,9 +12202,9 @@ } }, "node_modules/typedoc/node_modules/minimatch": { - "version": "9.0.0", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.0.tgz", - "integrity": "sha512-0jJj8AvgKqWN05mrwuqi8QYKx1WmYSUoKSxu5Qhs9prezTz10sxAHGNZe9J9cqIJzta8DWsleh2KaVaLl6Ru2w==", + "version": "9.0.3", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.3.tgz", + "integrity": "sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==", "dev": true, "dependencies": { "brace-expansion": "^2.0.1" @@ -12155,9 +12217,9 @@ } }, "node_modules/typescript": { - "version": "5.1.5", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.1.5.tgz", - "integrity": "sha512-FOH+WN/DQjUvN6WgW+c4Ml3yi0PH+a/8q+kNIfRehv1wLhWONedw85iu+vQ39Wp49IzTJEsZ2lyLXpBF7mkF1g==", + "version": "5.2.2", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.2.2.tgz", + "integrity": "sha512-mI4WrpHsbCIcwT9cF4FZvr80QUeKvsUsUvKDoR+X/7XHQH98xYD8YHZg7ANtz2GtZt/CBq2QJ0thkGJMHfqc1w==", "dev": true, "bin": { "tsc": "bin/tsc", @@ -13100,9 +13162,9 @@ } }, "@eslint/js": { - "version": "8.47.0", - "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.47.0.tgz", - "integrity": "sha512-P6omY1zv5MItm93kLM8s2vr1HICJH8v0dvddDhysbIuZ+vcjOHg5Zbkf1mTkcmi2JA9oBG2anOkRnW8WJTS8Og==", + "version": "8.48.0", + "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.48.0.tgz", + "integrity": "sha512-ZSjtmelB7IJfWD2Fvb7+Z+ChTIKWq6kjda95fLcQKNS5aheVHn4IkfgRQE3sIIzTcSLwLcLZUD9UBt+V7+h+Pw==", "dev": true }, "@humanwhocodes/config-array": { @@ -13636,14 +13698,14 @@ } }, "@semantic-release/npm": { - "version": "10.0.4", - "resolved": "https://registry.npmjs.org/@semantic-release/npm/-/npm-10.0.4.tgz", - "integrity": "sha512-6R3timIQ7VoL2QWRkc9DG8v74RQtRp7UOe/2KbNaqwJ815qOibAv65bH3RtTEhs4axEaHoZf7HDgFs5opaZ9Jw==", + "version": "10.0.5", + "resolved": "https://registry.npmjs.org/@semantic-release/npm/-/npm-10.0.5.tgz", + "integrity": "sha512-cJnQ2M5pxJRwZEkb0A/+U3TG4UNmjrrLwV2PxJKljn5OPT0yJB8GzGgWbbKACayvxrT06YdTa4Amtq/piJcOIA==", "dev": true, "requires": { "@semantic-release/error": "^4.0.0", "aggregate-error": "^4.0.1", - "execa": "^7.0.0", + "execa": "^8.0.0", "fs-extra": "^11.0.0", "lodash-es": "^4.17.21", "nerf-dart": "^1.0.0", @@ -13682,22 +13744,28 @@ "dev": true }, "execa": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/execa/-/execa-7.1.1.tgz", - "integrity": "sha512-wH0eMf/UXckdUYnO21+HDztteVv05rq2GXksxT4fCGeHkBhw1DROXh40wcjMcRqDOWE7iPJ4n3M7e2+YFP+76Q==", + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/execa/-/execa-8.0.1.tgz", + "integrity": "sha512-VyhnebXciFV2DESc+p6B+y0LjSm0krU4OgJN44qFAhBY0TJ+1V61tYD2+wHusZ6F9n5K+vl8k0sTy7PEfV4qpg==", "dev": true, "requires": { "cross-spawn": "^7.0.3", - "get-stream": "^6.0.1", - "human-signals": "^4.3.0", + "get-stream": "^8.0.1", + "human-signals": "^5.0.0", "is-stream": "^3.0.0", "merge-stream": "^2.0.0", "npm-run-path": "^5.1.0", "onetime": "^6.0.0", - "signal-exit": "^3.0.7", + "signal-exit": "^4.1.0", "strip-final-newline": "^3.0.0" } }, + "get-stream": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-8.0.1.tgz", + "integrity": "sha512-VaUJspBffn/LMCJVoMvSAdmscJyS1auj5Zulnn5UoYcY531UWmdwhRWkcGKnGU93m5HSXP9LP2usOryrBtQowA==", + "dev": true + }, "hosted-git-info": { "version": "6.1.1", "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-6.1.1.tgz", @@ -13708,9 +13776,9 @@ } }, "human-signals": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-4.3.1.tgz", - "integrity": "sha512-nZXjEF2nbo7lIw3mgYjItAfgQXog3OjJogSbKa2CQIIvSGWcKgeJnQlNXip6NglNzYH45nSRiEVimMvYL8DDqQ==", + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-5.0.0.tgz", + "integrity": "sha512-AXcZb6vzzrFAUE61HnN4mpLqd/cSIwNQjtNWR0euPm6y0iqx3G4gOXaIDdtdDwZmhwe82LA6+zinmW4UBWVePQ==", "dev": true }, "indent-string": { @@ -13816,6 +13884,12 @@ "type-fest": "^3.8.0" } }, + "signal-exit": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz", + "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==", + "dev": true + }, "strip-final-newline": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-3.0.0.tgz", @@ -14016,9 +14090,9 @@ "dev": true }, "@types/luxon": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/@types/luxon/-/luxon-3.3.1.tgz", - "integrity": "sha512-XOS5nBcgEeP2PpcqJHjCWhUCAzGfXIU8ILOSLpx2FhxqMW9KdxgCGXNOEKGVBfveKtIpztHzKK5vSRVLyW/NqA==", + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/@types/luxon/-/luxon-3.3.2.tgz", + "integrity": "sha512-l5cpE57br4BIjK+9BSkFBOsWtwv6J9bJpC7gdXIzZyI0vuKvNTk0wZZrkQxMGsUAuGW9+WMNWF2IJMD7br2yeQ==", "dev": true }, "@types/minimist": { @@ -14040,9 +14114,9 @@ "dev": true }, "@types/node": { - "version": "20.5.1", - "resolved": "https://registry.npmjs.org/@types/node/-/node-20.5.1.tgz", - "integrity": "sha512-4tT2UrL5LBqDwoed9wZ6N3umC4Yhz3W3FloMmiiG4JwmUJWpie0c7lcnUNd4gtMKuDEO4wRVS8B6Xa0uMRsMKg==", + "version": "20.5.8", + "resolved": "https://registry.npmjs.org/@types/node/-/node-20.5.8.tgz", + "integrity": "sha512-eajsR9aeljqNhK028VG0Wuw+OaY5LLxYmxeoXynIoE6jannr9/Ucd1LL0hSSoafk5LTYG+FfqsyGt81Q6Zkybw==", "dev": true }, "@types/normalize-package-data": { @@ -14067,80 +14141,79 @@ } }, "@types/semver": { - "version": "7.5.0", - "resolved": "https://registry.npmjs.org/@types/semver/-/semver-7.5.0.tgz", - "integrity": "sha512-G8hZ6XJiHnuhQKR7ZmysCeJWE08o8T0AXtk5darsCaTVsYZhhgUrq53jizaR2FvsoeCwJhlmwTjkXBY5Pn/ZHw==", + "version": "7.5.1", + "resolved": "https://registry.npmjs.org/@types/semver/-/semver-7.5.1.tgz", + "integrity": "sha512-cJRQXpObxfNKkFAZbJl2yjWtJCqELQIdShsogr1d2MilP8dKD9TE/nEKHkJgUNHdGKCQaf9HbIynuV2csLGVLg==", "dev": true }, "@typescript-eslint/eslint-plugin": { - "version": "6.2.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-6.2.1.tgz", - "integrity": "sha512-iZVM/ALid9kO0+I81pnp1xmYiFyqibAHzrqX4q5YvvVEyJqY+e6rfTXSCsc2jUxGNqJqTfFSSij/NFkZBiBzLw==", + "version": "6.5.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-6.5.0.tgz", + "integrity": "sha512-2pktILyjvMaScU6iK3925uvGU87E+N9rh372uGZgiMYwafaw9SXq86U04XPq3UH6tzRvNgBsub6x2DacHc33lw==", "dev": true, "requires": { "@eslint-community/regexpp": "^4.5.1", - "@typescript-eslint/scope-manager": "6.2.1", - "@typescript-eslint/type-utils": "6.2.1", - "@typescript-eslint/utils": "6.2.1", - "@typescript-eslint/visitor-keys": "6.2.1", + "@typescript-eslint/scope-manager": "6.5.0", + "@typescript-eslint/type-utils": "6.5.0", + "@typescript-eslint/utils": "6.5.0", + "@typescript-eslint/visitor-keys": "6.5.0", "debug": "^4.3.4", "graphemer": "^1.4.0", "ignore": "^5.2.4", "natural-compare": "^1.4.0", - "natural-compare-lite": "^1.4.0", "semver": "^7.5.4", "ts-api-utils": "^1.0.1" } }, "@typescript-eslint/parser": { - "version": "6.2.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-6.2.1.tgz", - "integrity": "sha512-Ld+uL1kYFU8e6btqBFpsHkwQ35rw30IWpdQxgOqOh4NfxSDH6uCkah1ks8R/RgQqI5hHPXMaLy9fbFseIe+dIg==", + "version": "6.5.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-6.5.0.tgz", + "integrity": "sha512-LMAVtR5GN8nY0G0BadkG0XIe4AcNMeyEy3DyhKGAh9k4pLSMBO7rF29JvDBpZGCmp5Pgz5RLHP6eCpSYZJQDuQ==", "dev": true, "requires": { - "@typescript-eslint/scope-manager": "6.2.1", - "@typescript-eslint/types": "6.2.1", - "@typescript-eslint/typescript-estree": "6.2.1", - "@typescript-eslint/visitor-keys": "6.2.1", + "@typescript-eslint/scope-manager": "6.5.0", + "@typescript-eslint/types": "6.5.0", + "@typescript-eslint/typescript-estree": "6.5.0", + "@typescript-eslint/visitor-keys": "6.5.0", "debug": "^4.3.4" } }, "@typescript-eslint/scope-manager": { - "version": "6.2.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-6.2.1.tgz", - "integrity": "sha512-UCqBF9WFqv64xNsIEPfBtenbfodPXsJ3nPAr55mGPkQIkiQvgoWNo+astj9ZUfJfVKiYgAZDMnM6dIpsxUMp3Q==", + "version": "6.5.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-6.5.0.tgz", + "integrity": "sha512-A8hZ7OlxURricpycp5kdPTH3XnjG85UpJS6Fn4VzeoH4T388gQJ/PGP4ole5NfKt4WDVhmLaQ/dBLNDC4Xl/Kw==", "dev": true, "requires": { - "@typescript-eslint/types": "6.2.1", - "@typescript-eslint/visitor-keys": "6.2.1" + "@typescript-eslint/types": "6.5.0", + "@typescript-eslint/visitor-keys": "6.5.0" } }, "@typescript-eslint/type-utils": { - "version": "6.2.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-6.2.1.tgz", - "integrity": "sha512-fTfCgomBMIgu2Dh2Or3gMYgoNAnQm3RLtRp+jP7A8fY+LJ2+9PNpi5p6QB5C4RSP+U3cjI0vDlI3mspAkpPVbQ==", + "version": "6.5.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-6.5.0.tgz", + "integrity": "sha512-f7OcZOkRivtujIBQ4yrJNIuwyCQO1OjocVqntl9dgSIZAdKqicj3xFDqDOzHDlGCZX990LqhLQXWRnQvsapq8A==", "dev": true, "requires": { - "@typescript-eslint/typescript-estree": "6.2.1", - "@typescript-eslint/utils": "6.2.1", + "@typescript-eslint/typescript-estree": "6.5.0", + "@typescript-eslint/utils": "6.5.0", "debug": "^4.3.4", "ts-api-utils": "^1.0.1" } }, "@typescript-eslint/types": { - "version": "6.2.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-6.2.1.tgz", - "integrity": "sha512-528bGcoelrpw+sETlyM91k51Arl2ajbNT9L4JwoXE2dvRe1yd8Q64E4OL7vHYw31mlnVsf+BeeLyAZUEQtqahQ==", + "version": "6.5.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-6.5.0.tgz", + "integrity": "sha512-eqLLOEF5/lU8jW3Bw+8auf4lZSbbljHR2saKnYqON12G/WsJrGeeDHWuQePoEf9ro22+JkbPfWQwKEC5WwLQ3w==", "dev": true }, "@typescript-eslint/typescript-estree": { - "version": "6.2.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-6.2.1.tgz", - "integrity": "sha512-G+UJeQx9AKBHRQBpmvr8T/3K5bJa485eu+4tQBxFq0KoT22+jJyzo1B50JDT9QdC1DEmWQfdKsa8ybiNWYsi0Q==", + "version": "6.5.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-6.5.0.tgz", + "integrity": "sha512-q0rGwSe9e5Kk/XzliB9h2LBc9tmXX25G0833r7kffbl5437FPWb2tbpIV9wAATebC/018pGa9fwPDuvGN+LxWQ==", "dev": true, "requires": { - "@typescript-eslint/types": "6.2.1", - "@typescript-eslint/visitor-keys": "6.2.1", + "@typescript-eslint/types": "6.5.0", + "@typescript-eslint/visitor-keys": "6.5.0", "debug": "^4.3.4", "globby": "^11.1.0", "is-glob": "^4.0.3", @@ -14149,27 +14222,27 @@ } }, "@typescript-eslint/utils": { - "version": "6.2.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-6.2.1.tgz", - "integrity": "sha512-eBIXQeupYmxVB6S7x+B9SdBeB6qIdXKjgQBge2J+Ouv8h9Cxm5dHf/gfAZA6dkMaag+03HdbVInuXMmqFB/lKQ==", + "version": "6.5.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-6.5.0.tgz", + "integrity": "sha512-9nqtjkNykFzeVtt9Pj6lyR9WEdd8npPhhIPM992FWVkZuS6tmxHfGVnlUcjpUP2hv8r4w35nT33mlxd+Be1ACQ==", "dev": true, "requires": { "@eslint-community/eslint-utils": "^4.4.0", "@types/json-schema": "^7.0.12", "@types/semver": "^7.5.0", - "@typescript-eslint/scope-manager": "6.2.1", - "@typescript-eslint/types": "6.2.1", - "@typescript-eslint/typescript-estree": "6.2.1", + "@typescript-eslint/scope-manager": "6.5.0", + "@typescript-eslint/types": "6.5.0", + "@typescript-eslint/typescript-estree": "6.5.0", "semver": "^7.5.4" } }, "@typescript-eslint/visitor-keys": { - "version": "6.2.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-6.2.1.tgz", - "integrity": "sha512-iTN6w3k2JEZ7cyVdZJTVJx2Lv7t6zFA8DCrJEHD2mwfc16AEvvBWVhbFh34XyG2NORCd0viIgQY1+u7kPI0WpA==", + "version": "6.5.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-6.5.0.tgz", + "integrity": "sha512-yCB/2wkbv3hPsh02ZS8dFQnij9VVQXJMN/gbQsaaY+zxALkZnxa/wagvLEFsAWMPv7d7lxQmNsIzGU1w/T/WyA==", "dev": true, "requires": { - "@typescript-eslint/types": "6.2.1", + "@typescript-eslint/types": "6.5.0", "eslint-visitor-keys": "^3.4.1" } }, @@ -15151,15 +15224,15 @@ "dev": true }, "eslint": { - "version": "8.47.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.47.0.tgz", - "integrity": "sha512-spUQWrdPt+pRVP1TTJLmfRNJJHHZryFmptzcafwSvHsceV81djHOdnEeDmkdotZyLNjDhrOasNK8nikkoG1O8Q==", + "version": "8.48.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.48.0.tgz", + "integrity": "sha512-sb6DLeIuRXxeM1YljSe1KEx9/YYeZFQWcV8Rq9HfigmdDEugjLEVEa1ozDjL6YDjBpQHPJxJzze+alxi4T3OLg==", "dev": true, "requires": { "@eslint-community/eslint-utils": "^4.2.0", "@eslint-community/regexpp": "^4.6.1", "@eslint/eslintrc": "^2.1.2", - "@eslint/js": "^8.47.0", + "@eslint/js": "8.48.0", "@humanwhocodes/config-array": "^0.11.10", "@humanwhocodes/module-importer": "^1.0.1", "@nodelib/fs.walk": "^1.2.8", @@ -16586,9 +16659,9 @@ "dev": true }, "luxon": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/luxon/-/luxon-3.4.0.tgz", - "integrity": "sha512-7eDo4Pt7aGhoCheGFIuq4Xa2fJm4ZpmldpGhjTYBNUYNCN6TIEP6v7chwwwt3KRp7YR+rghbfvjyo3V5y9hgBw==", + "version": "3.4.2", + "resolved": "https://registry.npmjs.org/luxon/-/luxon-3.4.2.tgz", + "integrity": "sha512-uBoAVCVcajsrqy3pv7eo5jEUz1oeLmCcnMv8n4AJpT5hbpN9lUssAXibNElpbLce3Mhm9dyBzwYLs9zctM/0tA==", "dev": true }, "make-dir": { @@ -16978,12 +17051,6 @@ "integrity": "sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=", "dev": true }, - "natural-compare-lite": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/natural-compare-lite/-/natural-compare-lite-1.4.0.tgz", - "integrity": "sha512-Tj+HTDSJJKaZnfiuw+iaF9skdPpTo2GtEly5JHnWV/hfv2Qj/9RKsGISQtLh2ox3l5EAGw487hnBee0sIJ6v2g==", - "dev": true - }, "neo-async": { "version": "2.6.2", "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz", @@ -20132,9 +20199,9 @@ "dev": true }, "semantic-release": { - "version": "21.0.7", - "resolved": "https://registry.npmjs.org/semantic-release/-/semantic-release-21.0.7.tgz", - "integrity": "sha512-peRDSXN+hF8EFSKzze90ff/EnAmgITHQ/a3SZpRV3479ny0BIZWEJ33uX6/GlOSKdaSxo9hVRDyv2/u2MuF+Bw==", + "version": "21.1.1", + "resolved": "https://registry.npmjs.org/semantic-release/-/semantic-release-21.1.1.tgz", + "integrity": "sha512-OCIazQnaCHdq1F6zfmKS0P7jZakYq0weiqW2mxUWo4H2CDnxelUoa/0Bs/dQatoHc6JFh6lG2HWpusdl93bFcw==", "dev": true, "requires": { "@semantic-release/commit-analyzer": "^10.0.0", @@ -20146,13 +20213,13 @@ "cosmiconfig": "^8.0.0", "debug": "^4.0.0", "env-ci": "^9.0.0", - "execa": "^7.0.0", + "execa": "^8.0.0", "figures": "^5.0.0", "find-versions": "^5.1.0", "get-stream": "^6.0.0", "git-log-parser": "^1.2.0", "hook-std": "^3.0.0", - "hosted-git-info": "^6.0.0", + "hosted-git-info": "^7.0.0", "lodash-es": "^4.17.21", "marked": "^5.0.0", "marked-terminal": "^5.1.1", @@ -20204,20 +20271,28 @@ "dev": true }, "execa": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/execa/-/execa-7.0.0.tgz", - "integrity": "sha512-tQbH0pH/8LHTnwTrsKWideqi6rFB/QNUawEwrn+WHyz7PX1Tuz2u7wfTvbaNBdP5JD5LVWxNo8/A8CHNZ3bV6g==", + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/execa/-/execa-8.0.1.tgz", + "integrity": "sha512-VyhnebXciFV2DESc+p6B+y0LjSm0krU4OgJN44qFAhBY0TJ+1V61tYD2+wHusZ6F9n5K+vl8k0sTy7PEfV4qpg==", "dev": true, "requires": { "cross-spawn": "^7.0.3", - "get-stream": "^6.0.1", - "human-signals": "^4.3.0", + "get-stream": "^8.0.1", + "human-signals": "^5.0.0", "is-stream": "^3.0.0", "merge-stream": "^2.0.0", "npm-run-path": "^5.1.0", "onetime": "^6.0.0", - "signal-exit": "^3.0.7", + "signal-exit": "^4.1.0", "strip-final-newline": "^3.0.0" + }, + "dependencies": { + "get-stream": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-8.0.1.tgz", + "integrity": "sha512-VaUJspBffn/LMCJVoMvSAdmscJyS1auj5Zulnn5UoYcY531UWmdwhRWkcGKnGU93m5HSXP9LP2usOryrBtQowA==", + "dev": true + } } }, "find-up": { @@ -20231,18 +20306,18 @@ } }, "hosted-git-info": { - "version": "6.1.1", - "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-6.1.1.tgz", - "integrity": "sha512-r0EI+HBMcXadMrugk0GCQ+6BQV39PiWAZVfq7oIckeGiN7sjRGyQxPdft3nQekFTCQbYxLBH+/axZMeH8UX6+w==", + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-7.0.0.tgz", + "integrity": "sha512-ICclEpTLhHj+zCuSb2/usoNXSVkxUSIopre+b1w8NDY9Dntp9LO4vLdHYI336TH8sAqwrRgnSfdkBG2/YpisHA==", "dev": true, "requires": { - "lru-cache": "^7.5.1" + "lru-cache": "^10.0.1" } }, "human-signals": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-4.3.0.tgz", - "integrity": "sha512-zyzVyMjpGBX2+6cDVZeFPCdtOtdsxOeseRhB9tkQ6xXmGUNrcnBzdEKPy3VPNYz+4gy1oukVOXcrJCunSyc6QQ==", + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-5.0.0.tgz", + "integrity": "sha512-AXcZb6vzzrFAUE61HnN4mpLqd/cSIwNQjtNWR0euPm6y0iqx3G4gOXaIDdtdDwZmhwe82LA6+zinmW4UBWVePQ==", "dev": true }, "indent-string": { @@ -20279,9 +20354,9 @@ } }, "lru-cache": { - "version": "7.14.1", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-7.14.1.tgz", - "integrity": "sha512-ysxwsnTKdAx96aTRdhDOCQfDgbHnt8SK0KY8SEjO0wHinhWOFTESbjVCMPbU1uGXg/ch4lifqx0wfjOawU2+WA==", + "version": "10.0.1", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.0.1.tgz", + "integrity": "sha512-IJ4uwUTi2qCccrioU6g9g/5rvvVl13bsdczUUcqbciD9iLr095yj8DQKdObriEvuNSx325N1rV1O0sJFszx75g==", "dev": true }, "marked": { @@ -20306,6 +20381,23 @@ "is-core-module": "^2.8.1", "semver": "^7.3.5", "validate-npm-package-license": "^3.0.4" + }, + "dependencies": { + "hosted-git-info": { + "version": "6.1.1", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-6.1.1.tgz", + "integrity": "sha512-r0EI+HBMcXadMrugk0GCQ+6BQV39PiWAZVfq7oIckeGiN7sjRGyQxPdft3nQekFTCQbYxLBH+/axZMeH8UX6+w==", + "dev": true, + "requires": { + "lru-cache": "^7.5.1" + } + }, + "lru-cache": { + "version": "7.18.3", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-7.18.3.tgz", + "integrity": "sha512-jumlc0BIUrS3qJGgIkWZsyfAM7NCWiBcCDhnd+3NNM5KbBmLTgHVfWBcg6W+rLUsIpzpERPsvwUP7CckAQSOoA==", + "dev": true + } } }, "npm-run-path": { @@ -20404,6 +20496,12 @@ "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", "dev": true }, + "signal-exit": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz", + "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==", + "dev": true + }, "strip-final-newline": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-3.0.0.tgz", @@ -21221,14 +21319,14 @@ } }, "typedoc": { - "version": "0.24.8", - "resolved": "https://registry.npmjs.org/typedoc/-/typedoc-0.24.8.tgz", - "integrity": "sha512-ahJ6Cpcvxwaxfu4KtjA8qZNqS43wYt6JL27wYiIgl1vd38WW/KWX11YuAeZhuz9v+ttrutSsgK+XO1CjL1kA3w==", + "version": "0.25.0", + "resolved": "https://registry.npmjs.org/typedoc/-/typedoc-0.25.0.tgz", + "integrity": "sha512-FvCYWhO1n5jACE0C32qg6b3dSfQ8f2VzExnnRboowHtqUD6ARzM2r8YJeZFYXhcm2hI4C2oCRDgNPk/yaQUN9g==", "dev": true, "requires": { "lunr": "^2.3.9", "marked": "^4.3.0", - "minimatch": "^9.0.0", + "minimatch": "^9.0.3", "shiki": "^0.14.1" }, "dependencies": { @@ -21242,9 +21340,9 @@ } }, "minimatch": { - "version": "9.0.0", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.0.tgz", - "integrity": "sha512-0jJj8AvgKqWN05mrwuqi8QYKx1WmYSUoKSxu5Qhs9prezTz10sxAHGNZe9J9cqIJzta8DWsleh2KaVaLl6Ru2w==", + "version": "9.0.3", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.3.tgz", + "integrity": "sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==", "dev": true, "requires": { "brace-expansion": "^2.0.1" @@ -21253,9 +21351,9 @@ } }, "typescript": { - "version": "5.1.5", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.1.5.tgz", - "integrity": "sha512-FOH+WN/DQjUvN6WgW+c4Ml3yi0PH+a/8q+kNIfRehv1wLhWONedw85iu+vQ39Wp49IzTJEsZ2lyLXpBF7mkF1g==", + "version": "5.2.2", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.2.2.tgz", + "integrity": "sha512-mI4WrpHsbCIcwT9cF4FZvr80QUeKvsUsUvKDoR+X/7XHQH98xYD8YHZg7ANtz2GtZt/CBq2QJ0thkGJMHfqc1w==", "dev": true }, "uglify-js": { diff --git a/package.json b/package.json index 8f1151607..c3c7e0cd6 100644 --- a/package.json +++ b/package.json @@ -12,20 +12,20 @@ "@semantic-release/changelog": "^6.0.3", "@semantic-release/exec": "^6.0.3", "@semantic-release/git": "^10.0.1", - "@semantic-release/npm": "^10.0.4", + "@semantic-release/npm": "^10.0.5", "@touch4it/ical-timezones": "^1.9.0", - "@types/luxon": "^3.3.1", + "@types/luxon": "^3.3.2", "@types/mocha": "^10.0.1", - "@types/node": "^20.5.1", - "@typescript-eslint/eslint-plugin": "^6.2.1", - "@typescript-eslint/parser": "^6.2.1", + "@types/node": "^20.5.8", + "@typescript-eslint/eslint-plugin": "^6.5.0", + "@typescript-eslint/parser": "^6.5.0", "c8": "^8.0.1", "dayjs": "^1.11.9", - "eslint": "^8.47.0", + "eslint": "^8.48.0", "eslint-plugin-jsonc": "^2.9.0", "esm": "^3.2.25", "license-checker": "^25.0.1", - "luxon": "^3.4.0", + "luxon": "^3.4.2", "mocha": "^10.2.0", "mochawesome": "^7.1.3", "moment": "^2.29.4", @@ -33,13 +33,13 @@ "nyc": "^15.1.0", "portfinder": "^1.0.32", "rrule": "^2.7.2", - "semantic-release": "^21.0.7", + "semantic-release": "^21.1.1", "semantic-release-license": "^1.0.2", "source-map-support": "^0.5.21", "ts-node": "^10.9.1", "tsup": "^7.2.0", - "typedoc": "^0.24.8", - "typescript": "^5.1.5" + "typedoc": "^0.25.0", + "typescript": "^5.2.2" }, "engines": { "node": "^16.0.0 || >=18.0.0" From a4d36a6106859f7bdf698f88cfdd22f6f7232a35 Mon Sep 17 00:00:00 2001 From: "depfu[bot]" <23717796+depfu[bot]@users.noreply.github.com> Date: Mon, 18 Sep 2023 17:14:31 +0000 Subject: [PATCH 09/39] Update all development npm dependencies (2023-09-18) (#520) --- package-lock.json | 14 +++++++------- package.json | 2 +- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/package-lock.json b/package-lock.json index 3f77f0049..3c652fcb2 100644 --- a/package-lock.json +++ b/package-lock.json @@ -29,7 +29,7 @@ "eslint-plugin-jsonc": "^2.9.0", "esm": "^3.2.25", "license-checker": "^25.0.1", - "luxon": "^3.4.2", + "luxon": "^3.4.3", "mocha": "^10.2.0", "mochawesome": "^7.1.3", "moment": "^2.29.4", @@ -5674,9 +5674,9 @@ "dev": true }, "node_modules/luxon": { - "version": "3.4.2", - "resolved": "https://registry.npmjs.org/luxon/-/luxon-3.4.2.tgz", - "integrity": "sha512-uBoAVCVcajsrqy3pv7eo5jEUz1oeLmCcnMv8n4AJpT5hbpN9lUssAXibNElpbLce3Mhm9dyBzwYLs9zctM/0tA==", + "version": "3.4.3", + "resolved": "https://registry.npmjs.org/luxon/-/luxon-3.4.3.tgz", + "integrity": "sha512-tFWBiv3h7z+T/tDaoxA8rqTxy1CHV6gHS//QdaH4pulbq/JuBSGgQspQQqcgnwdAx6pNI7cmvz5Sv/addzHmUg==", "dev": true, "engines": { "node": ">=12" @@ -16659,9 +16659,9 @@ "dev": true }, "luxon": { - "version": "3.4.2", - "resolved": "https://registry.npmjs.org/luxon/-/luxon-3.4.2.tgz", - "integrity": "sha512-uBoAVCVcajsrqy3pv7eo5jEUz1oeLmCcnMv8n4AJpT5hbpN9lUssAXibNElpbLce3Mhm9dyBzwYLs9zctM/0tA==", + "version": "3.4.3", + "resolved": "https://registry.npmjs.org/luxon/-/luxon-3.4.3.tgz", + "integrity": "sha512-tFWBiv3h7z+T/tDaoxA8rqTxy1CHV6gHS//QdaH4pulbq/JuBSGgQspQQqcgnwdAx6pNI7cmvz5Sv/addzHmUg==", "dev": true }, "make-dir": { diff --git a/package.json b/package.json index c3c7e0cd6..eb4d7aad2 100644 --- a/package.json +++ b/package.json @@ -25,7 +25,7 @@ "eslint-plugin-jsonc": "^2.9.0", "esm": "^3.2.25", "license-checker": "^25.0.1", - "luxon": "^3.4.2", + "luxon": "^3.4.3", "mocha": "^10.2.0", "mochawesome": "^7.1.3", "moment": "^2.29.4", From 71a354b597219ac8209caf341571c25418fc2690 Mon Sep 17 00:00:00 2001 From: "depfu[bot]" <23717796+depfu[bot]@users.noreply.github.com> Date: Tue, 19 Sep 2023 08:13:59 +0000 Subject: [PATCH 10/39] Update all development npm dependencies (2023-09-19) (#521) --- package-lock.json | 196 +++++++++++++++++++++++----------------------- package.json | 4 +- 2 files changed, 100 insertions(+), 100 deletions(-) diff --git a/package-lock.json b/package-lock.json index 3c652fcb2..a52bbcb28 100644 --- a/package-lock.json +++ b/package-lock.json @@ -21,8 +21,8 @@ "@types/luxon": "^3.3.2", "@types/mocha": "^10.0.1", "@types/node": "^20.5.8", - "@typescript-eslint/eslint-plugin": "^6.5.0", - "@typescript-eslint/parser": "^6.5.0", + "@typescript-eslint/eslint-plugin": "^6.7.0", + "@typescript-eslint/parser": "^6.7.0", "c8": "^8.0.1", "dayjs": "^1.11.9", "eslint": "^8.48.0", @@ -2247,9 +2247,9 @@ "dev": true }, "node_modules/@types/json-schema": { - "version": "7.0.12", - "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.12.tgz", - "integrity": "sha512-Hr5Jfhc9eYOQNPYO5WLDq/n4jqijdHNlDXjuAQkkt+mWdQR+XJToOHrsD4cPaMXpn6KO7y2+wM8AZEs8VpBLVA==", + "version": "7.0.13", + "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.13.tgz", + "integrity": "sha512-RbSSoHliUbnXj3ny0CNFOoxrIDV6SUGyStHsvDqosw6CkdPV8TtWGlfecuK4ToyMEAql6pzNxgCFKanovUzlgQ==", "dev": true }, "node_modules/@types/lodash": { @@ -2310,22 +2310,22 @@ } }, "node_modules/@types/semver": { - "version": "7.5.1", - "resolved": "https://registry.npmjs.org/@types/semver/-/semver-7.5.1.tgz", - "integrity": "sha512-cJRQXpObxfNKkFAZbJl2yjWtJCqELQIdShsogr1d2MilP8dKD9TE/nEKHkJgUNHdGKCQaf9HbIynuV2csLGVLg==", + "version": "7.5.2", + "resolved": "https://registry.npmjs.org/@types/semver/-/semver-7.5.2.tgz", + "integrity": "sha512-7aqorHYgdNO4DM36stTiGO3DvKoex9TQRwsJU6vMaFGyqpBA1MNZkz+PG3gaNUPpTAOYhT1WR7M1JyA3fbS9Cw==", "dev": true }, "node_modules/@typescript-eslint/eslint-plugin": { - "version": "6.5.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-6.5.0.tgz", - "integrity": "sha512-2pktILyjvMaScU6iK3925uvGU87E+N9rh372uGZgiMYwafaw9SXq86U04XPq3UH6tzRvNgBsub6x2DacHc33lw==", + "version": "6.7.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-6.7.0.tgz", + "integrity": "sha512-gUqtknHm0TDs1LhY12K2NA3Rmlmp88jK9Tx8vGZMfHeNMLE3GH2e9TRub+y+SOjuYgtOmok+wt1AyDPZqxbNag==", "dev": true, "dependencies": { "@eslint-community/regexpp": "^4.5.1", - "@typescript-eslint/scope-manager": "6.5.0", - "@typescript-eslint/type-utils": "6.5.0", - "@typescript-eslint/utils": "6.5.0", - "@typescript-eslint/visitor-keys": "6.5.0", + "@typescript-eslint/scope-manager": "6.7.0", + "@typescript-eslint/type-utils": "6.7.0", + "@typescript-eslint/utils": "6.7.0", + "@typescript-eslint/visitor-keys": "6.7.0", "debug": "^4.3.4", "graphemer": "^1.4.0", "ignore": "^5.2.4", @@ -2351,15 +2351,15 @@ } }, "node_modules/@typescript-eslint/parser": { - "version": "6.5.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-6.5.0.tgz", - "integrity": "sha512-LMAVtR5GN8nY0G0BadkG0XIe4AcNMeyEy3DyhKGAh9k4pLSMBO7rF29JvDBpZGCmp5Pgz5RLHP6eCpSYZJQDuQ==", + "version": "6.7.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-6.7.0.tgz", + "integrity": "sha512-jZKYwqNpNm5kzPVP5z1JXAuxjtl2uG+5NpaMocFPTNC2EdYIgbXIPImObOkhbONxtFTTdoZstLZefbaK+wXZng==", "dev": true, "dependencies": { - "@typescript-eslint/scope-manager": "6.5.0", - "@typescript-eslint/types": "6.5.0", - "@typescript-eslint/typescript-estree": "6.5.0", - "@typescript-eslint/visitor-keys": "6.5.0", + "@typescript-eslint/scope-manager": "6.7.0", + "@typescript-eslint/types": "6.7.0", + "@typescript-eslint/typescript-estree": "6.7.0", + "@typescript-eslint/visitor-keys": "6.7.0", "debug": "^4.3.4" }, "engines": { @@ -2379,13 +2379,13 @@ } }, "node_modules/@typescript-eslint/scope-manager": { - "version": "6.5.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-6.5.0.tgz", - "integrity": "sha512-A8hZ7OlxURricpycp5kdPTH3XnjG85UpJS6Fn4VzeoH4T388gQJ/PGP4ole5NfKt4WDVhmLaQ/dBLNDC4Xl/Kw==", + "version": "6.7.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-6.7.0.tgz", + "integrity": "sha512-lAT1Uau20lQyjoLUQ5FUMSX/dS07qux9rYd5FGzKz/Kf8W8ccuvMyldb8hadHdK/qOI7aikvQWqulnEq2nCEYA==", "dev": true, "dependencies": { - "@typescript-eslint/types": "6.5.0", - "@typescript-eslint/visitor-keys": "6.5.0" + "@typescript-eslint/types": "6.7.0", + "@typescript-eslint/visitor-keys": "6.7.0" }, "engines": { "node": "^16.0.0 || >=18.0.0" @@ -2396,13 +2396,13 @@ } }, "node_modules/@typescript-eslint/type-utils": { - "version": "6.5.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-6.5.0.tgz", - "integrity": "sha512-f7OcZOkRivtujIBQ4yrJNIuwyCQO1OjocVqntl9dgSIZAdKqicj3xFDqDOzHDlGCZX990LqhLQXWRnQvsapq8A==", + "version": "6.7.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-6.7.0.tgz", + "integrity": "sha512-f/QabJgDAlpSz3qduCyQT0Fw7hHpmhOzY/Rv6zO3yO+HVIdPfIWhrQoAyG+uZVtWAIS85zAyzgAFfyEr+MgBpg==", "dev": true, "dependencies": { - "@typescript-eslint/typescript-estree": "6.5.0", - "@typescript-eslint/utils": "6.5.0", + "@typescript-eslint/typescript-estree": "6.7.0", + "@typescript-eslint/utils": "6.7.0", "debug": "^4.3.4", "ts-api-utils": "^1.0.1" }, @@ -2423,9 +2423,9 @@ } }, "node_modules/@typescript-eslint/types": { - "version": "6.5.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-6.5.0.tgz", - "integrity": "sha512-eqLLOEF5/lU8jW3Bw+8auf4lZSbbljHR2saKnYqON12G/WsJrGeeDHWuQePoEf9ro22+JkbPfWQwKEC5WwLQ3w==", + "version": "6.7.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-6.7.0.tgz", + "integrity": "sha512-ihPfvOp7pOcN/ysoj0RpBPOx3HQTJTrIN8UZK+WFd3/iDeFHHqeyYxa4hQk4rMhsz9H9mXpR61IzwlBVGXtl9Q==", "dev": true, "engines": { "node": "^16.0.0 || >=18.0.0" @@ -2436,13 +2436,13 @@ } }, "node_modules/@typescript-eslint/typescript-estree": { - "version": "6.5.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-6.5.0.tgz", - "integrity": "sha512-q0rGwSe9e5Kk/XzliB9h2LBc9tmXX25G0833r7kffbl5437FPWb2tbpIV9wAATebC/018pGa9fwPDuvGN+LxWQ==", + "version": "6.7.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-6.7.0.tgz", + "integrity": "sha512-dPvkXj3n6e9yd/0LfojNU8VMUGHWiLuBZvbM6V6QYD+2qxqInE7J+J/ieY2iGwR9ivf/R/haWGkIj04WVUeiSQ==", "dev": true, "dependencies": { - "@typescript-eslint/types": "6.5.0", - "@typescript-eslint/visitor-keys": "6.5.0", + "@typescript-eslint/types": "6.7.0", + "@typescript-eslint/visitor-keys": "6.7.0", "debug": "^4.3.4", "globby": "^11.1.0", "is-glob": "^4.0.3", @@ -2463,17 +2463,17 @@ } }, "node_modules/@typescript-eslint/utils": { - "version": "6.5.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-6.5.0.tgz", - "integrity": "sha512-9nqtjkNykFzeVtt9Pj6lyR9WEdd8npPhhIPM992FWVkZuS6tmxHfGVnlUcjpUP2hv8r4w35nT33mlxd+Be1ACQ==", + "version": "6.7.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-6.7.0.tgz", + "integrity": "sha512-MfCq3cM0vh2slSikQYqK2Gq52gvOhe57vD2RM3V4gQRZYX4rDPnKLu5p6cm89+LJiGlwEXU8hkYxhqqEC/V3qA==", "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.5.0", - "@typescript-eslint/types": "6.5.0", - "@typescript-eslint/typescript-estree": "6.5.0", + "@typescript-eslint/scope-manager": "6.7.0", + "@typescript-eslint/types": "6.7.0", + "@typescript-eslint/typescript-estree": "6.7.0", "semver": "^7.5.4" }, "engines": { @@ -2488,12 +2488,12 @@ } }, "node_modules/@typescript-eslint/visitor-keys": { - "version": "6.5.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-6.5.0.tgz", - "integrity": "sha512-yCB/2wkbv3hPsh02ZS8dFQnij9VVQXJMN/gbQsaaY+zxALkZnxa/wagvLEFsAWMPv7d7lxQmNsIzGU1w/T/WyA==", + "version": "6.7.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-6.7.0.tgz", + "integrity": "sha512-/C1RVgKFDmGMcVGeD8HjKv2bd72oI1KxQDeY8uc66gw9R0OK0eMq48cA+jv9/2Ag6cdrsUGySm1yzYmfz0hxwQ==", "dev": true, "dependencies": { - "@typescript-eslint/types": "6.5.0", + "@typescript-eslint/types": "6.7.0", "eslint-visitor-keys": "^3.4.1" }, "engines": { @@ -14078,9 +14078,9 @@ "dev": true }, "@types/json-schema": { - "version": "7.0.12", - "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.12.tgz", - "integrity": "sha512-Hr5Jfhc9eYOQNPYO5WLDq/n4jqijdHNlDXjuAQkkt+mWdQR+XJToOHrsD4cPaMXpn6KO7y2+wM8AZEs8VpBLVA==", + "version": "7.0.13", + "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.13.tgz", + "integrity": "sha512-RbSSoHliUbnXj3ny0CNFOoxrIDV6SUGyStHsvDqosw6CkdPV8TtWGlfecuK4ToyMEAql6pzNxgCFKanovUzlgQ==", "dev": true }, "@types/lodash": { @@ -14141,22 +14141,22 @@ } }, "@types/semver": { - "version": "7.5.1", - "resolved": "https://registry.npmjs.org/@types/semver/-/semver-7.5.1.tgz", - "integrity": "sha512-cJRQXpObxfNKkFAZbJl2yjWtJCqELQIdShsogr1d2MilP8dKD9TE/nEKHkJgUNHdGKCQaf9HbIynuV2csLGVLg==", + "version": "7.5.2", + "resolved": "https://registry.npmjs.org/@types/semver/-/semver-7.5.2.tgz", + "integrity": "sha512-7aqorHYgdNO4DM36stTiGO3DvKoex9TQRwsJU6vMaFGyqpBA1MNZkz+PG3gaNUPpTAOYhT1WR7M1JyA3fbS9Cw==", "dev": true }, "@typescript-eslint/eslint-plugin": { - "version": "6.5.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-6.5.0.tgz", - "integrity": "sha512-2pktILyjvMaScU6iK3925uvGU87E+N9rh372uGZgiMYwafaw9SXq86U04XPq3UH6tzRvNgBsub6x2DacHc33lw==", + "version": "6.7.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-6.7.0.tgz", + "integrity": "sha512-gUqtknHm0TDs1LhY12K2NA3Rmlmp88jK9Tx8vGZMfHeNMLE3GH2e9TRub+y+SOjuYgtOmok+wt1AyDPZqxbNag==", "dev": true, "requires": { "@eslint-community/regexpp": "^4.5.1", - "@typescript-eslint/scope-manager": "6.5.0", - "@typescript-eslint/type-utils": "6.5.0", - "@typescript-eslint/utils": "6.5.0", - "@typescript-eslint/visitor-keys": "6.5.0", + "@typescript-eslint/scope-manager": "6.7.0", + "@typescript-eslint/type-utils": "6.7.0", + "@typescript-eslint/utils": "6.7.0", + "@typescript-eslint/visitor-keys": "6.7.0", "debug": "^4.3.4", "graphemer": "^1.4.0", "ignore": "^5.2.4", @@ -14166,54 +14166,54 @@ } }, "@typescript-eslint/parser": { - "version": "6.5.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-6.5.0.tgz", - "integrity": "sha512-LMAVtR5GN8nY0G0BadkG0XIe4AcNMeyEy3DyhKGAh9k4pLSMBO7rF29JvDBpZGCmp5Pgz5RLHP6eCpSYZJQDuQ==", + "version": "6.7.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-6.7.0.tgz", + "integrity": "sha512-jZKYwqNpNm5kzPVP5z1JXAuxjtl2uG+5NpaMocFPTNC2EdYIgbXIPImObOkhbONxtFTTdoZstLZefbaK+wXZng==", "dev": true, "requires": { - "@typescript-eslint/scope-manager": "6.5.0", - "@typescript-eslint/types": "6.5.0", - "@typescript-eslint/typescript-estree": "6.5.0", - "@typescript-eslint/visitor-keys": "6.5.0", + "@typescript-eslint/scope-manager": "6.7.0", + "@typescript-eslint/types": "6.7.0", + "@typescript-eslint/typescript-estree": "6.7.0", + "@typescript-eslint/visitor-keys": "6.7.0", "debug": "^4.3.4" } }, "@typescript-eslint/scope-manager": { - "version": "6.5.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-6.5.0.tgz", - "integrity": "sha512-A8hZ7OlxURricpycp5kdPTH3XnjG85UpJS6Fn4VzeoH4T388gQJ/PGP4ole5NfKt4WDVhmLaQ/dBLNDC4Xl/Kw==", + "version": "6.7.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-6.7.0.tgz", + "integrity": "sha512-lAT1Uau20lQyjoLUQ5FUMSX/dS07qux9rYd5FGzKz/Kf8W8ccuvMyldb8hadHdK/qOI7aikvQWqulnEq2nCEYA==", "dev": true, "requires": { - "@typescript-eslint/types": "6.5.0", - "@typescript-eslint/visitor-keys": "6.5.0" + "@typescript-eslint/types": "6.7.0", + "@typescript-eslint/visitor-keys": "6.7.0" } }, "@typescript-eslint/type-utils": { - "version": "6.5.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-6.5.0.tgz", - "integrity": "sha512-f7OcZOkRivtujIBQ4yrJNIuwyCQO1OjocVqntl9dgSIZAdKqicj3xFDqDOzHDlGCZX990LqhLQXWRnQvsapq8A==", + "version": "6.7.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-6.7.0.tgz", + "integrity": "sha512-f/QabJgDAlpSz3qduCyQT0Fw7hHpmhOzY/Rv6zO3yO+HVIdPfIWhrQoAyG+uZVtWAIS85zAyzgAFfyEr+MgBpg==", "dev": true, "requires": { - "@typescript-eslint/typescript-estree": "6.5.0", - "@typescript-eslint/utils": "6.5.0", + "@typescript-eslint/typescript-estree": "6.7.0", + "@typescript-eslint/utils": "6.7.0", "debug": "^4.3.4", "ts-api-utils": "^1.0.1" } }, "@typescript-eslint/types": { - "version": "6.5.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-6.5.0.tgz", - "integrity": "sha512-eqLLOEF5/lU8jW3Bw+8auf4lZSbbljHR2saKnYqON12G/WsJrGeeDHWuQePoEf9ro22+JkbPfWQwKEC5WwLQ3w==", + "version": "6.7.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-6.7.0.tgz", + "integrity": "sha512-ihPfvOp7pOcN/ysoj0RpBPOx3HQTJTrIN8UZK+WFd3/iDeFHHqeyYxa4hQk4rMhsz9H9mXpR61IzwlBVGXtl9Q==", "dev": true }, "@typescript-eslint/typescript-estree": { - "version": "6.5.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-6.5.0.tgz", - "integrity": "sha512-q0rGwSe9e5Kk/XzliB9h2LBc9tmXX25G0833r7kffbl5437FPWb2tbpIV9wAATebC/018pGa9fwPDuvGN+LxWQ==", + "version": "6.7.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-6.7.0.tgz", + "integrity": "sha512-dPvkXj3n6e9yd/0LfojNU8VMUGHWiLuBZvbM6V6QYD+2qxqInE7J+J/ieY2iGwR9ivf/R/haWGkIj04WVUeiSQ==", "dev": true, "requires": { - "@typescript-eslint/types": "6.5.0", - "@typescript-eslint/visitor-keys": "6.5.0", + "@typescript-eslint/types": "6.7.0", + "@typescript-eslint/visitor-keys": "6.7.0", "debug": "^4.3.4", "globby": "^11.1.0", "is-glob": "^4.0.3", @@ -14222,27 +14222,27 @@ } }, "@typescript-eslint/utils": { - "version": "6.5.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-6.5.0.tgz", - "integrity": "sha512-9nqtjkNykFzeVtt9Pj6lyR9WEdd8npPhhIPM992FWVkZuS6tmxHfGVnlUcjpUP2hv8r4w35nT33mlxd+Be1ACQ==", + "version": "6.7.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-6.7.0.tgz", + "integrity": "sha512-MfCq3cM0vh2slSikQYqK2Gq52gvOhe57vD2RM3V4gQRZYX4rDPnKLu5p6cm89+LJiGlwEXU8hkYxhqqEC/V3qA==", "dev": true, "requires": { "@eslint-community/eslint-utils": "^4.4.0", "@types/json-schema": "^7.0.12", "@types/semver": "^7.5.0", - "@typescript-eslint/scope-manager": "6.5.0", - "@typescript-eslint/types": "6.5.0", - "@typescript-eslint/typescript-estree": "6.5.0", + "@typescript-eslint/scope-manager": "6.7.0", + "@typescript-eslint/types": "6.7.0", + "@typescript-eslint/typescript-estree": "6.7.0", "semver": "^7.5.4" } }, "@typescript-eslint/visitor-keys": { - "version": "6.5.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-6.5.0.tgz", - "integrity": "sha512-yCB/2wkbv3hPsh02ZS8dFQnij9VVQXJMN/gbQsaaY+zxALkZnxa/wagvLEFsAWMPv7d7lxQmNsIzGU1w/T/WyA==", + "version": "6.7.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-6.7.0.tgz", + "integrity": "sha512-/C1RVgKFDmGMcVGeD8HjKv2bd72oI1KxQDeY8uc66gw9R0OK0eMq48cA+jv9/2Ag6cdrsUGySm1yzYmfz0hxwQ==", "dev": true, "requires": { - "@typescript-eslint/types": "6.5.0", + "@typescript-eslint/types": "6.7.0", "eslint-visitor-keys": "^3.4.1" } }, diff --git a/package.json b/package.json index eb4d7aad2..a6103ef90 100644 --- a/package.json +++ b/package.json @@ -17,8 +17,8 @@ "@types/luxon": "^3.3.2", "@types/mocha": "^10.0.1", "@types/node": "^20.5.8", - "@typescript-eslint/eslint-plugin": "^6.5.0", - "@typescript-eslint/parser": "^6.5.0", + "@typescript-eslint/eslint-plugin": "^6.7.0", + "@typescript-eslint/parser": "^6.7.0", "c8": "^8.0.1", "dayjs": "^1.11.9", "eslint": "^8.48.0", From 7db4e32ad03b25b5cbe2cc4ce459541ee5639f15 Mon Sep 17 00:00:00 2001 From: Ben McCann <322311+benmccann@users.noreply.github.com> Date: Tue, 19 Sep 2023 13:58:08 -0700 Subject: [PATCH 11/39] fix: add `browser` field to `package.json` You can prevent a module from being loaded into a bundle by specifying a value of false for that key. This is useful if you know certain codepaths will not be executed client side but find it awkward to split up or change the code structure. --- package.json | 3 +++ 1 file changed, 3 insertions(+) diff --git a/package.json b/package.json index a6103ef90..d0661157d 100644 --- a/package.json +++ b/package.json @@ -1,5 +1,8 @@ { "author": "Sebastian Pekarek ", + "browser": { + "fs": false + }, "bugs": { "url": "http://github.com/sebbo2002/ical-generator/issues" }, From 11282c13452b4c630fc443f67223b8cd2c75a7ad Mon Sep 17 00:00:00 2001 From: semantic-release-bot Date: Wed, 20 Sep 2023 04:42:32 +0000 Subject: [PATCH 12/39] chore(release): :bookmark: 5.0.2-develop.2 [skip ci] ## [5.0.2-develop.2](https://github.com/sebbo2002/ical-generator/compare/v5.0.2-develop.1...v5.0.2-develop.2) (2023-09-20) ### Bug Fixes * add `browser` field to `package.json` ([7db4e32](https://github.com/sebbo2002/ical-generator/commit/7db4e32ad03b25b5cbe2cc4ce459541ee5639f15)) --- CHANGELOG.md | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index a8334155c..524a3585c 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,10 @@ +## [5.0.2-develop.2](https://github.com/sebbo2002/ical-generator/compare/v5.0.2-develop.1...v5.0.2-develop.2) (2023-09-20) + + +### Bug Fixes + +* add `browser` field to `package.json` ([7db4e32](https://github.com/sebbo2002/ical-generator/commit/7db4e32ad03b25b5cbe2cc4ce459541ee5639f15)) + ## [5.0.2-develop.1](https://github.com/sebbo2002/ical-generator/compare/v5.0.1...v5.0.2-develop.1) (2023-08-23) From 11a0fb6fdc0c23237d78aa36f772d6ae2f724a83 Mon Sep 17 00:00:00 2001 From: Sebastian Pekarek Date: Sun, 24 Sep 2023 18:23:57 +0200 Subject: [PATCH 13/39] ci: Run tests with node.js v18, v20 and v21 --- .github/workflows/test-release.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/test-release.yml b/.github/workflows/test-release.yml index 4a239c446..4c6511f3b 100644 --- a/.github/workflows/test-release.yml +++ b/.github/workflows/test-release.yml @@ -15,7 +15,7 @@ jobs: if: github.repository != 'sebbo2002/js-template' && (contains(toJson(github.event.commits.*.message), '[skip ci]') == false || github.ref == 'refs/heads/main') strategy: matrix: - node: [16.x, 18.x, 20.x] + node: [18.x, 20.x, 21.x] steps: - name: ☁️ Checkout Project uses: actions/checkout@v4 From 7dfd59cc4eec745794a0365cb9e553f96b0b923a Mon Sep 17 00:00:00 2001 From: "depfu[bot]" <23717796+depfu[bot]@users.noreply.github.com> Date: Tue, 26 Sep 2023 08:14:05 +0000 Subject: [PATCH 14/39] Update all development npm dependencies (2023-09-26) (#524) --- package-lock.json | 174 +++++++++++++++++++++++----------------------- package.json | 10 +-- 2 files changed, 92 insertions(+), 92 deletions(-) diff --git a/package-lock.json b/package-lock.json index a52bbcb28..a8512be02 100644 --- a/package-lock.json +++ b/package-lock.json @@ -16,16 +16,16 @@ "@semantic-release/changelog": "^6.0.3", "@semantic-release/exec": "^6.0.3", "@semantic-release/git": "^10.0.1", - "@semantic-release/npm": "^10.0.5", + "@semantic-release/npm": "^10.0.6", "@touch4it/ical-timezones": "^1.9.0", "@types/luxon": "^3.3.2", "@types/mocha": "^10.0.1", - "@types/node": "^20.5.8", + "@types/node": "^20.6.3", "@typescript-eslint/eslint-plugin": "^6.7.0", "@typescript-eslint/parser": "^6.7.0", "c8": "^8.0.1", "dayjs": "^1.11.9", - "eslint": "^8.48.0", + "eslint": "^8.49.0", "eslint-plugin-jsonc": "^2.9.0", "esm": "^3.2.25", "license-checker": "^25.0.1", @@ -37,12 +37,12 @@ "nyc": "^15.1.0", "portfinder": "^1.0.32", "rrule": "^2.7.2", - "semantic-release": "^21.1.1", + "semantic-release": "^21.1.2", "semantic-release-license": "^1.0.2", "source-map-support": "^0.5.21", "ts-node": "^10.9.1", "tsup": "^7.2.0", - "typedoc": "^0.25.0", + "typedoc": "^0.25.1", "typescript": "^5.2.2" }, "engines": { @@ -980,18 +980,18 @@ } }, "node_modules/@eslint/js": { - "version": "8.48.0", - "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.48.0.tgz", - "integrity": "sha512-ZSjtmelB7IJfWD2Fvb7+Z+ChTIKWq6kjda95fLcQKNS5aheVHn4IkfgRQE3sIIzTcSLwLcLZUD9UBt+V7+h+Pw==", + "version": "8.49.0", + "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.49.0.tgz", + "integrity": "sha512-1S8uAY/MTJqVx0SC4epBq+N2yhuwtNwLbJYNZyhL2pO1ZVKn5HFXav5T41Ryzy9K9V7ZId2JB2oy/W4aCd9/2w==", "dev": true, "engines": { "node": "^12.22.0 || ^14.17.0 || >=16.0.0" } }, "node_modules/@humanwhocodes/config-array": { - "version": "0.11.10", - "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.10.tgz", - "integrity": "sha512-KVVjQmNUepDVGXNuoRRdmmEjruj0KfiGSbS8LVc12LMsWDQzRXJ0qdhN8L8uUigKpfEHRhlaQFY0ib1tnUbNeQ==", + "version": "0.11.11", + "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.11.tgz", + "integrity": "sha512-N2brEuAadi0CcdeMXUkhbZB84eskAc8MEX1By6qEchoVywSgXPIjou4rYsl0V3Hj0ZnuGycGCjdNgockbzeWNA==", "dev": true, "dependencies": { "@humanwhocodes/object-schema": "^1.2.1", @@ -1685,13 +1685,13 @@ } }, "node_modules/@semantic-release/npm": { - "version": "10.0.5", - "resolved": "https://registry.npmjs.org/@semantic-release/npm/-/npm-10.0.5.tgz", - "integrity": "sha512-cJnQ2M5pxJRwZEkb0A/+U3TG4UNmjrrLwV2PxJKljn5OPT0yJB8GzGgWbbKACayvxrT06YdTa4Amtq/piJcOIA==", + "version": "10.0.6", + "resolved": "https://registry.npmjs.org/@semantic-release/npm/-/npm-10.0.6.tgz", + "integrity": "sha512-DyqHrGE8aUyapA277BB+4kV0C4iMHh3sHzUWdf0jTgp5NNJxVUz76W1f57FB64Ue03him3CBXxFqQD2xGabxow==", "dev": true, "dependencies": { "@semantic-release/error": "^4.0.0", - "aggregate-error": "^4.0.1", + "aggregate-error": "^5.0.0", "execa": "^8.0.0", "fs-extra": "^11.0.0", "lodash-es": "^4.17.21", @@ -1712,31 +1712,31 @@ } }, "node_modules/@semantic-release/npm/node_modules/aggregate-error": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-4.0.1.tgz", - "integrity": "sha512-0poP0T7el6Vq3rstR8Mn4V/IQrpBLO6POkUSrN7RhyY+GF/InCFShQzsQ39T25gkHhLgSLByyAz+Kjb+c2L98w==", + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-5.0.0.tgz", + "integrity": "sha512-gOsf2YwSlleG6IjRYG2A7k0HmBMEo6qVNk9Bp/EaLgAJT5ngH6PXbqa4ItvnEwCm/velL5jAnQgsHsWnjhGmvw==", "dev": true, "dependencies": { - "clean-stack": "^4.0.0", + "clean-stack": "^5.2.0", "indent-string": "^5.0.0" }, "engines": { - "node": ">=12" + "node": ">=18" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/@semantic-release/npm/node_modules/clean-stack": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-4.2.0.tgz", - "integrity": "sha512-LYv6XPxoyODi36Dp976riBtSY27VmFo+MKqEU9QCCWyTrdEPDog+RWA7xQWHi6Vbp61j5c4cdzzX1NidnwtUWg==", + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-5.2.0.tgz", + "integrity": "sha512-TyUIUJgdFnCISzG5zu3291TAsE77ddchd0bepon1VVQrKLGKFED4iXFEDQ24mIPdPBbyE16PK3F8MYE1CmcBEQ==", "dev": true, "dependencies": { "escape-string-regexp": "5.0.0" }, "engines": { - "node": ">=12" + "node": ">=14.16" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" @@ -2283,9 +2283,9 @@ "dev": true }, "node_modules/@types/node": { - "version": "20.5.8", - "resolved": "https://registry.npmjs.org/@types/node/-/node-20.5.8.tgz", - "integrity": "sha512-eajsR9aeljqNhK028VG0Wuw+OaY5LLxYmxeoXynIoE6jannr9/Ucd1LL0hSSoafk5LTYG+FfqsyGt81Q6Zkybw==", + "version": "20.6.3", + "resolved": "https://registry.npmjs.org/@types/node/-/node-20.6.3.tgz", + "integrity": "sha512-HksnYH4Ljr4VQgEy2lTStbCKv/P590tmPe5HqOnv9Gprffgv5WXAY+Y5Gqniu0GGqeTCUdBnzC3QSrzPkBkAMA==", "dev": true }, "node_modules/@types/normalize-package-data": { @@ -3783,16 +3783,16 @@ } }, "node_modules/eslint": { - "version": "8.48.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.48.0.tgz", - "integrity": "sha512-sb6DLeIuRXxeM1YljSe1KEx9/YYeZFQWcV8Rq9HfigmdDEugjLEVEa1ozDjL6YDjBpQHPJxJzze+alxi4T3OLg==", + "version": "8.49.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.49.0.tgz", + "integrity": "sha512-jw03ENfm6VJI0jA9U+8H5zfl5b+FvuU3YYvZRdZHOlU2ggJkxrlkJH4HcDrZpj6YwD8kuYqvQM8LyesoazrSOQ==", "dev": true, "dependencies": { "@eslint-community/eslint-utils": "^4.2.0", "@eslint-community/regexpp": "^4.6.1", "@eslint/eslintrc": "^2.1.2", - "@eslint/js": "8.48.0", - "@humanwhocodes/config-array": "^0.11.10", + "@eslint/js": "8.49.0", + "@humanwhocodes/config-array": "^0.11.11", "@humanwhocodes/module-importer": "^1.0.1", "@nodelib/fs.walk": "^1.2.8", "ajv": "^6.12.4", @@ -10649,9 +10649,9 @@ "dev": true }, "node_modules/semantic-release": { - "version": "21.1.1", - "resolved": "https://registry.npmjs.org/semantic-release/-/semantic-release-21.1.1.tgz", - "integrity": "sha512-OCIazQnaCHdq1F6zfmKS0P7jZakYq0weiqW2mxUWo4H2CDnxelUoa/0Bs/dQatoHc6JFh6lG2HWpusdl93bFcw==", + "version": "21.1.2", + "resolved": "https://registry.npmjs.org/semantic-release/-/semantic-release-21.1.2.tgz", + "integrity": "sha512-kz76azHrT8+VEkQjoCBHE06JNQgTgsC4bT8XfCzb7DHcsk9vG3fqeMVik8h5rcWCYi2Fd+M3bwA7BG8Z8cRwtA==", "dev": true, "dependencies": { "@semantic-release/commit-analyzer": "^10.0.0", @@ -10659,7 +10659,7 @@ "@semantic-release/github": "^9.0.0", "@semantic-release/npm": "^10.0.2", "@semantic-release/release-notes-generator": "^11.0.0", - "aggregate-error": "^4.0.1", + "aggregate-error": "^5.0.0", "cosmiconfig": "^8.0.0", "debug": "^4.0.0", "env-ci": "^9.0.0", @@ -10697,31 +10697,31 @@ "dev": true }, "node_modules/semantic-release/node_modules/aggregate-error": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-4.0.1.tgz", - "integrity": "sha512-0poP0T7el6Vq3rstR8Mn4V/IQrpBLO6POkUSrN7RhyY+GF/InCFShQzsQ39T25gkHhLgSLByyAz+Kjb+c2L98w==", + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-5.0.0.tgz", + "integrity": "sha512-gOsf2YwSlleG6IjRYG2A7k0HmBMEo6qVNk9Bp/EaLgAJT5ngH6PXbqa4ItvnEwCm/velL5jAnQgsHsWnjhGmvw==", "dev": true, "dependencies": { - "clean-stack": "^4.0.0", + "clean-stack": "^5.2.0", "indent-string": "^5.0.0" }, "engines": { - "node": ">=12" + "node": ">=18" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/semantic-release/node_modules/clean-stack": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-4.2.0.tgz", - "integrity": "sha512-LYv6XPxoyODi36Dp976riBtSY27VmFo+MKqEU9QCCWyTrdEPDog+RWA7xQWHi6Vbp61j5c4cdzzX1NidnwtUWg==", + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-5.2.0.tgz", + "integrity": "sha512-TyUIUJgdFnCISzG5zu3291TAsE77ddchd0bepon1VVQrKLGKFED4iXFEDQ24mIPdPBbyE16PK3F8MYE1CmcBEQ==", "dev": true, "dependencies": { "escape-string-regexp": "5.0.0" }, "engines": { - "node": ">=12" + "node": ">=14.16" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" @@ -12172,9 +12172,9 @@ } }, "node_modules/typedoc": { - "version": "0.25.0", - "resolved": "https://registry.npmjs.org/typedoc/-/typedoc-0.25.0.tgz", - "integrity": "sha512-FvCYWhO1n5jACE0C32qg6b3dSfQ8f2VzExnnRboowHtqUD6ARzM2r8YJeZFYXhcm2hI4C2oCRDgNPk/yaQUN9g==", + "version": "0.25.1", + "resolved": "https://registry.npmjs.org/typedoc/-/typedoc-0.25.1.tgz", + "integrity": "sha512-c2ye3YUtGIadxN2O6YwPEXgrZcvhlZ6HlhWZ8jQRNzwLPn2ylhdGqdR8HbyDRyALP8J6lmSANILCkkIdNPFxqA==", "dev": true, "dependencies": { "lunr": "^2.3.9", @@ -13162,15 +13162,15 @@ } }, "@eslint/js": { - "version": "8.48.0", - "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.48.0.tgz", - "integrity": "sha512-ZSjtmelB7IJfWD2Fvb7+Z+ChTIKWq6kjda95fLcQKNS5aheVHn4IkfgRQE3sIIzTcSLwLcLZUD9UBt+V7+h+Pw==", + "version": "8.49.0", + "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.49.0.tgz", + "integrity": "sha512-1S8uAY/MTJqVx0SC4epBq+N2yhuwtNwLbJYNZyhL2pO1ZVKn5HFXav5T41Ryzy9K9V7ZId2JB2oy/W4aCd9/2w==", "dev": true }, "@humanwhocodes/config-array": { - "version": "0.11.10", - "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.10.tgz", - "integrity": "sha512-KVVjQmNUepDVGXNuoRRdmmEjruj0KfiGSbS8LVc12LMsWDQzRXJ0qdhN8L8uUigKpfEHRhlaQFY0ib1tnUbNeQ==", + "version": "0.11.11", + "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.11.tgz", + "integrity": "sha512-N2brEuAadi0CcdeMXUkhbZB84eskAc8MEX1By6qEchoVywSgXPIjou4rYsl0V3Hj0ZnuGycGCjdNgockbzeWNA==", "dev": true, "requires": { "@humanwhocodes/object-schema": "^1.2.1", @@ -13698,13 +13698,13 @@ } }, "@semantic-release/npm": { - "version": "10.0.5", - "resolved": "https://registry.npmjs.org/@semantic-release/npm/-/npm-10.0.5.tgz", - "integrity": "sha512-cJnQ2M5pxJRwZEkb0A/+U3TG4UNmjrrLwV2PxJKljn5OPT0yJB8GzGgWbbKACayvxrT06YdTa4Amtq/piJcOIA==", + "version": "10.0.6", + "resolved": "https://registry.npmjs.org/@semantic-release/npm/-/npm-10.0.6.tgz", + "integrity": "sha512-DyqHrGE8aUyapA277BB+4kV0C4iMHh3sHzUWdf0jTgp5NNJxVUz76W1f57FB64Ue03him3CBXxFqQD2xGabxow==", "dev": true, "requires": { "@semantic-release/error": "^4.0.0", - "aggregate-error": "^4.0.1", + "aggregate-error": "^5.0.0", "execa": "^8.0.0", "fs-extra": "^11.0.0", "lodash-es": "^4.17.21", @@ -13719,19 +13719,19 @@ }, "dependencies": { "aggregate-error": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-4.0.1.tgz", - "integrity": "sha512-0poP0T7el6Vq3rstR8Mn4V/IQrpBLO6POkUSrN7RhyY+GF/InCFShQzsQ39T25gkHhLgSLByyAz+Kjb+c2L98w==", + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-5.0.0.tgz", + "integrity": "sha512-gOsf2YwSlleG6IjRYG2A7k0HmBMEo6qVNk9Bp/EaLgAJT5ngH6PXbqa4ItvnEwCm/velL5jAnQgsHsWnjhGmvw==", "dev": true, "requires": { - "clean-stack": "^4.0.0", + "clean-stack": "^5.2.0", "indent-string": "^5.0.0" } }, "clean-stack": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-4.2.0.tgz", - "integrity": "sha512-LYv6XPxoyODi36Dp976riBtSY27VmFo+MKqEU9QCCWyTrdEPDog+RWA7xQWHi6Vbp61j5c4cdzzX1NidnwtUWg==", + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-5.2.0.tgz", + "integrity": "sha512-TyUIUJgdFnCISzG5zu3291TAsE77ddchd0bepon1VVQrKLGKFED4iXFEDQ24mIPdPBbyE16PK3F8MYE1CmcBEQ==", "dev": true, "requires": { "escape-string-regexp": "5.0.0" @@ -14114,9 +14114,9 @@ "dev": true }, "@types/node": { - "version": "20.5.8", - "resolved": "https://registry.npmjs.org/@types/node/-/node-20.5.8.tgz", - "integrity": "sha512-eajsR9aeljqNhK028VG0Wuw+OaY5LLxYmxeoXynIoE6jannr9/Ucd1LL0hSSoafk5LTYG+FfqsyGt81Q6Zkybw==", + "version": "20.6.3", + "resolved": "https://registry.npmjs.org/@types/node/-/node-20.6.3.tgz", + "integrity": "sha512-HksnYH4Ljr4VQgEy2lTStbCKv/P590tmPe5HqOnv9Gprffgv5WXAY+Y5Gqniu0GGqeTCUdBnzC3QSrzPkBkAMA==", "dev": true }, "@types/normalize-package-data": { @@ -15224,16 +15224,16 @@ "dev": true }, "eslint": { - "version": "8.48.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.48.0.tgz", - "integrity": "sha512-sb6DLeIuRXxeM1YljSe1KEx9/YYeZFQWcV8Rq9HfigmdDEugjLEVEa1ozDjL6YDjBpQHPJxJzze+alxi4T3OLg==", + "version": "8.49.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.49.0.tgz", + "integrity": "sha512-jw03ENfm6VJI0jA9U+8H5zfl5b+FvuU3YYvZRdZHOlU2ggJkxrlkJH4HcDrZpj6YwD8kuYqvQM8LyesoazrSOQ==", "dev": true, "requires": { "@eslint-community/eslint-utils": "^4.2.0", "@eslint-community/regexpp": "^4.6.1", "@eslint/eslintrc": "^2.1.2", - "@eslint/js": "8.48.0", - "@humanwhocodes/config-array": "^0.11.10", + "@eslint/js": "8.49.0", + "@humanwhocodes/config-array": "^0.11.11", "@humanwhocodes/module-importer": "^1.0.1", "@nodelib/fs.walk": "^1.2.8", "ajv": "^6.12.4", @@ -20199,9 +20199,9 @@ "dev": true }, "semantic-release": { - "version": "21.1.1", - "resolved": "https://registry.npmjs.org/semantic-release/-/semantic-release-21.1.1.tgz", - "integrity": "sha512-OCIazQnaCHdq1F6zfmKS0P7jZakYq0weiqW2mxUWo4H2CDnxelUoa/0Bs/dQatoHc6JFh6lG2HWpusdl93bFcw==", + "version": "21.1.2", + "resolved": "https://registry.npmjs.org/semantic-release/-/semantic-release-21.1.2.tgz", + "integrity": "sha512-kz76azHrT8+VEkQjoCBHE06JNQgTgsC4bT8XfCzb7DHcsk9vG3fqeMVik8h5rcWCYi2Fd+M3bwA7BG8Z8cRwtA==", "dev": true, "requires": { "@semantic-release/commit-analyzer": "^10.0.0", @@ -20209,7 +20209,7 @@ "@semantic-release/github": "^9.0.0", "@semantic-release/npm": "^10.0.2", "@semantic-release/release-notes-generator": "^11.0.0", - "aggregate-error": "^4.0.1", + "aggregate-error": "^5.0.0", "cosmiconfig": "^8.0.0", "debug": "^4.0.0", "env-ci": "^9.0.0", @@ -20235,19 +20235,19 @@ }, "dependencies": { "aggregate-error": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-4.0.1.tgz", - "integrity": "sha512-0poP0T7el6Vq3rstR8Mn4V/IQrpBLO6POkUSrN7RhyY+GF/InCFShQzsQ39T25gkHhLgSLByyAz+Kjb+c2L98w==", + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-5.0.0.tgz", + "integrity": "sha512-gOsf2YwSlleG6IjRYG2A7k0HmBMEo6qVNk9Bp/EaLgAJT5ngH6PXbqa4ItvnEwCm/velL5jAnQgsHsWnjhGmvw==", "dev": true, "requires": { - "clean-stack": "^4.0.0", + "clean-stack": "^5.2.0", "indent-string": "^5.0.0" } }, "clean-stack": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-4.2.0.tgz", - "integrity": "sha512-LYv6XPxoyODi36Dp976riBtSY27VmFo+MKqEU9QCCWyTrdEPDog+RWA7xQWHi6Vbp61j5c4cdzzX1NidnwtUWg==", + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-5.2.0.tgz", + "integrity": "sha512-TyUIUJgdFnCISzG5zu3291TAsE77ddchd0bepon1VVQrKLGKFED4iXFEDQ24mIPdPBbyE16PK3F8MYE1CmcBEQ==", "dev": true, "requires": { "escape-string-regexp": "5.0.0" @@ -21319,9 +21319,9 @@ } }, "typedoc": { - "version": "0.25.0", - "resolved": "https://registry.npmjs.org/typedoc/-/typedoc-0.25.0.tgz", - "integrity": "sha512-FvCYWhO1n5jACE0C32qg6b3dSfQ8f2VzExnnRboowHtqUD6ARzM2r8YJeZFYXhcm2hI4C2oCRDgNPk/yaQUN9g==", + "version": "0.25.1", + "resolved": "https://registry.npmjs.org/typedoc/-/typedoc-0.25.1.tgz", + "integrity": "sha512-c2ye3YUtGIadxN2O6YwPEXgrZcvhlZ6HlhWZ8jQRNzwLPn2ylhdGqdR8HbyDRyALP8J6lmSANILCkkIdNPFxqA==", "dev": true, "requires": { "lunr": "^2.3.9", diff --git a/package.json b/package.json index d0661157d..e61d5562e 100644 --- a/package.json +++ b/package.json @@ -15,16 +15,16 @@ "@semantic-release/changelog": "^6.0.3", "@semantic-release/exec": "^6.0.3", "@semantic-release/git": "^10.0.1", - "@semantic-release/npm": "^10.0.5", + "@semantic-release/npm": "^10.0.6", "@touch4it/ical-timezones": "^1.9.0", "@types/luxon": "^3.3.2", "@types/mocha": "^10.0.1", - "@types/node": "^20.5.8", + "@types/node": "^20.6.3", "@typescript-eslint/eslint-plugin": "^6.7.0", "@typescript-eslint/parser": "^6.7.0", "c8": "^8.0.1", "dayjs": "^1.11.9", - "eslint": "^8.48.0", + "eslint": "^8.49.0", "eslint-plugin-jsonc": "^2.9.0", "esm": "^3.2.25", "license-checker": "^25.0.1", @@ -36,12 +36,12 @@ "nyc": "^15.1.0", "portfinder": "^1.0.32", "rrule": "^2.7.2", - "semantic-release": "^21.1.1", + "semantic-release": "^21.1.2", "semantic-release-license": "^1.0.2", "source-map-support": "^0.5.21", "ts-node": "^10.9.1", "tsup": "^7.2.0", - "typedoc": "^0.25.0", + "typedoc": "^0.25.1", "typescript": "^5.2.2" }, "engines": { From 716da75fb0725bdb57ce3561ca7f0b9298371a46 Mon Sep 17 00:00:00 2001 From: "depfu[bot]" <23717796+depfu[bot]@users.noreply.github.com> Date: Tue, 3 Oct 2023 08:12:14 +0000 Subject: [PATCH 15/39] Update all development npm dependencies (2023-10-03) --- package-lock.json | 14 +++++++------- package.json | 2 +- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/package-lock.json b/package-lock.json index a8512be02..73c117397 100644 --- a/package-lock.json +++ b/package-lock.json @@ -24,7 +24,7 @@ "@typescript-eslint/eslint-plugin": "^6.7.0", "@typescript-eslint/parser": "^6.7.0", "c8": "^8.0.1", - "dayjs": "^1.11.9", + "dayjs": "^1.11.10", "eslint": "^8.49.0", "eslint-plugin-jsonc": "^2.9.0", "esm": "^3.2.25", @@ -3394,9 +3394,9 @@ } }, "node_modules/dayjs": { - "version": "1.11.9", - "resolved": "https://registry.npmjs.org/dayjs/-/dayjs-1.11.9.tgz", - "integrity": "sha512-QvzAURSbQ0pKdIye2txOzNaHmxtUBXerpY0FJsFXUMKbIZeFm5ht1LS/jFsrncjnmtv8HsG0W2g6c0zUjZWmpA==", + "version": "1.11.10", + "resolved": "https://registry.npmjs.org/dayjs/-/dayjs-1.11.10.tgz", + "integrity": "sha512-vjAczensTgRcqDERK0SR2XMwsF/tSvnvlv6VcF2GIhg6Sx4yOIt/irsr1RDJsKiIyBzJDpCoXiWWq28MqH2cnQ==", "dev": true }, "node_modules/debug": { @@ -14936,9 +14936,9 @@ "dev": true }, "dayjs": { - "version": "1.11.9", - "resolved": "https://registry.npmjs.org/dayjs/-/dayjs-1.11.9.tgz", - "integrity": "sha512-QvzAURSbQ0pKdIye2txOzNaHmxtUBXerpY0FJsFXUMKbIZeFm5ht1LS/jFsrncjnmtv8HsG0W2g6c0zUjZWmpA==", + "version": "1.11.10", + "resolved": "https://registry.npmjs.org/dayjs/-/dayjs-1.11.10.tgz", + "integrity": "sha512-vjAczensTgRcqDERK0SR2XMwsF/tSvnvlv6VcF2GIhg6Sx4yOIt/irsr1RDJsKiIyBzJDpCoXiWWq28MqH2cnQ==", "dev": true }, "debug": { diff --git a/package.json b/package.json index e61d5562e..b08bf9211 100644 --- a/package.json +++ b/package.json @@ -23,7 +23,7 @@ "@typescript-eslint/eslint-plugin": "^6.7.0", "@typescript-eslint/parser": "^6.7.0", "c8": "^8.0.1", - "dayjs": "^1.11.9", + "dayjs": "^1.11.10", "eslint": "^8.49.0", "eslint-plugin-jsonc": "^2.9.0", "esm": "^3.2.25", From 5d72c51c3ff0417e779df916a7d9e4b566444600 Mon Sep 17 00:00:00 2001 From: "depfu[bot]" <23717796+depfu[bot]@users.noreply.github.com> Date: Thu, 12 Oct 2023 05:40:50 +0000 Subject: [PATCH 16/39] Update all development npm dependencies (2023-10-12) --- package-lock.json | 14 +++++++------- package.json | 2 +- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/package-lock.json b/package-lock.json index 73c117397..536562a35 100644 --- a/package-lock.json +++ b/package-lock.json @@ -19,7 +19,7 @@ "@semantic-release/npm": "^10.0.6", "@touch4it/ical-timezones": "^1.9.0", "@types/luxon": "^3.3.2", - "@types/mocha": "^10.0.1", + "@types/mocha": "^10.0.2", "@types/node": "^20.6.3", "@typescript-eslint/eslint-plugin": "^6.7.0", "@typescript-eslint/parser": "^6.7.0", @@ -2271,9 +2271,9 @@ "dev": true }, "node_modules/@types/mocha": { - "version": "10.0.1", - "resolved": "https://registry.npmjs.org/@types/mocha/-/mocha-10.0.1.tgz", - "integrity": "sha512-/fvYntiO1GeICvqbQ3doGDIP97vWmvFt83GKguJ6prmQM2iXZfFcq6YE8KteFyRtX2/h5Hf91BYvPodJKFYv5Q==", + "version": "10.0.2", + "resolved": "https://registry.npmjs.org/@types/mocha/-/mocha-10.0.2.tgz", + "integrity": "sha512-NaHL0+0lLNhX6d9rs+NSt97WH/gIlRHmszXbQ/8/MV/eVcFNdeJ/GYhrFuUc8K7WuPhRhTSdMkCp8VMzhUq85w==", "dev": true }, "node_modules/@types/ms": { @@ -14102,9 +14102,9 @@ "dev": true }, "@types/mocha": { - "version": "10.0.1", - "resolved": "https://registry.npmjs.org/@types/mocha/-/mocha-10.0.1.tgz", - "integrity": "sha512-/fvYntiO1GeICvqbQ3doGDIP97vWmvFt83GKguJ6prmQM2iXZfFcq6YE8KteFyRtX2/h5Hf91BYvPodJKFYv5Q==", + "version": "10.0.2", + "resolved": "https://registry.npmjs.org/@types/mocha/-/mocha-10.0.2.tgz", + "integrity": "sha512-NaHL0+0lLNhX6d9rs+NSt97WH/gIlRHmszXbQ/8/MV/eVcFNdeJ/GYhrFuUc8K7WuPhRhTSdMkCp8VMzhUq85w==", "dev": true }, "@types/ms": { diff --git a/package.json b/package.json index b08bf9211..fecafa32e 100644 --- a/package.json +++ b/package.json @@ -18,7 +18,7 @@ "@semantic-release/npm": "^10.0.6", "@touch4it/ical-timezones": "^1.9.0", "@types/luxon": "^3.3.2", - "@types/mocha": "^10.0.1", + "@types/mocha": "^10.0.2", "@types/node": "^20.6.3", "@typescript-eslint/eslint-plugin": "^6.7.0", "@typescript-eslint/parser": "^6.7.0", From 1b245a58587bc6871e8b1633beff1f1bca05970f Mon Sep 17 00:00:00 2001 From: Sebastian Pekarek Date: Thu, 12 Oct 2023 08:02:22 +0200 Subject: [PATCH 17/39] Revert "ci: Run tests with node.js v18, v20 and v21" This reverts commit 11a0fb6fdc0c23237d78aa36f772d6ae2f724a83. --- .github/workflows/test-release.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/test-release.yml b/.github/workflows/test-release.yml index 4c6511f3b..4a239c446 100644 --- a/.github/workflows/test-release.yml +++ b/.github/workflows/test-release.yml @@ -15,7 +15,7 @@ jobs: if: github.repository != 'sebbo2002/js-template' && (contains(toJson(github.event.commits.*.message), '[skip ci]') == false || github.ref == 'refs/heads/main') strategy: matrix: - node: [18.x, 20.x, 21.x] + node: [16.x, 18.x, 20.x] steps: - name: ☁️ Checkout Project uses: actions/checkout@v4 From b6bea665837c85e066ad7a32234336b01e6244f1 Mon Sep 17 00:00:00 2001 From: Sebastian Pekarek Date: Sat, 7 Oct 2023 17:11:15 +0200 Subject: [PATCH 18/39] feat: Remove `save()`, `saveSync()`, `serve()`, `toBlob()`, `toURL()` BREAKING CHANGE: The `save()`, `saveSync()`, `serve()`, `toBlob()` and `toURL()` methods of the ICalCalendar class have been removed. Please use the `toString()` method to generate the ical string and proceed from there. close #478 --- package-lock.json | 66 ------------------ package.json | 3 - src/calendar.ts | 88 ------------------------ test/calendar.ts | 168 ---------------------------------------------- 4 files changed, 325 deletions(-) diff --git a/package-lock.json b/package-lock.json index a8512be02..08d87d41f 100644 --- a/package-lock.json +++ b/package-lock.json @@ -20,7 +20,6 @@ "@touch4it/ical-timezones": "^1.9.0", "@types/luxon": "^3.3.2", "@types/mocha": "^10.0.1", - "@types/node": "^20.6.3", "@typescript-eslint/eslint-plugin": "^6.7.0", "@typescript-eslint/parser": "^6.7.0", "c8": "^8.0.1", @@ -35,7 +34,6 @@ "moment": "^2.29.4", "moment-timezone": "^0.5.43", "nyc": "^15.1.0", - "portfinder": "^1.0.32", "rrule": "^2.7.2", "semantic-release": "^21.1.2", "semantic-release-license": "^1.0.2", @@ -52,7 +50,6 @@ "@touch4it/ical-timezones": ">=1.6.0", "@types/luxon": ">= 1.26.0", "@types/mocha": ">= 8.2.1", - "@types/node": ">= 15.0.0", "dayjs": ">= 1.10.0", "luxon": ">= 1.26.0", "moment": ">= 2.29.0", @@ -2759,15 +2756,6 @@ "integrity": "sha1-5QNHYR1+aQlDIIu9r+vLwvuGbUY=", "dev": true }, - "node_modules/async": { - "version": "2.6.4", - "resolved": "https://registry.npmjs.org/async/-/async-2.6.4.tgz", - "integrity": "sha512-mzo5dfJYwAn29PeiJ0zvwTo04zj8HDJj0Mn8TD7sno7q12prdbnasKJHhkm2c1LgrhlJ0teaea8860oxi51mGA==", - "dev": true, - "dependencies": { - "lodash": "^4.17.14" - } - }, "node_modules/asynckit": { "version": "0.4.0", "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", @@ -10031,29 +10019,6 @@ "node": ">=8" } }, - "node_modules/portfinder": { - "version": "1.0.32", - "resolved": "https://registry.npmjs.org/portfinder/-/portfinder-1.0.32.tgz", - "integrity": "sha512-on2ZJVVDXRADWE6jnQaX0ioEylzgBpQk8r55NE4wjXW1ZxO+BgDlY6DXwj20i0V8eB4SenDQ00WEaxfiIQPcxg==", - "dev": true, - "dependencies": { - "async": "^2.6.4", - "debug": "^3.2.7", - "mkdirp": "^0.5.6" - }, - "engines": { - "node": ">= 0.12.0" - } - }, - "node_modules/portfinder/node_modules/debug": { - "version": "3.2.7", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", - "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", - "dev": true, - "dependencies": { - "ms": "^2.1.1" - } - }, "node_modules/postcss-load-config": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-4.0.1.tgz", @@ -14440,15 +14405,6 @@ "integrity": "sha1-5QNHYR1+aQlDIIu9r+vLwvuGbUY=", "dev": true }, - "async": { - "version": "2.6.4", - "resolved": "https://registry.npmjs.org/async/-/async-2.6.4.tgz", - "integrity": "sha512-mzo5dfJYwAn29PeiJ0zvwTo04zj8HDJj0Mn8TD7sno7q12prdbnasKJHhkm2c1LgrhlJ0teaea8860oxi51mGA==", - "dev": true, - "requires": { - "lodash": "^4.17.14" - } - }, "asynckit": { "version": "0.4.0", "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", @@ -19726,28 +19682,6 @@ } } }, - "portfinder": { - "version": "1.0.32", - "resolved": "https://registry.npmjs.org/portfinder/-/portfinder-1.0.32.tgz", - "integrity": "sha512-on2ZJVVDXRADWE6jnQaX0ioEylzgBpQk8r55NE4wjXW1ZxO+BgDlY6DXwj20i0V8eB4SenDQ00WEaxfiIQPcxg==", - "dev": true, - "requires": { - "async": "^2.6.4", - "debug": "^3.2.7", - "mkdirp": "^0.5.6" - }, - "dependencies": { - "debug": { - "version": "3.2.7", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", - "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", - "dev": true, - "requires": { - "ms": "^2.1.1" - } - } - } - }, "postcss-load-config": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-4.0.1.tgz", diff --git a/package.json b/package.json index e61d5562e..f69e7e9ec 100644 --- a/package.json +++ b/package.json @@ -19,7 +19,6 @@ "@touch4it/ical-timezones": "^1.9.0", "@types/luxon": "^3.3.2", "@types/mocha": "^10.0.1", - "@types/node": "^20.6.3", "@typescript-eslint/eslint-plugin": "^6.7.0", "@typescript-eslint/parser": "^6.7.0", "c8": "^8.0.1", @@ -34,7 +33,6 @@ "moment": "^2.29.4", "moment-timezone": "^0.5.43", "nyc": "^15.1.0", - "portfinder": "^1.0.32", "rrule": "^2.7.2", "semantic-release": "^21.1.2", "semantic-release-license": "^1.0.2", @@ -77,7 +75,6 @@ "@touch4it/ical-timezones": ">=1.6.0", "@types/luxon": ">= 1.26.0", "@types/mocha": ">= 8.2.1", - "@types/node": ">= 15.0.0", "dayjs": ">= 1.10.0", "luxon": ">= 1.26.0", "moment": ">= 2.29.0", diff --git a/src/calendar.ts b/src/calendar.ts index a05141cb4..b3aa8df2b 100755 --- a/src/calendar.ts +++ b/src/calendar.ts @@ -9,8 +9,6 @@ import { toDurationString } from './tools.js'; import ICalEvent, {ICalEventData, ICalEventJSONData} from './event.js'; -import {writeFile, writeFileSync, promises as fsPromises} from 'node:fs'; -import {ServerResponse} from 'node:http'; import { ICalMomentDurationStub, ICalTimezone } from './types.js'; @@ -583,92 +581,6 @@ export default class ICalCalendar { } - /** - * Save ical file using [`fs/promises`](https://nodejs.org/api/fs.html#fs_fspromises_writefile_file_data_options). - * Only works in node.js environments. - * - * ```javascript - * await calendar.save('./calendar.ical'); - * ``` - */ - save(path: string): Promise; - - /** - * Save ical file with [`fs.writeFile`](http://nodejs.org/api/fs.html#fs_fs_writefile_filename_data_options_callback). - * Only works in node.js environments. - * - * ```javascript - * calendar.save('./calendar.ical', err => { - * console.log(err); - * }); - * ``` - */ - save(path: string, cb?: (err: NodeJS.ErrnoException | null) => void): this; - save(path: string, cb?: (err: NodeJS.ErrnoException | null) => void): this | Promise { - if (cb) { - writeFile(path, this.toString(), cb); - return this; - } - - return fsPromises.writeFile(path, this.toString()); - } - - - /** - * Save Calendar to disk synchronously using - * [fs.writeFileSync](http://nodejs.org/api/fs.html#fs_fs_writefilesync_filename_data_options). - * Only works in node.js environments. - * - * ```javascript - * calendar.saveSync('./calendar.ical'); - * ``` - */ - saveSync(path: string): this { - writeFileSync(path, this.toString()); - return this; - } - - - /** - * Send calendar to the user when using HTTP using the passed `ServerResponse` object. - * Use second parameter `filename` to change the filename, which defaults to `'calendar.ics'`. - * - * @param response HTTP Response object which is used to send the calendar - * @param [filename = 'calendar.ics'] Filename of the calendar file - */ - serve(response: ServerResponse, filename = 'calendar.ics'): this { - response.writeHead(200, { - 'Content-Type': 'text/calendar; charset=utf-8', - 'Content-Disposition': `attachment; filename="${filename}"` - }); - - response.end(this.toString()); - return this; - } - - - /** - * Generates a blob to use for downloads or to generate a download URL. - * Only supported in browsers supporting the Blob API. - * - * @since 1.9.0 - */ - toBlob(): Blob { - return new Blob([this.toString()], {type: 'text/calendar'}); - } - - - /** - * Returns a URL to download the ical file. Uses the Blob object internally, - * so it's only supported in browsers supporting the Blob API. - * - * @since 1.9.0 - */ - toURL(): string { - return URL.createObjectURL(this.toBlob()); - } - - /** * Set X-* attributes. Woun't filter double attributes, * which are also added by another method (e.g. busystatus), diff --git a/test/calendar.ts b/test/calendar.ts index c14bdfc3b..27f0e371f 100644 --- a/test/calendar.ts +++ b/test/calendar.ts @@ -1,19 +1,11 @@ 'use strict'; import assert from 'assert'; -import {existsSync, unlinkSync} from 'fs'; -import * as http from 'http'; import moment from 'moment'; -import {join} from 'path'; -import { versions } from 'node:process'; -import { tmpdir } from 'node:os'; -import {getPortPromise} from 'portfinder'; import ICalCalendar, {ICalCalendarJSONData, ICalCalendarMethod} from '../src/calendar.js'; import ICalEvent from '../src/event.js'; import {getVtimezoneComponent} from '@touch4it/ical-timezones'; -const supportsBlob = parseInt(versions.node) >= 18; - describe('ical-generator Calendar', function () { describe('constructor()', function () { it('shoud load json export', function () { @@ -365,166 +357,6 @@ describe('ical-generator Calendar', function () { }); }); - describe('save()', function () { - it('should return all public methods and save it', function (done) { - const file = join(tmpdir(), 'save.ical'); - const cal = new ICalCalendar(); - - assert.deepStrictEqual(cal, cal.save(file, function () { - assert.ok(existsSync(file)); - unlinkSync(file); - - assert.deepStrictEqual(cal, cal.save(file, function () { - assert.ok(existsSync(file)); - unlinkSync(file); - done(); - })); - })); - }); - - it('should be usable with promises', async function () { - const file = join(tmpdir(), 'save.ical'); - const cal = new ICalCalendar(); - await cal.save(file); - - assert.ok(existsSync(file)); - unlinkSync(file); - }); - - it('should throw error when event invalid', function () { - const file = join(tmpdir(), 'save.ical'); - const cal = new ICalCalendar(); - - cal.createEvent({}); - - assert.throws(function () { - cal.save(file); - }, /`start`/); - }); - }); - - describe('saveSync()', function () { - it('should save it', function () { - const file = join(tmpdir(), 'save_sync.ical'); - const cal = new ICalCalendar(); - - cal.saveSync(file); - assert.ok(existsSync(file)); - unlinkSync(file); - - cal.saveSync(file); - assert.ok(existsSync(file)); - unlinkSync(file); - }); - - it('should throw error when event invalid', function () { - const file = join(tmpdir(), 'save_sync.ical'); - const cal = new ICalCalendar(); - - cal.createEvent({}); - - assert.throws(function () { - cal.saveSync(file); - }, /`start`/); - }); - }); - - describe('serve()', function () { - it('should work', async function () { - const cal = new ICalCalendar(); - - cal.createEvent({ - start: new Date(), - end: new Date(new Date().getTime() + (1000 * 60 * 60)), - summary: 'HTTP Calendar Event' - }); - - const port = await getPortPromise(); - - return new Promise(done => { - const server = http.createServer((req, res) => { - cal.serve(res); - }).listen(port, function () { - function request(cb: () => void) { - // make request - const req = http.request({port}, function (res) { - let file = ''; - - assert.strictEqual( - res.headers['content-type'], - 'text/calendar; charset=utf-8', - 'Header: text/calendar; charset=utf-8' - ); - assert.strictEqual( - res.headers['content-disposition'], - 'attachment; filename="calendar.ics"', - 'Content-Disposition' - ); - - res.setEncoding('utf8'); - res.on('data', function (chunk) { - file += chunk; - }); - res.on('end', function () { - assert.strictEqual(file, cal.toString()); - cb(); - }); - }); - - req.on('error', function (err) { - assert.fail(err); - }); - req.end(); - } - - request(() => { - request(() => { - server.close(() => done()); - }); - }); - }); - }); - }); - }); - - describe('toBlob()', function () { - it('should work', supportsBlob ? async function () { - const cal = new ICalCalendar({ - events: [ - { - start: new Date(), - end: new Date(new Date().getTime() + (1000 * 60 * 60)), - summary: 'Blob Calendar Event' - } - ] - }); - - const blob = cal.toBlob(); - assert.ok(blob instanceof Blob, 'instanceof Blob'); - assert.ok(blob.size > 0, 'blob is filled'); - assert.strictEqual(blob.type, 'text/calendar'); - } : undefined); - }); - - describe('toURL()', function () { - it('should work', supportsBlob ? async function () { - const cal = new ICalCalendar({ - events: [ - { - start: new Date(), - end: new Date(new Date().getTime() + (1000 * 60 * 60)), - summary: 'Calendar URL Event' - } - ] - }); - - const url = cal.toURL(); - console.log(url); - assert.strictEqual(typeof url, 'string'); - assert.ok(url.length > 0, 'url is not empty'); - } : undefined); - }); - describe('x()', function () { it('setter should return this', function () { const cal = new ICalCalendar(); From 27332b77d9172b270cbba84b7b5213f5cf50f6fe Mon Sep 17 00:00:00 2001 From: Sebastian Pekarek Date: Thu, 12 Oct 2023 19:36:07 +0200 Subject: [PATCH 19/39] test: Check stub compatibility with third-party libraries --- src/tools.ts | 4 +++- test/types.ts | 34 ++++++++++++++++++++++++++++++++++ 2 files changed, 37 insertions(+), 1 deletion(-) create mode 100644 test/types.ts diff --git a/src/tools.ts b/src/tools.ts index 1c7d64346..04c2c77c1 100755 --- a/src/tools.ts +++ b/src/tools.ts @@ -1,7 +1,9 @@ 'use strict'; import { - ICalDateTimeValue, ICalDayJsStub, ICalLuxonDateTimeStub, + ICalDateTimeValue, + ICalDayJsStub, + ICalLuxonDateTimeStub, ICalMomentDurationStub, ICalMomentStub, ICalMomentTimezoneStub, diff --git a/test/types.ts b/test/types.ts new file mode 100644 index 000000000..345106630 --- /dev/null +++ b/test/types.ts @@ -0,0 +1,34 @@ +/** + * Check if stubs are working + */ +import { + ICalDayJsStub, + ICalLuxonDateTimeStub, + ICalMomentStub, + ICalMomentTimezoneStub, ICalRRuleStub +} from '../src/types.js'; + +import assert from 'assert'; +import dayjs from 'dayjs'; +import { DateTime } from 'luxon'; +import moment from 'moment'; +import momentTz from 'moment-timezone'; +import rrule from 'rrule'; + +const dayJsTest = dayjs() satisfies ICalDayJsStub; +const luxonTest = DateTime.now() satisfies ICalLuxonDateTimeStub; +const momentTest = moment() satisfies ICalMomentStub; +const momentTimezoneTest = momentTz() satisfies ICalMomentTimezoneStub; + +const RRule = rrule.RRule; +const rruleTest = new RRule({ freq: RRule.WEEKLY, dtstart: new Date() }) satisfies ICalRRuleStub; + +describe('ical-generator Types', function () { + it('stubs should be compatible with third party libraries', function () { + assert.ok(dayJsTest, 'day.js stub should be compatible'); + assert.ok(luxonTest, 'luxon stub should be compatible'); + assert.ok(momentTest, 'moment stub should be compatible'); + assert.ok(momentTimezoneTest, 'moment-timezone stub should be compatible'); + assert.ok(rruleTest, 'rrule stub should be compatible'); + }); +}); \ No newline at end of file From ce19a7568a587702abd5e25c86c1c802e099d55a Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 17 Oct 2023 04:58:30 +0000 Subject: [PATCH 20/39] build(deps-dev): bump @babel/traverse from 7.14.5 to 7.23.2 Bumps [@babel/traverse](https://github.com/babel/babel/tree/HEAD/packages/babel-traverse) from 7.14.5 to 7.23.2. - [Release notes](https://github.com/babel/babel/releases) - [Changelog](https://github.com/babel/babel/blob/main/CHANGELOG.md) - [Commits](https://github.com/babel/babel/commits/v7.23.2/packages/babel-traverse) --- updated-dependencies: - dependency-name: "@babel/traverse" dependency-type: indirect ... Signed-off-by: dependabot[bot] --- package-lock.json | 473 ++++++++++++++++++++++++++++++++-------------- 1 file changed, 331 insertions(+), 142 deletions(-) diff --git a/package-lock.json b/package-lock.json index 536562a35..990ef1e03 100644 --- a/package-lock.json +++ b/package-lock.json @@ -99,17 +99,89 @@ } }, "node_modules/@babel/code-frame": { - "version": "7.21.4", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.21.4.tgz", - "integrity": "sha512-LYvhNKfwWSPpocw8GI7gpK2nq3HSDuEPC/uSYaALSJu9xjsalaaYFOq0Pwt5KmVqwEbZlDu81aLXwBOmD/Fv9g==", + "version": "7.22.13", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.22.13.tgz", + "integrity": "sha512-XktuhWlJ5g+3TJXc5upd9Ks1HutSArik6jf2eAjYFyIOf4ej3RN+184cZbzDvbPnuTJIUhPKKJE3cIsYTiAT3w==", "dev": true, "dependencies": { - "@babel/highlight": "^7.18.6" + "@babel/highlight": "^7.22.13", + "chalk": "^2.4.2" }, "engines": { "node": ">=6.9.0" } }, + "node_modules/@babel/code-frame/node_modules/ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "dependencies": { + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/code-frame/node_modules/chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "dependencies": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/code-frame/node_modules/color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "dev": true, + "dependencies": { + "color-name": "1.1.3" + } + }, + "node_modules/@babel/code-frame/node_modules/color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", + "dev": true + }, + "node_modules/@babel/code-frame/node_modules/escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", + "dev": true, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/@babel/code-frame/node_modules/has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/code-frame/node_modules/supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, "node_modules/@babel/compat-data": { "version": "7.14.5", "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.14.5.tgz", @@ -168,26 +240,28 @@ } }, "node_modules/@babel/generator": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.14.5.tgz", - "integrity": "sha512-y3rlP+/G25OIX3mYKKIOlQRcqj7YgrvHxOLbVmyLJ9bPmi5ttvUmpydVjcFjZphOktWuA7ovbx91ECloWTfjIA==", + "version": "7.23.0", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.23.0.tgz", + "integrity": "sha512-lN85QRR+5IbYrMWM6Y4pE/noaQtg4pNiqeNGX60eqOfo6gtEj6uw/JagelB8vVztSd7R6M5n1+PQkDbHbBRU4g==", "dev": true, "dependencies": { - "@babel/types": "^7.14.5", - "jsesc": "^2.5.1", - "source-map": "^0.5.0" + "@babel/types": "^7.23.0", + "@jridgewell/gen-mapping": "^0.3.2", + "@jridgewell/trace-mapping": "^0.3.17", + "jsesc": "^2.5.1" }, "engines": { "node": ">=6.9.0" } }, - "node_modules/@babel/generator/node_modules/source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "node_modules/@babel/generator/node_modules/@jridgewell/trace-mapping": { + "version": "0.3.19", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.19.tgz", + "integrity": "sha512-kf37QtfW+Hwx/buWGMPcR60iF9ziHa6r/CZJIHbmcm4+0qrXiVdxegAH0F6yddEVQ7zdkjcGCgCzUu+BcbhQxw==", "dev": true, - "engines": { - "node": ">=0.10.0" + "dependencies": { + "@jridgewell/resolve-uri": "^3.1.0", + "@jridgewell/sourcemap-codec": "^1.4.14" } }, "node_modules/@babel/helper-compilation-targets": { @@ -217,39 +291,35 @@ "semver": "bin/semver.js" } }, - "node_modules/@babel/helper-function-name": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.14.5.tgz", - "integrity": "sha512-Gjna0AsXWfFvrAuX+VKcN/aNNWonizBj39yGwUzVDVTlMYJMK2Wp6xdpy72mfArFq5uK+NOuexfzZlzI1z9+AQ==", + "node_modules/@babel/helper-environment-visitor": { + "version": "7.22.20", + "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.22.20.tgz", + "integrity": "sha512-zfedSIzFhat/gFhWfHtgWvlec0nqB9YEIVrpuwjruLlXfUSnA8cJB0miHKwqDnQ7d32aKo2xt88/xZptwxbfhA==", "dev": true, - "dependencies": { - "@babel/helper-get-function-arity": "^7.14.5", - "@babel/template": "^7.14.5", - "@babel/types": "^7.14.5" - }, "engines": { "node": ">=6.9.0" } }, - "node_modules/@babel/helper-get-function-arity": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.14.5.tgz", - "integrity": "sha512-I1Db4Shst5lewOM4V+ZKJzQ0JGGaZ6VY1jYvMghRjqs6DWgxLCIyFt30GlnKkfUeFLpJt2vzbMVEXVSXlIFYUg==", + "node_modules/@babel/helper-function-name": { + "version": "7.23.0", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.23.0.tgz", + "integrity": "sha512-OErEqsrxjZTJciZ4Oo+eoZqeW9UIiOcuYKRJA4ZAgV9myA+pOXhhmpfNCKjEH/auVfEYVFJ6y1Tc4r0eIApqiw==", "dev": true, "dependencies": { - "@babel/types": "^7.14.5" + "@babel/template": "^7.22.15", + "@babel/types": "^7.23.0" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-hoist-variables": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.14.5.tgz", - "integrity": "sha512-R1PXiz31Uc0Vxy4OEOm07x0oSjKAdPPCh3tPivn/Eo8cvz6gveAeuyUUPB21Hoiif0uoPQSSdhIPS3352nvdyQ==", + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.22.5.tgz", + "integrity": "sha512-wGjk9QZVzvknA6yKIUURb8zY3grXCcOZt+/7Wcy8O2uctxhplmUPkOdlgoNhmdVee2c92JXbf1xpMtVNbfoxRw==", "dev": true, "dependencies": { - "@babel/types": "^7.14.5" + "@babel/types": "^7.22.5" }, "engines": { "node": ">=6.9.0" @@ -338,21 +408,30 @@ } }, "node_modules/@babel/helper-split-export-declaration": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.14.5.tgz", - "integrity": "sha512-hprxVPu6e5Kdp2puZUmvOGjaLv9TCe58E/Fl6hRq4YiVQxIcNvuq6uTM2r1mT/oPskuS9CgR+I94sqAYv0NGKA==", + "version": "7.22.6", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.22.6.tgz", + "integrity": "sha512-AsUnxuLhRYsisFiaJwvp1QF+I3KjD5FOxut14q/GzovUe6orHLesW2C7d754kRm53h5gqrz6sFl6sxc4BVtE/g==", "dev": true, "dependencies": { - "@babel/types": "^7.14.5" + "@babel/types": "^7.22.5" }, "engines": { "node": ">=6.9.0" } }, + "node_modules/@babel/helper-string-parser": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.22.5.tgz", + "integrity": "sha512-mM4COjgZox8U+JcXQwPijIZLElkgEpO5rsERVDJTc2qfCDfERyob6k5WegS14SX18IIjv+XD+GrqNumY5JRCDw==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, "node_modules/@babel/helper-validator-identifier": { - "version": "7.19.1", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.19.1.tgz", - "integrity": "sha512-awrNfaMtnHUr653GgGEs++LlAvW6w+DcPrOliSMXWCKo597CwL5Acf/wWdNkf/tfEQE3mjkeD1YOVZOUV/od1w==", + "version": "7.22.20", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.20.tgz", + "integrity": "sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A==", "dev": true, "engines": { "node": ">=6.9.0" @@ -382,13 +461,13 @@ } }, "node_modules/@babel/highlight": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.18.6.tgz", - "integrity": "sha512-u7stbOuYjaPezCuLj29hNW1v64M2Md2qupEKP1fHc7WdOA3DgLh37suiSrZYY7haUB7iBeQZ9P1uiRF359do3g==", + "version": "7.22.20", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.22.20.tgz", + "integrity": "sha512-dkdMCN3py0+ksCgYmGG8jKeGA/8Tk+gJwSYYlFGxG5lmhfKNoAy004YpLxpS1W2J8m/EK2Ew+yOs9pVRwO89mg==", "dev": true, "dependencies": { - "@babel/helper-validator-identifier": "^7.18.6", - "chalk": "^2.0.0", + "@babel/helper-validator-identifier": "^7.22.20", + "chalk": "^2.4.2", "js-tokens": "^4.0.0" }, "engines": { @@ -467,9 +546,9 @@ } }, "node_modules/@babel/parser": { - "version": "7.14.6", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.14.6.tgz", - "integrity": "sha512-oG0ej7efjEXxb4UgE+klVx+3j4MVo+A2vCzm7OUN4CLo6WhQ+vSOD2yJ8m7B+DghObxtLxt3EfgMWpq+AsWehQ==", + "version": "7.23.0", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.23.0.tgz", + "integrity": "sha512-vvPKKdMemU85V9WE/l5wZEmImpCtLqbnTvqDS2U1fJ96KrxoW7KrXhNsNCblQlg8Ck4b85yxdTyelsMUgFUXiw==", "dev": true, "bin": { "parser": "bin/babel-parser.js" @@ -479,32 +558,33 @@ } }, "node_modules/@babel/template": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.14.5.tgz", - "integrity": "sha512-6Z3Po85sfxRGachLULUhOmvAaOo7xCvqGQtxINai2mEGPFm6pQ4z5QInFnUrRpfoSV60BnjyF5F3c+15fxFV1g==", + "version": "7.22.15", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.22.15.tgz", + "integrity": "sha512-QPErUVm4uyJa60rkI73qneDacvdvzxshT3kksGqlGWYdOTIUOwJ7RDUL8sGqslY1uXWSL6xMFKEXDS3ox2uF0w==", "dev": true, "dependencies": { - "@babel/code-frame": "^7.14.5", - "@babel/parser": "^7.14.5", - "@babel/types": "^7.14.5" + "@babel/code-frame": "^7.22.13", + "@babel/parser": "^7.22.15", + "@babel/types": "^7.22.15" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/traverse": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.14.5.tgz", - "integrity": "sha512-G3BiS15vevepdmFqmUc9X+64y0viZYygubAMO8SvBmKARuF6CPSZtH4Ng9vi/lrWlZFGe3FWdXNy835akH8Glg==", - "dev": true, - "dependencies": { - "@babel/code-frame": "^7.14.5", - "@babel/generator": "^7.14.5", - "@babel/helper-function-name": "^7.14.5", - "@babel/helper-hoist-variables": "^7.14.5", - "@babel/helper-split-export-declaration": "^7.14.5", - "@babel/parser": "^7.14.5", - "@babel/types": "^7.14.5", + "version": "7.23.2", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.23.2.tgz", + "integrity": "sha512-azpe59SQ48qG6nu2CzcMLbxUudtN+dOM9kDbUqGq3HXUJRlo7i8fvPoxQUzYgLZ4cMVmuZgm8vvBpNeRhd6XSw==", + "dev": true, + "dependencies": { + "@babel/code-frame": "^7.22.13", + "@babel/generator": "^7.23.0", + "@babel/helper-environment-visitor": "^7.22.20", + "@babel/helper-function-name": "^7.23.0", + "@babel/helper-hoist-variables": "^7.22.5", + "@babel/helper-split-export-declaration": "^7.22.6", + "@babel/parser": "^7.23.0", + "@babel/types": "^7.23.0", "debug": "^4.1.0", "globals": "^11.1.0" }, @@ -522,12 +602,13 @@ } }, "node_modules/@babel/types": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.14.5.tgz", - "integrity": "sha512-M/NzBpEL95I5Hh4dwhin5JlE7EzO5PHMAuzjxss3tiOBD46KfQvVedN/3jEPZvdRvtsK2222XfdHogNIttFgcg==", + "version": "7.23.0", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.23.0.tgz", + "integrity": "sha512-0oIyUfKoI3mSqMvsxBdclDwxXKXAUA8v/apZbc+iSyARYou1o8ZGDxbUYyLFoW2arqS2jDGqJuZvv1d/io1axg==", "dev": true, "dependencies": { - "@babel/helper-validator-identifier": "^7.14.5", + "@babel/helper-string-parser": "^7.22.5", + "@babel/helper-validator-identifier": "^7.22.20", "to-fast-properties": "^2.0.0" }, "engines": { @@ -1107,6 +1188,20 @@ "node": ">=8" } }, + "node_modules/@jridgewell/gen-mapping": { + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.3.tgz", + "integrity": "sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ==", + "dev": true, + "dependencies": { + "@jridgewell/set-array": "^1.0.1", + "@jridgewell/sourcemap-codec": "^1.4.10", + "@jridgewell/trace-mapping": "^0.3.9" + }, + "engines": { + "node": ">=6.0.0" + } + }, "node_modules/@jridgewell/resolve-uri": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.0.tgz", @@ -1116,6 +1211,15 @@ "node": ">=6.0.0" } }, + "node_modules/@jridgewell/set-array": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.2.tgz", + "integrity": "sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==", + "dev": true, + "engines": { + "node": ">=6.0.0" + } + }, "node_modules/@jridgewell/sourcemap-codec": { "version": "1.4.14", "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz", @@ -12600,12 +12704,71 @@ "dev": true }, "@babel/code-frame": { - "version": "7.21.4", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.21.4.tgz", - "integrity": "sha512-LYvhNKfwWSPpocw8GI7gpK2nq3HSDuEPC/uSYaALSJu9xjsalaaYFOq0Pwt5KmVqwEbZlDu81aLXwBOmD/Fv9g==", + "version": "7.22.13", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.22.13.tgz", + "integrity": "sha512-XktuhWlJ5g+3TJXc5upd9Ks1HutSArik6jf2eAjYFyIOf4ej3RN+184cZbzDvbPnuTJIUhPKKJE3cIsYTiAT3w==", "dev": true, "requires": { - "@babel/highlight": "^7.18.6" + "@babel/highlight": "^7.22.13", + "chalk": "^2.4.2" + }, + "dependencies": { + "ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "requires": { + "color-convert": "^1.9.0" + } + }, + "chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + } + }, + "color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "dev": true, + "requires": { + "color-name": "1.1.3" + } + }, + "color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", + "dev": true + }, + "escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", + "dev": true + }, + "has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", + "dev": true + }, + "supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "requires": { + "has-flag": "^3.0.0" + } + } } }, "@babel/compat-data": { @@ -12652,21 +12815,26 @@ } }, "@babel/generator": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.14.5.tgz", - "integrity": "sha512-y3rlP+/G25OIX3mYKKIOlQRcqj7YgrvHxOLbVmyLJ9bPmi5ttvUmpydVjcFjZphOktWuA7ovbx91ECloWTfjIA==", + "version": "7.23.0", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.23.0.tgz", + "integrity": "sha512-lN85QRR+5IbYrMWM6Y4pE/noaQtg4pNiqeNGX60eqOfo6gtEj6uw/JagelB8vVztSd7R6M5n1+PQkDbHbBRU4g==", "dev": true, "requires": { - "@babel/types": "^7.14.5", - "jsesc": "^2.5.1", - "source-map": "^0.5.0" + "@babel/types": "^7.23.0", + "@jridgewell/gen-mapping": "^0.3.2", + "@jridgewell/trace-mapping": "^0.3.17", + "jsesc": "^2.5.1" }, "dependencies": { - "source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", - "dev": true + "@jridgewell/trace-mapping": { + "version": "0.3.19", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.19.tgz", + "integrity": "sha512-kf37QtfW+Hwx/buWGMPcR60iF9ziHa6r/CZJIHbmcm4+0qrXiVdxegAH0F6yddEVQ7zdkjcGCgCzUu+BcbhQxw==", + "dev": true, + "requires": { + "@jridgewell/resolve-uri": "^3.1.0", + "@jridgewell/sourcemap-codec": "^1.4.14" + } } } }, @@ -12690,33 +12858,29 @@ } } }, - "@babel/helper-function-name": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.14.5.tgz", - "integrity": "sha512-Gjna0AsXWfFvrAuX+VKcN/aNNWonizBj39yGwUzVDVTlMYJMK2Wp6xdpy72mfArFq5uK+NOuexfzZlzI1z9+AQ==", - "dev": true, - "requires": { - "@babel/helper-get-function-arity": "^7.14.5", - "@babel/template": "^7.14.5", - "@babel/types": "^7.14.5" - } + "@babel/helper-environment-visitor": { + "version": "7.22.20", + "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.22.20.tgz", + "integrity": "sha512-zfedSIzFhat/gFhWfHtgWvlec0nqB9YEIVrpuwjruLlXfUSnA8cJB0miHKwqDnQ7d32aKo2xt88/xZptwxbfhA==", + "dev": true }, - "@babel/helper-get-function-arity": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.14.5.tgz", - "integrity": "sha512-I1Db4Shst5lewOM4V+ZKJzQ0JGGaZ6VY1jYvMghRjqs6DWgxLCIyFt30GlnKkfUeFLpJt2vzbMVEXVSXlIFYUg==", + "@babel/helper-function-name": { + "version": "7.23.0", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.23.0.tgz", + "integrity": "sha512-OErEqsrxjZTJciZ4Oo+eoZqeW9UIiOcuYKRJA4ZAgV9myA+pOXhhmpfNCKjEH/auVfEYVFJ6y1Tc4r0eIApqiw==", "dev": true, "requires": { - "@babel/types": "^7.14.5" + "@babel/template": "^7.22.15", + "@babel/types": "^7.23.0" } }, "@babel/helper-hoist-variables": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.14.5.tgz", - "integrity": "sha512-R1PXiz31Uc0Vxy4OEOm07x0oSjKAdPPCh3tPivn/Eo8cvz6gveAeuyUUPB21Hoiif0uoPQSSdhIPS3352nvdyQ==", + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.22.5.tgz", + "integrity": "sha512-wGjk9QZVzvknA6yKIUURb8zY3grXCcOZt+/7Wcy8O2uctxhplmUPkOdlgoNhmdVee2c92JXbf1xpMtVNbfoxRw==", "dev": true, "requires": { - "@babel/types": "^7.14.5" + "@babel/types": "^7.22.5" } }, "@babel/helper-member-expression-to-functions": { @@ -12784,18 +12948,24 @@ } }, "@babel/helper-split-export-declaration": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.14.5.tgz", - "integrity": "sha512-hprxVPu6e5Kdp2puZUmvOGjaLv9TCe58E/Fl6hRq4YiVQxIcNvuq6uTM2r1mT/oPskuS9CgR+I94sqAYv0NGKA==", + "version": "7.22.6", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.22.6.tgz", + "integrity": "sha512-AsUnxuLhRYsisFiaJwvp1QF+I3KjD5FOxut14q/GzovUe6orHLesW2C7d754kRm53h5gqrz6sFl6sxc4BVtE/g==", "dev": true, "requires": { - "@babel/types": "^7.14.5" + "@babel/types": "^7.22.5" } }, + "@babel/helper-string-parser": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.22.5.tgz", + "integrity": "sha512-mM4COjgZox8U+JcXQwPijIZLElkgEpO5rsERVDJTc2qfCDfERyob6k5WegS14SX18IIjv+XD+GrqNumY5JRCDw==", + "dev": true + }, "@babel/helper-validator-identifier": { - "version": "7.19.1", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.19.1.tgz", - "integrity": "sha512-awrNfaMtnHUr653GgGEs++LlAvW6w+DcPrOliSMXWCKo597CwL5Acf/wWdNkf/tfEQE3mjkeD1YOVZOUV/od1w==", + "version": "7.22.20", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.20.tgz", + "integrity": "sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A==", "dev": true }, "@babel/helper-validator-option": { @@ -12816,13 +12986,13 @@ } }, "@babel/highlight": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.18.6.tgz", - "integrity": "sha512-u7stbOuYjaPezCuLj29hNW1v64M2Md2qupEKP1fHc7WdOA3DgLh37suiSrZYY7haUB7iBeQZ9P1uiRF359do3g==", + "version": "7.22.20", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.22.20.tgz", + "integrity": "sha512-dkdMCN3py0+ksCgYmGG8jKeGA/8Tk+gJwSYYlFGxG5lmhfKNoAy004YpLxpS1W2J8m/EK2Ew+yOs9pVRwO89mg==", "dev": true, "requires": { - "@babel/helper-validator-identifier": "^7.18.6", - "chalk": "^2.0.0", + "@babel/helper-validator-identifier": "^7.22.20", + "chalk": "^2.4.2", "js-tokens": "^4.0.0" }, "dependencies": { @@ -12885,35 +13055,36 @@ } }, "@babel/parser": { - "version": "7.14.6", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.14.6.tgz", - "integrity": "sha512-oG0ej7efjEXxb4UgE+klVx+3j4MVo+A2vCzm7OUN4CLo6WhQ+vSOD2yJ8m7B+DghObxtLxt3EfgMWpq+AsWehQ==", + "version": "7.23.0", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.23.0.tgz", + "integrity": "sha512-vvPKKdMemU85V9WE/l5wZEmImpCtLqbnTvqDS2U1fJ96KrxoW7KrXhNsNCblQlg8Ck4b85yxdTyelsMUgFUXiw==", "dev": true }, "@babel/template": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.14.5.tgz", - "integrity": "sha512-6Z3Po85sfxRGachLULUhOmvAaOo7xCvqGQtxINai2mEGPFm6pQ4z5QInFnUrRpfoSV60BnjyF5F3c+15fxFV1g==", + "version": "7.22.15", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.22.15.tgz", + "integrity": "sha512-QPErUVm4uyJa60rkI73qneDacvdvzxshT3kksGqlGWYdOTIUOwJ7RDUL8sGqslY1uXWSL6xMFKEXDS3ox2uF0w==", "dev": true, "requires": { - "@babel/code-frame": "^7.14.5", - "@babel/parser": "^7.14.5", - "@babel/types": "^7.14.5" + "@babel/code-frame": "^7.22.13", + "@babel/parser": "^7.22.15", + "@babel/types": "^7.22.15" } }, "@babel/traverse": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.14.5.tgz", - "integrity": "sha512-G3BiS15vevepdmFqmUc9X+64y0viZYygubAMO8SvBmKARuF6CPSZtH4Ng9vi/lrWlZFGe3FWdXNy835akH8Glg==", - "dev": true, - "requires": { - "@babel/code-frame": "^7.14.5", - "@babel/generator": "^7.14.5", - "@babel/helper-function-name": "^7.14.5", - "@babel/helper-hoist-variables": "^7.14.5", - "@babel/helper-split-export-declaration": "^7.14.5", - "@babel/parser": "^7.14.5", - "@babel/types": "^7.14.5", + "version": "7.23.2", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.23.2.tgz", + "integrity": "sha512-azpe59SQ48qG6nu2CzcMLbxUudtN+dOM9kDbUqGq3HXUJRlo7i8fvPoxQUzYgLZ4cMVmuZgm8vvBpNeRhd6XSw==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.22.13", + "@babel/generator": "^7.23.0", + "@babel/helper-environment-visitor": "^7.22.20", + "@babel/helper-function-name": "^7.23.0", + "@babel/helper-hoist-variables": "^7.22.5", + "@babel/helper-split-export-declaration": "^7.22.6", + "@babel/parser": "^7.23.0", + "@babel/types": "^7.23.0", "debug": "^4.1.0", "globals": "^11.1.0" }, @@ -12927,12 +13098,13 @@ } }, "@babel/types": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.14.5.tgz", - "integrity": "sha512-M/NzBpEL95I5Hh4dwhin5JlE7EzO5PHMAuzjxss3tiOBD46KfQvVedN/3jEPZvdRvtsK2222XfdHogNIttFgcg==", + "version": "7.23.0", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.23.0.tgz", + "integrity": "sha512-0oIyUfKoI3mSqMvsxBdclDwxXKXAUA8v/apZbc+iSyARYou1o8ZGDxbUYyLFoW2arqS2jDGqJuZvv1d/io1axg==", "dev": true, "requires": { - "@babel/helper-validator-identifier": "^7.14.5", + "@babel/helper-string-parser": "^7.22.5", + "@babel/helper-validator-identifier": "^7.22.20", "to-fast-properties": "^2.0.0" } }, @@ -13254,12 +13426,29 @@ "integrity": "sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==", "dev": true }, + "@jridgewell/gen-mapping": { + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.3.tgz", + "integrity": "sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ==", + "dev": true, + "requires": { + "@jridgewell/set-array": "^1.0.1", + "@jridgewell/sourcemap-codec": "^1.4.10", + "@jridgewell/trace-mapping": "^0.3.9" + } + }, "@jridgewell/resolve-uri": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.0.tgz", "integrity": "sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w==", "dev": true }, + "@jridgewell/set-array": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.2.tgz", + "integrity": "sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==", + "dev": true + }, "@jridgewell/sourcemap-codec": { "version": "1.4.14", "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz", From 79f1a1474cf30a8309175cb0eeca3d0fe20d0a25 Mon Sep 17 00:00:00 2001 From: "depfu[bot]" <23717796+depfu[bot]@users.noreply.github.com> Date: Tue, 17 Oct 2023 08:11:48 +0000 Subject: [PATCH 21/39] Update all development npm dependencies (2023-10-17) --- package-lock.json | 4409 +++++++++++++++++++++------------------------ package.json | 10 +- 2 files changed, 2084 insertions(+), 2335 deletions(-) diff --git a/package-lock.json b/package-lock.json index 536562a35..d9963f5e3 100644 --- a/package-lock.json +++ b/package-lock.json @@ -16,7 +16,7 @@ "@semantic-release/changelog": "^6.0.3", "@semantic-release/exec": "^6.0.3", "@semantic-release/git": "^10.0.1", - "@semantic-release/npm": "^10.0.6", + "@semantic-release/npm": "^11.0.0", "@touch4it/ical-timezones": "^1.9.0", "@types/luxon": "^3.3.2", "@types/mocha": "^10.0.2", @@ -25,8 +25,8 @@ "@typescript-eslint/parser": "^6.7.0", "c8": "^8.0.1", "dayjs": "^1.11.10", - "eslint": "^8.49.0", - "eslint-plugin-jsonc": "^2.9.0", + "eslint": "^8.51.0", + "eslint-plugin-jsonc": "^2.10.0", "esm": "^3.2.25", "license-checker": "^25.0.1", "luxon": "^3.4.3", @@ -37,12 +37,12 @@ "nyc": "^15.1.0", "portfinder": "^1.0.32", "rrule": "^2.7.2", - "semantic-release": "^21.1.2", + "semantic-release": "^22.0.5", "semantic-release-license": "^1.0.2", "source-map-support": "^0.5.21", "ts-node": "^10.9.1", "tsup": "^7.2.0", - "typedoc": "^0.25.1", + "typedoc": "^0.25.2", "typescript": "^5.2.2" }, "engines": { @@ -980,9 +980,9 @@ } }, "node_modules/@eslint/js": { - "version": "8.49.0", - "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.49.0.tgz", - "integrity": "sha512-1S8uAY/MTJqVx0SC4epBq+N2yhuwtNwLbJYNZyhL2pO1ZVKn5HFXav5T41Ryzy9K9V7ZId2JB2oy/W4aCd9/2w==", + "version": "8.51.0", + "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.51.0.tgz", + "integrity": "sha512-HxjQ8Qn+4SI3/AFv6sOrDB+g6PpUTDwSJiQqOrnneEk8L71161srI9gjzzZvYVbzHiVg/BvcH95+cK/zfIt4pg==", "dev": true, "engines": { "node": "^12.22.0 || ^14.17.0 || >=16.0.0" @@ -1436,69 +1436,26 @@ } }, "node_modules/@semantic-release/commit-analyzer": { - "version": "10.0.1", - "resolved": "https://registry.npmjs.org/@semantic-release/commit-analyzer/-/commit-analyzer-10.0.1.tgz", - "integrity": "sha512-9ejHzTAijYs9z246sY/dKBatmOPcd0GQ7lH4MgLCkv1q4GCiDZRkjHJkaQZXZVaK7mJybS+sH3Ng6G8i3pYMGQ==", + "version": "11.0.0", + "resolved": "https://registry.npmjs.org/@semantic-release/commit-analyzer/-/commit-analyzer-11.0.0.tgz", + "integrity": "sha512-uEXyf4Z0AWJuxI9TbSQP5kkIYqus1/E1NcmE7pIv6d6/m/5EJcNWAGR4FOo34vrV26FhEaRVkxFfYzp/M7BKIg==", "dev": true, "dependencies": { - "conventional-changelog-angular": "^6.0.0", - "conventional-commits-filter": "^3.0.0", - "conventional-commits-parser": "^4.0.0", + "conventional-changelog-angular": "^7.0.0", + "conventional-commits-filter": "^4.0.0", + "conventional-commits-parser": "^5.0.0", "debug": "^4.0.0", "import-from": "^4.0.0", "lodash-es": "^4.17.21", "micromatch": "^4.0.2" }, "engines": { - "node": ">=18" + "node": "^18.17 || >=20.6.1" }, "peerDependencies": { "semantic-release": ">=20.1.0" } }, - "node_modules/@semantic-release/commit-analyzer/node_modules/conventional-changelog-angular": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/conventional-changelog-angular/-/conventional-changelog-angular-6.0.0.tgz", - "integrity": "sha512-6qLgrBF4gueoC7AFVHu51nHL9pF9FRjXrH+ceVf7WmAfH3gs+gEYOkvxhjMPjZu57I4AGUGoNTY8V7Hrgf1uqg==", - "dev": true, - "dependencies": { - "compare-func": "^2.0.0" - }, - "engines": { - "node": ">=14" - } - }, - "node_modules/@semantic-release/commit-analyzer/node_modules/conventional-commits-filter": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/conventional-commits-filter/-/conventional-commits-filter-3.0.0.tgz", - "integrity": "sha512-1ymej8b5LouPx9Ox0Dw/qAO2dVdfpRFq28e5Y0jJEU8ZrLdy0vOSkkIInwmxErFGhg6SALro60ZrwYFVTUDo4Q==", - "dev": true, - "dependencies": { - "lodash.ismatch": "^4.4.0", - "modify-values": "^1.0.1" - }, - "engines": { - "node": ">=14" - } - }, - "node_modules/@semantic-release/commit-analyzer/node_modules/conventional-commits-parser": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/conventional-commits-parser/-/conventional-commits-parser-4.0.0.tgz", - "integrity": "sha512-WRv5j1FsVM5FISJkoYMR6tPk07fkKT0UodruX4je86V4owk451yjXAKzKAPOs9l7y59E2viHUS9eQ+dfUA9NSg==", - "dev": true, - "dependencies": { - "is-text-path": "^1.0.1", - "JSONStream": "^1.3.5", - "meow": "^8.1.2", - "split2": "^3.2.2" - }, - "bin": { - "conventional-commits-parser": "cli.js" - }, - "engines": { - "node": ">=14" - } - }, "node_modules/@semantic-release/error": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/@semantic-release/error/-/error-4.0.0.tgz", @@ -1685,9 +1642,9 @@ } }, "node_modules/@semantic-release/npm": { - "version": "10.0.6", - "resolved": "https://registry.npmjs.org/@semantic-release/npm/-/npm-10.0.6.tgz", - "integrity": "sha512-DyqHrGE8aUyapA277BB+4kV0C4iMHh3sHzUWdf0jTgp5NNJxVUz76W1f57FB64Ue03him3CBXxFqQD2xGabxow==", + "version": "11.0.0", + "resolved": "https://registry.npmjs.org/@semantic-release/npm/-/npm-11.0.0.tgz", + "integrity": "sha512-ozNCiPUp14Xp2rgeY7j96yFTEhDncLSWOJr0IAUr888+ax6fH5xgYkNVv08vpkV8C5GIXBgnGd9coRiOCD6oqQ==", "dev": true, "dependencies": { "@semantic-release/error": "^4.0.0", @@ -1697,7 +1654,7 @@ "lodash-es": "^4.17.21", "nerf-dart": "^1.0.0", "normalize-url": "^8.0.0", - "npm": "^9.5.0", + "npm": "^10.0.0", "rc": "^1.2.8", "read-pkg": "^8.0.0", "registry-auth-token": "^5.0.0", @@ -1705,7 +1662,7 @@ "tempy": "^3.0.0" }, "engines": { - "node": ">=18" + "node": "^18.17 || >=20" }, "peerDependencies": { "semantic-release": ">=20.1.0" @@ -2016,156 +1973,51 @@ } }, "node_modules/@semantic-release/release-notes-generator": { - "version": "11.0.1", - "resolved": "https://registry.npmjs.org/@semantic-release/release-notes-generator/-/release-notes-generator-11.0.1.tgz", - "integrity": "sha512-4deWsiY4Rg80oc9Ms11N20BIDgYkPMys4scNYQpi2Njdrtw5Z55nXKNsUN3kn6Sy/nI9dqqbp5L63TL4luI5Bw==", + "version": "12.0.0", + "resolved": "https://registry.npmjs.org/@semantic-release/release-notes-generator/-/release-notes-generator-12.0.0.tgz", + "integrity": "sha512-m7Ds8ComP1KJgA2Lke2xMwE1TOOU40U7AzP4lT8hJ2tUAeicziPz/1GeDFmRkTOkMFlfHvE6kuvMkvU+mIzIDQ==", "dev": true, "dependencies": { - "conventional-changelog-angular": "^5.0.0", - "conventional-changelog-writer": "^5.0.0", - "conventional-commits-filter": "^2.0.0", - "conventional-commits-parser": "^3.2.3", + "conventional-changelog-angular": "^7.0.0", + "conventional-changelog-writer": "^7.0.0", + "conventional-commits-filter": "^4.0.0", + "conventional-commits-parser": "^5.0.0", "debug": "^4.0.0", - "get-stream": "^6.0.0", + "get-stream": "^7.0.0", "import-from": "^4.0.0", "into-stream": "^7.0.0", "lodash-es": "^4.17.21", - "read-pkg-up": "^9.0.0" + "read-pkg-up": "^10.0.0" }, "engines": { - "node": ">=18" + "node": "^18.17 || >=20.6.1" }, "peerDependencies": { "semantic-release": ">=20.1.0" } }, - "node_modules/@semantic-release/release-notes-generator/node_modules/find-up": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-6.3.0.tgz", - "integrity": "sha512-v2ZsoEuVHYy8ZIlYqwPe/39Cy+cFDzp4dXPaxNvkEuouymu+2Jbz0PxpKarJHYJTmv2HWT3O382qY8l4jMWthw==", - "dev": true, - "dependencies": { - "locate-path": "^7.1.0", - "path-exists": "^5.0.0" - }, - "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/@semantic-release/release-notes-generator/node_modules/locate-path": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-7.2.0.tgz", - "integrity": "sha512-gvVijfZvn7R+2qyPX8mAuKcFGDf6Nc61GdvGafQsHL0sBIxfKzA+usWn4GFC/bk+QdwPUD4kWFJLhElipq+0VA==", - "dev": true, - "dependencies": { - "p-locate": "^6.0.0" - }, - "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/@semantic-release/release-notes-generator/node_modules/p-limit": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-4.0.0.tgz", - "integrity": "sha512-5b0R4txpzjPWVw/cXXUResoD4hb6U/x9BH08L7nw+GN1sezDzPdxeRvpc9c433fZhBan/wusjbCsqwqm4EIBIQ==", - "dev": true, - "dependencies": { - "yocto-queue": "^1.0.0" - }, - "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/@semantic-release/release-notes-generator/node_modules/p-locate": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-6.0.0.tgz", - "integrity": "sha512-wPrq66Llhl7/4AGC6I+cqxT07LhXvWL08LNXz1fENOw0Ap4sRZZ/gZpTTJ5jpurzzzfS2W/Ge9BY3LgLjCShcw==", - "dev": true, - "dependencies": { - "p-limit": "^4.0.0" - }, - "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/@semantic-release/release-notes-generator/node_modules/path-exists": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-5.0.0.tgz", - "integrity": "sha512-RjhtfwJOxzcFmNOi6ltcbcu4Iu+FL3zEj83dk4kAS+fVpTxXLO1b38RvJgT/0QwvV/L3aY9TAnyv0EOqW4GoMQ==", - "dev": true, - "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" - } - }, - "node_modules/@semantic-release/release-notes-generator/node_modules/read-pkg": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-7.1.0.tgz", - "integrity": "sha512-5iOehe+WF75IccPc30bWTbpdDQLOCc3Uu8bi3Dte3Eueij81yx1Mrufk8qBx/YAbR4uL1FdUr+7BKXDwEtisXg==", - "dev": true, - "dependencies": { - "@types/normalize-package-data": "^2.4.1", - "normalize-package-data": "^3.0.2", - "parse-json": "^5.2.0", - "type-fest": "^2.0.0" - }, - "engines": { - "node": ">=12.20" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/@semantic-release/release-notes-generator/node_modules/read-pkg-up": { - "version": "9.1.0", - "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-9.1.0.tgz", - "integrity": "sha512-vaMRR1AC1nrd5CQM0PhlRsO5oc2AAigqr7cCrZ/MW/Rsaflz4RlgzkpL4qoU/z1F6wrbd85iFv1OQj/y5RdGvg==", - "dev": true, - "dependencies": { - "find-up": "^6.3.0", - "read-pkg": "^7.1.0", - "type-fest": "^2.5.0" - }, - "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/@semantic-release/release-notes-generator/node_modules/type-fest": { - "version": "2.19.0", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-2.19.0.tgz", - "integrity": "sha512-RAH822pAdBgcNMAfWnCBU3CFZcfZ/i1eZjwFU/dsLKumyuuP3niueg2UAukXYF0E2AAoc82ZSSf9J0WQBinzHA==", + "node_modules/@semantic-release/release-notes-generator/node_modules/get-stream": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-7.0.1.tgz", + "integrity": "sha512-3M8C1EOFN6r8AMUhwUAACIoXZJEOufDU5+0gFFN5uNs6XYOralD2Pqkl7m046va6x77FwposWXbAhPPIOus7mQ==", "dev": true, "engines": { - "node": ">=12.20" + "node": ">=16" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/@semantic-release/release-notes-generator/node_modules/yocto-queue": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-1.0.0.tgz", - "integrity": "sha512-9bnSc/HEW2uRy67wc+T8UwauLuPJVn28jb+GtJY16iiKWyvmYJRXVT4UamsAEGQfPohgr2q4Tq0sQbQlxTfi1g==", + "node_modules/@sindresorhus/is": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/@sindresorhus/is/-/is-3.1.2.tgz", + "integrity": "sha512-JiX9vxoKMmu8Y3Zr2RVathBL1Cdu4Nt4MuNWemt1Nc06A0RAin9c5FArkhGsyMBWfCu4zj+9b+GxtjAnE4qqLQ==", "dev": true, "engines": { - "node": ">=12.20" + "node": ">=10" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "url": "https://github.com/sindresorhus/is?sponsor=1" } }, "node_modules/@touch4it/ical-timezones": { @@ -2264,12 +2116,6 @@ "integrity": "sha512-l5cpE57br4BIjK+9BSkFBOsWtwv6J9bJpC7gdXIzZyI0vuKvNTk0wZZrkQxMGsUAuGW9+WMNWF2IJMD7br2yeQ==", "dev": true }, - "node_modules/@types/minimist": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/@types/minimist/-/minimist-1.2.1.tgz", - "integrity": "sha512-fZQQafSREFyuZcdWFAExYjBiCL7AUCdgsk80iO0q4yihYYdcIiH28CcuPTGFgLOCC8RlW49GSQxdHwZP+I7CNg==", - "dev": true - }, "node_modules/@types/mocha": { "version": "10.0.2", "resolved": "https://registry.npmjs.org/@types/mocha/-/mocha-10.0.2.tgz", @@ -2591,27 +2437,27 @@ } }, "node_modules/ansi-escapes": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-5.0.0.tgz", - "integrity": "sha512-5GFMVX8HqE/TB+FuBJGuO5XG0WrsA6ptUqoODaT/n9mmUaZFkqnBueB4leqGBCmrUHnCnC4PCZTCd0E7QQ83bA==", + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-6.2.0.tgz", + "integrity": "sha512-kzRaCqXnpzWs+3z5ABPQiVke+iq0KXkHo8xiWV4RPTi5Yli0l97BEQuhXV1s7+aSU/fu1kUuxgS4MsQ0fRuygw==", "dev": true, "dependencies": { - "type-fest": "^1.0.2" + "type-fest": "^3.0.0" }, "engines": { - "node": ">=12" + "node": ">=14.16" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/ansi-escapes/node_modules/type-fest": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-1.4.0.tgz", - "integrity": "sha512-yGSza74xk0UG8k+pLh5oeoYirvIiWo5t0/o3zHHAO2tRDiZcxWP7fywNlXhqb6/r6sWvwi+RsyQMWhVLe4BVuA==", + "version": "3.13.1", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-3.13.1.tgz", + "integrity": "sha512-tLq3bSNx+xSpwvAJnzrK0Ep5CLNWjvFTOp71URMaAEWBfRb9nnJiBoUe0tF8bI4ZFO3omgBR6NvnbzVUT3Ly4g==", "dev": true, "engines": { - "node": ">=10" + "node": ">=14.16" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" @@ -2723,7 +2569,7 @@ "node_modules/array-ify": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/array-ify/-/array-ify-1.0.0.tgz", - "integrity": "sha1-nlKHYrSpBmrRY6aWKjZEGOlibs4=", + "integrity": "sha512-c5AMf34bKdvPhQ7tBGhqkgKNUzMr4WUs+WDtC2ZUGOUncbxKMTvqxYctiseW3+L4bA8ec+GcZ6/A/FW4m8ukng==", "dev": true }, "node_modules/array-union": { @@ -2744,15 +2590,6 @@ "node": ">=0.10.0" } }, - "node_modules/arrify": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/arrify/-/arrify-1.0.1.tgz", - "integrity": "sha1-iYUI2iIm84DfkEcoRWhJwVAaSw0=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/asap": { "version": "2.0.6", "resolved": "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz", @@ -2995,23 +2832,6 @@ "node": ">=6" } }, - "node_modules/camelcase-keys": { - "version": "6.2.2", - "resolved": "https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-6.2.2.tgz", - "integrity": "sha512-YrwaA0vEKazPBkn0ipTiMpSajYDSe+KjQfrjhcBMxJt/znbvlHd8Pw/Vamaz5EB4Wfhs3SUR3Z9mwRu/P3s3Yg==", - "dev": true, - "dependencies": { - "camelcase": "^5.3.1", - "map-obj": "^4.0.0", - "quick-lru": "^4.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/caniuse-lite": { "version": "1.0.30001237", "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001237.tgz", @@ -3057,6 +2877,15 @@ "url": "https://github.com/chalk/chalk?sponsor=1" } }, + "node_modules/char-regex": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/char-regex/-/char-regex-1.0.2.tgz", + "integrity": "sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw==", + "dev": true, + "engines": { + "node": ">=10" + } + }, "node_modules/chokidar": { "version": "3.5.3", "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz", @@ -3212,81 +3041,62 @@ } }, "node_modules/conventional-changelog-angular": { - "version": "5.0.12", - "resolved": "https://registry.npmjs.org/conventional-changelog-angular/-/conventional-changelog-angular-5.0.12.tgz", - "integrity": "sha512-5GLsbnkR/7A89RyHLvvoExbiGbd9xKdKqDTrArnPbOqBqG/2wIosu0fHwpeIRI8Tl94MhVNBXcLJZl92ZQ5USw==", + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/conventional-changelog-angular/-/conventional-changelog-angular-7.0.0.tgz", + "integrity": "sha512-ROjNchA9LgfNMTTFSIWPzebCwOGFdgkEq45EnvvrmSLvCtAw0HSmrCs7/ty+wAeYUZyNay0YMUNYFTRL72PkBQ==", "dev": true, "dependencies": { - "compare-func": "^2.0.0", - "q": "^1.5.1" + "compare-func": "^2.0.0" }, "engines": { - "node": ">=10" + "node": ">=16" } }, "node_modules/conventional-changelog-writer": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/conventional-changelog-writer/-/conventional-changelog-writer-5.0.1.tgz", - "integrity": "sha512-5WsuKUfxW7suLblAbFnxAcrvf6r+0b7GvNaWUwUIk0bXMnENP/PEieGKVUQrjPqwPT4o3EPAASBXiY6iHooLOQ==", + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/conventional-changelog-writer/-/conventional-changelog-writer-7.0.1.tgz", + "integrity": "sha512-Uo+R9neH3r/foIvQ0MKcsXkX642hdm9odUp7TqgFS7BsalTcjzRlIfWZrZR1gbxOozKucaKt5KAbjW8J8xRSmA==", "dev": true, "dependencies": { - "conventional-commits-filter": "^2.0.7", - "dateformat": "^3.0.0", + "conventional-commits-filter": "^4.0.0", "handlebars": "^4.7.7", "json-stringify-safe": "^5.0.1", - "lodash": "^4.17.15", - "meow": "^8.0.0", - "semver": "^6.0.0", - "split": "^1.0.0", - "through2": "^4.0.0" + "meow": "^12.0.1", + "semver": "^7.5.2", + "split2": "^4.0.0" }, "bin": { - "conventional-changelog-writer": "cli.js" + "conventional-changelog-writer": "cli.mjs" }, "engines": { - "node": ">=10" - } - }, - "node_modules/conventional-changelog-writer/node_modules/semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "dev": true, - "bin": { - "semver": "bin/semver.js" + "node": ">=16" } }, "node_modules/conventional-commits-filter": { - "version": "2.0.7", - "resolved": "https://registry.npmjs.org/conventional-commits-filter/-/conventional-commits-filter-2.0.7.tgz", - "integrity": "sha512-ASS9SamOP4TbCClsRHxIHXRfcGCnIoQqkvAzCSbZzTFLfcTqJVugB0agRgsEELsqaeWgsXv513eS116wnlSSPA==", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/conventional-commits-filter/-/conventional-commits-filter-4.0.0.tgz", + "integrity": "sha512-rnpnibcSOdFcdclpFwWa+pPlZJhXE7l+XK04zxhbWrhgpR96h33QLz8hITTXbcYICxVr3HZFtbtUAQ+4LdBo9A==", "dev": true, - "dependencies": { - "lodash.ismatch": "^4.4.0", - "modify-values": "^1.0.0" - }, "engines": { - "node": ">=10" + "node": ">=16" } }, "node_modules/conventional-commits-parser": { - "version": "3.2.3", - "resolved": "https://registry.npmjs.org/conventional-commits-parser/-/conventional-commits-parser-3.2.3.tgz", - "integrity": "sha512-YyRDR7On9H07ICFpRm/igcdjIqebXbvf4Cff+Pf0BrBys1i1EOzx9iFXNlAbdrLAR8jf7bkUYkDAr8pEy0q4Pw==", + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/conventional-commits-parser/-/conventional-commits-parser-5.0.0.tgz", + "integrity": "sha512-ZPMl0ZJbw74iS9LuX9YIAiW8pfM5p3yh2o/NbXHbkFuZzY5jvdi5jFycEOkmBW5H5I7nA+D6f3UcsCLP2vvSEA==", "dev": true, "dependencies": { - "is-text-path": "^1.0.1", - "JSONStream": "^1.0.4", - "lodash": "^4.17.15", - "meow": "^8.0.0", - "split2": "^3.0.0", - "through2": "^4.0.0" + "is-text-path": "^2.0.0", + "JSONStream": "^1.3.5", + "meow": "^12.0.1", + "split2": "^4.0.0" }, "bin": { - "conventional-commits-parser": "cli.js" + "conventional-commits-parser": "cli.mjs" }, "engines": { - "node": ">=10" + "node": ">=16" } }, "node_modules/convert-source-map": { @@ -3384,15 +3194,6 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/dateformat": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/dateformat/-/dateformat-3.0.3.tgz", - "integrity": "sha512-jyCETtSl3VMZMWeRo7iY1FL19ges1t55hMo5yaam4Jrsm5EPL89UQkoQRyiI+Yf4k8r2ZpdngkV8hr1lIdjb3Q==", - "dev": true, - "engines": { - "node": "*" - } - }, "node_modules/dayjs": { "version": "1.11.10", "resolved": "https://registry.npmjs.org/dayjs/-/dayjs-1.11.10.tgz", @@ -3434,28 +3235,6 @@ "node": ">=0.10.0" } }, - "node_modules/decamelize-keys": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/decamelize-keys/-/decamelize-keys-1.1.0.tgz", - "integrity": "sha1-0XGoeTMlKAfrPLYdwcFEXQeN8tk=", - "dev": true, - "dependencies": { - "decamelize": "^1.1.0", - "map-obj": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/decamelize-keys/node_modules/map-obj": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-1.0.1.tgz", - "integrity": "sha1-2TPOuSBdgr3PSIb2dCvcK03qFG0=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/deep-extend": { "version": "0.6.0", "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz", @@ -3580,49 +3359,67 @@ "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", "dev": true }, + "node_modules/emojilib": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/emojilib/-/emojilib-2.4.0.tgz", + "integrity": "sha512-5U0rVMU5Y2n2+ykNLQqMoqklN9ICBT/KsvC1Gz6vqHbz2AXXGkG+Pm5rMWk/8Vjrr/mY9985Hi8DYzn1F09Nyw==", + "dev": true + }, "node_modules/env-ci": { - "version": "9.0.0", - "resolved": "https://registry.npmjs.org/env-ci/-/env-ci-9.0.0.tgz", - "integrity": "sha512-Q3cjr1tX9xwigprw4G8M3o7PIOO/1LYji6TyGsbD1WfMmD23etZvhgmPXJqkP788yH4dgSSK7oaIMuaayUJIfg==", + "version": "10.0.0", + "resolved": "https://registry.npmjs.org/env-ci/-/env-ci-10.0.0.tgz", + "integrity": "sha512-U4xcd/utDYFgMh0yWj07R1H6L5fwhVbmxBCpnL0DbVSDZVnsC82HONw0wxtxNkIAcua3KtbomQvIk5xFZGAQJw==", "dev": true, "dependencies": { - "execa": "^7.0.0", + "execa": "^8.0.0", "java-properties": "^1.0.2" }, "engines": { - "node": "^16.14 || >=18" + "node": "^18.17 || >=20.6.1" } }, "node_modules/env-ci/node_modules/execa": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/execa/-/execa-7.1.1.tgz", - "integrity": "sha512-wH0eMf/UXckdUYnO21+HDztteVv05rq2GXksxT4fCGeHkBhw1DROXh40wcjMcRqDOWE7iPJ4n3M7e2+YFP+76Q==", + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/execa/-/execa-8.0.1.tgz", + "integrity": "sha512-VyhnebXciFV2DESc+p6B+y0LjSm0krU4OgJN44qFAhBY0TJ+1V61tYD2+wHusZ6F9n5K+vl8k0sTy7PEfV4qpg==", "dev": true, "dependencies": { "cross-spawn": "^7.0.3", - "get-stream": "^6.0.1", - "human-signals": "^4.3.0", + "get-stream": "^8.0.1", + "human-signals": "^5.0.0", "is-stream": "^3.0.0", "merge-stream": "^2.0.0", "npm-run-path": "^5.1.0", "onetime": "^6.0.0", - "signal-exit": "^3.0.7", + "signal-exit": "^4.1.0", "strip-final-newline": "^3.0.0" }, "engines": { - "node": "^14.18.0 || ^16.14.0 || >=18.0.0" + "node": ">=16.17" }, "funding": { "url": "https://github.com/sindresorhus/execa?sponsor=1" } }, + "node_modules/env-ci/node_modules/get-stream": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-8.0.1.tgz", + "integrity": "sha512-VaUJspBffn/LMCJVoMvSAdmscJyS1auj5Zulnn5UoYcY531UWmdwhRWkcGKnGU93m5HSXP9LP2usOryrBtQowA==", + "dev": true, + "engines": { + "node": ">=16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/env-ci/node_modules/human-signals": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-4.3.1.tgz", - "integrity": "sha512-nZXjEF2nbo7lIw3mgYjItAfgQXog3OjJogSbKa2CQIIvSGWcKgeJnQlNXip6NglNzYH45nSRiEVimMvYL8DDqQ==", + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-5.0.0.tgz", + "integrity": "sha512-AXcZb6vzzrFAUE61HnN4mpLqd/cSIwNQjtNWR0euPm6y0iqx3G4gOXaIDdtdDwZmhwe82LA6+zinmW4UBWVePQ==", "dev": true, "engines": { - "node": ">=14.18.0" + "node": ">=16.17.0" } }, "node_modules/env-ci/node_modules/is-stream": { @@ -3691,16 +3488,28 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/env-ci/node_modules/strip-final-newline": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-3.0.0.tgz", - "integrity": "sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw==", + "node_modules/env-ci/node_modules/signal-exit": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz", + "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==", "dev": true, "engines": { - "node": ">=12" + "node": ">=14" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/env-ci/node_modules/strip-final-newline": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-3.0.0.tgz", + "integrity": "sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw==", + "dev": true, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/error-ex": { @@ -3783,15 +3592,15 @@ } }, "node_modules/eslint": { - "version": "8.49.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.49.0.tgz", - "integrity": "sha512-jw03ENfm6VJI0jA9U+8H5zfl5b+FvuU3YYvZRdZHOlU2ggJkxrlkJH4HcDrZpj6YwD8kuYqvQM8LyesoazrSOQ==", + "version": "8.51.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.51.0.tgz", + "integrity": "sha512-2WuxRZBrlwnXi+/vFSJyjMqrNjtJqiasMzehF0shoLaW7DzS3/9Yvrmq5JiT66+pNjiX4UBnLDiKHcWAr/OInA==", "dev": true, "dependencies": { "@eslint-community/eslint-utils": "^4.2.0", "@eslint-community/regexpp": "^4.6.1", "@eslint/eslintrc": "^2.1.2", - "@eslint/js": "8.49.0", + "@eslint/js": "8.51.0", "@humanwhocodes/config-array": "^0.11.11", "@humanwhocodes/module-importer": "^1.0.1", "@nodelib/fs.walk": "^1.2.8", @@ -3836,13 +3645,26 @@ "url": "https://opencollective.com/eslint" } }, + "node_modules/eslint-compat-utils": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/eslint-compat-utils/-/eslint-compat-utils-0.1.2.tgz", + "integrity": "sha512-Jia4JDldWnFNIru1Ehx1H5s9/yxiRHY/TimCuUc0jNexew3cF1gI6CYZil1ociakfWO3rRqFjl1mskBblB3RYg==", + "dev": true, + "engines": { + "node": ">=12" + }, + "peerDependencies": { + "eslint": ">=6.0.0" + } + }, "node_modules/eslint-plugin-jsonc": { - "version": "2.9.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-jsonc/-/eslint-plugin-jsonc-2.9.0.tgz", - "integrity": "sha512-RK+LeONVukbLwT2+t7/OY54NJRccTXh/QbnXzPuTLpFMVZhPuq1C9E07+qWenGx7rrQl0kAalAWl7EmB+RjpGA==", + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-jsonc/-/eslint-plugin-jsonc-2.10.0.tgz", + "integrity": "sha512-9d//o6Jyh4s1RxC9fNSt1+MMaFN2ruFdXPG9XZcb/mR2KkfjADYiNL/hbU6W0Cyxfg3tS/XSFuhl5LgtMD8hmw==", "dev": true, "dependencies": { "@eslint-community/eslint-utils": "^4.2.0", + "eslint-compat-utils": "^0.1.2", "jsonc-eslint-parser": "^2.0.4", "natural-compare": "^1.4.0" }, @@ -4580,13 +4402,13 @@ "dev": true }, "node_modules/handlebars": { - "version": "4.7.7", - "resolved": "https://registry.npmjs.org/handlebars/-/handlebars-4.7.7.tgz", - "integrity": "sha512-aAcXm5OAfE/8IXkcZvCepKU3VzW1/39Fb5ZuqMtgI/hT8X2YgoMvBY5dLhq/cpOvw7Lk1nK/UF71aLG/ZnVYRA==", + "version": "4.7.8", + "resolved": "https://registry.npmjs.org/handlebars/-/handlebars-4.7.8.tgz", + "integrity": "sha512-vafaFqs8MZkRrSX7sFVUdo3ap/eNiLnb4IakshzvP56X5Nr1iGKAIqdX6tMlm6HcNRIkr6AxO5jFEoJzzpT8aQ==", "dev": true, "dependencies": { "minimist": "^1.2.5", - "neo-async": "^2.6.0", + "neo-async": "^2.6.2", "source-map": "^0.6.1", "wordwrap": "^1.0.0" }, @@ -4600,15 +4422,6 @@ "uglify-js": "^3.1.4" } }, - "node_modules/hard-rejection": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/hard-rejection/-/hard-rejection-2.1.0.tgz", - "integrity": "sha512-VIZB+ibDhx7ObhAe7OVtoEbuP4h/MuOTHJ+J8h/eBXotJYl0fBgR72xDFCKgIh22OJZIOVNxBMWuhAr10r8HdA==", - "dev": true, - "engines": { - "node": ">=6" - } - }, "node_modules/has": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", @@ -4689,15 +4502,24 @@ } }, "node_modules/hosted-git-info": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-4.0.2.tgz", - "integrity": "sha512-c9OGXbZ3guC/xOlCg1Ci/VgWlwsqDv1yMQL1CWqXDL0hDjXuNcq0zuR4xqPSuasI3kqFDhqSyTjREz5gzq0fXg==", + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-7.0.1.tgz", + "integrity": "sha512-+K84LB1DYwMHoHSgaOY/Jfhw3ucPmSET5v98Ke/HdNSw4a0UktWzyW1mjhjpuxxTqOOsfWT/7iVshHmVZ4IpOA==", "dev": true, "dependencies": { - "lru-cache": "^6.0.0" + "lru-cache": "^10.0.1" }, "engines": { - "node": ">=10" + "node": "^16.14.0 || >=18.0.0" + } + }, + "node_modules/hosted-git-info/node_modules/lru-cache": { + "version": "10.0.1", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.0.1.tgz", + "integrity": "sha512-IJ4uwUTi2qCccrioU6g9g/5rvvVl13bsdczUUcqbciD9iLr095yj8DQKdObriEvuNSx325N1rV1O0sJFszx75g==", + "dev": true, + "engines": { + "node": "14 || >=16.14" } }, "node_modules/html-escaper": { @@ -4951,15 +4773,6 @@ "node": ">=8" } }, - "node_modules/is-plain-obj": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-1.1.0.tgz", - "integrity": "sha1-caUMhCnfync8kqOQpKA7OfzVHT4=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/is-plain-object": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-5.0.0.tgz", @@ -4988,15 +4801,15 @@ } }, "node_modules/is-text-path": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-text-path/-/is-text-path-1.0.1.tgz", - "integrity": "sha1-Thqg+1G/vLPpJogAE5cgLBd1tm4=", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-text-path/-/is-text-path-2.0.0.tgz", + "integrity": "sha512-+oDTluR6WEjdXEJMnC2z6A4FRwFoYuvShVVEGsS7ewc0UTi2QtAKMDJuL4BDEVt+5T7MjFo12RP8ghOM75oKJw==", "dev": true, "dependencies": { - "text-extensions": "^1.0.0" + "text-extensions": "^2.0.0" }, "engines": { - "node": ">=0.10.0" + "node": ">=8" } }, "node_modules/is-typedarray": { @@ -5313,7 +5126,7 @@ "node_modules/jsonparse": { "version": "1.3.1", "resolved": "https://registry.npmjs.org/jsonparse/-/jsonparse-1.3.1.tgz", - "integrity": "sha1-P02uSpH6wxX3EGL4UhzCOfE2YoA=", + "integrity": "sha512-POQXvpdL69+CluYsillJ7SUhKvytYjW9vG/GKpnf+xP8UWgYEM/RaMzHHofbALDiKbbP1W8UEYmgGl39WkPZsg==", "dev": true, "engines": [ "node >= 0.2.0" @@ -5335,15 +5148,6 @@ "node": "*" } }, - "node_modules/kind-of": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", - "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/levn": { "version": "0.4.1", "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", @@ -5585,12 +5389,6 @@ "integrity": "sha512-AirXNj15uRIMMPihnkInB4i3NHeb4iBtNg9WRWuK2o31S+ePwwNmDPaTL3o7dTJ+VXNZim7rFs4rxN4YU1oUJw==", "dev": true }, - "node_modules/lodash.ismatch": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/lodash.ismatch/-/lodash.ismatch-4.4.0.tgz", - "integrity": "sha1-dWy1FQyjum8RCFp4hJZF8Yj4Xzc=", - "dev": true - }, "node_modules/lodash.isobject": { "version": "3.0.2", "resolved": "https://registry.npmjs.org/lodash.isobject/-/lodash.isobject-3.0.2.tgz", @@ -5712,18 +5510,6 @@ "integrity": "sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==", "dev": true }, - "node_modules/map-obj": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-4.2.1.tgz", - "integrity": "sha512-+WA2/1sPmDj1dlvvJmB5G6JKfY9dpn7EVBUL06+y6PoljPkh+6V1QihwxNkbcGxCRjt2b0F9K0taiCuo7MbdFQ==", - "dev": true, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/marked": { "version": "4.3.0", "resolved": "https://registry.npmjs.org/marked/-/marked-4.3.0.tgz", @@ -5737,29 +5523,29 @@ } }, "node_modules/marked-terminal": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/marked-terminal/-/marked-terminal-5.1.1.tgz", - "integrity": "sha512-+cKTOx9P4l7HwINYhzbrBSyzgxO2HaHKGZGuB1orZsMIgXYaJyfidT81VXRdpelW/PcHEWxywscePVgI/oUF6g==", + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/marked-terminal/-/marked-terminal-6.0.0.tgz", + "integrity": "sha512-6rruICvqRfA4N+Mvdc0UyDbLA0A0nI5omtARIlin3P2F+aNc3EbW91Rd9HTuD0v9qWyHmNIu8Bt40gAnPfldsg==", "dev": true, "dependencies": { - "ansi-escapes": "^5.0.0", + "ansi-escapes": "^6.2.0", "cardinal": "^2.1.1", - "chalk": "^5.0.0", - "cli-table3": "^0.6.1", - "node-emoji": "^1.11.0", - "supports-hyperlinks": "^2.2.0" + "chalk": "^5.3.0", + "cli-table3": "^0.6.3", + "node-emoji": "^2.1.0", + "supports-hyperlinks": "^3.0.0" }, "engines": { - "node": ">=14.13.1 || >=16.0.0" + "node": ">=16.0.0" }, "peerDependencies": { - "marked": "^1.0.0 || ^2.0.0 || ^3.0.0 || ^4.0.0" + "marked": ">=1 <10" } }, "node_modules/marked-terminal/node_modules/chalk": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-5.2.0.tgz", - "integrity": "sha512-ree3Gqw/nazQAPuJJEy+avdl7QfZMcUvmHIKgEZkGL+xOBzRvup5Hxo6LHuMceSxOabuJLJm5Yp/92R9eMmMvA==", + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-5.3.0.tgz", + "integrity": "sha512-dLitG79d+GV1Nb/VYcCDFivJeK1hiukt9QjRNVOsUtTy1rR1YJsmpGGTZ3qJos+uw7WmWF4wUwBd9jxjocFC2w==", "dev": true, "engines": { "node": "^12.17.0 || ^14.13 || >=16.0.0" @@ -5769,37 +5555,12 @@ } }, "node_modules/meow": { - "version": "8.1.2", - "resolved": "https://registry.npmjs.org/meow/-/meow-8.1.2.tgz", - "integrity": "sha512-r85E3NdZ+mpYk1C6RjPFEMSE+s1iZMuHtsHAqY0DT3jZczl0diWUZ8g6oU7h0M9cD2EL+PzaYghhCLzR0ZNn5Q==", - "dev": true, - "dependencies": { - "@types/minimist": "^1.2.0", - "camelcase-keys": "^6.2.2", - "decamelize-keys": "^1.1.0", - "hard-rejection": "^2.1.0", - "minimist-options": "4.1.0", - "normalize-package-data": "^3.0.0", - "read-pkg-up": "^7.0.1", - "redent": "^3.0.0", - "trim-newlines": "^3.0.0", - "type-fest": "^0.18.0", - "yargs-parser": "^20.2.3" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/meow/node_modules/type-fest": { - "version": "0.18.1", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.18.1.tgz", - "integrity": "sha512-OIAYXk8+ISY+qTOwkHtKqzAuxchoMiD9Udx+FSGQDuiRR+PJKJHc2NJAXlbhkGwTt/4/nKZxELY1w3ReWOL8mw==", + "version": "12.1.1", + "resolved": "https://registry.npmjs.org/meow/-/meow-12.1.1.tgz", + "integrity": "sha512-BhXM0Au22RwUneMPwSCnyhTOizdWoIEPU9sp0Aqa1PnDMR5Wv2FGXYDjuzJEIX+Eo2Rb8xuYe5jrnm5QowQFkw==", "dev": true, "engines": { - "node": ">=10" + "node": ">=16.10" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" @@ -5875,15 +5636,6 @@ "node": ">=6" } }, - "node_modules/min-indent": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/min-indent/-/min-indent-1.0.1.tgz", - "integrity": "sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==", - "dev": true, - "engines": { - "node": ">=4" - } - }, "node_modules/minimatch": { "version": "3.1.2", "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", @@ -5902,20 +5654,6 @@ "integrity": "sha512-Jsjnk4bw3YJqYzbdyBiNsPWHPfO++UGG749Cxs6peCu5Xg4nrena6OVxOYxrQTqww0Jmwt+Ref8rggumkTLz9Q==", "dev": true }, - "node_modules/minimist-options": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/minimist-options/-/minimist-options-4.1.0.tgz", - "integrity": "sha512-Q4r8ghd80yhO/0j1O3B2BjweX3fiHg9cdOwjJd2J76Q135c+NDxGCqdYKQ1SKBuFfgWbAUzBfvYjPUEeNgqN1A==", - "dev": true, - "dependencies": { - "arrify": "^1.0.1", - "is-plain-obj": "^1.1.0", - "kind-of": "^6.0.3" - }, - "engines": { - "node": ">= 6" - } - }, "node_modules/mkdirp": { "version": "0.5.6", "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz", @@ -6131,15 +5869,6 @@ "node": ">=12" } }, - "node_modules/modify-values": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/modify-values/-/modify-values-1.0.1.tgz", - "integrity": "sha512-xV2bxeN6F7oYjZWTe/YPAy6MN2M+sL4u/Rlm2AHCIVGfo2p1yGmBHQ6vHehl4bRTZBdHu3TSkWdYgkwpYzAGSw==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/moment": { "version": "2.29.4", "resolved": "https://registry.npmjs.org/moment/-/moment-2.29.4.tgz", @@ -6209,12 +5938,15 @@ "dev": true }, "node_modules/node-emoji": { - "version": "1.11.0", - "resolved": "https://registry.npmjs.org/node-emoji/-/node-emoji-1.11.0.tgz", - "integrity": "sha512-wo2DpQkQp7Sjm2A0cq+sN7EHKO6Sl0ctXeBdFZrL9T9+UywORbufTcTZxom8YqpLQt/FqNMUkOpkZrJVYSKD3A==", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/node-emoji/-/node-emoji-2.1.0.tgz", + "integrity": "sha512-tcsBm9C6FmPN5Wo7OjFi9lgMyJjvkAeirmjR/ax8Ttfqy4N8PoFic26uqFTIgayHPNI5FH4ltUvfh9kHzwcK9A==", "dev": true, "dependencies": { - "lodash": "^4.17.21" + "@sindresorhus/is": "^3.1.2", + "char-regex": "^1.0.2", + "emojilib": "^2.4.0", + "skin-tone": "^2.0.0" } }, "node_modules/node-fetch": { @@ -6291,18 +6023,18 @@ } }, "node_modules/normalize-package-data": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-3.0.2.tgz", - "integrity": "sha512-6CdZocmfGaKnIHPVFhJJZ3GuR8SsLKvDANFp47Jmy51aKIr8akjAWTSxtpI+MBgBFdSMRyo4hMpDlT6dTffgZg==", + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-6.0.0.tgz", + "integrity": "sha512-UL7ELRVxYBHBgYEtZCXjxuD5vPxnmvMGq0jp/dGPKKrN7tfsBh2IY7TlJ15WWwdjRWD3RJbnsygUurTK3xkPkg==", "dev": true, "dependencies": { - "hosted-git-info": "^4.0.1", - "resolve": "^1.20.0", - "semver": "^7.3.4", - "validate-npm-package-license": "^3.0.1" + "hosted-git-info": "^7.0.0", + "is-core-module": "^2.8.1", + "semver": "^7.3.5", + "validate-npm-package-license": "^3.0.4" }, "engines": { - "node": ">=10" + "node": "^16.14.0 || >=18.0.0" } }, "node_modules/normalize-path": { @@ -6315,16 +6047,19 @@ } }, "node_modules/npm": { - "version": "9.6.3", - "resolved": "https://registry.npmjs.org/npm/-/npm-9.6.3.tgz", - "integrity": "sha512-KMAw6cJF5JGPJz/NtsU8H1sMqb34qPGnSMaSWrVO8bzxOdAXJNAtDXATvLl0lflrImIze1FZCqocM8wdIu3Sfg==", + "version": "10.2.0", + "resolved": "https://registry.npmjs.org/npm/-/npm-10.2.0.tgz", + "integrity": "sha512-Auyq6d4cfg/SY4URjZE2aePLOPzK4lUD+qyMxY/7HbxAvCnOCKtMlyLPcbLSOq9lhEGBZN800S1o+UmfjA5dTg==", "bundleDependencies": [ "@isaacs/string-locale-compare", "@npmcli/arborist", "@npmcli/config", + "@npmcli/fs", "@npmcli/map-workspaces", "@npmcli/package-json", + "@npmcli/promise-spawn", "@npmcli/run-script", + "@sigstore/tuf", "abbrev", "archy", "cacache", @@ -6360,6 +6095,7 @@ "ms", "node-gyp", "nopt", + "normalize-package-data", "npm-audit-report", "npm-install-checks", "npm-package-arg", @@ -6374,10 +6110,11 @@ "proc-log", "qrcode-terminal", "read", - "read-package-json", - "read-package-json-fast", "semver", + "spdx-expression-parse", "ssri", + "strip-ansi", + "supports-color", "tar", "text-table", "tiny-relative-date", @@ -6389,78 +6126,83 @@ "dev": true, "dependencies": { "@isaacs/string-locale-compare": "^1.1.0", - "@npmcli/arborist": "^6.2.6", - "@npmcli/config": "^6.1.5", - "@npmcli/map-workspaces": "^3.0.3", - "@npmcli/package-json": "^3.0.0", - "@npmcli/run-script": "^6.0.0", + "@npmcli/arborist": "^7.2.0", + "@npmcli/config": "^8.0.0", + "@npmcli/fs": "^3.1.0", + "@npmcli/map-workspaces": "^3.0.4", + "@npmcli/package-json": "^5.0.0", + "@npmcli/promise-spawn": "^7.0.0", + "@npmcli/run-script": "^7.0.1", + "@sigstore/tuf": "^2.1.0", "abbrev": "^2.0.0", "archy": "~1.0.0", - "cacache": "^17.0.5", - "chalk": "^4.1.2", + "cacache": "^18.0.0", + "chalk": "^5.3.0", "ci-info": "^3.8.0", "cli-columns": "^4.0.0", "cli-table3": "^0.6.3", "columnify": "^1.6.0", "fastest-levenshtein": "^1.0.16", - "fs-minipass": "^3.0.1", - "glob": "^9.3.1", + "fs-minipass": "^3.0.3", + "glob": "^10.3.10", "graceful-fs": "^4.2.11", - "hosted-git-info": "^6.1.1", - "ini": "^3.0.1", - "init-package-json": "^5.0.0", + "hosted-git-info": "^7.0.1", + "ini": "^4.1.1", + "init-package-json": "^6.0.0", "is-cidr": "^4.0.2", "json-parse-even-better-errors": "^3.0.0", - "libnpmaccess": "^7.0.2", - "libnpmdiff": "^5.0.14", - "libnpmexec": "^5.0.14", - "libnpmfund": "^4.0.14", - "libnpmhook": "^9.0.3", - "libnpmorg": "^5.0.3", - "libnpmpack": "^5.0.14", - "libnpmpublish": "^7.1.3", - "libnpmsearch": "^6.0.2", - "libnpmteam": "^5.0.3", - "libnpmversion": "^4.0.2", - "make-fetch-happen": "^11.0.3", - "minimatch": "^7.4.3", - "minipass": "^4.2.5", + "libnpmaccess": "^8.0.1", + "libnpmdiff": "^6.0.2", + "libnpmexec": "^7.0.2", + "libnpmfund": "^5.0.0", + "libnpmhook": "^10.0.0", + "libnpmorg": "^6.0.1", + "libnpmpack": "^6.0.2", + "libnpmpublish": "^9.0.1", + "libnpmsearch": "^7.0.0", + "libnpmteam": "^6.0.0", + "libnpmversion": "^5.0.0", + "make-fetch-happen": "^13.0.0", + "minimatch": "^9.0.3", + "minipass": "^7.0.4", "minipass-pipeline": "^1.2.4", "ms": "^2.1.2", - "node-gyp": "^9.3.1", - "nopt": "^7.1.0", - "npm-audit-report": "^4.0.0", - "npm-install-checks": "^6.1.0", - "npm-package-arg": "^10.1.0", - "npm-pick-manifest": "^8.0.1", - "npm-profile": "^7.0.1", - "npm-registry-fetch": "^14.0.3", + "node-gyp": "^9.4.0", + "nopt": "^7.2.0", + "normalize-package-data": "^6.0.0", + "npm-audit-report": "^5.0.0", + "npm-install-checks": "^6.2.0", + "npm-package-arg": "^11.0.1", + "npm-pick-manifest": "^9.0.0", + "npm-profile": "^9.0.0", + "npm-registry-fetch": "^16.0.0", "npm-user-validate": "^2.0.0", "npmlog": "^7.0.1", "p-map": "^4.0.0", - "pacote": "^15.1.1", + "pacote": "^17.0.4", "parse-conflict-json": "^3.0.1", "proc-log": "^3.0.0", "qrcode-terminal": "^0.12.0", - "read": "^2.0.0", - "read-package-json": "^6.0.1", - "read-package-json-fast": "^3.0.2", - "semver": "^7.3.8", - "ssri": "^10.0.1", - "tar": "^6.1.13", + "read": "^2.1.0", + "semver": "^7.5.4", + "spdx-expression-parse": "^3.0.1", + "ssri": "^10.0.5", + "strip-ansi": "^6.0.1", + "supports-color": "^9.4.0", + "tar": "^6.2.0", "text-table": "~0.2.0", "tiny-relative-date": "^1.3.0", "treeverse": "^3.0.0", "validate-npm-package-name": "^5.0.0", - "which": "^3.0.0", - "write-file-atomic": "^5.0.0" + "which": "^4.0.0", + "write-file-atomic": "^5.0.1" }, "bin": { "npm": "bin/npm-cli.js", "npx": "bin/npx-cli.js" }, "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + "node": "^18.17.0 || >=20.5.0" } }, "node_modules/npm-normalize-package-bin": { @@ -6491,20 +6233,149 @@ "node": ">=0.1.90" } }, - "node_modules/npm/node_modules/@gar/promisify": { - "version": "1.1.3", + "node_modules/npm/node_modules/@isaacs/cliui": { + "version": "8.0.2", + "dev": true, + "inBundle": true, + "license": "ISC", + "dependencies": { + "string-width": "^5.1.2", + "string-width-cjs": "npm:string-width@^4.2.0", + "strip-ansi": "^7.0.1", + "strip-ansi-cjs": "npm:strip-ansi@^6.0.1", + "wrap-ansi": "^8.1.0", + "wrap-ansi-cjs": "npm:wrap-ansi@^7.0.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/npm/node_modules/@isaacs/cliui/node_modules/ansi-regex": { + "version": "6.0.1", + "dev": true, + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-regex?sponsor=1" + } + }, + "node_modules/npm/node_modules/@isaacs/cliui/node_modules/emoji-regex": { + "version": "9.2.2", "dev": true, "inBundle": true, "license": "MIT" }, + "node_modules/npm/node_modules/@isaacs/cliui/node_modules/string-width": { + "version": "5.1.2", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "eastasianwidth": "^0.2.0", + "emoji-regex": "^9.2.2", + "strip-ansi": "^7.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/npm/node_modules/@isaacs/cliui/node_modules/strip-ansi": { + "version": "7.1.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "ansi-regex": "^6.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/strip-ansi?sponsor=1" + } + }, "node_modules/npm/node_modules/@isaacs/string-locale-compare": { "version": "1.1.0", "dev": true, "inBundle": true, "license": "ISC" }, + "node_modules/npm/node_modules/@npmcli/agent": { + "version": "2.2.0", + "dev": true, + "inBundle": true, + "license": "ISC", + "dependencies": { + "agent-base": "^7.1.0", + "http-proxy-agent": "^7.0.0", + "https-proxy-agent": "^7.0.1", + "lru-cache": "^10.0.1", + "socks-proxy-agent": "^8.0.1" + }, + "engines": { + "node": "^16.14.0 || >=18.0.0" + } + }, + "node_modules/npm/node_modules/@npmcli/agent/node_modules/agent-base": { + "version": "7.1.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "debug": "^4.3.4" + }, + "engines": { + "node": ">= 14" + } + }, + "node_modules/npm/node_modules/@npmcli/agent/node_modules/http-proxy-agent": { + "version": "7.0.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "agent-base": "^7.1.0", + "debug": "^4.3.4" + }, + "engines": { + "node": ">= 14" + } + }, + "node_modules/npm/node_modules/@npmcli/agent/node_modules/https-proxy-agent": { + "version": "7.0.1", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "agent-base": "^7.0.2", + "debug": "4" + }, + "engines": { + "node": ">= 14" + } + }, + "node_modules/npm/node_modules/@npmcli/agent/node_modules/socks-proxy-agent": { + "version": "8.0.1", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "agent-base": "^7.0.1", + "debug": "^4.3.4", + "socks": "^2.7.1" + }, + "engines": { + "node": ">= 14" + } + }, "node_modules/npm/node_modules/@npmcli/arborist": { - "version": "6.2.6", + "version": "7.2.0", "dev": true, "inBundle": true, "license": "ISC", @@ -6513,59 +6384,60 @@ "@npmcli/fs": "^3.1.0", "@npmcli/installed-package-contents": "^2.0.2", "@npmcli/map-workspaces": "^3.0.2", - "@npmcli/metavuln-calculator": "^5.0.0", + "@npmcli/metavuln-calculator": "^7.0.0", "@npmcli/name-from-folder": "^2.0.0", "@npmcli/node-gyp": "^3.0.0", - "@npmcli/package-json": "^3.0.0", - "@npmcli/query": "^3.0.0", - "@npmcli/run-script": "^6.0.0", + "@npmcli/package-json": "^5.0.0", + "@npmcli/query": "^3.0.1", + "@npmcli/run-script": "^7.0.1", "bin-links": "^4.0.1", - "cacache": "^17.0.4", + "cacache": "^18.0.0", "common-ancestor-path": "^1.0.1", - "hosted-git-info": "^6.1.1", + "hosted-git-info": "^7.0.1", "json-parse-even-better-errors": "^3.0.0", "json-stringify-nice": "^1.1.4", - "minimatch": "^7.4.2", + "minimatch": "^9.0.0", "nopt": "^7.0.0", - "npm-install-checks": "^6.0.0", - "npm-package-arg": "^10.1.0", - "npm-pick-manifest": "^8.0.1", - "npm-registry-fetch": "^14.0.3", + "npm-install-checks": "^6.2.0", + "npm-package-arg": "^11.0.1", + "npm-pick-manifest": "^9.0.0", + "npm-registry-fetch": "^16.0.0", "npmlog": "^7.0.1", - "pacote": "^15.0.8", + "pacote": "^17.0.4", "parse-conflict-json": "^3.0.0", "proc-log": "^3.0.0", "promise-all-reject-late": "^1.0.0", - "promise-call-limit": "^1.0.1", + "promise-call-limit": "^1.0.2", "read-package-json-fast": "^3.0.2", "semver": "^7.3.7", - "ssri": "^10.0.1", + "ssri": "^10.0.5", "treeverse": "^3.0.0", - "walk-up-path": "^1.0.0" + "walk-up-path": "^3.0.1" }, "bin": { "arborist": "bin/index.js" }, "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + "node": "^16.14.0 || >=18.0.0" } }, "node_modules/npm/node_modules/@npmcli/config": { - "version": "6.1.5", + "version": "8.0.0", "dev": true, "inBundle": true, "license": "ISC", "dependencies": { "@npmcli/map-workspaces": "^3.0.2", - "ini": "^3.0.0", + "ci-info": "^3.8.0", + "ini": "^4.1.0", "nopt": "^7.0.0", "proc-log": "^3.0.0", "read-package-json-fast": "^3.0.2", "semver": "^7.3.5", - "walk-up-path": "^1.0.0" + "walk-up-path": "^3.0.1" }, "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + "node": "^16.14.0 || >=18.0.0" } }, "node_modules/npm/node_modules/@npmcli/disparity-colors": { @@ -6593,22 +6465,22 @@ } }, "node_modules/npm/node_modules/@npmcli/git": { - "version": "4.0.4", + "version": "5.0.3", "dev": true, "inBundle": true, "license": "ISC", "dependencies": { - "@npmcli/promise-spawn": "^6.0.0", - "lru-cache": "^7.4.4", - "npm-pick-manifest": "^8.0.0", + "@npmcli/promise-spawn": "^7.0.0", + "lru-cache": "^10.0.1", + "npm-pick-manifest": "^9.0.0", "proc-log": "^3.0.0", "promise-inflight": "^1.0.1", "promise-retry": "^2.0.1", "semver": "^7.3.5", - "which": "^3.0.0" + "which": "^4.0.0" }, "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + "node": "^16.14.0 || >=18.0.0" } }, "node_modules/npm/node_modules/@npmcli/installed-package-contents": { @@ -6628,14 +6500,14 @@ } }, "node_modules/npm/node_modules/@npmcli/map-workspaces": { - "version": "3.0.3", + "version": "3.0.4", "dev": true, "inBundle": true, "license": "ISC", "dependencies": { "@npmcli/name-from-folder": "^2.0.0", - "glob": "^9.3.1", - "minimatch": "^7.4.2", + "glob": "^10.2.2", + "minimatch": "^9.0.0", "read-package-json-fast": "^3.0.0" }, "engines": { @@ -6643,38 +6515,25 @@ } }, "node_modules/npm/node_modules/@npmcli/metavuln-calculator": { - "version": "5.0.0", + "version": "7.0.0", "dev": true, "inBundle": true, "license": "ISC", "dependencies": { - "cacache": "^17.0.0", + "cacache": "^18.0.0", "json-parse-even-better-errors": "^3.0.0", - "pacote": "^15.0.0", + "pacote": "^17.0.0", "semver": "^7.3.5" }, "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + "node": "^16.14.0 || >=18.0.0" } }, - "node_modules/npm/node_modules/@npmcli/move-file": { - "version": "2.0.1", + "node_modules/npm/node_modules/@npmcli/name-from-folder": { + "version": "2.0.0", "dev": true, "inBundle": true, - "license": "MIT", - "dependencies": { - "mkdirp": "^1.0.4", - "rimraf": "^3.0.2" - }, - "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" - } - }, - "node_modules/npm/node_modules/@npmcli/name-from-folder": { - "version": "2.0.0", - "dev": true, - "inBundle": true, - "license": "ISC", + "license": "ISC", "engines": { "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } @@ -6689,31 +6548,37 @@ } }, "node_modules/npm/node_modules/@npmcli/package-json": { - "version": "3.0.0", + "version": "5.0.0", "dev": true, "inBundle": true, "license": "ISC", "dependencies": { - "json-parse-even-better-errors": "^3.0.0" + "@npmcli/git": "^5.0.0", + "glob": "^10.2.2", + "hosted-git-info": "^7.0.0", + "json-parse-even-better-errors": "^3.0.0", + "normalize-package-data": "^6.0.0", + "proc-log": "^3.0.0", + "semver": "^7.5.3" }, "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + "node": "^16.14.0 || >=18.0.0" } }, "node_modules/npm/node_modules/@npmcli/promise-spawn": { - "version": "6.0.2", + "version": "7.0.0", "dev": true, "inBundle": true, "license": "ISC", "dependencies": { - "which": "^3.0.0" + "which": "^4.0.0" }, "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + "node": "^16.14.0 || >=18.0.0" } }, "node_modules/npm/node_modules/@npmcli/query": { - "version": "3.0.0", + "version": "3.0.1", "dev": true, "inBundle": true, "license": "ISC", @@ -6725,23 +6590,45 @@ } }, "node_modules/npm/node_modules/@npmcli/run-script": { - "version": "6.0.0", + "version": "7.0.1", "dev": true, "inBundle": true, "license": "ISC", "dependencies": { "@npmcli/node-gyp": "^3.0.0", - "@npmcli/promise-spawn": "^6.0.0", + "@npmcli/promise-spawn": "^7.0.0", "node-gyp": "^9.0.0", "read-package-json-fast": "^3.0.0", - "which": "^3.0.0" + "which": "^4.0.0" }, "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + "node": "^16.14.0 || >=18.0.0" + } + }, + "node_modules/npm/node_modules/@pkgjs/parseargs": { + "version": "0.11.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "optional": true, + "engines": { + "node": ">=14" + } + }, + "node_modules/npm/node_modules/@sigstore/bundle": { + "version": "2.1.0", + "dev": true, + "inBundle": true, + "license": "Apache-2.0", + "dependencies": { + "@sigstore/protobuf-specs": "^0.2.1" + }, + "engines": { + "node": "^16.14.0 || >=18.0.0" } }, "node_modules/npm/node_modules/@sigstore/protobuf-specs": { - "version": "0.1.0", + "version": "0.2.1", "dev": true, "inBundle": true, "license": "Apache-2.0", @@ -6749,6 +6636,33 @@ "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, + "node_modules/npm/node_modules/@sigstore/sign": { + "version": "2.1.0", + "dev": true, + "inBundle": true, + "license": "Apache-2.0", + "dependencies": { + "@sigstore/bundle": "^2.1.0", + "@sigstore/protobuf-specs": "^0.2.1", + "make-fetch-happen": "^13.0.0" + }, + "engines": { + "node": "^16.14.0 || >=18.0.0" + } + }, + "node_modules/npm/node_modules/@sigstore/tuf": { + "version": "2.1.0", + "dev": true, + "inBundle": true, + "license": "Apache-2.0", + "dependencies": { + "@sigstore/protobuf-specs": "^0.2.1", + "tuf-js": "^2.1.0" + }, + "engines": { + "node": "^16.14.0 || >=18.0.0" + } + }, "node_modules/npm/node_modules/@tootallnate/once": { "version": "2.0.0", "dev": true, @@ -6758,16 +6672,26 @@ "node": ">= 10" } }, + "node_modules/npm/node_modules/@tufjs/canonical-json": { + "version": "2.0.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "engines": { + "node": "^16.14.0 || >=18.0.0" + } + }, "node_modules/npm/node_modules/@tufjs/models": { - "version": "1.0.1", + "version": "2.0.0", "dev": true, "inBundle": true, "license": "MIT", "dependencies": { - "minimatch": "^7.4.2" + "@tufjs/canonical-json": "2.0.0", + "minimatch": "^9.0.3" }, "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + "node": "^16.14.0 || >=18.0.0" } }, "node_modules/npm/node_modules/abbrev": { @@ -6804,13 +6728,11 @@ } }, "node_modules/npm/node_modules/agentkeepalive": { - "version": "4.3.0", + "version": "4.5.0", "dev": true, "inBundle": true, "license": "MIT", "dependencies": { - "debug": "^4.1.0", - "depd": "^2.0.0", "humanize-ms": "^1.2.1" }, "engines": { @@ -6906,7 +6828,7 @@ "license": "MIT" }, "node_modules/npm/node_modules/bin-links": { - "version": "4.0.1", + "version": "4.0.2", "dev": true, "inBundle": true, "license": "ISC", @@ -6972,40 +6894,35 @@ } }, "node_modules/npm/node_modules/cacache": { - "version": "17.0.5", + "version": "18.0.0", "dev": true, "inBundle": true, "license": "ISC", "dependencies": { "@npmcli/fs": "^3.1.0", "fs-minipass": "^3.0.0", - "glob": "^9.3.1", - "lru-cache": "^7.7.1", - "minipass": "^4.0.0", + "glob": "^10.2.2", + "lru-cache": "^10.0.1", + "minipass": "^7.0.3", "minipass-collect": "^1.0.2", "minipass-flush": "^1.0.5", "minipass-pipeline": "^1.2.4", "p-map": "^4.0.0", - "promise-inflight": "^1.0.1", "ssri": "^10.0.0", "tar": "^6.1.11", "unique-filename": "^3.0.0" }, "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + "node": "^16.14.0 || >=18.0.0" } }, "node_modules/npm/node_modules/chalk": { - "version": "4.1.2", + "version": "5.3.0", "dev": true, "inBundle": true, "license": "MIT", - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, "engines": { - "node": ">=10" + "node": "^12.17.0 || ^14.13 || >=16.0.0" }, "funding": { "url": "https://github.com/chalk/chalk?sponsor=1" @@ -7160,6 +7077,35 @@ "inBundle": true, "license": "ISC" }, + "node_modules/npm/node_modules/cross-spawn": { + "version": "7.0.3", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/npm/node_modules/cross-spawn/node_modules/which": { + "version": "2.0.2", + "dev": true, + "inBundle": true, + "license": "ISC", + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "node-which": "bin/node-which" + }, + "engines": { + "node": ">= 8" + } + }, "node_modules/npm/node_modules/cssesc": { "version": "3.0.0", "dev": true, @@ -7213,15 +7159,6 @@ "inBundle": true, "license": "MIT" }, - "node_modules/npm/node_modules/depd": { - "version": "2.0.0", - "dev": true, - "inBundle": true, - "license": "MIT", - "engines": { - "node": ">= 0.8" - } - }, "node_modules/npm/node_modules/diff": { "version": "5.1.0", "dev": true, @@ -7231,6 +7168,12 @@ "node": ">=0.3.1" } }, + "node_modules/npm/node_modules/eastasianwidth": { + "version": "0.2.0", + "dev": true, + "inBundle": true, + "license": "MIT" + }, "node_modules/npm/node_modules/emoji-regex": { "version": "8.0.0", "dev": true, @@ -7280,6 +7223,12 @@ "node": ">=0.8.x" } }, + "node_modules/npm/node_modules/exponential-backoff": { + "version": "3.1.1", + "dev": true, + "inBundle": true, + "license": "Apache-2.0" + }, "node_modules/npm/node_modules/fastest-levenshtein": { "version": "1.0.16", "dev": true, @@ -7289,13 +7238,29 @@ "node": ">= 4.9.1" } }, + "node_modules/npm/node_modules/foreground-child": { + "version": "3.1.1", + "dev": true, + "inBundle": true, + "license": "ISC", + "dependencies": { + "cross-spawn": "^7.0.0", + "signal-exit": "^4.0.1" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, "node_modules/npm/node_modules/fs-minipass": { - "version": "3.0.1", + "version": "3.0.3", "dev": true, "inBundle": true, "license": "ISC", "dependencies": { - "minipass": "^4.0.0" + "minipass": "^7.0.3" }, "engines": { "node": "^14.17.0 || ^16.13.0 || >=18.0.0" @@ -7314,7 +7279,7 @@ "license": "MIT" }, "node_modules/npm/node_modules/gauge": { - "version": "5.0.0", + "version": "5.0.1", "dev": true, "inBundle": true, "license": "ISC", @@ -7323,7 +7288,7 @@ "color-support": "^1.1.3", "console-control-strings": "^1.1.0", "has-unicode": "^2.0.1", - "signal-exit": "^3.0.7", + "signal-exit": "^4.0.1", "string-width": "^4.2.3", "strip-ansi": "^6.0.1", "wide-align": "^1.1.5" @@ -7333,15 +7298,19 @@ } }, "node_modules/npm/node_modules/glob": { - "version": "9.3.1", + "version": "10.3.10", "dev": true, "inBundle": true, "license": "ISC", "dependencies": { - "fs.realpath": "^1.0.0", - "minimatch": "^7.4.1", - "minipass": "^4.2.4", - "path-scurry": "^1.6.1" + "foreground-child": "^3.1.0", + "jackspeak": "^2.3.5", + "minimatch": "^9.0.1", + "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0", + "path-scurry": "^1.10.1" + }, + "bin": { + "glob": "dist/esm/bin.mjs" }, "engines": { "node": ">=16 || 14 >=14.17" @@ -7368,15 +7337,6 @@ "node": ">= 0.4.0" } }, - "node_modules/npm/node_modules/has-flag": { - "version": "4.0.0", - "dev": true, - "inBundle": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, "node_modules/npm/node_modules/has-unicode": { "version": "2.0.1", "dev": true, @@ -7384,15 +7344,15 @@ "license": "ISC" }, "node_modules/npm/node_modules/hosted-git-info": { - "version": "6.1.1", + "version": "7.0.1", "dev": true, "inBundle": true, "license": "ISC", "dependencies": { - "lru-cache": "^7.5.1" + "lru-cache": "^10.0.1" }, "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + "node": "^16.14.0 || >=18.0.0" } }, "node_modules/npm/node_modules/http-cache-semantics": { @@ -7471,12 +7431,12 @@ "license": "BSD-3-Clause" }, "node_modules/npm/node_modules/ignore-walk": { - "version": "6.0.2", + "version": "6.0.3", "dev": true, "inBundle": true, "license": "ISC", "dependencies": { - "minimatch": "^7.4.2" + "minimatch": "^9.0.0" }, "engines": { "node": "^14.17.0 || ^16.13.0 || >=18.0.0" @@ -7500,12 +7460,6 @@ "node": ">=8" } }, - "node_modules/npm/node_modules/infer-owner": { - "version": "1.0.4", - "dev": true, - "inBundle": true, - "license": "ISC" - }, "node_modules/npm/node_modules/inflight": { "version": "1.0.6", "dev": true, @@ -7523,30 +7477,30 @@ "license": "ISC" }, "node_modules/npm/node_modules/ini": { - "version": "3.0.1", + "version": "4.1.1", "dev": true, "inBundle": true, "license": "ISC", "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, "node_modules/npm/node_modules/init-package-json": { - "version": "5.0.0", + "version": "6.0.0", "dev": true, "inBundle": true, "license": "ISC", "dependencies": { - "npm-package-arg": "^10.0.0", + "npm-package-arg": "^11.0.0", "promzard": "^1.0.0", "read": "^2.0.0", - "read-package-json": "^6.0.0", + "read-package-json": "^7.0.0", "semver": "^7.3.5", "validate-npm-package-license": "^3.0.4", "validate-npm-package-name": "^5.0.0" }, "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + "node": "^16.14.0 || >=18.0.0" } }, "node_modules/npm/node_modules/ip": { @@ -7577,7 +7531,7 @@ } }, "node_modules/npm/node_modules/is-core-module": { - "version": "2.11.0", + "version": "2.12.1", "dev": true, "inBundle": true, "license": "MIT", @@ -7609,6 +7563,24 @@ "inBundle": true, "license": "ISC" }, + "node_modules/npm/node_modules/jackspeak": { + "version": "2.3.6", + "dev": true, + "inBundle": true, + "license": "BlueOak-1.0.0", + "dependencies": { + "@isaacs/cliui": "^8.0.2" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + }, + "optionalDependencies": { + "@pkgjs/parseargs": "^0.11.0" + } + }, "node_modules/npm/node_modules/json-parse-even-better-errors": { "version": "3.0.0", "dev": true, @@ -7637,7 +7609,7 @@ "license": "MIT" }, "node_modules/npm/node_modules/just-diff": { - "version": "6.0.0", + "version": "6.0.2", "dev": true, "inBundle": true, "license": "MIT" @@ -7649,211 +7621,206 @@ "license": "MIT" }, "node_modules/npm/node_modules/libnpmaccess": { - "version": "7.0.2", + "version": "8.0.1", "dev": true, "inBundle": true, "license": "ISC", "dependencies": { - "npm-package-arg": "^10.1.0", - "npm-registry-fetch": "^14.0.3" + "npm-package-arg": "^11.0.1", + "npm-registry-fetch": "^16.0.0" }, "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + "node": "^16.14.0 || >=18.0.0" } }, "node_modules/npm/node_modules/libnpmdiff": { - "version": "5.0.14", + "version": "6.0.2", "dev": true, "inBundle": true, "license": "ISC", "dependencies": { - "@npmcli/arborist": "^6.2.6", + "@npmcli/arborist": "^7.2.0", "@npmcli/disparity-colors": "^3.0.0", "@npmcli/installed-package-contents": "^2.0.2", "binary-extensions": "^2.2.0", "diff": "^5.1.0", - "minimatch": "^7.4.2", - "npm-package-arg": "^10.1.0", - "pacote": "^15.0.8", - "tar": "^6.1.13" + "minimatch": "^9.0.0", + "npm-package-arg": "^11.0.1", + "pacote": "^17.0.4", + "tar": "^6.2.0" }, "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + "node": "^16.14.0 || >=18.0.0" } }, "node_modules/npm/node_modules/libnpmexec": { - "version": "5.0.14", + "version": "7.0.2", "dev": true, "inBundle": true, "license": "ISC", "dependencies": { - "@npmcli/arborist": "^6.2.6", - "@npmcli/run-script": "^6.0.0", - "chalk": "^4.1.0", + "@npmcli/arborist": "^7.2.0", + "@npmcli/run-script": "^7.0.1", "ci-info": "^3.7.1", - "npm-package-arg": "^10.1.0", + "npm-package-arg": "^11.0.1", "npmlog": "^7.0.1", - "pacote": "^15.0.8", + "pacote": "^17.0.4", "proc-log": "^3.0.0", "read": "^2.0.0", "read-package-json-fast": "^3.0.2", "semver": "^7.3.7", - "walk-up-path": "^1.0.0" + "walk-up-path": "^3.0.1" }, "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + "node": "^16.14.0 || >=18.0.0" } }, "node_modules/npm/node_modules/libnpmfund": { - "version": "4.0.14", + "version": "5.0.0", "dev": true, "inBundle": true, "license": "ISC", "dependencies": { - "@npmcli/arborist": "^6.2.6" + "@npmcli/arborist": "^7.2.0" }, "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + "node": "^16.14.0 || >=18.0.0" } }, "node_modules/npm/node_modules/libnpmhook": { - "version": "9.0.3", + "version": "10.0.0", "dev": true, "inBundle": true, "license": "ISC", "dependencies": { "aproba": "^2.0.0", - "npm-registry-fetch": "^14.0.3" + "npm-registry-fetch": "^16.0.0" }, "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + "node": "^16.14.0 || >=18.0.0" } }, "node_modules/npm/node_modules/libnpmorg": { - "version": "5.0.3", + "version": "6.0.1", "dev": true, "inBundle": true, "license": "ISC", "dependencies": { "aproba": "^2.0.0", - "npm-registry-fetch": "^14.0.3" + "npm-registry-fetch": "^16.0.0" }, "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + "node": "^16.14.0 || >=18.0.0" } }, "node_modules/npm/node_modules/libnpmpack": { - "version": "5.0.14", + "version": "6.0.2", "dev": true, "inBundle": true, "license": "ISC", "dependencies": { - "@npmcli/arborist": "^6.2.6", - "@npmcli/run-script": "^6.0.0", - "npm-package-arg": "^10.1.0", - "pacote": "^15.0.8" + "@npmcli/arborist": "^7.2.0", + "@npmcli/run-script": "^7.0.1", + "npm-package-arg": "^11.0.1", + "pacote": "^17.0.4" }, "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + "node": "^16.14.0 || >=18.0.0" } }, "node_modules/npm/node_modules/libnpmpublish": { - "version": "7.1.3", + "version": "9.0.1", "dev": true, "inBundle": true, "license": "ISC", "dependencies": { "ci-info": "^3.6.1", - "normalize-package-data": "^5.0.0", - "npm-package-arg": "^10.1.0", - "npm-registry-fetch": "^14.0.3", + "normalize-package-data": "^6.0.0", + "npm-package-arg": "^11.0.1", + "npm-registry-fetch": "^16.0.0", "proc-log": "^3.0.0", "semver": "^7.3.7", - "sigstore": "^1.0.0", - "ssri": "^10.0.1" + "sigstore": "^2.1.0", + "ssri": "^10.0.5" }, "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + "node": "^16.14.0 || >=18.0.0" } }, "node_modules/npm/node_modules/libnpmsearch": { - "version": "6.0.2", + "version": "7.0.0", "dev": true, "inBundle": true, "license": "ISC", "dependencies": { - "npm-registry-fetch": "^14.0.3" + "npm-registry-fetch": "^16.0.0" }, "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + "node": "^16.14.0 || >=18.0.0" } }, "node_modules/npm/node_modules/libnpmteam": { - "version": "5.0.3", + "version": "6.0.0", "dev": true, "inBundle": true, "license": "ISC", "dependencies": { "aproba": "^2.0.0", - "npm-registry-fetch": "^14.0.3" + "npm-registry-fetch": "^16.0.0" }, "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + "node": "^16.14.0 || >=18.0.0" } }, "node_modules/npm/node_modules/libnpmversion": { - "version": "4.0.2", + "version": "5.0.0", "dev": true, "inBundle": true, "license": "ISC", "dependencies": { - "@npmcli/git": "^4.0.1", - "@npmcli/run-script": "^6.0.0", + "@npmcli/git": "^5.0.3", + "@npmcli/run-script": "^7.0.1", "json-parse-even-better-errors": "^3.0.0", "proc-log": "^3.0.0", "semver": "^7.3.7" }, "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + "node": "^16.14.0 || >=18.0.0" } }, "node_modules/npm/node_modules/lru-cache": { - "version": "7.18.3", + "version": "10.0.1", "dev": true, "inBundle": true, "license": "ISC", "engines": { - "node": ">=12" + "node": "14 || >=16.14" } }, "node_modules/npm/node_modules/make-fetch-happen": { - "version": "11.0.3", + "version": "13.0.0", "dev": true, "inBundle": true, "license": "ISC", "dependencies": { - "agentkeepalive": "^4.2.1", - "cacache": "^17.0.0", + "@npmcli/agent": "^2.0.0", + "cacache": "^18.0.0", "http-cache-semantics": "^4.1.1", - "http-proxy-agent": "^5.0.0", - "https-proxy-agent": "^5.0.0", "is-lambda": "^1.0.1", - "lru-cache": "^7.7.1", - "minipass": "^4.0.0", + "minipass": "^7.0.2", "minipass-fetch": "^3.0.0", "minipass-flush": "^1.0.5", "minipass-pipeline": "^1.2.4", "negotiator": "^0.6.3", "promise-retry": "^2.0.1", - "socks-proxy-agent": "^7.0.0", "ssri": "^10.0.0" }, "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + "node": "^16.14.0 || >=18.0.0" } }, "node_modules/npm/node_modules/minimatch": { - "version": "7.4.3", + "version": "9.0.3", "dev": true, "inBundle": true, "license": "ISC", @@ -7861,19 +7828,19 @@ "brace-expansion": "^2.0.1" }, "engines": { - "node": ">=10" + "node": ">=16 || 14 >=14.17" }, "funding": { "url": "https://github.com/sponsors/isaacs" } }, "node_modules/npm/node_modules/minipass": { - "version": "4.2.5", + "version": "7.0.4", "dev": true, "inBundle": true, "license": "ISC", "engines": { - "node": ">=8" + "node": ">=16 || 14 >=14.17" } }, "node_modules/npm/node_modules/minipass-collect": { @@ -7901,12 +7868,12 @@ } }, "node_modules/npm/node_modules/minipass-fetch": { - "version": "3.0.1", + "version": "3.0.4", "dev": true, "inBundle": true, "license": "MIT", "dependencies": { - "minipass": "^4.0.0", + "minipass": "^7.0.3", "minipass-sized": "^1.0.3", "minizlib": "^2.1.2" }, @@ -8073,15 +8040,16 @@ } }, "node_modules/npm/node_modules/node-gyp": { - "version": "9.3.1", + "version": "9.4.0", "dev": true, "inBundle": true, "license": "MIT", "dependencies": { "env-paths": "^2.2.0", + "exponential-backoff": "^3.1.1", "glob": "^7.1.4", "graceful-fs": "^4.2.6", - "make-fetch-happen": "^10.0.3", + "make-fetch-happen": "^11.0.3", "nopt": "^6.0.0", "npmlog": "^6.0.0", "rimraf": "^3.0.2", @@ -8096,19 +8064,6 @@ "node": "^12.13 || ^14.13 || >=16" } }, - "node_modules/npm/node_modules/node-gyp/node_modules/@npmcli/fs": { - "version": "2.1.2", - "dev": true, - "inBundle": true, - "license": "ISC", - "dependencies": { - "@gar/promisify": "^1.1.3", - "semver": "^7.3.5" - }, - "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" - } - }, "node_modules/npm/node_modules/node-gyp/node_modules/abbrev": { "version": "1.1.1", "dev": true, @@ -8139,32 +8094,26 @@ } }, "node_modules/npm/node_modules/node-gyp/node_modules/cacache": { - "version": "16.1.3", + "version": "17.1.4", "dev": true, "inBundle": true, "license": "ISC", "dependencies": { - "@npmcli/fs": "^2.1.0", - "@npmcli/move-file": "^2.0.0", - "chownr": "^2.0.0", - "fs-minipass": "^2.1.0", - "glob": "^8.0.1", - "infer-owner": "^1.0.4", + "@npmcli/fs": "^3.1.0", + "fs-minipass": "^3.0.0", + "glob": "^10.2.2", "lru-cache": "^7.7.1", - "minipass": "^3.1.6", + "minipass": "^7.0.3", "minipass-collect": "^1.0.2", "minipass-flush": "^1.0.5", "minipass-pipeline": "^1.2.4", - "mkdirp": "^1.0.4", "p-map": "^4.0.0", - "promise-inflight": "^1.0.1", - "rimraf": "^3.0.2", - "ssri": "^9.0.0", + "ssri": "^10.0.0", "tar": "^6.1.11", - "unique-filename": "^2.0.0" + "unique-filename": "^3.0.0" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, "node_modules/npm/node_modules/node-gyp/node_modules/cacache/node_modules/brace-expansion": { @@ -8177,26 +8126,29 @@ } }, "node_modules/npm/node_modules/node-gyp/node_modules/cacache/node_modules/glob": { - "version": "8.1.0", + "version": "10.3.3", "dev": true, "inBundle": true, "license": "ISC", "dependencies": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^5.0.1", - "once": "^1.3.0" + "foreground-child": "^3.1.0", + "jackspeak": "^2.0.3", + "minimatch": "^9.0.1", + "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0", + "path-scurry": "^1.10.1" + }, + "bin": { + "glob": "dist/cjs/src/bin.js" }, "engines": { - "node": ">=12" + "node": ">=16 || 14 >=14.17" }, "funding": { "url": "https://github.com/sponsors/isaacs" } }, "node_modules/npm/node_modules/node-gyp/node_modules/cacache/node_modules/minimatch": { - "version": "5.1.6", + "version": "9.0.3", "dev": true, "inBundle": true, "license": "ISC", @@ -8204,19 +8156,19 @@ "brace-expansion": "^2.0.1" }, "engines": { - "node": ">=10" + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/npm/node_modules/node-gyp/node_modules/fs-minipass": { - "version": "2.1.0", + "node_modules/npm/node_modules/node-gyp/node_modules/cacache/node_modules/minipass": { + "version": "7.0.3", "dev": true, "inBundle": true, "license": "ISC", - "dependencies": { - "minipass": "^3.0.0" - }, "engines": { - "node": ">= 8" + "node": ">=16 || 14 >=14.17" } }, "node_modules/npm/node_modules/node-gyp/node_modules/gauge": { @@ -8258,31 +8210,39 @@ "url": "https://github.com/sponsors/isaacs" } }, + "node_modules/npm/node_modules/node-gyp/node_modules/lru-cache": { + "version": "7.18.3", + "dev": true, + "inBundle": true, + "license": "ISC", + "engines": { + "node": ">=12" + } + }, "node_modules/npm/node_modules/node-gyp/node_modules/make-fetch-happen": { - "version": "10.2.1", + "version": "11.1.1", "dev": true, "inBundle": true, "license": "ISC", "dependencies": { "agentkeepalive": "^4.2.1", - "cacache": "^16.1.0", - "http-cache-semantics": "^4.1.0", + "cacache": "^17.0.0", + "http-cache-semantics": "^4.1.1", "http-proxy-agent": "^5.0.0", "https-proxy-agent": "^5.0.0", "is-lambda": "^1.0.1", "lru-cache": "^7.7.1", - "minipass": "^3.1.6", - "minipass-collect": "^1.0.2", - "minipass-fetch": "^2.0.3", + "minipass": "^5.0.0", + "minipass-fetch": "^3.0.0", "minipass-flush": "^1.0.5", "minipass-pipeline": "^1.2.4", "negotiator": "^0.6.3", "promise-retry": "^2.0.1", "socks-proxy-agent": "^7.0.0", - "ssri": "^9.0.0" + "ssri": "^10.0.0" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, "node_modules/npm/node_modules/node-gyp/node_modules/minimatch": { @@ -8298,34 +8258,14 @@ } }, "node_modules/npm/node_modules/node-gyp/node_modules/minipass": { - "version": "3.3.6", + "version": "5.0.0", "dev": true, "inBundle": true, "license": "ISC", - "dependencies": { - "yallist": "^4.0.0" - }, "engines": { "node": ">=8" } }, - "node_modules/npm/node_modules/node-gyp/node_modules/minipass-fetch": { - "version": "2.1.2", - "dev": true, - "inBundle": true, - "license": "MIT", - "dependencies": { - "minipass": "^3.1.6", - "minipass-sized": "^1.0.3", - "minizlib": "^2.1.2" - }, - "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" - }, - "optionalDependencies": { - "encoding": "^0.1.13" - } - }, "node_modules/npm/node_modules/node-gyp/node_modules/nopt": { "version": "6.0.0", "dev": true, @@ -8370,41 +8310,11 @@ "node": ">= 6" } }, - "node_modules/npm/node_modules/node-gyp/node_modules/ssri": { - "version": "9.0.1", - "dev": true, - "inBundle": true, - "license": "ISC", - "dependencies": { - "minipass": "^3.1.1" - }, - "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" - } - }, - "node_modules/npm/node_modules/node-gyp/node_modules/unique-filename": { - "version": "2.0.1", - "dev": true, - "inBundle": true, - "license": "ISC", - "dependencies": { - "unique-slug": "^3.0.0" - }, - "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" - } - }, - "node_modules/npm/node_modules/node-gyp/node_modules/unique-slug": { - "version": "3.0.0", + "node_modules/npm/node_modules/node-gyp/node_modules/signal-exit": { + "version": "3.0.7", "dev": true, "inBundle": true, - "license": "ISC", - "dependencies": { - "imurmurhash": "^0.1.4" - }, - "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" - } + "license": "ISC" }, "node_modules/npm/node_modules/node-gyp/node_modules/which": { "version": "2.0.2", @@ -8422,7 +8332,7 @@ } }, "node_modules/npm/node_modules/nopt": { - "version": "7.1.0", + "version": "7.2.0", "dev": true, "inBundle": true, "license": "ISC", @@ -8437,28 +8347,25 @@ } }, "node_modules/npm/node_modules/normalize-package-data": { - "version": "5.0.0", + "version": "6.0.0", "dev": true, "inBundle": true, "license": "BSD-2-Clause", "dependencies": { - "hosted-git-info": "^6.0.0", + "hosted-git-info": "^7.0.0", "is-core-module": "^2.8.1", "semver": "^7.3.5", "validate-npm-package-license": "^3.0.4" }, "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + "node": "^16.14.0 || >=18.0.0" } }, "node_modules/npm/node_modules/npm-audit-report": { - "version": "4.0.0", + "version": "5.0.0", "dev": true, "inBundle": true, "license": "ISC", - "dependencies": { - "chalk": "^4.0.0" - }, "engines": { "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } @@ -8476,7 +8383,7 @@ } }, "node_modules/npm/node_modules/npm-install-checks": { - "version": "6.1.0", + "version": "6.2.0", "dev": true, "inBundle": true, "license": "BSD-2-Clause", @@ -8488,7 +8395,7 @@ } }, "node_modules/npm/node_modules/npm-normalize-package-bin": { - "version": "3.0.0", + "version": "3.0.1", "dev": true, "inBundle": true, "license": "ISC", @@ -8497,22 +8404,22 @@ } }, "node_modules/npm/node_modules/npm-package-arg": { - "version": "10.1.0", + "version": "11.0.1", "dev": true, "inBundle": true, "license": "ISC", "dependencies": { - "hosted-git-info": "^6.0.0", + "hosted-git-info": "^7.0.0", "proc-log": "^3.0.0", "semver": "^7.3.5", "validate-npm-package-name": "^5.0.0" }, "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + "node": "^16.14.0 || >=18.0.0" } }, "node_modules/npm/node_modules/npm-packlist": { - "version": "7.0.4", + "version": "8.0.0", "dev": true, "inBundle": true, "license": "ISC", @@ -8524,49 +8431,49 @@ } }, "node_modules/npm/node_modules/npm-pick-manifest": { - "version": "8.0.1", + "version": "9.0.0", "dev": true, "inBundle": true, "license": "ISC", "dependencies": { "npm-install-checks": "^6.0.0", "npm-normalize-package-bin": "^3.0.0", - "npm-package-arg": "^10.0.0", + "npm-package-arg": "^11.0.0", "semver": "^7.3.5" }, "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + "node": "^16.14.0 || >=18.0.0" } }, "node_modules/npm/node_modules/npm-profile": { - "version": "7.0.1", + "version": "9.0.0", "dev": true, "inBundle": true, "license": "ISC", "dependencies": { - "npm-registry-fetch": "^14.0.0", + "npm-registry-fetch": "^16.0.0", "proc-log": "^3.0.0" }, "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + "node": "^16.14.0 || >=18.0.0" } }, "node_modules/npm/node_modules/npm-registry-fetch": { - "version": "14.0.3", + "version": "16.0.0", "dev": true, "inBundle": true, "license": "ISC", "dependencies": { - "make-fetch-happen": "^11.0.0", - "minipass": "^4.0.0", + "make-fetch-happen": "^13.0.0", + "minipass": "^7.0.2", "minipass-fetch": "^3.0.0", "minipass-json-stream": "^1.0.1", "minizlib": "^2.1.2", - "npm-package-arg": "^10.0.0", + "npm-package-arg": "^11.0.0", "proc-log": "^3.0.0" }, "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + "node": "^16.14.0 || >=18.0.0" } }, "node_modules/npm/node_modules/npm-user-validate": { @@ -8618,27 +8525,27 @@ } }, "node_modules/npm/node_modules/pacote": { - "version": "15.1.1", + "version": "17.0.4", "dev": true, "inBundle": true, "license": "ISC", "dependencies": { - "@npmcli/git": "^4.0.0", + "@npmcli/git": "^5.0.0", "@npmcli/installed-package-contents": "^2.0.1", - "@npmcli/promise-spawn": "^6.0.1", - "@npmcli/run-script": "^6.0.0", - "cacache": "^17.0.0", + "@npmcli/promise-spawn": "^7.0.0", + "@npmcli/run-script": "^7.0.0", + "cacache": "^18.0.0", "fs-minipass": "^3.0.0", - "minipass": "^4.0.0", - "npm-package-arg": "^10.0.0", - "npm-packlist": "^7.0.0", - "npm-pick-manifest": "^8.0.0", - "npm-registry-fetch": "^14.0.0", + "minipass": "^7.0.2", + "npm-package-arg": "^11.0.0", + "npm-packlist": "^8.0.0", + "npm-pick-manifest": "^9.0.0", + "npm-registry-fetch": "^16.0.0", "proc-log": "^3.0.0", "promise-retry": "^2.0.1", - "read-package-json": "^6.0.0", + "read-package-json": "^7.0.0", "read-package-json-fast": "^3.0.0", - "sigstore": "^1.0.0", + "sigstore": "^2.0.0", "ssri": "^10.0.0", "tar": "^6.1.11" }, @@ -8646,7 +8553,7 @@ "pacote": "lib/bin.js" }, "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + "node": "^16.14.0 || >=18.0.0" } }, "node_modules/npm/node_modules/parse-conflict-json": { @@ -8672,24 +8579,33 @@ "node": ">=0.10.0" } }, + "node_modules/npm/node_modules/path-key": { + "version": "3.1.1", + "dev": true, + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, "node_modules/npm/node_modules/path-scurry": { - "version": "1.6.1", + "version": "1.10.1", "dev": true, "inBundle": true, "license": "BlueOak-1.0.0", "dependencies": { - "lru-cache": "^7.14.1", - "minipass": "^4.0.2" + "lru-cache": "^9.1.1 || ^10.0.0", + "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0" }, "engines": { - "node": ">=14" + "node": ">=16 || 14 >=14.17" }, "funding": { "url": "https://github.com/sponsors/isaacs" } }, "node_modules/npm/node_modules/postcss-selector-parser": { - "version": "6.0.11", + "version": "6.0.13", "dev": true, "inBundle": true, "license": "MIT", @@ -8729,7 +8645,7 @@ } }, "node_modules/npm/node_modules/promise-call-limit": { - "version": "1.0.1", + "version": "1.0.2", "dev": true, "inBundle": true, "license": "ISC", @@ -8777,7 +8693,7 @@ } }, "node_modules/npm/node_modules/read": { - "version": "2.0.0", + "version": "2.1.0", "dev": true, "inBundle": true, "license": "ISC", @@ -8798,18 +8714,18 @@ } }, "node_modules/npm/node_modules/read-package-json": { - "version": "6.0.1", + "version": "7.0.0", "dev": true, "inBundle": true, "license": "ISC", "dependencies": { - "glob": "^9.3.0", + "glob": "^10.2.2", "json-parse-even-better-errors": "^3.0.0", - "normalize-package-data": "^5.0.0", + "normalize-package-data": "^6.0.0", "npm-normalize-package-bin": "^3.0.0" }, "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + "node": "^16.14.0 || >=18.0.0" } }, "node_modules/npm/node_modules/read-package-json-fast": { @@ -8826,7 +8742,7 @@ } }, "node_modules/npm/node_modules/readable-stream": { - "version": "4.3.0", + "version": "4.4.0", "dev": true, "inBundle": true, "license": "MIT", @@ -8907,8 +8823,22 @@ } }, "node_modules/npm/node_modules/safe-buffer": { - "version": "5.1.2", + "version": "5.2.1", "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], "inBundle": true, "license": "MIT" }, @@ -8920,7 +8850,7 @@ "optional": true }, "node_modules/npm/node_modules/semver": { - "version": "7.3.8", + "version": "7.5.4", "dev": true, "inBundle": true, "license": "ISC", @@ -8952,27 +8882,52 @@ "inBundle": true, "license": "ISC" }, + "node_modules/npm/node_modules/shebang-command": { + "version": "2.0.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "shebang-regex": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/npm/node_modules/shebang-regex": { + "version": "3.0.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, "node_modules/npm/node_modules/signal-exit": { - "version": "3.0.7", + "version": "4.0.2", "dev": true, "inBundle": true, - "license": "ISC" + "license": "ISC", + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } }, "node_modules/npm/node_modules/sigstore": { - "version": "1.2.0", + "version": "2.1.0", "dev": true, "inBundle": true, "license": "Apache-2.0", "dependencies": { - "@sigstore/protobuf-specs": "^0.1.0", - "make-fetch-happen": "^11.0.1", - "tuf-js": "^1.0.0" - }, - "bin": { - "sigstore": "bin/sigstore.js" + "@sigstore/bundle": "^2.1.0", + "@sigstore/protobuf-specs": "^0.2.1", + "@sigstore/sign": "^2.1.0", + "@sigstore/tuf": "^2.1.0" }, "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + "node": "^16.14.0 || >=18.0.0" } }, "node_modules/npm/node_modules/smart-buffer": { @@ -9046,24 +9001,24 @@ "license": "CC0-1.0" }, "node_modules/npm/node_modules/ssri": { - "version": "10.0.1", + "version": "10.0.5", "dev": true, "inBundle": true, "license": "ISC", "dependencies": { - "minipass": "^4.0.0" + "minipass": "^7.0.3" }, "engines": { "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, "node_modules/npm/node_modules/string_decoder": { - "version": "1.1.1", + "version": "1.3.0", "dev": true, "inBundle": true, "license": "MIT", "dependencies": { - "safe-buffer": "~5.1.0" + "safe-buffer": "~5.2.0" } }, "node_modules/npm/node_modules/string-width": { @@ -9080,39 +9035,67 @@ "node": ">=8" } }, - "node_modules/npm/node_modules/strip-ansi": { - "version": "6.0.1", + "node_modules/npm/node_modules/string-width-cjs": { + "name": "string-width", + "version": "4.2.3", "dev": true, "inBundle": true, "license": "MIT", "dependencies": { - "ansi-regex": "^5.0.1" + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" }, "engines": { "node": ">=8" } }, - "node_modules/npm/node_modules/supports-color": { - "version": "7.2.0", + "node_modules/npm/node_modules/strip-ansi": { + "version": "6.0.1", "dev": true, "inBundle": true, "license": "MIT", "dependencies": { - "has-flag": "^4.0.0" + "ansi-regex": "^5.0.1" }, "engines": { "node": ">=8" } }, - "node_modules/npm/node_modules/tar": { - "version": "6.1.13", + "node_modules/npm/node_modules/strip-ansi-cjs": { + "name": "strip-ansi", + "version": "6.0.1", "dev": true, "inBundle": true, - "license": "ISC", + "license": "MIT", "dependencies": { - "chownr": "^2.0.0", - "fs-minipass": "^2.0.0", - "minipass": "^4.0.0", + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/npm/node_modules/supports-color": { + "version": "9.4.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/supports-color?sponsor=1" + } + }, + "node_modules/npm/node_modules/tar": { + "version": "6.2.0", + "dev": true, + "inBundle": true, + "license": "ISC", + "dependencies": { + "chownr": "^2.0.0", + "fs-minipass": "^2.0.0", + "minipass": "^5.0.0", "minizlib": "^2.1.1", "mkdirp": "^1.0.3", "yallist": "^4.0.0" @@ -9145,6 +9128,15 @@ "node": ">=8" } }, + "node_modules/npm/node_modules/tar/node_modules/minipass": { + "version": "5.0.0", + "dev": true, + "inBundle": true, + "license": "ISC", + "engines": { + "node": ">=8" + } + }, "node_modules/npm/node_modules/text-table": { "version": "0.2.0", "dev": true, @@ -9167,16 +9159,17 @@ } }, "node_modules/npm/node_modules/tuf-js": { - "version": "1.1.2", + "version": "2.1.0", "dev": true, "inBundle": true, "license": "MIT", "dependencies": { - "@tufjs/models": "1.0.1", - "make-fetch-happen": "^11.0.1" + "@tufjs/models": "2.0.0", + "debug": "^4.3.4", + "make-fetch-happen": "^13.0.0" }, "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + "node": "^16.14.0 || >=18.0.0" } }, "node_modules/npm/node_modules/unique-filename": { @@ -9232,7 +9225,7 @@ } }, "node_modules/npm/node_modules/walk-up-path": { - "version": "1.0.0", + "version": "3.0.1", "dev": true, "inBundle": true, "license": "ISC" @@ -9247,18 +9240,27 @@ } }, "node_modules/npm/node_modules/which": { - "version": "3.0.0", + "version": "4.0.0", "dev": true, "inBundle": true, "license": "ISC", "dependencies": { - "isexe": "^2.0.0" + "isexe": "^3.1.1" }, "bin": { "node-which": "bin/which.js" }, "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + "node": "^16.13.0 || >=18.0.0" + } + }, + "node_modules/npm/node_modules/which/node_modules/isexe": { + "version": "3.1.1", + "dev": true, + "inBundle": true, + "license": "ISC", + "engines": { + "node": ">=16" } }, "node_modules/npm/node_modules/wide-align": { @@ -9270,6 +9272,103 @@ "string-width": "^1.0.2 || 2 || 3 || 4" } }, + "node_modules/npm/node_modules/wrap-ansi": { + "version": "8.1.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^6.1.0", + "string-width": "^5.0.1", + "strip-ansi": "^7.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "node_modules/npm/node_modules/wrap-ansi-cjs": { + "name": "wrap-ansi", + "version": "7.0.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "node_modules/npm/node_modules/wrap-ansi/node_modules/ansi-regex": { + "version": "6.0.1", + "dev": true, + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-regex?sponsor=1" + } + }, + "node_modules/npm/node_modules/wrap-ansi/node_modules/ansi-styles": { + "version": "6.2.1", + "dev": true, + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/npm/node_modules/wrap-ansi/node_modules/emoji-regex": { + "version": "9.2.2", + "dev": true, + "inBundle": true, + "license": "MIT" + }, + "node_modules/npm/node_modules/wrap-ansi/node_modules/string-width": { + "version": "5.1.2", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "eastasianwidth": "^0.2.0", + "emoji-regex": "^9.2.2", + "strip-ansi": "^7.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/npm/node_modules/wrap-ansi/node_modules/strip-ansi": { + "version": "7.1.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "ansi-regex": "^6.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/strip-ansi?sponsor=1" + } + }, "node_modules/npm/node_modules/wrappy": { "version": "1.0.2", "dev": true, @@ -9277,13 +9376,13 @@ "license": "ISC" }, "node_modules/npm/node_modules/write-file-atomic": { - "version": "5.0.0", + "version": "5.0.1", "dev": true, "inBundle": true, "license": "ISC", "dependencies": { "imurmurhash": "^0.1.4", - "signal-exit": "^3.0.7" + "signal-exit": "^4.0.1" }, "engines": { "node": "^14.17.0 || ^16.13.0 || >=18.0.0" @@ -10151,16 +10250,6 @@ "node": ">=6" } }, - "node_modules/q": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/q/-/q-1.5.1.tgz", - "integrity": "sha1-fjL3W0E4EpHQRhHxvxQQmsAGUdc=", - "dev": true, - "engines": { - "node": ">=0.6.0", - "teleport": ">=0.2.0" - } - }, "node_modules/qs": { "version": "6.11.0", "resolved": "https://registry.npmjs.org/qs/-/qs-6.11.0.tgz", @@ -10205,15 +10294,6 @@ "tslib": "^2.5.0" } }, - "node_modules/quick-lru": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/quick-lru/-/quick-lru-4.0.1.tgz", - "integrity": "sha512-ARhCpm70fzdcvNQfPoy49IaanKkTlRWF2JMzqhcJbhSFRZv7nPTvZJdcY7301IPmvW+/p0RgIWnQDLJxifsQ7g==", - "dev": true, - "engines": { - "node": ">=8" - } - }, "node_modules/randombytes": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", @@ -10334,81 +10414,181 @@ } }, "node_modules/read-pkg-up": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-7.0.1.tgz", - "integrity": "sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg==", + "version": "10.1.0", + "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-10.1.0.tgz", + "integrity": "sha512-aNtBq4jR8NawpKJQldrQcSW9y/d+KWH4v24HWkHljOZ7H0av+YTGANBzRh9A5pw7v/bLVsLVPpOhJ7gHNVy8lA==", "dev": true, "dependencies": { - "find-up": "^4.1.0", - "read-pkg": "^5.2.0", - "type-fest": "^0.8.1" + "find-up": "^6.3.0", + "read-pkg": "^8.1.0", + "type-fest": "^4.2.0" }, "engines": { - "node": ">=8" + "node": ">=16" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/read-pkg-up/node_modules/find-up": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", - "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-6.3.0.tgz", + "integrity": "sha512-v2ZsoEuVHYy8ZIlYqwPe/39Cy+cFDzp4dXPaxNvkEuouymu+2Jbz0PxpKarJHYJTmv2HWT3O382qY8l4jMWthw==", "dev": true, "dependencies": { - "locate-path": "^5.0.0", - "path-exists": "^4.0.0" + "locate-path": "^7.1.0", + "path-exists": "^5.0.0" }, "engines": { - "node": ">=8" + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/read-pkg-up/node_modules/json-parse-even-better-errors": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-3.0.0.tgz", + "integrity": "sha512-iZbGHafX/59r39gPwVPRBGw0QQKnA7tte5pSMrhWOW7swGsVvVTjmfyAV9pNqk8YGT7tRCdxRu8uzcgZwoDooA==", + "dev": true, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/read-pkg-up/node_modules/lines-and-columns": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-2.0.3.tgz", + "integrity": "sha512-cNOjgCnLB+FnvWWtyRTzmB3POJ+cXxTA81LoW7u8JdmhfXzriropYwpjShnz1QLLWsQwY7nIxoDmcPTwphDK9w==", + "dev": true, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" } }, "node_modules/read-pkg-up/node_modules/locate-path": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", - "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-7.2.0.tgz", + "integrity": "sha512-gvVijfZvn7R+2qyPX8mAuKcFGDf6Nc61GdvGafQsHL0sBIxfKzA+usWn4GFC/bk+QdwPUD4kWFJLhElipq+0VA==", "dev": true, "dependencies": { - "p-locate": "^4.1.0" + "p-locate": "^6.0.0" }, "engines": { - "node": ">=8" + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/read-pkg-up/node_modules/p-limit": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", - "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-4.0.0.tgz", + "integrity": "sha512-5b0R4txpzjPWVw/cXXUResoD4hb6U/x9BH08L7nw+GN1sezDzPdxeRvpc9c433fZhBan/wusjbCsqwqm4EIBIQ==", "dev": true, "dependencies": { - "p-try": "^2.0.0" + "yocto-queue": "^1.0.0" }, "engines": { - "node": ">=6" + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/read-pkg-up/node_modules/p-locate": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", - "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-6.0.0.tgz", + "integrity": "sha512-wPrq66Llhl7/4AGC6I+cqxT07LhXvWL08LNXz1fENOw0Ap4sRZZ/gZpTTJ5jpurzzzfS2W/Ge9BY3LgLjCShcw==", "dev": true, "dependencies": { - "p-limit": "^2.2.0" + "p-limit": "^4.0.0" }, "engines": { - "node": ">=8" + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/read-pkg-up/node_modules/parse-json": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-7.1.0.tgz", + "integrity": "sha512-ihtdrgbqdONYD156Ap6qTcaGcGdkdAxodO1wLqQ/j7HP1u2sFYppINiq4jyC8F+Nm+4fVufylCV00QmkTHkSUg==", + "dev": true, + "dependencies": { + "@babel/code-frame": "^7.21.4", + "error-ex": "^1.3.2", + "json-parse-even-better-errors": "^3.0.0", + "lines-and-columns": "^2.0.3", + "type-fest": "^3.8.0" + }, + "engines": { + "node": ">=16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/read-pkg-up/node_modules/parse-json/node_modules/type-fest": { + "version": "3.13.1", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-3.13.1.tgz", + "integrity": "sha512-tLq3bSNx+xSpwvAJnzrK0Ep5CLNWjvFTOp71URMaAEWBfRb9nnJiBoUe0tF8bI4ZFO3omgBR6NvnbzVUT3Ly4g==", + "dev": true, + "engines": { + "node": ">=14.16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/read-pkg-up/node_modules/path-exists": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-5.0.0.tgz", + "integrity": "sha512-RjhtfwJOxzcFmNOi6ltcbcu4Iu+FL3zEj83dk4kAS+fVpTxXLO1b38RvJgT/0QwvV/L3aY9TAnyv0EOqW4GoMQ==", + "dev": true, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + } + }, + "node_modules/read-pkg-up/node_modules/read-pkg": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-8.1.0.tgz", + "integrity": "sha512-PORM8AgzXeskHO/WEv312k9U03B8K9JSiWF/8N9sUuFjBa+9SF2u6K7VClzXwDXab51jCd8Nd36CNM+zR97ScQ==", + "dev": true, + "dependencies": { + "@types/normalize-package-data": "^2.4.1", + "normalize-package-data": "^6.0.0", + "parse-json": "^7.0.0", + "type-fest": "^4.2.0" + }, + "engines": { + "node": ">=16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/read-pkg-up/node_modules/type-fest": { - "version": "0.8.1", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz", - "integrity": "sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==", + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-4.4.0.tgz", + "integrity": "sha512-HT3RRs7sTfY22KuPQJkD/XjbTbxgP2Je5HPt6H6JEGvcjHd5Lqru75EbrP3tb4FYjNJ+DjLp+MNQTFQU0mhXNw==", "dev": true, "engines": { - "node": ">=8" + "node": ">=16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/read-pkg-up/node_modules/yocto-queue": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-1.0.0.tgz", + "integrity": "sha512-9bnSc/HEW2uRy67wc+T8UwauLuPJVn28jb+GtJY16iiKWyvmYJRXVT4UamsAEGQfPohgr2q4Tq0sQbQlxTfi1g==", + "dev": true, + "engines": { + "node": ">=12.20" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/read-pkg/node_modules/hosted-git-info": { @@ -10486,19 +10666,6 @@ "node": ">=8.10.0" } }, - "node_modules/redent": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/redent/-/redent-3.0.0.tgz", - "integrity": "sha512-6tDA8g98We0zd0GvVeMT9arEOnTw9qM03L9cJXaCjrip1OO764RDBLBfrB4cwzNGDj5OA5ioymC9GkizgWJDUg==", - "dev": true, - "dependencies": { - "indent-string": "^4.0.0", - "strip-indent": "^3.0.0" - }, - "engines": { - "node": ">=8" - } - }, "node_modules/redeyed": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/redeyed/-/redeyed-2.1.1.tgz", @@ -10649,20 +10816,20 @@ "dev": true }, "node_modules/semantic-release": { - "version": "21.1.2", - "resolved": "https://registry.npmjs.org/semantic-release/-/semantic-release-21.1.2.tgz", - "integrity": "sha512-kz76azHrT8+VEkQjoCBHE06JNQgTgsC4bT8XfCzb7DHcsk9vG3fqeMVik8h5rcWCYi2Fd+M3bwA7BG8Z8cRwtA==", + "version": "22.0.5", + "resolved": "https://registry.npmjs.org/semantic-release/-/semantic-release-22.0.5.tgz", + "integrity": "sha512-ESCEQsZlBj1DWMA84RthaJzQHHnihoGk49s9nUxHfRNUNZelLE9JZrE94bHO2Y00EWb7iwrzr1OYhv5QNVmf8A==", "dev": true, "dependencies": { - "@semantic-release/commit-analyzer": "^10.0.0", + "@semantic-release/commit-analyzer": "^11.0.0", "@semantic-release/error": "^4.0.0", "@semantic-release/github": "^9.0.0", - "@semantic-release/npm": "^10.0.2", - "@semantic-release/release-notes-generator": "^11.0.0", + "@semantic-release/npm": "^11.0.0", + "@semantic-release/release-notes-generator": "^12.0.0", "aggregate-error": "^5.0.0", "cosmiconfig": "^8.0.0", "debug": "^4.0.0", - "env-ci": "^9.0.0", + "env-ci": "^10.0.0", "execa": "^8.0.0", "figures": "^5.0.0", "find-versions": "^5.1.0", @@ -10671,8 +10838,8 @@ "hook-std": "^3.0.0", "hosted-git-info": "^7.0.0", "lodash-es": "^4.17.21", - "marked": "^5.0.0", - "marked-terminal": "^5.1.1", + "marked": "^9.0.0", + "marked-terminal": "^6.0.0", "micromatch": "^4.0.2", "p-each-series": "^3.0.0", "p-reduce": "^3.0.0", @@ -10687,7 +10854,7 @@ "semantic-release": "bin/semantic-release.js" }, "engines": { - "node": ">=18" + "node": "^18.17 || >=20.6.1" } }, "node_modules/semantic-release-license": { @@ -10788,34 +10955,6 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/semantic-release/node_modules/find-up": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-6.3.0.tgz", - "integrity": "sha512-v2ZsoEuVHYy8ZIlYqwPe/39Cy+cFDzp4dXPaxNvkEuouymu+2Jbz0PxpKarJHYJTmv2HWT3O382qY8l4jMWthw==", - "dev": true, - "dependencies": { - "locate-path": "^7.1.0", - "path-exists": "^5.0.0" - }, - "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/semantic-release/node_modules/hosted-git-info": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-7.0.0.tgz", - "integrity": "sha512-ICclEpTLhHj+zCuSb2/usoNXSVkxUSIopre+b1w8NDY9Dntp9LO4vLdHYI336TH8sAqwrRgnSfdkBG2/YpisHA==", - "dev": true, - "dependencies": { - "lru-cache": "^10.0.1" - }, - "engines": { - "node": "^16.14.0 || >=18.0.0" - } - }, "node_modules/semantic-release/node_modules/human-signals": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-5.0.0.tgz", @@ -10849,58 +10988,16 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/semantic-release/node_modules/json-parse-even-better-errors": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-3.0.0.tgz", - "integrity": "sha512-iZbGHafX/59r39gPwVPRBGw0QQKnA7tte5pSMrhWOW7swGsVvVTjmfyAV9pNqk8YGT7tRCdxRu8uzcgZwoDooA==", - "dev": true, - "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" - } - }, - "node_modules/semantic-release/node_modules/lines-and-columns": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-2.0.3.tgz", - "integrity": "sha512-cNOjgCnLB+FnvWWtyRTzmB3POJ+cXxTA81LoW7u8JdmhfXzriropYwpjShnz1QLLWsQwY7nIxoDmcPTwphDK9w==", - "dev": true, - "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" - } - }, - "node_modules/semantic-release/node_modules/locate-path": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-7.2.0.tgz", - "integrity": "sha512-gvVijfZvn7R+2qyPX8mAuKcFGDf6Nc61GdvGafQsHL0sBIxfKzA+usWn4GFC/bk+QdwPUD4kWFJLhElipq+0VA==", - "dev": true, - "dependencies": { - "p-locate": "^6.0.0" - }, - "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/semantic-release/node_modules/lru-cache": { - "version": "10.0.1", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.0.1.tgz", - "integrity": "sha512-IJ4uwUTi2qCccrioU6g9g/5rvvVl13bsdczUUcqbciD9iLr095yj8DQKdObriEvuNSx325N1rV1O0sJFszx75g==", - "dev": true, - "engines": { - "node": "14 || >=16.14" - } - }, "node_modules/semantic-release/node_modules/marked": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/marked/-/marked-5.1.0.tgz", - "integrity": "sha512-z3/nBe7aTI8JDszlYLk7dDVNpngjw0o1ZJtrA9kIfkkHcIF+xH7mO23aISl4WxP83elU+MFROgahqdpd05lMEQ==", + "version": "9.1.2", + "resolved": "https://registry.npmjs.org/marked/-/marked-9.1.2.tgz", + "integrity": "sha512-qoKMJqK0w6vkLk8+KnKZAH6neUZSNaQqVZ/h2yZ9S7CbLuFHyS2viB0jnqcWF9UKjwsAbMrQtnQhdmdvOVOw9w==", "dev": true, "bin": { "marked": "bin/marked.js" }, "engines": { - "node": ">= 18" + "node": ">= 16" } }, "node_modules/semantic-release/node_modules/mimic-fn": { @@ -10915,147 +11012,29 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/semantic-release/node_modules/normalize-package-data": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-5.0.0.tgz", - "integrity": "sha512-h9iPVIfrVZ9wVYQnxFgtw1ugSvGEMOlyPWWtm8BMJhnwyEL/FLbYbTY3V3PpjI/BUK67n9PEWDu6eHzu1fB15Q==", - "dev": true, - "dependencies": { - "hosted-git-info": "^6.0.0", - "is-core-module": "^2.8.1", - "semver": "^7.3.5", - "validate-npm-package-license": "^3.0.4" - }, - "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" - } - }, - "node_modules/semantic-release/node_modules/normalize-package-data/node_modules/hosted-git-info": { - "version": "6.1.1", - "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-6.1.1.tgz", - "integrity": "sha512-r0EI+HBMcXadMrugk0GCQ+6BQV39PiWAZVfq7oIckeGiN7sjRGyQxPdft3nQekFTCQbYxLBH+/axZMeH8UX6+w==", - "dev": true, - "dependencies": { - "lru-cache": "^7.5.1" - }, - "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" - } - }, - "node_modules/semantic-release/node_modules/normalize-package-data/node_modules/lru-cache": { - "version": "7.18.3", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-7.18.3.tgz", - "integrity": "sha512-jumlc0BIUrS3qJGgIkWZsyfAM7NCWiBcCDhnd+3NNM5KbBmLTgHVfWBcg6W+rLUsIpzpERPsvwUP7CckAQSOoA==", - "dev": true, - "engines": { - "node": ">=12" - } - }, - "node_modules/semantic-release/node_modules/npm-run-path": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-5.1.0.tgz", - "integrity": "sha512-sJOdmRGrY2sjNTRMbSvluQqg+8X7ZK61yvzBEIDhz4f8z1TZFYABsqjjCBd/0PUNE9M6QDgHJXQkGUEm7Q+l9Q==", - "dev": true, - "dependencies": { - "path-key": "^4.0.0" - }, - "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/semantic-release/node_modules/onetime": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/onetime/-/onetime-6.0.0.tgz", - "integrity": "sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ==", - "dev": true, - "dependencies": { - "mimic-fn": "^4.0.0" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/semantic-release/node_modules/p-limit": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-4.0.0.tgz", - "integrity": "sha512-5b0R4txpzjPWVw/cXXUResoD4hb6U/x9BH08L7nw+GN1sezDzPdxeRvpc9c433fZhBan/wusjbCsqwqm4EIBIQ==", - "dev": true, - "dependencies": { - "yocto-queue": "^1.0.0" - }, - "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/semantic-release/node_modules/p-locate": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-6.0.0.tgz", - "integrity": "sha512-wPrq66Llhl7/4AGC6I+cqxT07LhXvWL08LNXz1fENOw0Ap4sRZZ/gZpTTJ5jpurzzzfS2W/Ge9BY3LgLjCShcw==", - "dev": true, - "dependencies": { - "p-limit": "^4.0.0" - }, - "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/semantic-release/node_modules/p-reduce": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/p-reduce/-/p-reduce-3.0.0.tgz", - "integrity": "sha512-xsrIUgI0Kn6iyDYm9StOpOeK29XM1aboGji26+QEortiFST1hGZaUQOLhtEbqHErPpGW/aSz6allwK2qcptp0Q==", - "dev": true, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/semantic-release/node_modules/parse-json": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-7.0.0.tgz", - "integrity": "sha512-kP+TQYAzAiVnzOlWOe0diD6L35s9bJh0SCn95PIbZFKrOYuIRQsQkeWEYxzVDuHTt9V9YqvYCJ2Qo4z9wdfZPw==", - "dev": true, - "dependencies": { - "@babel/code-frame": "^7.21.4", - "error-ex": "^1.3.2", - "json-parse-even-better-errors": "^3.0.0", - "lines-and-columns": "^2.0.3", - "type-fest": "^3.8.0" - }, - "engines": { - "node": ">=16" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/semantic-release/node_modules/path-exists": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-5.0.0.tgz", - "integrity": "sha512-RjhtfwJOxzcFmNOi6ltcbcu4Iu+FL3zEj83dk4kAS+fVpTxXLO1b38RvJgT/0QwvV/L3aY9TAnyv0EOqW4GoMQ==", + "node_modules/semantic-release/node_modules/npm-run-path": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-5.1.0.tgz", + "integrity": "sha512-sJOdmRGrY2sjNTRMbSvluQqg+8X7ZK61yvzBEIDhz4f8z1TZFYABsqjjCBd/0PUNE9M6QDgHJXQkGUEm7Q+l9Q==", "dev": true, + "dependencies": { + "path-key": "^4.0.0" + }, "engines": { "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/semantic-release/node_modules/path-key": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-4.0.0.tgz", - "integrity": "sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ==", + "node_modules/semantic-release/node_modules/onetime": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-6.0.0.tgz", + "integrity": "sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ==", "dev": true, + "dependencies": { + "mimic-fn": "^4.0.0" + }, "engines": { "node": ">=12" }, @@ -11063,36 +11042,25 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/semantic-release/node_modules/read-pkg": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-8.0.0.tgz", - "integrity": "sha512-Ajb9oSjxXBw0YyOiwtQ2dKbAA/vMnUPnY63XcCk+mXo0BwIdQEMgZLZiMWGttQHcUhUgbK0mH85ethMPKXxziw==", + "node_modules/semantic-release/node_modules/p-reduce": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/p-reduce/-/p-reduce-3.0.0.tgz", + "integrity": "sha512-xsrIUgI0Kn6iyDYm9StOpOeK29XM1aboGji26+QEortiFST1hGZaUQOLhtEbqHErPpGW/aSz6allwK2qcptp0Q==", "dev": true, - "dependencies": { - "@types/normalize-package-data": "^2.4.1", - "normalize-package-data": "^5.0.0", - "parse-json": "^7.0.0", - "type-fest": "^3.8.0" - }, "engines": { - "node": ">=16" + "node": ">=12" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/semantic-release/node_modules/read-pkg-up": { - "version": "10.0.0", - "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-10.0.0.tgz", - "integrity": "sha512-jgmKiS//w2Zs+YbX039CorlkOp8FIVbSAN8r8GJHDsGlmNPXo+VeHkqAwCiQVTTx5/LwLZTcEw59z3DvcLbr0g==", + "node_modules/semantic-release/node_modules/path-key": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-4.0.0.tgz", + "integrity": "sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ==", "dev": true, - "dependencies": { - "find-up": "^6.3.0", - "read-pkg": "^8.0.0", - "type-fest": "^3.12.0" - }, "engines": { - "node": ">=16" + "node": ">=12" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" @@ -11131,18 +11099,6 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/semantic-release/node_modules/type-fest": { - "version": "3.13.0", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-3.13.0.tgz", - "integrity": "sha512-Gur3yQGM9qiLNs0KPP7LPgeRbio2QTt4xXouobMCarR0/wyW3F+F/+OWwshg3NG0Adon7uQfSZBpB46NfhoF1A==", - "dev": true, - "engines": { - "node": ">=14.16" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/semantic-release/node_modules/yargs": { "version": "17.6.2", "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.6.2.tgz", @@ -11170,18 +11126,6 @@ "node": ">=12" } }, - "node_modules/semantic-release/node_modules/yocto-queue": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-1.0.0.tgz", - "integrity": "sha512-9bnSc/HEW2uRy67wc+T8UwauLuPJVn28jb+GtJY16iiKWyvmYJRXVT4UamsAEGQfPohgr2q4Tq0sQbQlxTfi1g==", - "dev": true, - "engines": { - "node": ">=12.20" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/semver": { "version": "7.5.4", "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", @@ -11389,6 +11333,18 @@ "node": ">=4" } }, + "node_modules/skin-tone": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/skin-tone/-/skin-tone-2.0.0.tgz", + "integrity": "sha512-kUMbT1oBJCpgrnKoSr0o6wPtvRWT9W9UKvGLwfJYO2WuahZRHOpEyL1ckyMGgMWh0UdpmaoFqKKD29WTomNEGA==", + "dev": true, + "dependencies": { + "unicode-emoji-modifier-base": "^1.0.0" + }, + "engines": { + "node": ">=8" + } + }, "node_modules/slash": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", @@ -11509,39 +11465,13 @@ "spdx-ranges": "^2.0.0" } }, - "node_modules/split": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/split/-/split-1.0.1.tgz", - "integrity": "sha512-mTyOoPbrivtXnwnIxZRFYRrPNtEFKlpB2fvjSnCQUiAA6qAZzqwna5envK4uk6OIeP17CsdF3rSBGYVBsU0Tkg==", - "dev": true, - "dependencies": { - "through": "2" - }, - "engines": { - "node": "*" - } - }, "node_modules/split2": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/split2/-/split2-3.2.2.tgz", - "integrity": "sha512-9NThjpgZnifTkJpzTZ7Eue85S49QwpNhZTq6GRJwObb6jnLFNGB7Qm73V5HewTROPyxD0C29xqmaI68bQtV+hg==", - "dev": true, - "dependencies": { - "readable-stream": "^3.0.0" - } - }, - "node_modules/split2/node_modules/readable-stream": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", - "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/split2/-/split2-4.2.0.tgz", + "integrity": "sha512-UcjcJOWknrNkF6PLX83qcHM6KHgVKNkV62Y8a5uYDVv9ydGQVwAHMKqHdJje1VTWpljG0WYpCDhrCdAOYH4TWg==", "dev": true, - "dependencies": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - }, "engines": { - "node": ">= 6" + "node": ">= 10.x" } }, "node_modules/sprintf-js": { @@ -11613,18 +11543,6 @@ "node": ">=6" } }, - "node_modules/strip-indent": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-3.0.0.tgz", - "integrity": "sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ==", - "dev": true, - "dependencies": { - "min-indent": "^1.0.0" - }, - "engines": { - "node": ">=8" - } - }, "node_modules/strip-json-comments": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", @@ -11721,16 +11639,16 @@ } }, "node_modules/supports-hyperlinks": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/supports-hyperlinks/-/supports-hyperlinks-2.3.0.tgz", - "integrity": "sha512-RpsAZlpWcDwOPQA22aCH4J0t7L8JmAvsCxfOSEwm7cQs3LshN36QaTkwd70DnBOXDWGssw2eUoc8CaRWT0XunA==", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/supports-hyperlinks/-/supports-hyperlinks-3.0.0.tgz", + "integrity": "sha512-QBDPHyPQDRTy9ku4URNGY5Lah8PAaXs6tAAwp55sL5WCsSW7GIfdf6W5ixfziW+t7wh3GVvHyHHyQ1ESsoRvaA==", "dev": true, "dependencies": { "has-flag": "^4.0.0", "supports-color": "^7.0.0" }, "engines": { - "node": ">=8" + "node": ">=14.18" } }, "node_modules/tcomb": { @@ -11814,12 +11732,15 @@ } }, "node_modules/text-extensions": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/text-extensions/-/text-extensions-1.9.0.tgz", - "integrity": "sha512-wiBrwC1EhBelW12Zy26JeOUkQ5mRu+5o8rpsJk5+2t+Y5vE7e842qtZDQ2g1NpX/29HdyFeJ4nSIhI47ENSxlQ==", + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/text-extensions/-/text-extensions-2.4.0.tgz", + "integrity": "sha512-te/NtwBwfiNRLf9Ijqx3T0nlqZiQ2XrrtBvu+cLL8ZRrGkO0NHTug8MYFKyoSrv/sHTaSKfilUkizV6XhxMJ3g==", "dev": true, "engines": { - "node": ">=0.10" + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/text-table": { @@ -11880,32 +11801,9 @@ "node_modules/through": { "version": "2.3.8", "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", - "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=", + "integrity": "sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==", "dev": true }, - "node_modules/through2": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/through2/-/through2-4.0.2.tgz", - "integrity": "sha512-iOqSav00cVxEEICeD7TjLB1sueEL+81Wpzp2bY17uZjZN0pWZPuo4suZ/61VujxmqSGFfgOcNuTZ85QJwNZQpw==", - "dev": true, - "dependencies": { - "readable-stream": "3" - } - }, - "node_modules/through2/node_modules/readable-stream": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", - "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", - "dev": true, - "dependencies": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - }, - "engines": { - "node": ">= 6" - } - }, "node_modules/to-fast-properties": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", @@ -11960,15 +11858,6 @@ "node": ">=0.6" } }, - "node_modules/trim-newlines": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/trim-newlines/-/trim-newlines-3.0.1.tgz", - "integrity": "sha512-c1PTsA3tYrIsLGkJkzHF+w9F2EyxfXGo4UyJc4pFL++FMjnq0HJS69T3M7d//gKrFKwy429bouPescbjecU+Zw==", - "dev": true, - "engines": { - "node": ">=8" - } - }, "node_modules/trim-repeated": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/trim-repeated/-/trim-repeated-1.0.0.tgz", @@ -12172,9 +12061,9 @@ } }, "node_modules/typedoc": { - "version": "0.25.1", - "resolved": "https://registry.npmjs.org/typedoc/-/typedoc-0.25.1.tgz", - "integrity": "sha512-c2ye3YUtGIadxN2O6YwPEXgrZcvhlZ6HlhWZ8jQRNzwLPn2ylhdGqdR8HbyDRyALP8J6lmSANILCkkIdNPFxqA==", + "version": "0.25.2", + "resolved": "https://registry.npmjs.org/typedoc/-/typedoc-0.25.2.tgz", + "integrity": "sha512-286F7BeATBiWe/qC4PCOCKlSTwfnsLbC/4cZ68oGBbvAqb9vV33quEOXx7q176OXotD+JdEerdQ1OZGJ818lnA==", "dev": true, "dependencies": { "lunr": "^2.3.9", @@ -12242,6 +12131,15 @@ "node": ">=0.8.0" } }, + "node_modules/unicode-emoji-modifier-base": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/unicode-emoji-modifier-base/-/unicode-emoji-modifier-base-1.0.0.tgz", + "integrity": "sha512-yLSH4py7oFH3oG/9K+XWrz1pSi3dfUrWEnInbxMfArOfc1+33BlGPQtLsOYwvdMy11AwUBetYuaRxSPqgkq+8g==", + "dev": true, + "engines": { + "node": ">=4" + } + }, "node_modules/unique-string": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/unique-string/-/unique-string-3.0.0.tgz", @@ -13162,9 +13060,9 @@ } }, "@eslint/js": { - "version": "8.49.0", - "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.49.0.tgz", - "integrity": "sha512-1S8uAY/MTJqVx0SC4epBq+N2yhuwtNwLbJYNZyhL2pO1ZVKn5HFXav5T41Ryzy9K9V7ZId2JB2oy/W4aCd9/2w==", + "version": "8.51.0", + "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.51.0.tgz", + "integrity": "sha512-HxjQ8Qn+4SI3/AFv6sOrDB+g6PpUTDwSJiQqOrnneEk8L71161srI9gjzzZvYVbzHiVg/BvcH95+cK/zfIt4pg==", "dev": true }, "@humanwhocodes/config-array": { @@ -13522,51 +13420,18 @@ } }, "@semantic-release/commit-analyzer": { - "version": "10.0.1", - "resolved": "https://registry.npmjs.org/@semantic-release/commit-analyzer/-/commit-analyzer-10.0.1.tgz", - "integrity": "sha512-9ejHzTAijYs9z246sY/dKBatmOPcd0GQ7lH4MgLCkv1q4GCiDZRkjHJkaQZXZVaK7mJybS+sH3Ng6G8i3pYMGQ==", + "version": "11.0.0", + "resolved": "https://registry.npmjs.org/@semantic-release/commit-analyzer/-/commit-analyzer-11.0.0.tgz", + "integrity": "sha512-uEXyf4Z0AWJuxI9TbSQP5kkIYqus1/E1NcmE7pIv6d6/m/5EJcNWAGR4FOo34vrV26FhEaRVkxFfYzp/M7BKIg==", "dev": true, "requires": { - "conventional-changelog-angular": "^6.0.0", - "conventional-commits-filter": "^3.0.0", - "conventional-commits-parser": "^4.0.0", + "conventional-changelog-angular": "^7.0.0", + "conventional-commits-filter": "^4.0.0", + "conventional-commits-parser": "^5.0.0", "debug": "^4.0.0", "import-from": "^4.0.0", "lodash-es": "^4.17.21", "micromatch": "^4.0.2" - }, - "dependencies": { - "conventional-changelog-angular": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/conventional-changelog-angular/-/conventional-changelog-angular-6.0.0.tgz", - "integrity": "sha512-6qLgrBF4gueoC7AFVHu51nHL9pF9FRjXrH+ceVf7WmAfH3gs+gEYOkvxhjMPjZu57I4AGUGoNTY8V7Hrgf1uqg==", - "dev": true, - "requires": { - "compare-func": "^2.0.0" - } - }, - "conventional-commits-filter": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/conventional-commits-filter/-/conventional-commits-filter-3.0.0.tgz", - "integrity": "sha512-1ymej8b5LouPx9Ox0Dw/qAO2dVdfpRFq28e5Y0jJEU8ZrLdy0vOSkkIInwmxErFGhg6SALro60ZrwYFVTUDo4Q==", - "dev": true, - "requires": { - "lodash.ismatch": "^4.4.0", - "modify-values": "^1.0.1" - } - }, - "conventional-commits-parser": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/conventional-commits-parser/-/conventional-commits-parser-4.0.0.tgz", - "integrity": "sha512-WRv5j1FsVM5FISJkoYMR6tPk07fkKT0UodruX4je86V4owk451yjXAKzKAPOs9l7y59E2viHUS9eQ+dfUA9NSg==", - "dev": true, - "requires": { - "is-text-path": "^1.0.1", - "JSONStream": "^1.3.5", - "meow": "^8.1.2", - "split2": "^3.2.2" - } - } } }, "@semantic-release/error": { @@ -13698,9 +13563,9 @@ } }, "@semantic-release/npm": { - "version": "10.0.6", - "resolved": "https://registry.npmjs.org/@semantic-release/npm/-/npm-10.0.6.tgz", - "integrity": "sha512-DyqHrGE8aUyapA277BB+4kV0C4iMHh3sHzUWdf0jTgp5NNJxVUz76W1f57FB64Ue03him3CBXxFqQD2xGabxow==", + "version": "11.0.0", + "resolved": "https://registry.npmjs.org/@semantic-release/npm/-/npm-11.0.0.tgz", + "integrity": "sha512-ozNCiPUp14Xp2rgeY7j96yFTEhDncLSWOJr0IAUr888+ax6fH5xgYkNVv08vpkV8C5GIXBgnGd9coRiOCD6oqQ==", "dev": true, "requires": { "@semantic-release/error": "^4.0.0", @@ -13710,7 +13575,7 @@ "lodash-es": "^4.17.21", "nerf-dart": "^1.0.0", "normalize-url": "^8.0.0", - "npm": "^9.5.0", + "npm": "^10.0.0", "rc": "^1.2.8", "read-pkg": "^8.0.0", "registry-auth-token": "^5.0.0", @@ -13905,103 +13770,37 @@ } }, "@semantic-release/release-notes-generator": { - "version": "11.0.1", - "resolved": "https://registry.npmjs.org/@semantic-release/release-notes-generator/-/release-notes-generator-11.0.1.tgz", - "integrity": "sha512-4deWsiY4Rg80oc9Ms11N20BIDgYkPMys4scNYQpi2Njdrtw5Z55nXKNsUN3kn6Sy/nI9dqqbp5L63TL4luI5Bw==", + "version": "12.0.0", + "resolved": "https://registry.npmjs.org/@semantic-release/release-notes-generator/-/release-notes-generator-12.0.0.tgz", + "integrity": "sha512-m7Ds8ComP1KJgA2Lke2xMwE1TOOU40U7AzP4lT8hJ2tUAeicziPz/1GeDFmRkTOkMFlfHvE6kuvMkvU+mIzIDQ==", "dev": true, "requires": { - "conventional-changelog-angular": "^5.0.0", - "conventional-changelog-writer": "^5.0.0", - "conventional-commits-filter": "^2.0.0", - "conventional-commits-parser": "^3.2.3", + "conventional-changelog-angular": "^7.0.0", + "conventional-changelog-writer": "^7.0.0", + "conventional-commits-filter": "^4.0.0", + "conventional-commits-parser": "^5.0.0", "debug": "^4.0.0", - "get-stream": "^6.0.0", + "get-stream": "^7.0.0", "import-from": "^4.0.0", "into-stream": "^7.0.0", "lodash-es": "^4.17.21", - "read-pkg-up": "^9.0.0" + "read-pkg-up": "^10.0.0" }, "dependencies": { - "find-up": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-6.3.0.tgz", - "integrity": "sha512-v2ZsoEuVHYy8ZIlYqwPe/39Cy+cFDzp4dXPaxNvkEuouymu+2Jbz0PxpKarJHYJTmv2HWT3O382qY8l4jMWthw==", - "dev": true, - "requires": { - "locate-path": "^7.1.0", - "path-exists": "^5.0.0" - } - }, - "locate-path": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-7.2.0.tgz", - "integrity": "sha512-gvVijfZvn7R+2qyPX8mAuKcFGDf6Nc61GdvGafQsHL0sBIxfKzA+usWn4GFC/bk+QdwPUD4kWFJLhElipq+0VA==", - "dev": true, - "requires": { - "p-locate": "^6.0.0" - } - }, - "p-limit": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-4.0.0.tgz", - "integrity": "sha512-5b0R4txpzjPWVw/cXXUResoD4hb6U/x9BH08L7nw+GN1sezDzPdxeRvpc9c433fZhBan/wusjbCsqwqm4EIBIQ==", - "dev": true, - "requires": { - "yocto-queue": "^1.0.0" - } - }, - "p-locate": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-6.0.0.tgz", - "integrity": "sha512-wPrq66Llhl7/4AGC6I+cqxT07LhXvWL08LNXz1fENOw0Ap4sRZZ/gZpTTJ5jpurzzzfS2W/Ge9BY3LgLjCShcw==", - "dev": true, - "requires": { - "p-limit": "^4.0.0" - } - }, - "path-exists": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-5.0.0.tgz", - "integrity": "sha512-RjhtfwJOxzcFmNOi6ltcbcu4Iu+FL3zEj83dk4kAS+fVpTxXLO1b38RvJgT/0QwvV/L3aY9TAnyv0EOqW4GoMQ==", - "dev": true - }, - "read-pkg": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-7.1.0.tgz", - "integrity": "sha512-5iOehe+WF75IccPc30bWTbpdDQLOCc3Uu8bi3Dte3Eueij81yx1Mrufk8qBx/YAbR4uL1FdUr+7BKXDwEtisXg==", - "dev": true, - "requires": { - "@types/normalize-package-data": "^2.4.1", - "normalize-package-data": "^3.0.2", - "parse-json": "^5.2.0", - "type-fest": "^2.0.0" - } - }, - "read-pkg-up": { - "version": "9.1.0", - "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-9.1.0.tgz", - "integrity": "sha512-vaMRR1AC1nrd5CQM0PhlRsO5oc2AAigqr7cCrZ/MW/Rsaflz4RlgzkpL4qoU/z1F6wrbd85iFv1OQj/y5RdGvg==", - "dev": true, - "requires": { - "find-up": "^6.3.0", - "read-pkg": "^7.1.0", - "type-fest": "^2.5.0" - } - }, - "type-fest": { - "version": "2.19.0", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-2.19.0.tgz", - "integrity": "sha512-RAH822pAdBgcNMAfWnCBU3CFZcfZ/i1eZjwFU/dsLKumyuuP3niueg2UAukXYF0E2AAoc82ZSSf9J0WQBinzHA==", - "dev": true - }, - "yocto-queue": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-1.0.0.tgz", - "integrity": "sha512-9bnSc/HEW2uRy67wc+T8UwauLuPJVn28jb+GtJY16iiKWyvmYJRXVT4UamsAEGQfPohgr2q4Tq0sQbQlxTfi1g==", + "get-stream": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-7.0.1.tgz", + "integrity": "sha512-3M8C1EOFN6r8AMUhwUAACIoXZJEOufDU5+0gFFN5uNs6XYOralD2Pqkl7m046va6x77FwposWXbAhPPIOus7mQ==", "dev": true } } }, + "@sindresorhus/is": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/@sindresorhus/is/-/is-3.1.2.tgz", + "integrity": "sha512-JiX9vxoKMmu8Y3Zr2RVathBL1Cdu4Nt4MuNWemt1Nc06A0RAin9c5FArkhGsyMBWfCu4zj+9b+GxtjAnE4qqLQ==", + "dev": true + }, "@touch4it/ical-timezones": { "version": "1.9.0", "resolved": "https://registry.npmjs.org/@touch4it/ical-timezones/-/ical-timezones-1.9.0.tgz", @@ -14095,12 +13894,6 @@ "integrity": "sha512-l5cpE57br4BIjK+9BSkFBOsWtwv6J9bJpC7gdXIzZyI0vuKvNTk0wZZrkQxMGsUAuGW9+WMNWF2IJMD7br2yeQ==", "dev": true }, - "@types/minimist": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/@types/minimist/-/minimist-1.2.1.tgz", - "integrity": "sha512-fZQQafSREFyuZcdWFAExYjBiCL7AUCdgsk80iO0q4yihYYdcIiH28CcuPTGFgLOCC8RlW49GSQxdHwZP+I7CNg==", - "dev": true - }, "@types/mocha": { "version": "10.0.2", "resolved": "https://registry.npmjs.org/@types/mocha/-/mocha-10.0.2.tgz", @@ -14309,18 +14102,18 @@ "dev": true }, "ansi-escapes": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-5.0.0.tgz", - "integrity": "sha512-5GFMVX8HqE/TB+FuBJGuO5XG0WrsA6ptUqoODaT/n9mmUaZFkqnBueB4leqGBCmrUHnCnC4PCZTCd0E7QQ83bA==", + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-6.2.0.tgz", + "integrity": "sha512-kzRaCqXnpzWs+3z5ABPQiVke+iq0KXkHo8xiWV4RPTi5Yli0l97BEQuhXV1s7+aSU/fu1kUuxgS4MsQ0fRuygw==", "dev": true, "requires": { - "type-fest": "^1.0.2" + "type-fest": "^3.0.0" }, "dependencies": { "type-fest": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-1.4.0.tgz", - "integrity": "sha512-yGSza74xk0UG8k+pLh5oeoYirvIiWo5t0/o3zHHAO2tRDiZcxWP7fywNlXhqb6/r6sWvwi+RsyQMWhVLe4BVuA==", + "version": "3.13.1", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-3.13.1.tgz", + "integrity": "sha512-tLq3bSNx+xSpwvAJnzrK0Ep5CLNWjvFTOp71URMaAEWBfRb9nnJiBoUe0tF8bI4ZFO3omgBR6NvnbzVUT3Ly4g==", "dev": true } } @@ -14413,7 +14206,7 @@ "array-ify": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/array-ify/-/array-ify-1.0.0.tgz", - "integrity": "sha1-nlKHYrSpBmrRY6aWKjZEGOlibs4=", + "integrity": "sha512-c5AMf34bKdvPhQ7tBGhqkgKNUzMr4WUs+WDtC2ZUGOUncbxKMTvqxYctiseW3+L4bA8ec+GcZ6/A/FW4m8ukng==", "dev": true }, "array-union": { @@ -14428,12 +14221,6 @@ "integrity": "sha512-MNha4BWQ6JbwhFhj03YK552f7cb3AzoE8SzeljgChvL1dl3IcvggXVz1DilzySZkCja+CXuZbdW7yATchWn8/Q==", "dev": true }, - "arrify": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/arrify/-/arrify-1.0.1.tgz", - "integrity": "sha1-iYUI2iIm84DfkEcoRWhJwVAaSw0=", - "dev": true - }, "asap": { "version": "2.0.6", "resolved": "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz", @@ -14626,17 +14413,6 @@ "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", "dev": true }, - "camelcase-keys": { - "version": "6.2.2", - "resolved": "https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-6.2.2.tgz", - "integrity": "sha512-YrwaA0vEKazPBkn0ipTiMpSajYDSe+KjQfrjhcBMxJt/znbvlHd8Pw/Vamaz5EB4Wfhs3SUR3Z9mwRu/P3s3Yg==", - "dev": true, - "requires": { - "camelcase": "^5.3.1", - "map-obj": "^4.0.0", - "quick-lru": "^4.0.1" - } - }, "caniuse-lite": { "version": "1.0.30001237", "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001237.tgz", @@ -14669,6 +14445,12 @@ "supports-color": "^7.1.0" } }, + "char-regex": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/char-regex/-/char-regex-1.0.2.tgz", + "integrity": "sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw==", + "dev": true + }, "chokidar": { "version": "3.5.3", "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz", @@ -14793,62 +14575,44 @@ } }, "conventional-changelog-angular": { - "version": "5.0.12", - "resolved": "https://registry.npmjs.org/conventional-changelog-angular/-/conventional-changelog-angular-5.0.12.tgz", - "integrity": "sha512-5GLsbnkR/7A89RyHLvvoExbiGbd9xKdKqDTrArnPbOqBqG/2wIosu0fHwpeIRI8Tl94MhVNBXcLJZl92ZQ5USw==", + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/conventional-changelog-angular/-/conventional-changelog-angular-7.0.0.tgz", + "integrity": "sha512-ROjNchA9LgfNMTTFSIWPzebCwOGFdgkEq45EnvvrmSLvCtAw0HSmrCs7/ty+wAeYUZyNay0YMUNYFTRL72PkBQ==", "dev": true, "requires": { - "compare-func": "^2.0.0", - "q": "^1.5.1" + "compare-func": "^2.0.0" } }, "conventional-changelog-writer": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/conventional-changelog-writer/-/conventional-changelog-writer-5.0.1.tgz", - "integrity": "sha512-5WsuKUfxW7suLblAbFnxAcrvf6r+0b7GvNaWUwUIk0bXMnENP/PEieGKVUQrjPqwPT4o3EPAASBXiY6iHooLOQ==", + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/conventional-changelog-writer/-/conventional-changelog-writer-7.0.1.tgz", + "integrity": "sha512-Uo+R9neH3r/foIvQ0MKcsXkX642hdm9odUp7TqgFS7BsalTcjzRlIfWZrZR1gbxOozKucaKt5KAbjW8J8xRSmA==", "dev": true, "requires": { - "conventional-commits-filter": "^2.0.7", - "dateformat": "^3.0.0", + "conventional-commits-filter": "^4.0.0", "handlebars": "^4.7.7", "json-stringify-safe": "^5.0.1", - "lodash": "^4.17.15", - "meow": "^8.0.0", - "semver": "^6.0.0", - "split": "^1.0.0", - "through2": "^4.0.0" - }, - "dependencies": { - "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "dev": true - } + "meow": "^12.0.1", + "semver": "^7.5.2", + "split2": "^4.0.0" } }, "conventional-commits-filter": { - "version": "2.0.7", - "resolved": "https://registry.npmjs.org/conventional-commits-filter/-/conventional-commits-filter-2.0.7.tgz", - "integrity": "sha512-ASS9SamOP4TbCClsRHxIHXRfcGCnIoQqkvAzCSbZzTFLfcTqJVugB0agRgsEELsqaeWgsXv513eS116wnlSSPA==", - "dev": true, - "requires": { - "lodash.ismatch": "^4.4.0", - "modify-values": "^1.0.0" - } + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/conventional-commits-filter/-/conventional-commits-filter-4.0.0.tgz", + "integrity": "sha512-rnpnibcSOdFcdclpFwWa+pPlZJhXE7l+XK04zxhbWrhgpR96h33QLz8hITTXbcYICxVr3HZFtbtUAQ+4LdBo9A==", + "dev": true }, "conventional-commits-parser": { - "version": "3.2.3", - "resolved": "https://registry.npmjs.org/conventional-commits-parser/-/conventional-commits-parser-3.2.3.tgz", - "integrity": "sha512-YyRDR7On9H07ICFpRm/igcdjIqebXbvf4Cff+Pf0BrBys1i1EOzx9iFXNlAbdrLAR8jf7bkUYkDAr8pEy0q4Pw==", + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/conventional-commits-parser/-/conventional-commits-parser-5.0.0.tgz", + "integrity": "sha512-ZPMl0ZJbw74iS9LuX9YIAiW8pfM5p3yh2o/NbXHbkFuZzY5jvdi5jFycEOkmBW5H5I7nA+D6f3UcsCLP2vvSEA==", "dev": true, "requires": { - "is-text-path": "^1.0.1", - "JSONStream": "^1.0.4", - "lodash": "^4.17.15", - "meow": "^8.0.0", - "split2": "^3.0.0", - "through2": "^4.0.0" + "is-text-path": "^2.0.0", + "JSONStream": "^1.3.5", + "meow": "^12.0.1", + "split2": "^4.0.0" } }, "convert-source-map": { @@ -14929,12 +14693,6 @@ } } }, - "dateformat": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/dateformat/-/dateformat-3.0.3.tgz", - "integrity": "sha512-jyCETtSl3VMZMWeRo7iY1FL19ges1t55hMo5yaam4Jrsm5EPL89UQkoQRyiI+Yf4k8r2ZpdngkV8hr1lIdjb3Q==", - "dev": true - }, "dayjs": { "version": "1.11.10", "resolved": "https://registry.npmjs.org/dayjs/-/dayjs-1.11.10.tgz", @@ -14962,24 +14720,6 @@ "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=", "dev": true }, - "decamelize-keys": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/decamelize-keys/-/decamelize-keys-1.1.0.tgz", - "integrity": "sha1-0XGoeTMlKAfrPLYdwcFEXQeN8tk=", - "dev": true, - "requires": { - "decamelize": "^1.1.0", - "map-obj": "^1.0.0" - }, - "dependencies": { - "map-obj": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-1.0.1.tgz", - "integrity": "sha1-2TPOuSBdgr3PSIb2dCvcK03qFG0=", - "dev": true - } - } - }, "deep-extend": { "version": "0.6.0", "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz", @@ -15083,37 +14823,49 @@ "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", "dev": true }, + "emojilib": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/emojilib/-/emojilib-2.4.0.tgz", + "integrity": "sha512-5U0rVMU5Y2n2+ykNLQqMoqklN9ICBT/KsvC1Gz6vqHbz2AXXGkG+Pm5rMWk/8Vjrr/mY9985Hi8DYzn1F09Nyw==", + "dev": true + }, "env-ci": { - "version": "9.0.0", - "resolved": "https://registry.npmjs.org/env-ci/-/env-ci-9.0.0.tgz", - "integrity": "sha512-Q3cjr1tX9xwigprw4G8M3o7PIOO/1LYji6TyGsbD1WfMmD23etZvhgmPXJqkP788yH4dgSSK7oaIMuaayUJIfg==", + "version": "10.0.0", + "resolved": "https://registry.npmjs.org/env-ci/-/env-ci-10.0.0.tgz", + "integrity": "sha512-U4xcd/utDYFgMh0yWj07R1H6L5fwhVbmxBCpnL0DbVSDZVnsC82HONw0wxtxNkIAcua3KtbomQvIk5xFZGAQJw==", "dev": true, "requires": { - "execa": "^7.0.0", + "execa": "^8.0.0", "java-properties": "^1.0.2" }, "dependencies": { "execa": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/execa/-/execa-7.1.1.tgz", - "integrity": "sha512-wH0eMf/UXckdUYnO21+HDztteVv05rq2GXksxT4fCGeHkBhw1DROXh40wcjMcRqDOWE7iPJ4n3M7e2+YFP+76Q==", + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/execa/-/execa-8.0.1.tgz", + "integrity": "sha512-VyhnebXciFV2DESc+p6B+y0LjSm0krU4OgJN44qFAhBY0TJ+1V61tYD2+wHusZ6F9n5K+vl8k0sTy7PEfV4qpg==", "dev": true, "requires": { "cross-spawn": "^7.0.3", - "get-stream": "^6.0.1", - "human-signals": "^4.3.0", + "get-stream": "^8.0.1", + "human-signals": "^5.0.0", "is-stream": "^3.0.0", "merge-stream": "^2.0.0", "npm-run-path": "^5.1.0", "onetime": "^6.0.0", - "signal-exit": "^3.0.7", + "signal-exit": "^4.1.0", "strip-final-newline": "^3.0.0" } }, + "get-stream": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-8.0.1.tgz", + "integrity": "sha512-VaUJspBffn/LMCJVoMvSAdmscJyS1auj5Zulnn5UoYcY531UWmdwhRWkcGKnGU93m5HSXP9LP2usOryrBtQowA==", + "dev": true + }, "human-signals": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-4.3.1.tgz", - "integrity": "sha512-nZXjEF2nbo7lIw3mgYjItAfgQXog3OjJogSbKa2CQIIvSGWcKgeJnQlNXip6NglNzYH45nSRiEVimMvYL8DDqQ==", + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-5.0.0.tgz", + "integrity": "sha512-AXcZb6vzzrFAUE61HnN4mpLqd/cSIwNQjtNWR0euPm6y0iqx3G4gOXaIDdtdDwZmhwe82LA6+zinmW4UBWVePQ==", "dev": true }, "is-stream": { @@ -15152,6 +14904,12 @@ "integrity": "sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ==", "dev": true }, + "signal-exit": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz", + "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==", + "dev": true + }, "strip-final-newline": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-3.0.0.tgz", @@ -15224,15 +14982,15 @@ "dev": true }, "eslint": { - "version": "8.49.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.49.0.tgz", - "integrity": "sha512-jw03ENfm6VJI0jA9U+8H5zfl5b+FvuU3YYvZRdZHOlU2ggJkxrlkJH4HcDrZpj6YwD8kuYqvQM8LyesoazrSOQ==", + "version": "8.51.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.51.0.tgz", + "integrity": "sha512-2WuxRZBrlwnXi+/vFSJyjMqrNjtJqiasMzehF0shoLaW7DzS3/9Yvrmq5JiT66+pNjiX4UBnLDiKHcWAr/OInA==", "dev": true, "requires": { "@eslint-community/eslint-utils": "^4.2.0", "@eslint-community/regexpp": "^4.6.1", "@eslint/eslintrc": "^2.1.2", - "@eslint/js": "8.49.0", + "@eslint/js": "8.51.0", "@humanwhocodes/config-array": "^0.11.11", "@humanwhocodes/module-importer": "^1.0.1", "@nodelib/fs.walk": "^1.2.8", @@ -15294,13 +15052,21 @@ } } }, + "eslint-compat-utils": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/eslint-compat-utils/-/eslint-compat-utils-0.1.2.tgz", + "integrity": "sha512-Jia4JDldWnFNIru1Ehx1H5s9/yxiRHY/TimCuUc0jNexew3cF1gI6CYZil1ociakfWO3rRqFjl1mskBblB3RYg==", + "dev": true, + "requires": {} + }, "eslint-plugin-jsonc": { - "version": "2.9.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-jsonc/-/eslint-plugin-jsonc-2.9.0.tgz", - "integrity": "sha512-RK+LeONVukbLwT2+t7/OY54NJRccTXh/QbnXzPuTLpFMVZhPuq1C9E07+qWenGx7rrQl0kAalAWl7EmB+RjpGA==", + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-jsonc/-/eslint-plugin-jsonc-2.10.0.tgz", + "integrity": "sha512-9d//o6Jyh4s1RxC9fNSt1+MMaFN2ruFdXPG9XZcb/mR2KkfjADYiNL/hbU6W0Cyxfg3tS/XSFuhl5LgtMD8hmw==", "dev": true, "requires": { "@eslint-community/eslint-utils": "^4.2.0", + "eslint-compat-utils": "^0.1.2", "jsonc-eslint-parser": "^2.0.4", "natural-compare": "^1.4.0" } @@ -15814,24 +15580,18 @@ "dev": true }, "handlebars": { - "version": "4.7.7", - "resolved": "https://registry.npmjs.org/handlebars/-/handlebars-4.7.7.tgz", - "integrity": "sha512-aAcXm5OAfE/8IXkcZvCepKU3VzW1/39Fb5ZuqMtgI/hT8X2YgoMvBY5dLhq/cpOvw7Lk1nK/UF71aLG/ZnVYRA==", + "version": "4.7.8", + "resolved": "https://registry.npmjs.org/handlebars/-/handlebars-4.7.8.tgz", + "integrity": "sha512-vafaFqs8MZkRrSX7sFVUdo3ap/eNiLnb4IakshzvP56X5Nr1iGKAIqdX6tMlm6HcNRIkr6AxO5jFEoJzzpT8aQ==", "dev": true, "requires": { "minimist": "^1.2.5", - "neo-async": "^2.6.0", + "neo-async": "^2.6.2", "source-map": "^0.6.1", "uglify-js": "^3.1.4", "wordwrap": "^1.0.0" } }, - "hard-rejection": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/hard-rejection/-/hard-rejection-2.1.0.tgz", - "integrity": "sha512-VIZB+ibDhx7ObhAe7OVtoEbuP4h/MuOTHJ+J8h/eBXotJYl0fBgR72xDFCKgIh22OJZIOVNxBMWuhAr10r8HdA==", - "dev": true - }, "has": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", @@ -15884,12 +15644,20 @@ "dev": true }, "hosted-git-info": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-4.0.2.tgz", - "integrity": "sha512-c9OGXbZ3guC/xOlCg1Ci/VgWlwsqDv1yMQL1CWqXDL0hDjXuNcq0zuR4xqPSuasI3kqFDhqSyTjREz5gzq0fXg==", + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-7.0.1.tgz", + "integrity": "sha512-+K84LB1DYwMHoHSgaOY/Jfhw3ucPmSET5v98Ke/HdNSw4a0UktWzyW1mjhjpuxxTqOOsfWT/7iVshHmVZ4IpOA==", "dev": true, "requires": { - "lru-cache": "^6.0.0" + "lru-cache": "^10.0.1" + }, + "dependencies": { + "lru-cache": { + "version": "10.0.1", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.0.1.tgz", + "integrity": "sha512-IJ4uwUTi2qCccrioU6g9g/5rvvVl13bsdczUUcqbciD9iLr095yj8DQKdObriEvuNSx325N1rV1O0sJFszx75g==", + "dev": true + } } }, "html-escaper": { @@ -16082,12 +15850,6 @@ "integrity": "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==", "dev": true }, - "is-plain-obj": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-1.1.0.tgz", - "integrity": "sha1-caUMhCnfync8kqOQpKA7OfzVHT4=", - "dev": true - }, "is-plain-object": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-5.0.0.tgz", @@ -16110,12 +15872,12 @@ "dev": true }, "is-text-path": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-text-path/-/is-text-path-1.0.1.tgz", - "integrity": "sha1-Thqg+1G/vLPpJogAE5cgLBd1tm4=", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-text-path/-/is-text-path-2.0.0.tgz", + "integrity": "sha512-+oDTluR6WEjdXEJMnC2z6A4FRwFoYuvShVVEGsS7ewc0UTi2QtAKMDJuL4BDEVt+5T7MjFo12RP8ghOM75oKJw==", "dev": true, "requires": { - "text-extensions": "^1.0.0" + "text-extensions": "^2.0.0" } }, "is-typedarray": { @@ -16363,7 +16125,7 @@ "jsonparse": { "version": "1.3.1", "resolved": "https://registry.npmjs.org/jsonparse/-/jsonparse-1.3.1.tgz", - "integrity": "sha1-P02uSpH6wxX3EGL4UhzCOfE2YoA=", + "integrity": "sha512-POQXvpdL69+CluYsillJ7SUhKvytYjW9vG/GKpnf+xP8UWgYEM/RaMzHHofbALDiKbbP1W8UEYmgGl39WkPZsg==", "dev": true }, "JSONStream": { @@ -16376,12 +16138,6 @@ "through": ">=2.2.7 <3" } }, - "kind-of": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", - "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", - "dev": true - }, "levn": { "version": "0.4.1", "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", @@ -16582,12 +16338,6 @@ "integrity": "sha512-AirXNj15uRIMMPihnkInB4i3NHeb4iBtNg9WRWuK2o31S+ePwwNmDPaTL3o7dTJ+VXNZim7rFs4rxN4YU1oUJw==", "dev": true }, - "lodash.ismatch": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/lodash.ismatch/-/lodash.ismatch-4.4.0.tgz", - "integrity": "sha1-dWy1FQyjum8RCFp4hJZF8Yj4Xzc=", - "dev": true - }, "lodash.isobject": { "version": "3.0.2", "resolved": "https://registry.npmjs.org/lodash.isobject/-/lodash.isobject-3.0.2.tgz", @@ -16687,12 +16437,6 @@ "integrity": "sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==", "dev": true }, - "map-obj": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-4.2.1.tgz", - "integrity": "sha512-+WA2/1sPmDj1dlvvJmB5G6JKfY9dpn7EVBUL06+y6PoljPkh+6V1QihwxNkbcGxCRjt2b0F9K0taiCuo7MbdFQ==", - "dev": true - }, "marked": { "version": "4.3.0", "resolved": "https://registry.npmjs.org/marked/-/marked-4.3.0.tgz", @@ -16700,53 +16444,32 @@ "dev": true }, "marked-terminal": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/marked-terminal/-/marked-terminal-5.1.1.tgz", - "integrity": "sha512-+cKTOx9P4l7HwINYhzbrBSyzgxO2HaHKGZGuB1orZsMIgXYaJyfidT81VXRdpelW/PcHEWxywscePVgI/oUF6g==", + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/marked-terminal/-/marked-terminal-6.0.0.tgz", + "integrity": "sha512-6rruICvqRfA4N+Mvdc0UyDbLA0A0nI5omtARIlin3P2F+aNc3EbW91Rd9HTuD0v9qWyHmNIu8Bt40gAnPfldsg==", "dev": true, "requires": { - "ansi-escapes": "^5.0.0", + "ansi-escapes": "^6.2.0", "cardinal": "^2.1.1", - "chalk": "^5.0.0", - "cli-table3": "^0.6.1", - "node-emoji": "^1.11.0", - "supports-hyperlinks": "^2.2.0" + "chalk": "^5.3.0", + "cli-table3": "^0.6.3", + "node-emoji": "^2.1.0", + "supports-hyperlinks": "^3.0.0" }, "dependencies": { "chalk": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-5.2.0.tgz", - "integrity": "sha512-ree3Gqw/nazQAPuJJEy+avdl7QfZMcUvmHIKgEZkGL+xOBzRvup5Hxo6LHuMceSxOabuJLJm5Yp/92R9eMmMvA==", + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-5.3.0.tgz", + "integrity": "sha512-dLitG79d+GV1Nb/VYcCDFivJeK1hiukt9QjRNVOsUtTy1rR1YJsmpGGTZ3qJos+uw7WmWF4wUwBd9jxjocFC2w==", "dev": true } } }, "meow": { - "version": "8.1.2", - "resolved": "https://registry.npmjs.org/meow/-/meow-8.1.2.tgz", - "integrity": "sha512-r85E3NdZ+mpYk1C6RjPFEMSE+s1iZMuHtsHAqY0DT3jZczl0diWUZ8g6oU7h0M9cD2EL+PzaYghhCLzR0ZNn5Q==", - "dev": true, - "requires": { - "@types/minimist": "^1.2.0", - "camelcase-keys": "^6.2.2", - "decamelize-keys": "^1.1.0", - "hard-rejection": "^2.1.0", - "minimist-options": "4.1.0", - "normalize-package-data": "^3.0.0", - "read-pkg-up": "^7.0.1", - "redent": "^3.0.0", - "trim-newlines": "^3.0.0", - "type-fest": "^0.18.0", - "yargs-parser": "^20.2.3" - }, - "dependencies": { - "type-fest": { - "version": "0.18.1", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.18.1.tgz", - "integrity": "sha512-OIAYXk8+ISY+qTOwkHtKqzAuxchoMiD9Udx+FSGQDuiRR+PJKJHc2NJAXlbhkGwTt/4/nKZxELY1w3ReWOL8mw==", - "dev": true - } - } + "version": "12.1.1", + "resolved": "https://registry.npmjs.org/meow/-/meow-12.1.1.tgz", + "integrity": "sha512-BhXM0Au22RwUneMPwSCnyhTOizdWoIEPU9sp0Aqa1PnDMR5Wv2FGXYDjuzJEIX+Eo2Rb8xuYe5jrnm5QowQFkw==", + "dev": true }, "merge-stream": { "version": "2.0.0", @@ -16797,12 +16520,6 @@ "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", "dev": true }, - "min-indent": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/min-indent/-/min-indent-1.0.1.tgz", - "integrity": "sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==", - "dev": true - }, "minimatch": { "version": "3.1.2", "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", @@ -16818,17 +16535,6 @@ "integrity": "sha512-Jsjnk4bw3YJqYzbdyBiNsPWHPfO++UGG749Cxs6peCu5Xg4nrena6OVxOYxrQTqww0Jmwt+Ref8rggumkTLz9Q==", "dev": true }, - "minimist-options": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/minimist-options/-/minimist-options-4.1.0.tgz", - "integrity": "sha512-Q4r8ghd80yhO/0j1O3B2BjweX3fiHg9cdOwjJd2J76Q135c+NDxGCqdYKQ1SKBuFfgWbAUzBfvYjPUEeNgqN1A==", - "dev": true, - "requires": { - "arrify": "^1.0.1", - "is-plain-obj": "^1.1.0", - "kind-of": "^6.0.3" - } - }, "mkdirp": { "version": "0.5.6", "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz", @@ -17001,12 +16707,6 @@ } } }, - "modify-values": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/modify-values/-/modify-values-1.0.1.tgz", - "integrity": "sha512-xV2bxeN6F7oYjZWTe/YPAy6MN2M+sL4u/Rlm2AHCIVGfo2p1yGmBHQ6vHehl4bRTZBdHu3TSkWdYgkwpYzAGSw==", - "dev": true - }, "moment": { "version": "2.29.4", "resolved": "https://registry.npmjs.org/moment/-/moment-2.29.4.tgz", @@ -17064,12 +16764,15 @@ "dev": true }, "node-emoji": { - "version": "1.11.0", - "resolved": "https://registry.npmjs.org/node-emoji/-/node-emoji-1.11.0.tgz", - "integrity": "sha512-wo2DpQkQp7Sjm2A0cq+sN7EHKO6Sl0ctXeBdFZrL9T9+UywORbufTcTZxom8YqpLQt/FqNMUkOpkZrJVYSKD3A==", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/node-emoji/-/node-emoji-2.1.0.tgz", + "integrity": "sha512-tcsBm9C6FmPN5Wo7OjFi9lgMyJjvkAeirmjR/ax8Ttfqy4N8PoFic26uqFTIgayHPNI5FH4ltUvfh9kHzwcK9A==", "dev": true, "requires": { - "lodash": "^4.17.21" + "@sindresorhus/is": "^3.1.2", + "char-regex": "^1.0.2", + "emojilib": "^2.4.0", + "skin-tone": "^2.0.0" } }, "node-fetch": { @@ -17131,15 +16834,15 @@ } }, "normalize-package-data": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-3.0.2.tgz", - "integrity": "sha512-6CdZocmfGaKnIHPVFhJJZ3GuR8SsLKvDANFp47Jmy51aKIr8akjAWTSxtpI+MBgBFdSMRyo4hMpDlT6dTffgZg==", + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-6.0.0.tgz", + "integrity": "sha512-UL7ELRVxYBHBgYEtZCXjxuD5vPxnmvMGq0jp/dGPKKrN7tfsBh2IY7TlJ15WWwdjRWD3RJbnsygUurTK3xkPkg==", "dev": true, "requires": { - "hosted-git-info": "^4.0.1", - "resolve": "^1.20.0", - "semver": "^7.3.4", - "validate-npm-package-license": "^3.0.1" + "hosted-git-info": "^7.0.0", + "is-core-module": "^2.8.1", + "semver": "^7.3.5", + "validate-npm-package-license": "^3.0.4" } }, "normalize-path": { @@ -17149,77 +16852,82 @@ "dev": true }, "npm": { - "version": "9.6.3", - "resolved": "https://registry.npmjs.org/npm/-/npm-9.6.3.tgz", - "integrity": "sha512-KMAw6cJF5JGPJz/NtsU8H1sMqb34qPGnSMaSWrVO8bzxOdAXJNAtDXATvLl0lflrImIze1FZCqocM8wdIu3Sfg==", + "version": "10.2.0", + "resolved": "https://registry.npmjs.org/npm/-/npm-10.2.0.tgz", + "integrity": "sha512-Auyq6d4cfg/SY4URjZE2aePLOPzK4lUD+qyMxY/7HbxAvCnOCKtMlyLPcbLSOq9lhEGBZN800S1o+UmfjA5dTg==", "dev": true, "requires": { "@isaacs/string-locale-compare": "^1.1.0", - "@npmcli/arborist": "^6.2.6", - "@npmcli/config": "^6.1.5", - "@npmcli/map-workspaces": "^3.0.3", - "@npmcli/package-json": "^3.0.0", - "@npmcli/run-script": "^6.0.0", + "@npmcli/arborist": "^7.2.0", + "@npmcli/config": "^8.0.0", + "@npmcli/fs": "^3.1.0", + "@npmcli/map-workspaces": "^3.0.4", + "@npmcli/package-json": "^5.0.0", + "@npmcli/promise-spawn": "^7.0.0", + "@npmcli/run-script": "^7.0.1", + "@sigstore/tuf": "^2.1.0", "abbrev": "^2.0.0", "archy": "~1.0.0", - "cacache": "^17.0.5", - "chalk": "^4.1.2", + "cacache": "^18.0.0", + "chalk": "^5.3.0", "ci-info": "^3.8.0", "cli-columns": "^4.0.0", "cli-table3": "^0.6.3", "columnify": "^1.6.0", "fastest-levenshtein": "^1.0.16", - "fs-minipass": "^3.0.1", - "glob": "^9.3.1", + "fs-minipass": "^3.0.3", + "glob": "^10.3.10", "graceful-fs": "^4.2.11", - "hosted-git-info": "^6.1.1", - "ini": "^3.0.1", - "init-package-json": "^5.0.0", + "hosted-git-info": "^7.0.1", + "ini": "^4.1.1", + "init-package-json": "^6.0.0", "is-cidr": "^4.0.2", "json-parse-even-better-errors": "^3.0.0", - "libnpmaccess": "^7.0.2", - "libnpmdiff": "^5.0.14", - "libnpmexec": "^5.0.14", - "libnpmfund": "^4.0.14", - "libnpmhook": "^9.0.3", - "libnpmorg": "^5.0.3", - "libnpmpack": "^5.0.14", - "libnpmpublish": "^7.1.3", - "libnpmsearch": "^6.0.2", - "libnpmteam": "^5.0.3", - "libnpmversion": "^4.0.2", - "make-fetch-happen": "^11.0.3", - "minimatch": "^7.4.3", - "minipass": "^4.2.5", + "libnpmaccess": "^8.0.1", + "libnpmdiff": "^6.0.2", + "libnpmexec": "^7.0.2", + "libnpmfund": "^5.0.0", + "libnpmhook": "^10.0.0", + "libnpmorg": "^6.0.1", + "libnpmpack": "^6.0.2", + "libnpmpublish": "^9.0.1", + "libnpmsearch": "^7.0.0", + "libnpmteam": "^6.0.0", + "libnpmversion": "^5.0.0", + "make-fetch-happen": "^13.0.0", + "minimatch": "^9.0.3", + "minipass": "^7.0.4", "minipass-pipeline": "^1.2.4", "ms": "^2.1.2", - "node-gyp": "^9.3.1", - "nopt": "^7.1.0", - "npm-audit-report": "^4.0.0", - "npm-install-checks": "^6.1.0", - "npm-package-arg": "^10.1.0", - "npm-pick-manifest": "^8.0.1", - "npm-profile": "^7.0.1", - "npm-registry-fetch": "^14.0.3", + "node-gyp": "^9.4.0", + "nopt": "^7.2.0", + "normalize-package-data": "^6.0.0", + "npm-audit-report": "^5.0.0", + "npm-install-checks": "^6.2.0", + "npm-package-arg": "^11.0.1", + "npm-pick-manifest": "^9.0.0", + "npm-profile": "^9.0.0", + "npm-registry-fetch": "^16.0.0", "npm-user-validate": "^2.0.0", "npmlog": "^7.0.1", "p-map": "^4.0.0", - "pacote": "^15.1.1", + "pacote": "^17.0.4", "parse-conflict-json": "^3.0.1", "proc-log": "^3.0.0", "qrcode-terminal": "^0.12.0", - "read": "^2.0.0", - "read-package-json": "^6.0.1", - "read-package-json-fast": "^3.0.2", - "semver": "^7.3.8", - "ssri": "^10.0.1", - "tar": "^6.1.13", + "read": "^2.1.0", + "semver": "^7.5.4", + "spdx-expression-parse": "^3.0.1", + "ssri": "^10.0.5", + "strip-ansi": "^6.0.1", + "supports-color": "^9.4.0", + "tar": "^6.2.0", "text-table": "~0.2.0", "tiny-relative-date": "^1.3.0", "treeverse": "^3.0.0", "validate-npm-package-name": "^5.0.0", - "which": "^3.0.0", - "write-file-atomic": "^5.0.0" + "which": "^4.0.0", + "write-file-atomic": "^5.0.1" }, "dependencies": { "@colors/colors": { @@ -17228,18 +16936,106 @@ "dev": true, "optional": true }, - "@gar/promisify": { - "version": "1.1.3", + "@isaacs/cliui": { + "version": "8.0.2", "bundled": true, - "dev": true + "dev": true, + "requires": { + "string-width": "^5.1.2", + "string-width-cjs": "npm:string-width@^4.2.0", + "strip-ansi": "^7.0.1", + "strip-ansi-cjs": "npm:strip-ansi@^6.0.1", + "wrap-ansi": "^8.1.0", + "wrap-ansi-cjs": "npm:wrap-ansi@^7.0.0" + }, + "dependencies": { + "ansi-regex": { + "version": "6.0.1", + "bundled": true, + "dev": true + }, + "emoji-regex": { + "version": "9.2.2", + "bundled": true, + "dev": true + }, + "string-width": { + "version": "5.1.2", + "bundled": true, + "dev": true, + "requires": { + "eastasianwidth": "^0.2.0", + "emoji-regex": "^9.2.2", + "strip-ansi": "^7.0.1" + } + }, + "strip-ansi": { + "version": "7.1.0", + "bundled": true, + "dev": true, + "requires": { + "ansi-regex": "^6.0.1" + } + } + } }, "@isaacs/string-locale-compare": { "version": "1.1.0", "bundled": true, "dev": true }, + "@npmcli/agent": { + "version": "2.2.0", + "bundled": true, + "dev": true, + "requires": { + "agent-base": "^7.1.0", + "http-proxy-agent": "^7.0.0", + "https-proxy-agent": "^7.0.1", + "lru-cache": "^10.0.1", + "socks-proxy-agent": "^8.0.1" + }, + "dependencies": { + "agent-base": { + "version": "7.1.0", + "bundled": true, + "dev": true, + "requires": { + "debug": "^4.3.4" + } + }, + "http-proxy-agent": { + "version": "7.0.0", + "bundled": true, + "dev": true, + "requires": { + "agent-base": "^7.1.0", + "debug": "^4.3.4" + } + }, + "https-proxy-agent": { + "version": "7.0.1", + "bundled": true, + "dev": true, + "requires": { + "agent-base": "^7.0.2", + "debug": "4" + } + }, + "socks-proxy-agent": { + "version": "8.0.1", + "bundled": true, + "dev": true, + "requires": { + "agent-base": "^7.0.1", + "debug": "^4.3.4", + "socks": "^2.7.1" + } + } + } + }, "@npmcli/arborist": { - "version": "6.2.6", + "version": "7.2.0", "bundled": true, "dev": true, "requires": { @@ -17247,49 +17043,50 @@ "@npmcli/fs": "^3.1.0", "@npmcli/installed-package-contents": "^2.0.2", "@npmcli/map-workspaces": "^3.0.2", - "@npmcli/metavuln-calculator": "^5.0.0", + "@npmcli/metavuln-calculator": "^7.0.0", "@npmcli/name-from-folder": "^2.0.0", "@npmcli/node-gyp": "^3.0.0", - "@npmcli/package-json": "^3.0.0", - "@npmcli/query": "^3.0.0", - "@npmcli/run-script": "^6.0.0", + "@npmcli/package-json": "^5.0.0", + "@npmcli/query": "^3.0.1", + "@npmcli/run-script": "^7.0.1", "bin-links": "^4.0.1", - "cacache": "^17.0.4", + "cacache": "^18.0.0", "common-ancestor-path": "^1.0.1", - "hosted-git-info": "^6.1.1", + "hosted-git-info": "^7.0.1", "json-parse-even-better-errors": "^3.0.0", "json-stringify-nice": "^1.1.4", - "minimatch": "^7.4.2", + "minimatch": "^9.0.0", "nopt": "^7.0.0", - "npm-install-checks": "^6.0.0", - "npm-package-arg": "^10.1.0", - "npm-pick-manifest": "^8.0.1", - "npm-registry-fetch": "^14.0.3", + "npm-install-checks": "^6.2.0", + "npm-package-arg": "^11.0.1", + "npm-pick-manifest": "^9.0.0", + "npm-registry-fetch": "^16.0.0", "npmlog": "^7.0.1", - "pacote": "^15.0.8", + "pacote": "^17.0.4", "parse-conflict-json": "^3.0.0", "proc-log": "^3.0.0", "promise-all-reject-late": "^1.0.0", - "promise-call-limit": "^1.0.1", + "promise-call-limit": "^1.0.2", "read-package-json-fast": "^3.0.2", "semver": "^7.3.7", - "ssri": "^10.0.1", + "ssri": "^10.0.5", "treeverse": "^3.0.0", - "walk-up-path": "^1.0.0" + "walk-up-path": "^3.0.1" } }, "@npmcli/config": { - "version": "6.1.5", + "version": "8.0.0", "bundled": true, "dev": true, "requires": { "@npmcli/map-workspaces": "^3.0.2", - "ini": "^3.0.0", + "ci-info": "^3.8.0", + "ini": "^4.1.0", "nopt": "^7.0.0", "proc-log": "^3.0.0", "read-package-json-fast": "^3.0.2", "semver": "^7.3.5", - "walk-up-path": "^1.0.0" + "walk-up-path": "^3.0.1" } }, "@npmcli/disparity-colors": { @@ -17309,18 +17106,18 @@ } }, "@npmcli/git": { - "version": "4.0.4", + "version": "5.0.3", "bundled": true, "dev": true, "requires": { - "@npmcli/promise-spawn": "^6.0.0", - "lru-cache": "^7.4.4", - "npm-pick-manifest": "^8.0.0", + "@npmcli/promise-spawn": "^7.0.0", + "lru-cache": "^10.0.1", + "npm-pick-manifest": "^9.0.0", "proc-log": "^3.0.0", "promise-inflight": "^1.0.1", "promise-retry": "^2.0.1", "semver": "^7.3.5", - "which": "^3.0.0" + "which": "^4.0.0" } }, "@npmcli/installed-package-contents": { @@ -17333,36 +17130,27 @@ } }, "@npmcli/map-workspaces": { - "version": "3.0.3", + "version": "3.0.4", "bundled": true, "dev": true, "requires": { "@npmcli/name-from-folder": "^2.0.0", - "glob": "^9.3.1", - "minimatch": "^7.4.2", + "glob": "^10.2.2", + "minimatch": "^9.0.0", "read-package-json-fast": "^3.0.0" } }, "@npmcli/metavuln-calculator": { - "version": "5.0.0", + "version": "7.0.0", "bundled": true, "dev": true, "requires": { - "cacache": "^17.0.0", + "cacache": "^18.0.0", "json-parse-even-better-errors": "^3.0.0", - "pacote": "^15.0.0", + "pacote": "^17.0.0", "semver": "^7.3.5" } }, - "@npmcli/move-file": { - "version": "2.0.1", - "bundled": true, - "dev": true, - "requires": { - "mkdirp": "^1.0.4", - "rimraf": "^3.0.2" - } - }, "@npmcli/name-from-folder": { "version": "2.0.0", "bundled": true, @@ -17374,23 +17162,29 @@ "dev": true }, "@npmcli/package-json": { - "version": "3.0.0", + "version": "5.0.0", "bundled": true, "dev": true, "requires": { - "json-parse-even-better-errors": "^3.0.0" + "@npmcli/git": "^5.0.0", + "glob": "^10.2.2", + "hosted-git-info": "^7.0.0", + "json-parse-even-better-errors": "^3.0.0", + "normalize-package-data": "^6.0.0", + "proc-log": "^3.0.0", + "semver": "^7.5.3" } }, "@npmcli/promise-spawn": { - "version": "6.0.2", + "version": "7.0.0", "bundled": true, "dev": true, "requires": { - "which": "^3.0.0" + "which": "^4.0.0" } }, "@npmcli/query": { - "version": "3.0.0", + "version": "3.0.1", "bundled": true, "dev": true, "requires": { @@ -17398,33 +17192,72 @@ } }, "@npmcli/run-script": { - "version": "6.0.0", + "version": "7.0.1", "bundled": true, "dev": true, "requires": { "@npmcli/node-gyp": "^3.0.0", - "@npmcli/promise-spawn": "^6.0.0", + "@npmcli/promise-spawn": "^7.0.0", "node-gyp": "^9.0.0", "read-package-json-fast": "^3.0.0", - "which": "^3.0.0" + "which": "^4.0.0" + } + }, + "@pkgjs/parseargs": { + "version": "0.11.0", + "bundled": true, + "dev": true, + "optional": true + }, + "@sigstore/bundle": { + "version": "2.1.0", + "bundled": true, + "dev": true, + "requires": { + "@sigstore/protobuf-specs": "^0.2.1" } }, "@sigstore/protobuf-specs": { - "version": "0.1.0", + "version": "0.2.1", "bundled": true, "dev": true }, + "@sigstore/sign": { + "version": "2.1.0", + "bundled": true, + "dev": true, + "requires": { + "@sigstore/bundle": "^2.1.0", + "@sigstore/protobuf-specs": "^0.2.1", + "make-fetch-happen": "^13.0.0" + } + }, + "@sigstore/tuf": { + "version": "2.1.0", + "bundled": true, + "dev": true, + "requires": { + "@sigstore/protobuf-specs": "^0.2.1", + "tuf-js": "^2.1.0" + } + }, "@tootallnate/once": { "version": "2.0.0", "bundled": true, "dev": true }, + "@tufjs/canonical-json": { + "version": "2.0.0", + "bundled": true, + "dev": true + }, "@tufjs/models": { - "version": "1.0.1", + "version": "2.0.0", "bundled": true, "dev": true, "requires": { - "minimatch": "^7.4.2" + "@tufjs/canonical-json": "2.0.0", + "minimatch": "^9.0.3" } }, "abbrev": { @@ -17449,12 +17282,10 @@ } }, "agentkeepalive": { - "version": "4.3.0", + "version": "4.5.0", "bundled": true, "dev": true, "requires": { - "debug": "^4.1.0", - "depd": "^2.0.0", "humanize-ms": "^1.2.1" } }, @@ -17510,7 +17341,7 @@ "dev": true }, "bin-links": { - "version": "4.0.1", + "version": "4.0.2", "bundled": true, "dev": true, "requires": { @@ -17551,33 +17382,28 @@ } }, "cacache": { - "version": "17.0.5", + "version": "18.0.0", "bundled": true, "dev": true, "requires": { "@npmcli/fs": "^3.1.0", "fs-minipass": "^3.0.0", - "glob": "^9.3.1", - "lru-cache": "^7.7.1", - "minipass": "^4.0.0", + "glob": "^10.2.2", + "lru-cache": "^10.0.1", + "minipass": "^7.0.3", "minipass-collect": "^1.0.2", "minipass-flush": "^1.0.5", "minipass-pipeline": "^1.2.4", "p-map": "^4.0.0", - "promise-inflight": "^1.0.1", "ssri": "^10.0.0", "tar": "^6.1.11", "unique-filename": "^3.0.0" } }, "chalk": { - "version": "4.1.2", + "version": "5.3.0", "bundled": true, - "dev": true, - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } + "dev": true }, "chownr": { "version": "2.0.0", @@ -17672,6 +17498,26 @@ "bundled": true, "dev": true }, + "cross-spawn": { + "version": "7.0.3", + "bundled": true, + "dev": true, + "requires": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + }, + "dependencies": { + "which": { + "version": "2.0.2", + "bundled": true, + "dev": true, + "requires": { + "isexe": "^2.0.0" + } + } + } + }, "cssesc": { "version": "3.0.0", "bundled": true, @@ -17705,13 +17551,13 @@ "bundled": true, "dev": true }, - "depd": { - "version": "2.0.0", + "diff": { + "version": "5.1.0", "bundled": true, "dev": true }, - "diff": { - "version": "5.1.0", + "eastasianwidth": { + "version": "0.2.0", "bundled": true, "dev": true }, @@ -17749,17 +17595,31 @@ "bundled": true, "dev": true }, + "exponential-backoff": { + "version": "3.1.1", + "bundled": true, + "dev": true + }, "fastest-levenshtein": { "version": "1.0.16", "bundled": true, "dev": true }, + "foreground-child": { + "version": "3.1.1", + "bundled": true, + "dev": true, + "requires": { + "cross-spawn": "^7.0.0", + "signal-exit": "^4.0.1" + } + }, "fs-minipass": { - "version": "3.0.1", + "version": "3.0.3", "bundled": true, "dev": true, "requires": { - "minipass": "^4.0.0" + "minipass": "^7.0.3" } }, "fs.realpath": { @@ -17773,7 +17633,7 @@ "dev": true }, "gauge": { - "version": "5.0.0", + "version": "5.0.1", "bundled": true, "dev": true, "requires": { @@ -17781,21 +17641,22 @@ "color-support": "^1.1.3", "console-control-strings": "^1.1.0", "has-unicode": "^2.0.1", - "signal-exit": "^3.0.7", + "signal-exit": "^4.0.1", "string-width": "^4.2.3", "strip-ansi": "^6.0.1", "wide-align": "^1.1.5" } }, "glob": { - "version": "9.3.1", + "version": "10.3.10", "bundled": true, "dev": true, "requires": { - "fs.realpath": "^1.0.0", - "minimatch": "^7.4.1", - "minipass": "^4.2.4", - "path-scurry": "^1.6.1" + "foreground-child": "^3.1.0", + "jackspeak": "^2.3.5", + "minimatch": "^9.0.1", + "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0", + "path-scurry": "^1.10.1" } }, "graceful-fs": { @@ -17811,22 +17672,17 @@ "function-bind": "^1.1.1" } }, - "has-flag": { - "version": "4.0.0", - "bundled": true, - "dev": true - }, "has-unicode": { "version": "2.0.1", "bundled": true, "dev": true }, "hosted-git-info": { - "version": "6.1.1", + "version": "7.0.1", "bundled": true, "dev": true, "requires": { - "lru-cache": "^7.5.1" + "lru-cache": "^10.0.1" } }, "http-cache-semantics": { @@ -17876,11 +17732,11 @@ "dev": true }, "ignore-walk": { - "version": "6.0.2", + "version": "6.0.3", "bundled": true, "dev": true, "requires": { - "minimatch": "^7.4.2" + "minimatch": "^9.0.0" } }, "imurmurhash": { @@ -17893,11 +17749,6 @@ "bundled": true, "dev": true }, - "infer-owner": { - "version": "1.0.4", - "bundled": true, - "dev": true - }, "inflight": { "version": "1.0.6", "bundled": true, @@ -17913,19 +17764,19 @@ "dev": true }, "ini": { - "version": "3.0.1", + "version": "4.1.1", "bundled": true, "dev": true }, "init-package-json": { - "version": "5.0.0", + "version": "6.0.0", "bundled": true, "dev": true, "requires": { - "npm-package-arg": "^10.0.0", + "npm-package-arg": "^11.0.0", "promzard": "^1.0.0", "read": "^2.0.0", - "read-package-json": "^6.0.0", + "read-package-json": "^7.0.0", "semver": "^7.3.5", "validate-npm-package-license": "^3.0.4", "validate-npm-package-name": "^5.0.0" @@ -17950,7 +17801,7 @@ } }, "is-core-module": { - "version": "2.11.0", + "version": "2.12.1", "bundled": true, "dev": true, "requires": { @@ -17972,6 +17823,15 @@ "bundled": true, "dev": true }, + "jackspeak": { + "version": "2.3.6", + "bundled": true, + "dev": true, + "requires": { + "@isaacs/cliui": "^8.0.2", + "@pkgjs/parseargs": "^0.11.0" + } + }, "json-parse-even-better-errors": { "version": "3.0.0", "bundled": true, @@ -17988,7 +17848,7 @@ "dev": true }, "just-diff": { - "version": "6.0.0", + "version": "6.0.2", "bundled": true, "dev": true }, @@ -17998,159 +17858,154 @@ "dev": true }, "libnpmaccess": { - "version": "7.0.2", + "version": "8.0.1", "bundled": true, "dev": true, "requires": { - "npm-package-arg": "^10.1.0", - "npm-registry-fetch": "^14.0.3" + "npm-package-arg": "^11.0.1", + "npm-registry-fetch": "^16.0.0" } }, "libnpmdiff": { - "version": "5.0.14", + "version": "6.0.2", "bundled": true, "dev": true, "requires": { - "@npmcli/arborist": "^6.2.6", + "@npmcli/arborist": "^7.2.0", "@npmcli/disparity-colors": "^3.0.0", "@npmcli/installed-package-contents": "^2.0.2", "binary-extensions": "^2.2.0", "diff": "^5.1.0", - "minimatch": "^7.4.2", - "npm-package-arg": "^10.1.0", - "pacote": "^15.0.8", - "tar": "^6.1.13" + "minimatch": "^9.0.0", + "npm-package-arg": "^11.0.1", + "pacote": "^17.0.4", + "tar": "^6.2.0" } }, "libnpmexec": { - "version": "5.0.14", + "version": "7.0.2", "bundled": true, "dev": true, "requires": { - "@npmcli/arborist": "^6.2.6", - "@npmcli/run-script": "^6.0.0", - "chalk": "^4.1.0", + "@npmcli/arborist": "^7.2.0", + "@npmcli/run-script": "^7.0.1", "ci-info": "^3.7.1", - "npm-package-arg": "^10.1.0", + "npm-package-arg": "^11.0.1", "npmlog": "^7.0.1", - "pacote": "^15.0.8", + "pacote": "^17.0.4", "proc-log": "^3.0.0", "read": "^2.0.0", "read-package-json-fast": "^3.0.2", "semver": "^7.3.7", - "walk-up-path": "^1.0.0" + "walk-up-path": "^3.0.1" } }, "libnpmfund": { - "version": "4.0.14", + "version": "5.0.0", "bundled": true, "dev": true, "requires": { - "@npmcli/arborist": "^6.2.6" + "@npmcli/arborist": "^7.2.0" } }, "libnpmhook": { - "version": "9.0.3", + "version": "10.0.0", "bundled": true, "dev": true, "requires": { "aproba": "^2.0.0", - "npm-registry-fetch": "^14.0.3" + "npm-registry-fetch": "^16.0.0" } }, "libnpmorg": { - "version": "5.0.3", + "version": "6.0.1", "bundled": true, "dev": true, "requires": { "aproba": "^2.0.0", - "npm-registry-fetch": "^14.0.3" + "npm-registry-fetch": "^16.0.0" } }, "libnpmpack": { - "version": "5.0.14", + "version": "6.0.2", "bundled": true, "dev": true, "requires": { - "@npmcli/arborist": "^6.2.6", - "@npmcli/run-script": "^6.0.0", - "npm-package-arg": "^10.1.0", - "pacote": "^15.0.8" + "@npmcli/arborist": "^7.2.0", + "@npmcli/run-script": "^7.0.1", + "npm-package-arg": "^11.0.1", + "pacote": "^17.0.4" } }, "libnpmpublish": { - "version": "7.1.3", + "version": "9.0.1", "bundled": true, "dev": true, "requires": { "ci-info": "^3.6.1", - "normalize-package-data": "^5.0.0", - "npm-package-arg": "^10.1.0", - "npm-registry-fetch": "^14.0.3", + "normalize-package-data": "^6.0.0", + "npm-package-arg": "^11.0.1", + "npm-registry-fetch": "^16.0.0", "proc-log": "^3.0.0", "semver": "^7.3.7", - "sigstore": "^1.0.0", - "ssri": "^10.0.1" + "sigstore": "^2.1.0", + "ssri": "^10.0.5" } }, "libnpmsearch": { - "version": "6.0.2", + "version": "7.0.0", "bundled": true, "dev": true, "requires": { - "npm-registry-fetch": "^14.0.3" + "npm-registry-fetch": "^16.0.0" } }, "libnpmteam": { - "version": "5.0.3", + "version": "6.0.0", "bundled": true, "dev": true, "requires": { "aproba": "^2.0.0", - "npm-registry-fetch": "^14.0.3" + "npm-registry-fetch": "^16.0.0" } }, "libnpmversion": { - "version": "4.0.2", + "version": "5.0.0", "bundled": true, "dev": true, "requires": { - "@npmcli/git": "^4.0.1", - "@npmcli/run-script": "^6.0.0", + "@npmcli/git": "^5.0.3", + "@npmcli/run-script": "^7.0.1", "json-parse-even-better-errors": "^3.0.0", "proc-log": "^3.0.0", "semver": "^7.3.7" } }, "lru-cache": { - "version": "7.18.3", + "version": "10.0.1", "bundled": true, "dev": true }, "make-fetch-happen": { - "version": "11.0.3", + "version": "13.0.0", "bundled": true, "dev": true, "requires": { - "agentkeepalive": "^4.2.1", - "cacache": "^17.0.0", + "@npmcli/agent": "^2.0.0", + "cacache": "^18.0.0", "http-cache-semantics": "^4.1.1", - "http-proxy-agent": "^5.0.0", - "https-proxy-agent": "^5.0.0", "is-lambda": "^1.0.1", - "lru-cache": "^7.7.1", - "minipass": "^4.0.0", + "minipass": "^7.0.2", "minipass-fetch": "^3.0.0", "minipass-flush": "^1.0.5", "minipass-pipeline": "^1.2.4", "negotiator": "^0.6.3", "promise-retry": "^2.0.1", - "socks-proxy-agent": "^7.0.0", "ssri": "^10.0.0" } }, "minimatch": { - "version": "7.4.3", + "version": "9.0.3", "bundled": true, "dev": true, "requires": { @@ -18158,7 +18013,7 @@ } }, "minipass": { - "version": "4.2.5", + "version": "7.0.4", "bundled": true, "dev": true }, @@ -18181,12 +18036,12 @@ } }, "minipass-fetch": { - "version": "3.0.1", + "version": "3.0.4", "bundled": true, "dev": true, "requires": { "encoding": "^0.1.13", - "minipass": "^4.0.0", + "minipass": "^7.0.3", "minipass-sized": "^1.0.3", "minizlib": "^2.1.2" } @@ -18304,14 +18159,15 @@ "dev": true }, "node-gyp": { - "version": "9.3.1", + "version": "9.4.0", "bundled": true, "dev": true, "requires": { "env-paths": "^2.2.0", + "exponential-backoff": "^3.1.1", "glob": "^7.1.4", "graceful-fs": "^4.2.6", - "make-fetch-happen": "^10.0.3", + "make-fetch-happen": "^11.0.3", "nopt": "^6.0.0", "npmlog": "^6.0.0", "rimraf": "^3.0.2", @@ -18320,15 +18176,6 @@ "which": "^2.0.2" }, "dependencies": { - "@npmcli/fs": { - "version": "2.1.2", - "bundled": true, - "dev": true, - "requires": { - "@gar/promisify": "^1.1.3", - "semver": "^7.3.5" - } - }, "abbrev": { "version": "1.1.1", "bundled": true, @@ -18353,28 +18200,22 @@ } }, "cacache": { - "version": "16.1.3", + "version": "17.1.4", "bundled": true, "dev": true, "requires": { - "@npmcli/fs": "^2.1.0", - "@npmcli/move-file": "^2.0.0", - "chownr": "^2.0.0", - "fs-minipass": "^2.1.0", - "glob": "^8.0.1", - "infer-owner": "^1.0.4", + "@npmcli/fs": "^3.1.0", + "fs-minipass": "^3.0.0", + "glob": "^10.2.2", "lru-cache": "^7.7.1", - "minipass": "^3.1.6", + "minipass": "^7.0.3", "minipass-collect": "^1.0.2", "minipass-flush": "^1.0.5", "minipass-pipeline": "^1.2.4", - "mkdirp": "^1.0.4", "p-map": "^4.0.0", - "promise-inflight": "^1.0.1", - "rimraf": "^3.0.2", - "ssri": "^9.0.0", + "ssri": "^10.0.0", "tar": "^6.1.11", - "unique-filename": "^2.0.0" + "unique-filename": "^3.0.0" }, "dependencies": { "brace-expansion": { @@ -18386,35 +18227,32 @@ } }, "glob": { - "version": "8.1.0", + "version": "10.3.3", "bundled": true, "dev": true, "requires": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^5.0.1", - "once": "^1.3.0" + "foreground-child": "^3.1.0", + "jackspeak": "^2.0.3", + "minimatch": "^9.0.1", + "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0", + "path-scurry": "^1.10.1" } }, "minimatch": { - "version": "5.1.6", + "version": "9.0.3", "bundled": true, "dev": true, "requires": { "brace-expansion": "^2.0.1" } + }, + "minipass": { + "version": "7.0.3", + "bundled": true, + "dev": true } } }, - "fs-minipass": { - "version": "2.1.0", - "bundled": true, - "dev": true, - "requires": { - "minipass": "^3.0.0" - } - }, "gauge": { "version": "4.0.4", "bundled": true, @@ -18443,27 +18281,31 @@ "path-is-absolute": "^1.0.0" } }, + "lru-cache": { + "version": "7.18.3", + "bundled": true, + "dev": true + }, "make-fetch-happen": { - "version": "10.2.1", + "version": "11.1.1", "bundled": true, "dev": true, "requires": { "agentkeepalive": "^4.2.1", - "cacache": "^16.1.0", - "http-cache-semantics": "^4.1.0", + "cacache": "^17.0.0", + "http-cache-semantics": "^4.1.1", "http-proxy-agent": "^5.0.0", "https-proxy-agent": "^5.0.0", "is-lambda": "^1.0.1", "lru-cache": "^7.7.1", - "minipass": "^3.1.6", - "minipass-collect": "^1.0.2", - "minipass-fetch": "^2.0.3", + "minipass": "^5.0.0", + "minipass-fetch": "^3.0.0", "minipass-flush": "^1.0.5", "minipass-pipeline": "^1.2.4", "negotiator": "^0.6.3", "promise-retry": "^2.0.1", "socks-proxy-agent": "^7.0.0", - "ssri": "^9.0.0" + "ssri": "^10.0.0" } }, "minimatch": { @@ -18475,23 +18317,9 @@ } }, "minipass": { - "version": "3.3.6", - "bundled": true, - "dev": true, - "requires": { - "yallist": "^4.0.0" - } - }, - "minipass-fetch": { - "version": "2.1.2", + "version": "5.0.0", "bundled": true, - "dev": true, - "requires": { - "encoding": "^0.1.13", - "minipass": "^3.1.6", - "minipass-sized": "^1.0.3", - "minizlib": "^2.1.2" - } + "dev": true }, "nopt": { "version": "6.0.0", @@ -18522,29 +18350,10 @@ "util-deprecate": "^1.0.1" } }, - "ssri": { - "version": "9.0.1", - "bundled": true, - "dev": true, - "requires": { - "minipass": "^3.1.1" - } - }, - "unique-filename": { - "version": "2.0.1", - "bundled": true, - "dev": true, - "requires": { - "unique-slug": "^3.0.0" - } - }, - "unique-slug": { - "version": "3.0.0", + "signal-exit": { + "version": "3.0.7", "bundled": true, - "dev": true, - "requires": { - "imurmurhash": "^0.1.4" - } + "dev": true }, "which": { "version": "2.0.2", @@ -18557,7 +18366,7 @@ } }, "nopt": { - "version": "7.1.0", + "version": "7.2.0", "bundled": true, "dev": true, "requires": { @@ -18565,23 +18374,20 @@ } }, "normalize-package-data": { - "version": "5.0.0", + "version": "6.0.0", "bundled": true, "dev": true, "requires": { - "hosted-git-info": "^6.0.0", + "hosted-git-info": "^7.0.0", "is-core-module": "^2.8.1", "semver": "^7.3.5", "validate-npm-package-license": "^3.0.4" } }, "npm-audit-report": { - "version": "4.0.0", + "version": "5.0.0", "bundled": true, - "dev": true, - "requires": { - "chalk": "^4.0.0" - } + "dev": true }, "npm-bundled": { "version": "3.0.0", @@ -18592,7 +18398,7 @@ } }, "npm-install-checks": { - "version": "6.1.0", + "version": "6.2.0", "bundled": true, "dev": true, "requires": { @@ -18600,23 +18406,23 @@ } }, "npm-normalize-package-bin": { - "version": "3.0.0", + "version": "3.0.1", "bundled": true, "dev": true }, "npm-package-arg": { - "version": "10.1.0", + "version": "11.0.1", "bundled": true, "dev": true, "requires": { - "hosted-git-info": "^6.0.0", + "hosted-git-info": "^7.0.0", "proc-log": "^3.0.0", "semver": "^7.3.5", "validate-npm-package-name": "^5.0.0" } }, "npm-packlist": { - "version": "7.0.4", + "version": "8.0.0", "bundled": true, "dev": true, "requires": { @@ -18624,36 +18430,36 @@ } }, "npm-pick-manifest": { - "version": "8.0.1", + "version": "9.0.0", "bundled": true, "dev": true, "requires": { "npm-install-checks": "^6.0.0", "npm-normalize-package-bin": "^3.0.0", - "npm-package-arg": "^10.0.0", + "npm-package-arg": "^11.0.0", "semver": "^7.3.5" } }, "npm-profile": { - "version": "7.0.1", + "version": "9.0.0", "bundled": true, "dev": true, "requires": { - "npm-registry-fetch": "^14.0.0", + "npm-registry-fetch": "^16.0.0", "proc-log": "^3.0.0" } }, "npm-registry-fetch": { - "version": "14.0.3", + "version": "16.0.0", "bundled": true, "dev": true, "requires": { - "make-fetch-happen": "^11.0.0", - "minipass": "^4.0.0", + "make-fetch-happen": "^13.0.0", + "minipass": "^7.0.2", "minipass-fetch": "^3.0.0", "minipass-json-stream": "^1.0.1", "minizlib": "^2.1.2", - "npm-package-arg": "^10.0.0", + "npm-package-arg": "^11.0.0", "proc-log": "^3.0.0" } }, @@ -18690,26 +18496,26 @@ } }, "pacote": { - "version": "15.1.1", + "version": "17.0.4", "bundled": true, "dev": true, "requires": { - "@npmcli/git": "^4.0.0", + "@npmcli/git": "^5.0.0", "@npmcli/installed-package-contents": "^2.0.1", - "@npmcli/promise-spawn": "^6.0.1", - "@npmcli/run-script": "^6.0.0", - "cacache": "^17.0.0", + "@npmcli/promise-spawn": "^7.0.0", + "@npmcli/run-script": "^7.0.0", + "cacache": "^18.0.0", "fs-minipass": "^3.0.0", - "minipass": "^4.0.0", - "npm-package-arg": "^10.0.0", - "npm-packlist": "^7.0.0", - "npm-pick-manifest": "^8.0.0", - "npm-registry-fetch": "^14.0.0", + "minipass": "^7.0.2", + "npm-package-arg": "^11.0.0", + "npm-packlist": "^8.0.0", + "npm-pick-manifest": "^9.0.0", + "npm-registry-fetch": "^16.0.0", "proc-log": "^3.0.0", "promise-retry": "^2.0.1", - "read-package-json": "^6.0.0", + "read-package-json": "^7.0.0", "read-package-json-fast": "^3.0.0", - "sigstore": "^1.0.0", + "sigstore": "^2.0.0", "ssri": "^10.0.0", "tar": "^6.1.11" } @@ -18729,17 +18535,22 @@ "bundled": true, "dev": true }, + "path-key": { + "version": "3.1.1", + "bundled": true, + "dev": true + }, "path-scurry": { - "version": "1.6.1", + "version": "1.10.1", "bundled": true, "dev": true, "requires": { - "lru-cache": "^7.14.1", - "minipass": "^4.0.2" + "lru-cache": "^9.1.1 || ^10.0.0", + "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0" } }, "postcss-selector-parser": { - "version": "6.0.11", + "version": "6.0.13", "bundled": true, "dev": true, "requires": { @@ -18763,7 +18574,7 @@ "dev": true }, "promise-call-limit": { - "version": "1.0.1", + "version": "1.0.2", "bundled": true, "dev": true }, @@ -18795,7 +18606,7 @@ "dev": true }, "read": { - "version": "2.0.0", + "version": "2.1.0", "bundled": true, "dev": true, "requires": { @@ -18808,13 +18619,13 @@ "dev": true }, "read-package-json": { - "version": "6.0.1", + "version": "7.0.0", "bundled": true, "dev": true, "requires": { - "glob": "^9.3.0", + "glob": "^10.2.2", "json-parse-even-better-errors": "^3.0.0", - "normalize-package-data": "^5.0.0", + "normalize-package-data": "^6.0.0", "npm-normalize-package-bin": "^3.0.0" } }, @@ -18828,7 +18639,7 @@ } }, "readable-stream": { - "version": "4.3.0", + "version": "4.4.0", "bundled": true, "dev": true, "requires": { @@ -18884,7 +18695,7 @@ } }, "safe-buffer": { - "version": "5.1.2", + "version": "5.2.1", "bundled": true, "dev": true }, @@ -18895,7 +18706,7 @@ "optional": true }, "semver": { - "version": "7.3.8", + "version": "7.5.4", "bundled": true, "dev": true, "requires": { @@ -18917,19 +18728,33 @@ "bundled": true, "dev": true }, + "shebang-command": { + "version": "2.0.0", + "bundled": true, + "dev": true, + "requires": { + "shebang-regex": "^3.0.0" + } + }, + "shebang-regex": { + "version": "3.0.0", + "bundled": true, + "dev": true + }, "signal-exit": { - "version": "3.0.7", + "version": "4.0.2", "bundled": true, "dev": true }, "sigstore": { - "version": "1.2.0", + "version": "2.1.0", "bundled": true, "dev": true, "requires": { - "@sigstore/protobuf-specs": "^0.1.0", - "make-fetch-happen": "^11.0.1", - "tuf-js": "^1.0.0" + "@sigstore/bundle": "^2.1.0", + "@sigstore/protobuf-specs": "^0.2.1", + "@sigstore/sign": "^2.1.0", + "@sigstore/tuf": "^2.1.0" } }, "smart-buffer": { @@ -18985,19 +18810,19 @@ "dev": true }, "ssri": { - "version": "10.0.1", + "version": "10.0.5", "bundled": true, "dev": true, "requires": { - "minipass": "^4.0.0" + "minipass": "^7.0.3" } }, "string_decoder": { - "version": "1.1.1", + "version": "1.3.0", "bundled": true, "dev": true, "requires": { - "safe-buffer": "~5.1.0" + "safe-buffer": "~5.2.0" } }, "string-width": { @@ -19010,6 +18835,16 @@ "strip-ansi": "^6.0.1" } }, + "string-width-cjs": { + "version": "npm:string-width@4.2.3", + "bundled": true, + "dev": true, + "requires": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + } + }, "strip-ansi": { "version": "6.0.1", "bundled": true, @@ -19018,22 +18853,27 @@ "ansi-regex": "^5.0.1" } }, - "supports-color": { - "version": "7.2.0", + "strip-ansi-cjs": { + "version": "npm:strip-ansi@6.0.1", "bundled": true, "dev": true, "requires": { - "has-flag": "^4.0.0" + "ansi-regex": "^5.0.1" } }, + "supports-color": { + "version": "9.4.0", + "bundled": true, + "dev": true + }, "tar": { - "version": "6.1.13", + "version": "6.2.0", "bundled": true, "dev": true, "requires": { "chownr": "^2.0.0", "fs-minipass": "^2.0.0", - "minipass": "^4.0.0", + "minipass": "^5.0.0", "minizlib": "^2.1.1", "mkdirp": "^1.0.3", "yallist": "^4.0.0" @@ -19056,6 +18896,11 @@ } } } + }, + "minipass": { + "version": "5.0.0", + "bundled": true, + "dev": true } } }, @@ -19075,12 +18920,13 @@ "dev": true }, "tuf-js": { - "version": "1.1.2", + "version": "2.1.0", "bundled": true, "dev": true, "requires": { - "@tufjs/models": "1.0.1", - "make-fetch-happen": "^11.0.1" + "@tufjs/models": "2.0.0", + "debug": "^4.3.4", + "make-fetch-happen": "^13.0.0" } }, "unique-filename": { @@ -19122,7 +18968,7 @@ } }, "walk-up-path": { - "version": "1.0.0", + "version": "3.0.1", "bundled": true, "dev": true }, @@ -19135,11 +18981,18 @@ } }, "which": { - "version": "3.0.0", + "version": "4.0.0", "bundled": true, "dev": true, "requires": { - "isexe": "^2.0.0" + "isexe": "^3.1.1" + }, + "dependencies": { + "isexe": { + "version": "3.1.1", + "bundled": true, + "dev": true + } } }, "wide-align": { @@ -19150,18 +19003,73 @@ "string-width": "^1.0.2 || 2 || 3 || 4" } }, + "wrap-ansi": { + "version": "8.1.0", + "bundled": true, + "dev": true, + "requires": { + "ansi-styles": "^6.1.0", + "string-width": "^5.0.1", + "strip-ansi": "^7.0.1" + }, + "dependencies": { + "ansi-regex": { + "version": "6.0.1", + "bundled": true, + "dev": true + }, + "ansi-styles": { + "version": "6.2.1", + "bundled": true, + "dev": true + }, + "emoji-regex": { + "version": "9.2.2", + "bundled": true, + "dev": true + }, + "string-width": { + "version": "5.1.2", + "bundled": true, + "dev": true, + "requires": { + "eastasianwidth": "^0.2.0", + "emoji-regex": "^9.2.2", + "strip-ansi": "^7.0.1" + } + }, + "strip-ansi": { + "version": "7.1.0", + "bundled": true, + "dev": true, + "requires": { + "ansi-regex": "^6.0.1" + } + } + } + }, + "wrap-ansi-cjs": { + "version": "npm:wrap-ansi@7.0.0", + "bundled": true, + "dev": true, + "requires": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + } + }, "wrappy": { "version": "1.0.2", "bundled": true, "dev": true }, "write-file-atomic": { - "version": "5.0.0", + "version": "5.0.1", "bundled": true, "dev": true, "requires": { "imurmurhash": "^0.1.4", - "signal-exit": "^3.0.7" + "signal-exit": "^4.0.1" } }, "yallist": { @@ -19817,12 +19725,6 @@ "integrity": "sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA==", "dev": true }, - "q": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/q/-/q-1.5.1.tgz", - "integrity": "sha1-fjL3W0E4EpHQRhHxvxQQmsAGUdc=", - "dev": true - }, "qs": { "version": "6.11.0", "resolved": "https://registry.npmjs.org/qs/-/qs-6.11.0.tgz", @@ -19847,12 +19749,6 @@ "tslib": "^2.5.0" } }, - "quick-lru": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/quick-lru/-/quick-lru-4.0.1.tgz", - "integrity": "sha512-ARhCpm70fzdcvNQfPoy49IaanKkTlRWF2JMzqhcJbhSFRZv7nPTvZJdcY7301IPmvW+/p0RgIWnQDLJxifsQ7g==", - "dev": true - }, "randombytes": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", @@ -19994,57 +19890,114 @@ } }, "read-pkg-up": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-7.0.1.tgz", - "integrity": "sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg==", + "version": "10.1.0", + "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-10.1.0.tgz", + "integrity": "sha512-aNtBq4jR8NawpKJQldrQcSW9y/d+KWH4v24HWkHljOZ7H0av+YTGANBzRh9A5pw7v/bLVsLVPpOhJ7gHNVy8lA==", "dev": true, "requires": { - "find-up": "^4.1.0", - "read-pkg": "^5.2.0", - "type-fest": "^0.8.1" + "find-up": "^6.3.0", + "read-pkg": "^8.1.0", + "type-fest": "^4.2.0" }, "dependencies": { "find-up": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", - "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-6.3.0.tgz", + "integrity": "sha512-v2ZsoEuVHYy8ZIlYqwPe/39Cy+cFDzp4dXPaxNvkEuouymu+2Jbz0PxpKarJHYJTmv2HWT3O382qY8l4jMWthw==", "dev": true, "requires": { - "locate-path": "^5.0.0", - "path-exists": "^4.0.0" + "locate-path": "^7.1.0", + "path-exists": "^5.0.0" } }, + "json-parse-even-better-errors": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-3.0.0.tgz", + "integrity": "sha512-iZbGHafX/59r39gPwVPRBGw0QQKnA7tte5pSMrhWOW7swGsVvVTjmfyAV9pNqk8YGT7tRCdxRu8uzcgZwoDooA==", + "dev": true + }, + "lines-and-columns": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-2.0.3.tgz", + "integrity": "sha512-cNOjgCnLB+FnvWWtyRTzmB3POJ+cXxTA81LoW7u8JdmhfXzriropYwpjShnz1QLLWsQwY7nIxoDmcPTwphDK9w==", + "dev": true + }, "locate-path": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", - "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-7.2.0.tgz", + "integrity": "sha512-gvVijfZvn7R+2qyPX8mAuKcFGDf6Nc61GdvGafQsHL0sBIxfKzA+usWn4GFC/bk+QdwPUD4kWFJLhElipq+0VA==", "dev": true, "requires": { - "p-locate": "^4.1.0" + "p-locate": "^6.0.0" } }, "p-limit": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", - "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-4.0.0.tgz", + "integrity": "sha512-5b0R4txpzjPWVw/cXXUResoD4hb6U/x9BH08L7nw+GN1sezDzPdxeRvpc9c433fZhBan/wusjbCsqwqm4EIBIQ==", "dev": true, "requires": { - "p-try": "^2.0.0" + "yocto-queue": "^1.0.0" } }, "p-locate": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", - "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-6.0.0.tgz", + "integrity": "sha512-wPrq66Llhl7/4AGC6I+cqxT07LhXvWL08LNXz1fENOw0Ap4sRZZ/gZpTTJ5jpurzzzfS2W/Ge9BY3LgLjCShcw==", "dev": true, "requires": { - "p-limit": "^2.2.0" + "p-limit": "^4.0.0" + } + }, + "parse-json": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-7.1.0.tgz", + "integrity": "sha512-ihtdrgbqdONYD156Ap6qTcaGcGdkdAxodO1wLqQ/j7HP1u2sFYppINiq4jyC8F+Nm+4fVufylCV00QmkTHkSUg==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.21.4", + "error-ex": "^1.3.2", + "json-parse-even-better-errors": "^3.0.0", + "lines-and-columns": "^2.0.3", + "type-fest": "^3.8.0" + }, + "dependencies": { + "type-fest": { + "version": "3.13.1", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-3.13.1.tgz", + "integrity": "sha512-tLq3bSNx+xSpwvAJnzrK0Ep5CLNWjvFTOp71URMaAEWBfRb9nnJiBoUe0tF8bI4ZFO3omgBR6NvnbzVUT3Ly4g==", + "dev": true + } + } + }, + "path-exists": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-5.0.0.tgz", + "integrity": "sha512-RjhtfwJOxzcFmNOi6ltcbcu4Iu+FL3zEj83dk4kAS+fVpTxXLO1b38RvJgT/0QwvV/L3aY9TAnyv0EOqW4GoMQ==", + "dev": true + }, + "read-pkg": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-8.1.0.tgz", + "integrity": "sha512-PORM8AgzXeskHO/WEv312k9U03B8K9JSiWF/8N9sUuFjBa+9SF2u6K7VClzXwDXab51jCd8Nd36CNM+zR97ScQ==", + "dev": true, + "requires": { + "@types/normalize-package-data": "^2.4.1", + "normalize-package-data": "^6.0.0", + "parse-json": "^7.0.0", + "type-fest": "^4.2.0" } }, "type-fest": { - "version": "0.8.1", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz", - "integrity": "sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==", + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-4.4.0.tgz", + "integrity": "sha512-HT3RRs7sTfY22KuPQJkD/XjbTbxgP2Je5HPt6H6JEGvcjHd5Lqru75EbrP3tb4FYjNJ+DjLp+MNQTFQU0mhXNw==", + "dev": true + }, + "yocto-queue": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-1.0.0.tgz", + "integrity": "sha512-9bnSc/HEW2uRy67wc+T8UwauLuPJVn28jb+GtJY16iiKWyvmYJRXVT4UamsAEGQfPohgr2q4Tq0sQbQlxTfi1g==", "dev": true } } @@ -20085,16 +20038,6 @@ "picomatch": "^2.2.1" } }, - "redent": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/redent/-/redent-3.0.0.tgz", - "integrity": "sha512-6tDA8g98We0zd0GvVeMT9arEOnTw9qM03L9cJXaCjrip1OO764RDBLBfrB4cwzNGDj5OA5ioymC9GkizgWJDUg==", - "dev": true, - "requires": { - "indent-string": "^4.0.0", - "strip-indent": "^3.0.0" - } - }, "redeyed": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/redeyed/-/redeyed-2.1.1.tgz", @@ -20199,20 +20142,20 @@ "dev": true }, "semantic-release": { - "version": "21.1.2", - "resolved": "https://registry.npmjs.org/semantic-release/-/semantic-release-21.1.2.tgz", - "integrity": "sha512-kz76azHrT8+VEkQjoCBHE06JNQgTgsC4bT8XfCzb7DHcsk9vG3fqeMVik8h5rcWCYi2Fd+M3bwA7BG8Z8cRwtA==", + "version": "22.0.5", + "resolved": "https://registry.npmjs.org/semantic-release/-/semantic-release-22.0.5.tgz", + "integrity": "sha512-ESCEQsZlBj1DWMA84RthaJzQHHnihoGk49s9nUxHfRNUNZelLE9JZrE94bHO2Y00EWb7iwrzr1OYhv5QNVmf8A==", "dev": true, "requires": { - "@semantic-release/commit-analyzer": "^10.0.0", + "@semantic-release/commit-analyzer": "^11.0.0", "@semantic-release/error": "^4.0.0", "@semantic-release/github": "^9.0.0", - "@semantic-release/npm": "^10.0.2", - "@semantic-release/release-notes-generator": "^11.0.0", + "@semantic-release/npm": "^11.0.0", + "@semantic-release/release-notes-generator": "^12.0.0", "aggregate-error": "^5.0.0", "cosmiconfig": "^8.0.0", "debug": "^4.0.0", - "env-ci": "^9.0.0", + "env-ci": "^10.0.0", "execa": "^8.0.0", "figures": "^5.0.0", "find-versions": "^5.1.0", @@ -20221,8 +20164,8 @@ "hook-std": "^3.0.0", "hosted-git-info": "^7.0.0", "lodash-es": "^4.17.21", - "marked": "^5.0.0", - "marked-terminal": "^5.1.1", + "marked": "^9.0.0", + "marked-terminal": "^6.0.0", "micromatch": "^4.0.2", "p-each-series": "^3.0.0", "p-reduce": "^3.0.0", @@ -20295,25 +20238,6 @@ } } }, - "find-up": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-6.3.0.tgz", - "integrity": "sha512-v2ZsoEuVHYy8ZIlYqwPe/39Cy+cFDzp4dXPaxNvkEuouymu+2Jbz0PxpKarJHYJTmv2HWT3O382qY8l4jMWthw==", - "dev": true, - "requires": { - "locate-path": "^7.1.0", - "path-exists": "^5.0.0" - } - }, - "hosted-git-info": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-7.0.0.tgz", - "integrity": "sha512-ICclEpTLhHj+zCuSb2/usoNXSVkxUSIopre+b1w8NDY9Dntp9LO4vLdHYI336TH8sAqwrRgnSfdkBG2/YpisHA==", - "dev": true, - "requires": { - "lru-cache": "^10.0.1" - } - }, "human-signals": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-5.0.0.tgz", @@ -20332,37 +20256,10 @@ "integrity": "sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA==", "dev": true }, - "json-parse-even-better-errors": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-3.0.0.tgz", - "integrity": "sha512-iZbGHafX/59r39gPwVPRBGw0QQKnA7tte5pSMrhWOW7swGsVvVTjmfyAV9pNqk8YGT7tRCdxRu8uzcgZwoDooA==", - "dev": true - }, - "lines-and-columns": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-2.0.3.tgz", - "integrity": "sha512-cNOjgCnLB+FnvWWtyRTzmB3POJ+cXxTA81LoW7u8JdmhfXzriropYwpjShnz1QLLWsQwY7nIxoDmcPTwphDK9w==", - "dev": true - }, - "locate-path": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-7.2.0.tgz", - "integrity": "sha512-gvVijfZvn7R+2qyPX8mAuKcFGDf6Nc61GdvGafQsHL0sBIxfKzA+usWn4GFC/bk+QdwPUD4kWFJLhElipq+0VA==", - "dev": true, - "requires": { - "p-locate": "^6.0.0" - } - }, - "lru-cache": { - "version": "10.0.1", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.0.1.tgz", - "integrity": "sha512-IJ4uwUTi2qCccrioU6g9g/5rvvVl13bsdczUUcqbciD9iLr095yj8DQKdObriEvuNSx325N1rV1O0sJFszx75g==", - "dev": true - }, "marked": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/marked/-/marked-5.1.0.tgz", - "integrity": "sha512-z3/nBe7aTI8JDszlYLk7dDVNpngjw0o1ZJtrA9kIfkkHcIF+xH7mO23aISl4WxP83elU+MFROgahqdpd05lMEQ==", + "version": "9.1.2", + "resolved": "https://registry.npmjs.org/marked/-/marked-9.1.2.tgz", + "integrity": "sha512-qoKMJqK0w6vkLk8+KnKZAH6neUZSNaQqVZ/h2yZ9S7CbLuFHyS2viB0jnqcWF9UKjwsAbMrQtnQhdmdvOVOw9w==", "dev": true }, "mimic-fn": { @@ -20371,35 +20268,6 @@ "integrity": "sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw==", "dev": true }, - "normalize-package-data": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-5.0.0.tgz", - "integrity": "sha512-h9iPVIfrVZ9wVYQnxFgtw1ugSvGEMOlyPWWtm8BMJhnwyEL/FLbYbTY3V3PpjI/BUK67n9PEWDu6eHzu1fB15Q==", - "dev": true, - "requires": { - "hosted-git-info": "^6.0.0", - "is-core-module": "^2.8.1", - "semver": "^7.3.5", - "validate-npm-package-license": "^3.0.4" - }, - "dependencies": { - "hosted-git-info": { - "version": "6.1.1", - "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-6.1.1.tgz", - "integrity": "sha512-r0EI+HBMcXadMrugk0GCQ+6BQV39PiWAZVfq7oIckeGiN7sjRGyQxPdft3nQekFTCQbYxLBH+/axZMeH8UX6+w==", - "dev": true, - "requires": { - "lru-cache": "^7.5.1" - } - }, - "lru-cache": { - "version": "7.18.3", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-7.18.3.tgz", - "integrity": "sha512-jumlc0BIUrS3qJGgIkWZsyfAM7NCWiBcCDhnd+3NNM5KbBmLTgHVfWBcg6W+rLUsIpzpERPsvwUP7CckAQSOoA==", - "dev": true - } - } - }, "npm-run-path": { "version": "5.1.0", "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-5.1.0.tgz", @@ -20418,78 +20286,18 @@ "mimic-fn": "^4.0.0" } }, - "p-limit": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-4.0.0.tgz", - "integrity": "sha512-5b0R4txpzjPWVw/cXXUResoD4hb6U/x9BH08L7nw+GN1sezDzPdxeRvpc9c433fZhBan/wusjbCsqwqm4EIBIQ==", - "dev": true, - "requires": { - "yocto-queue": "^1.0.0" - } - }, - "p-locate": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-6.0.0.tgz", - "integrity": "sha512-wPrq66Llhl7/4AGC6I+cqxT07LhXvWL08LNXz1fENOw0Ap4sRZZ/gZpTTJ5jpurzzzfS2W/Ge9BY3LgLjCShcw==", - "dev": true, - "requires": { - "p-limit": "^4.0.0" - } - }, "p-reduce": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/p-reduce/-/p-reduce-3.0.0.tgz", "integrity": "sha512-xsrIUgI0Kn6iyDYm9StOpOeK29XM1aboGji26+QEortiFST1hGZaUQOLhtEbqHErPpGW/aSz6allwK2qcptp0Q==", "dev": true }, - "parse-json": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-7.0.0.tgz", - "integrity": "sha512-kP+TQYAzAiVnzOlWOe0diD6L35s9bJh0SCn95PIbZFKrOYuIRQsQkeWEYxzVDuHTt9V9YqvYCJ2Qo4z9wdfZPw==", - "dev": true, - "requires": { - "@babel/code-frame": "^7.21.4", - "error-ex": "^1.3.2", - "json-parse-even-better-errors": "^3.0.0", - "lines-and-columns": "^2.0.3", - "type-fest": "^3.8.0" - } - }, - "path-exists": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-5.0.0.tgz", - "integrity": "sha512-RjhtfwJOxzcFmNOi6ltcbcu4Iu+FL3zEj83dk4kAS+fVpTxXLO1b38RvJgT/0QwvV/L3aY9TAnyv0EOqW4GoMQ==", - "dev": true - }, "path-key": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/path-key/-/path-key-4.0.0.tgz", "integrity": "sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ==", "dev": true }, - "read-pkg": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-8.0.0.tgz", - "integrity": "sha512-Ajb9oSjxXBw0YyOiwtQ2dKbAA/vMnUPnY63XcCk+mXo0BwIdQEMgZLZiMWGttQHcUhUgbK0mH85ethMPKXxziw==", - "dev": true, - "requires": { - "@types/normalize-package-data": "^2.4.1", - "normalize-package-data": "^5.0.0", - "parse-json": "^7.0.0", - "type-fest": "^3.8.0" - } - }, - "read-pkg-up": { - "version": "10.0.0", - "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-10.0.0.tgz", - "integrity": "sha512-jgmKiS//w2Zs+YbX039CorlkOp8FIVbSAN8r8GJHDsGlmNPXo+VeHkqAwCiQVTTx5/LwLZTcEw59z3DvcLbr0g==", - "dev": true, - "requires": { - "find-up": "^6.3.0", - "read-pkg": "^8.0.0", - "type-fest": "^3.12.0" - } - }, "resolve-from": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", @@ -20508,12 +20316,6 @@ "integrity": "sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw==", "dev": true }, - "type-fest": { - "version": "3.13.0", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-3.13.0.tgz", - "integrity": "sha512-Gur3yQGM9qiLNs0KPP7LPgeRbio2QTt4xXouobMCarR0/wyW3F+F/+OWwshg3NG0Adon7uQfSZBpB46NfhoF1A==", - "dev": true - }, "yargs": { "version": "17.6.2", "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.6.2.tgz", @@ -20534,12 +20336,6 @@ "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz", "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==", "dev": true - }, - "yocto-queue": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-1.0.0.tgz", - "integrity": "sha512-9bnSc/HEW2uRy67wc+T8UwauLuPJVn28jb+GtJY16iiKWyvmYJRXVT4UamsAEGQfPohgr2q4Tq0sQbQlxTfi1g==", - "dev": true } } }, @@ -20710,6 +20506,15 @@ } } }, + "skin-tone": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/skin-tone/-/skin-tone-2.0.0.tgz", + "integrity": "sha512-kUMbT1oBJCpgrnKoSr0o6wPtvRWT9W9UKvGLwfJYO2WuahZRHOpEyL1ckyMGgMWh0UdpmaoFqKKD29WTomNEGA==", + "dev": true, + "requires": { + "unicode-emoji-modifier-base": "^1.0.0" + } + }, "slash": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", @@ -20818,36 +20623,11 @@ "spdx-ranges": "^2.0.0" } }, - "split": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/split/-/split-1.0.1.tgz", - "integrity": "sha512-mTyOoPbrivtXnwnIxZRFYRrPNtEFKlpB2fvjSnCQUiAA6qAZzqwna5envK4uk6OIeP17CsdF3rSBGYVBsU0Tkg==", - "dev": true, - "requires": { - "through": "2" - } - }, "split2": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/split2/-/split2-3.2.2.tgz", - "integrity": "sha512-9NThjpgZnifTkJpzTZ7Eue85S49QwpNhZTq6GRJwObb6jnLFNGB7Qm73V5HewTROPyxD0C29xqmaI68bQtV+hg==", - "dev": true, - "requires": { - "readable-stream": "^3.0.0" - }, - "dependencies": { - "readable-stream": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", - "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", - "dev": true, - "requires": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - } - } - } + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/split2/-/split2-4.2.0.tgz", + "integrity": "sha512-UcjcJOWknrNkF6PLX83qcHM6KHgVKNkV62Y8a5uYDVv9ydGQVwAHMKqHdJje1VTWpljG0WYpCDhrCdAOYH4TWg==", + "dev": true }, "sprintf-js": { "version": "1.0.3", @@ -20906,15 +20686,6 @@ "integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==", "dev": true }, - "strip-indent": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-3.0.0.tgz", - "integrity": "sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ==", - "dev": true, - "requires": { - "min-indent": "^1.0.0" - } - }, "strip-json-comments": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", @@ -20984,9 +20755,9 @@ } }, "supports-hyperlinks": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/supports-hyperlinks/-/supports-hyperlinks-2.3.0.tgz", - "integrity": "sha512-RpsAZlpWcDwOPQA22aCH4J0t7L8JmAvsCxfOSEwm7cQs3LshN36QaTkwd70DnBOXDWGssw2eUoc8CaRWT0XunA==", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/supports-hyperlinks/-/supports-hyperlinks-3.0.0.tgz", + "integrity": "sha512-QBDPHyPQDRTy9ku4URNGY5Lah8PAaXs6tAAwp55sL5WCsSW7GIfdf6W5ixfziW+t7wh3GVvHyHHyQ1ESsoRvaA==", "dev": true, "requires": { "has-flag": "^4.0.0", @@ -21052,9 +20823,9 @@ } }, "text-extensions": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/text-extensions/-/text-extensions-1.9.0.tgz", - "integrity": "sha512-wiBrwC1EhBelW12Zy26JeOUkQ5mRu+5o8rpsJk5+2t+Y5vE7e842qtZDQ2g1NpX/29HdyFeJ4nSIhI47ENSxlQ==", + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/text-extensions/-/text-extensions-2.4.0.tgz", + "integrity": "sha512-te/NtwBwfiNRLf9Ijqx3T0nlqZiQ2XrrtBvu+cLL8ZRrGkO0NHTug8MYFKyoSrv/sHTaSKfilUkizV6XhxMJ3g==", "dev": true }, "text-table": { @@ -21111,31 +20882,9 @@ "through": { "version": "2.3.8", "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", - "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=", + "integrity": "sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==", "dev": true }, - "through2": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/through2/-/through2-4.0.2.tgz", - "integrity": "sha512-iOqSav00cVxEEICeD7TjLB1sueEL+81Wpzp2bY17uZjZN0pWZPuo4suZ/61VujxmqSGFfgOcNuTZ85QJwNZQpw==", - "dev": true, - "requires": { - "readable-stream": "3" - }, - "dependencies": { - "readable-stream": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", - "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", - "dev": true, - "requires": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - } - } - } - }, "to-fast-properties": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", @@ -21178,12 +20927,6 @@ "integrity": "sha512-1m4RA7xVAJrSGrrXGs0L3YTwyvBs2S8PbRHaLZAkFw7JR8oIFwYtysxlBZhYIa7xSyiYJKZ3iGrrk55cGA3i9A==", "dev": true }, - "trim-newlines": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/trim-newlines/-/trim-newlines-3.0.1.tgz", - "integrity": "sha512-c1PTsA3tYrIsLGkJkzHF+w9F2EyxfXGo4UyJc4pFL++FMjnq0HJS69T3M7d//gKrFKwy429bouPescbjecU+Zw==", - "dev": true - }, "trim-repeated": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/trim-repeated/-/trim-repeated-1.0.0.tgz", @@ -21319,9 +21062,9 @@ } }, "typedoc": { - "version": "0.25.1", - "resolved": "https://registry.npmjs.org/typedoc/-/typedoc-0.25.1.tgz", - "integrity": "sha512-c2ye3YUtGIadxN2O6YwPEXgrZcvhlZ6HlhWZ8jQRNzwLPn2ylhdGqdR8HbyDRyALP8J6lmSANILCkkIdNPFxqA==", + "version": "0.25.2", + "resolved": "https://registry.npmjs.org/typedoc/-/typedoc-0.25.2.tgz", + "integrity": "sha512-286F7BeATBiWe/qC4PCOCKlSTwfnsLbC/4cZ68oGBbvAqb9vV33quEOXx7q176OXotD+JdEerdQ1OZGJ818lnA==", "dev": true, "requires": { "lunr": "^2.3.9", @@ -21363,6 +21106,12 @@ "dev": true, "optional": true }, + "unicode-emoji-modifier-base": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/unicode-emoji-modifier-base/-/unicode-emoji-modifier-base-1.0.0.tgz", + "integrity": "sha512-yLSH4py7oFH3oG/9K+XWrz1pSi3dfUrWEnInbxMfArOfc1+33BlGPQtLsOYwvdMy11AwUBetYuaRxSPqgkq+8g==", + "dev": true + }, "unique-string": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/unique-string/-/unique-string-3.0.0.tgz", diff --git a/package.json b/package.json index fecafa32e..82d5b84dd 100644 --- a/package.json +++ b/package.json @@ -15,7 +15,7 @@ "@semantic-release/changelog": "^6.0.3", "@semantic-release/exec": "^6.0.3", "@semantic-release/git": "^10.0.1", - "@semantic-release/npm": "^10.0.6", + "@semantic-release/npm": "^11.0.0", "@touch4it/ical-timezones": "^1.9.0", "@types/luxon": "^3.3.2", "@types/mocha": "^10.0.2", @@ -24,8 +24,8 @@ "@typescript-eslint/parser": "^6.7.0", "c8": "^8.0.1", "dayjs": "^1.11.10", - "eslint": "^8.49.0", - "eslint-plugin-jsonc": "^2.9.0", + "eslint": "^8.51.0", + "eslint-plugin-jsonc": "^2.10.0", "esm": "^3.2.25", "license-checker": "^25.0.1", "luxon": "^3.4.3", @@ -36,12 +36,12 @@ "nyc": "^15.1.0", "portfinder": "^1.0.32", "rrule": "^2.7.2", - "semantic-release": "^21.1.2", + "semantic-release": "^22.0.5", "semantic-release-license": "^1.0.2", "source-map-support": "^0.5.21", "ts-node": "^10.9.1", "tsup": "^7.2.0", - "typedoc": "^0.25.1", + "typedoc": "^0.25.2", "typescript": "^5.2.2" }, "engines": { From f1328a3b790507037efeb39431044c0970117cac Mon Sep 17 00:00:00 2001 From: Sebastian Pekarek Date: Thu, 19 Oct 2023 17:14:09 +0200 Subject: [PATCH 22/39] feat: Ensure Calendar is renderable all the time MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This commit changes the behavior of `ical-generator` so that `ICalCalendar` objects can be serialized with `toString()` at any time, as long as the types are adhered to. This leads to some breaking changes. close #344 BREAKING CHANGE: `Alarm.trigger` now defaults to 10min before event, `Alarm.type` now defaults to `display`, `Alarm.interval()` got removed, use `Alarm.repeat()` instead, `Alarm.repeat()` now gives/takes an object instead of a number, `Attendee.email` can’t be `null | undefined`, `Category.name` can’t be `null | undefined`, `Event.start` now defaults to now (`new Date()`). For details and examples checkout the migration guide at https://github.com/sebbo2002/ical-generator/wiki/Migration-Guide:-v5-%E2%86%92-v6 --- src/alarm.ts | 181 +++++++----------- src/attendee.ts | 21 ++- src/category.ts | 18 +- src/event.ts | 30 ++- src/index.ts | 1 + test/alarm.ts | 480 +++++++++++++++++++++++++++-------------------- test/attendee.ts | 274 ++++++++++++++++++++------- test/calendar.ts | 17 +- test/cases.ts | 6 +- test/category.ts | 25 ++- test/event.ts | 415 ++++++++++++++++++++++++---------------- test/tools.ts | 2 +- tsconfig.json | 1 + 13 files changed, 866 insertions(+), 605 deletions(-) diff --git a/src/alarm.ts b/src/alarm.ts index 88760bb5d..307c74512 100755 --- a/src/alarm.ts +++ b/src/alarm.ts @@ -32,24 +32,34 @@ export interface ICalAttachment { mime: string | null; } -export interface ICalAlarmData { - type?: ICalAlarmType | null; - trigger?: number | ICalDateTimeValue | null; +export type ICalAlarmData = ICalAlarmBaseData | + ICalAlarmTriggerData | + ICalAlarmTriggerAfterData | + ICalAlarmTriggerBeforeData; + +type ICalAlarmTriggerData = ICalAlarmBaseData & { trigger: number | ICalDateTimeValue }; +type ICalAlarmTriggerAfterData = ICalAlarmBaseData & { triggerAfter: number | ICalDateTimeValue }; +type ICalAlarmTriggerBeforeData = ICalAlarmBaseData & { triggerBefore: number | ICalDateTimeValue }; + +interface ICalAlarmBaseData { + type?: ICalAlarmType; relatesTo?: ICalAlarmRelatesTo | null; - triggerBefore?: number | ICalDateTimeValue | null; - triggerAfter?: number | ICalDateTimeValue | null; - repeat?: number | null; - interval?: number | null; + repeat?: ICalAlarmRepeatData | null; attach?: string | ICalAttachment | null; description?: string | null; x?: {key: string, value: string}[] | [string, string][] | Record; } +export interface ICalAlarmRepeatData { + times: number; + interval: number; +} + interface ICalInternalAlarmData { - type: ICalAlarmType | null; - trigger: ICalDateTimeValue | number | null; + type: ICalAlarmType; + trigger: ICalDateTimeValue | number; relatesTo: ICalAlarmRelatesTo | null; - repeat: number | null; + repeat: ICalAlarmRepeatData | null; interval: number | null; attach: ICalAttachment | null; description: string | null; @@ -57,10 +67,10 @@ interface ICalInternalAlarmData { } export interface ICalAlarmJSONData { - type: ICalAlarmType | null; - trigger: string | number | null; + type: ICalAlarmType; + trigger: string | number; relatesTo: ICalAlarmRelatesTo | null; - repeat: number | null; + repeat: ICalAlarmRepeatData | null; interval: number | null; attach: ICalAttachment | null; description: string | null; @@ -99,8 +109,8 @@ export default class ICalAlarm { */ constructor (data: ICalAlarmData, event: ICalEvent) { this.data = { - type: null, - trigger: null, + type: ICalAlarmType.display, + trigger: -600, relatesTo: null, repeat: null, interval: null, @@ -115,11 +125,10 @@ export default class ICalAlarm { } data.type !== undefined && this.type(data.type); - data.trigger !== undefined && this.trigger(data.trigger); - data.triggerBefore !== undefined && this.triggerBefore(data.triggerBefore); - data.triggerAfter !== undefined && this.triggerAfter(data.triggerAfter); - data.repeat !== undefined && this.repeat(data.repeat); - data.interval !== undefined && this.interval(data.interval); + 'trigger' in data && data.trigger !== undefined && this.trigger(data.trigger); + 'triggerBefore' in data && data.triggerBefore !== undefined && this.triggerBefore(data.triggerBefore); + 'triggerAfter' in data && data.triggerAfter !== undefined && this.triggerAfter(data.triggerAfter); + data.repeat && this.repeat(data.repeat); data.attach !== undefined && this.attach(data.attach); data.description !== undefined && this.description(data.description); data.x !== undefined && this.x(data.x); @@ -130,24 +139,19 @@ export default class ICalAlarm { * Get the alarm type * @since 0.2.1 */ - type (type: ICalAlarmType | null): this; + type (type: ICalAlarmType): this; /** * Set the alarm type. See [[`ICalAlarmType`]] * for available status options. * @since 0.2.1 */ - type (): ICalAlarmType | null; - type (type?: ICalAlarmType | null): this | ICalAlarmType | null { + type (): ICalAlarmType; + type (type?: ICalAlarmType): this | ICalAlarmType { if (type === undefined) { return this.data.type; } - if (!type) { - this.data.type = null; - return this; - } - - if (!Object.keys(ICalAlarmType).includes(type)) { + if (!type || !Object.keys(ICalAlarmType).includes(type)) { throw new Error('`type` is not correct, must be either `display` or `audio`!'); } @@ -165,7 +169,7 @@ export default class ICalAlarm { * * @since 0.2.1 */ - trigger (): number | ICalDateTimeValue | null; + trigger (): number | ICalDateTimeValue; /** * Use this method to set the alarm time. @@ -185,28 +189,22 @@ export default class ICalAlarm { * * @since 0.2.1 */ - trigger (trigger: number | ICalDateTimeValue | Date | null): this; - trigger (trigger?: number | ICalDateTimeValue | Date | null): this | number | ICalDateTimeValue | null { + trigger (trigger: number | ICalDateTimeValue | Date): this; + trigger (trigger?: number | ICalDateTimeValue | Date): this | number | ICalDateTimeValue { // Getter if (trigger === undefined && typeof this.data.trigger === 'number') { return -1 * this.data.trigger; } - if (trigger === undefined && this.data.trigger) { - return this.data.trigger; - } if (trigger === undefined) { - return null; + return this.data.trigger; } // Setter - if (!trigger) { - this.data.trigger = null; - } - else if (typeof trigger === 'number' && isFinite(trigger)) { + if (typeof trigger === 'number' && isFinite(trigger)) { this.data.trigger = -1 * trigger; } - else if(typeof trigger === 'number') { + else if(!trigger || typeof trigger === 'number') { throw new Error('`trigger` is not correct, must be a finite number or a supported date!'); } else { @@ -275,7 +273,7 @@ export default class ICalAlarm { * * @since 0.2.1 */ - triggerAfter (): number | ICalDateTimeValue | null; + triggerAfter (): number | ICalDateTimeValue; /** * Use this method to set the alarm time. Unlike `trigger`, this time @@ -295,8 +293,8 @@ export default class ICalAlarm { * * @since 0.2.1 */ - triggerAfter (trigger: number | ICalDateTimeValue | null): this; - triggerAfter (trigger?: number | ICalDateTimeValue | null): this | number | ICalDateTimeValue | null { + triggerAfter (trigger: number | ICalDateTimeValue): this; + triggerAfter (trigger?: number | ICalDateTimeValue): this | number | ICalDateTimeValue { if (trigger === undefined) { return this.data.trigger; } @@ -315,7 +313,7 @@ export default class ICalAlarm { * @since 0.2.1 * @alias trigger */ - triggerBefore (trigger: number | ICalDateTimeValue | null): this; + triggerBefore (trigger: number | ICalDateTimeValue): this; /** * Use this method to set the alarm time. @@ -336,8 +334,8 @@ export default class ICalAlarm { * @since 0.2.1 * @alias trigger */ - triggerBefore (): number | ICalDateTimeValue | null; - triggerBefore (trigger?: number | ICalDateTimeValue | null): this | number | ICalDateTimeValue | null { + triggerBefore (): number | ICalDateTimeValue; + triggerBefore (trigger?: number | ICalDateTimeValue): this | number | ICalDateTimeValue { if(trigger === undefined) { return this.trigger(); } @@ -350,7 +348,7 @@ export default class ICalAlarm { * Get Alarm Repetitions * @since 0.2.1 */ - repeat(): number | null; + repeat(): ICalAlarmRepeatData | null; /** * Set Alarm Repetitions. Use this to repeat the alarm. @@ -361,15 +359,17 @@ export default class ICalAlarm { * * // repeat the alarm 4 times every 5 minutes… * cal.createAlarm({ - * repeat: 4, - * interval: 300 + * repeat: { + * times: 4, + * interval: 300 + * } * }); * ``` * * @since 0.2.1 */ - repeat(repeat: number | null): this; - repeat (repeat?: number | null): this | number | null { + repeat(repeat: ICalAlarmRepeatData): this; + repeat (repeat?: ICalAlarmRepeatData | null): this | ICalAlarmRepeatData | null { if (repeat === undefined) { return this.data.repeat; } @@ -378,52 +378,17 @@ export default class ICalAlarm { return this; } - if (typeof repeat !== 'number' || !isFinite(repeat)) { - throw new Error('`repeat` is not correct, must be numeric!'); + if (typeof repeat !== 'object') { + throw new Error('`repeat` is not correct, must be an object!'); } - - this.data.repeat = repeat; - return this; - } - - - /** - * Get Repeat Interval - * @since 0.2.1 - */ - interval (interval: number | null): this; - - /** - * Set Repeat Interval - * - * ```javascript - * const cal = ical(); - * const event = cal.createEvent(); - * - * // repeat the alarm 4 times every 5 minutes… - * cal.createAlarm({ - * repeat: 4, - * interval: 300 - * }); - * ``` - * - * @since 0.2.1 - */ - interval(): number | null; - interval (interval?: number | null): this | number | null { - if (interval === undefined) { - return this.data.interval || null; + if (typeof repeat.times !== 'number' || !isFinite(repeat.times)) { + throw new Error('`repeat.times` is not correct, must be numeric!'); } - if (!interval) { - this.data.interval = null; - return this; + if (typeof repeat.interval !== 'number' || !isFinite(repeat.interval)) { + throw new Error('`repeat.interval` is not correct, must be numeric!'); } - if (typeof interval !== 'number' || !isFinite(interval)) { - throw new Error('`interval` is not correct, must be numeric!'); - } - - this.data.interval = interval; + this.data.repeat = repeat; return this; } @@ -619,13 +584,6 @@ export default class ICalAlarm { toString (): string { let g = 'BEGIN:VALARM\r\n'; - if (!this.data.type) { - throw new Error('No value for `type` in ICalAlarm given!'); - } - if (!this.data.trigger) { - throw new Error('No value for `trigger` in ICalAlarm given!'); - } - // ACTION g += 'ACTION:' + this.data.type.toUpperCase() + '\r\n'; @@ -638,26 +596,23 @@ export default class ICalAlarm { } } else if (typeof this.data.trigger === 'number') { - g += 'TRIGGER;RELATED=' + this.data.relatesTo.toUpperCase() + ':' + toDurationString(this.data.trigger) + '\r\n'; + g += 'TRIGGER;RELATED=' + this.data.relatesTo?.toUpperCase() + ':' + toDurationString(this.data.trigger) + '\r\n'; } else { g += 'TRIGGER;VALUE=DATE-TIME:' + formatDate(this.event.timezone(), this.data.trigger) + '\r\n'; } // REPEAT - if (this.data.repeat && !this.data.interval) { - throw new Error('No value for `interval` in ICalAlarm given, but required for `repeat`!'); - } if (this.data.repeat) { - g += 'REPEAT:' + this.data.repeat + '\r\n'; - } + if (!this.data.repeat.times) { + throw new Error('No value for `repeat.times` in ICalAlarm given, but required for `interval`!'); + } + if (!this.data.repeat.interval) { + throw new Error('No value for `repeat.interval` in ICalAlarm given, but required for `repeat`!'); + } - // INTERVAL - if (this.data.interval && !this.data.repeat) { - throw new Error('No value for `repeat` in ICalAlarm given, but required for `interval`!'); - } - if (this.data.interval) { - g += 'DURATION:' + toDurationString(this.data.interval) + '\r\n'; + g += 'REPEAT:' + this.data.repeat.times + '\r\n'; + g += 'DURATION:' + toDurationString(this.data.repeat.interval) + '\r\n'; } // ATTACH diff --git a/src/attendee.ts b/src/attendee.ts index e8afe3898..77b3fab38 100755 --- a/src/attendee.ts +++ b/src/attendee.ts @@ -7,7 +7,7 @@ import ICalEvent from './event.js'; interface ICalInternalAttendeeData { name: string | null; - email: string | null; + email: string; mailto: string | null; sentBy: string | null; status: ICalAttendeeStatus | null; @@ -21,7 +21,7 @@ interface ICalInternalAttendeeData { export interface ICalAttendeeData { name?: string | null; - email?: string | null; + email: string; mailto?: string | null; sentBy?: string | null; status?: ICalAttendeeStatus | null; @@ -37,7 +37,7 @@ export interface ICalAttendeeData { export interface ICalAttendeeJSONData { name: string | null; - email: string | null; + email: string; mailto: string | null; sentBy: string | null; status: ICalAttendeeStatus | null; @@ -106,7 +106,7 @@ export default class ICalAttendee { constructor(data: ICalAttendeeData, event: ICalEvent) { this.data = { name: null, - email: null, + email: '', mailto: null, sentBy: null, status: null, @@ -121,6 +121,9 @@ export default class ICalAttendee { if (!this.event) { throw new Error('`event` option required!'); } + if (!data.email) { + throw new Error('No value for `email` in ICalAttendee given!'); + } data.name !== undefined && this.name(data.name); data.email !== undefined && this.email(data.email); @@ -163,14 +166,14 @@ export default class ICalAttendee { * Get the attendee's email address * @since 0.2.0 */ - email(): string | null; + email(): string; /** * Set the attendee's email address * @since 0.2.0 */ - email(email: string | null): this; - email(email?: string | null): this | string | null { + email(email: string): this; + email(email?: string): this | string { if (!email) { return this.data.email; } @@ -363,7 +366,7 @@ export default class ICalAttendee { if(typeof delegatedTo === 'string') { this.data.delegatedTo = new ICalAttendee( - checkNameAndMail('delegatedTo', delegatedTo), + { email: delegatedTo, ...checkNameAndMail('delegatedTo', delegatedTo) }, this.event, ); } @@ -405,7 +408,7 @@ export default class ICalAttendee { } else if(typeof delegatedFrom === 'string') { this.data.delegatedFrom = new ICalAttendee( - checkNameAndMail('delegatedFrom', delegatedFrom), + { email: delegatedFrom, ...checkNameAndMail('delegatedFrom', delegatedFrom) }, this.event, ); } diff --git a/src/category.ts b/src/category.ts index 8d92287bf..5f6a0c159 100755 --- a/src/category.ts +++ b/src/category.ts @@ -5,11 +5,11 @@ import {escape} from './tools.js'; export interface ICalCategoryData { - name?: string | null + name: string; } export interface ICalCategoryInternalData { - name: string | null + name: string; } @@ -40,9 +40,13 @@ export default class ICalCategory { */ constructor(data: ICalCategoryData) { this.data = { - name: null + name: '' }; + if(!data.name) { + throw new Error('No value for `name` in ICalCategory given!'); + } + data.name !== undefined && this.name(data.name); } @@ -51,19 +55,19 @@ export default class ICalCategory { * Get the category name * @since 0.3.0 */ - name(): string | null; + name(): string; /** * Set the category name * @since 0.3.0 */ - name(name: string | null): this; - name(name?: string | null): this | string | null { + name(name: string): this; + name(name?: string): this | string { if (name === undefined) { return this.data.name; } - this.data.name = name || null; + this.data.name = name; return this; } diff --git a/src/event.ts b/src/event.ts index 3cee8cfb9..d8233c410 100755 --- a/src/event.ts +++ b/src/event.ts @@ -57,7 +57,7 @@ export enum ICalEventClass { export interface ICalEventData { id?: string | number | null, sequence?: number, - start?: ICalDateTimeValue | null, + start: ICalDateTimeValue, end?: ICalDateTimeValue | null, recurrenceId?: ICalDateTimeValue | null, timezone?: string | null, @@ -87,7 +87,7 @@ export interface ICalEventData { interface ICalEventInternalData { id: string, sequence: number, - start: ICalDateTimeValue | null, + start: ICalDateTimeValue, end: ICalDateTimeValue | null, recurrenceId: ICalDateTimeValue | null, timezone: string | null, @@ -117,7 +117,7 @@ interface ICalEventInternalData { export interface ICalEventJSONData { id: string, sequence: number, - start: string | null, + start: string, end: string | null, recurrenceId: string | null, timezone: string | null, @@ -180,7 +180,7 @@ export default class ICalEvent { this.data = { id: uuid(), sequence: 0, - start: null, + start: new Date(), end: null, recurrenceId: null, timezone: null, @@ -318,7 +318,7 @@ export default class ICalEvent { * * @since 0.2.0 */ - start(): ICalDateTimeValue | null; + start(): ICalDateTimeValue; /** * Set the appointment date of beginning, which is required for all events. @@ -329,7 +329,7 @@ export default class ICalEvent { * @since 0.2.0 */ start(start: ICalDateTimeValue): this; - start(start?: ICalDateTimeValue): this | ICalDateTimeValue | null { + start(start?: ICalDateTimeValue): this | ICalDateTimeValue { if (start === undefined) { return this.data.start; } @@ -878,13 +878,13 @@ export default class ICalEvent { * * @since 0.2.0 */ - createAttendee(data: ICalAttendee | ICalAttendeeData | string = {}): ICalAttendee { + createAttendee(data: ICalAttendee | ICalAttendeeData | string): ICalAttendee { if (data instanceof ICalAttendee) { this.data.attendees.push(data); return data; } if (typeof data === 'string') { - data = checkNameAndMail('data', data); + data = { email: data, ...checkNameAndMail('data', data) }; } const attendee = new ICalAttendee(data, this); @@ -945,7 +945,7 @@ export default class ICalEvent { * * @since 0.2.1 */ - createAlarm(data: ICalAlarm | ICalAlarmData = {}): ICalAlarm { + createAlarm(data: ICalAlarm | ICalAlarmData): ICalAlarm { const alarm = data instanceof ICalAlarm ? data : new ICalAlarm(data, this); this.data.alarms.push(alarm); return alarm; @@ -1002,7 +1002,7 @@ export default class ICalEvent { * * @since 0.3.0 */ - createCategory(data: ICalCategory | ICalCategoryData = {}): ICalCategory { + createCategory(data: ICalCategory | ICalCategoryData): ICalCategory { const category = data instanceof ICalCategory ? data : new ICalCategory(data); this.data.categories.push(category); return category; @@ -1442,10 +1442,6 @@ export default class ICalEvent { toString(): string { let g = ''; - if (!this.data.start) { - throw new Error('No value for `start` in ICalEvent #' + this.data.id + ' given!'); - } - // DATE & TIME g += 'BEGIN:VEVENT\r\n'; g += 'UID:' + this.data.id + '\r\n'; @@ -1621,9 +1617,9 @@ export default class ICalEvent { // CATEGORIES if (this.data.categories.length > 0) { - g += 'CATEGORIES:' + this.data.categories.map(function (category) { - return category.toString(); - }).join() + '\r\n'; + g += 'CATEGORIES:' + this.data.categories + .map(category => category.toString()) + .join() + '\r\n'; } // URL diff --git a/src/index.ts b/src/index.ts index 23789d4a6..5f58f5b30 100755 --- a/src/index.ts +++ b/src/index.ts @@ -49,6 +49,7 @@ export default ical; export { default as ICalAlarm, ICalAlarmData, + ICalAlarmRepeatData, ICalAlarmType, ICalAlarmTypeValue, ICalAlarmJSONData, diff --git a/test/alarm.ts b/test/alarm.ts index 3fd8b4fd5..0b404d732 100644 --- a/test/alarm.ts +++ b/test/alarm.ts @@ -5,7 +5,7 @@ import moment from 'moment-timezone'; import ICalCalendar from '../src/calendar.js'; import ICalEvent from '../src/event.js'; -import ICalAlarm, {ICalAlarmRelatesTo, ICalAlarmType} from '../src/alarm.js'; +import ICalAlarm, { ICalAlarmRelatesTo, ICalAlarmType } from '../src/alarm.js'; describe('ical-generator Alarm', function () { @@ -22,7 +22,9 @@ describe('ical-generator Alarm', function () { // @ts-ignore unknown: true, type: ICalAlarmType.display - }, new ICalEvent({}, new ICalCalendar())); + }, new ICalEvent({ + start: new Date() + }, new ICalCalendar())); assert.strictEqual(a.type(), 'display'); }); @@ -30,52 +32,64 @@ describe('ical-generator Alarm', function () { describe('type()', function () { it('setter should return this', function () { - const a = new ICalAlarm({}, new ICalEvent({}, new ICalCalendar())); - assert.deepStrictEqual(a, a.type(null)); + const a = new ICalAlarm({}, new ICalEvent({ + start: new Date() + }, new ICalCalendar())); assert.deepStrictEqual(a, a.type(ICalAlarmType.display)); }); it('getter should return value', function () { - const a = new ICalAlarm({}, new ICalEvent({}, new ICalCalendar())); - assert.strictEqual(a.type(), null); - - a.type(ICalAlarmType.display); + const a = new ICalAlarm({}, new ICalEvent({ + start: new Date() + }, new ICalCalendar())); assert.strictEqual(a.type(), 'display'); - a.type(null); - assert.strictEqual(a.type(), null); + a.type(ICalAlarmType.audio); + assert.strictEqual(a.type(), 'audio'); }); it('should throw error when type not allowed', function () { - const a = new ICalAlarm({}, new ICalEvent({}, new ICalCalendar())); + const a = new ICalAlarm({}, new ICalEvent({ + start: new Date() + }, new ICalCalendar())); assert.throws(function () { // @ts-ignore a.type('BANANA'); }, /`type`/); + + assert.throws(function () { + // @ts-ignore + a.type(null); + }, /`type`/); }); it('should change something', function () { - const a = new ICalAlarm({ - type: ICalAlarmType.display, - trigger: 60 * 10 - }, new ICalEvent({}, new ICalCalendar())); + const a = new ICalAlarm({}, new ICalEvent( + { start: new Date() }, + new ICalCalendar() + )); assert.ok(a.toString().indexOf('ACTION:DISPLAY') > -1); }); }); describe('trigger()', function () { it('setter should return this', function () { - const a = new ICalAlarm({}, new ICalEvent({}, new ICalCalendar())); - assert.deepStrictEqual(a, a.trigger(null)); + const a = new ICalAlarm({}, new ICalEvent( + { start: new Date() }, + new ICalCalendar() + )); assert.deepStrictEqual(a, a.trigger(60 * 10)); }); it('getter should return value', function () { - const a = new ICalAlarm({}, new ICalEvent({}, new ICalCalendar())); + const a = new ICalAlarm({}, new ICalEvent( + { start: new Date() }, + new ICalCalendar() + )); const now = new Date(); - assert.strictEqual(a.trigger(), null); - assert.strictEqual(a.triggerAfter(), null); + assert.strictEqual(a.trigger(), 600); + assert.strictEqual(a.triggerAfter(), -600); a.trigger(300); assert.strictEqual(a.trigger(), 300); @@ -85,15 +99,13 @@ describe('ical-generator Alarm', function () { a.trigger(now); const dateResult = a.trigger(); assert.deepStrictEqual(dateResult, now); - - // Null - a.trigger(null); - assert.strictEqual(a.trigger(), null); - assert.strictEqual(a.triggerAfter(), null); }); it('should throw error when trigger not allowed', function () { - const a = new ICalAlarm({}, new ICalEvent({}, new ICalCalendar())); + const a = new ICalAlarm({}, new ICalEvent( + { start: new Date() }, + new ICalCalendar() + )); assert.throws(function () { a.trigger(Infinity); }, /`trigger`/); @@ -107,65 +119,86 @@ describe('ical-generator Alarm', function () { }, /`trigger`/); }); - it('setter should work with null', function () { - const a = new ICalAlarm({}, new ICalEvent({}, new ICalCalendar())); - a.trigger(60 * 10); - a.trigger(null); - assert.strictEqual(a.trigger(), null); - }); - it('setter should work with date', function () { - const a = new ICalAlarm({}, new ICalEvent({}, new ICalCalendar())); + const a = new ICalAlarm({}, new ICalEvent( + { start: new Date() }, + new ICalCalendar() + )); + a.trigger(new Date()); assert.ok(a.trigger() instanceof Date); }); it('setter should work with moment instance', function () { - const a = new ICalAlarm({}, new ICalEvent({}, new ICalCalendar())); + const a = new ICalAlarm({}, new ICalEvent( + { start: new Date() }, + new ICalCalendar() + )); + a.trigger(moment()); assert.ok(moment.isMoment(a.trigger())); }); it('setter should work with number', function () { - const a = new ICalAlarm({}, new ICalEvent({}, new ICalCalendar())); + const a = new ICalAlarm({}, new ICalEvent( + { start: new Date() }, + new ICalCalendar() + )); + a.trigger(2 * 60); assert.strictEqual(a.trigger(), 120); }); it('should change something', function () { const trigger = moment('2015-02-01T13:38:45.000Z'); + const a = new ICalAlarm({}, new ICalEvent( + { start: new Date() }, + new ICalCalendar() + )); - const a = new ICalAlarm( - {type: ICalAlarmType.display, trigger: 60 * 10}, - new ICalEvent({}, new ICalCalendar()) - ); - assert.ok(a.toString().indexOf('TRIGGER:-PT10M') > -1); + assert.ok(a.toString().includes('TRIGGER:-PT10M')); a.trigger(trigger); - assert.ok(a.toString().indexOf('TRIGGER;VALUE=DATE-TIME:20150201T133845Z') > -1); + assert.ok(a.toString().includes('TRIGGER;VALUE=DATE-TIME:20150201T133845Z')); }); }); describe('triggerAfter()', function () { it('setter should return this', function () { - const a = new ICalAlarm({}, new ICalEvent({}, new ICalCalendar())); + const a = new ICalAlarm({}, new ICalEvent( + { start: new Date() }, + new ICalCalendar() + )); + assert.deepStrictEqual(a, a.triggerAfter(60 * 10)); }); it('getter should return value', function () { - const a = new ICalAlarm({}, new ICalEvent({}, new ICalCalendar())).triggerAfter(300); + const a = new ICalAlarm({}, new ICalEvent( + { start: new Date() }, + new ICalCalendar() + )).triggerAfter(300); + assert.strictEqual(a.triggerAfter(), 300); assert.strictEqual(a.trigger(), -300); }); it('setter should work with number', function () { - const a = new ICalAlarm({}, new ICalEvent({}, new ICalCalendar())); + const a = new ICalAlarm({}, new ICalEvent( + { start: new Date() }, + new ICalCalendar() + )); + a.triggerAfter(120); assert.strictEqual(a.trigger(), -120); }); it('setter should throw error when trigger not allowed', function () { - const a = new ICalAlarm({}, new ICalEvent({}, new ICalCalendar())); + const a = new ICalAlarm({}, new ICalEvent( + { start: new Date() }, + new ICalCalendar() + )); + assert.throws(function () { a.triggerAfter(Infinity); }, /`trigger`/); @@ -181,11 +214,11 @@ describe('ical-generator Alarm', function () { it('should change something', function () { const trigger = moment('20150201T133845Z'); + const a = new ICalAlarm({ triggerAfter: 600 }, new ICalEvent( + { start: new Date() }, + new ICalCalendar() + )); - const a = new ICalAlarm( - {type: ICalAlarmType.display, triggerAfter: 60 * 10}, - new ICalEvent({}, new ICalCalendar()) - ); assert.ok(a.toString().indexOf('TRIGGER;RELATED=END:PT10M') > -1); a.triggerAfter(trigger); @@ -195,16 +228,22 @@ describe('ical-generator Alarm', function () { describe('triggerBefore()', function () { it('setter should return this', function () { - const a = new ICalAlarm({}, new ICalEvent({}, new ICalCalendar())); - assert.deepStrictEqual(a, a.triggerBefore(null)); + const a = new ICalAlarm({}, new ICalEvent( + { start: new Date() }, + new ICalCalendar() + )); + assert.deepStrictEqual(a, a.triggerBefore(60 * 10)); }); it('getter should return value', function () { - const a = new ICalAlarm({}, new ICalEvent({}, new ICalCalendar())); + const a = new ICalAlarm({}, new ICalEvent( + { start: new Date() }, + new ICalCalendar() + )); const now = new Date(); - assert.strictEqual(a.triggerBefore(), null); + assert.strictEqual(a.triggerBefore(), 600); a.trigger(300); assert.strictEqual(a.triggerBefore(), 300); @@ -213,14 +252,14 @@ describe('ical-generator Alarm', function () { a.trigger(now); const dateResult = a.triggerBefore(); assert.deepStrictEqual(dateResult, now); - - // Null - a.trigger(null); - assert.strictEqual(a.triggerBefore(), null); }); it('should throw error when trigger not allowed', function () { - const a = new ICalAlarm({}, new ICalEvent({}, new ICalCalendar())); + const a = new ICalAlarm({}, new ICalEvent( + { start: new Date() }, + new ICalCalendar() + )); + assert.throws(function () { a.triggerBefore(Infinity); }, /`trigger`/); @@ -234,39 +273,44 @@ describe('ical-generator Alarm', function () { }, /`trigger`/); }); - it('setter should work with null', function () { - const a = new ICalAlarm({}, new ICalEvent({}, new ICalCalendar())); - a.triggerBefore(60 * 10); - a.triggerBefore(null); - assert.strictEqual(a.trigger(), null); - }); - it('setter should work with date', function () { - const a = new ICalAlarm({}, new ICalEvent({}, new ICalCalendar())); + const a = new ICalAlarm({}, new ICalEvent( + { start: new Date() }, + new ICalCalendar() + )); + const now = new Date(); a.triggerBefore(now); assert.deepStrictEqual(a.trigger(), now); }); it('setter should work with moment instance', function () { - const a = new ICalAlarm({}, new ICalEvent({}, new ICalCalendar())); + const a = new ICalAlarm({}, new ICalEvent( + { start: new Date() }, + new ICalCalendar() + )); + a.triggerBefore(moment()); assert.ok(moment.isMoment(a.trigger())); }); it('setter should work with number', function () { - const a = new ICalAlarm({}, new ICalEvent({}, new ICalCalendar())); + const a = new ICalAlarm({}, new ICalEvent( + { start: new Date() }, + new ICalCalendar() + )); + a.triggerBefore(2 * 60); assert.strictEqual(a.trigger(), 120); }); it('should change something', function () { const trigger = moment('2015-02-01T13:38:45.000Z'); + const a = new ICalAlarm({}, new ICalEvent( + { start: new Date() }, + new ICalCalendar() + )); - const a = new ICalAlarm( - {type: ICalAlarmType.display, triggerBefore: 60 * 10}, - new ICalEvent({}, new ICalCalendar()) - ); assert.ok(a.toString().indexOf('TRIGGER:-PT10M') > -1); a.triggerBefore(trigger); @@ -276,14 +320,21 @@ describe('ical-generator Alarm', function () { describe('relatesTo()', function () { it('setter should return this', function () { - const a = new ICalAlarm({}, new ICalEvent({}, new ICalCalendar())); + const a = new ICalAlarm({}, new ICalEvent( + { start: new Date() }, + new ICalCalendar() + )); + assert.deepStrictEqual(a, a.relatesTo(null)); assert.deepStrictEqual(a, a.relatesTo(ICalAlarmRelatesTo.end)); }); it('getter should return value', function () { - const a = new ICalAlarm({}, new ICalEvent({}, new ICalCalendar())); - assert.strictEqual(a.relatesTo(), null); + const a = new ICalAlarm({}, new ICalEvent( + { start: new Date() }, + new ICalCalendar() + )); + a.relatesTo(ICalAlarmRelatesTo.end); assert.strictEqual(a.relatesTo(), ICalAlarmRelatesTo.end); a.relatesTo(null); @@ -291,7 +342,11 @@ describe('ical-generator Alarm', function () { }); it('should throw if value is not `null`, "START" or "END"', function () { - const a = new ICalAlarm({}, new ICalEvent({}, new ICalCalendar())); + const a = new ICalAlarm({}, new ICalEvent( + { start: new Date() }, + new ICalCalendar() + )); + assert.throws(function () { // @ts-ignore a.relatesTo('hi'); @@ -307,10 +362,11 @@ describe('ical-generator Alarm', function () { }); it('should change RELATED', function () { - const a = new ICalAlarm( - {type: ICalAlarmType.display, triggerBefore: 60 * 10}, - new ICalEvent({}, new ICalCalendar()) - ); + const a = new ICalAlarm({}, new ICalEvent( + { start: new Date() }, + new ICalCalendar() + )); + assert.ok(a.toString().indexOf('RELATED=START') === -1); a.relatesTo(ICalAlarmRelatesTo.start); @@ -323,98 +379,136 @@ describe('ical-generator Alarm', function () { describe('repeat()', function () { it('setter should return this', function () { - const a = new ICalAlarm({}, new ICalEvent({}, new ICalCalendar())); - assert.deepStrictEqual(a, a.repeat(null)); - assert.deepStrictEqual(a, a.repeat(4)); + const a = new ICalAlarm({}, new ICalEvent( + { start: new Date() }, + new ICalCalendar() + )); + + assert.deepStrictEqual(a, a.repeat({ + times: 4, + interval: 60 + })); }); it('getter should return value', function () { - const a = new ICalAlarm({}, new ICalEvent({}, new ICalCalendar())); - assert.strictEqual(a.repeat(), null); - a.repeat(100); - assert.strictEqual(a.repeat(), 100); - a.repeat(null); + const a = new ICalAlarm({}, new ICalEvent( + { start: new Date() }, + new ICalCalendar() + )); + assert.strictEqual(a.repeat(), null); + a.repeat({ times: 4, interval: 60 }); + assert.deepStrictEqual(a.repeat(), { times: 4, interval: 60 }); }); it('should throw error if repeat not allowed', function () { - const a = new ICalAlarm({}, new ICalEvent({}, new ICalCalendar())); + const a = new ICalAlarm({}, new ICalEvent( + { start: new Date() }, + new ICalCalendar() + )); + assert.throws(function () { - a.repeat(Infinity); - }, /`repeat`/); + a.repeat({ + times: Infinity, + interval: 60 + }); + }, /`repeat.times`/); assert.throws(function () { - // @ts-ignore - a.repeat('hi'); - }, /`repeat`/); + a.repeat({ + // @ts-ignore + times: 'hi', + interval: 60 + }); + }, /`repeat.times`/); assert.throws(function () { - // @ts-ignore - a.repeat(true); - }, /`repeat`/); - }); + a.repeat({ + // @ts-ignore + times: true, + interval: 60 + }); + }, /`repeat.times`/); - it('should change something', function () { - const a = new ICalAlarm({ - type: ICalAlarmType.display, - trigger: 300, - repeat: 42, - interval: 60 - }, new ICalEvent({}, new ICalCalendar())); - assert.ok(a.toString().indexOf('REPEAT:42') > -1); - }); - }); - - describe('interval()', function () { - it('setter should return this', function () { - const a = new ICalAlarm({}, new ICalEvent({}, new ICalCalendar())); - assert.deepStrictEqual(a, a.interval(null)); - assert.deepStrictEqual(a, a.interval(60)); - }); - - it('getter should return value', function () { - const a = new ICalAlarm({}, new ICalEvent({}, new ICalCalendar())); - assert.strictEqual(a.interval(), null); - a.interval(30); - assert.strictEqual(a.interval(), 30); - a.interval(null); - assert.strictEqual(a.interval(), null); - }); - - it('should throw error if repeat not allowed', function () { - const a = new ICalAlarm({}, new ICalEvent({}, new ICalCalendar())); assert.throws(function () { - a.interval(Infinity); - }, /`interval`/); + a.repeat({ + times: 4, + interval: Infinity + }); + }, /`repeat.interval`/); assert.throws(function () { - // @ts-ignore - a.interval('hi'); - }, /`interval`/); + a.repeat({ + times: 4, + // @ts-ignore + interval: 'hi' + }); + }, /`repeat.interval`/); assert.throws(function () { - // @ts-ignore - a.interval(true); - }, /`interval`/); + a.repeat({ + times: 4, + // @ts-ignore + interval: true + }); + }, /`repeat.interval`/); }); it('should change something', function () { const a = new ICalAlarm({ - type: ICalAlarmType.display, trigger: 300, - repeat: 42, - interval: 90 - }, new ICalEvent({}, new ICalCalendar())); + repeat: { + times: 42, + interval: 90 + } + }, new ICalEvent({ start: new Date() }, new ICalCalendar())); + assert.ok(a.toString().indexOf('REPEAT:42') > -1); assert.ok(a.toString().indexOf('DURATION:PT1M30S') > -1); }); + + it('should throw an error if repeat is set but interval isn\'t', function () { + assert.throws(function () { + new ICalAlarm( + { + trigger: 300, + repeat: { + times: 4, + // @ts-ignore + interval: null + } + }, + new ICalEvent({ start: new Date() }, new ICalCalendar()) + ); + }, /`repeat.interval`/); + }); + + it('should throw an error if interval is set but repeat isn\'t', function () { + assert.throws(function () { + new ICalAlarm({ + trigger: 300, + repeat: { + // @ts-ignore + times: null, + interval: 60 + } + }, new ICalEvent({ start: new Date() }, new ICalCalendar())); + }, /`repeat.times`/); + }); }); describe('attach()', function () { it('setter should return this', function () { - const a = new ICalAlarm({}, new ICalEvent({}, new ICalCalendar())); + const a = new ICalAlarm({}, new ICalEvent( + { start: new Date() }, + new ICalCalendar() + )); + assert.deepStrictEqual(a, a.attach(null)); assert.deepStrictEqual(a, a.attach('https://sebbo.net/beep.aud')); }); it('getter should return value', function () { const t = {uri: 'https://example.com/alarm.aud', mime: 'audio/basic'}; - const a = new ICalAlarm({}, new ICalEvent({}, new ICalCalendar())); + const a = new ICalAlarm({}, new ICalEvent( + { start: new Date() }, + new ICalCalendar() + )); assert.strictEqual(a.attach(), null); @@ -440,7 +534,11 @@ describe('ical-generator Alarm', function () { }); it('should throw error withour uri', function () { - const a = new ICalAlarm({}, new ICalEvent({}, new ICalCalendar())); + const a = new ICalAlarm({}, new ICalEvent( + { start: new Date() }, + new ICalCalendar() + )); + assert.throws(function () { // @ts-ignore a.attach({mime: 'audio/basic'}); @@ -448,7 +546,11 @@ describe('ical-generator Alarm', function () { }); it('should throw error when unknown format', function () { - const a = new ICalAlarm({}, new ICalEvent({}, new ICalCalendar())); + const a = new ICalAlarm({}, new ICalEvent( + { start: new Date() }, + new ICalCalendar() + )); + assert.throws(function () { // @ts-ignore a.attach(Infinity); @@ -456,10 +558,11 @@ describe('ical-generator Alarm', function () { }); it('should change something', function () { - const a = new ICalAlarm({ - type: ICalAlarmType.audio, - trigger: 300 - }, new ICalEvent({}, new ICalCalendar())); + const a = new ICalAlarm({ type: ICalAlarmType.audio }, new ICalEvent( + { start: new Date() }, + new ICalCalendar() + )); + assert.ok(a.toString().indexOf('\r\nATTACH;VALUE=URI:Basso') > -1); a.attach('https://example.com/beep.aud'); @@ -475,13 +578,21 @@ describe('ical-generator Alarm', function () { describe('description()', function () { it('setter should return this', function () { - const a = new ICalAlarm({}, new ICalEvent({}, new ICalCalendar())); + const a = new ICalAlarm({}, new ICalEvent( + { start: new Date() }, + new ICalCalendar() + )); + assert.deepStrictEqual(a, a.description(null)); assert.deepStrictEqual(a, a.description('Hey Ho!')); }); it('getter should return value', function () { - const a = new ICalAlarm({}, new ICalEvent({}, new ICalCalendar())); + const a = new ICalAlarm({}, new ICalEvent( + { start: new Date() }, + new ICalCalendar() + )); + assert.deepStrictEqual(a.description(), null); a.description('blablabla'); assert.deepStrictEqual(a.description(), 'blablabla'); @@ -491,20 +602,16 @@ describe('ical-generator Alarm', function () { it('should change something', function () { const a = new ICalAlarm({ - type: ICalAlarmType.display, - trigger: 300, description: 'Huibuh!' - }, new ICalEvent({}, new ICalCalendar())); + }, new ICalEvent({ start: new Date() }, new ICalCalendar())); assert.ok(a.toString().indexOf('\r\nDESCRIPTION:Huibuh') > -1); }); it('should fallback to event summary', function () { - const a = new ICalAlarm({ - type: ICalAlarmType.display, - trigger: 300 - }, new ICalEvent({ - summary: 'Example Event' - }, new ICalCalendar())); + const a = new ICalAlarm({ description: 'Example Event' }, new ICalEvent( + { start: new Date() }, + new ICalCalendar() + )); assert.ok(a.toString().indexOf('\r\nDESCRIPTION:Example Event') > -1); }); @@ -512,14 +619,22 @@ describe('ical-generator Alarm', function () { describe('x()', function () { it('is there', function () { - const a = new ICalAlarm({}, new ICalEvent({}, new ICalCalendar())); + const a = new ICalAlarm({}, new ICalEvent( + { start: new Date() }, + new ICalCalendar() + )); + assert.deepStrictEqual(a, a.x('X-FOO', 'bar')); }); }); describe('toJSON()', function () { it('should work', function() { - const a = new ICalAlarm({}, new ICalEvent({}, new ICalCalendar())); + const a = new ICalAlarm({}, new ICalEvent( + { start: new Date() }, + new ICalCalendar() + )); + a.type(ICalAlarmType.display); a.trigger(120); @@ -536,45 +651,12 @@ describe('ical-generator Alarm', function () { }); it('should be compatible with constructor (type check)', function () { - const a = new ICalAlarm({}, new ICalEvent({}, new ICalCalendar())); - new ICalAlarm(a.toJSON(), new ICalEvent({}, new ICalCalendar())); - }); - }); - - describe('generate()', function () { - it('shoult throw an error without type', function () { - const a = new ICalAlarm({trigger: 300}, new ICalEvent({}, new ICalCalendar())); - assert.throws(function () { - a.toString(); - }, /`type`/); - }); - - it('shoult throw an error without trigger', function () { - const a = new ICalAlarm({type: ICalAlarmType.display}, new ICalEvent({}, new ICalCalendar())); - assert.throws(function () { - a.toString(); - }, /`trigger`/); - }); - - it('shoult throw an error if repeat is set but interval isn\'t', function () { - const a = new ICalAlarm( - {type: ICalAlarmType.display, trigger: 300, repeat: 4}, - new ICalEvent({}, new ICalCalendar()) - ); - assert.throws(function () { - a.toString(); - }, /for `interval`/); - }); + const a = new ICalAlarm({}, new ICalEvent( + { start: new Date() }, + new ICalCalendar() + )); - it('shoult throw an error if interval is set but repeat isn\'t', function () { - const a = new ICalAlarm({ - type: ICalAlarmType.display, - trigger: 300, - interval: 60 - }, new ICalEvent({}, new ICalCalendar())); - assert.throws(function () { - a.toString(); - }, /for `repeat`/); + new ICalAlarm(a.toJSON(), new ICalEvent({ start: new Date() }, new ICalCalendar())); }); }); }); diff --git a/test/attendee.ts b/test/attendee.ts index 6b775cd13..50b360373 100644 --- a/test/attendee.ts +++ b/test/attendee.ts @@ -26,7 +26,10 @@ describe('ical-generator Attendee', function () { delegatedFrom: null, x: [] }; - const event = new ICalAttendee(data, new ICalEvent({}, new ICalCalendar())); + const event = new ICalAttendee( + data, + new ICalEvent({ start: new Date() }, new ICalCalendar()) + ); assert.deepStrictEqual(event.toJSON(), data); }); @@ -36,11 +39,25 @@ describe('ical-generator Attendee', function () { new ICalAttendee({ email: 'foo@bar.com' }); }, /`event`/); }); + + it('should throw an error without email', function () { + assert.throws(function () { + new ICalAttendee( + + // @ts-ignore + { name: 'Testuser' }, + new ICalEvent({ start: new Date() }, new ICalCalendar()) + ); + }, /`email`/); + }); }); describe('name()', function () { it('getter should return value', function () { - const a = new ICalAttendee({}, new ICalEvent({}, new ICalCalendar())); + const a = new ICalAttendee( + { email: 'foo@example.com' }, + new ICalEvent({ start: new Date() }, new ICalCalendar()) + ); assert.strictEqual(a.name(), null); a.name('Sebastian'); @@ -48,13 +65,19 @@ describe('ical-generator Attendee', function () { }); it('setter should return this', function () { - const a = new ICalAttendee({}, new ICalEvent({}, new ICalCalendar())); + const a = new ICalAttendee( + { email: 'foo@example.com' }, + new ICalEvent({ start: new Date() }, new ICalCalendar()) + ); assert.deepStrictEqual(a, a.name(null)); assert.deepStrictEqual(a, a.name('Sebastian')); }); it('setter should change something', function () { - const a = new ICalAttendee({}, new ICalEvent({}, new ICalCalendar())); + const a = new ICalAttendee( + { email: 'foo@example.com' }, + new ICalEvent({ start: new Date() }, new ICalCalendar()) + ); a.name('Sebastian'); assert.strictEqual(a.name(), 'Sebastian'); @@ -66,24 +89,36 @@ describe('ical-generator Attendee', function () { describe('email()', function () { it('getter should return value', function () { - const a = new ICalAttendee({}, new ICalEvent({}, new ICalCalendar())).email('foo@example.com'); + const a = new ICalAttendee( + { email: 'foo@example.com' }, + new ICalEvent({ start: new Date() }, new ICalCalendar()) + ).email('foo@example.com'); assert.strictEqual(a.email(), 'foo@example.com'); }); it('setter should return this', function () { - const a = new ICalAttendee({}, new ICalEvent({}, new ICalCalendar())); + const a = new ICalAttendee( + { email: 'foo@example.com' }, + new ICalEvent({ start: new Date() }, new ICalCalendar()) + ); assert.deepStrictEqual(a, a.email('foo@example.com')); }); it('should change something', function () { - const a = new ICalAttendee({ email: 'mail@example.com' }, new ICalEvent({}, new ICalCalendar())); + const a = new ICalAttendee( + { email: 'mail@example.com' }, + new ICalEvent({ start: new Date() }, new ICalCalendar()) + ); assert.ok(a.toString().indexOf('mail@example.com') > -1); }); }); describe('mailto()', function () { it('getter should return value', function () { - const a = new ICalAttendee({}, new ICalEvent({}, new ICalCalendar())); + const a = new ICalAttendee( + { email: 'foo@example.com' }, + new ICalEvent({ start: new Date() }, new ICalCalendar()) + ); assert.strictEqual(a.mailto(), null); a.mailto('foo@example.com'); @@ -91,13 +126,19 @@ describe('ical-generator Attendee', function () { }); it('setter should return this', function () { - const a = new ICalAttendee({}, new ICalEvent({}, new ICalCalendar())); + const a = new ICalAttendee( + { email: 'foo@example.com' }, + new ICalEvent({ start: new Date() }, new ICalCalendar()) + ); assert.deepStrictEqual(a, a.mailto(null)); assert.deepStrictEqual(a, a.mailto('foo@example.com')); }); it('should change mailto and keep email if present', function () { - const a = new ICalAttendee({ email: 'mail@example.com' }, new ICalEvent({}, new ICalCalendar())); + const a = new ICalAttendee( + { email: 'mail@example.com' }, + new ICalEvent({ start: new Date() }, new ICalCalendar()) + ); a.mailto('mail2@example2.com'); assert.ok( a.toString().indexOf('EMAIL=mail@example.com') > -1 && @@ -108,34 +149,52 @@ describe('ical-generator Attendee', function () { describe('sentBy()', function () { it('getter should return value', function () { - const a = new ICalAttendee({}, new ICalEvent({}, new ICalCalendar())).sentBy('foo@example.com'); + const a = new ICalAttendee( + { email: 'foo@example.com' }, + new ICalEvent({ start: new Date() }, new ICalCalendar()) + ).sentBy('foo@example.com'); assert.strictEqual(a.sentBy(), 'foo@example.com'); }); it('setter should return this', function () { - const a = new ICalAttendee({}, new ICalEvent({}, new ICalCalendar())); + const a = new ICalAttendee( + { email: 'foo@example.com' }, + new ICalEvent({ start: new Date() }, new ICalCalendar()) + ); assert.deepStrictEqual(a, a.sentBy('foo@example.com')); }); it('should change something', function () { - const a = new ICalAttendee({ email: 'foo@example.com', sentBy: 'bar@example.com' }, new ICalEvent({}, new ICalCalendar())); + const a = new ICalAttendee( + { email: 'foo@example.com', sentBy: 'bar@example.com' }, + new ICalEvent({ start: new Date() }, new ICalCalendar()) + ); assert.ok(a.toString().includes('bar@example.com')); }); }); describe('role()', function () { it('setter should return this', function () { - const a = new ICalAttendee({}, new ICalEvent({}, new ICalCalendar())); + const a = new ICalAttendee( + { email: 'foo@example.com' }, + new ICalEvent({ start: new Date() }, new ICalCalendar()) + ); assert.deepStrictEqual(a, a.role(ICalAttendeeRole.REQ)); }); it('getter should return value', function () { - const a = new ICalAttendee({}, new ICalEvent({}, new ICalCalendar())).role(ICalAttendeeRole.REQ); + const a = new ICalAttendee( + { email: 'foo@example.com' }, + new ICalEvent({ start: new Date() }, new ICalCalendar()) + ).role(ICalAttendeeRole.REQ); assert.strictEqual(a.role(), 'REQ-PARTICIPANT'); }); it('should throw error when method empty', function () { - const a = new ICalAttendee({}, new ICalEvent({}, new ICalCalendar())); + const a = new ICalAttendee( + { email: 'foo@example.com' }, + new ICalEvent({ start: new Date() }, new ICalCalendar()) + ); assert.throws(function () { // @ts-ignore a.role(''); @@ -143,7 +202,10 @@ describe('ical-generator Attendee', function () { }); it('should throw error when method not allowed', function () { - const a = new ICalAttendee({}, new ICalEvent({}, new ICalCalendar())); + const a = new ICalAttendee( + { email: 'foo@example.com' }, + new ICalEvent({ start: new Date() }, new ICalCalendar()) + ); assert.throws(function () { // @ts-ignore a.role('COOKING'); @@ -151,23 +213,29 @@ describe('ical-generator Attendee', function () { }); it('should change something', function () { - const a = new ICalAttendee({ - email: 'mail@example.com', - role: ICalAttendeeRole.NON - }, new ICalEvent({}, new ICalCalendar())); + const a = new ICalAttendee( + { email: 'mail@example.com', role: ICalAttendeeRole.NON }, + new ICalEvent({ start: new Date() }, new ICalCalendar()) + ); assert.ok(a.toString().indexOf('NON-PARTICIPANT') > -1); }); }); describe('rsvp()', function () { it('setter should return this', function () { - const a = new ICalAttendee({}, new ICalEvent({}, new ICalCalendar())); + const a = new ICalAttendee( + { email: 'foo@example.com' }, + new ICalEvent({ start: new Date() }, new ICalCalendar()) + ); assert.deepStrictEqual(a, a.rsvp(null)); assert.deepStrictEqual(a, a.rsvp(true)); }); it('setter should also work with booleans', function () { - const a = new ICalAttendee({}, new ICalEvent({}, new ICalCalendar())); + const a = new ICalAttendee( + { email: 'foo@example.com' }, + new ICalEvent({ start: new Date() }, new ICalCalendar()) + ); a.rsvp(true); assert.strictEqual(a.rsvp(), true); @@ -177,7 +245,10 @@ describe('ical-generator Attendee', function () { }); it('getter should return value', function () { - const a = new ICalAttendee({}, new ICalEvent({}, new ICalCalendar())); + const a = new ICalAttendee( + { email: 'foo@example.com' }, + new ICalEvent({ start: new Date() }, new ICalCalendar()) + ); assert.strictEqual(a.rsvp(), null); a.rsvp(false); assert.strictEqual(a.rsvp(), false); @@ -186,23 +257,29 @@ describe('ical-generator Attendee', function () { }); it('should change something', function () { - const a = new ICalAttendee({ - email: 'mail@example.com', - rsvp: true - }, new ICalEvent({}, new ICalCalendar())); + const a = new ICalAttendee( + { email: 'mail@example.com', rsvp: true }, + new ICalEvent({ start: new Date() }, new ICalCalendar()) + ); assert.ok(a.toString().indexOf(';RSVP=TRUE') > -1); }); }); describe('status()', function () { it('setter should return this', function () { - const a = new ICalAttendee({}, new ICalEvent({}, new ICalCalendar())); + const a = new ICalAttendee( + { email: 'foo@example.com' }, + new ICalEvent({ start: new Date() }, new ICalCalendar()) + ); assert.deepStrictEqual(a, a.status(null)); assert.deepStrictEqual(a, a.status(ICalAttendeeStatus.ACCEPTED)); }); it('getter should return value', function () { - const a = new ICalAttendee({}, new ICalEvent({}, new ICalCalendar())); + const a = new ICalAttendee( + { email: 'foo@example.com' }, + new ICalEvent({ start: new Date() }, new ICalCalendar()) + ); assert.strictEqual(a.status(), null); a.status(ICalAttendeeStatus.ACCEPTED); @@ -213,7 +290,10 @@ describe('ical-generator Attendee', function () { }); it('should throw error when method not allowed', function () { - const a = new ICalAttendee({}, new ICalEvent({}, new ICalCalendar())); + const a = new ICalAttendee( + { email: 'foo@example.com' }, + new ICalEvent({ start: new Date() }, new ICalCalendar()) + ); assert.throws(function () { // @ts-ignore a.status('DRINKING'); @@ -223,7 +303,7 @@ describe('ical-generator Attendee', function () { it('should change something', function () { const a = new ICalAttendee( { email: 'mail@example.com', status: ICalAttendeeStatus.DECLINED }, - new ICalEvent({}, new ICalCalendar()) + new ICalEvent({ start: new Date() }, new ICalCalendar()) ); assert.ok(a.toString().indexOf('DECLINED') > -1); }); @@ -231,7 +311,7 @@ describe('ical-generator Attendee', function () { it('should change something too', function () { const a = new ICalAttendee( { email: 'mail@example.com', status: ICalAttendeeStatus.NEEDSACTION }, - new ICalEvent({}, new ICalCalendar()) + new ICalEvent({ start: new Date() }, new ICalCalendar()) ); assert.ok(a.toString().indexOf('NEEDS-ACTION') > -1); }); @@ -239,13 +319,19 @@ describe('ical-generator Attendee', function () { describe('type()', function () { it('setter should return this', function () { - const a = new ICalAttendee({}, new ICalEvent({}, new ICalCalendar())); + const a = new ICalAttendee( + { email: 'foo@example.com' }, + new ICalEvent({ start: new Date() }, new ICalCalendar()) + ); assert.deepStrictEqual(a.type(null), a); assert.deepStrictEqual(a.type(ICalAttendeeType.INDIVIDUAL), a); }); it('getter should return value', function () { - const a = new ICalAttendee({}, new ICalEvent({}, new ICalCalendar())); + const a = new ICalAttendee( + { email: 'foo@example.com' }, + new ICalEvent({ start: new Date() }, new ICalCalendar()) + ); assert.strictEqual(a.type(), null); a.type(ICalAttendeeType.ROOM); assert.strictEqual(a.type(), 'ROOM'); @@ -254,7 +340,10 @@ describe('ical-generator Attendee', function () { }); it('should throw error when method not allowed', function () { - const a = new ICalAttendee({}, new ICalEvent({}, new ICalCalendar())); + const a = new ICalAttendee( + { email: 'foo@example.com' }, + new ICalEvent({ start: new Date() }, new ICalCalendar()) + ); assert.throws(function () { // @ts-ignore a.type('DRINKING'); @@ -265,20 +354,26 @@ describe('ical-generator Attendee', function () { const a = new ICalAttendee({ email: 'mailing-list@example.com', type: ICalAttendeeType.GROUP - }, new ICalEvent({}, new ICalCalendar())); + }, new ICalEvent({ start: new Date() }, new ICalCalendar())); assert.ok(a.toString().indexOf('GROUP') > -1); }); }); describe('delegatedTo()', function () { it('setter should return this', function () { - const a = new ICalAttendee({}, new ICalEvent({}, new ICalCalendar())); + const a = new ICalAttendee( + { email: 'foo@example.com' }, + new ICalEvent({ start: new Date() }, new ICalCalendar()) + ); assert.deepStrictEqual(a, a.delegatedTo(null)); assert.deepStrictEqual(a, a.delegatedTo('foo@example.com')); }); it('getter should return value', function () { - const a = new ICalAttendee({}, new ICalEvent({}, new ICalCalendar())); + const a = new ICalAttendee( + { email: 'foo@example.com' }, + new ICalEvent({ start: new Date() }, new ICalCalendar()) + ); assert.strictEqual(a.delegatedTo(), null); a.delegatedTo('foo@example.com'); @@ -294,20 +389,26 @@ describe('ical-generator Attendee', function () { const a = new ICalAttendee({ email: 'mail@example.com', delegatedTo: 'foo@example.com' - }, new ICalEvent({}, new ICalCalendar())); + }, new ICalEvent({ start: new Date() }, new ICalCalendar())); assert.ok(a.toString().indexOf('foo@example') > -1); }); }); describe('delegatedFrom()', function () { it('setter should return this', function () { - const a = new ICalAttendee({}, new ICalEvent({}, new ICalCalendar())); + const a = new ICalAttendee( + { email: 'foo@example.com' }, + new ICalEvent({ start: new Date() }, new ICalCalendar()) + ); assert.deepStrictEqual(a, a.delegatedFrom(null)); assert.deepStrictEqual(a, a.delegatedFrom('foo@example.com')); }); it('getter should return value', function () { - const a = new ICalAttendee({}, new ICalEvent({}, new ICalCalendar())); + const a = new ICalAttendee( + { email: 'foo@example.com' }, + new ICalEvent({ start: new Date() }, new ICalCalendar()) + ); assert.strictEqual(a.delegatedFrom(), null); a.delegatedFrom('foo@example.com'); @@ -332,27 +433,38 @@ describe('ical-generator Attendee', function () { const a = new ICalAttendee({ email: 'mail@example.com', delegatedFrom: 'foo@example.com' - }, new ICalEvent({}, new ICalCalendar())); + }, new ICalEvent({ start: new Date() }, new ICalCalendar())); assert.ok(a.toString().indexOf('foo@example.com') > -1); }); }); describe('delegatesTo()', function () { it('should return a new ICalAttendee instance by default', function () { - const a = new ICalAttendee({}, new ICalEvent({}, new ICalCalendar())); - assert.ok(a.delegatesTo({}) instanceof ICalAttendee); + const a = new ICalAttendee( + { email: 'foo@example.com' }, + new ICalEvent({ start: new Date() }, new ICalCalendar()) + ); + assert.ok(a.delegatesTo({ email: 'mail@example.com' }) instanceof ICalAttendee); }); it('should reuse the same ICalAttendee instance if passed', function () { - const event = new ICalEvent({}, new ICalCalendar()); - const attendee = new ICalAttendee({ name: 'Muh' }, event); - - assert.deepStrictEqual(new ICalAttendee({}, event).delegatesTo(attendee), attendee); + const event = new ICalEvent({ start: new Date() }, new ICalCalendar()); + const attendee = new ICalAttendee({ + name: 'Muh', + email: 'muh@example.com' + }, event); + + assert.deepStrictEqual( + new ICalAttendee({ email: 'foo@example.com' }, event).delegatesTo(attendee), + attendee + ); }); it('should pass data to instance', function () { - const attendee = new ICalAttendee({ name: 'Zac' }, new ICalEvent({}, new ICalCalendar())) - .delegatesTo({ name: 'Cody' }); + const attendee = new ICalAttendee( + { name: 'Zac', email: 'zac@example.com' }, + new ICalEvent({ start: new Date() }, new ICalCalendar()) + ).delegatesTo({ name: 'Cody', email: 'cody@example.com' }); assert.strictEqual(attendee.name(), 'Cody'); }); @@ -360,26 +472,43 @@ describe('ical-generator Attendee', function () { describe('delegatesFrom()', function () { it('should return a new ICalAttendee instance by default', function () { - const a = new ICalAttendee({}, new ICalEvent({}, new ICalCalendar())); - assert.ok(a.delegatesFrom({}) instanceof ICalAttendee); + const a = new ICalAttendee( + { email: 'foo@example.com' }, + new ICalEvent({ start: new Date() }, new ICalCalendar()) + ); + assert.ok(a.delegatesFrom({ + email: 'bar@example.com' + }) instanceof ICalAttendee); }); it('should reuse the same ICalAttendee instance if passed', function () { - const event = new ICalEvent({}, new ICalCalendar()); - const attendee = new ICalAttendee({ name: 'Muh' }, event); - - assert.deepStrictEqual(new ICalAttendee({}, event).delegatesFrom(attendee), attendee); + const event = new ICalEvent({ start: new Date() }, new ICalCalendar()); + const attendee = new ICalAttendee({ + name: 'Muh', + email: 'muh@example.com' + }, event); + + assert.deepStrictEqual( + new ICalAttendee({ email: 'bar@example.com'}, event).delegatesFrom(attendee), + attendee + ); }); it('should pass data to instance', function () { - const a = new ICalAttendee({ name: 'Zac' }, new ICalEvent({}, new ICalCalendar())).delegatesFrom({ name: 'Cody' }); + const a = new ICalAttendee( + { name: 'Zac', email: 'zac@example.com' }, + new ICalEvent({ start: new Date() }, new ICalCalendar()) + ).delegatesFrom({ name: 'Cody', email: 'cody@example.com' }); assert.strictEqual(a.name(), 'Cody'); }); }); describe('x()', function () { it('works as expected', function () { - const a = new ICalAttendee({ email: 'foo@example.org' }, new ICalEvent({}, new ICalCalendar())); + const a = new ICalAttendee( + { email: 'foo@example.org' }, + new ICalEvent({ start: new Date() }, new ICalCalendar()) + ); assert.deepStrictEqual(a, a.x('X-NUM-GUESTS', '5')); assert.ok(a.toString().includes('ATTENDEE;ROLE=REQ-PARTICIPANT;X-NUM-GUESTS=5:MAILTO:foo@example.org')); }); @@ -387,14 +516,16 @@ describe('ical-generator Attendee', function () { describe('toJSON()', function () { it('should work', function () { - const a = new ICalAttendee({}, new ICalEvent({}, new ICalCalendar())); - a.name('Max Mustermann'); + const a = new ICalAttendee( + { name: 'Max Mustermann', email: 'max@example.com' }, + new ICalEvent({ start: new Date() }, new ICalCalendar()) + ); a.delegatesTo('Moritz '); assert.deepStrictEqual(a.toJSON(), { delegatedFrom: null, delegatedTo: 'moritz@example.com', - email: null, + email: 'max@example.com', mailto: null, sentBy: null, name: 'Max Mustermann', @@ -407,17 +538,14 @@ describe('ical-generator Attendee', function () { }); it('should be compatible with constructor (type check)', function () { - const a = new ICalAttendee({}, new ICalEvent({}, new ICalCalendar())); - new ICalAttendee(a.toJSON(), new ICalEvent({}, new ICalCalendar())); - }); - }); - - describe('generate()', function () { - it('should throw an error without email', function () { - const a = new ICalAttendee({ name: 'Testuser' }, new ICalEvent({}, new ICalCalendar())); - assert.throws(function () { - a.toString(); - }, /`email`/); + const a = new ICalAttendee( + { email: 'foo@example.com' }, + new ICalEvent({ start: new Date() }, new ICalCalendar()) + ); + new ICalAttendee( + a.toJSON(), + new ICalEvent({ start: new Date() }, new ICalCalendar()) + ); }); }); }); diff --git a/test/calendar.ts b/test/calendar.ts index 27f0e371f..08b710148 100644 --- a/test/calendar.ts +++ b/test/calendar.ts @@ -307,12 +307,15 @@ describe('ical-generator Calendar', function () { describe('createEvent()', function () { it('should return a ICalEvent instance', function () { const cal = new ICalCalendar(); - assert.ok(cal.createEvent({}) instanceof ICalEvent); + assert.ok(cal.createEvent({ start: new Date() }) instanceof ICalEvent); }); it('should pass data to instance', function () { const cal = new ICalCalendar(); - const event = cal.createEvent({summary: 'Patch-Day'}); + const event = cal.createEvent({ + start: new Date(), + summary: 'Patch-Day' + }); assert.strictEqual(event.summary(), 'Patch-Day'); }); @@ -332,7 +335,7 @@ describe('ical-generator Calendar', function () { const cal = new ICalCalendar(); assert.strictEqual(cal.events().length, 0); - const event = cal.createEvent({}); + const event = cal.createEvent({ start: new Date() }); assert.strictEqual(cal.events().length, 1); assert.deepStrictEqual(cal.events()[0], event); }); @@ -341,7 +344,11 @@ describe('ical-generator Calendar', function () { const cal = new ICalCalendar(); assert.strictEqual(cal.length(), 0); - const cal2 = cal.events([{summary: 'Event A'}, {summary: 'Event B'}]); + const cal2 = cal.events([ + { start: new Date(), summary: 'Event A'}, + { start: new Date(), summary: 'Event B'} + ]); + assert.strictEqual(cal.length(), 2); assert.deepStrictEqual(cal2, cal); }); @@ -350,7 +357,7 @@ describe('ical-generator Calendar', function () { describe('clear()', function () { it('should do the job', function () { const cal = new ICalCalendar(); - cal.createEvent({}); + cal.createEvent({ start: new Date() }); assert.strictEqual(cal.events().length, 1); assert.deepStrictEqual(cal.clear(), cal); assert.strictEqual(cal.events().length, 0); diff --git a/test/cases.ts b/test/cases.ts index c720243b4..c7010866d 100644 --- a/test/cases.ts +++ b/test/cases.ts @@ -175,8 +175,10 @@ describe('ical-generator Cases', function () { { type: ICalAlarmType.display, trigger: 60 * 10, - repeat: 2, - interval: 60 + repeat: { + times: 2, + interval: 60 + } }, { type: ICalAlarmType.display, diff --git a/test/category.ts b/test/category.ts index 11e18a3fc..4c2dc51eb 100644 --- a/test/category.ts +++ b/test/category.ts @@ -14,18 +14,24 @@ describe('ical-generator Category', function () { assert.strictEqual(a.name(), 'FOO'); }); + + it('shoult throw an error without name', function () { + assert.throws(function () { + // @ts-ignore + new ICalCategory({}); + }, /`name`/); + }); }); describe('name()', function () { it('setter should return this', function () { - const c = new ICalCategory({}); + const c = new ICalCategory({ name: 'foo' }); assert.deepStrictEqual(c, c.name('FOO')); - assert.deepStrictEqual(c, c.name(null)); }); it('getter should return value', function () { - const c = new ICalCategory({}); - assert.strictEqual(c.name(), null); + const c = new ICalCategory({ name: 'foo' }); + assert.strictEqual(c.name(), 'foo'); c.name('HELLO-WORLD'); assert.strictEqual(c.name(), 'HELLO-WORLD'); @@ -33,7 +39,7 @@ describe('ical-generator Category', function () { it('should change something', function () { const c = new ICalCategory({name: 'BANANA'}); - assert.ok(c.toString().indexOf('BANANA') > -1); + assert.ok(c.toString().includes('BANANA')); }); }); @@ -43,13 +49,4 @@ describe('ical-generator Category', function () { assert.deepStrictEqual(c.toJSON(), {name: 'FOOBAR'}); }); }); - - describe('toString()', function () { - it('shoult throw an error without name', function () { - const c = new ICalCategory({}); - assert.throws(function () { - c.toString(); - }, /`name`/); - }); - }); }); diff --git a/test/event.ts b/test/event.ts index 87a0f652f..7a1ab8b40 100644 --- a/test/event.ts +++ b/test/event.ts @@ -3,12 +3,18 @@ import assert from 'assert'; import moment from 'moment-timezone'; import ICalCalendar from '../src/calendar.js'; -import ICalEvent, {ICalEventBusyStatus, ICalEventClass, ICalEventData, ICalEventStatus, ICalEventTransparency} from '../src/event.js'; -import {ICalEventRepeatingFreq, ICalWeekday} from '../src/types.js'; +import ICalEvent, { + ICalEventBusyStatus, + ICalEventClass, + ICalEventData, + ICalEventStatus, + ICalEventTransparency +} from '../src/event.js'; +import { ICalEventRepeatingFreq, ICalWeekday } from '../src/types.js'; import ICalAttendee from '../src/attendee.js'; -import ICalAlarm, {ICalAlarmType} from '../src/alarm.js'; +import ICalAlarm, { ICalAlarmType } from '../src/alarm.js'; import ICalCategory from '../src/category.js'; -import {isRRule} from '../src/tools.js'; +import { isRRule } from '../src/tools.js'; import rrule from 'rrule'; describe('ical-generator Event', function () { @@ -59,12 +65,12 @@ describe('ical-generator Event', function () { describe('id()', function () { it('setter should return this', function () { - const event = new ICalEvent({}, new ICalCalendar()); + const event = new ICalEvent({ start: new Date() }, new ICalCalendar()); assert.deepStrictEqual(event, event.id(1048)); }); it('getter should return value', function () { - const event = new ICalEvent({}, new ICalCalendar()).id(512); + const event = new ICalEvent({ start: new Date() }, new ICalCalendar()).id(512); assert.strictEqual(event.id(), '512'); event.id('xyz'); @@ -74,12 +80,12 @@ describe('ical-generator Event', function () { describe('uid()', function () { it('setter should return this', function () { - const event = new ICalEvent({}, new ICalCalendar()); + const event = new ICalEvent({ start: new Date() }, new ICalCalendar()); assert.deepStrictEqual(event, event.uid(1048)); }); it('getter should return value', function () { - const event = new ICalEvent({}, new ICalCalendar()).uid(512); + const event = new ICalEvent({ start: new Date() }, new ICalCalendar()).uid(512); assert.strictEqual(event.uid(), '512'); event.id('xyz'); @@ -89,17 +95,21 @@ describe('ical-generator Event', function () { describe('sequence()', function () { it('setter should return this', function () { - const event = new ICalEvent({}, new ICalCalendar()); + const event = new ICalEvent({ start: new Date() }, new ICalCalendar()); assert.deepStrictEqual(event, event.sequence(1)); }); it('getter should return value', function () { - const event = new ICalEvent({}, new ICalCalendar()).sequence(1048); + const event = new ICalEvent( + { start: new Date() }, + new ICalCalendar() + ).sequence(1048); + assert.strictEqual(event.sequence(), 1048); }); it('setter should throw error when sequence is not valid', function () { - const event = new ICalEvent({}, new ICalCalendar()); + const event = new ICalEvent({ start: new Date() }, new ICalCalendar()); assert.throws(function () { // @ts-ignore event.sequence('hello'); @@ -107,7 +117,7 @@ describe('ical-generator Event', function () { }); it('setter should work with 0', function () { - const event = new ICalEvent({}, new ICalCalendar()).sequence(12); + const event = new ICalEvent({ start: new Date() }, new ICalCalendar()).sequence(12); assert.strictEqual(event.sequence(), 12); event.sequence(0); @@ -118,27 +128,27 @@ describe('ical-generator Event', function () { describe('start()', function () { it('getter should return value', function () { const now = moment(); - const event = new ICalEvent({}, new ICalCalendar()); + const event = new ICalEvent({ start: new Date() }, new ICalCalendar()); event.start(now); assert.strictEqual(event.start(), now); }); it('setter should parse string if required', function () { - const event = new ICalEvent({}, new ICalCalendar()); + const event = new ICalEvent({ start: new Date() }, new ICalCalendar()); const date = moment().add(1, 'week').toJSON(); assert.deepStrictEqual(event, event.start(date)); assert.deepStrictEqual(event.start(), date); }); it('setter should handle Dates if required', function () { - const event = new ICalEvent({}, new ICalCalendar()); + const event = new ICalEvent({ start: new Date() }, new ICalCalendar()); const date = moment().add(1, 'week').toDate(); assert.deepStrictEqual(event, event.start(date)); assert.deepStrictEqual(event.start(), date); }); it('setter should throw error when start time is not a Date', function () { - const event = new ICalEvent({}, new ICalCalendar()); + const event = new ICalEvent({ start: new Date() }, new ICalCalendar()); assert.throws(function () { // @ts-ignore event.start(3); @@ -159,7 +169,7 @@ describe('ical-generator Event', function () { it('setter should flip start and end if necessary', function () { const start = moment().add(5, 'minutes'); const end = moment(); - const event = new ICalEvent({}, new ICalCalendar()) + const event = new ICalEvent({ start: new Date() }, new ICalCalendar()) .end(end) .start(start); @@ -168,7 +178,7 @@ describe('ical-generator Event', function () { }); it('setter should return this', function () { - const event = new ICalEvent({}, new ICalCalendar()); + const event = new ICalEvent({ start: new Date() }, new ICalCalendar()); assert.deepStrictEqual(event, event.start(moment())); assert.deepStrictEqual(event, event.start(new Date())); }); @@ -177,27 +187,27 @@ describe('ical-generator Event', function () { describe('end()', function () { it('getter should return value', function () { const now = moment(); - const event = new ICalEvent({}, new ICalCalendar()); + const event = new ICalEvent({ start: new Date() }, new ICalCalendar()); event.end(now); assert.deepStrictEqual(event.end(), now); }); it('setter should parse string if required', function () { - const event = new ICalEvent({}, new ICalCalendar()); + const event = new ICalEvent({ start: new Date() }, new ICalCalendar()); const date = moment().add(1, 'week').toJSON(); assert.deepStrictEqual(event, event.end(date)); assert.deepStrictEqual(event.end(), date); }); it('setter should handle Dates if required', function () { - const event = new ICalEvent({}, new ICalCalendar()); + const event = new ICalEvent({ start: new Date() }, new ICalCalendar()); const date = moment().add(1, 'week').toDate(); assert.deepStrictEqual(event, event.end(date)); assert.deepStrictEqual(event.end(), date); }); it('setter should throw error when time is not a Date', function () { - const event = new ICalEvent({}, new ICalCalendar()); + const event = new ICalEvent({ start: new Date() }, new ICalCalendar()); assert.throws(function () { // @ts-ignore event.end(3); @@ -214,7 +224,7 @@ describe('ical-generator Event', function () { it('setter should flip start and end if necessary', function () { const start = moment().add(5, 'minutes'); const end = moment(); - const event = new ICalEvent({}, new ICalCalendar()) + const event = new ICalEvent({ start: new Date() }, new ICalCalendar()) .start(start) .end(end); @@ -223,7 +233,7 @@ describe('ical-generator Event', function () { }); it('setter should return this', function () { - const event = new ICalEvent({}, new ICalCalendar()); + const event = new ICalEvent({ start: new Date() }, new ICalCalendar()); assert.deepStrictEqual(event, event.end(moment())); assert.deepStrictEqual(event, event.end(new Date())); }); @@ -232,27 +242,27 @@ describe('ical-generator Event', function () { describe('recurrenceId()', function () { it('getter should return value', function () { const now = moment(); - const event = new ICalEvent({}, new ICalCalendar()); + const event = new ICalEvent({ start: new Date() }, new ICalCalendar()); event.recurrenceId(now); assert.deepStrictEqual(event.recurrenceId(), now); }); it('setter should parse string if required', function () { - const event = new ICalEvent({}, new ICalCalendar()); + const event = new ICalEvent({ start: new Date() }, new ICalCalendar()); const date = moment().add(1, 'week').toJSON(); assert.deepStrictEqual(event, event.recurrenceId(date)); assert.deepStrictEqual(event.recurrenceId(), date); }); it('setter should handle Dates if required', function () { - const event = new ICalEvent({}, new ICalCalendar()); + const event = new ICalEvent({ start: new Date() }, new ICalCalendar()); const date = moment().add(1, 'week').toDate(); assert.deepStrictEqual(event, event.recurrenceId(date)); assert.deepStrictEqual(event.recurrenceId(), date); }); it('setter should throw error when time is not a Date', function () { - const event = new ICalEvent({}, new ICalCalendar()); + const event = new ICalEvent({ start: new Date() }, new ICalCalendar()); assert.throws(function () { // @ts-ignore event.recurrenceId(3); @@ -267,7 +277,7 @@ describe('ical-generator Event', function () { }); it('setter should return this', function () { - const event = new ICalEvent({}, new ICalCalendar()); + const event = new ICalEvent({ start: new Date() }, new ICalCalendar()); assert.deepStrictEqual(event, event.recurrenceId(moment())); assert.deepStrictEqual(event, event.recurrenceId(new Date())); }); @@ -275,7 +285,9 @@ describe('ical-generator Event', function () { describe('timezone()', function () { it('getter should return value', function () { - const e = new ICalEvent({}, new ICalCalendar()).timezone('Europe/Berlin'); + const e = new ICalEvent({ start: new Date() }, new ICalCalendar()) + .timezone('Europe/Berlin'); + assert.strictEqual(e.timezone(), 'Europe/Berlin'); }); @@ -307,7 +319,7 @@ describe('ical-generator Event', function () { }); it('setter should return this', function () { - const e = new ICalEvent({}, new ICalCalendar()); + const e = new ICalEvent({ start: new Date() }, new ICalCalendar()); assert.deepStrictEqual(e, e.timezone('Europe/Berlin')); }); @@ -360,26 +372,29 @@ describe('ical-generator Event', function () { describe('stamp()', function () { it('getter should return value', function () { const now = moment().add(1, 'day'); - const e = new ICalEvent({}, new ICalCalendar()).stamp(now); + const e = new ICalEvent( + { start: new Date() }, + new ICalCalendar() + ).stamp(now); assert.deepStrictEqual(e.stamp(), now); }); it('setter should parse string if required', function () { - const event = new ICalEvent({}, new ICalCalendar()); + const event = new ICalEvent({ start: new Date() }, new ICalCalendar()); const date = moment().add(1, 'week').toJSON(); assert.deepStrictEqual(event, event.stamp(date)); assert.deepStrictEqual(event.stamp(), date); }); it('setter should handle Dates if required', function () { - const event = new ICalEvent({}, new ICalCalendar()); + const event = new ICalEvent({ start: new Date() }, new ICalCalendar()); const date = moment().add(1, 'week').toDate(); assert.deepStrictEqual(event, event.stamp(date)); assert.deepStrictEqual(event.stamp(), date); }); it('setter should throw error when time is not a Date', function () { - const event = new ICalEvent({}, new ICalCalendar()); + const event = new ICalEvent({ start: new Date() }, new ICalCalendar()); assert.throws(function () { // @ts-ignore event.stamp(3); @@ -398,7 +413,7 @@ describe('ical-generator Event', function () { }); it('setter should return this', function () { - const e = new ICalEvent({}, new ICalCalendar()); + const e = new ICalEvent({ start: new Date() }, new ICalCalendar()); assert.deepStrictEqual(e, e.stamp(new Date())); }); }); @@ -406,26 +421,29 @@ describe('ical-generator Event', function () { describe('timestamp()', function () { it('getter should return value', function () { const now = moment().add(1, 'day'); - const e = new ICalEvent({}, new ICalCalendar()).timestamp(now); + const e = new ICalEvent( + { start: new Date() }, + new ICalCalendar() + ).timestamp(now); assert.deepStrictEqual(e.timestamp(), now); }); it('setter should parse string if required', function () { - const event = new ICalEvent({}, new ICalCalendar()); + const event = new ICalEvent({ start: new Date() }, new ICalCalendar()); const date = moment().add(1, 'week').toJSON(); assert.deepStrictEqual(event, event.timestamp(date)); assert.deepStrictEqual(event.stamp(), date); }); it('setter should handle Dates if required', function () { - const event = new ICalEvent({}, new ICalCalendar()); + const event = new ICalEvent({ start: new Date() }, new ICalCalendar()); const date = moment().add(1, 'week').toDate(); assert.deepStrictEqual(event, event.timestamp(date)); assert.deepStrictEqual(event.stamp(), date); }); it('setter should throw error when time is not a Date', function () { - const event = new ICalEvent({}, new ICalCalendar()); + const event = new ICalEvent({ start: new Date() }, new ICalCalendar()); assert.throws(function () { // @ts-ignore event.timestamp(3); @@ -444,20 +462,20 @@ describe('ical-generator Event', function () { }); it('setter should return this', function () { - const e = new ICalEvent({}, new ICalCalendar()); + const e = new ICalEvent({ start: new Date() }, new ICalCalendar()); assert.deepStrictEqual(e, e.timestamp(new Date())); }); }); describe('allDay()', function () { it('getter should return value', function () { - const e = new ICalEvent({}, new ICalCalendar()); + const e = new ICalEvent({ start: new Date() }, new ICalCalendar()); e.allDay(true); assert.strictEqual(e.allDay(), true); }); it('setter should return this', function () { - const e = new ICalEvent({}, new ICalCalendar()); + const e = new ICalEvent({ start: new Date() }, new ICalCalendar()); assert.deepStrictEqual(e, e.allDay(true)); }); @@ -474,12 +492,12 @@ describe('ical-generator Event', function () { describe('floating()', function () { it('getter should return value', function () { - const e = new ICalEvent({}, new ICalCalendar()).floating(true); + const e = new ICalEvent({ start: new Date() }, new ICalCalendar()).floating(true); assert.strictEqual(e.floating(), true); }); it('setter should return this', function () { - const e = new ICalEvent({}, new ICalCalendar()); + const e = new ICalEvent({ start: new Date() }, new ICalCalendar()); assert.deepStrictEqual(e, e.floating(false)); assert.deepStrictEqual(e, e.floating(true)); }); @@ -526,7 +544,7 @@ describe('ical-generator Event', function () { until: moment(), exclude: [moment()] }; - const e = new ICalEvent({}, new ICalCalendar()); + const e = new ICalEvent({ start: new Date() }, new ICalCalendar()); assert.deepStrictEqual(e.repeating(), null); e.repeating(options); @@ -540,13 +558,13 @@ describe('ical-generator Event', function () { }); it('setter should handle null', function () { - const e = new ICalEvent({}, new ICalCalendar()); + const e = new ICalEvent({ start: new Date() }, new ICalCalendar()); assert.deepStrictEqual(e, e.repeating(null)); assert.deepStrictEqual(e.repeating(), null); }); it('setter should return this', function () { - const e = new ICalEvent({}, new ICalCalendar()); + const e = new ICalEvent({ start: new Date() }, new ICalCalendar()); assert.deepStrictEqual(e, e.repeating(null), 'repeating(null)'); assert.deepStrictEqual(e, e.repeating({ freq: ICalEventRepeatingFreq.MONTHLY @@ -579,12 +597,16 @@ describe('ical-generator Event', function () { }); it('setter should update freq', function () { - const e = new ICalEvent({}, new ICalCalendar()); + const e = new ICalEvent({ start: new Date() }, new ICalCalendar()); e.repeating({freq: ICalEventRepeatingFreq.MONTHLY}); const result = e.repeating(); - assert.ok(result && !isRRule(result) && typeof result !== 'string'); + assert.ok(result); + assert.ok(!isRRule(result)); + assert.ok(typeof result !== 'string'); + + // @ts-ignore assert.strictEqual(result.freq, 'MONTHLY'); }); @@ -614,12 +636,16 @@ describe('ical-generator Event', function () { }); it('setter should update count', function () { - const e = new ICalEvent({}, new ICalCalendar()); + const e = new ICalEvent({ start: new Date() }, new ICalCalendar()); e.repeating({freq: ICalEventRepeatingFreq.MONTHLY, count: 5}); const result = e.repeating(); - assert.ok(result && !isRRule(result) && typeof result !== 'string'); + assert.ok(result); + assert.ok(!isRRule(result)); + assert.ok(typeof result !== 'string'); + + // @ts-ignore assert.strictEqual(result.count, 5); }); @@ -649,12 +675,16 @@ describe('ical-generator Event', function () { }); it('setter should update interval', function () { - const e = new ICalEvent({}, new ICalCalendar()); + const e = new ICalEvent({ start: new Date() }, new ICalCalendar()); e.repeating({freq: ICalEventRepeatingFreq.MONTHLY, interval: 5}); const result = e.repeating(); - assert.ok(result && !isRRule(result) && typeof result !== 'string'); + assert.ok(result); + assert.ok(!isRRule(result)); + assert.ok(typeof result !== 'string'); + + // @ts-ignore assert.strictEqual(result.interval, 5); }); @@ -673,37 +703,49 @@ describe('ical-generator Event', function () { }); it('setter should parse repeating.until string if required', function () { - const event = new ICalEvent({}, new ICalCalendar()); + const event = new ICalEvent({ start: new Date() }, new ICalCalendar()); const date = moment().add(1, 'week').toJSON(); event.repeating({freq: ICalEventRepeatingFreq.MONTHLY, until: date}); const result = event.repeating(); - assert.ok(result && !isRRule(result) && typeof result !== 'string'); + assert.ok(result); + assert.ok(!isRRule(result)); + assert.ok(typeof result !== 'string'); + + // @ts-ignore assert.deepStrictEqual(result.until, date); }); it('setter should handle repeating.until Dates if required', function () { - const event = new ICalEvent({}, new ICalCalendar()); + const event = new ICalEvent({ start: new Date() }, new ICalCalendar()); const date = moment().add(1, 'week').toDate(); event.repeating({freq: ICalEventRepeatingFreq.MONTHLY, until: date}); const result = event.repeating(); - assert.ok(result && !isRRule(result) && typeof result !== 'string'); + assert.ok(result); + assert.ok(!isRRule(result)); + assert.ok(typeof result !== 'string'); + + // @ts-ignore assert.deepStrictEqual(result.until, date); }); it('setter should handle repeating.until moments', function () { - const event = new ICalEvent({}, new ICalCalendar()); + const event = new ICalEvent({ start: new Date() }, new ICalCalendar()); const date = moment().add(1, 'week'); event.repeating({freq: ICalEventRepeatingFreq.MONTHLY, until: date}); const result = event.repeating(); - assert.ok(result && !isRRule(result) && typeof result !== 'string'); + assert.ok(result); + assert.ok(!isRRule(result)); + assert.ok(typeof result !== 'string'); + + // @ts-ignore assert.deepStrictEqual(result.until, date); }); it('setter should throw error when repeating.until is not a Date', function () { - const event = new ICalEvent({}, new ICalCalendar()); + const event = new ICalEvent({ start: new Date() }, new ICalCalendar()); assert.throws(function () { // @ts-ignore event.repeating({freq: ICalEventRepeatingFreq.MONTHLY, until: 3}); @@ -763,7 +805,7 @@ describe('ical-generator Event', function () { }); it('setter should update repeating.byDay', function () { - const e = new ICalEvent({}, new ICalCalendar()); + const e = new ICalEvent({ start: new Date() }, new ICalCalendar()); e.repeating({ freq: ICalEventRepeatingFreq.MONTHLY, @@ -771,7 +813,11 @@ describe('ical-generator Event', function () { }); const result = e.repeating(); - assert.ok(result && !isRRule(result) && typeof result !== 'string'); + assert.ok(result); + assert.ok(!isRRule(result)); + assert.ok(typeof result !== 'string'); + + // @ts-ignore assert.deepStrictEqual(result.byDay, ['SU', 'WE', 'TH']); }); @@ -803,12 +849,16 @@ describe('ical-generator Event', function () { }); it('setter should update repeating.byMonth', function () { - const e = new ICalEvent({}, new ICalCalendar()); + const e = new ICalEvent({ start: new Date() }, new ICalCalendar()); e.repeating({freq: ICalEventRepeatingFreq.MONTHLY, byMonth: [1, 12, 7]}); const result = e.repeating(); - assert.ok(result && !isRRule(result) && typeof result !== 'string'); + assert.ok(result); + assert.ok(!isRRule(result)); + assert.ok(typeof result !== 'string'); + + // @ts-ignore assert.deepStrictEqual(result.byMonth, [1, 12, 7]); }); @@ -868,12 +918,16 @@ describe('ical-generator Event', function () { }); it('setter should update repeating.byMonthDay', function () { - const e = new ICalEvent({}, new ICalCalendar()); + const e = new ICalEvent({ start: new Date() }, new ICalCalendar()); e.repeating({freq: ICalEventRepeatingFreq.MONTHLY, byMonthDay: [1, 15]}); const result = e.repeating(); - assert.ok(result && !isRRule(result) && typeof result !== 'string'); + assert.ok(result); + assert.ok(!isRRule(result)); + assert.ok(typeof result !== 'string'); + + // @ts-ignore assert.deepStrictEqual(result.byMonthDay, [1, 15]); }); @@ -952,7 +1006,7 @@ describe('ical-generator Event', function () { }); it('setter should update repeating.bySetPos', function () { - const e = new ICalEvent({}, new ICalCalendar()); + const e = new ICalEvent({ start: new Date() }, new ICalCalendar()); e.repeating({ freq: ICalEventRepeatingFreq.MONTHLY, @@ -961,8 +1015,14 @@ describe('ical-generator Event', function () { }); const result = e.repeating(); - assert.ok(result && !isRRule(result) && typeof result !== 'string'); + assert.ok(result); + assert.ok(!isRRule(result)); + assert.ok(typeof result !== 'string'); + + // @ts-ignore assert.strictEqual(result.byDay?.length, 1); + + // @ts-ignore assert.strictEqual(result.bySetPos?.length, 1); }); @@ -1016,7 +1076,7 @@ describe('ical-generator Event', function () { }); it('setter should update repeating.exclude', function () { - const e = new ICalEvent({}, new ICalCalendar()); + const e = new ICalEvent({ start: new Date() }, new ICalCalendar()); const date = moment().add(1, 'week'); e.repeating({ @@ -1029,12 +1089,20 @@ describe('ical-generator Event', function () { }); const result = e.repeating(); - assert.ok(result && !isRRule(result) && typeof result !== 'string'); + assert.ok(result); + assert.ok(!isRRule(result)); + assert.ok(typeof result !== 'string'); + + // @ts-ignore assert.ok(Array.isArray(result.exclude)); + // @ts-ignore assert.strictEqual(result.exclude.length, 3); + // @ts-ignore assert.deepStrictEqual(result.exclude[0], date.toJSON(), 'String'); + // @ts-ignore assert.deepStrictEqual(result.exclude[1], date.toDate(), 'Date'); + // @ts-ignore assert.deepStrictEqual(result.exclude[2], date, 'Moment'); }); @@ -1054,7 +1122,7 @@ describe('ical-generator Event', function () { }); it('setter should update repeating.wkst', function () { - const e = new ICalEvent({}, new ICalCalendar()); + const e = new ICalEvent({ start: new Date() }, new ICalCalendar()); e.repeating({ freq: ICalEventRepeatingFreq.MONTHLY, @@ -1062,7 +1130,11 @@ describe('ical-generator Event', function () { }); const result = e.repeating(); - assert.ok(result && !isRRule(result) && typeof result !== 'string'); + assert.ok(result); + assert.ok(!isRRule(result)); + assert.ok(typeof result !== 'string'); + + // @ts-ignore assert.deepStrictEqual(result.startOfWeek, 'SU'); }); @@ -1106,7 +1178,7 @@ describe('ical-generator Event', function () { describe('summary()', function () { it('getter should return value', function () { - const e = new ICalEvent({}, new ICalCalendar()); + const e = new ICalEvent({ start: new Date() }, new ICalCalendar()); assert.strictEqual(e.summary(), ''); e.summary('Testevent'); @@ -1114,7 +1186,7 @@ describe('ical-generator Event', function () { }); it('setter should return this', function () { - const e = new ICalEvent({}, new ICalCalendar()); + const e = new ICalEvent({ start: new Date() }, new ICalCalendar()); assert.deepStrictEqual(e, e.summary('')); assert.deepStrictEqual(e, e.summary('Testevent')); }); @@ -1135,7 +1207,7 @@ describe('ical-generator Event', function () { describe('location()', function () { it('getter should return value (string)', function () { - const e = new ICalEvent({}, new ICalCalendar()); + const e = new ICalEvent({ start: new Date() }, new ICalCalendar()); assert.strictEqual(e.location(), null); e.location('Test Location'); @@ -1146,7 +1218,7 @@ describe('ical-generator Event', function () { }); it('getter should return value (obj)', function () { - const e = new ICalEvent({}, new ICalCalendar()); + const e = new ICalEvent({ start: new Date() }, new ICalCalendar()); assert.strictEqual(e.location(), null); e.location({ @@ -1161,7 +1233,7 @@ describe('ical-generator Event', function () { }); it('setter should return this', function () { - const e = new ICalEvent({}, new ICalCalendar()); + const e = new ICalEvent({ start: new Date() }, new ICalCalendar()); assert.deepStrictEqual(e, e.location(null)); assert.deepStrictEqual(e, e.location('Test Location')); }); @@ -1192,7 +1264,7 @@ describe('ical-generator Event', function () { describe('description()', function () { it('getter should return value', function () { - const e = new ICalEvent({}, new ICalCalendar()); + const e = new ICalEvent({ start: new Date() }, new ICalCalendar()); assert.strictEqual(e.description(), null); e.description('I don\'t need a description. I\'m far to awesome for descriptions…'); @@ -1214,7 +1286,7 @@ describe('ical-generator Event', function () { }); it('setter should return this', function () { - const e = new ICalEvent({}, new ICalCalendar()); + const e = new ICalEvent({ start: new Date() }, new ICalCalendar()); assert.deepStrictEqual(e, e.description(null)); assert.deepStrictEqual(e, e.description('I don\'t need a description. I\'m far to awesome for descriptions…')); }); @@ -1240,7 +1312,7 @@ describe('ical-generator Event', function () { describe('organizer()', function () { it('getter should return value', function () { - const e = new ICalEvent({}, new ICalCalendar()); + const e = new ICalEvent({ start: new Date() }, new ICalCalendar()); assert.strictEqual(e.organizer(), null); e.organizer(null); @@ -1257,7 +1329,7 @@ describe('ical-generator Event', function () { }); it('setter should return this', function () { - const e = new ICalEvent({}, new ICalCalendar()); + const e = new ICalEvent({ start: new Date() }, new ICalCalendar()); assert.deepStrictEqual(e, e.organizer(null)); assert.deepStrictEqual(e, e.organizer('Sebastian Pekarek ')); }); @@ -1311,14 +1383,14 @@ describe('ical-generator Event', function () { }); it('should throw error when string misformated', function () { - const e = new ICalEvent({}, new ICalCalendar()); + const e = new ICalEvent({ start: new Date() }, new ICalCalendar()); assert.throws(function () { e.organizer('foo bar'); }, /`organizer`/); }); it('should throw error when object misses data', function () { - const e = new ICalEvent({}, new ICalCalendar()); + const e = new ICalEvent({ start: new Date() }, new ICalCalendar()); assert.throws(function () { // @ts-ignore e.organizer({email: 'foo'}); @@ -1326,7 +1398,7 @@ describe('ical-generator Event', function () { }); it('should throw error when unknown format', function () { - const e = new ICalEvent({}, new ICalCalendar()); + const e = new ICalEvent({ start: new Date() }, new ICalCalendar()); assert.throws(function () { // @ts-ignore e.organizer(Infinity); @@ -1355,22 +1427,22 @@ describe('ical-generator Event', function () { describe('createAttendee()', function () { it('if Attendee passed, it should add and return it', function () { - const event = new ICalEvent({}, new ICalCalendar()); - const attendee = new ICalAttendee({}, event); + const event = new ICalEvent({ start: new Date() }, new ICalCalendar()); + const attendee = new ICalAttendee({ email: 'mail@example.com' }, event); assert.strictEqual(event.createAttendee(attendee), attendee, 'createAttendee returns attendee'); assert.deepStrictEqual(event.attendees()[0], attendee, 'attendee pushed'); }); it('should return a ICalAttendee instance', function () { - const event = new ICalEvent({}, new ICalCalendar()); + const event = new ICalEvent({ start: new Date() }, new ICalCalendar()); - assert.ok(event.createAttendee({}) instanceof ICalAttendee); + assert.ok(event.createAttendee({ email: 'mail@example.com' }) instanceof ICalAttendee); assert.strictEqual(event.attendees.length, 1, 'attendee pushed'); }); it('should accept string', function () { - const event = new ICalEvent({}, new ICalCalendar()); + const event = new ICalEvent({ start: new Date() }, new ICalCalendar()); const attendee = event.createAttendee('Zac '); assert.strictEqual(attendee.name(), 'Zac'); @@ -1379,14 +1451,14 @@ describe('ical-generator Event', function () { }); it('should throw error when string misformated', function () { - const e = new ICalEvent({}, new ICalCalendar()); + const e = new ICalEvent({ start: new Date() }, new ICalCalendar()); assert.throws(function () { e.createAttendee('foo bar'); }, /isn't formated correctly/); }); it('should accept object', function () { - const event = new ICalEvent({}, new ICalCalendar()); + const event = new ICalEvent({ start: new Date() }, new ICalCalendar()); const attendee = event.createAttendee({name: 'Zac', email: 'zac@example.com'}); assert.strictEqual(attendee.name(), 'Zac'); @@ -1397,17 +1469,20 @@ describe('ical-generator Event', function () { describe('attendees()', function () { it('getter should return an array of attendees…', function () { - const event = new ICalEvent({}, new ICalCalendar()); + const event = new ICalEvent({ start: new Date() }, new ICalCalendar()); assert.strictEqual(event.attendees().length, 0); - const attendee = event.createAttendee(); + const attendee = event.createAttendee({ email: 'mail@example.com' }); assert.strictEqual(event.attendees().length, 1); assert.deepStrictEqual(event.attendees()[0], attendee); }); it('setter should add attendees and return this', function () { - const event = new ICalEvent({}, new ICalCalendar()); - const foo = event.attendees([{name: 'Person A'}, {name: 'Person B'}]); + const event = new ICalEvent({ start: new Date() }, new ICalCalendar()); + const foo = event.attendees([ + { name: 'Person A', email: 'a@example.com' }, + { name: 'Person B', email: 'b@example.com' } + ]); assert.strictEqual(event.attendees().length, 2); assert.deepStrictEqual(foo, event); @@ -1416,14 +1491,20 @@ describe('ical-generator Event', function () { describe('createAlarm()', function () { it('should return a ICalAlarm instance', function () { - const event = new ICalEvent({}, new ICalCalendar()); + const event = new ICalEvent({ start: new Date() }, new ICalCalendar()); - assert.ok(event.createAlarm() instanceof ICalAlarm); + assert.ok(event.createAlarm({ + type: ICalAlarmType.display, + trigger: 60 * 10 + }) instanceof ICalAlarm); }); it('should pass data to instance', function () { - const event = new ICalEvent({}, new ICalCalendar()); - const alarm = event.createAlarm({type: ICalAlarmType.audio}); + const event = new ICalEvent({ start: new Date() }, new ICalCalendar()); + const alarm = event.createAlarm({ + type: ICalAlarmType.audio, + trigger: 60 * 10 + }); assert.strictEqual(alarm.type(), 'audio'); }); @@ -1431,19 +1512,22 @@ describe('ical-generator Event', function () { describe('alarms()', function () { it('getter should return an array of alarms…', function () { - const event = new ICalEvent({}, new ICalCalendar()); + const event = new ICalEvent({ start: new Date() }, new ICalCalendar()); assert.strictEqual(event.alarms().length, 0); - const alarm = event.createAlarm(); + const alarm = event.createAlarm({ + type: ICalAlarmType.display, + trigger: 600 + }); assert.strictEqual(event.alarms().length, 1); assert.deepStrictEqual(event.alarms()[0], alarm); }); it('setter should add alarms and return this', function () { - const event = new ICalEvent({}, new ICalCalendar()); + const event = new ICalEvent({ start: new Date() }, new ICalCalendar()); const foo = event.alarms([ - {type: ICalAlarmType.audio}, - {type: ICalAlarmType.display} + { type: ICalAlarmType.audio, trigger: 60 }, + { type: ICalAlarmType.display, trigger: 600 } ]); assert.strictEqual(event.alarms().length, 2); @@ -1453,12 +1537,12 @@ describe('ical-generator Event', function () { describe('createCategory()', function () { it('should return a ICalCategory instance', function () { - const event = new ICalEvent({}, new ICalCalendar()); - assert.ok(event.createCategory() instanceof ICalCategory); + const event = new ICalEvent({ start: new Date() }, new ICalCalendar()); + assert.ok(event.createCategory({ name: 'Test' }) instanceof ICalCategory); }); it('should pass data to instance', function () { - const event = new ICalEvent({}, new ICalCalendar()); + const event = new ICalEvent({ start: new Date() }, new ICalCalendar()); const category = event.createCategory({name: 'foo'}); assert.strictEqual(category.name(), 'foo'); @@ -1467,16 +1551,16 @@ describe('ical-generator Event', function () { describe('categories()', function () { it('getter should return an array of categories…', function () { - const event = new ICalEvent({}, new ICalCalendar()); + const event = new ICalEvent({ start: new Date() }, new ICalCalendar()); assert.strictEqual(event.categories().length, 0); - const category = event.createCategory(); + const category = event.createCategory({ name: 'Test' }); assert.strictEqual(event.categories().length, 1); assert.deepStrictEqual(event.categories()[0], category); }); it('setter should add category and return this', function () { - const event = new ICalEvent({}, new ICalCalendar()); + const event = new ICalEvent({ start: new Date() }, new ICalCalendar()); const foo = event.categories([ {name: 'foo'}, {name: 'bar'} @@ -1489,7 +1573,7 @@ describe('ical-generator Event', function () { describe('status()', function () { it('getter should return value', function () { - const event = new ICalEvent({}, new ICalCalendar()); + const event = new ICalEvent({ start: new Date() }, new ICalCalendar()); assert.strictEqual(event.status(), null); event.status(ICalEventStatus.CONFIRMED); @@ -1500,27 +1584,27 @@ describe('ical-generator Event', function () { }); it('setter should return this', function () { - const e = new ICalEvent({}, new ICalCalendar()); + const e = new ICalEvent({ start: new Date() }, new ICalCalendar()); assert.deepStrictEqual(e, e.status(null)); assert.deepStrictEqual(e, e.status(ICalEventStatus.CONFIRMED)); }); it('setter should allow setting null', function () { - const e = new ICalEvent({}, new ICalCalendar()); + const e = new ICalEvent({ start: new Date() }, new ICalCalendar()); e.status(ICalEventStatus.CONFIRMED); e.status(null); assert.strictEqual(e.status(), null); }); it('setter should allow setting valid value', function () { - const e = new ICalEvent({}, new ICalCalendar()); + const e = new ICalEvent({ start: new Date() }, new ICalCalendar()); e.status(ICalEventStatus.CONFIRMED); assert.strictEqual(e.status(), 'CONFIRMED'); assert.strictEqual(e.status(), ICalEventStatus.CONFIRMED); }); it('should throw error when method not allowed', function () { - const e = new ICalEvent({}, new ICalCalendar()); + const e = new ICalEvent({ start: new Date() }, new ICalCalendar()); assert.throws(function () { // @ts-ignore e.status('COOKING'); @@ -1542,7 +1626,7 @@ describe('ical-generator Event', function () { describe('busystatus()', function () { it('getter should return value', function () { - const event = new ICalEvent({}, new ICalCalendar()); + const event = new ICalEvent({ start: new Date() }, new ICalCalendar()); assert.strictEqual(event.busystatus(), null); event.busystatus(ICalEventBusyStatus.BUSY); @@ -1553,26 +1637,26 @@ describe('ical-generator Event', function () { }); it('setter should return this', function () { - const e = new ICalEvent({}, new ICalCalendar()); + const e = new ICalEvent({ start: new Date() }, new ICalCalendar()); assert.deepStrictEqual(e, e.busystatus(null)); assert.deepStrictEqual(e, e.busystatus(ICalEventBusyStatus.BUSY)); }); it('setter should allow setting null', function () { - const e = new ICalEvent({}, new ICalCalendar()); + const e = new ICalEvent({ start: new Date() }, new ICalCalendar()); e.busystatus(ICalEventBusyStatus.BUSY); e.busystatus(null); assert.strictEqual(e.busystatus(), null); }); it('setter should allow setting valid value', function () { - const e = new ICalEvent({}, new ICalCalendar()); + const e = new ICalEvent({ start: new Date() }, new ICalCalendar()); e.busystatus(ICalEventBusyStatus.BUSY); assert.strictEqual(e.busystatus(), 'BUSY'); }); it('should throw error when method not allowed', function () { - const e = new ICalEvent({}, new ICalCalendar()); + const e = new ICalEvent({ start: new Date() }, new ICalCalendar()); assert.throws(function () { // @ts-ignore e.busystatus('COOKING'); @@ -1594,7 +1678,7 @@ describe('ical-generator Event', function () { describe('priority()', function () { it('getter should return value', function () { - const e = new ICalEvent({}, new ICalCalendar()); + const e = new ICalEvent({ start: new Date() }, new ICalCalendar()); assert.strictEqual(e.priority(), null); e.priority(5); @@ -1602,7 +1686,7 @@ describe('ical-generator Event', function () { }); it('setter should return this', function () { - const e = new ICalEvent({}, new ICalCalendar()); + const e = new ICalEvent({ start: new Date() }, new ICalCalendar()); assert.deepStrictEqual(e, e.priority(null)); assert.deepStrictEqual(e, e.priority(5)); }); @@ -1621,7 +1705,7 @@ describe('ical-generator Event', function () { describe('url()', function () { it('getter should return value', function () { - const e = new ICalEvent({}, new ICalCalendar()); + const e = new ICalEvent({ start: new Date() }, new ICalCalendar()); assert.strictEqual(e.url(), null); e.url('http://sebbo.net/'); @@ -1629,7 +1713,7 @@ describe('ical-generator Event', function () { }); it('setter should return this', function () { - const e = new ICalEvent({}, new ICalCalendar()); + const e = new ICalEvent({ start: new Date() }, new ICalCalendar()); assert.deepStrictEqual(e, e.url(null)); assert.deepStrictEqual(e, e.url('http://sebbo.net/')); }); @@ -1647,14 +1731,14 @@ describe('ical-generator Event', function () { describe('createAttachment()', function () { it('should return this', function () { - const event = new ICalEvent({}, new ICalCalendar()); + const event = new ICalEvent({ start: new Date() }, new ICalCalendar()); assert.deepStrictEqual(event.createAttachment('https://files.sebbo.net/calendar/attachments/foo'), event); }); }); describe('attachments()', function () { it('getter should return an array of strings…', function () { - const event = new ICalEvent({}, new ICalCalendar()); + const event = new ICalEvent({ start: new Date() }, new ICalCalendar()); assert.strictEqual(event.attachments().length, 0); event.createAttachment('https://files.sebbo.net/calendar/attachments/foo'); @@ -1663,7 +1747,7 @@ describe('ical-generator Event', function () { }); it('setter should add url and return this', function () { - const event = new ICalEvent({}, new ICalCalendar()); + const event = new ICalEvent({ start: new Date() }, new ICalCalendar()); const foo = event.attachments([ 'https://files.sebbo.net/calendar/attachments/foo', 'https://files.sebbo.net/calendar/attachments/bar' @@ -1676,42 +1760,44 @@ describe('ical-generator Event', function () { describe('created()', function () { it('setter should return this', function () { - const e = new ICalEvent({}, new ICalCalendar()); + const e = new ICalEvent({ start: new Date() }, new ICalCalendar()); assert.deepStrictEqual(e, e.created(new Date())); }); it('setter should work with moment', function () { - const e = new ICalEvent({}, new ICalCalendar()); + const e = new ICalEvent({ start: new Date() }, new ICalCalendar()); e.created(moment()); assert.ok(moment.isMoment(e.created())); }); it('setter should work with Date', function () { - const e = new ICalEvent({}, new ICalCalendar()); + const e = new ICalEvent({ start: new Date() }, new ICalCalendar()); e.created(new Date()); assert.ok(e.created() instanceof Date); }); it('setter should work with String', function () { - const e = new ICalEvent({}, new ICalCalendar()); + const e = new ICalEvent({ start: new Date() }, new ICalCalendar()); e.created(moment().toJSON()); assert.strictEqual(typeof e.created(), 'string'); }); it('setter should work with Number', function () { - const e = new ICalEvent({}, new ICalCalendar()); + const e = new ICalEvent({ start: new Date() }, new ICalCalendar()); e.created(new Date()); assert.ok(e.created() instanceof Date); }); it('getter should return value', function () { const now = new Date(); - const e = new ICalEvent({}, new ICalCalendar()).created(now); + const e = new ICalEvent({ start: new Date() }, new ICalCalendar()) + .created(now); + assert.deepStrictEqual(e.created()?.valueOf(), now.getTime()); }); it('should throw error when created is not a Date', function () { - const e = new ICalEvent({}, new ICalCalendar()); + const e = new ICalEvent({ start: new Date() }, new ICalCalendar()); assert.throws(function () { e.created('hallo'); // this will produce a "Deprecation warning", sorry 😇 }, /`created`/); @@ -1720,43 +1806,45 @@ describe('ical-generator Event', function () { describe('lastModified()', function () { it('setter should return this', function () { - const e = new ICalEvent({}, new ICalCalendar()); + const e = new ICalEvent({ start: new Date() }, new ICalCalendar()); assert.deepStrictEqual(e, e.lastModified(new Date())); }); it('setter should work with moment', function () { - const e = new ICalEvent({}, new ICalCalendar()); + const e = new ICalEvent({ start: new Date() }, new ICalCalendar()); e.lastModified(moment()); assert.ok(moment.isMoment(e.lastModified())); }); it('setter should work with Date', function () { - const e = new ICalEvent({}, new ICalCalendar()); + const e = new ICalEvent({ start: new Date() }, new ICalCalendar()); e.lastModified(new Date()); assert.ok(e.lastModified() instanceof Date); }); it('setter should work with String', function () { - const e = new ICalEvent({}, new ICalCalendar()); + const e = new ICalEvent({ start: new Date() }, new ICalCalendar()); const date = moment().toJSON(); e.lastModified(date); assert.strictEqual(e.lastModified(), date); }); it('setter should work with Number', function () { - const e = new ICalEvent({}, new ICalCalendar()); + const e = new ICalEvent({ start: new Date() }, new ICalCalendar()); e.lastModified(new Date()); assert.ok(e.lastModified() instanceof Date); }); it('getter should return value', function () { const now = new Date(); - const e = new ICalEvent({}, new ICalCalendar()).lastModified(now); + const e = new ICalEvent({ start: new Date() }, new ICalCalendar()) + .lastModified(now); + assert.deepStrictEqual(e.lastModified()?.valueOf(), now.getTime()); }); it('should throw error when lastModified is not a Date', function () { - const e = new ICalEvent({}, new ICalCalendar()); + const e = new ICalEvent({ start: new Date() }, new ICalCalendar()); assert.throws(function () { e.lastModified('hallo'); }, /`lastModified`/); @@ -1765,7 +1853,7 @@ describe('ical-generator Event', function () { describe('class()', function () { it('getter should return value', function () { - const event = new ICalEvent({}, new ICalCalendar()); + const event = new ICalEvent({ start: new Date() }, new ICalCalendar()); assert.strictEqual(event.class(), null); event.class(ICalEventClass.PRIVATE); @@ -1776,27 +1864,27 @@ describe('ical-generator Event', function () { }); it('setter should return this', function () { - const e = new ICalEvent({}, new ICalCalendar()); + const e = new ICalEvent({ start: new Date() }, new ICalCalendar()); assert.deepStrictEqual(e, e.class(null)); assert.deepStrictEqual(e, e.class(ICalEventClass.PRIVATE)); }); it('setter should allow setting null', function () { - const e = new ICalEvent({}, new ICalCalendar()); + const e = new ICalEvent({ start: new Date() }, new ICalCalendar()); e.class(ICalEventClass.PRIVATE); e.class(null); assert.strictEqual(e.class(), null); }); it('setter should allow setting valid value', function () { - const e = new ICalEvent({}, new ICalCalendar()); + const e = new ICalEvent({ start: new Date() }, new ICalCalendar()); e.class(ICalEventClass.PRIVATE); assert.strictEqual(e.class(), 'PRIVATE'); assert.strictEqual(e.class(), ICalEventClass.PRIVATE); }); it('should throw error when method not allowed', function () { - const e = new ICalEvent({}, new ICalCalendar()); + const e = new ICalEvent({ start: new Date() }, new ICalCalendar()); assert.throws(function () { // @ts-ignore e.class('COOKING'); @@ -1818,7 +1906,7 @@ describe('ical-generator Event', function () { describe('x()', function () { it('is there', function () { - const e = new ICalEvent({}, new ICalCalendar()); + const e = new ICalEvent({ start: new Date() }, new ICalCalendar()); assert.deepStrictEqual(e, e.x('X-FOO', 'bar')); }); }); @@ -1826,7 +1914,9 @@ describe('ical-generator Event', function () { describe('toJSON()', function () { it('should maybe work', function () { const date = moment().add(1, 'month'); - const event = new ICalEvent({}, new ICalCalendar()).summary('foo').start(date); + const event = new ICalEvent({ start: new Date() }, new ICalCalendar()) + .summary('foo') + .start(date); assert.strictEqual(event.toJSON().summary, 'foo', 'summary is okay'); assert.deepStrictEqual(event.toJSON().start, date.toJSON(), 'start is okay'); @@ -1843,7 +1933,11 @@ describe('ical-generator Event', function () { until: new Date(Date.UTC(2012, 12, 31)) }); - const event = new ICalEvent({}, new ICalCalendar()).summary('foo').start(date).repeating(rule); + const event = new ICalEvent({ start: new Date() }, new ICalCalendar()) + .summary('foo') + .start(date) + .repeating(rule); + const json = event.toJSON(); const before = event.toString(); assert.ok(typeof json.repeating === 'string'); @@ -1854,14 +1948,14 @@ describe('ical-generator Event', function () { }); it('should be compatible with constructor (type check)', function () { - const a = new ICalEvent({}, new ICalCalendar()); + const a = new ICalEvent({ start: new Date() }, new ICalCalendar()); new ICalEvent(a.toJSON(), new ICalCalendar()); }); }); describe('transparency()', function () { it('getter should return value', function () { - const event = new ICalEvent({}, new ICalCalendar()); + const event = new ICalEvent({ start: new Date() }, new ICalCalendar()); assert.strictEqual(event.transparency(), null); event.transparency(ICalEventTransparency.OPAQUE); @@ -1872,26 +1966,26 @@ describe('ical-generator Event', function () { }); it('setter should return this', function () { - const e = new ICalEvent({}, new ICalCalendar()); + const e = new ICalEvent({ start: new Date() }, new ICalCalendar()); assert.deepStrictEqual(e, e.transparency(null)); assert.deepStrictEqual(e, e.transparency(ICalEventTransparency.TRANSPARENT)); }); it('setter should allow setting null', function () { - const e = new ICalEvent({}, new ICalCalendar()); + const e = new ICalEvent({ start: new Date() }, new ICalCalendar()); e.transparency(ICalEventTransparency.OPAQUE); e.transparency(null); assert.strictEqual(e.transparency(), null); }); it('setter should allow setting valid value', function () { - const e = new ICalEvent({}, new ICalCalendar()); + const e = new ICalEvent({ start: new Date() }, new ICalCalendar()); e.transparency(ICalEventTransparency.OPAQUE); assert.strictEqual(e.transparency(), 'OPAQUE'); }); it('should throw error when method not allowed', function () { - const e = new ICalEvent({}, new ICalCalendar()); + const e = new ICalEvent({ start: new Date() }, new ICalCalendar()); assert.throws(function () { // @ts-ignore e.transparency('COOKING'); @@ -1908,15 +2002,6 @@ describe('ical-generator Event', function () { }); describe('toString()', function () { - it('shoult throw an error without start', function () { - const e = new ICalEvent({ - summary: 'Example Event' - }, new ICalCalendar()); - assert.throws(function () { - e.toString(); - }, /`start`/); - }); - it('should make use of escaping', function () { const e = new ICalEvent({ start: new Date(), diff --git a/test/tools.ts b/test/tools.ts index 51036c35d..3dcbcbdb4 100644 --- a/test/tools.ts +++ b/test/tools.ts @@ -289,7 +289,7 @@ describe('ICalTools', function () { assert.equal(checkDate(date, 'foo'), date); }); it('should throw error for invalid Moment', function () { - const date = moment('foo'); + const date = moment('foo', 'MM/DD/YYYY', true); assert.throws(() => { checkDate(date, 'foo'); }, /`foo` has to be a valid date!/); diff --git a/tsconfig.json b/tsconfig.json index 56a6c4d2b..0aa5a23ab 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -5,6 +5,7 @@ "module": "nodenext", "moduleResolution": "nodenext", "outDir": "./dist", + "strict": true, "sourceMap": true, "target": "es6" }, From a132962fed56d9754dc245b1984f0a4783c729a2 Mon Sep 17 00:00:00 2001 From: Sebastian Pekarek Date: Thu, 19 Oct 2023 17:19:10 +0200 Subject: [PATCH 23/39] docs: Update Documentation for v6 --- README.md | 34 ++++++++++++++-------------------- examples/example-express.js | 7 ++++++- examples/example-http.js | 7 ++++++- examples/example-koa.js | 10 +++++++--- examples/example-micro.js | 7 ++++++- examples/example-quickstart.js | 9 ++++++++- src/attendee.ts | 4 ++-- 7 files changed, 49 insertions(+), 29 deletions(-) diff --git a/README.md b/README.md index a6f3e4c92..ca287c6b1 100755 --- a/README.md +++ b/README.md @@ -25,14 +25,15 @@ to generate subscriptionable calendar feeds.

+## ⚠️ Migration to v6 +In version 6 some breaking changes were made to make `ical-generator` even better. A short list of +these breaking changes and how you can adapt your code can be found in our +[Migration Guide](https://github.com/sebbo2002/ical-generator/wiki/Migration-Guide:-v5-%E2%86%92-v6). + ## 📦 Installation npm install ical-generator - # For TypeScript Users - # (see "I use Typescript and get TS2307: Cannot find module errors" section below) - npm i -D @types/node rrule moment-timezone moment dayjs @types/luxon - ## ⚡️ Quick Start @@ -53,10 +54,16 @@ calendar.createEvent({ url: 'http://sebbo.net/' }); -http.createServer((req, res) => calendar.serve(res)) - .listen(3000, '127.0.0.1', () => { - console.log('Server running at http://127.0.0.1:3000/'); +http.createServer((req, res) => { + res.writeHead(200, { + 'Content-Type': 'text/calendar; charset=utf-8', + 'Content-Disposition': 'attachment; filename="calendar.ics"' }); + + res.end(calendar.toString()); +}).listen(3000, '127.0.0.1', () => { + console.log('Server running at http://127.0.0.1:3000/'); +}); ``` See the [examples](./examples) folder for more examples. @@ -114,19 +121,6 @@ npm run browser-test ## 🙋 FAQ -### What's `Error: Can't resolve 'fs'`? -`ical-generator` uses the node.js `fs` module to save your calendar on the filesystem. In browser environments, you usually don't need this, so if you pass `null` for fs in your bundler. In webpack this looks like this: - -```json -{ - "resolve": { - "fallback": { - "fs": false - } - } -} -``` - ### Where's the changelog? It's [here](https://github.com/sebbo2002/ical-generator/blob/develop/CHANGELOG.md). If you need the changelog for `ical-generator` 1.x.x and older, you'll find it [here](https://github.com/sebbo2002/ical-generator/blob/25338b8bf98f9afd3c88849e735fa33fa45fb766/CHANGELOG.md). diff --git a/examples/example-express.js b/examples/example-express.js index bfbdd5660..55f17cd28 100755 --- a/examples/example-express.js +++ b/examples/example-express.js @@ -20,7 +20,12 @@ const cal = ical({ const app = express(); app.get('/calendar', (req, res) => { - cal.serve(res); + res.writeHead(200, { + 'Content-Type': 'text/calendar; charset=utf-8', + 'Content-Disposition': 'attachment; filename="calendar.ics"' + }); + + res.end(cal.toString()); }); app.listen(3000); diff --git a/examples/example-http.js b/examples/example-http.js index e9b6bbdab..e2944a714 100755 --- a/examples/example-http.js +++ b/examples/example-http.js @@ -18,7 +18,12 @@ const cal = ical({ }); http.createServer(function (req, res) { - cal.serve(res); + res.writeHead(200, { + 'Content-Type': 'text/calendar; charset=utf-8', + 'Content-Disposition': 'attachment; filename="calendar.ics"' + }); + + res.end(cal.toString()); }).listen(3000, '127.0.0.1', function () { console.log('Server running at http://127.0.0.1:3000/'); }); diff --git a/examples/example-koa.js b/examples/example-koa.js index 834eeed3b..255c70fbd 100755 --- a/examples/example-koa.js +++ b/examples/example-koa.js @@ -20,9 +20,13 @@ const cal = ical({ const app = new Koa(); app.use(ctx => { - ctx.status = 200; // Koa defaults to 404 when it sees that status is unset - ctx.respond = false; // mark request as handled for Koa - cal.serve(ctx.res); + ctx.status = 200; + ctx.respond = false; + + ctx.set('Content-Type', 'text/calendar; charset=utf-8'); + ctx.set('Content-Disposition', 'attachment; filename="calendar.ics"'); + + ctx.body = cal.toString(); }); app.listen(3000); diff --git a/examples/example-micro.js b/examples/example-micro.js index b2a11f11e..0e1c4ac57 100644 --- a/examples/example-micro.js +++ b/examples/example-micro.js @@ -18,7 +18,12 @@ const cal = ical({ // start with $ micro example/example-micro.js module.exports = (req, res) => { - cal.serve(res); + res.writeHead(200, { + 'Content-Type': 'text/calendar; charset=utf-8', + 'Content-Disposition': 'attachment; filename="calendar.ics"' + }); + + res.end(cal.toString()); }; diff --git a/examples/example-quickstart.js b/examples/example-quickstart.js index c90bc73f4..cc2eb9018 100644 --- a/examples/example-quickstart.js +++ b/examples/example-quickstart.js @@ -14,7 +14,14 @@ calendar.createEvent({ url: 'http://sebbo.net/' }); -http.createServer((req, res) => calendar.serve(res)) +http.createServer((req, res) => { + res.writeHead(200, { + 'Content-Type': 'text/calendar; charset=utf-8', + 'Content-Disposition': 'attachment; filename="calendar.ics"' + }); + + res.end(calendar.toString()); +}) .listen(3000, '127.0.0.1', () => { console.log('Server running at http://127.0.0.1:3000/'); }); diff --git a/src/attendee.ts b/src/attendee.ts index 77b3fab38..79b1c3351 100755 --- a/src/attendee.ts +++ b/src/attendee.ts @@ -81,14 +81,14 @@ export enum ICalAttendeeType { * import ical from 'ical-generator'; * const calendar = ical(); * const event = calendar.createEvent(); - * const attendee = event.createAttendee(); + * const attendee = event.createAttendee({ email: 'mail@example.com' }); * ``` * * You can also use the [[`ICalAttendee`]] object directly: * * ```javascript * import ical, {ICalAttendee} from 'ical-generator'; - * const attendee = new ICalAttendee(); + * const attendee = new ICalAttendee({ email: 'mail@example.com' }); * event.attendees([attendee]); * ``` */ From c3f2b23bac87f3fdac578f8efc5e407d2709ac9f Mon Sep 17 00:00:00 2001 From: Sebastian Pekarek Date: Thu, 19 Oct 2023 17:19:52 +0200 Subject: [PATCH 24/39] test: Check JSON / input type compatibility --- src/category.ts | 2 ++ src/index.ts | 3 ++- test/types.ts | 34 +++++++++++++++++++++++++++------- 3 files changed, 31 insertions(+), 8 deletions(-) diff --git a/src/category.ts b/src/category.ts index 5f6a0c159..2f257d91f 100755 --- a/src/category.ts +++ b/src/category.ts @@ -12,6 +12,8 @@ export interface ICalCategoryInternalData { name: string; } +export type ICalCategoryJSONData = ICalCategoryInternalData; + /** * Usually you get an `ICalCategory` object like this: diff --git a/src/index.ts b/src/index.ts index 5f58f5b30..d9587b871 100755 --- a/src/index.ts +++ b/src/index.ts @@ -75,7 +75,8 @@ export { export { default as ICalCategory, - ICalCategoryData + ICalCategoryData, + ICalCategoryJSONData } from './category.js'; export { diff --git a/test/types.ts b/test/types.ts index 345106630..1571974e5 100644 --- a/test/types.ts +++ b/test/types.ts @@ -1,12 +1,6 @@ /** * Check if stubs are working */ -import { - ICalDayJsStub, - ICalLuxonDateTimeStub, - ICalMomentStub, - ICalMomentTimezoneStub, ICalRRuleStub -} from '../src/types.js'; import assert from 'assert'; import dayjs from 'dayjs'; @@ -15,6 +9,21 @@ import moment from 'moment'; import momentTz from 'moment-timezone'; import rrule from 'rrule'; +import { + ICalAttendeeData, + ICalAttendeeJSONData, + ICalCalendarData, + ICalCalendarJSONData, + ICalCategoryData, + ICalCategoryJSONData, + ICalDayJsStub, + ICalEventJSONData, + ICalLuxonDateTimeStub, + ICalMomentStub, + ICalMomentTimezoneStub, + ICalRRuleStub +} from '../src/index.js'; + const dayJsTest = dayjs() satisfies ICalDayJsStub; const luxonTest = DateTime.now() satisfies ICalLuxonDateTimeStub; const momentTest = moment() satisfies ICalMomentStub; @@ -23,6 +32,11 @@ const momentTimezoneTest = momentTz() satisfies ICalMomentTimezoneStub; const RRule = rrule.RRule; const rruleTest = new RRule({ freq: RRule.WEEKLY, dtstart: new Date() }) satisfies ICalRRuleStub; +const attendeeJson = {} as ICalAttendeeJSONData satisfies ICalAttendeeData; +const calendarJson = {} as ICalCalendarJSONData satisfies ICalCalendarData; +const categoryJson = {} as ICalCategoryJSONData satisfies ICalCategoryData; +const eventJson = {} as ICalEventJSONData satisfies ICalEventJSONData; + describe('ical-generator Types', function () { it('stubs should be compatible with third party libraries', function () { assert.ok(dayJsTest, 'day.js stub should be compatible'); @@ -31,4 +45,10 @@ describe('ical-generator Types', function () { assert.ok(momentTimezoneTest, 'moment-timezone stub should be compatible'); assert.ok(rruleTest, 'rrule stub should be compatible'); }); -}); \ No newline at end of file + it('calendar data should be compatible with calendar json data', function () { + assert.ok(attendeeJson, 'attendee json data should be compatible'); + assert.ok(calendarJson, 'calendar json data should be compatible'); + assert.ok(categoryJson, 'category json data should be compatible'); + assert.ok(eventJson, 'event json data should be compatible'); + }); +}); From f03dc23e09a79fb421ebf3ca8ded569ec40a365b Mon Sep 17 00:00:00 2001 From: Sebastian Pekarek Date: Thu, 19 Oct 2023 17:31:17 +0200 Subject: [PATCH 25/39] chore: Remove `browser` from package.json MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit `fs` is not used anymore, so it should be fine to remove this… --- package.json | 3 --- 1 file changed, 3 deletions(-) diff --git a/package.json b/package.json index f69e7e9ec..cbebde959 100644 --- a/package.json +++ b/package.json @@ -1,8 +1,5 @@ { "author": "Sebastian Pekarek ", - "browser": { - "fs": false - }, "bugs": { "url": "http://github.com/sebbo2002/ical-generator/issues" }, From d0c63a40106c694638fe2c9a970a6044a7d1accd Mon Sep 17 00:00:00 2001 From: Sebastian Pekarek Date: Thu, 19 Oct 2023 17:47:45 +0200 Subject: [PATCH 26/39] chore: correct field order in tsconfig --- tsconfig.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tsconfig.json b/tsconfig.json index 0aa5a23ab..bb45f1d74 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -5,8 +5,8 @@ "module": "nodenext", "moduleResolution": "nodenext", "outDir": "./dist", - "strict": true, "sourceMap": true, + "strict": true, "target": "es6" }, "exclude": [ From 71b89355e8c507f5d6d453138ba5b57973319ed9 Mon Sep 17 00:00:00 2001 From: Sebastian Pekarek Date: Thu, 19 Oct 2023 17:53:17 +0200 Subject: [PATCH 27/39] test: Fix rare event.end() test failing --- test/event.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test/event.ts b/test/event.ts index 7a1ab8b40..9c9f67d75 100644 --- a/test/event.ts +++ b/test/event.ts @@ -187,7 +187,7 @@ describe('ical-generator Event', function () { describe('end()', function () { it('getter should return value', function () { const now = moment(); - const event = new ICalEvent({ start: new Date() }, new ICalCalendar()); + const event = new ICalEvent({ start: moment().subtract({ minute: 1 }) }, new ICalCalendar()); event.end(now); assert.deepStrictEqual(event.end(), now); }); From 8c241222d44b7646115d368f2fb9b1eebbb466f4 Mon Sep 17 00:00:00 2001 From: Sebastian Pekarek Date: Thu, 19 Oct 2023 18:28:01 +0200 Subject: [PATCH 28/39] refactor: small adjustments --- src/alarm.ts | 2 +- src/category.ts | 6 +----- test/alarm.ts | 21 +++++++++++++++++---- test/attendee.ts | 10 ++++++++++ 4 files changed, 29 insertions(+), 10 deletions(-) diff --git a/src/alarm.ts b/src/alarm.ts index 307c74512..273b295a0 100755 --- a/src/alarm.ts +++ b/src/alarm.ts @@ -368,7 +368,7 @@ export default class ICalAlarm { * * @since 0.2.1 */ - repeat(repeat: ICalAlarmRepeatData): this; + repeat(repeat: ICalAlarmRepeatData | null): this; repeat (repeat?: ICalAlarmRepeatData | null): this | ICalAlarmRepeatData | null { if (repeat === undefined) { return this.data.repeat; diff --git a/src/category.ts b/src/category.ts index 2f257d91f..894721571 100755 --- a/src/category.ts +++ b/src/category.ts @@ -49,7 +49,7 @@ export default class ICalCategory { throw new Error('No value for `name` in ICalCategory given!'); } - data.name !== undefined && this.name(data.name); + this.name(data.name); } @@ -95,10 +95,6 @@ export default class ICalCategory { toString(): string { // CN / Name - if (!this.data.name) { - throw new Error('No value for `name` in ICalCategory given!'); - } - return escape(this.data.name, false); } } diff --git a/test/alarm.ts b/test/alarm.ts index 0b404d732..0d46b076f 100644 --- a/test/alarm.ts +++ b/test/alarm.ts @@ -285,12 +285,11 @@ describe('ical-generator Alarm', function () { }); it('setter should work with moment instance', function () { - const a = new ICalAlarm({}, new ICalEvent( + const a = new ICalAlarm({ triggerBefore: moment() }, new ICalEvent( { start: new Date() }, new ICalCalendar() )); - a.triggerBefore(moment()); assert.ok(moment.isMoment(a.trigger())); }); @@ -458,8 +457,12 @@ describe('ical-generator Alarm', function () { interval: 90 } }, new ICalEvent({ start: new Date() }, new ICalCalendar())); - assert.ok(a.toString().indexOf('REPEAT:42') > -1); - assert.ok(a.toString().indexOf('DURATION:PT1M30S') > -1); + assert.ok(a.toString().includes('REPEAT:42')); + assert.ok(a.toString().includes('DURATION:PT1M30S')); + + a.repeat(null); + assert.ok(!a.toString().includes('REPEAT:42')); + assert.ok(!a.toString().includes('DURATION:PT1M30S')); }); it('should throw an error if repeat is set but interval isn\'t', function () { @@ -490,6 +493,16 @@ describe('ical-generator Alarm', function () { }, new ICalEvent({ start: new Date() }, new ICalCalendar())); }, /`repeat.times`/); }); + + it('should throw an error if interval is of wrong type', function () { + assert.throws(function () { + new ICalAlarm({ + trigger: 300, + // @ts-ignore + repeat: true + }, new ICalEvent({ start: new Date() }, new ICalCalendar())); + }, /`repeat` is not correct, must be an object!/); + }); }); describe('attach()', function () { diff --git a/test/attendee.ts b/test/attendee.ts index 50b360373..1dbef7290 100644 --- a/test/attendee.ts +++ b/test/attendee.ts @@ -500,6 +500,16 @@ describe('ical-generator Attendee', function () { new ICalEvent({ start: new Date() }, new ICalCalendar()) ).delegatesFrom({ name: 'Cody', email: 'cody@example.com' }); assert.strictEqual(a.name(), 'Cody'); + + const b = new ICalAttendee( + { + name: 'Zac', + email: 'zac@example.com', + delegatesFrom: { name: 'Cody', email: 'cody@example.com' } + }, + new ICalEvent({ start: new Date() }, new ICalCalendar()) + ); + assert.strictEqual(b.name(), 'Zac'); }); }); From c7eb0afc328a1a845acea736454124a8c07ee147 Mon Sep 17 00:00:00 2001 From: semantic-release-bot Date: Thu, 19 Oct 2023 16:30:49 +0000 Subject: [PATCH 29/39] chore(release): :bookmark: 6.0.0-develop.1 [skip ci] MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit # [6.0.0-develop.1](https://github.com/sebbo2002/ical-generator/compare/v5.0.2-develop.2...v6.0.0-develop.1) (2023-10-19) ### Features * Ensure Calendar is renderable all the time ([f1328a3](https://github.com/sebbo2002/ical-generator/commit/f1328a3b790507037efeb39431044c0970117cac)), closes [#344](https://github.com/sebbo2002/ical-generator/issues/344) * Remove `save()`, `saveSync()`, `serve()`, `toBlob()`, `toURL()` ([b6bea66](https://github.com/sebbo2002/ical-generator/commit/b6bea665837c85e066ad7a32234336b01e6244f1)), closes [#478](https://github.com/sebbo2002/ical-generator/issues/478) ### BREAKING CHANGES * `Alarm.trigger` now defaults to 10min before event, `Alarm.type` now defaults to `display`, `Alarm.interval()` got removed, use `Alarm.repeat()` instead, `Alarm.repeat()` now gives/takes an object instead of a number, `Attendee.email` can’t be `null | undefined`, `Category.name` can’t be `null | undefined`, `Event.start` now defaults to now (`new Date()`). For details and examples checkout the migration guide at https://github.com/sebbo2002/ical-generator/wiki/Migration-Guide:-v5-%E2%86%92-v6 * The `save()`, `saveSync()`, `serve()`, `toBlob()` and `toURL()` methods of the ICalCalendar class have been removed. Please use the `toString()` method to generate the ical string and proceed from there. --- CHANGELOG.md | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 524a3585c..21eac9b54 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,17 @@ +# [6.0.0-develop.1](https://github.com/sebbo2002/ical-generator/compare/v5.0.2-develop.2...v6.0.0-develop.1) (2023-10-19) + + +### Features + +* Ensure Calendar is renderable all the time ([f1328a3](https://github.com/sebbo2002/ical-generator/commit/f1328a3b790507037efeb39431044c0970117cac)), closes [#344](https://github.com/sebbo2002/ical-generator/issues/344) +* Remove `save()`, `saveSync()`, `serve()`, `toBlob()`, `toURL()` ([b6bea66](https://github.com/sebbo2002/ical-generator/commit/b6bea665837c85e066ad7a32234336b01e6244f1)), closes [#478](https://github.com/sebbo2002/ical-generator/issues/478) + + +### BREAKING CHANGES + +* `Alarm.trigger` now defaults to 10min before event, `Alarm.type` now defaults to `display`, `Alarm.interval()` got removed, use `Alarm.repeat()` instead, `Alarm.repeat()` now gives/takes an object instead of a number, `Attendee.email` can’t be `null | undefined`, `Category.name` can’t be `null | undefined`, `Event.start` now defaults to now (`new Date()`). For details and examples checkout the migration guide at https://github.com/sebbo2002/ical-generator/wiki/Migration-Guide:-v5-%E2%86%92-v6 +* The `save()`, `saveSync()`, `serve()`, `toBlob()` and `toURL()` methods of the ICalCalendar class have been removed. Please use the `toString()` method to generate the ical string and proceed from there. + ## [5.0.2-develop.2](https://github.com/sebbo2002/ical-generator/compare/v5.0.2-develop.1...v5.0.2-develop.2) (2023-09-20) From 996af1269fd7aff0515fa10df657400b0d7c9ba1 Mon Sep 17 00:00:00 2001 From: Sebastian Pekarek Date: Thu, 19 Oct 2023 18:42:22 +0200 Subject: [PATCH 30/39] docs(Examples): Add Deno example --- examples/example-deno.ts | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) create mode 100644 examples/example-deno.ts diff --git a/examples/example-deno.ts b/examples/example-deno.ts new file mode 100644 index 000000000..d9d3af684 --- /dev/null +++ b/examples/example-deno.ts @@ -0,0 +1,18 @@ +'use strict'; + +import ical from 'npm:ical-generator'; + +const cal = ical(); +const event = cal.createEvent({ + start: new Date(), + end: new Date(), + summary: 'Example Event', + description: 'It works ;)', + organizer: 'Organizer\'s Name ', + url: 'https://example.com' +}); + +// update event's description +event.description('It still works ;)'); + +console.log(cal.toString()); From 5cee2d7418274784f8de28d42a0cf9a117379fd4 Mon Sep 17 00:00:00 2001 From: semantic-release-bot Date: Thu, 19 Oct 2023 16:45:37 +0000 Subject: [PATCH 31/39] chore(release): :bookmark: 6.0.0-develop.2 [skip ci] # [6.0.0-develop.2](https://github.com/sebbo2002/ical-generator/compare/v6.0.0-develop.1...v6.0.0-develop.2) (2023-10-19) --- CHANGELOG.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 21eac9b54..dc4f7b786 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,5 @@ +# [6.0.0-develop.2](https://github.com/sebbo2002/ical-generator/compare/v6.0.0-develop.1...v6.0.0-develop.2) (2023-10-19) + # [6.0.0-develop.1](https://github.com/sebbo2002/ical-generator/compare/v5.0.2-develop.2...v6.0.0-develop.1) (2023-10-19) From ccba971b065542500d0f3fa1475eea9f849b03f0 Mon Sep 17 00:00:00 2001 From: Sebastian Pekarek Date: Sat, 21 Oct 2023 17:02:49 +0200 Subject: [PATCH 32/39] feat: Enable npm provenance https://docs.npmjs.com/generating-provenance-statements#about-npm-provenance --- .github/workflows/test-release.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/test-release.yml b/.github/workflows/test-release.yml index 4a239c446..345464ddd 100644 --- a/.github/workflows/test-release.yml +++ b/.github/workflows/test-release.yml @@ -91,6 +91,7 @@ jobs: GH_TOKEN: ${{ secrets.GH_TOKEN }} GH_OWNER: ${{ github.repository_owner }} NPM_TOKEN: ${{ secrets.NPM_TOKEN }} + NPM_CONFIG_PROVENANCE: true - name: 🔃 Merge main back into develop if: ${{ github.ref == 'refs/heads/main' }} uses: everlytic/branch-merge@1.1.5 From d8c2c2a8eb5af54e9099faf288f605cb2f2c4bc9 Mon Sep 17 00:00:00 2001 From: semantic-release-bot Date: Sat, 21 Oct 2023 15:53:57 +0000 Subject: [PATCH 33/39] chore(release): :bookmark: 6.0.0-develop.3 [skip ci] # [6.0.0-develop.3](https://github.com/sebbo2002/ical-generator/compare/v6.0.0-develop.2...v6.0.0-develop.3) (2023-10-21) ### Features * Enable npm provenance ([ccba971](https://github.com/sebbo2002/ical-generator/commit/ccba971b065542500d0f3fa1475eea9f849b03f0)) --- CHANGELOG.md | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index dc4f7b786..681b49053 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,10 @@ +# [6.0.0-develop.3](https://github.com/sebbo2002/ical-generator/compare/v6.0.0-develop.2...v6.0.0-develop.3) (2023-10-21) + + +### Features + +* Enable npm provenance ([ccba971](https://github.com/sebbo2002/ical-generator/commit/ccba971b065542500d0f3fa1475eea9f849b03f0)) + # [6.0.0-develop.2](https://github.com/sebbo2002/ical-generator/compare/v6.0.0-develop.1...v6.0.0-develop.2) (2023-10-19) # [6.0.0-develop.1](https://github.com/sebbo2002/ical-generator/compare/v5.0.2-develop.2...v6.0.0-develop.1) (2023-10-19) From 87d173a17133207492bd5c5ad2eeb70d8ecbe082 Mon Sep 17 00:00:00 2001 From: Sebastian Pekarek Date: Sat, 21 Oct 2023 17:02:49 +0200 Subject: [PATCH 34/39] feat: Enable npm provenance https://docs.npmjs.com/generating-provenance-statements#about-npm-provenance --- .github/workflows/test-release.yml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/.github/workflows/test-release.yml b/.github/workflows/test-release.yml index 4a239c446..42ac4444f 100644 --- a/.github/workflows/test-release.yml +++ b/.github/workflows/test-release.yml @@ -67,6 +67,9 @@ jobs: name: Release runs-on: ubuntu-latest concurrency: release + permissions: + contents: read + id-token: write needs: - coverage - tests @@ -91,6 +94,7 @@ jobs: GH_TOKEN: ${{ secrets.GH_TOKEN }} GH_OWNER: ${{ github.repository_owner }} NPM_TOKEN: ${{ secrets.NPM_TOKEN }} + NPM_CONFIG_PROVENANCE: true - name: 🔃 Merge main back into develop if: ${{ github.ref == 'refs/heads/main' }} uses: everlytic/branch-merge@1.1.5 From a48dfd038984e6a80d48bdfe21da9fed7ebe1f06 Mon Sep 17 00:00:00 2001 From: semantic-release-bot Date: Sat, 21 Oct 2023 16:02:29 +0000 Subject: [PATCH 35/39] chore(release): :bookmark: 6.0.0-develop.4 [skip ci] # [6.0.0-develop.4](https://github.com/sebbo2002/ical-generator/compare/v6.0.0-develop.3...v6.0.0-develop.4) (2023-10-21) ### Features * Enable npm provenance ([87d173a](https://github.com/sebbo2002/ical-generator/commit/87d173a17133207492bd5c5ad2eeb70d8ecbe082)) --- CHANGELOG.md | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 681b49053..58216886b 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,10 @@ +# [6.0.0-develop.4](https://github.com/sebbo2002/ical-generator/compare/v6.0.0-develop.3...v6.0.0-develop.4) (2023-10-21) + + +### Features + +* Enable npm provenance ([87d173a](https://github.com/sebbo2002/ical-generator/commit/87d173a17133207492bd5c5ad2eeb70d8ecbe082)) + # [6.0.0-develop.3](https://github.com/sebbo2002/ical-generator/compare/v6.0.0-develop.2...v6.0.0-develop.3) (2023-10-21) From 13ffe4e92e254e47d9c271c965c1cb9a66eaffb1 Mon Sep 17 00:00:00 2001 From: Sebastian Pekarek Date: Sat, 21 Oct 2023 18:05:53 +0200 Subject: [PATCH 36/39] build: Enable npm provenance https://docs.npmjs.com/generating-provenance-statements#about-npm-provenance --- .github/workflows/test-release.yml | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/.github/workflows/test-release.yml b/.github/workflows/test-release.yml index 4a239c446..dfb10b2ed 100644 --- a/.github/workflows/test-release.yml +++ b/.github/workflows/test-release.yml @@ -67,6 +67,11 @@ jobs: name: Release runs-on: ubuntu-latest concurrency: release + permissions: + contents: write + issues: write + pull-requests: write + id-token: write needs: - coverage - tests @@ -91,6 +96,7 @@ jobs: GH_TOKEN: ${{ secrets.GH_TOKEN }} GH_OWNER: ${{ github.repository_owner }} NPM_TOKEN: ${{ secrets.NPM_TOKEN }} + NPM_CONFIG_PROVENANCE: true - name: 🔃 Merge main back into develop if: ${{ github.ref == 'refs/heads/main' }} uses: everlytic/branch-merge@1.1.5 From 9036f0f5b9ee7f707f0e49f628a4eaa52f767021 Mon Sep 17 00:00:00 2001 From: Sebastian Pekarek Date: Sun, 22 Oct 2023 12:24:52 +0200 Subject: [PATCH 37/39] build: Remove develop builds from changelog The changelog became very full and confusing with all the development builds. Therefore I decided not to include builds from the `develop` branch in the changelog anymore. --- CHANGELOG.md | 276 --------------------------------------------- release.config.cjs | 4 +- 2 files changed, 3 insertions(+), 277 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 58216886b..50257b288 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,58 +1,6 @@ -# [6.0.0-develop.4](https://github.com/sebbo2002/ical-generator/compare/v6.0.0-develop.3...v6.0.0-develop.4) (2023-10-21) - - -### Features - -* Enable npm provenance ([87d173a](https://github.com/sebbo2002/ical-generator/commit/87d173a17133207492bd5c5ad2eeb70d8ecbe082)) - -# [6.0.0-develop.3](https://github.com/sebbo2002/ical-generator/compare/v6.0.0-develop.2...v6.0.0-develop.3) (2023-10-21) - - -### Features - -* Enable npm provenance ([ccba971](https://github.com/sebbo2002/ical-generator/commit/ccba971b065542500d0f3fa1475eea9f849b03f0)) - -# [6.0.0-develop.2](https://github.com/sebbo2002/ical-generator/compare/v6.0.0-develop.1...v6.0.0-develop.2) (2023-10-19) - -# [6.0.0-develop.1](https://github.com/sebbo2002/ical-generator/compare/v5.0.2-develop.2...v6.0.0-develop.1) (2023-10-19) - - -### Features - -* Ensure Calendar is renderable all the time ([f1328a3](https://github.com/sebbo2002/ical-generator/commit/f1328a3b790507037efeb39431044c0970117cac)), closes [#344](https://github.com/sebbo2002/ical-generator/issues/344) -* Remove `save()`, `saveSync()`, `serve()`, `toBlob()`, `toURL()` ([b6bea66](https://github.com/sebbo2002/ical-generator/commit/b6bea665837c85e066ad7a32234336b01e6244f1)), closes [#478](https://github.com/sebbo2002/ical-generator/issues/478) - - -### BREAKING CHANGES - -* `Alarm.trigger` now defaults to 10min before event, `Alarm.type` now defaults to `display`, `Alarm.interval()` got removed, use `Alarm.repeat()` instead, `Alarm.repeat()` now gives/takes an object instead of a number, `Attendee.email` can’t be `null | undefined`, `Category.name` can’t be `null | undefined`, `Event.start` now defaults to now (`new Date()`). For details and examples checkout the migration guide at https://github.com/sebbo2002/ical-generator/wiki/Migration-Guide:-v5-%E2%86%92-v6 -* The `save()`, `saveSync()`, `serve()`, `toBlob()` and `toURL()` methods of the ICalCalendar class have been removed. Please use the `toString()` method to generate the ical string and proceed from there. - -## [5.0.2-develop.2](https://github.com/sebbo2002/ical-generator/compare/v5.0.2-develop.1...v5.0.2-develop.2) (2023-09-20) - - -### Bug Fixes - -* add `browser` field to `package.json` ([7db4e32](https://github.com/sebbo2002/ical-generator/commit/7db4e32ad03b25b5cbe2cc4ce459541ee5639f15)) - -## [5.0.2-develop.1](https://github.com/sebbo2002/ical-generator/compare/v5.0.1...v5.0.2-develop.1) (2023-08-23) - - -### Reverts - -* Revert "ci: Downgrade is-semantic-release till it's fixed" ([91c2ab5](https://github.com/sebbo2002/ical-generator/commit/91c2ab59d0559a060c11d07973382c465dd3345d)) - ## [5.0.1](https://github.com/sebbo2002/ical-generator/compare/v5.0.0...v5.0.1) (2023-08-17) -### Bug Fixes - -* double-quotes and missing filename variable ([30fcccd](https://github.com/sebbo2002/ical-generator/commit/30fcccdfb1253c37f9211833a6d74ecbf953b892)) -* indentation, semicolons and quoting ([2dd4d24](https://github.com/sebbo2002/ical-generator/commit/2dd4d2494d18af843a22005a61627a3461ec29e2)) - -## [5.0.1-develop.1](https://github.com/sebbo2002/ical-generator/compare/v5.0.0...v5.0.1-develop.1) (2023-07-30) - - ### Bug Fixes * double-quotes and missing filename variable ([30fcccd](https://github.com/sebbo2002/ical-generator/commit/30fcccdfb1253c37f9211833a6d74ecbf953b892)) @@ -66,18 +14,6 @@ * Deprecate node.js v14 / v17 ([7a2de45](https://github.com/sebbo2002/ical-generator/commit/7a2de45c12f19a1ec441b3a004f4aa935efc197c)) -### BREAKING CHANGES - -* The node.js versions v14 and v17 are no longer maintained and are therefore no longer supported. See https://nodejs.dev/en/about/releases/ for more details on node.js release cycles. - -# [5.0.0-develop.1](https://github.com/sebbo2002/ical-generator/compare/v4.1.0...v5.0.0-develop.1) (2023-06-14) - - -### Build System - -* Deprecate node.js v14 / v17 ([7a2de45](https://github.com/sebbo2002/ical-generator/commit/7a2de45c12f19a1ec441b3a004f4aa935efc197c)) - - ### BREAKING CHANGES * The node.js versions v14 and v17 are no longer maintained and are therefore no longer supported. See https://nodejs.dev/en/about/releases/ for more details on node.js release cycles. @@ -92,28 +28,6 @@ * revert package-lock.json ([a8d8f2d](https://github.com/sebbo2002/ical-generator/commit/a8d8f2d45b039e80689e3cf9ac774645d6b3ccc9)) -### Features - -* Support trigger related behavior ([54743df](https://github.com/sebbo2002/ical-generator/commit/54743df1cce615f3df2c155c51928674afc2e3d7)) - -# [4.1.0-develop.3](https://github.com/sebbo2002/ical-generator/compare/v4.1.0-develop.2...v4.1.0-develop.3) (2023-05-02) - - -### Bug Fixes - -* Allow `null` return value for Luxon 3.3's DateTime.toJSON() ([bee19a8](https://github.com/sebbo2002/ical-generator/commit/bee19a8e70bc690b93175c2da2a35240c55032bd)), closes [#482](https://github.com/sebbo2002/ical-generator/issues/482) [#485](https://github.com/sebbo2002/ical-generator/issues/485) - -# [4.1.0-develop.2](https://github.com/sebbo2002/ical-generator/compare/v4.1.0-develop.1...v4.1.0-develop.2) (2023-04-29) - -# [4.1.0-develop.1](https://github.com/sebbo2002/ical-generator/compare/v4.0.0...v4.1.0-develop.1) (2023-04-24) - - -### Bug Fixes - -* revent changes to package.json version ([916e460](https://github.com/sebbo2002/ical-generator/commit/916e460af591ff1ebb1c757dfc9762667331f598)) -* revert package-lock.json ([a8d8f2d](https://github.com/sebbo2002/ical-generator/commit/a8d8f2d45b039e80689e3cf9ac774645d6b3ccc9)) - - ### Features * Support trigger related behavior ([54743df](https://github.com/sebbo2002/ical-generator/commit/54743df1cce615f3df2c155c51928674afc2e3d7)) @@ -144,50 +58,6 @@ * From now on, only node.js ^14.8.0 || >=16.0.0 are supported * Only Support for node.js ^12.20.0 || >=14.13.1 -# [4.0.0-develop.2](https://github.com/sebbo2002/ical-generator/compare/v4.0.0-develop.1...v4.0.0-develop.2) (2023-03-22) - - -### Build System - -* Deprecate node.js 12 ([426588b](https://github.com/sebbo2002/ical-generator/commit/426588b4bb7bde2924bbc92006ca839e960872e1)) -* Native ESM support ([7b86a4f](https://github.com/sebbo2002/ical-generator/commit/7b86a4f1187c387a3a5792e1fb72d822b04e3631)) - - -### BREAKING CHANGES - -* From now on, only node.js ^14.8.0 || >=16.0.0 are supported -* Only Support for node.js ^12.20.0 || >=14.13.1 - -# [4.0.0-develop.1](https://github.com/sebbo2002/ical-generator/compare/v3.6.2-develop.4...v4.0.0-develop.1) (2023-03-17) - - -### Features - -* ESM Module ([7e1f07a](https://github.com/sebbo2002/ical-generator/commit/7e1f07afe6ff60100df61887e6a063b382f75340)) - - -### BREAKING CHANGES - -* Importing the generator with `const ical = require('ical-generator');` (introduced with 2.1.0 / #253) will not work anymore, please use `const { default: ical } = require('ical-generator');` or move to fancy ESM imports (`import ical from 'ical-generator' ;`). - -## [3.6.2-develop.4](https://github.com/sebbo2002/ical-generator/compare/v3.6.2-develop.3...v3.6.2-develop.4) (2023-02-19) - -## [3.6.2-develop.3](https://github.com/sebbo2002/ical-generator/compare/v3.6.2-develop.2...v3.6.2-develop.3) (2023-02-10) - - -### Bug Fixes - -* Update escaping for quoted values ([faf5c70](https://github.com/sebbo2002/ical-generator/commit/faf5c70771fb62284cd9db936b0f5812e8353730)), closes [#463](https://github.com/sebbo2002/ical-generator/issues/463) - -## [3.6.2-develop.2](https://github.com/sebbo2002/ical-generator/compare/v3.6.2-develop.1...v3.6.2-develop.2) (2023-02-05) - - -### Bug Fixes - -* **Event:** Add `RRULE:` prefix in event.repeating() if it's not already there ([92c2034](https://github.com/sebbo2002/ical-generator/commit/92c2034cae51c0e8199b6cf1746adfe7bdc85a60)), closes [#459](https://github.com/sebbo2002/ical-generator/issues/459) - -## [3.6.2-develop.1](https://github.com/sebbo2002/ical-generator/compare/v3.6.1...v3.6.2-develop.1) (2023-01-03) - ## [3.6.1](https://github.com/sebbo2002/ical-generator/compare/v3.6.0...v3.6.1) (2022-12-27) @@ -195,27 +65,9 @@ * **Event:** Return floating repeating until/excluded dates if floating ([011123e](https://github.com/sebbo2002/ical-generator/commit/011123ee284f8355203f2a2f2f2dc06b22e478af)), closes [#442](https://github.com/sebbo2002/ical-generator/issues/442) -## [3.6.1-develop.3](https://github.com/sebbo2002/ical-generator/compare/v3.6.1-develop.2...v3.6.1-develop.3) (2022-12-20) - - -### Bug Fixes - -* **Event:** Return floating repeating until/excluded dates if floating ([011123e](https://github.com/sebbo2002/ical-generator/commit/011123ee284f8355203f2a2f2f2dc06b22e478af)), closes [#442](https://github.com/sebbo2002/ical-generator/issues/442) - -## [3.6.1-develop.2](https://github.com/sebbo2002/ical-generator/compare/v3.6.1-develop.1...v3.6.1-develop.2) (2022-12-11) - -## [3.6.1-develop.1](https://github.com/sebbo2002/ical-generator/compare/v3.6.0...v3.6.1-develop.1) (2022-12-04) - # [3.6.0](https://github.com/sebbo2002/ical-generator/compare/v3.5.2...v3.6.0) (2022-10-11) -### Features - -* **Event:** Update `bySetPos` and `byMonthDay` ([b19e94b](https://github.com/sebbo2002/ical-generator/commit/b19e94bdc9408acfb6e64d93de614ad25edb4ad0)), closes [#430](https://github.com/sebbo2002/ical-generator/issues/430) - -# [3.6.0-develop.1](https://github.com/sebbo2002/ical-generator/compare/v3.5.2...v3.6.0-develop.1) (2022-10-10) - - ### Features * **Event:** Update `bySetPos` and `byMonthDay` ([b19e94b](https://github.com/sebbo2002/ical-generator/commit/b19e94bdc9408acfb6e64d93de614ad25edb4ad0)), closes [#430](https://github.com/sebbo2002/ical-generator/issues/430) @@ -227,27 +79,9 @@ * Include source files in npm module to allow sourcemap resolving ([2760b75](https://github.com/sebbo2002/ical-generator/commit/2760b75e67c2eb224ae1c38e8de94b4056cda7c2)), closes [#426](https://github.com/sebbo2002/ical-generator/issues/426) -## [3.5.2-develop.3](https://github.com/sebbo2002/ical-generator/compare/v3.5.2-develop.2...v3.5.2-develop.3) (2022-09-24) - -## [3.5.2-develop.2](https://github.com/sebbo2002/ical-generator/compare/v3.5.2-develop.1...v3.5.2-develop.2) (2022-09-24) - - -### Bug Fixes - -* Include source files in npm module to allow sourcemap resolving ([2760b75](https://github.com/sebbo2002/ical-generator/commit/2760b75e67c2eb224ae1c38e8de94b4056cda7c2)), closes [#426](https://github.com/sebbo2002/ical-generator/issues/426) - -## [3.5.2-develop.1](https://github.com/sebbo2002/ical-generator/compare/v3.5.1...v3.5.2-develop.1) (2022-08-30) - ## [3.5.1](https://github.com/sebbo2002/ical-generator/compare/v3.5.0...v3.5.1) (2022-07-28) -### Bug Fixes - -* Remove private property from moment stub ([792adb6](https://github.com/sebbo2002/ical-generator/commit/792adb6985b88b69756916343d4c5c7929f5a82d)), closes [#411](https://github.com/sebbo2002/ical-generator/issues/411) - -## [3.5.1-develop.1](https://github.com/sebbo2002/ical-generator/compare/v3.5.0...v3.5.1-develop.1) (2022-07-28) - - ### Bug Fixes * Remove private property from moment stub ([792adb6](https://github.com/sebbo2002/ical-generator/commit/792adb6985b88b69756916343d4c5c7929f5a82d)), closes [#411](https://github.com/sebbo2002/ical-generator/issues/411) @@ -259,40 +93,8 @@ * Replace external types with stub types ([56cffc7](https://github.com/sebbo2002/ical-generator/commit/56cffc7a4e9f741e779d445bfaf749b6885a4504)), closes [#405](https://github.com/sebbo2002/ical-generator/issues/405) -# [3.5.0-develop.1](https://github.com/sebbo2002/ical-generator/compare/v3.4.4-develop.8...v3.5.0-develop.1) (2022-07-25) - - -### Features - -* Replace external types with stub types ([56cffc7](https://github.com/sebbo2002/ical-generator/commit/56cffc7a4e9f741e779d445bfaf749b6885a4504)), closes [#405](https://github.com/sebbo2002/ical-generator/issues/405) - -## [3.4.4-develop.8](https://github.com/sebbo2002/ical-generator/compare/v3.4.4-develop.7...v3.4.4-develop.8) (2022-07-06) - -## [3.4.4-develop.7](https://github.com/sebbo2002/ical-generator/compare/v3.4.4-develop.6...v3.4.4-develop.7) (2022-06-10) - -## [3.4.4-develop.6](https://github.com/sebbo2002/ical-generator/compare/v3.4.4-develop.5...v3.4.4-develop.6) (2022-06-09) - -## [3.4.4-develop.5](https://github.com/sebbo2002/ical-generator/compare/v3.4.4-develop.4...v3.4.4-develop.5) (2022-06-07) - -## [3.4.4-develop.4](https://github.com/sebbo2002/ical-generator/compare/v3.4.4-develop.3...v3.4.4-develop.4) (2022-06-03) - -## [3.4.4-develop.3](https://github.com/sebbo2002/ical-generator/compare/v3.4.4-develop.2...v3.4.4-develop.3) (2022-05-22) - -## [3.4.4-develop.2](https://github.com/sebbo2002/ical-generator/compare/v3.4.4-develop.1...v3.4.4-develop.2) (2022-05-19) - - -### Reverts - -* Revert "ci: Remove GH_TOKEN and use GITHUB_TOKEN" ([b5c2eb6](https://github.com/sebbo2002/ical-generator/commit/b5c2eb66170b38bda1e49ad5bb5cf02bd13eb8e4)) - -## [3.4.4-develop.1](https://github.com/sebbo2002/ical-generator/compare/v3.4.3...v3.4.4-develop.1) (2022-05-19) - ## [3.4.3](https://github.com/sebbo2002/ical-generator/compare/v3.4.2...v3.4.3) (2022-05-14) -## [3.4.3-develop.2](https://github.com/sebbo2002/ical-generator/compare/v3.4.3-develop.1...v3.4.3-develop.2) (2022-05-13) - -## [3.4.3-develop.1](https://github.com/sebbo2002/ical-generator/compare/v3.4.2...v3.4.3-develop.1) (2022-05-01) - ## [3.4.2](https://github.com/sebbo2002/ical-generator/compare/v3.4.1...v3.4.2) (2022-04-28) @@ -300,21 +102,8 @@ * Do not escape quotes when not required ([08a4d62](https://github.com/sebbo2002/ical-generator/commit/08a4d626045c586302792b112c35496dd676af1d)), closes [#377](https://github.com/sebbo2002/ical-generator/issues/377) -## [3.4.2-develop.3](https://github.com/sebbo2002/ical-generator/compare/v3.4.2-develop.2...v3.4.2-develop.3) (2022-04-28) - -## [3.4.2-develop.2](https://github.com/sebbo2002/ical-generator/compare/v3.4.2-develop.1...v3.4.2-develop.2) (2022-04-27) - - -### Bug Fixes - -* Do not escape quotes when not required ([08a4d62](https://github.com/sebbo2002/ical-generator/commit/08a4d626045c586302792b112c35496dd676af1d)), closes [#377](https://github.com/sebbo2002/ical-generator/issues/377) - -## [3.4.2-develop.1](https://github.com/sebbo2002/ical-generator/compare/v3.4.1...v3.4.2-develop.1) (2022-04-09) - ## [3.4.1](https://github.com/sebbo2002/ical-generator/compare/v3.4.0...v3.4.1) (2022-03-31) -## [3.4.1-develop.1](https://github.com/sebbo2002/ical-generator/compare/v3.4.0...v3.4.1-develop.1) (2022-03-31) - # [3.4.0](https://github.com/sebbo2002/ical-generator/compare/v3.3.0...v3.4.0) (2022-03-21) @@ -332,13 +121,6 @@ ## [3.2.1](https://github.com/sebbo2002/ical-generator/compare/v3.2.0...v3.2.1) (2022-01-28) -### Bug Fixes - -* Update error URLs ([2628464](https://github.com/sebbo2002/ical-generator/commit/262846466808a043b4b241a17b38503c7949e78f)), closes [#343](https://github.com/sebbo2002/ical-generator/issues/343) - -## [3.2.1-develop.1](https://github.com/sebbo2002/ical-generator/compare/v3.2.0...v3.2.1-develop.1) (2022-01-18) - - ### Bug Fixes * Update error URLs ([2628464](https://github.com/sebbo2002/ical-generator/commit/262846466808a043b4b241a17b38503c7949e78f)), closes [#343](https://github.com/sebbo2002/ical-generator/issues/343) @@ -351,20 +133,6 @@ * **Attendee:** Print RSVP also if rsvp is set to false ([27e5166](https://github.com/sebbo2002/ical-generator/commit/27e51668710c3f6eff4c3ad4c5e64028444aca05)), closes [#340](https://github.com/sebbo2002/ical-generator/issues/340) -### Features - -* **Events:** Add `createAttachment` / `attachments` ([12a382f](https://github.com/sebbo2002/ical-generator/commit/12a382fedb798460891d327bd9c112b1c97c38ee)), closes [#335](https://github.com/sebbo2002/ical-generator/issues/335) - -# [3.2.0-develop.2](https://github.com/sebbo2002/ical-generator/compare/v3.2.0-develop.1...v3.2.0-develop.2) (2022-01-10) - - -### Bug Fixes - -* **Attendee:** Print RSVP also if rsvp is set to false ([27e5166](https://github.com/sebbo2002/ical-generator/commit/27e51668710c3f6eff4c3ad4c5e64028444aca05)), closes [#340](https://github.com/sebbo2002/ical-generator/issues/340) - -# [3.2.0-develop.1](https://github.com/sebbo2002/ical-generator/compare/v3.1.1...v3.2.0-develop.1) (2022-01-03) - - ### Features * **Events:** Add `createAttachment` / `attachments` ([12a382f](https://github.com/sebbo2002/ical-generator/commit/12a382fedb798460891d327bd9c112b1c97c38ee)), closes [#335](https://github.com/sebbo2002/ical-generator/issues/335) @@ -372,13 +140,6 @@ ## [3.1.1](https://github.com/sebbo2002/ical-generator/compare/v3.1.0...v3.1.1) (2021-12-13) -### Bug Fixes - -* **CI:** Fix DockerHub container release ([01b7534](https://github.com/sebbo2002/ical-generator/commit/01b753406d1f1ef24a949c7d7b946d99b779d013)) - -## [3.1.1-develop.1](https://github.com/sebbo2002/ical-generator/compare/v3.1.0...v3.1.1-develop.1) (2021-12-06) - - ### Bug Fixes * **CI:** Fix DockerHub container release ([01b7534](https://github.com/sebbo2002/ical-generator/commit/01b753406d1f1ef24a949c7d7b946d99b779d013)) @@ -397,30 +158,6 @@ * **event:** Add support for event class ([a227aa2](https://github.com/sebbo2002/ical-generator/commit/a227aa27d293305e307861149aad3888caf5eafe)) * **Event:** Handle `timezone('UTC')` correctly ([781dc3d](https://github.com/sebbo2002/ical-generator/commit/781dc3d67296cef67652e8a97600f7678d6ac191)), closes [#328](https://github.com/sebbo2002/ical-generator/issues/328) -# [3.1.0-develop.2](https://github.com/sebbo2002/ical-generator/compare/v3.1.0-develop.1...v3.1.0-develop.2) (2021-11-08) - - -### Features - -* **Calendar:** Handle `timezone('UTC')` correctly ([c0745e5](https://github.com/sebbo2002/ical-generator/commit/c0745e50101d3f29e51ddecce7da4a4e445ccc81)), closes [#328](https://github.com/sebbo2002/ical-generator/issues/328) -* **Event:** Handle `timezone('UTC')` correctly ([781dc3d](https://github.com/sebbo2002/ical-generator/commit/781dc3d67296cef67652e8a97600f7678d6ac191)), closes [#328](https://github.com/sebbo2002/ical-generator/issues/328) - -# [3.1.0-develop.1](https://github.com/sebbo2002/ical-generator/compare/v3.0.2-develop.2...v3.1.0-develop.1) (2021-11-05) - - -### Features - -* **event:** Add support for event class ([a227aa2](https://github.com/sebbo2002/ical-generator/commit/a227aa27d293305e307861149aad3888caf5eafe)) - -## [3.0.2-develop.2](https://github.com/sebbo2002/ical-generator/compare/v3.0.2-develop.1...v3.0.2-develop.2) (2021-11-04) - - -### Bug Fixes - -* Remove Blob usage to support modern browsers ([c4e33d3](https://github.com/sebbo2002/ical-generator/commit/c4e33d3405338f42cc299cc927b851a67a88b3ad)), closes [#325](https://github.com/sebbo2002/ical-generator/issues/325) - -## [3.0.2-develop.1](https://github.com/sebbo2002/ical-generator/compare/v3.0.1...v3.0.2-develop.1) (2021-10-08) - ## [3.0.1](https://github.com/sebbo2002/ical-generator/compare/v3.0.0...v3.0.1) (2021-10-01) @@ -428,19 +165,6 @@ * **Event:** Append address to `LOCATION` even without `radius` / `geo` ([09ea62e](https://github.com/sebbo2002/ical-generator/commit/09ea62eb073bd79e66c8905841a93810fcea0634)), closes [#314](https://github.com/sebbo2002/ical-generator/issues/314) -## [3.0.1-develop.4](https://github.com/sebbo2002/ical-generator/compare/v3.0.1-develop.3...v3.0.1-develop.4) (2021-09-28) - -## [3.0.1-develop.3](https://github.com/sebbo2002/ical-generator/compare/v3.0.1-develop.2...v3.0.1-develop.3) (2021-09-20) - - -### Bug Fixes - -* **Event:** Append address to `LOCATION` even without `radius` / `geo` ([09ea62e](https://github.com/sebbo2002/ical-generator/commit/09ea62eb073bd79e66c8905841a93810fcea0634)), closes [#314](https://github.com/sebbo2002/ical-generator/issues/314) - -## [3.0.1-develop.2](https://github.com/sebbo2002/ical-generator/compare/v3.0.1-develop.1...v3.0.1-develop.2) (2021-09-02) - -## [3.0.1-develop.1](https://github.com/sebbo2002/ical-generator/compare/v3.0.0...v3.0.1-develop.1) (2021-08-31) - # [3.0.0](https://github.com/sebbo2002/ical-generator/compare/v2.2.0...v3.0.0) (2021-07-31) # [3.0.0-develop.8](https://github.com/sebbo2002/ical-generator/compare/v3.0.0-develop.7...v3.0.0-develop.8) (2021-08-26) diff --git a/release.config.cjs b/release.config.cjs index 04174e1f1..4f0628e32 100644 --- a/release.config.cjs +++ b/release.config.cjs @@ -21,7 +21,9 @@ configuration.plugins.push(['@semantic-release/commit-analyzer', { configuration.plugins.push('@semantic-release/release-notes-generator'); -configuration.plugins.push('@semantic-release/changelog'); +if (process.env.BRANCH === 'main') { + configuration.plugins.push('@semantic-release/changelog'); +} configuration.plugins.push('semantic-release-license'); From c09342d2dc3cea1a0e52e066ea88d3747de85599 Mon Sep 17 00:00:00 2001 From: Sebastian Pekarek Date: Sun, 22 Oct 2023 12:24:52 +0200 Subject: [PATCH 38/39] build: Remove develop builds from changelog The changelog became very full and confusing with all the development builds. Therefore I decided not to include builds from the `develop` branch in the changelog anymore. --- release.config.cjs | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/release.config.cjs b/release.config.cjs index 17cad4a05..e3a96b530 100644 --- a/release.config.cjs +++ b/release.config.cjs @@ -21,7 +21,9 @@ configuration.plugins.push(['@semantic-release/commit-analyzer', { configuration.plugins.push('@semantic-release/release-notes-generator'); -configuration.plugins.push('@semantic-release/changelog'); +if (process.env.BRANCH === 'main') { + configuration.plugins.push('@semantic-release/changelog'); +} configuration.plugins.push('semantic-release-license'); From e46692f7658d317393e766597c8af092af6f7677 Mon Sep 17 00:00:00 2001 From: "depfu[bot]" <23717796+depfu[bot]@users.noreply.github.com> Date: Tue, 24 Oct 2023 08:13:02 +0000 Subject: [PATCH 39/39] Update all development npm dependencies (2023-10-24) (#532) --- package-lock.json | 196 +++++++++++++++++++++++----------------------- package.json | 4 +- 2 files changed, 100 insertions(+), 100 deletions(-) diff --git a/package-lock.json b/package-lock.json index f9b37cfe9..acfcf8295 100644 --- a/package-lock.json +++ b/package-lock.json @@ -20,8 +20,8 @@ "@touch4it/ical-timezones": "^1.9.0", "@types/luxon": "^3.3.2", "@types/mocha": "^10.0.2", - "@typescript-eslint/eslint-plugin": "^6.7.0", - "@typescript-eslint/parser": "^6.7.0", + "@typescript-eslint/eslint-plugin": "^6.8.0", + "@typescript-eslint/parser": "^6.8.0", "c8": "^8.0.1", "dayjs": "^1.11.10", "eslint": "^8.51.0", @@ -2200,9 +2200,9 @@ "dev": true }, "node_modules/@types/json-schema": { - "version": "7.0.13", - "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.13.tgz", - "integrity": "sha512-RbSSoHliUbnXj3ny0CNFOoxrIDV6SUGyStHsvDqosw6CkdPV8TtWGlfecuK4ToyMEAql6pzNxgCFKanovUzlgQ==", + "version": "7.0.14", + "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.14.tgz", + "integrity": "sha512-U3PUjAudAdJBeC2pgN8uTIKgxrb4nlDF3SF0++EldXQvQBGkpFZMSnwQiIoDU77tv45VgNkl/L4ouD+rEomujw==", "dev": true }, "node_modules/@types/lodash": { @@ -2257,22 +2257,22 @@ } }, "node_modules/@types/semver": { - "version": "7.5.2", - "resolved": "https://registry.npmjs.org/@types/semver/-/semver-7.5.2.tgz", - "integrity": "sha512-7aqorHYgdNO4DM36stTiGO3DvKoex9TQRwsJU6vMaFGyqpBA1MNZkz+PG3gaNUPpTAOYhT1WR7M1JyA3fbS9Cw==", + "version": "7.5.4", + "resolved": "https://registry.npmjs.org/@types/semver/-/semver-7.5.4.tgz", + "integrity": "sha512-MMzuxN3GdFwskAnb6fz0orFvhfqi752yjaXylr0Rp4oDg5H0Zn1IuyRhDVvYOwAXoJirx2xuS16I3WjxnAIHiQ==", "dev": true }, "node_modules/@typescript-eslint/eslint-plugin": { - "version": "6.7.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-6.7.0.tgz", - "integrity": "sha512-gUqtknHm0TDs1LhY12K2NA3Rmlmp88jK9Tx8vGZMfHeNMLE3GH2e9TRub+y+SOjuYgtOmok+wt1AyDPZqxbNag==", + "version": "6.8.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-6.8.0.tgz", + "integrity": "sha512-GosF4238Tkes2SHPQ1i8f6rMtG6zlKwMEB0abqSJ3Npvos+doIlc/ATG+vX1G9coDF3Ex78zM3heXHLyWEwLUw==", "dev": true, "dependencies": { "@eslint-community/regexpp": "^4.5.1", - "@typescript-eslint/scope-manager": "6.7.0", - "@typescript-eslint/type-utils": "6.7.0", - "@typescript-eslint/utils": "6.7.0", - "@typescript-eslint/visitor-keys": "6.7.0", + "@typescript-eslint/scope-manager": "6.8.0", + "@typescript-eslint/type-utils": "6.8.0", + "@typescript-eslint/utils": "6.8.0", + "@typescript-eslint/visitor-keys": "6.8.0", "debug": "^4.3.4", "graphemer": "^1.4.0", "ignore": "^5.2.4", @@ -2298,15 +2298,15 @@ } }, "node_modules/@typescript-eslint/parser": { - "version": "6.7.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-6.7.0.tgz", - "integrity": "sha512-jZKYwqNpNm5kzPVP5z1JXAuxjtl2uG+5NpaMocFPTNC2EdYIgbXIPImObOkhbONxtFTTdoZstLZefbaK+wXZng==", + "version": "6.8.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-6.8.0.tgz", + "integrity": "sha512-5tNs6Bw0j6BdWuP8Fx+VH4G9fEPDxnVI7yH1IAPkQH5RUtvKwRoqdecAPdQXv4rSOADAaz1LFBZvZG7VbXivSg==", "dev": true, "dependencies": { - "@typescript-eslint/scope-manager": "6.7.0", - "@typescript-eslint/types": "6.7.0", - "@typescript-eslint/typescript-estree": "6.7.0", - "@typescript-eslint/visitor-keys": "6.7.0", + "@typescript-eslint/scope-manager": "6.8.0", + "@typescript-eslint/types": "6.8.0", + "@typescript-eslint/typescript-estree": "6.8.0", + "@typescript-eslint/visitor-keys": "6.8.0", "debug": "^4.3.4" }, "engines": { @@ -2326,13 +2326,13 @@ } }, "node_modules/@typescript-eslint/scope-manager": { - "version": "6.7.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-6.7.0.tgz", - "integrity": "sha512-lAT1Uau20lQyjoLUQ5FUMSX/dS07qux9rYd5FGzKz/Kf8W8ccuvMyldb8hadHdK/qOI7aikvQWqulnEq2nCEYA==", + "version": "6.8.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-6.8.0.tgz", + "integrity": "sha512-xe0HNBVwCph7rak+ZHcFD6A+q50SMsFwcmfdjs9Kz4qDh5hWhaPhFjRs/SODEhroBI5Ruyvyz9LfwUJ624O40g==", "dev": true, "dependencies": { - "@typescript-eslint/types": "6.7.0", - "@typescript-eslint/visitor-keys": "6.7.0" + "@typescript-eslint/types": "6.8.0", + "@typescript-eslint/visitor-keys": "6.8.0" }, "engines": { "node": "^16.0.0 || >=18.0.0" @@ -2343,13 +2343,13 @@ } }, "node_modules/@typescript-eslint/type-utils": { - "version": "6.7.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-6.7.0.tgz", - "integrity": "sha512-f/QabJgDAlpSz3qduCyQT0Fw7hHpmhOzY/Rv6zO3yO+HVIdPfIWhrQoAyG+uZVtWAIS85zAyzgAFfyEr+MgBpg==", + "version": "6.8.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-6.8.0.tgz", + "integrity": "sha512-RYOJdlkTJIXW7GSldUIHqc/Hkto8E+fZN96dMIFhuTJcQwdRoGN2rEWA8U6oXbLo0qufH7NPElUb+MceHtz54g==", "dev": true, "dependencies": { - "@typescript-eslint/typescript-estree": "6.7.0", - "@typescript-eslint/utils": "6.7.0", + "@typescript-eslint/typescript-estree": "6.8.0", + "@typescript-eslint/utils": "6.8.0", "debug": "^4.3.4", "ts-api-utils": "^1.0.1" }, @@ -2370,9 +2370,9 @@ } }, "node_modules/@typescript-eslint/types": { - "version": "6.7.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-6.7.0.tgz", - "integrity": "sha512-ihPfvOp7pOcN/ysoj0RpBPOx3HQTJTrIN8UZK+WFd3/iDeFHHqeyYxa4hQk4rMhsz9H9mXpR61IzwlBVGXtl9Q==", + "version": "6.8.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-6.8.0.tgz", + "integrity": "sha512-p5qOxSum7W3k+llc7owEStXlGmSl8FcGvhYt8Vjy7FqEnmkCVlM3P57XQEGj58oqaBWDQXbJDZxwUWMS/EAPNQ==", "dev": true, "engines": { "node": "^16.0.0 || >=18.0.0" @@ -2383,13 +2383,13 @@ } }, "node_modules/@typescript-eslint/typescript-estree": { - "version": "6.7.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-6.7.0.tgz", - "integrity": "sha512-dPvkXj3n6e9yd/0LfojNU8VMUGHWiLuBZvbM6V6QYD+2qxqInE7J+J/ieY2iGwR9ivf/R/haWGkIj04WVUeiSQ==", + "version": "6.8.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-6.8.0.tgz", + "integrity": "sha512-ISgV0lQ8XgW+mvv5My/+iTUdRmGspducmQcDw5JxznasXNnZn3SKNrTRuMsEXv+V/O+Lw9AGcQCfVaOPCAk/Zg==", "dev": true, "dependencies": { - "@typescript-eslint/types": "6.7.0", - "@typescript-eslint/visitor-keys": "6.7.0", + "@typescript-eslint/types": "6.8.0", + "@typescript-eslint/visitor-keys": "6.8.0", "debug": "^4.3.4", "globby": "^11.1.0", "is-glob": "^4.0.3", @@ -2410,17 +2410,17 @@ } }, "node_modules/@typescript-eslint/utils": { - "version": "6.7.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-6.7.0.tgz", - "integrity": "sha512-MfCq3cM0vh2slSikQYqK2Gq52gvOhe57vD2RM3V4gQRZYX4rDPnKLu5p6cm89+LJiGlwEXU8hkYxhqqEC/V3qA==", + "version": "6.8.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-6.8.0.tgz", + "integrity": "sha512-dKs1itdE2qFG4jr0dlYLQVppqTE+Itt7GmIf/vX6CSvsW+3ov8PbWauVKyyfNngokhIO9sKZeRGCUo1+N7U98Q==", "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.7.0", - "@typescript-eslint/types": "6.7.0", - "@typescript-eslint/typescript-estree": "6.7.0", + "@typescript-eslint/scope-manager": "6.8.0", + "@typescript-eslint/types": "6.8.0", + "@typescript-eslint/typescript-estree": "6.8.0", "semver": "^7.5.4" }, "engines": { @@ -2435,12 +2435,12 @@ } }, "node_modules/@typescript-eslint/visitor-keys": { - "version": "6.7.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-6.7.0.tgz", - "integrity": "sha512-/C1RVgKFDmGMcVGeD8HjKv2bd72oI1KxQDeY8uc66gw9R0OK0eMq48cA+jv9/2Ag6cdrsUGySm1yzYmfz0hxwQ==", + "version": "6.8.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-6.8.0.tgz", + "integrity": "sha512-oqAnbA7c+pgOhW2OhGvxm0t1BULX5peQI/rLsNDpGM78EebV3C9IGbX5HNZabuZ6UQrYveCLjKo8Iy/lLlBkkg==", "dev": true, "dependencies": { - "@typescript-eslint/types": "6.7.0", + "@typescript-eslint/types": "6.8.0", "eslint-visitor-keys": "^3.4.1" }, "engines": { @@ -14031,9 +14031,9 @@ "dev": true }, "@types/json-schema": { - "version": "7.0.13", - "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.13.tgz", - "integrity": "sha512-RbSSoHliUbnXj3ny0CNFOoxrIDV6SUGyStHsvDqosw6CkdPV8TtWGlfecuK4ToyMEAql6pzNxgCFKanovUzlgQ==", + "version": "7.0.14", + "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.14.tgz", + "integrity": "sha512-U3PUjAudAdJBeC2pgN8uTIKgxrb4nlDF3SF0++EldXQvQBGkpFZMSnwQiIoDU77tv45VgNkl/L4ouD+rEomujw==", "dev": true }, "@types/lodash": { @@ -14088,22 +14088,22 @@ } }, "@types/semver": { - "version": "7.5.2", - "resolved": "https://registry.npmjs.org/@types/semver/-/semver-7.5.2.tgz", - "integrity": "sha512-7aqorHYgdNO4DM36stTiGO3DvKoex9TQRwsJU6vMaFGyqpBA1MNZkz+PG3gaNUPpTAOYhT1WR7M1JyA3fbS9Cw==", + "version": "7.5.4", + "resolved": "https://registry.npmjs.org/@types/semver/-/semver-7.5.4.tgz", + "integrity": "sha512-MMzuxN3GdFwskAnb6fz0orFvhfqi752yjaXylr0Rp4oDg5H0Zn1IuyRhDVvYOwAXoJirx2xuS16I3WjxnAIHiQ==", "dev": true }, "@typescript-eslint/eslint-plugin": { - "version": "6.7.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-6.7.0.tgz", - "integrity": "sha512-gUqtknHm0TDs1LhY12K2NA3Rmlmp88jK9Tx8vGZMfHeNMLE3GH2e9TRub+y+SOjuYgtOmok+wt1AyDPZqxbNag==", + "version": "6.8.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-6.8.0.tgz", + "integrity": "sha512-GosF4238Tkes2SHPQ1i8f6rMtG6zlKwMEB0abqSJ3Npvos+doIlc/ATG+vX1G9coDF3Ex78zM3heXHLyWEwLUw==", "dev": true, "requires": { "@eslint-community/regexpp": "^4.5.1", - "@typescript-eslint/scope-manager": "6.7.0", - "@typescript-eslint/type-utils": "6.7.0", - "@typescript-eslint/utils": "6.7.0", - "@typescript-eslint/visitor-keys": "6.7.0", + "@typescript-eslint/scope-manager": "6.8.0", + "@typescript-eslint/type-utils": "6.8.0", + "@typescript-eslint/utils": "6.8.0", + "@typescript-eslint/visitor-keys": "6.8.0", "debug": "^4.3.4", "graphemer": "^1.4.0", "ignore": "^5.2.4", @@ -14113,54 +14113,54 @@ } }, "@typescript-eslint/parser": { - "version": "6.7.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-6.7.0.tgz", - "integrity": "sha512-jZKYwqNpNm5kzPVP5z1JXAuxjtl2uG+5NpaMocFPTNC2EdYIgbXIPImObOkhbONxtFTTdoZstLZefbaK+wXZng==", + "version": "6.8.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-6.8.0.tgz", + "integrity": "sha512-5tNs6Bw0j6BdWuP8Fx+VH4G9fEPDxnVI7yH1IAPkQH5RUtvKwRoqdecAPdQXv4rSOADAaz1LFBZvZG7VbXivSg==", "dev": true, "requires": { - "@typescript-eslint/scope-manager": "6.7.0", - "@typescript-eslint/types": "6.7.0", - "@typescript-eslint/typescript-estree": "6.7.0", - "@typescript-eslint/visitor-keys": "6.7.0", + "@typescript-eslint/scope-manager": "6.8.0", + "@typescript-eslint/types": "6.8.0", + "@typescript-eslint/typescript-estree": "6.8.0", + "@typescript-eslint/visitor-keys": "6.8.0", "debug": "^4.3.4" } }, "@typescript-eslint/scope-manager": { - "version": "6.7.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-6.7.0.tgz", - "integrity": "sha512-lAT1Uau20lQyjoLUQ5FUMSX/dS07qux9rYd5FGzKz/Kf8W8ccuvMyldb8hadHdK/qOI7aikvQWqulnEq2nCEYA==", + "version": "6.8.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-6.8.0.tgz", + "integrity": "sha512-xe0HNBVwCph7rak+ZHcFD6A+q50SMsFwcmfdjs9Kz4qDh5hWhaPhFjRs/SODEhroBI5Ruyvyz9LfwUJ624O40g==", "dev": true, "requires": { - "@typescript-eslint/types": "6.7.0", - "@typescript-eslint/visitor-keys": "6.7.0" + "@typescript-eslint/types": "6.8.0", + "@typescript-eslint/visitor-keys": "6.8.0" } }, "@typescript-eslint/type-utils": { - "version": "6.7.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-6.7.0.tgz", - "integrity": "sha512-f/QabJgDAlpSz3qduCyQT0Fw7hHpmhOzY/Rv6zO3yO+HVIdPfIWhrQoAyG+uZVtWAIS85zAyzgAFfyEr+MgBpg==", + "version": "6.8.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-6.8.0.tgz", + "integrity": "sha512-RYOJdlkTJIXW7GSldUIHqc/Hkto8E+fZN96dMIFhuTJcQwdRoGN2rEWA8U6oXbLo0qufH7NPElUb+MceHtz54g==", "dev": true, "requires": { - "@typescript-eslint/typescript-estree": "6.7.0", - "@typescript-eslint/utils": "6.7.0", + "@typescript-eslint/typescript-estree": "6.8.0", + "@typescript-eslint/utils": "6.8.0", "debug": "^4.3.4", "ts-api-utils": "^1.0.1" } }, "@typescript-eslint/types": { - "version": "6.7.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-6.7.0.tgz", - "integrity": "sha512-ihPfvOp7pOcN/ysoj0RpBPOx3HQTJTrIN8UZK+WFd3/iDeFHHqeyYxa4hQk4rMhsz9H9mXpR61IzwlBVGXtl9Q==", + "version": "6.8.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-6.8.0.tgz", + "integrity": "sha512-p5qOxSum7W3k+llc7owEStXlGmSl8FcGvhYt8Vjy7FqEnmkCVlM3P57XQEGj58oqaBWDQXbJDZxwUWMS/EAPNQ==", "dev": true }, "@typescript-eslint/typescript-estree": { - "version": "6.7.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-6.7.0.tgz", - "integrity": "sha512-dPvkXj3n6e9yd/0LfojNU8VMUGHWiLuBZvbM6V6QYD+2qxqInE7J+J/ieY2iGwR9ivf/R/haWGkIj04WVUeiSQ==", + "version": "6.8.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-6.8.0.tgz", + "integrity": "sha512-ISgV0lQ8XgW+mvv5My/+iTUdRmGspducmQcDw5JxznasXNnZn3SKNrTRuMsEXv+V/O+Lw9AGcQCfVaOPCAk/Zg==", "dev": true, "requires": { - "@typescript-eslint/types": "6.7.0", - "@typescript-eslint/visitor-keys": "6.7.0", + "@typescript-eslint/types": "6.8.0", + "@typescript-eslint/visitor-keys": "6.8.0", "debug": "^4.3.4", "globby": "^11.1.0", "is-glob": "^4.0.3", @@ -14169,27 +14169,27 @@ } }, "@typescript-eslint/utils": { - "version": "6.7.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-6.7.0.tgz", - "integrity": "sha512-MfCq3cM0vh2slSikQYqK2Gq52gvOhe57vD2RM3V4gQRZYX4rDPnKLu5p6cm89+LJiGlwEXU8hkYxhqqEC/V3qA==", + "version": "6.8.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-6.8.0.tgz", + "integrity": "sha512-dKs1itdE2qFG4jr0dlYLQVppqTE+Itt7GmIf/vX6CSvsW+3ov8PbWauVKyyfNngokhIO9sKZeRGCUo1+N7U98Q==", "dev": true, "requires": { "@eslint-community/eslint-utils": "^4.4.0", "@types/json-schema": "^7.0.12", "@types/semver": "^7.5.0", - "@typescript-eslint/scope-manager": "6.7.0", - "@typescript-eslint/types": "6.7.0", - "@typescript-eslint/typescript-estree": "6.7.0", + "@typescript-eslint/scope-manager": "6.8.0", + "@typescript-eslint/types": "6.8.0", + "@typescript-eslint/typescript-estree": "6.8.0", "semver": "^7.5.4" } }, "@typescript-eslint/visitor-keys": { - "version": "6.7.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-6.7.0.tgz", - "integrity": "sha512-/C1RVgKFDmGMcVGeD8HjKv2bd72oI1KxQDeY8uc66gw9R0OK0eMq48cA+jv9/2Ag6cdrsUGySm1yzYmfz0hxwQ==", + "version": "6.8.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-6.8.0.tgz", + "integrity": "sha512-oqAnbA7c+pgOhW2OhGvxm0t1BULX5peQI/rLsNDpGM78EebV3C9IGbX5HNZabuZ6UQrYveCLjKo8Iy/lLlBkkg==", "dev": true, "requires": { - "@typescript-eslint/types": "6.7.0", + "@typescript-eslint/types": "6.8.0", "eslint-visitor-keys": "^3.4.1" } }, diff --git a/package.json b/package.json index 2bc4a434a..5becabb3a 100644 --- a/package.json +++ b/package.json @@ -16,8 +16,8 @@ "@touch4it/ical-timezones": "^1.9.0", "@types/luxon": "^3.3.2", "@types/mocha": "^10.0.2", - "@typescript-eslint/eslint-plugin": "^6.7.0", - "@typescript-eslint/parser": "^6.7.0", + "@typescript-eslint/eslint-plugin": "^6.8.0", + "@typescript-eslint/parser": "^6.8.0", "c8": "^8.0.1", "dayjs": "^1.11.10", "eslint": "^8.51.0",