diff --git a/.github/workflows/build.sh b/.github/workflows/build.sh
index ae9c080fc..fc62cc78c 100755
--- a/.github/workflows/build.sh
+++ b/.github/workflows/build.sh
@@ -20,6 +20,9 @@ fi;
mkdir -p ./docs/
rm -rf ./docs/coverage/ ./docs/reference/ ./docs/tests/
+# Remove Dark Mode Logo
+git checkout -- ./README.md
+awk 'NR < 8 || NR > 10' ./README.md > temp && mv -f temp ./README.md
# TypeDoc in ./docs/referece
npx typedoc
diff --git a/.github/workflows/dependabot-auto-merge.yml b/.github/workflows/dependabot-auto-merge.yml
new file mode 100644
index 000000000..36f2991d4
--- /dev/null
+++ b/.github/workflows/dependabot-auto-merge.yml
@@ -0,0 +1,23 @@
+name: Dependabot auto-merge
+on: pull_request
+
+permissions:
+ contents: write
+ pull-requests: write
+
+jobs:
+ dependabot:
+ runs-on: ubuntu-latest
+ if: github.actor == 'dependabot[bot]'
+ steps:
+ - name: ℹ️ Dependabot metadata
+ id: metadata
+ uses: dependabot/fetch-metadata@v1
+ with:
+ github-token: "${{ secrets.GITHUB_TOKEN }}"
+ - name: 🔃 Enable auto-merge for Dependabot PRs
+ if: steps.metadata.outputs.update-type == 'version-update:semver-minor' || steps.metadata.outputs.update-type == 'version-update:semver-patch'
+ run: gh pr merge --auto --merge "$PR_URL"
+ env:
+ PR_URL: ${{github.event.pull_request.html_url}}
+ GH_TOKEN: ${{secrets.GITHUB_TOKEN}}
diff --git a/.nycrc b/.nycrc
index db43806f1..a30d12f2d 100644
--- a/.nycrc
+++ b/.nycrc
@@ -24,7 +24,7 @@
"instrument": true,
"branches": 95,
"lines": 95,
- "functions": 92,
- "statements": 95,
+ "functions": 100,
+ "statements": 98,
"per-file": true
}
diff --git a/README.md b/README.md
old mode 100755
new mode 100644
index 715e3c884..0a0e206fe
--- a/README.md
+++ b/README.md
@@ -2,18 +2,19 @@
-
+
+
+
+
+
+
-
-
-
-
-
-
-
-
-
+
+
+
+
+
@@ -22,13 +23,7 @@
`ical-generator` is a small but fine library with which you can very easily create a valid iCal calendars, for example
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
@@ -119,7 +114,6 @@ in the calendar/event.
```
npm test
npm run coverage
-npm run browser-test
```
diff --git a/package-lock.json b/package-lock.json
index fbae65ce5..d6e6b703f 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -1,46 +1,46 @@
{
"name": "ical-generator",
- "version": "v2.0.0-develop",
+ "version": "7.0.0-develop.6",
"lockfileVersion": 2,
"requires": true,
"packages": {
"": {
"name": "ical-generator",
- "version": "v2.0.0-develop",
+ "version": "7.0.0-develop.6",
"license": "MIT",
"dependencies": {
"uuid-random": "^1.3.2"
},
"devDependencies": {
- "@qiwi/semantic-release-gh-pages-plugin": "^5.2.11",
+ "@qiwi/semantic-release-gh-pages-plugin": "^5.2.12",
"@semantic-release/changelog": "^6.0.3",
"@semantic-release/exec": "^6.0.3",
"@semantic-release/git": "^10.0.1",
- "@semantic-release/npm": "^11.0.2",
+ "@semantic-release/npm": "^11.0.3",
"@touch4it/ical-timezones": "^1.9.0",
- "@types/luxon": "^3.3.7",
+ "@types/luxon": "^3.4.2",
"@types/mocha": "^10.0.6",
- "@typescript-eslint/eslint-plugin": "^6.13.2",
- "@typescript-eslint/parser": "^6.13.2",
- "c8": "^8.0.1",
+ "@typescript-eslint/eslint-plugin": "^7.1.0",
+ "@typescript-eslint/parser": "^7.1.0",
+ "c8": "^9.1.0",
"dayjs": "^1.11.10",
- "eslint": "^8.56.0",
- "eslint-plugin-jsonc": "^2.11.2",
+ "eslint": "^8.57.0",
+ "eslint-plugin-jsonc": "^2.13.0",
"esm": "^3.2.25",
"license-checker": "^25.0.1",
"luxon": "^3.4.4",
- "mocha": "^10.2.0",
+ "mocha": "^10.3.0",
"mochawesome": "^7.1.3",
- "moment": "^2.29.4",
- "moment-timezone": "^0.5.43",
+ "moment": "^2.30.1",
+ "moment-timezone": "^0.5.45",
"nyc": "^15.1.0",
"rrule": "^2.8.1",
- "semantic-release": "^22.0.12",
+ "semantic-release": "^23.0.2",
"semantic-release-license": "^1.0.2",
"source-map-support": "^0.5.21",
"ts-node": "^10.9.2",
- "tsup": "^8.0.1",
- "typedoc": "^0.25.4",
+ "tsup": "^8.0.2",
+ "typedoc": "^0.25.8",
"typescript": "^5.3.3"
},
"engines": {
@@ -1058,22 +1058,22 @@
}
},
"node_modules/@eslint/js": {
- "version": "8.56.0",
- "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.56.0.tgz",
- "integrity": "sha512-gMsVel9D7f2HLkBma9VbtzZRehRogVRfbr++f06nL2vnCGCNlzOD+/MUov/F4p8myyAHspEhVobgjpX64q5m6A==",
+ "version": "8.57.0",
+ "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.57.0.tgz",
+ "integrity": "sha512-Ys+3g2TaW7gADOJzPt83SJtCDhMjndcDMFVQ/Tj9iA1BfJzFKD9mAUXT3OenpuPHbI6P/myECxRJrofUsDx/5g==",
"dev": true,
"engines": {
"node": "^12.22.0 || ^14.17.0 || >=16.0.0"
}
},
"node_modules/@humanwhocodes/config-array": {
- "version": "0.11.13",
- "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.13.tgz",
- "integrity": "sha512-JSBDMiDKSzQVngfRjOdFXgFfklaXI4K9nLF49Auh21lmBWRLIK3+xTErTWD4KU54pb6coM6ESE7Awz/FNU3zgQ==",
+ "version": "0.11.14",
+ "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.14.tgz",
+ "integrity": "sha512-3T8LkOmg45BV5FICb15QQMsyUSWrQ8AygVfC7ZG32zOalnqrilm018ZVCw0eapXux8FtA33q8PSRSstjee3jSg==",
"dev": true,
"dependencies": {
- "@humanwhocodes/object-schema": "^2.0.1",
- "debug": "^4.1.1",
+ "@humanwhocodes/object-schema": "^2.0.2",
+ "debug": "^4.3.1",
"minimatch": "^3.0.5"
},
"engines": {
@@ -1094,9 +1094,9 @@
}
},
"node_modules/@humanwhocodes/object-schema": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-2.0.1.tgz",
- "integrity": "sha512-dvuCeX5fC9dXgJn9t+X5atfmgQAzUOWqS1254Gh0m6i8wKd10ebXkfNKiRK+1GWi/yTvvLDHpoxLr0xxxeslWw==",
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-2.0.2.tgz",
+ "integrity": "sha512-6EwiSjwWYP7pTckG6I5eyFANjPhmPjUX9JRLUSfNPC7FX7zK9gyZAfUEaECL6ALTpGX5AjnBq3C9XmVWPitNpw==",
"dev": true
},
"node_modules/@istanbuljs/load-nyc-config": {
@@ -1449,9 +1449,9 @@
}
},
"node_modules/@qiwi/semantic-release-gh-pages-plugin": {
- "version": "5.2.11",
- "resolved": "https://registry.npmjs.org/@qiwi/semantic-release-gh-pages-plugin/-/semantic-release-gh-pages-plugin-5.2.11.tgz",
- "integrity": "sha512-F35RKLv+edv8sTyLnH+5IJG6ZGBTsewbTetC4sIY0Ajy6ZaASS0CRgZqcA+YoJWHoSHfU0crdW5DUjnNACAUrA==",
+ "version": "5.2.12",
+ "resolved": "https://registry.npmjs.org/@qiwi/semantic-release-gh-pages-plugin/-/semantic-release-gh-pages-plugin-5.2.12.tgz",
+ "integrity": "sha512-noXI64+4MFwXy32g2qO+x8v5pXgVeqaIC9RU23zs5hl3qh0dB+8hVXC1vhxPREvhxQHvx6ha8Qy0XhKOKHnwpQ==",
"dev": true,
"dependencies": {
"@qiwi/substrate": "^2.0.4",
@@ -1464,7 +1464,7 @@
"debug": "^4.3.4",
"execa": "^5.1.1",
"gh-pages": "^6.0.0",
- "git-url-parse": "^13.1.0",
+ "git-url-parse": "^14.0.0",
"lodash": "^4.17.21",
"queuefy": "^1.2.1",
"read-pkg": "^5.2.0",
@@ -1899,9 +1899,9 @@
}
},
"node_modules/@semantic-release/npm": {
- "version": "11.0.2",
- "resolved": "https://registry.npmjs.org/@semantic-release/npm/-/npm-11.0.2.tgz",
- "integrity": "sha512-owtf3RjyPvRE63iUKZ5/xO4uqjRpVQDUB9+nnXj0xwfIeM9pRl+cG+zGDzdftR4m3f2s4Wyf3SexW+kF5DFtWA==",
+ "version": "11.0.3",
+ "resolved": "https://registry.npmjs.org/@semantic-release/npm/-/npm-11.0.3.tgz",
+ "integrity": "sha512-KUsozQGhRBAnoVg4UMZj9ep436VEGwT536/jwSqB7vcEfA6oncCUU7UIYTRdLx7GvTtqn0kBjnkfLVkcnBa2YQ==",
"dev": true,
"dependencies": {
"@semantic-release/error": "^4.0.0",
@@ -1911,7 +1911,7 @@
"lodash-es": "^4.17.21",
"nerf-dart": "^1.0.0",
"normalize-url": "^8.0.0",
- "npm": "^10.0.0",
+ "npm": "^10.5.0",
"rc": "^1.2.8",
"read-pkg": "^9.0.0",
"registry-auth-token": "^5.0.0",
@@ -2220,9 +2220,9 @@
}
},
"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==",
+ "version": "4.6.0",
+ "resolved": "https://registry.npmjs.org/@sindresorhus/is/-/is-4.6.0.tgz",
+ "integrity": "sha512-t09vSN3MdfsyCHoFcTRCH/iUtG7OJ0CsjzB8cjAmKc/va/kIgeDI/TxsigdncE/4be734m0cvIYwNaV4i2XqAw==",
"dev": true,
"engines": {
"node": ">=10"
@@ -2322,9 +2322,9 @@
"dev": true
},
"node_modules/@types/luxon": {
- "version": "3.3.7",
- "resolved": "https://registry.npmjs.org/@types/luxon/-/luxon-3.3.7.tgz",
- "integrity": "sha512-gKc9P2d4g5uYwmy4s/MO/yOVPmvHyvzka1YH6i5dM03UrFofHSmgc0D0ymbDRStFWHusk6cwwF6nhLm/ckBbbQ==",
+ "version": "3.4.2",
+ "resolved": "https://registry.npmjs.org/@types/luxon/-/luxon-3.4.2.tgz",
+ "integrity": "sha512-TifLZlFudklWlMBfhubvgqTXRzLDI5pCbGa4P8a3wPyUQSW+1xQ5eDsreP9DWHX3tjq1ke96uYG/nwundroWcA==",
"dev": true
},
"node_modules/@types/mocha": {
@@ -2367,22 +2367,22 @@
}
},
"node_modules/@types/semver": {
- "version": "7.5.6",
- "resolved": "https://registry.npmjs.org/@types/semver/-/semver-7.5.6.tgz",
- "integrity": "sha512-dn1l8LaMea/IjDoHNd9J52uBbInB796CDffS6VdIxvqYCPSG0V0DzHp76GpaWnlhg88uYyPbXCDIowa86ybd5A==",
+ "version": "7.5.8",
+ "resolved": "https://registry.npmjs.org/@types/semver/-/semver-7.5.8.tgz",
+ "integrity": "sha512-I8EUhyrgfLrcTkzV3TSsGyl1tSuPrEDzr0yd5m90UgNxQkyDXULk3b6MlQqTCpZpNtWe1K0hzclnZkTcLBe2UQ==",
"dev": true
},
"node_modules/@typescript-eslint/eslint-plugin": {
- "version": "6.13.2",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-6.13.2.tgz",
- "integrity": "sha512-3+9OGAWHhk4O1LlcwLBONbdXsAhLjyCFogJY/cWy2lxdVJ2JrcTF2pTGMaLl2AE7U1l31n8Py4a8bx5DLf/0dQ==",
+ "version": "7.1.0",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-7.1.0.tgz",
+ "integrity": "sha512-j6vT/kCulhG5wBmGtstKeiVr1rdXE4nk+DT1k6trYkwlrvW9eOF5ZbgKnd/YR6PcM4uTEXa0h6Fcvf6X7Dxl0w==",
"dev": true,
"dependencies": {
"@eslint-community/regexpp": "^4.5.1",
- "@typescript-eslint/scope-manager": "6.13.2",
- "@typescript-eslint/type-utils": "6.13.2",
- "@typescript-eslint/utils": "6.13.2",
- "@typescript-eslint/visitor-keys": "6.13.2",
+ "@typescript-eslint/scope-manager": "7.1.0",
+ "@typescript-eslint/type-utils": "7.1.0",
+ "@typescript-eslint/utils": "7.1.0",
+ "@typescript-eslint/visitor-keys": "7.1.0",
"debug": "^4.3.4",
"graphemer": "^1.4.0",
"ignore": "^5.2.4",
@@ -2398,8 +2398,8 @@
"url": "https://opencollective.com/typescript-eslint"
},
"peerDependencies": {
- "@typescript-eslint/parser": "^6.0.0 || ^6.0.0-alpha",
- "eslint": "^7.0.0 || ^8.0.0"
+ "@typescript-eslint/parser": "^7.0.0",
+ "eslint": "^8.56.0"
},
"peerDependenciesMeta": {
"typescript": {
@@ -2408,15 +2408,15 @@
}
},
"node_modules/@typescript-eslint/parser": {
- "version": "6.13.2",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-6.13.2.tgz",
- "integrity": "sha512-MUkcC+7Wt/QOGeVlM8aGGJZy1XV5YKjTpq9jK6r6/iLsGXhBVaGP5N0UYvFsu9BFlSpwY9kMretzdBH01rkRXg==",
+ "version": "7.1.0",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-7.1.0.tgz",
+ "integrity": "sha512-V1EknKUubZ1gWFjiOZhDSNToOjs63/9O0puCgGS8aDOgpZY326fzFu15QAUjwaXzRZjf/qdsdBrckYdv9YxB8w==",
"dev": true,
"dependencies": {
- "@typescript-eslint/scope-manager": "6.13.2",
- "@typescript-eslint/types": "6.13.2",
- "@typescript-eslint/typescript-estree": "6.13.2",
- "@typescript-eslint/visitor-keys": "6.13.2",
+ "@typescript-eslint/scope-manager": "7.1.0",
+ "@typescript-eslint/types": "7.1.0",
+ "@typescript-eslint/typescript-estree": "7.1.0",
+ "@typescript-eslint/visitor-keys": "7.1.0",
"debug": "^4.3.4"
},
"engines": {
@@ -2427,7 +2427,7 @@
"url": "https://opencollective.com/typescript-eslint"
},
"peerDependencies": {
- "eslint": "^7.0.0 || ^8.0.0"
+ "eslint": "^8.56.0"
},
"peerDependenciesMeta": {
"typescript": {
@@ -2436,13 +2436,13 @@
}
},
"node_modules/@typescript-eslint/scope-manager": {
- "version": "6.13.2",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-6.13.2.tgz",
- "integrity": "sha512-CXQA0xo7z6x13FeDYCgBkjWzNqzBn8RXaE3QVQVIUm74fWJLkJkaHmHdKStrxQllGh6Q4eUGyNpMe0b1hMkXFA==",
+ "version": "7.1.0",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-7.1.0.tgz",
+ "integrity": "sha512-6TmN4OJiohHfoOdGZ3huuLhpiUgOGTpgXNUPJgeZOZR3DnIpdSgtt83RS35OYNNXxM4TScVlpVKC9jyQSETR1A==",
"dev": true,
"dependencies": {
- "@typescript-eslint/types": "6.13.2",
- "@typescript-eslint/visitor-keys": "6.13.2"
+ "@typescript-eslint/types": "7.1.0",
+ "@typescript-eslint/visitor-keys": "7.1.0"
},
"engines": {
"node": "^16.0.0 || >=18.0.0"
@@ -2453,13 +2453,13 @@
}
},
"node_modules/@typescript-eslint/type-utils": {
- "version": "6.13.2",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-6.13.2.tgz",
- "integrity": "sha512-Qr6ssS1GFongzH2qfnWKkAQmMUyZSyOr0W54nZNU1MDfo+U4Mv3XveeLZzadc/yq8iYhQZHYT+eoXJqnACM1tw==",
+ "version": "7.1.0",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-7.1.0.tgz",
+ "integrity": "sha512-UZIhv8G+5b5skkcuhgvxYWHjk7FW7/JP5lPASMEUoliAPwIH/rxoUSQPia2cuOj9AmDZmwUl1usKm85t5VUMew==",
"dev": true,
"dependencies": {
- "@typescript-eslint/typescript-estree": "6.13.2",
- "@typescript-eslint/utils": "6.13.2",
+ "@typescript-eslint/typescript-estree": "7.1.0",
+ "@typescript-eslint/utils": "7.1.0",
"debug": "^4.3.4",
"ts-api-utils": "^1.0.1"
},
@@ -2471,7 +2471,7 @@
"url": "https://opencollective.com/typescript-eslint"
},
"peerDependencies": {
- "eslint": "^7.0.0 || ^8.0.0"
+ "eslint": "^8.56.0"
},
"peerDependenciesMeta": {
"typescript": {
@@ -2480,9 +2480,9 @@
}
},
"node_modules/@typescript-eslint/types": {
- "version": "6.13.2",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-6.13.2.tgz",
- "integrity": "sha512-7sxbQ+EMRubQc3wTfTsycgYpSujyVbI1xw+3UMRUcrhSy+pN09y/lWzeKDbvhoqcRbHdc+APLs/PWYi/cisLPg==",
+ "version": "7.1.0",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-7.1.0.tgz",
+ "integrity": "sha512-qTWjWieJ1tRJkxgZYXx6WUYtWlBc48YRxgY2JN1aGeVpkhmnopq+SUC8UEVGNXIvWH7XyuTjwALfG6bFEgCkQA==",
"dev": true,
"engines": {
"node": "^16.0.0 || >=18.0.0"
@@ -2493,16 +2493,17 @@
}
},
"node_modules/@typescript-eslint/typescript-estree": {
- "version": "6.13.2",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-6.13.2.tgz",
- "integrity": "sha512-SuD8YLQv6WHnOEtKv8D6HZUzOub855cfPnPMKvdM/Bh1plv1f7Q/0iFUDLKKlxHcEstQnaUU4QZskgQq74t+3w==",
+ "version": "7.1.0",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-7.1.0.tgz",
+ "integrity": "sha512-k7MyrbD6E463CBbSpcOnwa8oXRdHzH1WiVzOipK3L5KSML92ZKgUBrTlehdi7PEIMT8k0bQixHUGXggPAlKnOQ==",
"dev": true,
"dependencies": {
- "@typescript-eslint/types": "6.13.2",
- "@typescript-eslint/visitor-keys": "6.13.2",
+ "@typescript-eslint/types": "7.1.0",
+ "@typescript-eslint/visitor-keys": "7.1.0",
"debug": "^4.3.4",
"globby": "^11.1.0",
"is-glob": "^4.0.3",
+ "minimatch": "9.0.3",
"semver": "^7.5.4",
"ts-api-utils": "^1.0.1"
},
@@ -2519,18 +2520,42 @@
}
}
},
+ "node_modules/@typescript-eslint/typescript-estree/node_modules/brace-expansion": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz",
+ "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==",
+ "dev": true,
+ "dependencies": {
+ "balanced-match": "^1.0.0"
+ }
+ },
+ "node_modules/@typescript-eslint/typescript-estree/node_modules/minimatch": {
+ "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"
+ },
+ "engines": {
+ "node": ">=16 || 14 >=14.17"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/isaacs"
+ }
+ },
"node_modules/@typescript-eslint/utils": {
- "version": "6.13.2",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-6.13.2.tgz",
- "integrity": "sha512-b9Ptq4eAZUym4idijCRzl61oPCwwREcfDI8xGk751Vhzig5fFZR9CyzDz4Sp/nxSLBYxUPyh4QdIDqWykFhNmQ==",
+ "version": "7.1.0",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-7.1.0.tgz",
+ "integrity": "sha512-WUFba6PZC5OCGEmbweGpnNJytJiLG7ZvDBJJoUcX4qZYf1mGZ97mO2Mps6O2efxJcJdRNpqweCistDbZMwIVHw==",
"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.13.2",
- "@typescript-eslint/types": "6.13.2",
- "@typescript-eslint/typescript-estree": "6.13.2",
+ "@typescript-eslint/scope-manager": "7.1.0",
+ "@typescript-eslint/types": "7.1.0",
+ "@typescript-eslint/typescript-estree": "7.1.0",
"semver": "^7.5.4"
},
"engines": {
@@ -2541,16 +2566,16 @@
"url": "https://opencollective.com/typescript-eslint"
},
"peerDependencies": {
- "eslint": "^7.0.0 || ^8.0.0"
+ "eslint": "^8.56.0"
}
},
"node_modules/@typescript-eslint/visitor-keys": {
- "version": "6.13.2",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-6.13.2.tgz",
- "integrity": "sha512-OGznFs0eAQXJsp+xSd6k/O1UbFi/K/L7WjqeRoFE7vadjAF9y0uppXhYNQNEqygjou782maGClOoZwPqF0Drlw==",
+ "version": "7.1.0",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-7.1.0.tgz",
+ "integrity": "sha512-FhUqNWluiGNzlvnDZiXad4mZRhtghdoKW6e98GoEOYSu5cND+E39rG5KwJMUzeENwm1ztYBRqof8wMLP+wNPIA==",
"dev": true,
"dependencies": {
- "@typescript-eslint/types": "6.13.2",
+ "@typescript-eslint/types": "7.1.0",
"eslint-visitor-keys": "^3.4.1"
},
"engines": {
@@ -2690,9 +2715,9 @@
}
},
"node_modules/ansi-sequence-parser": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/ansi-sequence-parser/-/ansi-sequence-parser-1.1.0.tgz",
- "integrity": "sha512-lEm8mt52to2fT8GhciPCGeCXACSz2UwIN4X2e2LJSnZ5uAbn2/dsYdOmUXq0AtWS5cpAupysIneExOgH0Vd2TQ==",
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/ansi-sequence-parser/-/ansi-sequence-parser-1.1.1.tgz",
+ "integrity": "sha512-vJXt3yiaUL4UU546s3rPXlsry/RnM730G1+HkpKE012AN0sx1eOrxSu95oKDIonskeLTijMgqWZ3uDEe3NFvyg==",
"dev": true
},
"node_modules/ansi-styles": {
@@ -2710,12 +2735,6 @@
"url": "https://github.com/chalk/ansi-styles?sponsor=1"
}
},
- "node_modules/ansicolors": {
- "version": "0.3.2",
- "resolved": "https://registry.npmjs.org/ansicolors/-/ansicolors-0.3.2.tgz",
- "integrity": "sha512-QXu7BPrP29VllRxH8GwB7x5iX5qWKAAMLqKQGWTeLWVlNHNOpVMJ91dsxQAIWXpjuW5wqvxu3Jd/nRjrJ+0pqg==",
- "dev": true
- },
"node_modules/any-promise": {
"version": "1.3.0",
"resolved": "https://registry.npmjs.org/any-promise/-/any-promise-1.3.0.tgz",
@@ -2919,19 +2938,18 @@
}
},
"node_modules/c8": {
- "version": "8.0.1",
- "resolved": "https://registry.npmjs.org/c8/-/c8-8.0.1.tgz",
- "integrity": "sha512-EINpopxZNH1mETuI0DzRA4MZpAUH+IFiRhnmFD3vFr3vdrgxqi3VfE3KL0AIL+zDq8rC9bZqwM/VDmmoe04y7w==",
+ "version": "9.1.0",
+ "resolved": "https://registry.npmjs.org/c8/-/c8-9.1.0.tgz",
+ "integrity": "sha512-mBWcT5iqNir1zIkzSPyI3NCR9EZCVI3WUD+AVO17MVWTSFNyUueXE82qTeampNtTr+ilN/5Ua3j24LgbCKjDVg==",
"dev": true,
"dependencies": {
"@bcoe/v8-coverage": "^0.2.3",
"@istanbuljs/schema": "^0.1.3",
"find-up": "^5.0.0",
- "foreground-child": "^2.0.0",
+ "foreground-child": "^3.1.1",
"istanbul-lib-coverage": "^3.2.0",
"istanbul-lib-report": "^3.0.1",
"istanbul-reports": "^3.1.6",
- "rimraf": "^3.0.2",
"test-exclude": "^6.0.0",
"v8-to-istanbul": "^9.0.0",
"yargs": "^17.7.2",
@@ -2941,7 +2959,7 @@
"c8": "bin/c8.js"
},
"engines": {
- "node": ">=12"
+ "node": ">=14.14.0"
}
},
"node_modules/c8/node_modules/cliui": {
@@ -2958,6 +2976,34 @@
"node": ">=12"
}
},
+ "node_modules/c8/node_modules/foreground-child": {
+ "version": "3.1.1",
+ "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-3.1.1.tgz",
+ "integrity": "sha512-TMKDUnIte6bfb5nWv7V/caI169OHgvwjb7V4WkeUvbQQdjr5rWKqHFiKWb/fcOwB+CzBT+qbWjvj+DVwRskpIg==",
+ "dev": true,
+ "dependencies": {
+ "cross-spawn": "^7.0.0",
+ "signal-exit": "^4.0.1"
+ },
+ "engines": {
+ "node": ">=14"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/isaacs"
+ }
+ },
+ "node_modules/c8/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/c8/node_modules/yargs": {
"version": "17.7.2",
"resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz",
@@ -3050,19 +3096,6 @@
"url": "https://opencollective.com/browserslist"
}
},
- "node_modules/cardinal": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/cardinal/-/cardinal-2.1.1.tgz",
- "integrity": "sha512-JSr5eOgoEymtYHBjNWyjrMqet9Am2miJhlfKNdqLp6zoeAh0KN5dRAcxlecj5mAJrmQomgiOBj35xHLrFjqBpw==",
- "dev": true,
- "dependencies": {
- "ansicolors": "~0.3.2",
- "redeyed": "~2.1.0"
- },
- "bin": {
- "cdl": "bin/cdl.js"
- }
- },
"node_modules/caseless": {
"version": "0.12.0",
"resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz",
@@ -3130,6 +3163,27 @@
"node": ">=6"
}
},
+ "node_modules/cli-highlight": {
+ "version": "2.1.11",
+ "resolved": "https://registry.npmjs.org/cli-highlight/-/cli-highlight-2.1.11.tgz",
+ "integrity": "sha512-9KDcoEVwyUXrjcJNvHD0NFc/hiwe/WPVYIleQh2O1N2Zro5gWJZ/K+3DGn8w8P/F6FxOgzyC5bxDyHIgCSPhGg==",
+ "dev": true,
+ "dependencies": {
+ "chalk": "^4.0.0",
+ "highlight.js": "^10.7.1",
+ "mz": "^2.4.0",
+ "parse5": "^5.1.1",
+ "parse5-htmlparser2-tree-adapter": "^6.0.0",
+ "yargs": "^16.0.0"
+ },
+ "bin": {
+ "highlight": "bin/highlight"
+ },
+ "engines": {
+ "node": ">=8.0.0",
+ "npm": ">=5.0.0"
+ }
+ },
"node_modules/cli-table3": {
"version": "0.6.3",
"resolved": "https://registry.npmjs.org/cli-table3/-/cli-table3-0.6.3.tgz",
@@ -3323,18 +3377,29 @@
"dev": true
},
"node_modules/cosmiconfig": {
- "version": "8.0.0",
- "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-8.0.0.tgz",
- "integrity": "sha512-da1EafcpH6b/TD8vDRaWV7xFINlHlF6zKsGwS1TsuVJTZRkquaS5HTMq7uq6h31619QjbsYl21gVDOm32KM1vQ==",
+ "version": "9.0.0",
+ "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-9.0.0.tgz",
+ "integrity": "sha512-itvL5h8RETACmOTFc4UfIyB2RfEHi71Ax6E/PivVxq9NseKbOWpeyHEOIbmAw1rs8Ak0VursQNww7lf7YtUwzg==",
"dev": true,
"dependencies": {
- "import-fresh": "^3.2.1",
+ "env-paths": "^2.2.1",
+ "import-fresh": "^3.3.0",
"js-yaml": "^4.1.0",
- "parse-json": "^5.0.0",
- "path-type": "^4.0.0"
+ "parse-json": "^5.2.0"
},
"engines": {
"node": ">=14"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/d-fischer"
+ },
+ "peerDependencies": {
+ "typescript": ">=4.9.5"
+ },
+ "peerDependenciesMeta": {
+ "typescript": {
+ "optional": true
+ }
}
},
"node_modules/cosmiconfig/node_modules/argparse": {
@@ -3574,9 +3639,9 @@
"dev": true
},
"node_modules/env-ci": {
- "version": "10.0.0",
- "resolved": "https://registry.npmjs.org/env-ci/-/env-ci-10.0.0.tgz",
- "integrity": "sha512-U4xcd/utDYFgMh0yWj07R1H6L5fwhVbmxBCpnL0DbVSDZVnsC82HONw0wxtxNkIAcua3KtbomQvIk5xFZGAQJw==",
+ "version": "11.0.0",
+ "resolved": "https://registry.npmjs.org/env-ci/-/env-ci-11.0.0.tgz",
+ "integrity": "sha512-apikxMgkipkgTvMdRT9MNqWx5VLOci79F4VBd7Op/7OPjjoanjdAvn6fglMCCEf/1bAh8eOiuEVCUs4V3qP3nQ==",
"dev": true,
"dependencies": {
"execa": "^8.0.0",
@@ -3655,9 +3720,9 @@
}
},
"node_modules/env-ci/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==",
+ "version": "5.2.0",
+ "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-5.2.0.tgz",
+ "integrity": "sha512-W4/tgAXFqFA0iL7fk0+uQ3g7wkL8xJmx3XdK0VGb4cHW//eZTtKGvFBBoRKVTpY7n6ze4NL9ly7rgXcHufqXKg==",
"dev": true,
"dependencies": {
"path-key": "^4.0.0"
@@ -3720,6 +3785,15 @@
"url": "https://github.com/sponsors/sindresorhus"
}
},
+ "node_modules/env-paths": {
+ "version": "2.2.1",
+ "resolved": "https://registry.npmjs.org/env-paths/-/env-paths-2.2.1.tgz",
+ "integrity": "sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A==",
+ "dev": true,
+ "engines": {
+ "node": ">=6"
+ }
+ },
"node_modules/error-ex": {
"version": "1.3.2",
"resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz",
@@ -3800,16 +3874,16 @@
}
},
"node_modules/eslint": {
- "version": "8.56.0",
- "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.56.0.tgz",
- "integrity": "sha512-Go19xM6T9puCOWntie1/P997aXxFsOi37JIHRWI514Hc6ZnaHGKY9xFhrU65RT6CcBEzZoGG1e6Nq+DT04ZtZQ==",
+ "version": "8.57.0",
+ "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.57.0.tgz",
+ "integrity": "sha512-dZ6+mexnaTIbSBZWgou51U6OmzIhYM2VcNdtiTtI7qPNZm35Akpr0f6vtw3w1Kmn5PYo+tZVfh13WrhpS6oLqQ==",
"dev": true,
"dependencies": {
"@eslint-community/eslint-utils": "^4.2.0",
"@eslint-community/regexpp": "^4.6.1",
"@eslint/eslintrc": "^2.1.4",
- "@eslint/js": "8.56.0",
- "@humanwhocodes/config-array": "^0.11.13",
+ "@eslint/js": "8.57.0",
+ "@humanwhocodes/config-array": "^0.11.14",
"@humanwhocodes/module-importer": "^1.0.1",
"@nodelib/fs.walk": "^1.2.8",
"@ungap/structured-clone": "^1.2.0",
@@ -3855,10 +3929,13 @@
}
},
"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==",
+ "version": "0.4.1",
+ "resolved": "https://registry.npmjs.org/eslint-compat-utils/-/eslint-compat-utils-0.4.1.tgz",
+ "integrity": "sha512-5N7ZaJG5pZxUeNNJfUchurLVrunD1xJvyg5kYOIVF8kg1f3ajTikmAu/5fZ9w100omNPOoMjngRszh/Q/uFGMg==",
"dev": true,
+ "dependencies": {
+ "semver": "^7.5.4"
+ },
"engines": {
"node": ">=12"
},
@@ -3867,17 +3944,18 @@
}
},
"node_modules/eslint-plugin-jsonc": {
- "version": "2.11.2",
- "resolved": "https://registry.npmjs.org/eslint-plugin-jsonc/-/eslint-plugin-jsonc-2.11.2.tgz",
- "integrity": "sha512-F6A0MZhIGRBPOswzzn4tJFXXkPLiLwJaMlQwz/Qj1qx+bV5MCn79vBeJh2ynMmtqqHloi54KDCnsT/KWrcCcnQ==",
+ "version": "2.13.0",
+ "resolved": "https://registry.npmjs.org/eslint-plugin-jsonc/-/eslint-plugin-jsonc-2.13.0.tgz",
+ "integrity": "sha512-2wWdJfpO/UbZzPDABuUVvlUQjfMJa2p2iQfYt/oWxOMpXCcjuiMUSaA02gtY/Dbu82vpaSqc+O7Xq6ECHwtIxA==",
"dev": true,
"dependencies": {
"@eslint-community/eslint-utils": "^4.2.0",
- "eslint-compat-utils": "^0.1.2",
+ "eslint-compat-utils": "^0.4.0",
"espree": "^9.6.1",
"graphemer": "^1.4.0",
"jsonc-eslint-parser": "^2.0.4",
- "natural-compare": "^1.4.0"
+ "natural-compare": "^1.4.0",
+ "synckit": "^0.6.0"
},
"engines": {
"node": "^12.22.0 || ^14.17.0 || >=16.0.0"
@@ -4524,9 +4602,9 @@
}
},
"node_modules/git-url-parse": {
- "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==",
+ "version": "14.0.0",
+ "resolved": "https://registry.npmjs.org/git-url-parse/-/git-url-parse-14.0.0.tgz",
+ "integrity": "sha512-NnLweV+2A4nCvn4U/m2AoYu0pPKlsmhK9cknG7IMwsjFY1S2jxM+mAhsDxyxfCIGfGaD+dozsyX4b6vkYc83yQ==",
"dev": true,
"dependencies": {
"git-up": "^7.0.0"
@@ -4699,6 +4777,15 @@
"he": "bin/he"
}
},
+ "node_modules/highlight.js": {
+ "version": "10.7.3",
+ "resolved": "https://registry.npmjs.org/highlight.js/-/highlight.js-10.7.3.tgz",
+ "integrity": "sha512-tzcUFauisWKNHaRkN4Wjl/ZA07gENAjFl3J/c480dprkGTg5EQstgaNFqBfUqCq54kZRIEcreTsAgF/m2quD7A==",
+ "dev": true,
+ "engines": {
+ "node": "*"
+ }
+ },
"node_modules/hook-std": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/hook-std/-/hook-std-3.0.0.tgz",
@@ -5768,23 +5855,23 @@
}
},
"node_modules/marked-terminal": {
- "version": "6.0.0",
- "resolved": "https://registry.npmjs.org/marked-terminal/-/marked-terminal-6.0.0.tgz",
- "integrity": "sha512-6rruICvqRfA4N+Mvdc0UyDbLA0A0nI5omtARIlin3P2F+aNc3EbW91Rd9HTuD0v9qWyHmNIu8Bt40gAnPfldsg==",
+ "version": "7.0.0",
+ "resolved": "https://registry.npmjs.org/marked-terminal/-/marked-terminal-7.0.0.tgz",
+ "integrity": "sha512-sNEx8nn9Ktcm6pL0TnRz8tnXq/mSS0Q1FRSwJOAqw4lAB4l49UeDf85Gm1n9RPFm5qurCPjwi1StAQT2XExhZw==",
"dev": true,
"dependencies": {
"ansi-escapes": "^6.2.0",
- "cardinal": "^2.1.1",
"chalk": "^5.3.0",
+ "cli-highlight": "^2.1.11",
"cli-table3": "^0.6.3",
- "node-emoji": "^2.1.0",
+ "node-emoji": "^2.1.3",
"supports-hyperlinks": "^3.0.0"
},
"engines": {
"node": ">=16.0.0"
},
"peerDependencies": {
- "marked": ">=1 <10"
+ "marked": ">=1 <13"
}
},
"node_modules/marked-terminal/node_modules/chalk": {
@@ -5912,9 +5999,9 @@
}
},
"node_modules/mocha": {
- "version": "10.2.0",
- "resolved": "https://registry.npmjs.org/mocha/-/mocha-10.2.0.tgz",
- "integrity": "sha512-IDY7fl/BecMwFHzoqF2sg/SHHANeBoMMXFlS9r0OXKDssYE1M5O43wUY/9BVPeIvfH2zmEbBfseqN9gBQZzXkg==",
+ "version": "10.3.0",
+ "resolved": "https://registry.npmjs.org/mocha/-/mocha-10.3.0.tgz",
+ "integrity": "sha512-uF2XJs+7xSLsrmIvn37i/wnc91nw7XjOQB8ccyx5aEgdnohr7n+rEiZP23WkCYHjilR6+EboEnbq/ZQDz4LSbg==",
"dev": true,
"dependencies": {
"ansi-colors": "4.1.1",
@@ -5924,13 +6011,12 @@
"diff": "5.0.0",
"escape-string-regexp": "4.0.0",
"find-up": "5.0.0",
- "glob": "7.2.0",
+ "glob": "8.1.0",
"he": "1.2.0",
"js-yaml": "4.1.0",
"log-symbols": "4.1.0",
"minimatch": "5.0.1",
"ms": "2.1.3",
- "nanoid": "3.3.3",
"serialize-javascript": "6.0.0",
"strip-json-comments": "3.1.1",
"supports-color": "8.1.1",
@@ -5945,10 +6031,6 @@
},
"engines": {
"node": ">= 14.0.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/mochajs"
}
},
"node_modules/mocha/node_modules/argparse": {
@@ -5966,6 +6048,25 @@
"balanced-match": "^1.0.0"
}
},
+ "node_modules/mocha/node_modules/glob": {
+ "version": "8.1.0",
+ "resolved": "https://registry.npmjs.org/glob/-/glob-8.1.0.tgz",
+ "integrity": "sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ==",
+ "dev": true,
+ "dependencies": {
+ "fs.realpath": "^1.0.0",
+ "inflight": "^1.0.4",
+ "inherits": "2",
+ "minimatch": "^5.0.1",
+ "once": "^1.3.0"
+ },
+ "engines": {
+ "node": ">=12"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/isaacs"
+ }
+ },
"node_modules/mocha/node_modules/js-yaml": {
"version": "4.1.0",
"resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz",
@@ -6115,18 +6216,18 @@
}
},
"node_modules/moment": {
- "version": "2.29.4",
- "resolved": "https://registry.npmjs.org/moment/-/moment-2.29.4.tgz",
- "integrity": "sha512-5LC9SOxjSc2HF6vO2CyuTDNivEdoz2IvyJJGj6X8DJ0eFyfszE0QiEd+iXmBvUP3WHxSjFH/vIsA0EN00cgr8w==",
+ "version": "2.30.1",
+ "resolved": "https://registry.npmjs.org/moment/-/moment-2.30.1.tgz",
+ "integrity": "sha512-uEmtNhbDOrWPFS+hdjFCBfy9f2YoyzRpwcl+DqpC6taX21FzsTLQVbMV/W7PzNSX6x/bhC1zA3c2UQ5NzH6how==",
"dev": true,
"engines": {
"node": "*"
}
},
"node_modules/moment-timezone": {
- "version": "0.5.43",
- "resolved": "https://registry.npmjs.org/moment-timezone/-/moment-timezone-0.5.43.tgz",
- "integrity": "sha512-72j3aNyuIsDxdF1i7CEgV2FfxM1r6aaqJyLB2vwb33mXYyoyLly+F1zbWqhA3/bVIoJ4szlUoMbUnVdid32NUQ==",
+ "version": "0.5.45",
+ "resolved": "https://registry.npmjs.org/moment-timezone/-/moment-timezone-0.5.45.tgz",
+ "integrity": "sha512-HIWmqA86KcmCAhnMAN0wuDOARV/525R2+lOLotuGFzn4HO+FH+/645z2wx0Dt3iDv6/p61SIvKnDstISainhLQ==",
"dev": true,
"dependencies": {
"moment": "^2.29.4"
@@ -6152,18 +6253,6 @@
"thenify-all": "^1.0.0"
}
},
- "node_modules/nanoid": {
- "version": "3.3.3",
- "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.3.tgz",
- "integrity": "sha512-p1sjXuopFs0xg+fPASzQ28agW1oHD7xDsd9Xkf3T15H3c/cifrFHVwrh74PdoklAPi+i7MdRsE47vm2r6JoB+w==",
- "dev": true,
- "bin": {
- "nanoid": "bin/nanoid.cjs"
- },
- "engines": {
- "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1"
- }
- },
"node_modules/natural-compare": {
"version": "1.4.0",
"resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz",
@@ -6183,15 +6272,18 @@
"dev": true
},
"node_modules/node-emoji": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/node-emoji/-/node-emoji-2.1.0.tgz",
- "integrity": "sha512-tcsBm9C6FmPN5Wo7OjFi9lgMyJjvkAeirmjR/ax8Ttfqy4N8PoFic26uqFTIgayHPNI5FH4ltUvfh9kHzwcK9A==",
+ "version": "2.1.3",
+ "resolved": "https://registry.npmjs.org/node-emoji/-/node-emoji-2.1.3.tgz",
+ "integrity": "sha512-E2WEOVsgs7O16zsURJ/eH8BqhF029wGpEOnv7Urwdo2wmQanOACwJQh0devF9D9RhoZru0+9JXIS0dBXIAz+lA==",
"dev": true,
"dependencies": {
- "@sindresorhus/is": "^3.1.2",
+ "@sindresorhus/is": "^4.6.0",
"char-regex": "^1.0.2",
"emojilib": "^2.4.0",
"skin-tone": "^2.0.0"
+ },
+ "engines": {
+ "node": ">=18"
}
},
"node_modules/node-fetch": {
@@ -6292,9 +6384,9 @@
}
},
"node_modules/npm": {
- "version": "10.2.0",
- "resolved": "https://registry.npmjs.org/npm/-/npm-10.2.0.tgz",
- "integrity": "sha512-Auyq6d4cfg/SY4URjZE2aePLOPzK4lUD+qyMxY/7HbxAvCnOCKtMlyLPcbLSOq9lhEGBZN800S1o+UmfjA5dTg==",
+ "version": "10.5.0",
+ "resolved": "https://registry.npmjs.org/npm/-/npm-10.5.0.tgz",
+ "integrity": "sha512-Ejxwvfh9YnWVU2yA5FzoYLTW52vxHCz+MHrOFg9Cc8IFgF/6f5AGPAvb5WTay5DIUP1NIfN3VBZ0cLlGO0Ys+A==",
"bundleDependencies": [
"@isaacs/string-locale-compare",
"@npmcli/arborist",
@@ -6358,7 +6450,6 @@
"semver",
"spdx-expression-parse",
"ssri",
- "strip-ansi",
"supports-color",
"tar",
"text-table",
@@ -6371,19 +6462,19 @@
"dev": true,
"dependencies": {
"@isaacs/string-locale-compare": "^1.1.0",
- "@npmcli/arborist": "^7.2.0",
- "@npmcli/config": "^8.0.0",
+ "@npmcli/arborist": "^7.2.1",
+ "@npmcli/config": "^8.0.2",
"@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",
+ "@npmcli/promise-spawn": "^7.0.1",
+ "@npmcli/run-script": "^7.0.4",
+ "@sigstore/tuf": "^2.3.1",
"abbrev": "^2.0.0",
"archy": "~1.0.0",
- "cacache": "^18.0.0",
+ "cacache": "^18.0.2",
"chalk": "^5.3.0",
- "ci-info": "^3.8.0",
+ "ci-info": "^4.0.0",
"cli-columns": "^4.0.0",
"cli-table3": "^0.6.3",
"columnify": "^1.6.0",
@@ -6394,45 +6485,44 @@
"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",
+ "is-cidr": "^5.0.3",
+ "json-parse-even-better-errors": "^3.0.1",
"libnpmaccess": "^8.0.1",
- "libnpmdiff": "^6.0.2",
- "libnpmexec": "^7.0.2",
- "libnpmfund": "^5.0.0",
+ "libnpmdiff": "^6.0.3",
+ "libnpmexec": "^7.0.4",
+ "libnpmfund": "^5.0.1",
"libnpmhook": "^10.0.0",
"libnpmorg": "^6.0.1",
- "libnpmpack": "^6.0.2",
- "libnpmpublish": "^9.0.1",
+ "libnpmpack": "^6.0.3",
+ "libnpmpublish": "^9.0.2",
"libnpmsearch": "^7.0.0",
"libnpmteam": "^6.0.0",
- "libnpmversion": "^5.0.0",
+ "libnpmversion": "^5.0.1",
"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.4.0",
+ "node-gyp": "^10.0.1",
"nopt": "^7.2.0",
"normalize-package-data": "^6.0.0",
"npm-audit-report": "^5.0.0",
- "npm-install-checks": "^6.2.0",
+ "npm-install-checks": "^6.3.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-registry-fetch": "^16.1.0",
"npm-user-validate": "^2.0.0",
"npmlog": "^7.0.1",
"p-map": "^4.0.0",
- "pacote": "^17.0.4",
+ "pacote": "^17.0.6",
"parse-conflict-json": "^3.0.1",
"proc-log": "^3.0.0",
"qrcode-terminal": "^0.12.0",
"read": "^2.1.0",
- "semver": "^7.5.4",
+ "semver": "^7.6.0",
"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",
@@ -6552,7 +6642,7 @@
"license": "ISC"
},
"node_modules/npm/node_modules/@npmcli/agent": {
- "version": "2.2.0",
+ "version": "2.2.1",
"dev": true,
"inBundle": true,
"license": "ISC",
@@ -6567,60 +6657,8 @@
"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": "7.2.0",
+ "version": "7.4.0",
"dev": true,
"inBundle": true,
"license": "ISC",
@@ -6633,8 +6671,8 @@
"@npmcli/name-from-folder": "^2.0.0",
"@npmcli/node-gyp": "^3.0.0",
"@npmcli/package-json": "^5.0.0",
- "@npmcli/query": "^3.0.1",
- "@npmcli/run-script": "^7.0.1",
+ "@npmcli/query": "^3.1.0",
+ "@npmcli/run-script": "^7.0.2",
"bin-links": "^4.0.1",
"cacache": "^18.0.0",
"common-ancestor-path": "^1.0.1",
@@ -6652,7 +6690,7 @@
"parse-conflict-json": "^3.0.0",
"proc-log": "^3.0.0",
"promise-all-reject-late": "^1.0.0",
- "promise-call-limit": "^1.0.2",
+ "promise-call-limit": "^3.0.1",
"read-package-json-fast": "^3.0.2",
"semver": "^7.3.7",
"ssri": "^10.0.5",
@@ -6667,13 +6705,13 @@
}
},
"node_modules/npm/node_modules/@npmcli/config": {
- "version": "8.0.0",
+ "version": "8.2.0",
"dev": true,
"inBundle": true,
"license": "ISC",
"dependencies": {
"@npmcli/map-workspaces": "^3.0.2",
- "ci-info": "^3.8.0",
+ "ci-info": "^4.0.0",
"ini": "^4.1.0",
"nopt": "^7.0.0",
"proc-log": "^3.0.0",
@@ -6697,6 +6735,21 @@
"node": "^14.17.0 || ^16.13.0 || >=18.0.0"
}
},
+ "node_modules/npm/node_modules/@npmcli/disparity-colors/node_modules/ansi-styles": {
+ "version": "4.3.0",
+ "dev": true,
+ "inBundle": true,
+ "license": "MIT",
+ "dependencies": {
+ "color-convert": "^2.0.1"
+ },
+ "engines": {
+ "node": ">=8"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/ansi-styles?sponsor=1"
+ }
+ },
"node_modules/npm/node_modules/@npmcli/fs": {
"version": "3.1.0",
"dev": true,
@@ -6710,7 +6763,7 @@
}
},
"node_modules/npm/node_modules/@npmcli/git": {
- "version": "5.0.3",
+ "version": "5.0.4",
"dev": true,
"inBundle": true,
"license": "ISC",
@@ -6811,7 +6864,7 @@
}
},
"node_modules/npm/node_modules/@npmcli/promise-spawn": {
- "version": "7.0.0",
+ "version": "7.0.1",
"dev": true,
"inBundle": true,
"license": "ISC",
@@ -6823,7 +6876,7 @@
}
},
"node_modules/npm/node_modules/@npmcli/query": {
- "version": "3.0.1",
+ "version": "3.1.0",
"dev": true,
"inBundle": true,
"license": "ISC",
@@ -6835,15 +6888,15 @@
}
},
"node_modules/npm/node_modules/@npmcli/run-script": {
- "version": "7.0.1",
+ "version": "7.0.4",
"dev": true,
"inBundle": true,
"license": "ISC",
"dependencies": {
"@npmcli/node-gyp": "^3.0.0",
+ "@npmcli/package-json": "^5.0.0",
"@npmcli/promise-spawn": "^7.0.0",
- "node-gyp": "^9.0.0",
- "read-package-json-fast": "^3.0.0",
+ "node-gyp": "^10.0.0",
"which": "^4.0.0"
},
"engines": {
@@ -6861,19 +6914,28 @@
}
},
"node_modules/npm/node_modules/@sigstore/bundle": {
- "version": "2.1.0",
+ "version": "2.2.0",
"dev": true,
"inBundle": true,
"license": "Apache-2.0",
"dependencies": {
- "@sigstore/protobuf-specs": "^0.2.1"
+ "@sigstore/protobuf-specs": "^0.3.0"
},
"engines": {
"node": "^16.14.0 || >=18.0.0"
}
},
+ "node_modules/npm/node_modules/@sigstore/core": {
+ "version": "1.0.0",
+ "dev": true,
+ "inBundle": true,
+ "license": "Apache-2.0",
+ "engines": {
+ "node": "^16.14.0 || >=18.0.0"
+ }
+ },
"node_modules/npm/node_modules/@sigstore/protobuf-specs": {
- "version": "0.2.1",
+ "version": "0.3.0",
"dev": true,
"inBundle": true,
"license": "Apache-2.0",
@@ -6882,13 +6944,14 @@
}
},
"node_modules/npm/node_modules/@sigstore/sign": {
- "version": "2.1.0",
+ "version": "2.2.3",
"dev": true,
"inBundle": true,
"license": "Apache-2.0",
"dependencies": {
- "@sigstore/bundle": "^2.1.0",
- "@sigstore/protobuf-specs": "^0.2.1",
+ "@sigstore/bundle": "^2.2.0",
+ "@sigstore/core": "^1.0.0",
+ "@sigstore/protobuf-specs": "^0.3.0",
"make-fetch-happen": "^13.0.0"
},
"engines": {
@@ -6896,25 +6959,30 @@
}
},
"node_modules/npm/node_modules/@sigstore/tuf": {
- "version": "2.1.0",
+ "version": "2.3.1",
"dev": true,
"inBundle": true,
"license": "Apache-2.0",
"dependencies": {
- "@sigstore/protobuf-specs": "^0.2.1",
- "tuf-js": "^2.1.0"
+ "@sigstore/protobuf-specs": "^0.3.0",
+ "tuf-js": "^2.2.0"
},
"engines": {
"node": "^16.14.0 || >=18.0.0"
}
},
- "node_modules/npm/node_modules/@tootallnate/once": {
- "version": "2.0.0",
+ "node_modules/npm/node_modules/@sigstore/verify": {
+ "version": "1.1.0",
"dev": true,
"inBundle": true,
- "license": "MIT",
+ "license": "Apache-2.0",
+ "dependencies": {
+ "@sigstore/bundle": "^2.2.0",
+ "@sigstore/core": "^1.0.0",
+ "@sigstore/protobuf-specs": "^0.3.0"
+ },
"engines": {
- "node": ">= 10"
+ "node": "^16.14.0 || >=18.0.0"
}
},
"node_modules/npm/node_modules/@tufjs/canonical-json": {
@@ -6948,40 +7016,16 @@
"node": "^14.17.0 || ^16.13.0 || >=18.0.0"
}
},
- "node_modules/npm/node_modules/abort-controller": {
- "version": "3.0.0",
- "dev": true,
- "inBundle": true,
- "license": "MIT",
- "dependencies": {
- "event-target-shim": "^5.0.0"
- },
- "engines": {
- "node": ">=6.5"
- }
- },
"node_modules/npm/node_modules/agent-base": {
- "version": "6.0.2",
- "dev": true,
- "inBundle": true,
- "license": "MIT",
- "dependencies": {
- "debug": "4"
- },
- "engines": {
- "node": ">= 6.0.0"
- }
- },
- "node_modules/npm/node_modules/agentkeepalive": {
- "version": "4.5.0",
+ "version": "7.1.0",
"dev": true,
"inBundle": true,
"license": "MIT",
"dependencies": {
- "humanize-ms": "^1.2.1"
+ "debug": "^4.3.4"
},
"engines": {
- "node": ">= 8.0.0"
+ "node": ">= 14"
}
},
"node_modules/npm/node_modules/aggregate-error": {
@@ -7007,15 +7051,12 @@
}
},
"node_modules/npm/node_modules/ansi-styles": {
- "version": "4.3.0",
+ "version": "6.2.1",
"dev": true,
"inBundle": true,
"license": "MIT",
- "dependencies": {
- "color-convert": "^2.0.1"
- },
"engines": {
- "node": ">=8"
+ "node": ">=12"
},
"funding": {
"url": "https://github.com/chalk/ansi-styles?sponsor=1"
@@ -7034,14 +7075,10 @@
"license": "MIT"
},
"node_modules/npm/node_modules/are-we-there-yet": {
- "version": "4.0.0",
+ "version": "4.0.2",
"dev": true,
"inBundle": true,
"license": "ISC",
- "dependencies": {
- "delegates": "^1.0.0",
- "readable-stream": "^4.1.0"
- },
"engines": {
"node": "^14.17.0 || ^16.13.0 || >=18.0.0"
}
@@ -7052,28 +7089,8 @@
"inBundle": true,
"license": "MIT"
},
- "node_modules/npm/node_modules/base64-js": {
- "version": "1.5.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"
- },
"node_modules/npm/node_modules/bin-links": {
- "version": "4.0.2",
+ "version": "4.0.3",
"dev": true,
"inBundle": true,
"license": "ISC",
@@ -7105,30 +7122,6 @@
"balanced-match": "^1.0.0"
}
},
- "node_modules/npm/node_modules/buffer": {
- "version": "6.0.3",
- "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",
- "dependencies": {
- "base64-js": "^1.3.1",
- "ieee754": "^1.2.1"
- }
- },
"node_modules/npm/node_modules/builtins": {
"version": "5.0.1",
"dev": true,
@@ -7139,7 +7132,7 @@
}
},
"node_modules/npm/node_modules/cacache": {
- "version": "18.0.0",
+ "version": "18.0.2",
"dev": true,
"inBundle": true,
"license": "ISC",
@@ -7149,7 +7142,7 @@
"glob": "^10.2.2",
"lru-cache": "^10.0.1",
"minipass": "^7.0.3",
- "minipass-collect": "^1.0.2",
+ "minipass-collect": "^2.0.1",
"minipass-flush": "^1.0.5",
"minipass-pipeline": "^1.2.4",
"p-map": "^4.0.0",
@@ -7183,7 +7176,7 @@
}
},
"node_modules/npm/node_modules/ci-info": {
- "version": "3.8.0",
+ "version": "4.0.0",
"dev": true,
"funding": [
{
@@ -7198,15 +7191,15 @@
}
},
"node_modules/npm/node_modules/cidr-regex": {
- "version": "3.1.1",
+ "version": "4.0.3",
"dev": true,
"inBundle": true,
"license": "BSD-2-Clause",
"dependencies": {
- "ip-regex": "^4.1.0"
+ "ip-regex": "^5.0.0"
},
"engines": {
- "node": ">=10"
+ "node": ">=14"
}
},
"node_modules/npm/node_modules/clean-stack": {
@@ -7256,7 +7249,7 @@
}
},
"node_modules/npm/node_modules/cmd-shim": {
- "version": "6.0.1",
+ "version": "6.0.2",
"dev": true,
"inBundle": true,
"license": "ISC",
@@ -7310,12 +7303,6 @@
"inBundle": true,
"license": "ISC"
},
- "node_modules/npm/node_modules/concat-map": {
- "version": "0.0.1",
- "dev": true,
- "inBundle": true,
- "license": "MIT"
- },
"node_modules/npm/node_modules/console-control-strings": {
"version": "1.1.0",
"dev": true,
@@ -7398,14 +7385,8 @@
"url": "https://github.com/sponsors/sindresorhus"
}
},
- "node_modules/npm/node_modules/delegates": {
- "version": "1.0.0",
- "dev": true,
- "inBundle": true,
- "license": "MIT"
- },
"node_modules/npm/node_modules/diff": {
- "version": "5.1.0",
+ "version": "5.2.0",
"dev": true,
"inBundle": true,
"license": "BSD-3-Clause",
@@ -7450,24 +7431,6 @@
"inBundle": true,
"license": "MIT"
},
- "node_modules/npm/node_modules/event-target-shim": {
- "version": "5.0.1",
- "dev": true,
- "inBundle": true,
- "license": "MIT",
- "engines": {
- "node": ">=6"
- }
- },
- "node_modules/npm/node_modules/events": {
- "version": "3.3.0",
- "dev": true,
- "inBundle": true,
- "license": "MIT",
- "engines": {
- "node": ">=0.8.x"
- }
- },
"node_modules/npm/node_modules/exponential-backoff": {
"version": "3.1.1",
"dev": true,
@@ -7511,17 +7474,14 @@
"node": "^14.17.0 || ^16.13.0 || >=18.0.0"
}
},
- "node_modules/npm/node_modules/fs.realpath": {
- "version": "1.0.0",
- "dev": true,
- "inBundle": true,
- "license": "ISC"
- },
"node_modules/npm/node_modules/function-bind": {
- "version": "1.1.1",
+ "version": "1.1.2",
"dev": true,
"inBundle": true,
- "license": "MIT"
+ "license": "MIT",
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
},
"node_modules/npm/node_modules/gauge": {
"version": "5.0.1",
@@ -7570,24 +7530,24 @@
"inBundle": true,
"license": "ISC"
},
- "node_modules/npm/node_modules/has": {
- "version": "1.0.3",
+ "node_modules/npm/node_modules/has-unicode": {
+ "version": "2.0.1",
+ "dev": true,
+ "inBundle": true,
+ "license": "ISC"
+ },
+ "node_modules/npm/node_modules/hasown": {
+ "version": "2.0.1",
"dev": true,
"inBundle": true,
"license": "MIT",
"dependencies": {
- "function-bind": "^1.1.1"
+ "function-bind": "^1.1.2"
},
"engines": {
- "node": ">= 0.4.0"
+ "node": ">= 0.4"
}
},
- "node_modules/npm/node_modules/has-unicode": {
- "version": "2.0.1",
- "dev": true,
- "inBundle": true,
- "license": "ISC"
- },
"node_modules/npm/node_modules/hosted-git-info": {
"version": "7.0.1",
"dev": true,
@@ -7607,39 +7567,29 @@
"license": "BSD-2-Clause"
},
"node_modules/npm/node_modules/http-proxy-agent": {
- "version": "5.0.0",
+ "version": "7.0.2",
"dev": true,
"inBundle": true,
"license": "MIT",
"dependencies": {
- "@tootallnate/once": "2",
- "agent-base": "6",
- "debug": "4"
+ "agent-base": "^7.1.0",
+ "debug": "^4.3.4"
},
"engines": {
- "node": ">= 6"
+ "node": ">= 14"
}
},
"node_modules/npm/node_modules/https-proxy-agent": {
- "version": "5.0.1",
+ "version": "7.0.4",
"dev": true,
"inBundle": true,
"license": "MIT",
"dependencies": {
- "agent-base": "6",
+ "agent-base": "^7.0.2",
"debug": "4"
},
"engines": {
- "node": ">= 6"
- }
- },
- "node_modules/npm/node_modules/humanize-ms": {
- "version": "1.2.1",
- "dev": true,
- "inBundle": true,
- "license": "MIT",
- "dependencies": {
- "ms": "^2.0.0"
+ "node": ">= 14"
}
},
"node_modules/npm/node_modules/iconv-lite": {
@@ -7655,28 +7605,8 @@
"node": ">=0.10.0"
}
},
- "node_modules/npm/node_modules/ieee754": {
- "version": "1.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": "BSD-3-Clause"
- },
"node_modules/npm/node_modules/ignore-walk": {
- "version": "6.0.3",
+ "version": "6.0.4",
"dev": true,
"inBundle": true,
"license": "ISC",
@@ -7705,22 +7635,6 @@
"node": ">=8"
}
},
- "node_modules/npm/node_modules/inflight": {
- "version": "1.0.6",
- "dev": true,
- "inBundle": true,
- "license": "ISC",
- "dependencies": {
- "once": "^1.3.0",
- "wrappy": "1"
- }
- },
- "node_modules/npm/node_modules/inherits": {
- "version": "2.0.4",
- "dev": true,
- "inBundle": true,
- "license": "ISC"
- },
"node_modules/npm/node_modules/ini": {
"version": "4.1.1",
"dev": true,
@@ -7748,40 +7662,56 @@
"node": "^16.14.0 || >=18.0.0"
}
},
- "node_modules/npm/node_modules/ip": {
- "version": "2.0.0",
+ "node_modules/npm/node_modules/ip-address": {
+ "version": "9.0.5",
"dev": true,
"inBundle": true,
- "license": "MIT"
+ "license": "MIT",
+ "dependencies": {
+ "jsbn": "1.1.0",
+ "sprintf-js": "^1.1.3"
+ },
+ "engines": {
+ "node": ">= 12"
+ }
+ },
+ "node_modules/npm/node_modules/ip-address/node_modules/sprintf-js": {
+ "version": "1.1.3",
+ "dev": true,
+ "inBundle": true,
+ "license": "BSD-3-Clause"
},
"node_modules/npm/node_modules/ip-regex": {
- "version": "4.3.0",
+ "version": "5.0.0",
"dev": true,
"inBundle": true,
"license": "MIT",
"engines": {
- "node": ">=8"
+ "node": "^12.20.0 || ^14.13.1 || >=16.0.0"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
}
},
"node_modules/npm/node_modules/is-cidr": {
- "version": "4.0.2",
+ "version": "5.0.3",
"dev": true,
"inBundle": true,
"license": "BSD-2-Clause",
"dependencies": {
- "cidr-regex": "^3.1.1"
+ "cidr-regex": "4.0.3"
},
"engines": {
- "node": ">=10"
+ "node": ">=14"
}
},
"node_modules/npm/node_modules/is-core-module": {
- "version": "2.12.1",
+ "version": "2.13.1",
"dev": true,
"inBundle": true,
"license": "MIT",
"dependencies": {
- "has": "^1.0.3"
+ "hasown": "^2.0.0"
},
"funding": {
"url": "https://github.com/sponsors/ljharb"
@@ -7826,8 +7756,14 @@
"@pkgjs/parseargs": "^0.11.0"
}
},
+ "node_modules/npm/node_modules/jsbn": {
+ "version": "1.1.0",
+ "dev": true,
+ "inBundle": true,
+ "license": "MIT"
+ },
"node_modules/npm/node_modules/json-parse-even-better-errors": {
- "version": "3.0.0",
+ "version": "3.0.1",
"dev": true,
"inBundle": true,
"license": "MIT",
@@ -7866,7 +7802,7 @@
"license": "MIT"
},
"node_modules/npm/node_modules/libnpmaccess": {
- "version": "8.0.1",
+ "version": "8.0.2",
"dev": true,
"inBundle": true,
"license": "ISC",
@@ -7879,12 +7815,12 @@
}
},
"node_modules/npm/node_modules/libnpmdiff": {
- "version": "6.0.2",
+ "version": "6.0.7",
"dev": true,
"inBundle": true,
"license": "ISC",
"dependencies": {
- "@npmcli/arborist": "^7.2.0",
+ "@npmcli/arborist": "^7.2.1",
"@npmcli/disparity-colors": "^3.0.0",
"@npmcli/installed-package-contents": "^2.0.2",
"binary-extensions": "^2.2.0",
@@ -7899,14 +7835,14 @@
}
},
"node_modules/npm/node_modules/libnpmexec": {
- "version": "7.0.2",
+ "version": "7.0.8",
"dev": true,
"inBundle": true,
"license": "ISC",
"dependencies": {
- "@npmcli/arborist": "^7.2.0",
- "@npmcli/run-script": "^7.0.1",
- "ci-info": "^3.7.1",
+ "@npmcli/arborist": "^7.2.1",
+ "@npmcli/run-script": "^7.0.2",
+ "ci-info": "^4.0.0",
"npm-package-arg": "^11.0.1",
"npmlog": "^7.0.1",
"pacote": "^17.0.4",
@@ -7921,19 +7857,19 @@
}
},
"node_modules/npm/node_modules/libnpmfund": {
- "version": "5.0.0",
+ "version": "5.0.5",
"dev": true,
"inBundle": true,
"license": "ISC",
"dependencies": {
- "@npmcli/arborist": "^7.2.0"
+ "@npmcli/arborist": "^7.2.1"
},
"engines": {
"node": "^16.14.0 || >=18.0.0"
}
},
"node_modules/npm/node_modules/libnpmhook": {
- "version": "10.0.0",
+ "version": "10.0.1",
"dev": true,
"inBundle": true,
"license": "ISC",
@@ -7946,7 +7882,7 @@
}
},
"node_modules/npm/node_modules/libnpmorg": {
- "version": "6.0.1",
+ "version": "6.0.2",
"dev": true,
"inBundle": true,
"license": "ISC",
@@ -7959,13 +7895,13 @@
}
},
"node_modules/npm/node_modules/libnpmpack": {
- "version": "6.0.2",
+ "version": "6.0.7",
"dev": true,
"inBundle": true,
"license": "ISC",
"dependencies": {
- "@npmcli/arborist": "^7.2.0",
- "@npmcli/run-script": "^7.0.1",
+ "@npmcli/arborist": "^7.2.1",
+ "@npmcli/run-script": "^7.0.2",
"npm-package-arg": "^11.0.1",
"pacote": "^17.0.4"
},
@@ -7974,18 +7910,18 @@
}
},
"node_modules/npm/node_modules/libnpmpublish": {
- "version": "9.0.1",
+ "version": "9.0.4",
"dev": true,
"inBundle": true,
"license": "ISC",
"dependencies": {
- "ci-info": "^3.6.1",
+ "ci-info": "^4.0.0",
"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": "^2.1.0",
+ "sigstore": "^2.2.0",
"ssri": "^10.0.5"
},
"engines": {
@@ -7993,7 +7929,7 @@
}
},
"node_modules/npm/node_modules/libnpmsearch": {
- "version": "7.0.0",
+ "version": "7.0.1",
"dev": true,
"inBundle": true,
"license": "ISC",
@@ -8005,7 +7941,7 @@
}
},
"node_modules/npm/node_modules/libnpmteam": {
- "version": "6.0.0",
+ "version": "6.0.1",
"dev": true,
"inBundle": true,
"license": "ISC",
@@ -8018,13 +7954,13 @@
}
},
"node_modules/npm/node_modules/libnpmversion": {
- "version": "5.0.0",
+ "version": "5.0.2",
"dev": true,
"inBundle": true,
"license": "ISC",
"dependencies": {
"@npmcli/git": "^5.0.3",
- "@npmcli/run-script": "^7.0.1",
+ "@npmcli/run-script": "^7.0.2",
"json-parse-even-better-errors": "^3.0.0",
"proc-log": "^3.0.0",
"semver": "^7.3.7"
@@ -8034,7 +7970,7 @@
}
},
"node_modules/npm/node_modules/lru-cache": {
- "version": "10.0.1",
+ "version": "10.2.0",
"dev": true,
"inBundle": true,
"license": "ISC",
@@ -8089,27 +8025,15 @@
}
},
"node_modules/npm/node_modules/minipass-collect": {
- "version": "1.0.2",
- "dev": true,
- "inBundle": true,
- "license": "ISC",
- "dependencies": {
- "minipass": "^3.0.0"
- },
- "engines": {
- "node": ">= 8"
- }
- },
- "node_modules/npm/node_modules/minipass-collect/node_modules/minipass": {
- "version": "3.3.6",
+ "version": "2.0.1",
"dev": true,
"inBundle": true,
"license": "ISC",
"dependencies": {
- "yallist": "^4.0.0"
+ "minipass": "^7.0.3"
},
"engines": {
- "node": ">=8"
+ "node": ">=16 || 14 >=14.17"
}
},
"node_modules/npm/node_modules/minipass-fetch": {
@@ -8230,350 +8154,82 @@
"license": "MIT",
"dependencies": {
"minipass": "^3.0.0",
- "yallist": "^4.0.0"
- },
- "engines": {
- "node": ">= 8"
- }
- },
- "node_modules/npm/node_modules/minizlib/node_modules/minipass": {
- "version": "3.3.6",
- "dev": true,
- "inBundle": true,
- "license": "ISC",
- "dependencies": {
- "yallist": "^4.0.0"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/npm/node_modules/mkdirp": {
- "version": "1.0.4",
- "dev": true,
- "inBundle": true,
- "license": "MIT",
- "bin": {
- "mkdirp": "bin/cmd.js"
- },
- "engines": {
- "node": ">=10"
- }
- },
- "node_modules/npm/node_modules/ms": {
- "version": "2.1.3",
- "dev": true,
- "inBundle": true,
- "license": "MIT"
- },
- "node_modules/npm/node_modules/mute-stream": {
- "version": "1.0.0",
- "dev": true,
- "inBundle": true,
- "license": "ISC",
- "engines": {
- "node": "^14.17.0 || ^16.13.0 || >=18.0.0"
- }
- },
- "node_modules/npm/node_modules/negotiator": {
- "version": "0.6.3",
- "dev": true,
- "inBundle": true,
- "license": "MIT",
- "engines": {
- "node": ">= 0.6"
- }
- },
- "node_modules/npm/node_modules/node-gyp": {
- "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": "^11.0.3",
- "nopt": "^6.0.0",
- "npmlog": "^6.0.0",
- "rimraf": "^3.0.2",
- "semver": "^7.3.5",
- "tar": "^6.1.2",
- "which": "^2.0.2"
- },
- "bin": {
- "node-gyp": "bin/node-gyp.js"
- },
- "engines": {
- "node": "^12.13 || ^14.13 || >=16"
- }
- },
- "node_modules/npm/node_modules/node-gyp/node_modules/abbrev": {
- "version": "1.1.1",
- "dev": true,
- "inBundle": true,
- "license": "ISC"
- },
- "node_modules/npm/node_modules/node-gyp/node_modules/are-we-there-yet": {
- "version": "3.0.1",
- "dev": true,
- "inBundle": true,
- "license": "ISC",
- "dependencies": {
- "delegates": "^1.0.0",
- "readable-stream": "^3.6.0"
- },
- "engines": {
- "node": "^12.13.0 || ^14.15.0 || >=16.0.0"
- }
- },
- "node_modules/npm/node_modules/node-gyp/node_modules/brace-expansion": {
- "version": "1.1.11",
- "dev": true,
- "inBundle": true,
- "license": "MIT",
- "dependencies": {
- "balanced-match": "^1.0.0",
- "concat-map": "0.0.1"
- }
- },
- "node_modules/npm/node_modules/node-gyp/node_modules/cacache": {
- "version": "17.1.4",
- "dev": true,
- "inBundle": true,
- "license": "ISC",
- "dependencies": {
- "@npmcli/fs": "^3.1.0",
- "fs-minipass": "^3.0.0",
- "glob": "^10.2.2",
- "lru-cache": "^7.7.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",
- "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_modules/npm/node_modules/node-gyp/node_modules/cacache/node_modules/brace-expansion": {
- "version": "2.0.1",
- "dev": true,
- "inBundle": true,
- "license": "MIT",
- "dependencies": {
- "balanced-match": "^1.0.0"
- }
- },
- "node_modules/npm/node_modules/node-gyp/node_modules/cacache/node_modules/glob": {
- "version": "10.3.3",
- "dev": true,
- "inBundle": true,
- "license": "ISC",
- "dependencies": {
- "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": ">=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": "9.0.3",
- "dev": true,
- "inBundle": true,
- "license": "ISC",
- "dependencies": {
- "brace-expansion": "^2.0.1"
- },
- "engines": {
- "node": ">=16 || 14 >=14.17"
- },
- "funding": {
- "url": "https://github.com/sponsors/isaacs"
- }
- },
- "node_modules/npm/node_modules/node-gyp/node_modules/cacache/node_modules/minipass": {
- "version": "7.0.3",
- "dev": true,
- "inBundle": true,
- "license": "ISC",
- "engines": {
- "node": ">=16 || 14 >=14.17"
- }
- },
- "node_modules/npm/node_modules/node-gyp/node_modules/gauge": {
- "version": "4.0.4",
- "dev": true,
- "inBundle": true,
- "license": "ISC",
- "dependencies": {
- "aproba": "^1.0.3 || ^2.0.0",
- "color-support": "^1.1.3",
- "console-control-strings": "^1.1.0",
- "has-unicode": "^2.0.1",
- "signal-exit": "^3.0.7",
- "string-width": "^4.2.3",
- "strip-ansi": "^6.0.1",
- "wide-align": "^1.1.5"
- },
- "engines": {
- "node": "^12.13.0 || ^14.15.0 || >=16.0.0"
- }
- },
- "node_modules/npm/node_modules/node-gyp/node_modules/glob": {
- "version": "7.2.3",
- "dev": true,
- "inBundle": true,
- "license": "ISC",
- "dependencies": {
- "fs.realpath": "^1.0.0",
- "inflight": "^1.0.4",
- "inherits": "2",
- "minimatch": "^3.1.1",
- "once": "^1.3.0",
- "path-is-absolute": "^1.0.0"
- },
- "engines": {
- "node": "*"
- },
- "funding": {
- "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": "11.1.1",
- "dev": true,
- "inBundle": true,
- "license": "ISC",
- "dependencies": {
- "agentkeepalive": "^4.2.1",
- "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": "^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": "^10.0.0"
- },
- "engines": {
- "node": "^14.17.0 || ^16.13.0 || >=18.0.0"
- }
- },
- "node_modules/npm/node_modules/node-gyp/node_modules/minimatch": {
- "version": "3.1.2",
- "dev": true,
- "inBundle": true,
- "license": "ISC",
- "dependencies": {
- "brace-expansion": "^1.1.7"
+ "yallist": "^4.0.0"
},
"engines": {
- "node": "*"
+ "node": ">= 8"
}
},
- "node_modules/npm/node_modules/node-gyp/node_modules/minipass": {
- "version": "5.0.0",
+ "node_modules/npm/node_modules/minizlib/node_modules/minipass": {
+ "version": "3.3.6",
"dev": true,
"inBundle": true,
"license": "ISC",
+ "dependencies": {
+ "yallist": "^4.0.0"
+ },
"engines": {
"node": ">=8"
}
},
- "node_modules/npm/node_modules/node-gyp/node_modules/nopt": {
- "version": "6.0.0",
+ "node_modules/npm/node_modules/mkdirp": {
+ "version": "1.0.4",
"dev": true,
"inBundle": true,
- "license": "ISC",
- "dependencies": {
- "abbrev": "^1.0.0"
- },
+ "license": "MIT",
"bin": {
- "nopt": "bin/nopt.js"
+ "mkdirp": "bin/cmd.js"
},
"engines": {
- "node": "^12.13.0 || ^14.15.0 || >=16.0.0"
+ "node": ">=10"
}
},
- "node_modules/npm/node_modules/node-gyp/node_modules/npmlog": {
- "version": "6.0.2",
+ "node_modules/npm/node_modules/ms": {
+ "version": "2.1.3",
+ "dev": true,
+ "inBundle": true,
+ "license": "MIT"
+ },
+ "node_modules/npm/node_modules/mute-stream": {
+ "version": "1.0.0",
"dev": true,
"inBundle": true,
"license": "ISC",
- "dependencies": {
- "are-we-there-yet": "^3.0.0",
- "console-control-strings": "^1.1.0",
- "gauge": "^4.0.3",
- "set-blocking": "^2.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/readable-stream": {
- "version": "3.6.2",
+ "node_modules/npm/node_modules/negotiator": {
+ "version": "0.6.3",
"dev": true,
"inBundle": true,
"license": "MIT",
- "dependencies": {
- "inherits": "^2.0.3",
- "string_decoder": "^1.1.1",
- "util-deprecate": "^1.0.1"
- },
"engines": {
- "node": ">= 6"
+ "node": ">= 0.6"
}
},
- "node_modules/npm/node_modules/node-gyp/node_modules/signal-exit": {
- "version": "3.0.7",
- "dev": true,
- "inBundle": true,
- "license": "ISC"
- },
- "node_modules/npm/node_modules/node-gyp/node_modules/which": {
- "version": "2.0.2",
+ "node_modules/npm/node_modules/node-gyp": {
+ "version": "10.0.1",
"dev": true,
"inBundle": true,
- "license": "ISC",
+ "license": "MIT",
"dependencies": {
- "isexe": "^2.0.0"
+ "env-paths": "^2.2.0",
+ "exponential-backoff": "^3.1.1",
+ "glob": "^10.3.10",
+ "graceful-fs": "^4.2.6",
+ "make-fetch-happen": "^13.0.0",
+ "nopt": "^7.0.0",
+ "proc-log": "^3.0.0",
+ "semver": "^7.3.5",
+ "tar": "^6.1.2",
+ "which": "^4.0.0"
},
"bin": {
- "node-which": "bin/node-which"
+ "node-gyp": "bin/node-gyp.js"
},
"engines": {
- "node": ">= 8"
+ "node": "^16.14.0 || >=18.0.0"
}
},
"node_modules/npm/node_modules/nopt": {
@@ -8628,7 +8284,7 @@
}
},
"node_modules/npm/node_modules/npm-install-checks": {
- "version": "6.2.0",
+ "version": "6.3.0",
"dev": true,
"inBundle": true,
"license": "BSD-2-Clause",
@@ -8664,12 +8320,12 @@
}
},
"node_modules/npm/node_modules/npm-packlist": {
- "version": "8.0.0",
+ "version": "8.0.2",
"dev": true,
"inBundle": true,
"license": "ISC",
"dependencies": {
- "ignore-walk": "^6.0.0"
+ "ignore-walk": "^6.0.4"
},
"engines": {
"node": "^14.17.0 || ^16.13.0 || >=18.0.0"
@@ -8704,7 +8360,7 @@
}
},
"node_modules/npm/node_modules/npm-registry-fetch": {
- "version": "16.0.0",
+ "version": "16.1.0",
"dev": true,
"inBundle": true,
"license": "ISC",
@@ -8745,15 +8401,6 @@
"node": "^14.17.0 || ^16.13.0 || >=18.0.0"
}
},
- "node_modules/npm/node_modules/once": {
- "version": "1.4.0",
- "dev": true,
- "inBundle": true,
- "license": "ISC",
- "dependencies": {
- "wrappy": "1"
- }
- },
"node_modules/npm/node_modules/p-map": {
"version": "4.0.0",
"dev": true,
@@ -8770,7 +8417,7 @@
}
},
"node_modules/npm/node_modules/pacote": {
- "version": "17.0.4",
+ "version": "17.0.6",
"dev": true,
"inBundle": true,
"license": "ISC",
@@ -8790,7 +8437,7 @@
"promise-retry": "^2.0.1",
"read-package-json": "^7.0.0",
"read-package-json-fast": "^3.0.0",
- "sigstore": "^2.0.0",
+ "sigstore": "^2.2.0",
"ssri": "^10.0.0",
"tar": "^6.1.11"
},
@@ -8815,15 +8462,6 @@
"node": "^14.17.0 || ^16.13.0 || >=18.0.0"
}
},
- "node_modules/npm/node_modules/path-is-absolute": {
- "version": "1.0.1",
- "dev": true,
- "inBundle": true,
- "license": "MIT",
- "engines": {
- "node": ">=0.10.0"
- }
- },
"node_modules/npm/node_modules/path-key": {
"version": "3.1.1",
"dev": true,
@@ -8850,7 +8488,7 @@
}
},
"node_modules/npm/node_modules/postcss-selector-parser": {
- "version": "6.0.13",
+ "version": "6.0.15",
"dev": true,
"inBundle": true,
"license": "MIT",
@@ -8871,15 +8509,6 @@
"node": "^14.17.0 || ^16.13.0 || >=18.0.0"
}
},
- "node_modules/npm/node_modules/process": {
- "version": "0.11.10",
- "dev": true,
- "inBundle": true,
- "license": "MIT",
- "engines": {
- "node": ">= 0.6.0"
- }
- },
"node_modules/npm/node_modules/promise-all-reject-late": {
"version": "1.0.1",
"dev": true,
@@ -8890,7 +8519,7 @@
}
},
"node_modules/npm/node_modules/promise-call-limit": {
- "version": "1.0.2",
+ "version": "3.0.1",
"dev": true,
"inBundle": true,
"license": "ISC",
@@ -8986,21 +8615,6 @@
"node": "^14.17.0 || ^16.13.0 || >=18.0.0"
}
},
- "node_modules/npm/node_modules/readable-stream": {
- "version": "4.4.0",
- "dev": true,
- "inBundle": true,
- "license": "MIT",
- "dependencies": {
- "abort-controller": "^3.0.0",
- "buffer": "^6.0.3",
- "events": "^3.3.0",
- "process": "^0.11.10"
- },
- "engines": {
- "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
- }
- },
"node_modules/npm/node_modules/retry": {
"version": "0.12.0",
"dev": true,
@@ -9010,83 +8624,6 @@
"node": ">= 4"
}
},
- "node_modules/npm/node_modules/rimraf": {
- "version": "3.0.2",
- "dev": true,
- "inBundle": true,
- "license": "ISC",
- "dependencies": {
- "glob": "^7.1.3"
- },
- "bin": {
- "rimraf": "bin.js"
- },
- "funding": {
- "url": "https://github.com/sponsors/isaacs"
- }
- },
- "node_modules/npm/node_modules/rimraf/node_modules/brace-expansion": {
- "version": "1.1.11",
- "dev": true,
- "inBundle": true,
- "license": "MIT",
- "dependencies": {
- "balanced-match": "^1.0.0",
- "concat-map": "0.0.1"
- }
- },
- "node_modules/npm/node_modules/rimraf/node_modules/glob": {
- "version": "7.2.3",
- "dev": true,
- "inBundle": true,
- "license": "ISC",
- "dependencies": {
- "fs.realpath": "^1.0.0",
- "inflight": "^1.0.4",
- "inherits": "2",
- "minimatch": "^3.1.1",
- "once": "^1.3.0",
- "path-is-absolute": "^1.0.0"
- },
- "engines": {
- "node": "*"
- },
- "funding": {
- "url": "https://github.com/sponsors/isaacs"
- }
- },
- "node_modules/npm/node_modules/rimraf/node_modules/minimatch": {
- "version": "3.1.2",
- "dev": true,
- "inBundle": true,
- "license": "ISC",
- "dependencies": {
- "brace-expansion": "^1.1.7"
- },
- "engines": {
- "node": "*"
- }
- },
- "node_modules/npm/node_modules/safe-buffer": {
- "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"
- },
"node_modules/npm/node_modules/safer-buffer": {
"version": "2.1.2",
"dev": true,
@@ -9095,7 +8632,7 @@
"optional": true
},
"node_modules/npm/node_modules/semver": {
- "version": "7.5.4",
+ "version": "7.6.0",
"dev": true,
"inBundle": true,
"license": "ISC",
@@ -9149,7 +8686,7 @@
}
},
"node_modules/npm/node_modules/signal-exit": {
- "version": "4.0.2",
+ "version": "4.1.0",
"dev": true,
"inBundle": true,
"license": "ISC",
@@ -9161,15 +8698,17 @@
}
},
"node_modules/npm/node_modules/sigstore": {
- "version": "2.1.0",
+ "version": "2.2.2",
"dev": true,
"inBundle": true,
"license": "Apache-2.0",
"dependencies": {
- "@sigstore/bundle": "^2.1.0",
- "@sigstore/protobuf-specs": "^0.2.1",
- "@sigstore/sign": "^2.1.0",
- "@sigstore/tuf": "^2.1.0"
+ "@sigstore/bundle": "^2.2.0",
+ "@sigstore/core": "^1.0.0",
+ "@sigstore/protobuf-specs": "^0.3.0",
+ "@sigstore/sign": "^2.2.3",
+ "@sigstore/tuf": "^2.3.1",
+ "@sigstore/verify": "^1.1.0"
},
"engines": {
"node": "^16.14.0 || >=18.0.0"
@@ -9186,31 +8725,31 @@
}
},
"node_modules/npm/node_modules/socks": {
- "version": "2.7.1",
+ "version": "2.8.0",
"dev": true,
"inBundle": true,
"license": "MIT",
"dependencies": {
- "ip": "^2.0.0",
+ "ip-address": "^9.0.5",
"smart-buffer": "^4.2.0"
},
"engines": {
- "node": ">= 10.13.0",
+ "node": ">= 16.0.0",
"npm": ">= 3.0.0"
}
},
"node_modules/npm/node_modules/socks-proxy-agent": {
- "version": "7.0.0",
+ "version": "8.0.2",
"dev": true,
"inBundle": true,
"license": "MIT",
"dependencies": {
- "agent-base": "^6.0.2",
- "debug": "^4.3.3",
- "socks": "^2.6.2"
+ "agent-base": "^7.0.2",
+ "debug": "^4.3.4",
+ "socks": "^2.7.1"
},
"engines": {
- "node": ">= 10"
+ "node": ">= 14"
}
},
"node_modules/npm/node_modules/spdx-correct": {
@@ -9224,7 +8763,7 @@
}
},
"node_modules/npm/node_modules/spdx-exceptions": {
- "version": "2.3.0",
+ "version": "2.5.0",
"dev": true,
"inBundle": true,
"license": "CC-BY-3.0"
@@ -9240,7 +8779,7 @@
}
},
"node_modules/npm/node_modules/spdx-license-ids": {
- "version": "3.0.13",
+ "version": "3.0.17",
"dev": true,
"inBundle": true,
"license": "CC0-1.0"
@@ -9257,15 +8796,6 @@
"node": "^14.17.0 || ^16.13.0 || >=18.0.0"
}
},
- "node_modules/npm/node_modules/string_decoder": {
- "version": "1.3.0",
- "dev": true,
- "inBundle": true,
- "license": "MIT",
- "dependencies": {
- "safe-buffer": "~5.2.0"
- }
- },
"node_modules/npm/node_modules/string-width": {
"version": "4.2.3",
"dev": true,
@@ -9404,7 +8934,7 @@
}
},
"node_modules/npm/node_modules/tuf-js": {
- "version": "2.1.0",
+ "version": "2.2.0",
"dev": true,
"inBundle": true,
"license": "MIT",
@@ -9552,20 +9082,23 @@
"url": "https://github.com/chalk/wrap-ansi?sponsor=1"
}
},
- "node_modules/npm/node_modules/wrap-ansi/node_modules/ansi-regex": {
- "version": "6.0.1",
+ "node_modules/npm/node_modules/wrap-ansi-cjs/node_modules/ansi-styles": {
+ "version": "4.3.0",
"dev": true,
"inBundle": true,
"license": "MIT",
+ "dependencies": {
+ "color-convert": "^2.0.1"
+ },
"engines": {
- "node": ">=12"
+ "node": ">=8"
},
"funding": {
- "url": "https://github.com/chalk/ansi-regex?sponsor=1"
+ "url": "https://github.com/chalk/ansi-styles?sponsor=1"
}
},
- "node_modules/npm/node_modules/wrap-ansi/node_modules/ansi-styles": {
- "version": "6.2.1",
+ "node_modules/npm/node_modules/wrap-ansi/node_modules/ansi-regex": {
+ "version": "6.0.1",
"dev": true,
"inBundle": true,
"license": "MIT",
@@ -9573,7 +9106,7 @@
"node": ">=12"
},
"funding": {
- "url": "https://github.com/chalk/ansi-styles?sponsor=1"
+ "url": "https://github.com/chalk/ansi-regex?sponsor=1"
}
},
"node_modules/npm/node_modules/wrap-ansi/node_modules/emoji-regex": {
@@ -9614,12 +9147,6 @@
"url": "https://github.com/chalk/strip-ansi?sponsor=1"
}
},
- "node_modules/npm/node_modules/wrappy": {
- "version": "1.0.2",
- "dev": true,
- "inBundle": true,
- "license": "ISC"
- },
"node_modules/npm/node_modules/write-file-atomic": {
"version": "5.0.1",
"dev": true,
@@ -10138,6 +9665,27 @@
"parse-path": "^7.0.0"
}
},
+ "node_modules/parse5": {
+ "version": "5.1.1",
+ "resolved": "https://registry.npmjs.org/parse5/-/parse5-5.1.1.tgz",
+ "integrity": "sha512-ugq4DFI0Ptb+WWjAdOK16+u/nHfiIrcE+sh8kZMaM0WllQKLI9rOUq6c2b7cwPkXdzfQESqvoqK6ug7U/Yyzug==",
+ "dev": true
+ },
+ "node_modules/parse5-htmlparser2-tree-adapter": {
+ "version": "6.0.1",
+ "resolved": "https://registry.npmjs.org/parse5-htmlparser2-tree-adapter/-/parse5-htmlparser2-tree-adapter-6.0.1.tgz",
+ "integrity": "sha512-qPuWvbLgvDGilKc5BoicRovlT4MtYT6JfJyBOMDsKoiT+GiuP5qyrPCnR9HcPECIJJmZh5jRndyNThnhhb/vlA==",
+ "dev": true,
+ "dependencies": {
+ "parse5": "^6.0.1"
+ }
+ },
+ "node_modules/parse5-htmlparser2-tree-adapter/node_modules/parse5": {
+ "version": "6.0.1",
+ "resolved": "https://registry.npmjs.org/parse5/-/parse5-6.0.1.tgz",
+ "integrity": "sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw==",
+ "dev": true
+ },
"node_modules/path-exists": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz",
@@ -10888,15 +10436,6 @@
"node": ">=8.10.0"
}
},
- "node_modules/redeyed": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/redeyed/-/redeyed-2.1.1.tgz",
- "integrity": "sha512-FNpGGo1DycYAdnrKFxCMmKYgo/mILAqtRYbkdQD8Ep/Hk2PQ5+aEAEx+IU713RTDmuBaH0c8P5ZozurNu5ObRQ==",
- "dev": true,
- "dependencies": {
- "esprima": "~4.0.0"
- }
- },
"node_modules/registry-auth-token": {
"version": "5.0.1",
"resolved": "https://registry.npmjs.org/registry-auth-token/-/registry-auth-token-5.0.1.tgz",
@@ -11050,9 +10589,9 @@
"dev": true
},
"node_modules/semantic-release": {
- "version": "22.0.12",
- "resolved": "https://registry.npmjs.org/semantic-release/-/semantic-release-22.0.12.tgz",
- "integrity": "sha512-0mhiCR/4sZb00RVFJIUlMuiBkW3NMpVIW2Gse7noqEMoFGkvfPPAImEQbkBV8xga4KOPP4FdTRYuLLy32R1fPw==",
+ "version": "23.0.2",
+ "resolved": "https://registry.npmjs.org/semantic-release/-/semantic-release-23.0.2.tgz",
+ "integrity": "sha512-OnVYJ6Xgzwe1x8MKswba7RU9+5djS1MWRTrTn5qsq3xZYpslroZkV9Pt0dA2YcIuieeuSZWJhn+yUWoBUHO5Fw==",
"dev": true,
"dependencies": {
"@semantic-release/commit-analyzer": "^11.0.0",
@@ -11061,9 +10600,9 @@
"@semantic-release/npm": "^11.0.0",
"@semantic-release/release-notes-generator": "^12.0.0",
"aggregate-error": "^5.0.0",
- "cosmiconfig": "^8.0.0",
+ "cosmiconfig": "^9.0.0",
"debug": "^4.0.0",
- "env-ci": "^10.0.0",
+ "env-ci": "^11.0.0",
"execa": "^8.0.0",
"figures": "^6.0.0",
"find-versions": "^5.1.0",
@@ -11073,8 +10612,8 @@
"hosted-git-info": "^7.0.0",
"import-from-esm": "^1.3.1",
"lodash-es": "^4.17.21",
- "marked": "^9.0.0",
- "marked-terminal": "^6.0.0",
+ "marked": "^12.0.0",
+ "marked-terminal": "^7.0.0",
"micromatch": "^4.0.2",
"p-each-series": "^3.0.0",
"p-reduce": "^3.0.0",
@@ -11089,7 +10628,7 @@
"semantic-release": "bin/semantic-release.js"
},
"engines": {
- "node": "^18.17 || >=20.6.1"
+ "node": ">=20.8.1"
}
},
"node_modules/semantic-release-license": {
@@ -11233,15 +10772,15 @@
}
},
"node_modules/semantic-release/node_modules/marked": {
- "version": "9.1.2",
- "resolved": "https://registry.npmjs.org/marked/-/marked-9.1.2.tgz",
- "integrity": "sha512-qoKMJqK0w6vkLk8+KnKZAH6neUZSNaQqVZ/h2yZ9S7CbLuFHyS2viB0jnqcWF9UKjwsAbMrQtnQhdmdvOVOw9w==",
+ "version": "12.0.0",
+ "resolved": "https://registry.npmjs.org/marked/-/marked-12.0.0.tgz",
+ "integrity": "sha512-Vkwtq9rLqXryZnWaQc86+FHLC6tr/fycMfYAhiOIXkrNmeGAyhSxjqu0Rs1i0bBqw5u0S7+lV9fdH2ZSVaoa0w==",
"dev": true,
"bin": {
"marked": "bin/marked.js"
},
"engines": {
- "node": ">= 16"
+ "node": ">= 18"
}
},
"node_modules/semantic-release/node_modules/mimic-fn": {
@@ -11515,9 +11054,9 @@
}
},
"node_modules/shiki": {
- "version": "0.14.1",
- "resolved": "https://registry.npmjs.org/shiki/-/shiki-0.14.1.tgz",
- "integrity": "sha512-+Jz4nBkCBe0mEDqo1eKRcCdjRtrCjozmcbTUjbPTX7OOJfEbTZzlUWlZtGe3Gb5oV1/jnojhG//YZc3rs9zSEw==",
+ "version": "0.14.7",
+ "resolved": "https://registry.npmjs.org/shiki/-/shiki-0.14.7.tgz",
+ "integrity": "sha512-dNPAPrxSc87ua2sKJ3H5dQ/6ZaY8RNnaAqK+t0eG7p0Soi2ydiqbGOTaZCqaYvA/uZYfS1LJnemt3Q+mSfcPCg==",
"dev": true,
"dependencies": {
"ansi-sequence-parser": "^1.1.0",
@@ -11961,6 +11500,18 @@
"node": ">=14.18"
}
},
+ "node_modules/synckit": {
+ "version": "0.6.2",
+ "resolved": "https://registry.npmjs.org/synckit/-/synckit-0.6.2.tgz",
+ "integrity": "sha512-Vhf+bUa//YSTYKseDiiEuQmhGCoIF3CVBhunm3r/DQnYiGT4JssmnKQc44BIyOZRK2pKjXXAgbhfmbeoC9CJpA==",
+ "dev": true,
+ "dependencies": {
+ "tslib": "^2.3.1"
+ },
+ "engines": {
+ "node": ">=12.20"
+ }
+ },
"node_modules/tcomb": {
"version": "3.2.29",
"resolved": "https://registry.npmjs.org/tcomb/-/tcomb-3.2.29.tgz",
@@ -12190,12 +11741,12 @@
}
},
"node_modules/ts-api-utils": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/ts-api-utils/-/ts-api-utils-1.0.1.tgz",
- "integrity": "sha512-lC/RGlPmwdrIBFTX59wwNzqh7aR2otPNPR/5brHZm/XKFYKsfqxihXUe9pU3JI+3vGkl+vyCoNNnPhJn3aLK1A==",
+ "version": "1.2.1",
+ "resolved": "https://registry.npmjs.org/ts-api-utils/-/ts-api-utils-1.2.1.tgz",
+ "integrity": "sha512-RIYA36cJn2WiH9Hy77hdF9r7oEwxAtB/TS9/S4Qd90Ap4z5FSiin5zEiTL44OII1Y3IIlEvxwxFUVgrHSZ/UpA==",
"dev": true,
"engines": {
- "node": ">=16.13.0"
+ "node": ">=16"
},
"peerDependencies": {
"typescript": ">=4.2.0"
@@ -12266,9 +11817,9 @@
"dev": true
},
"node_modules/tsup": {
- "version": "8.0.1",
- "resolved": "https://registry.npmjs.org/tsup/-/tsup-8.0.1.tgz",
- "integrity": "sha512-hvW7gUSG96j53ZTSlT4j/KL0q1Q2l6TqGBFc6/mu/L46IoNWqLLUzLRLP1R8Q7xrJTmkDxxDoojV5uCVs1sVOg==",
+ "version": "8.0.2",
+ "resolved": "https://registry.npmjs.org/tsup/-/tsup-8.0.2.tgz",
+ "integrity": "sha512-NY8xtQXdH7hDUAZwcQdY/Vzlw9johQsaqf7iwZ6g1DOUlFYQ5/AtVAjTvihhEyeRlGo4dLRVHtrRaL35M1daqQ==",
"dev": true,
"dependencies": {
"bundle-require": "^4.0.0",
@@ -12375,15 +11926,15 @@
}
},
"node_modules/typedoc": {
- "version": "0.25.4",
- "resolved": "https://registry.npmjs.org/typedoc/-/typedoc-0.25.4.tgz",
- "integrity": "sha512-Du9ImmpBCw54bX275yJrxPVnjdIyJO/84co0/L9mwe0R3G4FSR6rQ09AlXVRvZEGMUg09+z/usc8mgygQ1aidA==",
+ "version": "0.25.8",
+ "resolved": "https://registry.npmjs.org/typedoc/-/typedoc-0.25.8.tgz",
+ "integrity": "sha512-mh8oLW66nwmeB9uTa0Bdcjfis+48bAjSH3uqdzSuSawfduROQLlXw//WSNZLYDdhmMVB7YcYZicq6e8T0d271A==",
"dev": true,
"dependencies": {
"lunr": "^2.3.9",
"marked": "^4.3.0",
"minimatch": "^9.0.3",
- "shiki": "^0.14.1"
+ "shiki": "^0.14.7"
},
"bin": {
"typedoc": "bin/typedoc"
@@ -13442,19 +12993,19 @@
}
},
"@eslint/js": {
- "version": "8.56.0",
- "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.56.0.tgz",
- "integrity": "sha512-gMsVel9D7f2HLkBma9VbtzZRehRogVRfbr++f06nL2vnCGCNlzOD+/MUov/F4p8myyAHspEhVobgjpX64q5m6A==",
+ "version": "8.57.0",
+ "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.57.0.tgz",
+ "integrity": "sha512-Ys+3g2TaW7gADOJzPt83SJtCDhMjndcDMFVQ/Tj9iA1BfJzFKD9mAUXT3OenpuPHbI6P/myECxRJrofUsDx/5g==",
"dev": true
},
"@humanwhocodes/config-array": {
- "version": "0.11.13",
- "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.13.tgz",
- "integrity": "sha512-JSBDMiDKSzQVngfRjOdFXgFfklaXI4K9nLF49Auh21lmBWRLIK3+xTErTWD4KU54pb6coM6ESE7Awz/FNU3zgQ==",
+ "version": "0.11.14",
+ "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.14.tgz",
+ "integrity": "sha512-3T8LkOmg45BV5FICb15QQMsyUSWrQ8AygVfC7ZG32zOalnqrilm018ZVCw0eapXux8FtA33q8PSRSstjee3jSg==",
"dev": true,
"requires": {
- "@humanwhocodes/object-schema": "^2.0.1",
- "debug": "^4.1.1",
+ "@humanwhocodes/object-schema": "^2.0.2",
+ "debug": "^4.3.1",
"minimatch": "^3.0.5"
}
},
@@ -13465,9 +13016,9 @@
"dev": true
},
"@humanwhocodes/object-schema": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-2.0.1.tgz",
- "integrity": "sha512-dvuCeX5fC9dXgJn9t+X5atfmgQAzUOWqS1254Gh0m6i8wKd10ebXkfNKiRK+1GWi/yTvvLDHpoxLr0xxxeslWw==",
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-2.0.2.tgz",
+ "integrity": "sha512-6EwiSjwWYP7pTckG6I5eyFANjPhmPjUX9JRLUSfNPC7FX7zK9gyZAfUEaECL6ALTpGX5AjnBq3C9XmVWPitNpw==",
"dev": true
},
"@istanbuljs/load-nyc-config": {
@@ -13738,9 +13289,9 @@
}
},
"@qiwi/semantic-release-gh-pages-plugin": {
- "version": "5.2.11",
- "resolved": "https://registry.npmjs.org/@qiwi/semantic-release-gh-pages-plugin/-/semantic-release-gh-pages-plugin-5.2.11.tgz",
- "integrity": "sha512-F35RKLv+edv8sTyLnH+5IJG6ZGBTsewbTetC4sIY0Ajy6ZaASS0CRgZqcA+YoJWHoSHfU0crdW5DUjnNACAUrA==",
+ "version": "5.2.12",
+ "resolved": "https://registry.npmjs.org/@qiwi/semantic-release-gh-pages-plugin/-/semantic-release-gh-pages-plugin-5.2.12.tgz",
+ "integrity": "sha512-noXI64+4MFwXy32g2qO+x8v5pXgVeqaIC9RU23zs5hl3qh0dB+8hVXC1vhxPREvhxQHvx6ha8Qy0XhKOKHnwpQ==",
"dev": true,
"requires": {
"@qiwi/substrate": "^2.0.4",
@@ -13753,7 +13304,7 @@
"debug": "^4.3.4",
"execa": "^5.1.1",
"gh-pages": "^6.0.0",
- "git-url-parse": "^13.1.0",
+ "git-url-parse": "^14.0.0",
"lodash": "^4.17.21",
"queuefy": "^1.2.1",
"read-pkg": "^5.2.0",
@@ -14046,9 +13597,9 @@
}
},
"@semantic-release/npm": {
- "version": "11.0.2",
- "resolved": "https://registry.npmjs.org/@semantic-release/npm/-/npm-11.0.2.tgz",
- "integrity": "sha512-owtf3RjyPvRE63iUKZ5/xO4uqjRpVQDUB9+nnXj0xwfIeM9pRl+cG+zGDzdftR4m3f2s4Wyf3SexW+kF5DFtWA==",
+ "version": "11.0.3",
+ "resolved": "https://registry.npmjs.org/@semantic-release/npm/-/npm-11.0.3.tgz",
+ "integrity": "sha512-KUsozQGhRBAnoVg4UMZj9ep436VEGwT536/jwSqB7vcEfA6oncCUU7UIYTRdLx7GvTtqn0kBjnkfLVkcnBa2YQ==",
"dev": true,
"requires": {
"@semantic-release/error": "^4.0.0",
@@ -14058,7 +13609,7 @@
"lodash-es": "^4.17.21",
"nerf-dart": "^1.0.0",
"normalize-url": "^8.0.0",
- "npm": "^10.0.0",
+ "npm": "^10.5.0",
"rc": "^1.2.8",
"read-pkg": "^9.0.0",
"registry-auth-token": "^5.0.0",
@@ -14245,9 +13796,9 @@
}
},
"@sindresorhus/is": {
- "version": "3.1.2",
- "resolved": "https://registry.npmjs.org/@sindresorhus/is/-/is-3.1.2.tgz",
- "integrity": "sha512-JiX9vxoKMmu8Y3Zr2RVathBL1Cdu4Nt4MuNWemt1Nc06A0RAin9c5FArkhGsyMBWfCu4zj+9b+GxtjAnE4qqLQ==",
+ "version": "4.6.0",
+ "resolved": "https://registry.npmjs.org/@sindresorhus/is/-/is-4.6.0.tgz",
+ "integrity": "sha512-t09vSN3MdfsyCHoFcTRCH/iUtG7OJ0CsjzB8cjAmKc/va/kIgeDI/TxsigdncE/4be734m0cvIYwNaV4i2XqAw==",
"dev": true
},
"@touch4it/ical-timezones": {
@@ -14338,9 +13889,9 @@
"dev": true
},
"@types/luxon": {
- "version": "3.3.7",
- "resolved": "https://registry.npmjs.org/@types/luxon/-/luxon-3.3.7.tgz",
- "integrity": "sha512-gKc9P2d4g5uYwmy4s/MO/yOVPmvHyvzka1YH6i5dM03UrFofHSmgc0D0ymbDRStFWHusk6cwwF6nhLm/ckBbbQ==",
+ "version": "3.4.2",
+ "resolved": "https://registry.npmjs.org/@types/luxon/-/luxon-3.4.2.tgz",
+ "integrity": "sha512-TifLZlFudklWlMBfhubvgqTXRzLDI5pCbGa4P8a3wPyUQSW+1xQ5eDsreP9DWHX3tjq1ke96uYG/nwundroWcA==",
"dev": true
},
"@types/mocha": {
@@ -14383,22 +13934,22 @@
}
},
"@types/semver": {
- "version": "7.5.6",
- "resolved": "https://registry.npmjs.org/@types/semver/-/semver-7.5.6.tgz",
- "integrity": "sha512-dn1l8LaMea/IjDoHNd9J52uBbInB796CDffS6VdIxvqYCPSG0V0DzHp76GpaWnlhg88uYyPbXCDIowa86ybd5A==",
+ "version": "7.5.8",
+ "resolved": "https://registry.npmjs.org/@types/semver/-/semver-7.5.8.tgz",
+ "integrity": "sha512-I8EUhyrgfLrcTkzV3TSsGyl1tSuPrEDzr0yd5m90UgNxQkyDXULk3b6MlQqTCpZpNtWe1K0hzclnZkTcLBe2UQ==",
"dev": true
},
"@typescript-eslint/eslint-plugin": {
- "version": "6.13.2",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-6.13.2.tgz",
- "integrity": "sha512-3+9OGAWHhk4O1LlcwLBONbdXsAhLjyCFogJY/cWy2lxdVJ2JrcTF2pTGMaLl2AE7U1l31n8Py4a8bx5DLf/0dQ==",
+ "version": "7.1.0",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-7.1.0.tgz",
+ "integrity": "sha512-j6vT/kCulhG5wBmGtstKeiVr1rdXE4nk+DT1k6trYkwlrvW9eOF5ZbgKnd/YR6PcM4uTEXa0h6Fcvf6X7Dxl0w==",
"dev": true,
"requires": {
"@eslint-community/regexpp": "^4.5.1",
- "@typescript-eslint/scope-manager": "6.13.2",
- "@typescript-eslint/type-utils": "6.13.2",
- "@typescript-eslint/utils": "6.13.2",
- "@typescript-eslint/visitor-keys": "6.13.2",
+ "@typescript-eslint/scope-manager": "7.1.0",
+ "@typescript-eslint/type-utils": "7.1.0",
+ "@typescript-eslint/utils": "7.1.0",
+ "@typescript-eslint/visitor-keys": "7.1.0",
"debug": "^4.3.4",
"graphemer": "^1.4.0",
"ignore": "^5.2.4",
@@ -14408,83 +13959,104 @@
}
},
"@typescript-eslint/parser": {
- "version": "6.13.2",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-6.13.2.tgz",
- "integrity": "sha512-MUkcC+7Wt/QOGeVlM8aGGJZy1XV5YKjTpq9jK6r6/iLsGXhBVaGP5N0UYvFsu9BFlSpwY9kMretzdBH01rkRXg==",
+ "version": "7.1.0",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-7.1.0.tgz",
+ "integrity": "sha512-V1EknKUubZ1gWFjiOZhDSNToOjs63/9O0puCgGS8aDOgpZY326fzFu15QAUjwaXzRZjf/qdsdBrckYdv9YxB8w==",
"dev": true,
"requires": {
- "@typescript-eslint/scope-manager": "6.13.2",
- "@typescript-eslint/types": "6.13.2",
- "@typescript-eslint/typescript-estree": "6.13.2",
- "@typescript-eslint/visitor-keys": "6.13.2",
+ "@typescript-eslint/scope-manager": "7.1.0",
+ "@typescript-eslint/types": "7.1.0",
+ "@typescript-eslint/typescript-estree": "7.1.0",
+ "@typescript-eslint/visitor-keys": "7.1.0",
"debug": "^4.3.4"
}
},
"@typescript-eslint/scope-manager": {
- "version": "6.13.2",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-6.13.2.tgz",
- "integrity": "sha512-CXQA0xo7z6x13FeDYCgBkjWzNqzBn8RXaE3QVQVIUm74fWJLkJkaHmHdKStrxQllGh6Q4eUGyNpMe0b1hMkXFA==",
+ "version": "7.1.0",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-7.1.0.tgz",
+ "integrity": "sha512-6TmN4OJiohHfoOdGZ3huuLhpiUgOGTpgXNUPJgeZOZR3DnIpdSgtt83RS35OYNNXxM4TScVlpVKC9jyQSETR1A==",
"dev": true,
"requires": {
- "@typescript-eslint/types": "6.13.2",
- "@typescript-eslint/visitor-keys": "6.13.2"
+ "@typescript-eslint/types": "7.1.0",
+ "@typescript-eslint/visitor-keys": "7.1.0"
}
},
"@typescript-eslint/type-utils": {
- "version": "6.13.2",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-6.13.2.tgz",
- "integrity": "sha512-Qr6ssS1GFongzH2qfnWKkAQmMUyZSyOr0W54nZNU1MDfo+U4Mv3XveeLZzadc/yq8iYhQZHYT+eoXJqnACM1tw==",
+ "version": "7.1.0",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-7.1.0.tgz",
+ "integrity": "sha512-UZIhv8G+5b5skkcuhgvxYWHjk7FW7/JP5lPASMEUoliAPwIH/rxoUSQPia2cuOj9AmDZmwUl1usKm85t5VUMew==",
"dev": true,
"requires": {
- "@typescript-eslint/typescript-estree": "6.13.2",
- "@typescript-eslint/utils": "6.13.2",
+ "@typescript-eslint/typescript-estree": "7.1.0",
+ "@typescript-eslint/utils": "7.1.0",
"debug": "^4.3.4",
"ts-api-utils": "^1.0.1"
}
},
"@typescript-eslint/types": {
- "version": "6.13.2",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-6.13.2.tgz",
- "integrity": "sha512-7sxbQ+EMRubQc3wTfTsycgYpSujyVbI1xw+3UMRUcrhSy+pN09y/lWzeKDbvhoqcRbHdc+APLs/PWYi/cisLPg==",
+ "version": "7.1.0",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-7.1.0.tgz",
+ "integrity": "sha512-qTWjWieJ1tRJkxgZYXx6WUYtWlBc48YRxgY2JN1aGeVpkhmnopq+SUC8UEVGNXIvWH7XyuTjwALfG6bFEgCkQA==",
"dev": true
},
"@typescript-eslint/typescript-estree": {
- "version": "6.13.2",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-6.13.2.tgz",
- "integrity": "sha512-SuD8YLQv6WHnOEtKv8D6HZUzOub855cfPnPMKvdM/Bh1plv1f7Q/0iFUDLKKlxHcEstQnaUU4QZskgQq74t+3w==",
+ "version": "7.1.0",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-7.1.0.tgz",
+ "integrity": "sha512-k7MyrbD6E463CBbSpcOnwa8oXRdHzH1WiVzOipK3L5KSML92ZKgUBrTlehdi7PEIMT8k0bQixHUGXggPAlKnOQ==",
"dev": true,
"requires": {
- "@typescript-eslint/types": "6.13.2",
- "@typescript-eslint/visitor-keys": "6.13.2",
+ "@typescript-eslint/types": "7.1.0",
+ "@typescript-eslint/visitor-keys": "7.1.0",
"debug": "^4.3.4",
"globby": "^11.1.0",
"is-glob": "^4.0.3",
+ "minimatch": "9.0.3",
"semver": "^7.5.4",
"ts-api-utils": "^1.0.1"
+ },
+ "dependencies": {
+ "brace-expansion": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz",
+ "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==",
+ "dev": true,
+ "requires": {
+ "balanced-match": "^1.0.0"
+ }
+ },
+ "minimatch": {
+ "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"
+ }
+ }
}
},
"@typescript-eslint/utils": {
- "version": "6.13.2",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-6.13.2.tgz",
- "integrity": "sha512-b9Ptq4eAZUym4idijCRzl61oPCwwREcfDI8xGk751Vhzig5fFZR9CyzDz4Sp/nxSLBYxUPyh4QdIDqWykFhNmQ==",
+ "version": "7.1.0",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-7.1.0.tgz",
+ "integrity": "sha512-WUFba6PZC5OCGEmbweGpnNJytJiLG7ZvDBJJoUcX4qZYf1mGZ97mO2Mps6O2efxJcJdRNpqweCistDbZMwIVHw==",
"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.13.2",
- "@typescript-eslint/types": "6.13.2",
- "@typescript-eslint/typescript-estree": "6.13.2",
+ "@typescript-eslint/scope-manager": "7.1.0",
+ "@typescript-eslint/types": "7.1.0",
+ "@typescript-eslint/typescript-estree": "7.1.0",
"semver": "^7.5.4"
}
},
"@typescript-eslint/visitor-keys": {
- "version": "6.13.2",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-6.13.2.tgz",
- "integrity": "sha512-OGznFs0eAQXJsp+xSd6k/O1UbFi/K/L7WjqeRoFE7vadjAF9y0uppXhYNQNEqygjou782maGClOoZwPqF0Drlw==",
+ "version": "7.1.0",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-7.1.0.tgz",
+ "integrity": "sha512-FhUqNWluiGNzlvnDZiXad4mZRhtghdoKW6e98GoEOYSu5cND+E39rG5KwJMUzeENwm1ztYBRqof8wMLP+wNPIA==",
"dev": true,
"requires": {
- "@typescript-eslint/types": "6.13.2",
+ "@typescript-eslint/types": "7.1.0",
"eslint-visitor-keys": "^3.4.1"
}
},
@@ -14580,9 +14152,9 @@
"dev": true
},
"ansi-sequence-parser": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/ansi-sequence-parser/-/ansi-sequence-parser-1.1.0.tgz",
- "integrity": "sha512-lEm8mt52to2fT8GhciPCGeCXACSz2UwIN4X2e2LJSnZ5uAbn2/dsYdOmUXq0AtWS5cpAupysIneExOgH0Vd2TQ==",
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/ansi-sequence-parser/-/ansi-sequence-parser-1.1.1.tgz",
+ "integrity": "sha512-vJXt3yiaUL4UU546s3rPXlsry/RnM730G1+HkpKE012AN0sx1eOrxSu95oKDIonskeLTijMgqWZ3uDEe3NFvyg==",
"dev": true
},
"ansi-styles": {
@@ -14594,12 +14166,6 @@
"color-convert": "^2.0.1"
}
},
- "ansicolors": {
- "version": "0.3.2",
- "resolved": "https://registry.npmjs.org/ansicolors/-/ansicolors-0.3.2.tgz",
- "integrity": "sha512-QXu7BPrP29VllRxH8GwB7x5iX5qWKAAMLqKQGWTeLWVlNHNOpVMJ91dsxQAIWXpjuW5wqvxu3Jd/nRjrJ+0pqg==",
- "dev": true
- },
"any-promise": {
"version": "1.3.0",
"resolved": "https://registry.npmjs.org/any-promise/-/any-promise-1.3.0.tgz",
@@ -14766,19 +14332,18 @@
}
},
"c8": {
- "version": "8.0.1",
- "resolved": "https://registry.npmjs.org/c8/-/c8-8.0.1.tgz",
- "integrity": "sha512-EINpopxZNH1mETuI0DzRA4MZpAUH+IFiRhnmFD3vFr3vdrgxqi3VfE3KL0AIL+zDq8rC9bZqwM/VDmmoe04y7w==",
+ "version": "9.1.0",
+ "resolved": "https://registry.npmjs.org/c8/-/c8-9.1.0.tgz",
+ "integrity": "sha512-mBWcT5iqNir1zIkzSPyI3NCR9EZCVI3WUD+AVO17MVWTSFNyUueXE82qTeampNtTr+ilN/5Ua3j24LgbCKjDVg==",
"dev": true,
"requires": {
"@bcoe/v8-coverage": "^0.2.3",
"@istanbuljs/schema": "^0.1.3",
"find-up": "^5.0.0",
- "foreground-child": "^2.0.0",
+ "foreground-child": "^3.1.1",
"istanbul-lib-coverage": "^3.2.0",
"istanbul-lib-report": "^3.0.1",
"istanbul-reports": "^3.1.6",
- "rimraf": "^3.0.2",
"test-exclude": "^6.0.0",
"v8-to-istanbul": "^9.0.0",
"yargs": "^17.7.2",
@@ -14796,6 +14361,22 @@
"wrap-ansi": "^7.0.0"
}
},
+ "foreground-child": {
+ "version": "3.1.1",
+ "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-3.1.1.tgz",
+ "integrity": "sha512-TMKDUnIte6bfb5nWv7V/caI169OHgvwjb7V4WkeUvbQQdjr5rWKqHFiKWb/fcOwB+CzBT+qbWjvj+DVwRskpIg==",
+ "dev": true,
+ "requires": {
+ "cross-spawn": "^7.0.0",
+ "signal-exit": "^4.0.1"
+ }
+ },
+ "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
+ },
"yargs": {
"version": "17.7.2",
"resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz",
@@ -14865,16 +14446,6 @@
"integrity": "sha512-pDHgRndit6p1NR2GhzMbQ6CkRrp4VKuSsqbcLeOQppYPKOYkKT/6ZvZDvKJUqcmtyWIAHuZq3SVS2vc1egCZzw==",
"dev": true
},
- "cardinal": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/cardinal/-/cardinal-2.1.1.tgz",
- "integrity": "sha512-JSr5eOgoEymtYHBjNWyjrMqet9Am2miJhlfKNdqLp6zoeAh0KN5dRAcxlecj5mAJrmQomgiOBj35xHLrFjqBpw==",
- "dev": true,
- "requires": {
- "ansicolors": "~0.3.2",
- "redeyed": "~2.1.0"
- }
- },
"caseless": {
"version": "0.12.0",
"resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz",
@@ -14919,6 +14490,20 @@
"integrity": "sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==",
"dev": true
},
+ "cli-highlight": {
+ "version": "2.1.11",
+ "resolved": "https://registry.npmjs.org/cli-highlight/-/cli-highlight-2.1.11.tgz",
+ "integrity": "sha512-9KDcoEVwyUXrjcJNvHD0NFc/hiwe/WPVYIleQh2O1N2Zro5gWJZ/K+3DGn8w8P/F6FxOgzyC5bxDyHIgCSPhGg==",
+ "dev": true,
+ "requires": {
+ "chalk": "^4.0.0",
+ "highlight.js": "^10.7.1",
+ "mz": "^2.4.0",
+ "parse5": "^5.1.1",
+ "parse5-htmlparser2-tree-adapter": "^6.0.0",
+ "yargs": "^16.0.0"
+ }
+ },
"cli-table3": {
"version": "0.6.3",
"resolved": "https://registry.npmjs.org/cli-table3/-/cli-table3-0.6.3.tgz",
@@ -15077,15 +14662,15 @@
"dev": true
},
"cosmiconfig": {
- "version": "8.0.0",
- "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-8.0.0.tgz",
- "integrity": "sha512-da1EafcpH6b/TD8vDRaWV7xFINlHlF6zKsGwS1TsuVJTZRkquaS5HTMq7uq6h31619QjbsYl21gVDOm32KM1vQ==",
+ "version": "9.0.0",
+ "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-9.0.0.tgz",
+ "integrity": "sha512-itvL5h8RETACmOTFc4UfIyB2RfEHi71Ax6E/PivVxq9NseKbOWpeyHEOIbmAw1rs8Ak0VursQNww7lf7YtUwzg==",
"dev": true,
"requires": {
- "import-fresh": "^3.2.1",
+ "env-paths": "^2.2.1",
+ "import-fresh": "^3.3.0",
"js-yaml": "^4.1.0",
- "parse-json": "^5.0.0",
- "path-type": "^4.0.0"
+ "parse-json": "^5.2.0"
},
"dependencies": {
"argparse": {
@@ -15276,9 +14861,9 @@
"dev": true
},
"env-ci": {
- "version": "10.0.0",
- "resolved": "https://registry.npmjs.org/env-ci/-/env-ci-10.0.0.tgz",
- "integrity": "sha512-U4xcd/utDYFgMh0yWj07R1H6L5fwhVbmxBCpnL0DbVSDZVnsC82HONw0wxtxNkIAcua3KtbomQvIk5xFZGAQJw==",
+ "version": "11.0.0",
+ "resolved": "https://registry.npmjs.org/env-ci/-/env-ci-11.0.0.tgz",
+ "integrity": "sha512-apikxMgkipkgTvMdRT9MNqWx5VLOci79F4VBd7Op/7OPjjoanjdAvn6fglMCCEf/1bAh8eOiuEVCUs4V3qP3nQ==",
"dev": true,
"requires": {
"execa": "^8.0.0",
@@ -15327,9 +14912,9 @@
"dev": true
},
"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==",
+ "version": "5.2.0",
+ "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-5.2.0.tgz",
+ "integrity": "sha512-W4/tgAXFqFA0iL7fk0+uQ3g7wkL8xJmx3XdK0VGb4cHW//eZTtKGvFBBoRKVTpY7n6ze4NL9ly7rgXcHufqXKg==",
"dev": true,
"requires": {
"path-key": "^4.0.0"
@@ -15364,6 +14949,12 @@
}
}
},
+ "env-paths": {
+ "version": "2.2.1",
+ "resolved": "https://registry.npmjs.org/env-paths/-/env-paths-2.2.1.tgz",
+ "integrity": "sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A==",
+ "dev": true
+ },
"error-ex": {
"version": "1.3.2",
"resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz",
@@ -15428,16 +15019,16 @@
"dev": true
},
"eslint": {
- "version": "8.56.0",
- "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.56.0.tgz",
- "integrity": "sha512-Go19xM6T9puCOWntie1/P997aXxFsOi37JIHRWI514Hc6ZnaHGKY9xFhrU65RT6CcBEzZoGG1e6Nq+DT04ZtZQ==",
+ "version": "8.57.0",
+ "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.57.0.tgz",
+ "integrity": "sha512-dZ6+mexnaTIbSBZWgou51U6OmzIhYM2VcNdtiTtI7qPNZm35Akpr0f6vtw3w1Kmn5PYo+tZVfh13WrhpS6oLqQ==",
"dev": true,
"requires": {
"@eslint-community/eslint-utils": "^4.2.0",
"@eslint-community/regexpp": "^4.6.1",
"@eslint/eslintrc": "^2.1.4",
- "@eslint/js": "8.56.0",
- "@humanwhocodes/config-array": "^0.11.13",
+ "@eslint/js": "8.57.0",
+ "@humanwhocodes/config-array": "^0.11.14",
"@humanwhocodes/module-importer": "^1.0.1",
"@nodelib/fs.walk": "^1.2.8",
"@ungap/structured-clone": "^1.2.0",
@@ -15500,24 +15091,27 @@
}
},
"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==",
+ "version": "0.4.1",
+ "resolved": "https://registry.npmjs.org/eslint-compat-utils/-/eslint-compat-utils-0.4.1.tgz",
+ "integrity": "sha512-5N7ZaJG5pZxUeNNJfUchurLVrunD1xJvyg5kYOIVF8kg1f3ajTikmAu/5fZ9w100omNPOoMjngRszh/Q/uFGMg==",
"dev": true,
- "requires": {}
+ "requires": {
+ "semver": "^7.5.4"
+ }
},
"eslint-plugin-jsonc": {
- "version": "2.11.2",
- "resolved": "https://registry.npmjs.org/eslint-plugin-jsonc/-/eslint-plugin-jsonc-2.11.2.tgz",
- "integrity": "sha512-F6A0MZhIGRBPOswzzn4tJFXXkPLiLwJaMlQwz/Qj1qx+bV5MCn79vBeJh2ynMmtqqHloi54KDCnsT/KWrcCcnQ==",
+ "version": "2.13.0",
+ "resolved": "https://registry.npmjs.org/eslint-plugin-jsonc/-/eslint-plugin-jsonc-2.13.0.tgz",
+ "integrity": "sha512-2wWdJfpO/UbZzPDABuUVvlUQjfMJa2p2iQfYt/oWxOMpXCcjuiMUSaA02gtY/Dbu82vpaSqc+O7Xq6ECHwtIxA==",
"dev": true,
"requires": {
"@eslint-community/eslint-utils": "^4.2.0",
- "eslint-compat-utils": "^0.1.2",
+ "eslint-compat-utils": "^0.4.0",
"espree": "^9.6.1",
"graphemer": "^1.4.0",
"jsonc-eslint-parser": "^2.0.4",
- "natural-compare": "^1.4.0"
+ "natural-compare": "^1.4.0",
+ "synckit": "^0.6.0"
}
},
"eslint-scope": {
@@ -15961,9 +15555,9 @@
}
},
"git-url-parse": {
- "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==",
+ "version": "14.0.0",
+ "resolved": "https://registry.npmjs.org/git-url-parse/-/git-url-parse-14.0.0.tgz",
+ "integrity": "sha512-NnLweV+2A4nCvn4U/m2AoYu0pPKlsmhK9cknG7IMwsjFY1S2jxM+mAhsDxyxfCIGfGaD+dozsyX4b6vkYc83yQ==",
"dev": true,
"requires": {
"git-up": "^7.0.0"
@@ -16085,6 +15679,12 @@
"integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==",
"dev": true
},
+ "highlight.js": {
+ "version": "10.7.3",
+ "resolved": "https://registry.npmjs.org/highlight.js/-/highlight.js-10.7.3.tgz",
+ "integrity": "sha512-tzcUFauisWKNHaRkN4Wjl/ZA07gENAjFl3J/c480dprkGTg5EQstgaNFqBfUqCq54kZRIEcreTsAgF/m2quD7A==",
+ "dev": true
+ },
"hook-std": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/hook-std/-/hook-std-3.0.0.tgz",
@@ -16914,16 +16514,16 @@
"dev": true
},
"marked-terminal": {
- "version": "6.0.0",
- "resolved": "https://registry.npmjs.org/marked-terminal/-/marked-terminal-6.0.0.tgz",
- "integrity": "sha512-6rruICvqRfA4N+Mvdc0UyDbLA0A0nI5omtARIlin3P2F+aNc3EbW91Rd9HTuD0v9qWyHmNIu8Bt40gAnPfldsg==",
+ "version": "7.0.0",
+ "resolved": "https://registry.npmjs.org/marked-terminal/-/marked-terminal-7.0.0.tgz",
+ "integrity": "sha512-sNEx8nn9Ktcm6pL0TnRz8tnXq/mSS0Q1FRSwJOAqw4lAB4l49UeDf85Gm1n9RPFm5qurCPjwi1StAQT2XExhZw==",
"dev": true,
"requires": {
"ansi-escapes": "^6.2.0",
- "cardinal": "^2.1.1",
"chalk": "^5.3.0",
+ "cli-highlight": "^2.1.11",
"cli-table3": "^0.6.3",
- "node-emoji": "^2.1.0",
+ "node-emoji": "^2.1.3",
"supports-hyperlinks": "^3.0.0"
},
"dependencies": {
@@ -17015,9 +16615,9 @@
}
},
"mocha": {
- "version": "10.2.0",
- "resolved": "https://registry.npmjs.org/mocha/-/mocha-10.2.0.tgz",
- "integrity": "sha512-IDY7fl/BecMwFHzoqF2sg/SHHANeBoMMXFlS9r0OXKDssYE1M5O43wUY/9BVPeIvfH2zmEbBfseqN9gBQZzXkg==",
+ "version": "10.3.0",
+ "resolved": "https://registry.npmjs.org/mocha/-/mocha-10.3.0.tgz",
+ "integrity": "sha512-uF2XJs+7xSLsrmIvn37i/wnc91nw7XjOQB8ccyx5aEgdnohr7n+rEiZP23WkCYHjilR6+EboEnbq/ZQDz4LSbg==",
"dev": true,
"requires": {
"ansi-colors": "4.1.1",
@@ -17027,13 +16627,12 @@
"diff": "5.0.0",
"escape-string-regexp": "4.0.0",
"find-up": "5.0.0",
- "glob": "7.2.0",
+ "glob": "8.1.0",
"he": "1.2.0",
"js-yaml": "4.1.0",
"log-symbols": "4.1.0",
"minimatch": "5.0.1",
"ms": "2.1.3",
- "nanoid": "3.3.3",
"serialize-javascript": "6.0.0",
"strip-json-comments": "3.1.1",
"supports-color": "8.1.1",
@@ -17058,6 +16657,19 @@
"balanced-match": "^1.0.0"
}
},
+ "glob": {
+ "version": "8.1.0",
+ "resolved": "https://registry.npmjs.org/glob/-/glob-8.1.0.tgz",
+ "integrity": "sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ==",
+ "dev": true,
+ "requires": {
+ "fs.realpath": "^1.0.0",
+ "inflight": "^1.0.4",
+ "inherits": "2",
+ "minimatch": "^5.0.1",
+ "once": "^1.3.0"
+ }
+ },
"js-yaml": {
"version": "4.1.0",
"resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz",
@@ -17178,15 +16790,15 @@
}
},
"moment": {
- "version": "2.29.4",
- "resolved": "https://registry.npmjs.org/moment/-/moment-2.29.4.tgz",
- "integrity": "sha512-5LC9SOxjSc2HF6vO2CyuTDNivEdoz2IvyJJGj6X8DJ0eFyfszE0QiEd+iXmBvUP3WHxSjFH/vIsA0EN00cgr8w==",
+ "version": "2.30.1",
+ "resolved": "https://registry.npmjs.org/moment/-/moment-2.30.1.tgz",
+ "integrity": "sha512-uEmtNhbDOrWPFS+hdjFCBfy9f2YoyzRpwcl+DqpC6taX21FzsTLQVbMV/W7PzNSX6x/bhC1zA3c2UQ5NzH6how==",
"dev": true
},
"moment-timezone": {
- "version": "0.5.43",
- "resolved": "https://registry.npmjs.org/moment-timezone/-/moment-timezone-0.5.43.tgz",
- "integrity": "sha512-72j3aNyuIsDxdF1i7CEgV2FfxM1r6aaqJyLB2vwb33mXYyoyLly+F1zbWqhA3/bVIoJ4szlUoMbUnVdid32NUQ==",
+ "version": "0.5.45",
+ "resolved": "https://registry.npmjs.org/moment-timezone/-/moment-timezone-0.5.45.tgz",
+ "integrity": "sha512-HIWmqA86KcmCAhnMAN0wuDOARV/525R2+lOLotuGFzn4HO+FH+/645z2wx0Dt3iDv6/p61SIvKnDstISainhLQ==",
"dev": true,
"requires": {
"moment": "^2.29.4"
@@ -17209,12 +16821,6 @@
"thenify-all": "^1.0.0"
}
},
- "nanoid": {
- "version": "3.3.3",
- "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.3.tgz",
- "integrity": "sha512-p1sjXuopFs0xg+fPASzQ28agW1oHD7xDsd9Xkf3T15H3c/cifrFHVwrh74PdoklAPi+i7MdRsE47vm2r6JoB+w==",
- "dev": true
- },
"natural-compare": {
"version": "1.4.0",
"resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz",
@@ -17234,12 +16840,12 @@
"dev": true
},
"node-emoji": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/node-emoji/-/node-emoji-2.1.0.tgz",
- "integrity": "sha512-tcsBm9C6FmPN5Wo7OjFi9lgMyJjvkAeirmjR/ax8Ttfqy4N8PoFic26uqFTIgayHPNI5FH4ltUvfh9kHzwcK9A==",
+ "version": "2.1.3",
+ "resolved": "https://registry.npmjs.org/node-emoji/-/node-emoji-2.1.3.tgz",
+ "integrity": "sha512-E2WEOVsgs7O16zsURJ/eH8BqhF029wGpEOnv7Urwdo2wmQanOACwJQh0devF9D9RhoZru0+9JXIS0dBXIAz+lA==",
"dev": true,
"requires": {
- "@sindresorhus/is": "^3.1.2",
+ "@sindresorhus/is": "^4.6.0",
"char-regex": "^1.0.2",
"emojilib": "^2.4.0",
"skin-tone": "^2.0.0"
@@ -17322,25 +16928,25 @@
"dev": true
},
"npm": {
- "version": "10.2.0",
- "resolved": "https://registry.npmjs.org/npm/-/npm-10.2.0.tgz",
- "integrity": "sha512-Auyq6d4cfg/SY4URjZE2aePLOPzK4lUD+qyMxY/7HbxAvCnOCKtMlyLPcbLSOq9lhEGBZN800S1o+UmfjA5dTg==",
+ "version": "10.5.0",
+ "resolved": "https://registry.npmjs.org/npm/-/npm-10.5.0.tgz",
+ "integrity": "sha512-Ejxwvfh9YnWVU2yA5FzoYLTW52vxHCz+MHrOFg9Cc8IFgF/6f5AGPAvb5WTay5DIUP1NIfN3VBZ0cLlGO0Ys+A==",
"dev": true,
"requires": {
"@isaacs/string-locale-compare": "^1.1.0",
- "@npmcli/arborist": "^7.2.0",
- "@npmcli/config": "^8.0.0",
+ "@npmcli/arborist": "^7.2.1",
+ "@npmcli/config": "^8.0.2",
"@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",
+ "@npmcli/promise-spawn": "^7.0.1",
+ "@npmcli/run-script": "^7.0.4",
+ "@sigstore/tuf": "^2.3.1",
"abbrev": "^2.0.0",
"archy": "~1.0.0",
- "cacache": "^18.0.0",
+ "cacache": "^18.0.2",
"chalk": "^5.3.0",
- "ci-info": "^3.8.0",
+ "ci-info": "^4.0.0",
"cli-columns": "^4.0.0",
"cli-table3": "^0.6.3",
"columnify": "^1.6.0",
@@ -17351,45 +16957,44 @@
"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",
+ "is-cidr": "^5.0.3",
+ "json-parse-even-better-errors": "^3.0.1",
"libnpmaccess": "^8.0.1",
- "libnpmdiff": "^6.0.2",
- "libnpmexec": "^7.0.2",
- "libnpmfund": "^5.0.0",
+ "libnpmdiff": "^6.0.3",
+ "libnpmexec": "^7.0.4",
+ "libnpmfund": "^5.0.1",
"libnpmhook": "^10.0.0",
"libnpmorg": "^6.0.1",
- "libnpmpack": "^6.0.2",
- "libnpmpublish": "^9.0.1",
+ "libnpmpack": "^6.0.3",
+ "libnpmpublish": "^9.0.2",
"libnpmsearch": "^7.0.0",
"libnpmteam": "^6.0.0",
- "libnpmversion": "^5.0.0",
+ "libnpmversion": "^5.0.1",
"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.4.0",
+ "node-gyp": "^10.0.1",
"nopt": "^7.2.0",
"normalize-package-data": "^6.0.0",
"npm-audit-report": "^5.0.0",
- "npm-install-checks": "^6.2.0",
+ "npm-install-checks": "^6.3.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-registry-fetch": "^16.1.0",
"npm-user-validate": "^2.0.0",
"npmlog": "^7.0.1",
"p-map": "^4.0.0",
- "pacote": "^17.0.4",
+ "pacote": "^17.0.6",
"parse-conflict-json": "^3.0.1",
"proc-log": "^3.0.0",
"qrcode-terminal": "^0.12.0",
"read": "^2.1.0",
- "semver": "^7.5.4",
+ "semver": "^7.6.0",
"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",
@@ -17455,7 +17060,7 @@
"dev": true
},
"@npmcli/agent": {
- "version": "2.2.0",
+ "version": "2.2.1",
"bundled": true,
"dev": true,
"requires": {
@@ -17464,48 +17069,10 @@
"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": "7.2.0",
+ "version": "7.4.0",
"bundled": true,
"dev": true,
"requires": {
@@ -17517,8 +17084,8 @@
"@npmcli/name-from-folder": "^2.0.0",
"@npmcli/node-gyp": "^3.0.0",
"@npmcli/package-json": "^5.0.0",
- "@npmcli/query": "^3.0.1",
- "@npmcli/run-script": "^7.0.1",
+ "@npmcli/query": "^3.1.0",
+ "@npmcli/run-script": "^7.0.2",
"bin-links": "^4.0.1",
"cacache": "^18.0.0",
"common-ancestor-path": "^1.0.1",
@@ -17536,7 +17103,7 @@
"parse-conflict-json": "^3.0.0",
"proc-log": "^3.0.0",
"promise-all-reject-late": "^1.0.0",
- "promise-call-limit": "^1.0.2",
+ "promise-call-limit": "^3.0.1",
"read-package-json-fast": "^3.0.2",
"semver": "^7.3.7",
"ssri": "^10.0.5",
@@ -17545,12 +17112,12 @@
}
},
"@npmcli/config": {
- "version": "8.0.0",
+ "version": "8.2.0",
"bundled": true,
"dev": true,
"requires": {
"@npmcli/map-workspaces": "^3.0.2",
- "ci-info": "^3.8.0",
+ "ci-info": "^4.0.0",
"ini": "^4.1.0",
"nopt": "^7.0.0",
"proc-log": "^3.0.0",
@@ -17565,6 +17132,16 @@
"dev": true,
"requires": {
"ansi-styles": "^4.3.0"
+ },
+ "dependencies": {
+ "ansi-styles": {
+ "version": "4.3.0",
+ "bundled": true,
+ "dev": true,
+ "requires": {
+ "color-convert": "^2.0.1"
+ }
+ }
}
},
"@npmcli/fs": {
@@ -17576,7 +17153,7 @@
}
},
"@npmcli/git": {
- "version": "5.0.3",
+ "version": "5.0.4",
"bundled": true,
"dev": true,
"requires": {
@@ -17646,7 +17223,7 @@
}
},
"@npmcli/promise-spawn": {
- "version": "7.0.0",
+ "version": "7.0.1",
"bundled": true,
"dev": true,
"requires": {
@@ -17654,7 +17231,7 @@
}
},
"@npmcli/query": {
- "version": "3.0.1",
+ "version": "3.1.0",
"bundled": true,
"dev": true,
"requires": {
@@ -17662,14 +17239,14 @@
}
},
"@npmcli/run-script": {
- "version": "7.0.1",
+ "version": "7.0.4",
"bundled": true,
"dev": true,
"requires": {
"@npmcli/node-gyp": "^3.0.0",
+ "@npmcli/package-json": "^5.0.0",
"@npmcli/promise-spawn": "^7.0.0",
- "node-gyp": "^9.0.0",
- "read-package-json-fast": "^3.0.0",
+ "node-gyp": "^10.0.0",
"which": "^4.0.0"
}
},
@@ -17680,41 +17257,52 @@
"optional": true
},
"@sigstore/bundle": {
- "version": "2.1.0",
+ "version": "2.2.0",
"bundled": true,
"dev": true,
"requires": {
- "@sigstore/protobuf-specs": "^0.2.1"
+ "@sigstore/protobuf-specs": "^0.3.0"
}
},
+ "@sigstore/core": {
+ "version": "1.0.0",
+ "bundled": true,
+ "dev": true
+ },
"@sigstore/protobuf-specs": {
- "version": "0.2.1",
+ "version": "0.3.0",
"bundled": true,
"dev": true
},
"@sigstore/sign": {
- "version": "2.1.0",
+ "version": "2.2.3",
"bundled": true,
"dev": true,
"requires": {
- "@sigstore/bundle": "^2.1.0",
- "@sigstore/protobuf-specs": "^0.2.1",
+ "@sigstore/bundle": "^2.2.0",
+ "@sigstore/core": "^1.0.0",
+ "@sigstore/protobuf-specs": "^0.3.0",
"make-fetch-happen": "^13.0.0"
}
},
"@sigstore/tuf": {
- "version": "2.1.0",
+ "version": "2.3.1",
"bundled": true,
"dev": true,
"requires": {
- "@sigstore/protobuf-specs": "^0.2.1",
- "tuf-js": "^2.1.0"
+ "@sigstore/protobuf-specs": "^0.3.0",
+ "tuf-js": "^2.2.0"
}
},
- "@tootallnate/once": {
- "version": "2.0.0",
+ "@sigstore/verify": {
+ "version": "1.1.0",
"bundled": true,
- "dev": true
+ "dev": true,
+ "requires": {
+ "@sigstore/bundle": "^2.2.0",
+ "@sigstore/core": "^1.0.0",
+ "@sigstore/protobuf-specs": "^0.3.0"
+ }
},
"@tufjs/canonical-json": {
"version": "2.0.0",
@@ -17735,28 +17323,12 @@
"bundled": true,
"dev": true
},
- "abort-controller": {
- "version": "3.0.0",
- "bundled": true,
- "dev": true,
- "requires": {
- "event-target-shim": "^5.0.0"
- }
- },
"agent-base": {
- "version": "6.0.2",
- "bundled": true,
- "dev": true,
- "requires": {
- "debug": "4"
- }
- },
- "agentkeepalive": {
- "version": "4.5.0",
+ "version": "7.1.0",
"bundled": true,
"dev": true,
"requires": {
- "humanize-ms": "^1.2.1"
+ "debug": "^4.3.4"
}
},
"aggregate-error": {
@@ -17774,12 +17346,9 @@
"dev": true
},
"ansi-styles": {
- "version": "4.3.0",
+ "version": "6.2.1",
"bundled": true,
- "dev": true,
- "requires": {
- "color-convert": "^2.0.1"
- }
+ "dev": true
},
"aproba": {
"version": "2.0.0",
@@ -17792,26 +17361,17 @@
"dev": true
},
"are-we-there-yet": {
- "version": "4.0.0",
+ "version": "4.0.2",
"bundled": true,
- "dev": true,
- "requires": {
- "delegates": "^1.0.0",
- "readable-stream": "^4.1.0"
- }
+ "dev": true
},
"balanced-match": {
"version": "1.0.2",
"bundled": true,
"dev": true
},
- "base64-js": {
- "version": "1.5.1",
- "bundled": true,
- "dev": true
- },
"bin-links": {
- "version": "4.0.2",
+ "version": "4.0.3",
"bundled": true,
"dev": true,
"requires": {
@@ -17834,15 +17394,6 @@
"balanced-match": "^1.0.0"
}
},
- "buffer": {
- "version": "6.0.3",
- "bundled": true,
- "dev": true,
- "requires": {
- "base64-js": "^1.3.1",
- "ieee754": "^1.2.1"
- }
- },
"builtins": {
"version": "5.0.1",
"bundled": true,
@@ -17852,7 +17403,7 @@
}
},
"cacache": {
- "version": "18.0.0",
+ "version": "18.0.2",
"bundled": true,
"dev": true,
"requires": {
@@ -17861,7 +17412,7 @@
"glob": "^10.2.2",
"lru-cache": "^10.0.1",
"minipass": "^7.0.3",
- "minipass-collect": "^1.0.2",
+ "minipass-collect": "^2.0.1",
"minipass-flush": "^1.0.5",
"minipass-pipeline": "^1.2.4",
"p-map": "^4.0.0",
@@ -17881,16 +17432,16 @@
"dev": true
},
"ci-info": {
- "version": "3.8.0",
+ "version": "4.0.0",
"bundled": true,
"dev": true
},
"cidr-regex": {
- "version": "3.1.1",
+ "version": "4.0.3",
"bundled": true,
"dev": true,
"requires": {
- "ip-regex": "^4.1.0"
+ "ip-regex": "^5.0.0"
}
},
"clean-stack": {
@@ -17922,7 +17473,7 @@
"dev": true
},
"cmd-shim": {
- "version": "6.0.1",
+ "version": "6.0.2",
"bundled": true,
"dev": true
},
@@ -17958,11 +17509,6 @@
"bundled": true,
"dev": true
},
- "concat-map": {
- "version": "0.0.1",
- "bundled": true,
- "dev": true
- },
"console-control-strings": {
"version": "1.1.0",
"bundled": true,
@@ -18016,13 +17562,8 @@
"clone": "^1.0.2"
}
},
- "delegates": {
- "version": "1.0.0",
- "bundled": true,
- "dev": true
- },
"diff": {
- "version": "5.1.0",
+ "version": "5.2.0",
"bundled": true,
"dev": true
},
@@ -18055,16 +17596,6 @@
"bundled": true,
"dev": true
},
- "event-target-shim": {
- "version": "5.0.1",
- "bundled": true,
- "dev": true
- },
- "events": {
- "version": "3.3.0",
- "bundled": true,
- "dev": true
- },
"exponential-backoff": {
"version": "3.1.1",
"bundled": true,
@@ -18092,13 +17623,8 @@
"minipass": "^7.0.3"
}
},
- "fs.realpath": {
- "version": "1.0.0",
- "bundled": true,
- "dev": true
- },
"function-bind": {
- "version": "1.1.1",
+ "version": "1.1.2",
"bundled": true,
"dev": true
},
@@ -18134,19 +17660,19 @@
"bundled": true,
"dev": true
},
- "has": {
- "version": "1.0.3",
- "bundled": true,
- "dev": true,
- "requires": {
- "function-bind": "^1.1.1"
- }
- },
"has-unicode": {
"version": "2.0.1",
"bundled": true,
"dev": true
},
+ "hasown": {
+ "version": "2.0.1",
+ "bundled": true,
+ "dev": true,
+ "requires": {
+ "function-bind": "^1.1.2"
+ }
+ },
"hosted-git-info": {
"version": "7.0.1",
"bundled": true,
@@ -18161,32 +17687,23 @@
"dev": true
},
"http-proxy-agent": {
- "version": "5.0.0",
+ "version": "7.0.2",
"bundled": true,
"dev": true,
"requires": {
- "@tootallnate/once": "2",
- "agent-base": "6",
- "debug": "4"
+ "agent-base": "^7.1.0",
+ "debug": "^4.3.4"
}
},
"https-proxy-agent": {
- "version": "5.0.1",
+ "version": "7.0.4",
"bundled": true,
"dev": true,
"requires": {
- "agent-base": "6",
+ "agent-base": "^7.0.2",
"debug": "4"
}
},
- "humanize-ms": {
- "version": "1.2.1",
- "bundled": true,
- "dev": true,
- "requires": {
- "ms": "^2.0.0"
- }
- },
"iconv-lite": {
"version": "0.6.3",
"bundled": true,
@@ -18196,13 +17713,8 @@
"safer-buffer": ">= 2.1.2 < 3.0.0"
}
},
- "ieee754": {
- "version": "1.2.1",
- "bundled": true,
- "dev": true
- },
"ignore-walk": {
- "version": "6.0.3",
+ "version": "6.0.4",
"bundled": true,
"dev": true,
"requires": {
@@ -18219,20 +17731,6 @@
"bundled": true,
"dev": true
},
- "inflight": {
- "version": "1.0.6",
- "bundled": true,
- "dev": true,
- "requires": {
- "once": "^1.3.0",
- "wrappy": "1"
- }
- },
- "inherits": {
- "version": "2.0.4",
- "bundled": true,
- "dev": true
- },
"ini": {
"version": "4.1.1",
"bundled": true,
@@ -18252,30 +17750,41 @@
"validate-npm-package-name": "^5.0.0"
}
},
- "ip": {
- "version": "2.0.0",
+ "ip-address": {
+ "version": "9.0.5",
"bundled": true,
- "dev": true
+ "dev": true,
+ "requires": {
+ "jsbn": "1.1.0",
+ "sprintf-js": "^1.1.3"
+ },
+ "dependencies": {
+ "sprintf-js": {
+ "version": "1.1.3",
+ "bundled": true,
+ "dev": true
+ }
+ }
},
"ip-regex": {
- "version": "4.3.0",
+ "version": "5.0.0",
"bundled": true,
"dev": true
},
"is-cidr": {
- "version": "4.0.2",
+ "version": "5.0.3",
"bundled": true,
"dev": true,
"requires": {
- "cidr-regex": "^3.1.1"
+ "cidr-regex": "4.0.3"
}
},
"is-core-module": {
- "version": "2.12.1",
+ "version": "2.13.1",
"bundled": true,
"dev": true,
"requires": {
- "has": "^1.0.3"
+ "hasown": "^2.0.0"
}
},
"is-fullwidth-code-point": {
@@ -18302,8 +17811,13 @@
"@pkgjs/parseargs": "^0.11.0"
}
},
+ "jsbn": {
+ "version": "1.1.0",
+ "bundled": true,
+ "dev": true
+ },
"json-parse-even-better-errors": {
- "version": "3.0.0",
+ "version": "3.0.1",
"bundled": true,
"dev": true
},
@@ -18328,7 +17842,7 @@
"dev": true
},
"libnpmaccess": {
- "version": "8.0.1",
+ "version": "8.0.2",
"bundled": true,
"dev": true,
"requires": {
@@ -18337,11 +17851,11 @@
}
},
"libnpmdiff": {
- "version": "6.0.2",
+ "version": "6.0.7",
"bundled": true,
"dev": true,
"requires": {
- "@npmcli/arborist": "^7.2.0",
+ "@npmcli/arborist": "^7.2.1",
"@npmcli/disparity-colors": "^3.0.0",
"@npmcli/installed-package-contents": "^2.0.2",
"binary-extensions": "^2.2.0",
@@ -18353,13 +17867,13 @@
}
},
"libnpmexec": {
- "version": "7.0.2",
+ "version": "7.0.8",
"bundled": true,
"dev": true,
"requires": {
- "@npmcli/arborist": "^7.2.0",
- "@npmcli/run-script": "^7.0.1",
- "ci-info": "^3.7.1",
+ "@npmcli/arborist": "^7.2.1",
+ "@npmcli/run-script": "^7.0.2",
+ "ci-info": "^4.0.0",
"npm-package-arg": "^11.0.1",
"npmlog": "^7.0.1",
"pacote": "^17.0.4",
@@ -18371,15 +17885,15 @@
}
},
"libnpmfund": {
- "version": "5.0.0",
+ "version": "5.0.5",
"bundled": true,
"dev": true,
"requires": {
- "@npmcli/arborist": "^7.2.0"
+ "@npmcli/arborist": "^7.2.1"
}
},
"libnpmhook": {
- "version": "10.0.0",
+ "version": "10.0.1",
"bundled": true,
"dev": true,
"requires": {
@@ -18388,7 +17902,7 @@
}
},
"libnpmorg": {
- "version": "6.0.1",
+ "version": "6.0.2",
"bundled": true,
"dev": true,
"requires": {
@@ -18397,33 +17911,33 @@
}
},
"libnpmpack": {
- "version": "6.0.2",
+ "version": "6.0.7",
"bundled": true,
"dev": true,
"requires": {
- "@npmcli/arborist": "^7.2.0",
- "@npmcli/run-script": "^7.0.1",
+ "@npmcli/arborist": "^7.2.1",
+ "@npmcli/run-script": "^7.0.2",
"npm-package-arg": "^11.0.1",
"pacote": "^17.0.4"
}
},
"libnpmpublish": {
- "version": "9.0.1",
+ "version": "9.0.4",
"bundled": true,
"dev": true,
"requires": {
- "ci-info": "^3.6.1",
+ "ci-info": "^4.0.0",
"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": "^2.1.0",
+ "sigstore": "^2.2.0",
"ssri": "^10.0.5"
}
},
"libnpmsearch": {
- "version": "7.0.0",
+ "version": "7.0.1",
"bundled": true,
"dev": true,
"requires": {
@@ -18431,7 +17945,7 @@
}
},
"libnpmteam": {
- "version": "6.0.0",
+ "version": "6.0.1",
"bundled": true,
"dev": true,
"requires": {
@@ -18440,19 +17954,19 @@
}
},
"libnpmversion": {
- "version": "5.0.0",
+ "version": "5.0.2",
"bundled": true,
"dev": true,
"requires": {
"@npmcli/git": "^5.0.3",
- "@npmcli/run-script": "^7.0.1",
+ "@npmcli/run-script": "^7.0.2",
"json-parse-even-better-errors": "^3.0.0",
"proc-log": "^3.0.0",
"semver": "^7.3.7"
}
},
"lru-cache": {
- "version": "10.0.1",
+ "version": "10.2.0",
"bundled": true,
"dev": true
},
@@ -18488,21 +18002,11 @@
"dev": true
},
"minipass-collect": {
- "version": "1.0.2",
+ "version": "2.0.1",
"bundled": true,
"dev": true,
"requires": {
- "minipass": "^3.0.0"
- },
- "dependencies": {
- "minipass": {
- "version": "3.3.6",
- "bundled": true,
- "dev": true,
- "requires": {
- "yallist": "^4.0.0"
- }
- }
+ "minipass": "^7.0.3"
}
},
"minipass-fetch": {
@@ -18629,210 +18133,20 @@
"dev": true
},
"node-gyp": {
- "version": "9.4.0",
+ "version": "10.0.1",
"bundled": true,
"dev": true,
"requires": {
"env-paths": "^2.2.0",
"exponential-backoff": "^3.1.1",
- "glob": "^7.1.4",
+ "glob": "^10.3.10",
"graceful-fs": "^4.2.6",
- "make-fetch-happen": "^11.0.3",
- "nopt": "^6.0.0",
- "npmlog": "^6.0.0",
- "rimraf": "^3.0.2",
+ "make-fetch-happen": "^13.0.0",
+ "nopt": "^7.0.0",
+ "proc-log": "^3.0.0",
"semver": "^7.3.5",
"tar": "^6.1.2",
- "which": "^2.0.2"
- },
- "dependencies": {
- "abbrev": {
- "version": "1.1.1",
- "bundled": true,
- "dev": true
- },
- "are-we-there-yet": {
- "version": "3.0.1",
- "bundled": true,
- "dev": true,
- "requires": {
- "delegates": "^1.0.0",
- "readable-stream": "^3.6.0"
- }
- },
- "brace-expansion": {
- "version": "1.1.11",
- "bundled": true,
- "dev": true,
- "requires": {
- "balanced-match": "^1.0.0",
- "concat-map": "0.0.1"
- }
- },
- "cacache": {
- "version": "17.1.4",
- "bundled": true,
- "dev": true,
- "requires": {
- "@npmcli/fs": "^3.1.0",
- "fs-minipass": "^3.0.0",
- "glob": "^10.2.2",
- "lru-cache": "^7.7.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",
- "ssri": "^10.0.0",
- "tar": "^6.1.11",
- "unique-filename": "^3.0.0"
- },
- "dependencies": {
- "brace-expansion": {
- "version": "2.0.1",
- "bundled": true,
- "dev": true,
- "requires": {
- "balanced-match": "^1.0.0"
- }
- },
- "glob": {
- "version": "10.3.3",
- "bundled": true,
- "dev": true,
- "requires": {
- "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": "9.0.3",
- "bundled": true,
- "dev": true,
- "requires": {
- "brace-expansion": "^2.0.1"
- }
- },
- "minipass": {
- "version": "7.0.3",
- "bundled": true,
- "dev": true
- }
- }
- },
- "gauge": {
- "version": "4.0.4",
- "bundled": true,
- "dev": true,
- "requires": {
- "aproba": "^1.0.3 || ^2.0.0",
- "color-support": "^1.1.3",
- "console-control-strings": "^1.1.0",
- "has-unicode": "^2.0.1",
- "signal-exit": "^3.0.7",
- "string-width": "^4.2.3",
- "strip-ansi": "^6.0.1",
- "wide-align": "^1.1.5"
- }
- },
- "glob": {
- "version": "7.2.3",
- "bundled": true,
- "dev": true,
- "requires": {
- "fs.realpath": "^1.0.0",
- "inflight": "^1.0.4",
- "inherits": "2",
- "minimatch": "^3.1.1",
- "once": "^1.3.0",
- "path-is-absolute": "^1.0.0"
- }
- },
- "lru-cache": {
- "version": "7.18.3",
- "bundled": true,
- "dev": true
- },
- "make-fetch-happen": {
- "version": "11.1.1",
- "bundled": true,
- "dev": true,
- "requires": {
- "agentkeepalive": "^4.2.1",
- "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": "^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": "^10.0.0"
- }
- },
- "minimatch": {
- "version": "3.1.2",
- "bundled": true,
- "dev": true,
- "requires": {
- "brace-expansion": "^1.1.7"
- }
- },
- "minipass": {
- "version": "5.0.0",
- "bundled": true,
- "dev": true
- },
- "nopt": {
- "version": "6.0.0",
- "bundled": true,
- "dev": true,
- "requires": {
- "abbrev": "^1.0.0"
- }
- },
- "npmlog": {
- "version": "6.0.2",
- "bundled": true,
- "dev": true,
- "requires": {
- "are-we-there-yet": "^3.0.0",
- "console-control-strings": "^1.1.0",
- "gauge": "^4.0.3",
- "set-blocking": "^2.0.0"
- }
- },
- "readable-stream": {
- "version": "3.6.2",
- "bundled": true,
- "dev": true,
- "requires": {
- "inherits": "^2.0.3",
- "string_decoder": "^1.1.1",
- "util-deprecate": "^1.0.1"
- }
- },
- "signal-exit": {
- "version": "3.0.7",
- "bundled": true,
- "dev": true
- },
- "which": {
- "version": "2.0.2",
- "bundled": true,
- "dev": true,
- "requires": {
- "isexe": "^2.0.0"
- }
- }
+ "which": "^4.0.0"
}
},
"nopt": {
@@ -18868,7 +18182,7 @@
}
},
"npm-install-checks": {
- "version": "6.2.0",
+ "version": "6.3.0",
"bundled": true,
"dev": true,
"requires": {
@@ -18892,11 +18206,11 @@
}
},
"npm-packlist": {
- "version": "8.0.0",
+ "version": "8.0.2",
"bundled": true,
"dev": true,
"requires": {
- "ignore-walk": "^6.0.0"
+ "ignore-walk": "^6.0.4"
}
},
"npm-pick-manifest": {
@@ -18920,7 +18234,7 @@
}
},
"npm-registry-fetch": {
- "version": "16.0.0",
+ "version": "16.1.0",
"bundled": true,
"dev": true,
"requires": {
@@ -18949,14 +18263,6 @@
"set-blocking": "^2.0.0"
}
},
- "once": {
- "version": "1.4.0",
- "bundled": true,
- "dev": true,
- "requires": {
- "wrappy": "1"
- }
- },
"p-map": {
"version": "4.0.0",
"bundled": true,
@@ -18966,7 +18272,7 @@
}
},
"pacote": {
- "version": "17.0.4",
+ "version": "17.0.6",
"bundled": true,
"dev": true,
"requires": {
@@ -18985,7 +18291,7 @@
"promise-retry": "^2.0.1",
"read-package-json": "^7.0.0",
"read-package-json-fast": "^3.0.0",
- "sigstore": "^2.0.0",
+ "sigstore": "^2.2.0",
"ssri": "^10.0.0",
"tar": "^6.1.11"
}
@@ -19000,11 +18306,6 @@
"just-diff-apply": "^5.2.0"
}
},
- "path-is-absolute": {
- "version": "1.0.1",
- "bundled": true,
- "dev": true
- },
"path-key": {
"version": "3.1.1",
"bundled": true,
@@ -19020,7 +18321,7 @@
}
},
"postcss-selector-parser": {
- "version": "6.0.13",
+ "version": "6.0.15",
"bundled": true,
"dev": true,
"requires": {
@@ -19033,18 +18334,13 @@
"bundled": true,
"dev": true
},
- "process": {
- "version": "0.11.10",
- "bundled": true,
- "dev": true
- },
"promise-all-reject-late": {
"version": "1.0.1",
"bundled": true,
"dev": true
},
"promise-call-limit": {
- "version": "1.0.2",
+ "version": "3.0.1",
"bundled": true,
"dev": true
},
@@ -19108,67 +18404,11 @@
"npm-normalize-package-bin": "^3.0.0"
}
},
- "readable-stream": {
- "version": "4.4.0",
- "bundled": true,
- "dev": true,
- "requires": {
- "abort-controller": "^3.0.0",
- "buffer": "^6.0.3",
- "events": "^3.3.0",
- "process": "^0.11.10"
- }
- },
"retry": {
"version": "0.12.0",
"bundled": true,
"dev": true
},
- "rimraf": {
- "version": "3.0.2",
- "bundled": true,
- "dev": true,
- "requires": {
- "glob": "^7.1.3"
- },
- "dependencies": {
- "brace-expansion": {
- "version": "1.1.11",
- "bundled": true,
- "dev": true,
- "requires": {
- "balanced-match": "^1.0.0",
- "concat-map": "0.0.1"
- }
- },
- "glob": {
- "version": "7.2.3",
- "bundled": true,
- "dev": true,
- "requires": {
- "fs.realpath": "^1.0.0",
- "inflight": "^1.0.4",
- "inherits": "2",
- "minimatch": "^3.1.1",
- "once": "^1.3.0",
- "path-is-absolute": "^1.0.0"
- }
- },
- "minimatch": {
- "version": "3.1.2",
- "bundled": true,
- "dev": true,
- "requires": {
- "brace-expansion": "^1.1.7"
- }
- }
- }
- },
- "safe-buffer": {
- "version": "5.2.1",
- "bundled": true,
- "dev": true
- },
"safer-buffer": {
"version": "2.1.2",
"bundled": true,
@@ -19176,7 +18416,7 @@
"optional": true
},
"semver": {
- "version": "7.5.4",
+ "version": "7.6.0",
"bundled": true,
"dev": true,
"requires": {
@@ -19212,19 +18452,21 @@
"dev": true
},
"signal-exit": {
- "version": "4.0.2",
+ "version": "4.1.0",
"bundled": true,
"dev": true
},
"sigstore": {
- "version": "2.1.0",
+ "version": "2.2.2",
"bundled": true,
"dev": true,
"requires": {
- "@sigstore/bundle": "^2.1.0",
- "@sigstore/protobuf-specs": "^0.2.1",
- "@sigstore/sign": "^2.1.0",
- "@sigstore/tuf": "^2.1.0"
+ "@sigstore/bundle": "^2.2.0",
+ "@sigstore/core": "^1.0.0",
+ "@sigstore/protobuf-specs": "^0.3.0",
+ "@sigstore/sign": "^2.2.3",
+ "@sigstore/tuf": "^2.3.1",
+ "@sigstore/verify": "^1.1.0"
}
},
"smart-buffer": {
@@ -19233,22 +18475,22 @@
"dev": true
},
"socks": {
- "version": "2.7.1",
+ "version": "2.8.0",
"bundled": true,
"dev": true,
"requires": {
- "ip": "^2.0.0",
+ "ip-address": "^9.0.5",
"smart-buffer": "^4.2.0"
}
},
"socks-proxy-agent": {
- "version": "7.0.0",
+ "version": "8.0.2",
"bundled": true,
"dev": true,
"requires": {
- "agent-base": "^6.0.2",
- "debug": "^4.3.3",
- "socks": "^2.6.2"
+ "agent-base": "^7.0.2",
+ "debug": "^4.3.4",
+ "socks": "^2.7.1"
}
},
"spdx-correct": {
@@ -19261,7 +18503,7 @@
}
},
"spdx-exceptions": {
- "version": "2.3.0",
+ "version": "2.5.0",
"bundled": true,
"dev": true
},
@@ -19275,7 +18517,7 @@
}
},
"spdx-license-ids": {
- "version": "3.0.13",
+ "version": "3.0.17",
"bundled": true,
"dev": true
},
@@ -19287,14 +18529,6 @@
"minipass": "^7.0.3"
}
},
- "string_decoder": {
- "version": "1.3.0",
- "bundled": true,
- "dev": true,
- "requires": {
- "safe-buffer": "~5.2.0"
- }
- },
"string-width": {
"version": "4.2.3",
"bundled": true,
@@ -19390,7 +18624,7 @@
"dev": true
},
"tuf-js": {
- "version": "2.1.0",
+ "version": "2.2.0",
"bundled": true,
"dev": true,
"requires": {
@@ -19488,11 +18722,6 @@
"bundled": true,
"dev": true
},
- "ansi-styles": {
- "version": "6.2.1",
- "bundled": true,
- "dev": true
- },
"emoji-regex": {
"version": "9.2.2",
"bundled": true,
@@ -19526,13 +18755,18 @@
"ansi-styles": "^4.0.0",
"string-width": "^4.1.0",
"strip-ansi": "^6.0.0"
+ },
+ "dependencies": {
+ "ansi-styles": {
+ "version": "4.3.0",
+ "bundled": true,
+ "dev": true,
+ "requires": {
+ "color-convert": "^2.0.1"
+ }
+ }
}
},
- "wrappy": {
- "version": "1.0.2",
- "bundled": true,
- "dev": true
- },
"write-file-atomic": {
"version": "5.0.1",
"bundled": true,
@@ -19932,6 +19166,29 @@
"parse-path": "^7.0.0"
}
},
+ "parse5": {
+ "version": "5.1.1",
+ "resolved": "https://registry.npmjs.org/parse5/-/parse5-5.1.1.tgz",
+ "integrity": "sha512-ugq4DFI0Ptb+WWjAdOK16+u/nHfiIrcE+sh8kZMaM0WllQKLI9rOUq6c2b7cwPkXdzfQESqvoqK6ug7U/Yyzug==",
+ "dev": true
+ },
+ "parse5-htmlparser2-tree-adapter": {
+ "version": "6.0.1",
+ "resolved": "https://registry.npmjs.org/parse5-htmlparser2-tree-adapter/-/parse5-htmlparser2-tree-adapter-6.0.1.tgz",
+ "integrity": "sha512-qPuWvbLgvDGilKc5BoicRovlT4MtYT6JfJyBOMDsKoiT+GiuP5qyrPCnR9HcPECIJJmZh5jRndyNThnhhb/vlA==",
+ "dev": true,
+ "requires": {
+ "parse5": "^6.0.1"
+ },
+ "dependencies": {
+ "parse5": {
+ "version": "6.0.1",
+ "resolved": "https://registry.npmjs.org/parse5/-/parse5-6.0.1.tgz",
+ "integrity": "sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw==",
+ "dev": true
+ }
+ }
+ },
"path-exists": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz",
@@ -20486,15 +19743,6 @@
"picomatch": "^2.2.1"
}
},
- "redeyed": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/redeyed/-/redeyed-2.1.1.tgz",
- "integrity": "sha512-FNpGGo1DycYAdnrKFxCMmKYgo/mILAqtRYbkdQD8Ep/Hk2PQ5+aEAEx+IU713RTDmuBaH0c8P5ZozurNu5ObRQ==",
- "dev": true,
- "requires": {
- "esprima": "~4.0.0"
- }
- },
"registry-auth-token": {
"version": "5.0.1",
"resolved": "https://registry.npmjs.org/registry-auth-token/-/registry-auth-token-5.0.1.tgz",
@@ -20602,9 +19850,9 @@
"dev": true
},
"semantic-release": {
- "version": "22.0.12",
- "resolved": "https://registry.npmjs.org/semantic-release/-/semantic-release-22.0.12.tgz",
- "integrity": "sha512-0mhiCR/4sZb00RVFJIUlMuiBkW3NMpVIW2Gse7noqEMoFGkvfPPAImEQbkBV8xga4KOPP4FdTRYuLLy32R1fPw==",
+ "version": "23.0.2",
+ "resolved": "https://registry.npmjs.org/semantic-release/-/semantic-release-23.0.2.tgz",
+ "integrity": "sha512-OnVYJ6Xgzwe1x8MKswba7RU9+5djS1MWRTrTn5qsq3xZYpslroZkV9Pt0dA2YcIuieeuSZWJhn+yUWoBUHO5Fw==",
"dev": true,
"requires": {
"@semantic-release/commit-analyzer": "^11.0.0",
@@ -20613,9 +19861,9 @@
"@semantic-release/npm": "^11.0.0",
"@semantic-release/release-notes-generator": "^12.0.0",
"aggregate-error": "^5.0.0",
- "cosmiconfig": "^8.0.0",
+ "cosmiconfig": "^9.0.0",
"debug": "^4.0.0",
- "env-ci": "^10.0.0",
+ "env-ci": "^11.0.0",
"execa": "^8.0.0",
"figures": "^6.0.0",
"find-versions": "^5.1.0",
@@ -20625,8 +19873,8 @@
"hosted-git-info": "^7.0.0",
"import-from-esm": "^1.3.1",
"lodash-es": "^4.17.21",
- "marked": "^9.0.0",
- "marked-terminal": "^6.0.0",
+ "marked": "^12.0.0",
+ "marked-terminal": "^7.0.0",
"micromatch": "^4.0.2",
"p-each-series": "^3.0.0",
"p-reduce": "^3.0.0",
@@ -20724,9 +19972,9 @@
"dev": true
},
"marked": {
- "version": "9.1.2",
- "resolved": "https://registry.npmjs.org/marked/-/marked-9.1.2.tgz",
- "integrity": "sha512-qoKMJqK0w6vkLk8+KnKZAH6neUZSNaQqVZ/h2yZ9S7CbLuFHyS2viB0jnqcWF9UKjwsAbMrQtnQhdmdvOVOw9w==",
+ "version": "12.0.0",
+ "resolved": "https://registry.npmjs.org/marked/-/marked-12.0.0.tgz",
+ "integrity": "sha512-Vkwtq9rLqXryZnWaQc86+FHLC6tr/fycMfYAhiOIXkrNmeGAyhSxjqu0Rs1i0bBqw5u0S7+lV9fdH2ZSVaoa0w==",
"dev": true
},
"mimic-fn": {
@@ -20908,9 +20156,9 @@
"dev": true
},
"shiki": {
- "version": "0.14.1",
- "resolved": "https://registry.npmjs.org/shiki/-/shiki-0.14.1.tgz",
- "integrity": "sha512-+Jz4nBkCBe0mEDqo1eKRcCdjRtrCjozmcbTUjbPTX7OOJfEbTZzlUWlZtGe3Gb5oV1/jnojhG//YZc3rs9zSEw==",
+ "version": "0.14.7",
+ "resolved": "https://registry.npmjs.org/shiki/-/shiki-0.14.7.tgz",
+ "integrity": "sha512-dNPAPrxSc87ua2sKJ3H5dQ/6ZaY8RNnaAqK+t0eG7p0Soi2ydiqbGOTaZCqaYvA/uZYfS1LJnemt3Q+mSfcPCg==",
"dev": true,
"requires": {
"ansi-sequence-parser": "^1.1.0",
@@ -21272,6 +20520,15 @@
"supports-color": "^7.0.0"
}
},
+ "synckit": {
+ "version": "0.6.2",
+ "resolved": "https://registry.npmjs.org/synckit/-/synckit-0.6.2.tgz",
+ "integrity": "sha512-Vhf+bUa//YSTYKseDiiEuQmhGCoIF3CVBhunm3r/DQnYiGT4JssmnKQc44BIyOZRK2pKjXXAgbhfmbeoC9CJpA==",
+ "dev": true,
+ "requires": {
+ "tslib": "^2.3.1"
+ }
+ },
"tcomb": {
"version": "3.2.29",
"resolved": "https://registry.npmjs.org/tcomb/-/tcomb-3.2.29.tgz",
@@ -21453,9 +20710,9 @@
}
},
"ts-api-utils": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/ts-api-utils/-/ts-api-utils-1.0.1.tgz",
- "integrity": "sha512-lC/RGlPmwdrIBFTX59wwNzqh7aR2otPNPR/5brHZm/XKFYKsfqxihXUe9pU3JI+3vGkl+vyCoNNnPhJn3aLK1A==",
+ "version": "1.2.1",
+ "resolved": "https://registry.npmjs.org/ts-api-utils/-/ts-api-utils-1.2.1.tgz",
+ "integrity": "sha512-RIYA36cJn2WiH9Hy77hdF9r7oEwxAtB/TS9/S4Qd90Ap4z5FSiin5zEiTL44OII1Y3IIlEvxwxFUVgrHSZ/UpA==",
"dev": true,
"requires": {}
},
@@ -21501,9 +20758,9 @@
"dev": true
},
"tsup": {
- "version": "8.0.1",
- "resolved": "https://registry.npmjs.org/tsup/-/tsup-8.0.1.tgz",
- "integrity": "sha512-hvW7gUSG96j53ZTSlT4j/KL0q1Q2l6TqGBFc6/mu/L46IoNWqLLUzLRLP1R8Q7xrJTmkDxxDoojV5uCVs1sVOg==",
+ "version": "8.0.2",
+ "resolved": "https://registry.npmjs.org/tsup/-/tsup-8.0.2.tgz",
+ "integrity": "sha512-NY8xtQXdH7hDUAZwcQdY/Vzlw9johQsaqf7iwZ6g1DOUlFYQ5/AtVAjTvihhEyeRlGo4dLRVHtrRaL35M1daqQ==",
"dev": true,
"requires": {
"bundle-require": "^4.0.0",
@@ -21570,15 +20827,15 @@
}
},
"typedoc": {
- "version": "0.25.4",
- "resolved": "https://registry.npmjs.org/typedoc/-/typedoc-0.25.4.tgz",
- "integrity": "sha512-Du9ImmpBCw54bX275yJrxPVnjdIyJO/84co0/L9mwe0R3G4FSR6rQ09AlXVRvZEGMUg09+z/usc8mgygQ1aidA==",
+ "version": "0.25.8",
+ "resolved": "https://registry.npmjs.org/typedoc/-/typedoc-0.25.8.tgz",
+ "integrity": "sha512-mh8oLW66nwmeB9uTa0Bdcjfis+48bAjSH3uqdzSuSawfduROQLlXw//WSNZLYDdhmMVB7YcYZicq6e8T0d271A==",
"dev": true,
"requires": {
"lunr": "^2.3.9",
"marked": "^4.3.0",
"minimatch": "^9.0.3",
- "shiki": "^0.14.1"
+ "shiki": "^0.14.7"
},
"dependencies": {
"brace-expansion": {
diff --git a/package.json b/package.json
index 8c3cb755b..86772a7f2 100644
--- a/package.json
+++ b/package.json
@@ -8,35 +8,35 @@
},
"description": "ical-generator is a small piece of code which generates ical calendar files",
"devDependencies": {
- "@qiwi/semantic-release-gh-pages-plugin": "^5.2.11",
+ "@qiwi/semantic-release-gh-pages-plugin": "^5.2.12",
"@semantic-release/changelog": "^6.0.3",
"@semantic-release/exec": "^6.0.3",
"@semantic-release/git": "^10.0.1",
- "@semantic-release/npm": "^11.0.2",
+ "@semantic-release/npm": "^11.0.3",
"@touch4it/ical-timezones": "^1.9.0",
- "@types/luxon": "^3.3.7",
+ "@types/luxon": "^3.4.2",
"@types/mocha": "^10.0.6",
- "@typescript-eslint/eslint-plugin": "^6.13.2",
- "@typescript-eslint/parser": "^6.13.2",
- "c8": "^8.0.1",
+ "@typescript-eslint/eslint-plugin": "^7.1.0",
+ "@typescript-eslint/parser": "^7.1.0",
+ "c8": "^9.1.0",
"dayjs": "^1.11.10",
- "eslint": "^8.56.0",
- "eslint-plugin-jsonc": "^2.11.2",
+ "eslint": "^8.57.0",
+ "eslint-plugin-jsonc": "^2.13.0",
"esm": "^3.2.25",
"license-checker": "^25.0.1",
"luxon": "^3.4.4",
- "mocha": "^10.2.0",
+ "mocha": "^10.3.0",
"mochawesome": "^7.1.3",
- "moment": "^2.29.4",
- "moment-timezone": "^0.5.43",
+ "moment": "^2.30.1",
+ "moment-timezone": "^0.5.45",
"nyc": "^15.1.0",
"rrule": "^2.8.1",
- "semantic-release": "^22.0.12",
+ "semantic-release": "^23.0.2",
"semantic-release-license": "^1.0.2",
"source-map-support": "^0.5.21",
"ts-node": "^10.9.2",
- "tsup": "^8.0.1",
- "typedoc": "^0.25.4",
+ "tsup": "^8.0.2",
+ "typedoc": "^0.25.8",
"typescript": "^5.3.3"
},
"engines": {
@@ -125,5 +125,5 @@
"test": "mocha"
},
"type": "module",
- "version": "v2.0.0-develop"
+ "version": "7.0.0-develop.6"
}
diff --git a/release.config.cjs b/release.config.cjs
index 7eb0c106a..c0b7f0fd6 100644
--- a/release.config.cjs
+++ b/release.config.cjs
@@ -49,7 +49,7 @@ configuration.plugins.push(['@semantic-release/github', {
}]);
configuration.plugins.push(['@semantic-release/git', {
- 'assets': ['CHANGELOG.md', 'LICENSE'],
+ 'assets': ['CHANGELOG.md', 'LICENSE', 'package-lock.json', 'package.json'],
'message': 'chore(release): :bookmark: ${nextRelease.version} [skip ci]\n\n${nextRelease.notes}'
}]);
diff --git a/src/alarm.ts b/src/alarm.ts
index 273b295a0..aa3ce0b37 100755
--- a/src/alarm.ts
+++ b/src/alarm.ts
@@ -8,14 +8,17 @@ import {
generateCustomAttributes,
checkDate,
toDurationString,
- toJSON
+ toJSON,
+ checkNameAndMail
} from './tools.js';
import {ICalDateTimeValue} from './types.js';
+import ICalAttendee, { ICalAttendeeData } from './attendee.js';
export enum ICalAlarmType {
display = 'display',
- audio = 'audio'
+ audio = 'audio',
+ email = 'email'
}
export const ICalAlarmRelatesTo = {
@@ -37,16 +40,18 @@ export type ICalAlarmData = ICalAlarmBaseData |
ICalAlarmTriggerAfterData |
ICalAlarmTriggerBeforeData;
-type ICalAlarmTriggerData = ICalAlarmBaseData & { trigger: number | ICalDateTimeValue };
-type ICalAlarmTriggerAfterData = ICalAlarmBaseData & { triggerAfter: number | ICalDateTimeValue };
-type ICalAlarmTriggerBeforeData = ICalAlarmBaseData & { triggerBefore: number | ICalDateTimeValue };
+export type ICalAlarmTriggerData = ICalAlarmBaseData & { trigger: number | ICalDateTimeValue };
+export type ICalAlarmTriggerAfterData = ICalAlarmBaseData & { triggerAfter: number | ICalDateTimeValue };
+export type ICalAlarmTriggerBeforeData = ICalAlarmBaseData & { triggerBefore: number | ICalDateTimeValue };
-interface ICalAlarmBaseData {
+export interface ICalAlarmBaseData {
type?: ICalAlarmType;
relatesTo?: ICalAlarmRelatesTo | null;
repeat?: ICalAlarmRepeatData | null;
attach?: string | ICalAttachment | null;
description?: string | null;
+ summary?: string | null;
+ attendees?: ICalAttendee[] | ICalAttendeeData[];
x?: {key: string, value: string}[] | [string, string][] | Record;
}
@@ -63,6 +68,8 @@ interface ICalInternalAlarmData {
interval: number | null;
attach: ICalAttachment | null;
description: string | null;
+ summary: string | null;
+ attendees: ICalAttendee[];
x: [string, string][];
}
@@ -74,12 +81,14 @@ export interface ICalAlarmJSONData {
interval: number | null;
attach: ICalAttachment | null;
description: string | null;
+ summary: string | null;
+ attendees: ICalAttendee[];
x: {key: string, value: string}[];
}
/**
- * Usually you get an `ICalAlarm` object like this:
+ * Usually you get an {@link ICalAlarm} object like this:
*
* ```javascript
* import ical from 'ical-generator';
@@ -88,7 +97,7 @@ export interface ICalAlarmJSONData {
* const alarm = event.createAlarm();
* ```
*
- * You can also use the [[`ICalAlarm`]] object directly:
+ * You can also use the {@link ICalAlarm} object directly:
*
* ```javascript
* import ical, {ICalAlarm} from 'ical-generator';
@@ -101,11 +110,11 @@ export default class ICalAlarm {
private readonly event: ICalEvent;
/**
- * Constructor of [[`ICalAttendee`]]. The event reference is required
+ * Constructor of {@link ICalAttendee}. The event reference is required
* to query the calendar's timezone and summary when required.
*
* @param data Alarm Data
- * @param calendar Reference to ICalEvent object
+ * @param event Reference to ICalEvent object
*/
constructor (data: ICalAlarmData, event: ICalEvent) {
this.data = {
@@ -116,6 +125,8 @@ export default class ICalAlarm {
interval: null,
attach: null,
description: null,
+ summary: null,
+ attendees: [],
x: []
};
@@ -131,6 +142,8 @@ export default class ICalAlarm {
data.repeat && this.repeat(data.repeat);
data.attach !== undefined && this.attach(data.attach);
data.description !== undefined && this.description(data.description);
+ data.summary !== undefined && this.summary(data.summary);
+ data.attendees !== undefined && this.attendees(data.attendees);
data.x !== undefined && this.x(data.x);
}
@@ -142,7 +155,7 @@ export default class ICalAlarm {
type (type: ICalAlarmType): this;
/**
- * Set the alarm type. See [[`ICalAlarmType`]]
+ * Set the alarm type. See {@link ICalAlarmType}
* for available status options.
* @since 0.2.1
*/
@@ -162,7 +175,7 @@ export default class ICalAlarm {
/**
* Get the trigger time for the alarm. Can either
- * be a date and time value ([[`ICalDateTimeValue`]]) or
+ * be a date and time value ({@link ICalDateTimeValue}) or
* a number, which will represent the seconds between
* alarm and event start. The number is negative, if the
* alarm is triggered after the event started.
@@ -266,7 +279,7 @@ export default class ICalAlarm {
/**
* Get the trigger time for the alarm. Can either
- * be a date and time value ([[`ICalDateTimeValue`]]) or
+ * be a date and time value ({@link ICalDateTimeValue}) or
* a number, which will represent the seconds between
* alarm and event start. The number is negative, if the
* alarm is triggered before the event started.
@@ -305,7 +318,7 @@ export default class ICalAlarm {
/**
* Get the trigger time for the alarm. Can either
- * be a date and time value ([[`ICalDateTimeValue`]]) or
+ * be a date and time value ({@link ICalDateTimeValue}) or
* a number, which will represent the seconds between
* alarm and event start. The number is negative, if the
* alarm is triggered after the event started.
@@ -467,7 +480,8 @@ export default class ICalAlarm {
/**
* Get the alarm description. Used to set the alarm message
- * if alarm type is display. Defaults to the event's summary.
+ * if alarm type is `display`. If the alarm type is `email`, it's
+ * used to set the email body. Defaults to the event's summary.
*
* @since 0.2.1
*/
@@ -475,7 +489,8 @@ export default class ICalAlarm {
/**
* Set the alarm description. Used to set the alarm message
- * if alarm type is display. Defaults to the event's summary.
+ * if alarm type is `display`. If the alarm type is `email`, it's
+ * used to set the email body. Defaults to the event's summary.
*
* @since 0.2.1
*/
@@ -494,6 +509,79 @@ export default class ICalAlarm {
}
+ /**
+ * Get the alarm summary. Used to set the email subject
+ * if alarm type is `email`. Defaults to the event's summary.
+ *
+ * @since 7.0.0
+ */
+ summary (): string | null;
+
+ /**
+ * Set the alarm summary. Used to set the email subject
+ * if alarm type is display. Defaults to the event's summary.
+ *
+ * @since 0.2.1
+ */
+ summary (summary: string | null): this;
+ summary (summary?: string | null): this | string | null {
+ if (summary === undefined) {
+ return this.data.summary;
+ }
+ if (!summary) {
+ this.data.summary = null;
+ return this;
+ }
+
+ this.data.summary = summary;
+ return this;
+ }
+
+
+ /**
+ * Creates a new {@link ICalAttendee} and returns it. Use options to prefill
+ * the attendee's attributes. Calling this method without options will create
+ * an empty attendee.
+ *
+ * @since 7.0.0
+ */
+ createAttendee(data: ICalAttendee | ICalAttendeeData | string): ICalAttendee {
+ if (data instanceof ICalAttendee) {
+ this.data.attendees.push(data);
+ return data;
+ }
+ if (typeof data === 'string') {
+ data = { email: data, ...checkNameAndMail('data', data) };
+ }
+
+ const attendee = new ICalAttendee(data, this);
+ this.data.attendees.push(attendee);
+ return attendee;
+ }
+
+
+ /**
+ * Get all attendees
+ * @since 7.0.0
+ */
+ attendees(): ICalAttendee[];
+
+ /**
+ * Add multiple attendees to your event
+ *
+ * @since 7.0.0
+ */
+ attendees(attendees: (ICalAttendee | ICalAttendeeData | string)[]): this;
+ attendees(attendees?: (ICalAttendee | ICalAttendeeData | string)[]): this | ICalAttendee[] {
+ if (!attendees) {
+ return this.data.attendees;
+ }
+
+ attendees.forEach(attendee => this.createAttendee(attendee));
+ return this;
+ }
+
+
/**
* Set X-* attributes. Woun't filter double attributes,
* which are also added by another method (e.g. type),
@@ -627,13 +715,28 @@ export default class ICalAlarm {
}
// DESCRIPTION
- if (this.data.type === 'display' && this.data.description) {
+ if (this.data.type !== 'audio' && this.data.description) {
g += 'DESCRIPTION:' + escape(this.data.description, false) + '\r\n';
}
- else if (this.data.type === 'display') {
+ else if (this.data.type !== 'audio') {
g += 'DESCRIPTION:' + escape(this.event.summary(), false) + '\r\n';
}
+ // SUMMARY
+ if (this.data.type === 'email' && this.data.summary) {
+ g += 'SUMMARY:' + escape(this.data.summary, false) + '\r\n';
+ }
+ else if (this.data.type === 'email') {
+ g += 'SUMMARY:' + escape(this.event.summary(), false) + '\r\n';
+ }
+
+ // ATTENDEES
+ if (this.data.type === 'email') {
+ this.data.attendees.forEach(attendee => {
+ g += attendee.toString();
+ });
+ }
+
// CUSTOM X ATTRIBUTES
g += generateCustomAttributes(this.data);
diff --git a/src/attendee.ts b/src/attendee.ts
index 79b1c3351..81377b720 100755
--- a/src/attendee.ts
+++ b/src/attendee.ts
@@ -3,6 +3,7 @@
import {addOrGetCustomAttributes, checkEnum, checkNameAndMail, escape} from './tools.js';
import ICalEvent from './event.js';
+import ICalAlarm from './alarm.js';
interface ICalInternalAttendeeData {
@@ -75,7 +76,7 @@ export enum ICalAttendeeType {
/**
- * Usually you get an `ICalAttendee` object like this:
+ * Usually you get an {@link ICalAttendee} object like this:
*
* ```javascript
* import ical from 'ical-generator';
@@ -84,7 +85,7 @@ export enum ICalAttendeeType {
* const attendee = event.createAttendee({ email: 'mail@example.com' });
* ```
*
- * You can also use the [[`ICalAttendee`]] object directly:
+ * You can also use the {@link ICalAttendee} object directly:
*
* ```javascript
* import ical, {ICalAttendee} from 'ical-generator';
@@ -94,16 +95,16 @@ export enum ICalAttendeeType {
*/
export default class ICalAttendee {
private readonly data: ICalInternalAttendeeData;
- private readonly event: ICalEvent;
+ private readonly parent: ICalEvent | ICalAlarm;
/**
- * Constructor of [[`ICalAttendee`]]. The event reference is
+ * Constructor of {@link ICalAttendee}. The event reference is
* required to query the calendar's timezone when required.
*
* @param data Attendee Data
- * @param calendar Reference to ICalEvent object
+ * @param parent Reference to ICalEvent object
*/
- constructor(data: ICalAttendeeData, event: ICalEvent) {
+ constructor(data: ICalAttendeeData, parent: ICalEvent | ICalAlarm) {
this.data = {
name: null,
email: '',
@@ -117,8 +118,8 @@ export default class ICalAttendee {
delegatedFrom: null,
x: []
};
- this.event = event;
- if (!this.event) {
+ this.parent = parent;
+ if (!this.parent) {
throw new Error('`event` option required!');
}
if (!data.email) {
@@ -232,7 +233,7 @@ export default class ICalAttendee {
/**
* Set the attendee's role, defaults to `REQ` / `REQ-PARTICIPANT`.
- * Checkout [[`ICalAttendeeRole`]] for available roles.
+ * Checkout {@link ICalAttendeeRole} for available roles.
*
* @since 0.2.0
*/
@@ -279,7 +280,7 @@ export default class ICalAttendee {
status(): ICalAttendeeStatus | null;
/**
- * Set the attendee's status. See [[`ICalAttendeeStatus`]]
+ * Set the attendee's status. See {@link ICalAttendeeStatus}
* for available status options.
*
* @since 0.2.0
@@ -307,7 +308,7 @@ export default class ICalAttendee {
/**
* Set attendee's type (a.k.a. CUTYPE).
- * See [[`ICalAttendeeType`]] for available status options.
+ * See {@link ICalAttendeeType} for available status options.
*
* @since 0.2.3
*/
@@ -336,7 +337,7 @@ export default class ICalAttendee {
* Set the attendee's delegated-to field.
*
* Creates a new Attendee if the passed object is not already a
- * [[`ICalAttendee`]] object. Will set the `delegatedTo` and
+ * {@link ICalAttendee} object. Will set the `delegatedTo` and
* `delegatedFrom` attributes.
*
* Will also set the `status` to `DELEGATED`, if attribute is set.
@@ -367,14 +368,14 @@ export default class ICalAttendee {
if(typeof delegatedTo === 'string') {
this.data.delegatedTo = new ICalAttendee(
{ email: delegatedTo, ...checkNameAndMail('delegatedTo', delegatedTo) },
- this.event,
+ this.parent,
);
}
else if(delegatedTo instanceof ICalAttendee) {
this.data.delegatedTo = delegatedTo;
}
else {
- this.data.delegatedTo = new ICalAttendee(delegatedTo, this.event);
+ this.data.delegatedTo = new ICalAttendee(delegatedTo, this.parent);
}
this.data.status = ICalAttendeeStatus.DELEGATED;
@@ -392,7 +393,7 @@ export default class ICalAttendee {
* Set the attendee's delegated-from field
*
* Creates a new Attendee if the passed object is not already a
- * [[`ICalAttendee`]] object. Will set the `delegatedTo` and
+ * {@link ICalAttendee} object. Will set the `delegatedTo` and
* `delegatedFrom` attributes.
*
* @param delegatedFrom
@@ -409,14 +410,14 @@ export default class ICalAttendee {
else if(typeof delegatedFrom === 'string') {
this.data.delegatedFrom = new ICalAttendee(
{ email: delegatedFrom, ...checkNameAndMail('delegatedFrom', delegatedFrom) },
- this.event,
+ this.parent,
);
}
else if(delegatedFrom instanceof ICalAttendee) {
this.data.delegatedFrom = delegatedFrom;
}
else {
- this.data.delegatedFrom = new ICalAttendee(delegatedFrom, this.event);
+ this.data.delegatedFrom = new ICalAttendee(delegatedFrom, this.parent);
}
return this;
@@ -426,7 +427,7 @@ export default class ICalAttendee {
/**
* Create a new attendee this attendee delegates to and returns
* this new attendee. Creates a new attendee if the passed object
- * is not already an [[`ICalAttendee`]].
+ * is not already an {@link ICalAttendee}.
*
* ```javascript
* const cal = ical();
@@ -439,7 +440,7 @@ export default class ICalAttendee {
* @since 0.2.0
*/
delegatesTo (options: ICalAttendee | ICalAttendeeData | string): ICalAttendee {
- const a = options instanceof ICalAttendee ? options : this.event.createAttendee(options);
+ const a = options instanceof ICalAttendee ? options : this.parent.createAttendee(options);
this.delegatedTo(a);
a.delegatedFrom(this);
return a;
@@ -449,7 +450,7 @@ export default class ICalAttendee {
/**
* Create a new attendee this attendee delegates from and returns
* this new attendee. Creates a new attendee if the passed object
- * is not already an [[`ICalAttendee`]].
+ * is not already an {@link ICalAttendee}.
*
* ```javascript
* const cal = ical();
@@ -462,7 +463,7 @@ export default class ICalAttendee {
* @since 0.2.0
*/
delegatesFrom (options: ICalAttendee | ICalAttendeeData | string): ICalAttendee {
- const a = options instanceof ICalAttendee ? options : this.event.createAttendee(options);
+ const a = options instanceof ICalAttendee ? options : this.parent.createAttendee(options);
this.delegatedFrom(a);
a.delegatedTo(this);
return a;
diff --git a/src/calendar.ts b/src/calendar.ts
index 6b8122140..62063905e 100755
--- a/src/calendar.ts
+++ b/src/calendar.ts
@@ -73,7 +73,7 @@ export enum ICalCalendarMethod {
/**
- * Usually you get an `ICalCalendar` object like this:
+ * Usually you get an {@link ICalCalendar} object like this:
* ```javascript
* import ical from 'ical-generator';
* const calendar = ical();
@@ -89,7 +89,7 @@ export default class ICalCalendar {
private readonly data: ICalCalendarInternalData;
/**
- * You can pass options to setup your calendar or use setters to do this.
+ * You can pass options to set up your calendar or use setters to do this.
*
* ```javascript
* * import ical from 'ical-generator';
@@ -110,6 +110,16 @@ export default class ICalCalendar {
* cal.name('sebbo.net');
* ```
*
+ * `cal.toString()` would then produce the following string:
+ * ```text
+ * BEGIN:VCALENDAR
+ * VERSION:2.0
+ * PRODID:-//sebbo.net//ical-generator//EN
+ * NAME:sebbo.net
+ * X-WR-CALNAME:sebbo.net
+ * END:VCALENDAR
+ * ```
+ *
* @param data Calendar data
*/
constructor(data: ICalCalendarData = {}) {
@@ -150,7 +160,7 @@ export default class ICalCalendar {
/**
* Set your feed's prodid. `prodid` can be either a
* string like `//sebbo.net//ical-generator//EN` or a
- * valid [[`ICalCalendarProdIdData`]] object. `language`
+ * valid {@link ICalCalendarProdIdData} object. `language`
* is optional and defaults to `EN`.
*
* ```javascript
@@ -161,6 +171,11 @@ export default class ICalCalendar {
* });
* ```
*
+ * `cal.toString()` would then produce the following string:
+ * ```text
+ * PRODID:-//My Company//My Product//EN
+ * ```
+ *
* @since 0.2.0
*/
prodId(prodId: ICalCalendarProdIdData | string): this;
@@ -193,7 +208,7 @@ export default class ICalCalendar {
/**
* Get the feed method attribute.
- * See [[`ICalCalendarMethod`]] for possible results.
+ * See {@link ICalCalendarMethod} for possible results.
*
* @since 0.2.8
*/
@@ -201,11 +216,13 @@ export default class ICalCalendar {
/**
* Set the feed method attribute.
- * See [[`ICalCalendarMethod`]] for available options.
+ * See {@link ICalCalendarMethod} for available options.
*
* #### Typescript Example
* ```typescript
* import {ICalCalendarMethod} from 'ical-generator';
+ *
+ * // METHOD:PUBLISH
* calendar.method(ICalCalendarMethod.PUBLISH);
* ```
*
@@ -236,6 +253,24 @@ export default class ICalCalendar {
* Set your feed's name. Is used to fill `NAME`
* and `X-WR-CALNAME` in your iCal file.
*
+ * ```typescript
+ * import ical from 'ical-generator';
+ *
+ * const cal = ical();
+ * cal.name('Next Arrivals');
+ *
+ * cal.toString();
+ * ```
+ *
+ * ```text
+ * BEGIN:VCALENDAR
+ * VERSION:2.0
+ * PRODID:-//sebbo.net//ical-generator//EN
+ * NAME:Next Arrivals
+ * X-WR-CALNAME:Next Arrivals
+ * END:VCALENDAR
+ * ```
+ *
* @since 0.2.0
*/
name(name: string | null): this;
@@ -280,7 +315,7 @@ export default class ICalCalendar {
* Use this method to set your feed's timezone. Is used
* to fill `TIMEZONE-ID` and `X-WR-TIMEZONE` in your iCal export.
* Please not that all date values are treaded differently, if
- * a timezone was set. See [[`formatDate`]] for details. If no
+ * a timezone was set. See {@link formatDate} for details. If no
* time zone is specified, all information is output as UTC.
*
* ```javascript
@@ -312,7 +347,7 @@ export default class ICalCalendar {
* import ical from 'ical-generator';
* import {getVtimezoneComponent} from '@touch4it/ical-timezones';
*
- * const cal = new ICalCalendar();
+ * const cal = ical();
* cal.timezone({
* name: 'FOO',
* generator: getVtimezoneComponent
@@ -363,6 +398,10 @@ export default class ICalCalendar {
* cal.source('http://example.com/my/original_source.ical');
* ```
*
+ * ```text
+ * SOURCE;VALUE=URI:http://example.com/my/original_source.ical
+ * ```
+ *
* @since 2.2.0-develop.1
*/
source(source: string | null): this;
@@ -481,7 +520,7 @@ export default class ICalCalendar {
/**
- * Creates a new [[`ICalEvent`]] and returns it. Use options to prefill the event's attributes.
+ * Creates a new {@link ICalEvent} and returns it. Use options to prefill the event's attributes.
* Calling this method without options will create an empty event.
*
* ```javascript
@@ -595,6 +634,14 @@ export default class ICalCalendar {
* });
* ```
*
+ * ```text
+ * BEGIN:VCALENDAR
+ * VERSION:2.0
+ * PRODID:-//sebbo.net//ical-generator//EN
+ * X-MY-CUSTOM-ATTR:1337!
+ * END:VCALENDAR
+ * ```
+ *
* @since 1.9.0
*/
x (keyOrArray: {key: string, value: string}[] | [string, string][] | Record): this;
@@ -608,6 +655,14 @@ export default class ICalCalendar {
* calendar.x("X-MY-CUSTOM-ATTR", "1337!");
* ```
*
+ * ```text
+ * BEGIN:VCALENDAR
+ * VERSION:2.0
+ * PRODID:-//sebbo.net//ical-generator//EN
+ * X-MY-CUSTOM-ATTR:1337!
+ * END:VCALENDAR
+ * ```
+ *
* @since 1.9.0
*/
x (keyOrArray: string, value: string): this;
diff --git a/src/category.ts b/src/category.ts
index 894721571..9a71d35e3 100755
--- a/src/category.ts
+++ b/src/category.ts
@@ -8,15 +8,16 @@ export interface ICalCategoryData {
name: string;
}
-export interface ICalCategoryInternalData {
+
+export interface ICalCategoryJSONData {
name: string;
}
-export type ICalCategoryJSONData = ICalCategoryInternalData;
+export type ICalCategoryInternalData = ICalCategoryJSONData;
/**
- * Usually you get an `ICalCategory` object like this:
+ * Usually you get an {@link ICalCategory} object like this:
*
* ```javascript
* import ical from 'ical-generator';
@@ -25,7 +26,7 @@ export type ICalCategoryJSONData = ICalCategoryInternalData;
* const category = event.createCategory();
* ```
*
- * You can also use the [[`ICalCategory`]] object directly:
+ * You can also use the {@link ICalCategory} object directly:
*
* ```javascript
* import ical, {ICalCategory} from 'ical-generator';
@@ -37,7 +38,7 @@ export default class ICalCategory {
private readonly data: ICalCategoryInternalData;
/**
- * Constructor of [[`ICalCategory`]].
+ * Constructor of {@link ICalCategory}.
* @param data Category Data
*/
constructor(data: ICalCategoryData) {
diff --git a/src/event.ts b/src/event.ts
index 684917d9d..de64879ef 100755
--- a/src/event.ts
+++ b/src/event.ts
@@ -94,7 +94,7 @@ interface ICalEventInternalData {
stamp: ICalDateTimeValue,
allDay: boolean,
floating: boolean,
- repeating: ICalEventInternalRepeatingData | ICalRRuleStub | string | null,
+ repeating: ICalEventJSONRepeatingData | ICalRRuleStub | string | null,
summary: string,
location: ICalLocation | null,
description: ICalDescription | null,
@@ -124,7 +124,7 @@ export interface ICalEventJSONData {
stamp: string,
allDay: boolean,
floating: boolean,
- repeating: ICalEventInternalRepeatingData | string | null,
+ repeating: ICalEventJSONRepeatingData | string | null,
summary: string,
location: ICalLocation | null,
description: ICalDescription | null,
@@ -143,7 +143,7 @@ export interface ICalEventJSONData {
x: {key: string, value: string}[];
}
-interface ICalEventInternalRepeatingData {
+export interface ICalEventJSONRepeatingData {
freq: ICalEventRepeatingFreq;
count?: number;
interval?: number;
@@ -158,7 +158,7 @@ interface ICalEventInternalRepeatingData {
/**
- * Usually you get an `ICalEvent` object like this:
+ * Usually you get an {@link ICalEvent} object like this:
* ```javascript
* import ical from 'ical-generator';
* const calendar = ical();
@@ -326,21 +326,45 @@ export default class ICalEvent {
* [Readme](https://github.com/sebbo2002/ical-generator#-date-time--timezones)
* for details about supported values and timezone handling.
*
+ * ```typescript
+ * import ical from 'ical-generator';
+ *
+ * const cal = ical();
+ *
+ * const event = cal.createEvent({
+ * start: new Date('2020-01-01')
+ * });
+ *
+ * // overwrites old start date
+ * event.start(new Date('2024-02-01'));
+ *
+ * cal.toString();
+ * ```
+ *
+ * ```text
+ * BEGIN:VCALENDAR
+ * VERSION:2.0
+ * PRODID:-//sebbo.net//ical-generator//EN
+ * BEGIN:VEVENT
+ * UID:7e2aee64-b07a-4256-9b3e-e9eaa452bac8
+ * SEQUENCE:0
+ * DTSTAMP:20240212T190915Z
+ * DTSTART:20240201T000000Z
+ * SUMMARY:
+ * END:VEVENT
+ * END:VCALENDAR
+ * ```
+ *
* @since 0.2.0
*/
start(start: ICalDateTimeValue): this;
start(start?: ICalDateTimeValue): this | ICalDateTimeValue {
if (start === undefined) {
+ this.swapStartAndEndIfRequired();
return this.data.start;
}
this.data.start = checkDate(start, 'start');
- if (this.data.start && this.data.end && toDate(this.data.start).getTime() > toDate(this.data.end).getTime()) {
- const t = this.data.start;
- this.data.start = this.data.end;
- this.data.end = t;
- }
-
return this;
}
@@ -362,6 +386,7 @@ export default class ICalEvent {
end(end: ICalDateTimeValue | null): this;
end(end?: ICalDateTimeValue | null): this | ICalDateTimeValue | null {
if (end === undefined) {
+ this.swapStartAndEndIfRequired();
return this.data.end;
}
if (end === null) {
@@ -370,13 +395,19 @@ export default class ICalEvent {
}
this.data.end = checkDate(end, 'end');
+ return this;
+ }
+
+ /**
+ * Checks if the start date is after the end date and swaps them if necessary.
+ * @private
+ */
+ private swapStartAndEndIfRequired(): void {
if (this.data.start && this.data.end && toDate(this.data.start).getTime() > toDate(this.data.end).getTime()) {
const t = this.data.start;
this.data.start = this.data.end;
this.data.end = t;
}
-
- return this;
}
/**
@@ -513,6 +544,36 @@ export default class ICalEvent {
* event.allDay(true); // → appointment is for the whole day
* ```
*
+ * ```typescript
+ * import ical from 'ical-generator';
+ *
+ * const cal = ical();
+ *
+ * cal.createEvent({
+ * start: new Date('2020-01-01'),
+ * summary: 'Very Important Day',
+ * allDay: true
+ * });
+ *
+ * cal.toString();
+ * ```
+ *
+ * ```text
+ * BEGIN:VCALENDAR
+ * VERSION:2.0
+ * PRODID:-//sebbo.net//ical-generator//EN
+ * BEGIN:VEVENT
+ * UID:1964fe8d-32c5-4f2a-bd62-7d9d7de5992b
+ * SEQUENCE:0
+ * DTSTAMP:20240212T191956Z
+ * DTSTART;VALUE=DATE:20200101
+ * X-MICROSOFT-CDO-ALLDAYEVENT:TRUE
+ * X-MICROSOFT-MSNCALENDAR-ALLDAYEVENT:TRUE
+ * SUMMARY:Very Important Day
+ * END:VEVENT
+ * END:VCALENDAR
+ * ```
+ *
* @since 0.2.0
*/
allDay(allDay: boolean): this;
@@ -537,6 +598,34 @@ export default class ICalEvent {
* Events whose floating flag is set to true always take place at the
* same time, regardless of the time zone.
*
+ * ```typescript
+ * import ical from 'ical-generator';
+ *
+ * const cal = ical();
+ *
+ * cal.createEvent({
+ * start: new Date('2020-01-01T20:00:00Z'),
+ * summary: 'Always at 20:00 in every Hello World!';
+ * plain: 'Hello World!',
+ * html: 'Hello World!
'
* });
* ```
*
+ * ```text
+ * DESCRIPTION:Hello World!
+ * X-ALT-DESC;FMTTYPE=text/html:Hello World!
+ * ```
+ *
* @since 0.2.0
*/
description(description: ICalDescription | string | null): this;
@@ -854,19 +1046,40 @@ export default class ICalEvent {
/**
- * Creates a new [[`ICalAttendee`]] and returns it. Use options to prefill
+ * Creates a new {@link ICalAttendee} and returns it. Use options to prefill
* the attendee's attributes. Calling this method without options will create
* an empty attendee.
*
* ```javascript
+ * import ical from 'ical-generator';
+ *
* const cal = ical();
- * const event = cal.createEvent();
- * const attendee = event.createAttendee({email: 'hui@example.com', name: 'Hui'});
+ * const event = cal.createEvent({
+ * start: new Date()
+ * });
+ *
+ * event.createAttendee({email: 'hui@example.com', name: 'Hui'});
*
* // add another attendee
* event.createAttendee('Buh ');
* ```
*
+ * ```text
+ * BEGIN:VCALENDAR
+ * VERSION:2.0
+ * PRODID:-//sebbo.net//ical-generator//EN
+ * BEGIN:VEVENT
+ * UID:b4944f07-98e4-4581-ac80-2589bb20273d
+ * SEQUENCE:0
+ * DTSTAMP:20240212T194232Z
+ * DTSTART:20240212T194232Z
+ * SUMMARY:
+ * ATTENDEE;ROLE=REQ-PARTICIPANT;CN="Hui":MAILTO:hui@example.com
+ * ATTENDEE;ROLE=REQ-PARTICIPANT;CN="Buh":MAILTO:buh@example.net
+ * END:VEVENT
+ * END:VCALENDAR
+ * ```
+ *
* As with the organizer, you can also add an explicit `mailto` address.
*
* ```javascript
@@ -927,7 +1140,7 @@ export default class ICalEvent {
/**
- * Creates a new [[`ICalAlarm`]] and returns it. Use options to prefill
+ * Creates a new {@link ICalAlarm} and returns it. Use options to prefill
* the alarm's attributes. Calling this method without options will create
* an empty alarm.
*
@@ -986,7 +1199,7 @@ export default class ICalEvent {
/**
- * Creates a new [[`ICalCategory`]] and returns it. Use options to prefill the category's attributes.
+ * Creates a new {@link ICalCategory} and returns it. Use options to prefill the category's attributes.
* Calling this method without options will create an empty category.
*
* ```javascript
@@ -1407,7 +1620,7 @@ export default class ICalEvent {
* @since 0.2.4
*/
toJSON(): ICalEventJSONData {
- let repeating: ICalEventInternalRepeatingData | string | null = null;
+ let repeating: ICalEventJSONRepeatingData | string | null = null;
if(isRRule(this.data.repeating) || typeof this.data.repeating === 'string') {
repeating = this.data.repeating.toString();
}
@@ -1418,6 +1631,7 @@ export default class ICalEvent {
});
}
+ this.swapStartAndEndIfRequired();
return Object.assign({}, this.data, {
start: toJSON(this.data.start) || null,
end: toJSON(this.data.end) || null,
@@ -1449,6 +1663,7 @@ export default class ICalEvent {
// SEQUENCE
g += 'SEQUENCE:' + this.data.sequence + '\r\n';
+ this.swapStartAndEndIfRequired();
g += 'DTSTAMP:' + formatDate(this.calendar.timezone(), this.data.stamp) + '\r\n';
if (this.data.allDay) {
g += 'DTSTART;VALUE=DATE:' + formatDate(this.calendar.timezone(), this.data.start, true) + '\r\n';
@@ -1557,7 +1772,7 @@ export default class ICalEvent {
}
// LOCATION
- if (this.data.location?.title) {
+ if (this.data.location && 'title' in this.data.location && this.data.location.title) {
g += 'LOCATION:' + escape(
this.data.location.title +
(this.data.location.address ? '\n' + this.data.location.address : ''),
@@ -1572,13 +1787,14 @@ export default class ICalEvent {
':geo:' + escape(this.data.location.geo?.lat, false) + ',' +
escape(this.data.location.geo?.lon, false) + '\r\n';
}
-
- if (this.data.location.geo) {
- g += 'GEO:' + escape(this.data.location.geo?.lat, false) + ';' +
- escape(this.data.location.geo?.lon, false) + '\r\n';
- }
}
+ // GEO
+ if (this.data.location && 'geo' in this.data.location && this.data.location.geo) {
+ g += 'GEO:' + escape(this.data.location.geo?.lat, false) + ';' +
+ escape(this.data.location.geo?.lon, false) + '\r\n';
+ }
+
// DESCRIPTION
if (this.data.description) {
g += 'DESCRIPTION:' + escape(this.data.description.plain, false) + '\r\n';
diff --git a/src/index.ts b/src/index.ts
index d9587b871..bfb1ecdb6 100755
--- a/src/index.ts
+++ b/src/index.ts
@@ -49,11 +49,16 @@ export default ical;
export {
default as ICalAlarm,
ICalAlarmData,
+ ICalAlarmBaseData,
+ ICalAlarmJSONData,
+ ICalAlarmRelatesTo,
ICalAlarmRepeatData,
+ ICalAlarmTriggerData,
+ ICalAlarmTriggerAfterData,
+ ICalAlarmTriggerBeforeData,
ICalAlarmType,
ICalAlarmTypeValue,
- ICalAlarmJSONData,
- ICalAttachment
+ ICalAttachment,
} from './alarm.js';
export {
@@ -86,6 +91,7 @@ export {
ICalEventTransparency,
ICalEventData,
ICalEventJSONData,
+ ICalEventJSONRepeatingData,
ICalEventClass,
} from './event.js';
@@ -93,6 +99,8 @@ export {
ICalDateTimeValue,
ICalRepeatingOptions,
ICalLocation,
+ ICalLocationWithTitle,
+ ICalLocationWithoutTitle,
ICalGeo,
ICalOrganizer,
ICalDescription,
diff --git a/src/types.ts b/src/types.ts
index e484788d4..c83f571f3 100644
--- a/src/types.ts
+++ b/src/types.ts
@@ -19,13 +19,19 @@ export interface ICalRepeatingOptions {
startOfWeek?: ICalWeekday;
}
-export interface ICalLocation {
+export type ICalLocation = ICalLocationWithTitle | ICalLocationWithoutTitle;
+
+export interface ICalLocationWithTitle {
title: string;
address?: string;
radius?: number;
geo?: ICalGeo;
}
+export interface ICalLocationWithoutTitle {
+ geo: ICalGeo;
+}
+
export interface ICalGeo {
lat: number;
lon: number;
diff --git a/test/alarm.ts b/test/alarm.ts
index 0d46b076f..a973e8cdf 100644
--- a/test/alarm.ts
+++ b/test/alarm.ts
@@ -6,6 +6,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 ICalAttendee from '../src/attendee.js';
describe('ical-generator Alarm', function () {
@@ -630,6 +631,127 @@ describe('ical-generator Alarm', function () {
});
});
+ describe('summary()', function () {
+ it('setter should return this', function () {
+ const a = new ICalAlarm({}, new ICalEvent(
+ { start: new Date() },
+ new ICalCalendar()
+ ));
+
+ assert.deepStrictEqual(a, a.summary(null));
+ assert.deepStrictEqual(a, a.summary('Hey Ho!'));
+ });
+
+ it('getter should return value', function () {
+ const a = new ICalAlarm({}, new ICalEvent(
+ { start: new Date() },
+ new ICalCalendar()
+ ));
+
+ assert.deepStrictEqual(a.summary(), null);
+ a.summary('blablabla');
+ assert.deepStrictEqual(a.summary(), 'blablabla');
+ a.summary(null);
+ assert.deepStrictEqual(a.summary(), null);
+ });
+
+ it('should change something', function () {
+ const a = new ICalAlarm({
+ type: ICalAlarmType.email,
+ summary: 'Huibuh!'
+ }, new ICalEvent({ start: new Date() }, new ICalCalendar()));
+ assert.ok(a.toString().indexOf('\r\nSUMMARY:Huibuh') > -1);
+ });
+
+ it('should fallback to event summary', function () {
+ const a = new ICalAlarm(
+ { type: ICalAlarmType.email },
+ new ICalEvent({ start: new Date(), summary: 'Example Event' }, new ICalCalendar())
+ );
+
+ assert.ok(a.toString().indexOf('\r\nSUMMARY:Example Event') > -1);
+ });
+ });
+
+ describe('createAttendee()', function () {
+ it('if Attendee passed, it should add and return it', function () {
+ const alarm = new ICalEvent({ start: new Date() }, new ICalCalendar()).createAlarm({
+ type: ICalAlarmType.email
+ });
+
+ const attendee = new ICalAttendee({ email: 'mail@example.com' }, alarm);
+ assert.strictEqual(alarm.createAttendee(attendee), attendee, 'createAttendee returns attendee');
+ assert.deepStrictEqual(alarm.attendees()[0], attendee, 'attendee pushed');
+ });
+
+ it('should return a ICalAttendee instance', function () {
+ const alarm = new ICalEvent({ start: new Date() }, new ICalCalendar()).createAlarm({
+ type: ICalAlarmType.email
+ });;
+
+ assert.ok(alarm.createAttendee({ email: 'mail@example.com' }) instanceof ICalAttendee);
+ assert.strictEqual(alarm.attendees.length, 1, 'attendee pushed');
+ });
+
+ it('should accept string', function () {
+ const alarm = new ICalEvent({ start: new Date() }, new ICalCalendar()).createAlarm({
+ type: ICalAlarmType.email
+ });;
+ const attendee = alarm.createAttendee('Zac ');
+
+ assert.strictEqual(attendee.name(), 'Zac');
+ assert.strictEqual(attendee.email(), 'zac@example.com');
+ assert.strictEqual(alarm.attendees().length, 1, 'attendee pushed');
+ });
+
+ it('should throw error when string misformated', function () {
+ const alarm = new ICalEvent({ start: new Date() }, new ICalCalendar()).createAlarm({
+ type: ICalAlarmType.email
+ });;
+ assert.throws(function () {
+ alarm.createAttendee('foo bar');
+ }, /isn't formated correctly/);
+ });
+
+ it('should accept object', function () {
+ const alarm = new ICalEvent({ start: new Date() }, new ICalCalendar()).createAlarm({
+ type: ICalAlarmType.email
+ });
+ const attendee = alarm.createAttendee({name: 'Zac', email: 'zac@example.com'});
+
+ assert.strictEqual(attendee.name(), 'Zac');
+ assert.strictEqual(attendee.email(), 'zac@example.com');
+ assert.strictEqual(alarm.attendees().length, 1, 'attendee pushed');
+ assert.ok(alarm.toString().includes('ATTENDEE;ROLE=REQ-PARTICIPANT;CN="Zac":MAILTO:zac@example.com'));
+ });
+ });
+
+ describe('attendees()', function () {
+ it('getter should return an array of attendees…', function () {
+ const alarm = new ICalEvent({ start: new Date() }, new ICalCalendar()).createAlarm({
+ type: ICalAlarmType.email
+ });
+ assert.strictEqual(alarm.attendees().length, 0);
+
+ const attendee = alarm.createAttendee({ email: 'mail@example.com' });
+ assert.strictEqual(alarm.attendees().length, 1);
+ assert.deepStrictEqual(alarm.attendees()[0], attendee);
+ });
+
+ it('setter should add attendees and return this', function () {
+ const alarm = new ICalEvent({ start: new Date() }, new ICalCalendar()).createAlarm({
+ type: ICalAlarmType.email
+ });
+ const foo = alarm.attendees([
+ { name: 'Person A', email: 'a@example.com' },
+ { name: 'Person B', email: 'b@example.com' }
+ ]);
+
+ assert.strictEqual(alarm.attendees().length, 2);
+ assert.deepStrictEqual(foo, alarm);
+ });
+ });
+
describe('x()', function () {
it('is there', function () {
const a = new ICalAlarm({}, new ICalEvent(
@@ -653,10 +775,12 @@ describe('ical-generator Alarm', function () {
assert.deepStrictEqual(a.toJSON(), {
attach: null,
+ attendees: [],
description: null,
relatesTo: null,
interval: null,
repeat: null,
+ summary: null,
trigger: 120,
type: 'display',
x: []
diff --git a/test/event.ts b/test/event.ts
index 9c9f67d75..7a9f3bbb1 100644
--- a/test/event.ts
+++ b/test/event.ts
@@ -1225,8 +1225,12 @@ describe('ical-generator Event', function () {
title: 'Foo',
geo: {lat: 44.5, lon: -3.4}
});
- assert.deepStrictEqual(e.location()?.title, 'Foo');
- assert.deepStrictEqual(e.location()?.geo, {lat: 44.5, lon: -3.4});
+
+ const location = e.location();
+ assert.ok(location);
+ assert.ok('title' in location);
+ assert.deepStrictEqual(location?.title, 'Foo');
+ assert.deepStrictEqual(location?.geo, {lat: 44.5, lon: -3.4});
e.location(null);
assert.strictEqual(e.location(), null);
@@ -1245,7 +1249,11 @@ describe('ical-generator Event', function () {
}, new ICalCalendar());
event.location('Europa-Park');
- assert.strictEqual(event.location()?.title, 'Europa-Park');
+
+ const location = event.location();
+ assert.ok(location);
+ assert.ok('title' in location);
+ assert.strictEqual(location?.title, 'Europa-Park');
});
it('should throw error when location is not valid', function () {
diff --git a/test/issues.ts b/test/issues.ts
index 764cb0e5d..3acf22607 100644
--- a/test/issues.ts
+++ b/test/issues.ts
@@ -270,4 +270,58 @@ describe('Issues', function () {
].join('\r\n'));
});
});
+
+ describe('Issue #569 / 570', function () {
+ it('event.location should work with `geo` only', function () {
+ const event = ical().createEvent({
+ id: '12345',
+ summary: 'Hello',
+ start: new Date('2020-06-15T00:00:00Z'),
+ end: new Date('2020-06-15T01:00:00Z'),
+ stamp: new Date('2020-06-15T00:00:00Z')
+ });
+
+ event.location({
+ geo: {
+ lat: 52.51147570081018,
+ lon: 13.342200696373846
+ }
+ });
+
+ assert.strictEqual(event.toString(), [
+ 'BEGIN:VEVENT',
+ 'UID:12345',
+ 'SEQUENCE:0',
+ 'DTSTAMP:20200615T000000Z',
+ 'DTSTART:20200615T000000Z',
+ 'DTEND:20200615T010000Z',
+ 'SUMMARY:Hello',
+ 'GEO:52.51147570081018;13.342200696373846',
+ 'END:VEVENT',
+ ''
+ ].join('\r\n'));
+ });
+ });
+
+ describe('Issue #581', function () {
+ it('event.start and event.end should be swappable', function () {
+ const calendar = ical();
+ const event = calendar.createEvent({
+ summary: 'Test Event',
+ start: '2024-02-29T17:00:00.000Z',
+ end: '2024-02-29T17:20:00.000Z'
+ });
+
+ event.start('2024-02-29T19:00:00.000Z');
+ event.end('2024-02-29T19:20:00.000Z');
+
+ const start = event.start();
+ assert.ok(typeof start === 'string');
+ assert.strictEqual(start, '2024-02-29T19:00:00.000Z');
+
+ const end = event.end();
+ assert.ok(typeof end === 'string');
+ assert.strictEqual(end, '2024-02-29T19:20:00.000Z');
+ });
+ });
});
diff --git a/test/tools.ts b/test/tools.ts
index 3dcbcbdb4..546790c7c 100644
--- a/test/tools.ts
+++ b/test/tools.ts
@@ -7,7 +7,15 @@ import {DateTime} from 'luxon';
import dayjs from 'dayjs';
import dayJsUTCPlugin from 'dayjs/plugin/utc.js';
import dayJsTimezonePlugin from 'dayjs/plugin/timezone.js';
-import {formatDate, formatDateTZ, foldLines, escape, checkDate, toDate} from '../src/tools.js';
+import {
+ checkDate,
+ escape,
+ foldLines,
+ formatDate,
+ formatDateTZ,
+ toDate,
+ toDurationString
+} from '../src/tools.js';
dayjs.extend(dayJsUTCPlugin);
dayjs.extend(dayJsTimezonePlugin);
@@ -63,6 +71,12 @@ describe('ICalTools', function () {
'20180705'
);
});
+ it('should work with / prefixed global timezones', function () {
+ assert.strictEqual(
+ formatDate('/Europe/Berlin', '2018-07-05T18:24:00.052', false, false),
+ '20180705T182400'
+ );
+ });
});
describe('moment.js', function () {
it('should work without setting a timezone', function () {
@@ -335,4 +349,16 @@ describe('ICalTools', function () {
assert.deepStrictEqual(toDate(DateTime.fromJSDate(date)), date);
});
});
+
+ describe('toDurationString()', function () {
+ it('should work', async function () {
+ assert.strictEqual(toDurationString(0), 'PT0S');
+ assert.strictEqual(toDurationString(1), 'PT1S');
+ assert.strictEqual(toDurationString(60), 'PT1M');
+ assert.strictEqual(toDurationString(3600), 'PT1H');
+ assert.strictEqual(toDurationString(86400), 'P1D');
+
+ assert.strictEqual(toDurationString(-3600), '-PT1H');
+ });
+ });
});