diff --git a/.github/pull_request_template.md b/.github/pull_request_template.md index e2327ae..0aa1f03 100644 --- a/.github/pull_request_template.md +++ b/.github/pull_request_template.md @@ -1,61 +1,30 @@ - - Resolves #ISSUE_NUMBER ---- -## Behavior - ### Before the change? -* +* ### After the change? -* - - -### Other information - - -* - ----- - -## Additional info +* ### Pull request checklist - [ ] Tests for the changes have been added (for bug fixes / features) - [ ] Docs have been reviewed and added / updated if needed (for bug fixes / features) -- [ ] Added the appropriate label for the given change ### Does this introduce a breaking change? -Please see our docs on [breaking changes](https://github.com/octokit/.github/blob/main/community/breaking_changes.md) to help! +Please see our docs on [breaking changes](https://github.com/octokit/.github/blob/master/community/breaking_changes.md) to help! -- [ ] Yes (Please add the `Type: Breaking change` label) +- [ ] Yes - [ ] No -If `Yes`, what's the impact: - -* N/A - - -### Pull request type - - - - -Please add the corresponding label for change this PR introduces: -- Bugfix: `Type: Bug` -- Feature/model/API additions: `Type: Feature` -- Updates to docs or samples: `Type: Documentation` -- Dependencies/code cleanup: `Type: Maintenance` - ---- diff --git a/.github/workflows/codeql.yml b/.github/workflows/codeql.yml index 7381987..67304f5 100644 --- a/.github/workflows/codeql.yml +++ b/.github/workflows/codeql.yml @@ -16,7 +16,7 @@ jobs: steps: - name: Checkout repository - uses: actions/checkout@v3 # tag=v3 + uses: actions/checkout@v4 with: # We must fetch at least the immediate parents so that if this is # a pull request then we can checkout the head. diff --git a/.github/workflows/immediate-response.yml b/.github/workflows/immediate-response.yml new file mode 100644 index 0000000..29df6e3 --- /dev/null +++ b/.github/workflows/immediate-response.yml @@ -0,0 +1,28 @@ +name: Issue/PR response +permissions: + issues: write + pull-requests: write +on: + issues: + types: + - opened + pull_request: + types: + - opened +jobs: + respond-to-issue: + runs-on: ubuntu-latest + steps: + - name: Determine issue or PR number + id: extract + run: echo "NUMBER=${{ github.event.issue.number || github.event.pull_request.number }}" >> "$GITHUB_OUTPUT" + + - name: Respond to issue or PR + uses: peter-evans/create-or-update-comment@46da6c0d98504aed6fc429519a258b951f23f474 + with: + issue-number: ${{ steps.extract.outputs.NUMBER }} + body: > + 👋 Hi! Thank you for this contribution! Just to let you know, our GitHub SDK team does a round of issue and PR reviews twice a week, every Monday and Friday! + We have a [process in place](https://github.com/octokit/.github/blob/main/community/prioritization_response.md#overview) for prioritizing and responding to your input. + Because you are a part of this community please feel free to comment, add to, or pick up any issues/PRs that are labled with `Status: Up for grabs`. + You & others like you are the reason all of this works! So thank you & happy coding! 🚀 \ No newline at end of file diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 0484003..2ffa0ec 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -6,12 +6,19 @@ name: Release - next - beta - "*.x" +# These are recommended by the semantic-release docs: https://github.com/semantic-release/npm#npm-provenance +permissions: + contents: write # to be able to publish a GitHub release + issues: write # to be able to comment on released issues + pull-requests: write # to be able to comment on released pull requests + id-token: write # to enable use of OIDC for npm provenance + jobs: release: name: release runs-on: ubuntu-latest steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 - uses: actions/setup-node@v3 with: node-version: lts/* diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 6423f2a..e9e1f46 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -16,7 +16,7 @@ jobs: - 18 - 20 steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 - name: Use Node.js ${{ matrix.node_version }} uses: actions/setup-node@v3 with: @@ -32,7 +32,7 @@ jobs: steps: - run: exit 1 if: ${{ needs.test_matrix.result != 'success' }} - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 - run: npm ci - run: npm run lint if: ${{ always() }} diff --git a/.github/workflows/update-prettier.yml b/.github/workflows/update-prettier.yml index a224dbc..0eaa379 100644 --- a/.github/workflows/update-prettier.yml +++ b/.github/workflows/update-prettier.yml @@ -7,7 +7,7 @@ jobs: update_prettier: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 - uses: actions/setup-node@v3 with: cache: npm diff --git a/package-lock.json b/package-lock.json index fcc4bf8..939dbb7 100644 --- a/package-lock.json +++ b/package-lock.json @@ -9,7 +9,7 @@ "version": "0.0.0-development", "license": "MIT", "dependencies": { - "@octokit/types": "^11.0.0", + "@octokit/types": "^13.1.0", "deprecation": "^2.0.0", "once": "^1.4.0" }, @@ -18,10 +18,10 @@ "@types/jest": "^29.0.0", "@types/node": "^18.0.0", "@types/once": "^1.4.0", - "esbuild": "^0.18.0", + "esbuild": "^0.19.0", "glob": "^10.2.6", "jest": "^29.0.0", - "prettier": "3.0.0", + "prettier": "3.0.3", "ts-jest": "^29.0.0", "typescript": "^5.0.0" }, @@ -602,9 +602,9 @@ "dev": true }, "node_modules/@esbuild/android-arm": { - "version": "0.18.4", - "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.18.4.tgz", - "integrity": "sha512-yKmQC9IiuvHdsNEbPHSprnMHg6OhL1cSeQZLzPpgzJBJ9ppEg9GAZN8MKj1TcmB4tZZUrq5xjK7KCmhwZP8iDA==", + "version": "0.19.0", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.19.0.tgz", + "integrity": "sha512-GAkjUyHgWTYuex3evPd5V7uV/XS4LMKr1PWHRPW1xNyy/Jx08x3uTrDFRefBYLKT/KpaWM8/YMQcwbp5a3yIDA==", "cpu": [ "arm" ], @@ -618,9 +618,9 @@ } }, "node_modules/@esbuild/android-arm64": { - "version": "0.18.4", - "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.18.4.tgz", - "integrity": "sha512-yQVgO+V307hA2XhzELQ6F91CBGX7gSnlVGAj5YIqjQOxThDpM7fOcHT2YLJbE6gNdPtgRSafQrsK8rJ9xHCaZg==", + "version": "0.19.0", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.19.0.tgz", + "integrity": "sha512-AzsozJnB+RNaDncBCs3Ys5g3kqhPFUueItfEaCpp89JH2naFNX2mYDIvUgPYMqqjm8hiFoo+jklb3QHZyR3ubw==", "cpu": [ "arm64" ], @@ -634,9 +634,9 @@ } }, "node_modules/@esbuild/android-x64": { - "version": "0.18.4", - "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.18.4.tgz", - "integrity": "sha512-yLKXMxQg6sk1ntftxQ5uwyVgG4/S2E7UoOCc5N4YZW7fdkfRiYEXqm7CMuIfY2Vs3FTrNyKmSfNevIuIvJnMww==", + "version": "0.19.0", + "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.19.0.tgz", + "integrity": "sha512-SUG8/qiVhljBDpdkHQ9DvOWbp7hFFIP0OzxOTptbmVsgBgzY6JWowmMd6yJuOhapfxmj/DrvwKmjRLvVSIAKZg==", "cpu": [ "x64" ], @@ -650,9 +650,9 @@ } }, "node_modules/@esbuild/darwin-arm64": { - "version": "0.18.4", - "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.18.4.tgz", - "integrity": "sha512-MVPEoZjZpk2xQ1zckZrb8eQuQib+QCzdmMs3YZAYEQPg+Rztk5pUxGyk8htZOC8Z38NMM29W+MqY9Sqo/sDGKw==", + "version": "0.19.0", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.19.0.tgz", + "integrity": "sha512-HkxZ8k3Jvcw0FORPNTavA8BMgQjLOB6AajT+iXmil7BwY3gU1hWvJJAyWyEogCmA4LdbGvKF8vEykdmJ4xNJJQ==", "cpu": [ "arm64" ], @@ -666,9 +666,9 @@ } }, "node_modules/@esbuild/darwin-x64": { - "version": "0.18.4", - "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.18.4.tgz", - "integrity": "sha512-uEsRtYRUDsz7i2tXg/t/SyF+5gU1cvi9B6B8i5ebJgtUUHJYWyIPIesmIOL4/+bywjxsDMA/XrNFMgMffLnh5A==", + "version": "0.19.0", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.19.0.tgz", + "integrity": "sha512-9IRWJjqpWFHM9a5Qs3r3bK834NCFuDY5ZaLrmTjqE+10B6w65UMQzeZjh794JcxpHolsAHqwsN/33crUXNCM2Q==", "cpu": [ "x64" ], @@ -682,9 +682,9 @@ } }, "node_modules/@esbuild/freebsd-arm64": { - "version": "0.18.4", - "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.18.4.tgz", - "integrity": "sha512-I8EOigqWnOHRin6Zp5Y1cfH3oT54bd7Sdz/VnpUNksbOtfp8IWRTH4pgkgO5jWaRQPjCpJcOpdRjYAMjPt8wXg==", + "version": "0.19.0", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.19.0.tgz", + "integrity": "sha512-s7i2WcXcK0V1PJHVBe7NsGddsL62a9Vhpz2U7zapPrwKoFuxPP9jybwX8SXnropR/AOj3ppt2ern4ItblU6UQQ==", "cpu": [ "arm64" ], @@ -698,9 +698,9 @@ } }, "node_modules/@esbuild/freebsd-x64": { - "version": "0.18.4", - "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.18.4.tgz", - "integrity": "sha512-1bHfgMz/cNMjbpsYxjVgMJ1iwKq+NdDPlACBrWULD7ZdFmBQrhMicMaKb5CdmdVyvIwXmasOuF4r6Iq574kUTA==", + "version": "0.19.0", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.19.0.tgz", + "integrity": "sha512-NMdBSSdgwHCqCsucU5k1xflIIRU0qi1QZnM6+vdGy5fvxm1c8rKh50VzsWsIVTFUG3l91AtRxVwoz3Lcvy3I5w==", "cpu": [ "x64" ], @@ -714,9 +714,9 @@ } }, "node_modules/@esbuild/linux-arm": { - "version": "0.18.4", - "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.18.4.tgz", - "integrity": "sha512-4XCGqM/Ay1LCXUBH59bL4JbSbbTK1K22dWHymWMGaEh2sQCDOUw+OQxozYV/YdBb91leK2NbuSrE2BRamwgaYw==", + "version": "0.19.0", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.19.0.tgz", + "integrity": "sha512-2F1+lH7ZBcCcgxiSs8EXQV0PPJJdTNiNcXxDb61vzxTRJJkXX1I/ye9mAhfHyScXzHaEibEXg1Jq9SW586zz7w==", "cpu": [ "arm" ], @@ -730,9 +730,9 @@ } }, "node_modules/@esbuild/linux-arm64": { - "version": "0.18.4", - "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.18.4.tgz", - "integrity": "sha512-J42vLHaYREyiBwH0eQE4/7H1DTfZx8FuxyWSictx4d7ezzuKE3XOkIvOg+SQzRz7T9HLVKzq2tvbAov4UfufBw==", + "version": "0.19.0", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.19.0.tgz", + "integrity": "sha512-I4zvE2srSZxRPapFnNqj+NL3sDJ1wkvEZqt903OZUlBBgigrQMvzUowvP/TTTu2OGYe1oweg5MFilfyrElIFag==", "cpu": [ "arm64" ], @@ -746,9 +746,9 @@ } }, "node_modules/@esbuild/linux-ia32": { - "version": "0.18.4", - "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.18.4.tgz", - "integrity": "sha512-4ksIqFwhq7OExty7Sl1n0vqQSCqTG4sU6i99G2yuMr28CEOUZ/60N+IO9hwI8sIxBqmKmDgncE1n5CMu/3m0IA==", + "version": "0.19.0", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.19.0.tgz", + "integrity": "sha512-dz2Q7+P92r1Evc8kEN+cQnB3qqPjmCrOZ+EdBTn8lEc1yN8WDgaDORQQiX+mxaijbH8npXBT9GxUqE52Gt6Y+g==", "cpu": [ "ia32" ], @@ -762,9 +762,9 @@ } }, "node_modules/@esbuild/linux-loong64": { - "version": "0.18.4", - "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.18.4.tgz", - "integrity": "sha512-bsWtoVHkGQgAsFXioDueXRiUIfSGrVkJjBBz4gcBJxXcD461cWFQFyu8Fxdj9TP+zEeqJ8C/O4LFFMBNi6Fscw==", + "version": "0.19.0", + "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.19.0.tgz", + "integrity": "sha512-IcVJovJVflih4oFahhUw+N7YgNbuMSVFNr38awb0LNzfaiIfdqIh518nOfYaNQU3aVfiJnOIRVJDSAP4k35WxA==", "cpu": [ "loong64" ], @@ -778,9 +778,9 @@ } }, "node_modules/@esbuild/linux-mips64el": { - "version": "0.18.4", - "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.18.4.tgz", - "integrity": "sha512-LRD9Fu8wJQgIOOV1o3nRyzrheFYjxA0C1IVWZ93eNRRWBKgarYFejd5WBtrp43cE4y4D4t3qWWyklm73Mrsd/g==", + "version": "0.19.0", + "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.19.0.tgz", + "integrity": "sha512-bZGRAGySMquWsKw0gIdsClwfvgbsSq/7oq5KVu1H1r9Il+WzOcfkV1hguntIuBjRVL8agI95i4AukjdAV2YpUw==", "cpu": [ "mips64el" ], @@ -794,9 +794,9 @@ } }, "node_modules/@esbuild/linux-ppc64": { - "version": "0.18.4", - "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.18.4.tgz", - "integrity": "sha512-jtQgoZjM92gauVRxNaaG/TpL3Pr4WcL3Pwqi9QgdrBGrEXzB+twohQiWNSTycs6lUygakos4mm2h0B9/SHveng==", + "version": "0.19.0", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.19.0.tgz", + "integrity": "sha512-3LC6H5/gCDorxoRBUdpLV/m7UthYSdar0XcCu+ypycQxMS08MabZ06y1D1yZlDzL/BvOYliRNRWVG/YJJvQdbg==", "cpu": [ "ppc64" ], @@ -810,9 +810,9 @@ } }, "node_modules/@esbuild/linux-riscv64": { - "version": "0.18.4", - "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.18.4.tgz", - "integrity": "sha512-7WaU/kRZG0VCV09Xdlkg6LNAsfU9SAxo6XEdaZ8ffO4lh+DZoAhGTx7+vTMOXKxa+r2w1LYDGxfJa2rcgagMRA==", + "version": "0.19.0", + "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.19.0.tgz", + "integrity": "sha512-jfvdKjWk+Cp2sgLtEEdSHXO7qckrw2B2eFBaoRdmfhThqZs29GMMg7q/LsQpybA7BxCLLEs4di5ucsWzZC5XPA==", "cpu": [ "riscv64" ], @@ -826,9 +826,9 @@ } }, "node_modules/@esbuild/linux-s390x": { - "version": "0.18.4", - "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.18.4.tgz", - "integrity": "sha512-D19ed0xreKQvC5t+ArE2njSnm18WPpE+1fhwaiJHf+Xwqsq+/SUaV8Mx0M27nszdU+Atq1HahrgCOZCNNEASUg==", + "version": "0.19.0", + "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.19.0.tgz", + "integrity": "sha512-ofcucfNLkoXmcnJaw9ugdEOf40AWKGt09WBFCkpor+vFJVvmk/8OPjl/qRtks2Z7BuZbG3ztJuK1zS9z5Cgx9A==", "cpu": [ "s390x" ], @@ -842,9 +842,9 @@ } }, "node_modules/@esbuild/linux-x64": { - "version": "0.18.4", - "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.18.4.tgz", - "integrity": "sha512-Rx3AY1sxyiO/gvCGP00nL69L60dfmWyjKWY06ugpB8Ydpdsfi3BHW58HWC24K3CAjAPSwxcajozC2PzA9JBS1g==", + "version": "0.19.0", + "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.19.0.tgz", + "integrity": "sha512-Fpf7zNDBti3xrQKQKLdXT0hTyOxgFdRJIMtNy8x1az9ATR9/GJ1brYbB/GLWoXhKiHsoWs+2DLkFVNNMTCLEwA==", "cpu": [ "x64" ], @@ -858,9 +858,9 @@ } }, "node_modules/@esbuild/netbsd-x64": { - "version": "0.18.4", - "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.18.4.tgz", - "integrity": "sha512-AaShPmN9c6w1mKRpliKFlaWcSkpBT4KOlk93UfFgeI3F3cbjzdDKGsbKnOZozmYbE1izZKLmNJiW0sFM+A5JPA==", + "version": "0.19.0", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.19.0.tgz", + "integrity": "sha512-AMQAp/5oENgDOvVhvOlbhVe1pWii7oFAMRHlmTjSEMcpjTpIHtFXhv9uAFgUERHm3eYtNvS9Vf+gT55cwuI6Aw==", "cpu": [ "x64" ], @@ -874,9 +874,9 @@ } }, "node_modules/@esbuild/openbsd-x64": { - "version": "0.18.4", - "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.18.4.tgz", - "integrity": "sha512-tRGvGwou3BrvHVvF8HxTqEiC5VtPzySudS9fh2jBIKpLX7HCW8jIkW+LunkFDNwhslx4xMAgh0jAHsx/iCymaQ==", + "version": "0.19.0", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.19.0.tgz", + "integrity": "sha512-fDztEve1QUs3h/Dw2AUmBlWGkNQbhDoD05ppm5jKvzQv+HVuV13so7m5RYeiSMIC2XQy7PAjZh+afkxAnCRZxA==", "cpu": [ "x64" ], @@ -890,9 +890,9 @@ } }, "node_modules/@esbuild/sunos-x64": { - "version": "0.18.4", - "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.18.4.tgz", - "integrity": "sha512-acORFDI95GKhmAnlH8EarBeuqoy/j3yxIU+FDB91H3+ZON+8HhTadtT450YkaMzX6lEWbhi+mjVUCj00M5yyOQ==", + "version": "0.19.0", + "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.19.0.tgz", + "integrity": "sha512-bKZzJ2/rvUjDzA5Ddyva2tMk89WzNJEibZEaq+wY6SiqPlwgFbqyQLimouxLHiHh1itb5P3SNCIF1bc2bw5H9w==", "cpu": [ "x64" ], @@ -906,9 +906,9 @@ } }, "node_modules/@esbuild/win32-arm64": { - "version": "0.18.4", - "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.18.4.tgz", - "integrity": "sha512-1NxP+iOk8KSvS1L9SSxEvBAJk39U0GiGZkiiJGbuDF9G4fG7DSDw6XLxZMecAgmvQrwwx7yVKdNN3GgNh0UfKg==", + "version": "0.19.0", + "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.19.0.tgz", + "integrity": "sha512-NQJ+4jmnA79saI+sE+QzcEls19uZkoEmdxo7r//PDOjIpX8pmoWtTnWg6XcbnO7o4fieyAwb5U2LvgWynF4diA==", "cpu": [ "arm64" ], @@ -922,9 +922,9 @@ } }, "node_modules/@esbuild/win32-ia32": { - "version": "0.18.4", - "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.18.4.tgz", - "integrity": "sha512-OKr8jze93vbgqZ/r23woWciTixUwLa976C9W7yNBujtnVHyvsL/ocYG61tsktUfJOpyIz5TsohkBZ6Lo2+PCcQ==", + "version": "0.19.0", + "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.19.0.tgz", + "integrity": "sha512-uyxiZAnsfu9diHm9/rIH2soecF/HWLXYUhJKW4q1+/LLmNQ+55lRjvSUDhUmsgJtSUscRJB/3S4RNiTb9o9mCg==", "cpu": [ "ia32" ], @@ -938,9 +938,9 @@ } }, "node_modules/@esbuild/win32-x64": { - "version": "0.18.4", - "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.18.4.tgz", - "integrity": "sha512-qJr3wVvcLjPFcV4AMDS3iquhBfTef2zo/jlm8RMxmiRp3Vy2HY8WMxrykJlcbCnqLXZPA0YZxZGND6eug85ogg==", + "version": "0.19.0", + "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.19.0.tgz", + "integrity": "sha512-jl+NXUjK2StMgqnZnqgNjZuerFG8zQqWXMBZdMMv4W/aO1ZKQaYWZBxTrtWKphkCBVEMh0wMVfGgOd2BjOZqUQ==", "cpu": [ "x64" ], @@ -1412,9 +1412,9 @@ "dev": true }, "node_modules/@octokit/openapi-types": { - "version": "18.0.0", - "resolved": "https://registry.npmjs.org/@octokit/openapi-types/-/openapi-types-18.0.0.tgz", - "integrity": "sha512-V8GImKs3TeQRxRtXFpG2wl19V7444NIOTDF24AWuIbmNaNYOQMWRbjcGDXV5B+0n887fgDcuMNOmlul+k+oJtw==" + "version": "21.2.0", + "resolved": "https://registry.npmjs.org/@octokit/openapi-types/-/openapi-types-21.2.0.tgz", + "integrity": "sha512-xx+Xd6I7rYvul/hgUDqv6TeGX0IOGnhSg9IOeYgd/uI7IAqUy6DE2B6Ipv2M4mWoxaMcWjIzgTIcv8pMO3F3vw==" }, "node_modules/@octokit/tsconfig": { "version": "2.0.0", @@ -1423,11 +1423,11 @@ "dev": true }, "node_modules/@octokit/types": { - "version": "11.0.0", - "resolved": "https://registry.npmjs.org/@octokit/types/-/types-11.0.0.tgz", - "integrity": "sha512-h4iyfMpQUdub1itwTn6y7z2a3EtPuer1paKfsIbZErv0LBbZYGq6haiPUPJys/LetPqgcX3ft33O16XuS03Anw==", + "version": "13.1.0", + "resolved": "https://registry.npmjs.org/@octokit/types/-/types-13.1.0.tgz", + "integrity": "sha512-nBwAFOYqVUUJ2AZFK4ZzESQptaAVqdTDKk8gE0Xr0o99WuPDSrhUC38x0F40xD9OUxXhOOuZKWNNVVLPSHQDvQ==", "dependencies": { - "@octokit/openapi-types": "^18.0.0" + "@octokit/openapi-types": "^21.0.0" } }, "node_modules/@pkgjs/parseargs": { @@ -2139,9 +2139,9 @@ } }, "node_modules/esbuild": { - "version": "0.18.4", - "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.18.4.tgz", - "integrity": "sha512-9rxWV/Cb2DMUXfe9aUsYtqg0KTlw146ElFH22kYeK9KVV1qT082X4lpmiKsa12ePiCcIcB686TQJxaGAa9TFvA==", + "version": "0.19.0", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.19.0.tgz", + "integrity": "sha512-i7i8TP4vuG55bKeLyqqk5sTPu1ZjPH3wkcLvAj/0X/222iWFo3AJUYRKjbOoY6BWFMH3teizxHEdV9Su5ESl0w==", "dev": true, "hasInstallScript": true, "bin": { @@ -2151,28 +2151,28 @@ "node": ">=12" }, "optionalDependencies": { - "@esbuild/android-arm": "0.18.4", - "@esbuild/android-arm64": "0.18.4", - "@esbuild/android-x64": "0.18.4", - "@esbuild/darwin-arm64": "0.18.4", - "@esbuild/darwin-x64": "0.18.4", - "@esbuild/freebsd-arm64": "0.18.4", - "@esbuild/freebsd-x64": "0.18.4", - "@esbuild/linux-arm": "0.18.4", - "@esbuild/linux-arm64": "0.18.4", - "@esbuild/linux-ia32": "0.18.4", - "@esbuild/linux-loong64": "0.18.4", - "@esbuild/linux-mips64el": "0.18.4", - "@esbuild/linux-ppc64": "0.18.4", - "@esbuild/linux-riscv64": "0.18.4", - "@esbuild/linux-s390x": "0.18.4", - "@esbuild/linux-x64": "0.18.4", - "@esbuild/netbsd-x64": "0.18.4", - "@esbuild/openbsd-x64": "0.18.4", - "@esbuild/sunos-x64": "0.18.4", - "@esbuild/win32-arm64": "0.18.4", - "@esbuild/win32-ia32": "0.18.4", - "@esbuild/win32-x64": "0.18.4" + "@esbuild/android-arm": "0.19.0", + "@esbuild/android-arm64": "0.19.0", + "@esbuild/android-x64": "0.19.0", + "@esbuild/darwin-arm64": "0.19.0", + "@esbuild/darwin-x64": "0.19.0", + "@esbuild/freebsd-arm64": "0.19.0", + "@esbuild/freebsd-x64": "0.19.0", + "@esbuild/linux-arm": "0.19.0", + "@esbuild/linux-arm64": "0.19.0", + "@esbuild/linux-ia32": "0.19.0", + "@esbuild/linux-loong64": "0.19.0", + "@esbuild/linux-mips64el": "0.19.0", + "@esbuild/linux-ppc64": "0.19.0", + "@esbuild/linux-riscv64": "0.19.0", + "@esbuild/linux-s390x": "0.19.0", + "@esbuild/linux-x64": "0.19.0", + "@esbuild/netbsd-x64": "0.19.0", + "@esbuild/openbsd-x64": "0.19.0", + "@esbuild/sunos-x64": "0.19.0", + "@esbuild/win32-arm64": "0.19.0", + "@esbuild/win32-ia32": "0.19.0", + "@esbuild/win32-x64": "0.19.0" } }, "node_modules/escalade": { @@ -3737,9 +3737,9 @@ } }, "node_modules/prettier": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.0.0.tgz", - "integrity": "sha512-zBf5eHpwHOGPC47h0zrPyNn+eAEIdEzfywMoYn2XPi0P44Zp0tSq64rq0xAREh4auw2cJZHo9QUob+NqCQky4g==", + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.0.3.tgz", + "integrity": "sha512-L/4pUDMxcNa8R/EthV08Zt42WBO4h1rarVtK0K+QJG0X187OLo7l699jWw0GKuwzkPQ//jMFA/8Xm6Fh3J/DAg==", "dev": true, "bin": { "prettier": "bin/prettier.cjs" @@ -5054,156 +5054,156 @@ "dev": true }, "@esbuild/android-arm": { - "version": "0.18.4", - "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.18.4.tgz", - "integrity": "sha512-yKmQC9IiuvHdsNEbPHSprnMHg6OhL1cSeQZLzPpgzJBJ9ppEg9GAZN8MKj1TcmB4tZZUrq5xjK7KCmhwZP8iDA==", + "version": "0.19.0", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.19.0.tgz", + "integrity": "sha512-GAkjUyHgWTYuex3evPd5V7uV/XS4LMKr1PWHRPW1xNyy/Jx08x3uTrDFRefBYLKT/KpaWM8/YMQcwbp5a3yIDA==", "dev": true, "optional": true }, "@esbuild/android-arm64": { - "version": "0.18.4", - "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.18.4.tgz", - "integrity": "sha512-yQVgO+V307hA2XhzELQ6F91CBGX7gSnlVGAj5YIqjQOxThDpM7fOcHT2YLJbE6gNdPtgRSafQrsK8rJ9xHCaZg==", + "version": "0.19.0", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.19.0.tgz", + "integrity": "sha512-AzsozJnB+RNaDncBCs3Ys5g3kqhPFUueItfEaCpp89JH2naFNX2mYDIvUgPYMqqjm8hiFoo+jklb3QHZyR3ubw==", "dev": true, "optional": true }, "@esbuild/android-x64": { - "version": "0.18.4", - "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.18.4.tgz", - "integrity": "sha512-yLKXMxQg6sk1ntftxQ5uwyVgG4/S2E7UoOCc5N4YZW7fdkfRiYEXqm7CMuIfY2Vs3FTrNyKmSfNevIuIvJnMww==", + "version": "0.19.0", + "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.19.0.tgz", + "integrity": "sha512-SUG8/qiVhljBDpdkHQ9DvOWbp7hFFIP0OzxOTptbmVsgBgzY6JWowmMd6yJuOhapfxmj/DrvwKmjRLvVSIAKZg==", "dev": true, "optional": true }, "@esbuild/darwin-arm64": { - "version": "0.18.4", - "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.18.4.tgz", - "integrity": "sha512-MVPEoZjZpk2xQ1zckZrb8eQuQib+QCzdmMs3YZAYEQPg+Rztk5pUxGyk8htZOC8Z38NMM29W+MqY9Sqo/sDGKw==", + "version": "0.19.0", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.19.0.tgz", + "integrity": "sha512-HkxZ8k3Jvcw0FORPNTavA8BMgQjLOB6AajT+iXmil7BwY3gU1hWvJJAyWyEogCmA4LdbGvKF8vEykdmJ4xNJJQ==", "dev": true, "optional": true }, "@esbuild/darwin-x64": { - "version": "0.18.4", - "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.18.4.tgz", - "integrity": "sha512-uEsRtYRUDsz7i2tXg/t/SyF+5gU1cvi9B6B8i5ebJgtUUHJYWyIPIesmIOL4/+bywjxsDMA/XrNFMgMffLnh5A==", + "version": "0.19.0", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.19.0.tgz", + "integrity": "sha512-9IRWJjqpWFHM9a5Qs3r3bK834NCFuDY5ZaLrmTjqE+10B6w65UMQzeZjh794JcxpHolsAHqwsN/33crUXNCM2Q==", "dev": true, "optional": true }, "@esbuild/freebsd-arm64": { - "version": "0.18.4", - "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.18.4.tgz", - "integrity": "sha512-I8EOigqWnOHRin6Zp5Y1cfH3oT54bd7Sdz/VnpUNksbOtfp8IWRTH4pgkgO5jWaRQPjCpJcOpdRjYAMjPt8wXg==", + "version": "0.19.0", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.19.0.tgz", + "integrity": "sha512-s7i2WcXcK0V1PJHVBe7NsGddsL62a9Vhpz2U7zapPrwKoFuxPP9jybwX8SXnropR/AOj3ppt2ern4ItblU6UQQ==", "dev": true, "optional": true }, "@esbuild/freebsd-x64": { - "version": "0.18.4", - "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.18.4.tgz", - "integrity": "sha512-1bHfgMz/cNMjbpsYxjVgMJ1iwKq+NdDPlACBrWULD7ZdFmBQrhMicMaKb5CdmdVyvIwXmasOuF4r6Iq574kUTA==", + "version": "0.19.0", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.19.0.tgz", + "integrity": "sha512-NMdBSSdgwHCqCsucU5k1xflIIRU0qi1QZnM6+vdGy5fvxm1c8rKh50VzsWsIVTFUG3l91AtRxVwoz3Lcvy3I5w==", "dev": true, "optional": true }, "@esbuild/linux-arm": { - "version": "0.18.4", - "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.18.4.tgz", - "integrity": "sha512-4XCGqM/Ay1LCXUBH59bL4JbSbbTK1K22dWHymWMGaEh2sQCDOUw+OQxozYV/YdBb91leK2NbuSrE2BRamwgaYw==", + "version": "0.19.0", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.19.0.tgz", + "integrity": "sha512-2F1+lH7ZBcCcgxiSs8EXQV0PPJJdTNiNcXxDb61vzxTRJJkXX1I/ye9mAhfHyScXzHaEibEXg1Jq9SW586zz7w==", "dev": true, "optional": true }, "@esbuild/linux-arm64": { - "version": "0.18.4", - "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.18.4.tgz", - "integrity": "sha512-J42vLHaYREyiBwH0eQE4/7H1DTfZx8FuxyWSictx4d7ezzuKE3XOkIvOg+SQzRz7T9HLVKzq2tvbAov4UfufBw==", + "version": "0.19.0", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.19.0.tgz", + "integrity": "sha512-I4zvE2srSZxRPapFnNqj+NL3sDJ1wkvEZqt903OZUlBBgigrQMvzUowvP/TTTu2OGYe1oweg5MFilfyrElIFag==", "dev": true, "optional": true }, "@esbuild/linux-ia32": { - "version": "0.18.4", - "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.18.4.tgz", - "integrity": "sha512-4ksIqFwhq7OExty7Sl1n0vqQSCqTG4sU6i99G2yuMr28CEOUZ/60N+IO9hwI8sIxBqmKmDgncE1n5CMu/3m0IA==", + "version": "0.19.0", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.19.0.tgz", + "integrity": "sha512-dz2Q7+P92r1Evc8kEN+cQnB3qqPjmCrOZ+EdBTn8lEc1yN8WDgaDORQQiX+mxaijbH8npXBT9GxUqE52Gt6Y+g==", "dev": true, "optional": true }, "@esbuild/linux-loong64": { - "version": "0.18.4", - "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.18.4.tgz", - "integrity": "sha512-bsWtoVHkGQgAsFXioDueXRiUIfSGrVkJjBBz4gcBJxXcD461cWFQFyu8Fxdj9TP+zEeqJ8C/O4LFFMBNi6Fscw==", + "version": "0.19.0", + "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.19.0.tgz", + "integrity": "sha512-IcVJovJVflih4oFahhUw+N7YgNbuMSVFNr38awb0LNzfaiIfdqIh518nOfYaNQU3aVfiJnOIRVJDSAP4k35WxA==", "dev": true, "optional": true }, "@esbuild/linux-mips64el": { - "version": "0.18.4", - "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.18.4.tgz", - "integrity": "sha512-LRD9Fu8wJQgIOOV1o3nRyzrheFYjxA0C1IVWZ93eNRRWBKgarYFejd5WBtrp43cE4y4D4t3qWWyklm73Mrsd/g==", + "version": "0.19.0", + "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.19.0.tgz", + "integrity": "sha512-bZGRAGySMquWsKw0gIdsClwfvgbsSq/7oq5KVu1H1r9Il+WzOcfkV1hguntIuBjRVL8agI95i4AukjdAV2YpUw==", "dev": true, "optional": true }, "@esbuild/linux-ppc64": { - "version": "0.18.4", - "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.18.4.tgz", - "integrity": "sha512-jtQgoZjM92gauVRxNaaG/TpL3Pr4WcL3Pwqi9QgdrBGrEXzB+twohQiWNSTycs6lUygakos4mm2h0B9/SHveng==", + "version": "0.19.0", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.19.0.tgz", + "integrity": "sha512-3LC6H5/gCDorxoRBUdpLV/m7UthYSdar0XcCu+ypycQxMS08MabZ06y1D1yZlDzL/BvOYliRNRWVG/YJJvQdbg==", "dev": true, "optional": true }, "@esbuild/linux-riscv64": { - "version": "0.18.4", - "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.18.4.tgz", - "integrity": "sha512-7WaU/kRZG0VCV09Xdlkg6LNAsfU9SAxo6XEdaZ8ffO4lh+DZoAhGTx7+vTMOXKxa+r2w1LYDGxfJa2rcgagMRA==", + "version": "0.19.0", + "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.19.0.tgz", + "integrity": "sha512-jfvdKjWk+Cp2sgLtEEdSHXO7qckrw2B2eFBaoRdmfhThqZs29GMMg7q/LsQpybA7BxCLLEs4di5ucsWzZC5XPA==", "dev": true, "optional": true }, "@esbuild/linux-s390x": { - "version": "0.18.4", - "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.18.4.tgz", - "integrity": "sha512-D19ed0xreKQvC5t+ArE2njSnm18WPpE+1fhwaiJHf+Xwqsq+/SUaV8Mx0M27nszdU+Atq1HahrgCOZCNNEASUg==", + "version": "0.19.0", + "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.19.0.tgz", + "integrity": "sha512-ofcucfNLkoXmcnJaw9ugdEOf40AWKGt09WBFCkpor+vFJVvmk/8OPjl/qRtks2Z7BuZbG3ztJuK1zS9z5Cgx9A==", "dev": true, "optional": true }, "@esbuild/linux-x64": { - "version": "0.18.4", - "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.18.4.tgz", - "integrity": "sha512-Rx3AY1sxyiO/gvCGP00nL69L60dfmWyjKWY06ugpB8Ydpdsfi3BHW58HWC24K3CAjAPSwxcajozC2PzA9JBS1g==", + "version": "0.19.0", + "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.19.0.tgz", + "integrity": "sha512-Fpf7zNDBti3xrQKQKLdXT0hTyOxgFdRJIMtNy8x1az9ATR9/GJ1brYbB/GLWoXhKiHsoWs+2DLkFVNNMTCLEwA==", "dev": true, "optional": true }, "@esbuild/netbsd-x64": { - "version": "0.18.4", - "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.18.4.tgz", - "integrity": "sha512-AaShPmN9c6w1mKRpliKFlaWcSkpBT4KOlk93UfFgeI3F3cbjzdDKGsbKnOZozmYbE1izZKLmNJiW0sFM+A5JPA==", + "version": "0.19.0", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.19.0.tgz", + "integrity": "sha512-AMQAp/5oENgDOvVhvOlbhVe1pWii7oFAMRHlmTjSEMcpjTpIHtFXhv9uAFgUERHm3eYtNvS9Vf+gT55cwuI6Aw==", "dev": true, "optional": true }, "@esbuild/openbsd-x64": { - "version": "0.18.4", - "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.18.4.tgz", - "integrity": "sha512-tRGvGwou3BrvHVvF8HxTqEiC5VtPzySudS9fh2jBIKpLX7HCW8jIkW+LunkFDNwhslx4xMAgh0jAHsx/iCymaQ==", + "version": "0.19.0", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.19.0.tgz", + "integrity": "sha512-fDztEve1QUs3h/Dw2AUmBlWGkNQbhDoD05ppm5jKvzQv+HVuV13so7m5RYeiSMIC2XQy7PAjZh+afkxAnCRZxA==", "dev": true, "optional": true }, "@esbuild/sunos-x64": { - "version": "0.18.4", - "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.18.4.tgz", - "integrity": "sha512-acORFDI95GKhmAnlH8EarBeuqoy/j3yxIU+FDB91H3+ZON+8HhTadtT450YkaMzX6lEWbhi+mjVUCj00M5yyOQ==", + "version": "0.19.0", + "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.19.0.tgz", + "integrity": "sha512-bKZzJ2/rvUjDzA5Ddyva2tMk89WzNJEibZEaq+wY6SiqPlwgFbqyQLimouxLHiHh1itb5P3SNCIF1bc2bw5H9w==", "dev": true, "optional": true }, "@esbuild/win32-arm64": { - "version": "0.18.4", - "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.18.4.tgz", - "integrity": "sha512-1NxP+iOk8KSvS1L9SSxEvBAJk39U0GiGZkiiJGbuDF9G4fG7DSDw6XLxZMecAgmvQrwwx7yVKdNN3GgNh0UfKg==", + "version": "0.19.0", + "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.19.0.tgz", + "integrity": "sha512-NQJ+4jmnA79saI+sE+QzcEls19uZkoEmdxo7r//PDOjIpX8pmoWtTnWg6XcbnO7o4fieyAwb5U2LvgWynF4diA==", "dev": true, "optional": true }, "@esbuild/win32-ia32": { - "version": "0.18.4", - "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.18.4.tgz", - "integrity": "sha512-OKr8jze93vbgqZ/r23woWciTixUwLa976C9W7yNBujtnVHyvsL/ocYG61tsktUfJOpyIz5TsohkBZ6Lo2+PCcQ==", + "version": "0.19.0", + "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.19.0.tgz", + "integrity": "sha512-uyxiZAnsfu9diHm9/rIH2soecF/HWLXYUhJKW4q1+/LLmNQ+55lRjvSUDhUmsgJtSUscRJB/3S4RNiTb9o9mCg==", "dev": true, "optional": true }, "@esbuild/win32-x64": { - "version": "0.18.4", - "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.18.4.tgz", - "integrity": "sha512-qJr3wVvcLjPFcV4AMDS3iquhBfTef2zo/jlm8RMxmiRp3Vy2HY8WMxrykJlcbCnqLXZPA0YZxZGND6eug85ogg==", + "version": "0.19.0", + "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.19.0.tgz", + "integrity": "sha512-jl+NXUjK2StMgqnZnqgNjZuerFG8zQqWXMBZdMMv4W/aO1ZKQaYWZBxTrtWKphkCBVEMh0wMVfGgOd2BjOZqUQ==", "dev": true, "optional": true }, @@ -5575,9 +5575,9 @@ } }, "@octokit/openapi-types": { - "version": "18.0.0", - "resolved": "https://registry.npmjs.org/@octokit/openapi-types/-/openapi-types-18.0.0.tgz", - "integrity": "sha512-V8GImKs3TeQRxRtXFpG2wl19V7444NIOTDF24AWuIbmNaNYOQMWRbjcGDXV5B+0n887fgDcuMNOmlul+k+oJtw==" + "version": "21.2.0", + "resolved": "https://registry.npmjs.org/@octokit/openapi-types/-/openapi-types-21.2.0.tgz", + "integrity": "sha512-xx+Xd6I7rYvul/hgUDqv6TeGX0IOGnhSg9IOeYgd/uI7IAqUy6DE2B6Ipv2M4mWoxaMcWjIzgTIcv8pMO3F3vw==" }, "@octokit/tsconfig": { "version": "2.0.0", @@ -5586,11 +5586,11 @@ "dev": true }, "@octokit/types": { - "version": "11.0.0", - "resolved": "https://registry.npmjs.org/@octokit/types/-/types-11.0.0.tgz", - "integrity": "sha512-h4iyfMpQUdub1itwTn6y7z2a3EtPuer1paKfsIbZErv0LBbZYGq6haiPUPJys/LetPqgcX3ft33O16XuS03Anw==", + "version": "13.1.0", + "resolved": "https://registry.npmjs.org/@octokit/types/-/types-13.1.0.tgz", + "integrity": "sha512-nBwAFOYqVUUJ2AZFK4ZzESQptaAVqdTDKk8gE0Xr0o99WuPDSrhUC38x0F40xD9OUxXhOOuZKWNNVVLPSHQDvQ==", "requires": { - "@octokit/openapi-types": "^18.0.0" + "@octokit/openapi-types": "^21.0.0" } }, "@pkgjs/parseargs": { @@ -6144,33 +6144,33 @@ } }, "esbuild": { - "version": "0.18.4", - "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.18.4.tgz", - "integrity": "sha512-9rxWV/Cb2DMUXfe9aUsYtqg0KTlw146ElFH22kYeK9KVV1qT082X4lpmiKsa12ePiCcIcB686TQJxaGAa9TFvA==", - "dev": true, - "requires": { - "@esbuild/android-arm": "0.18.4", - "@esbuild/android-arm64": "0.18.4", - "@esbuild/android-x64": "0.18.4", - "@esbuild/darwin-arm64": "0.18.4", - "@esbuild/darwin-x64": "0.18.4", - "@esbuild/freebsd-arm64": "0.18.4", - "@esbuild/freebsd-x64": "0.18.4", - "@esbuild/linux-arm": "0.18.4", - "@esbuild/linux-arm64": "0.18.4", - "@esbuild/linux-ia32": "0.18.4", - "@esbuild/linux-loong64": "0.18.4", - "@esbuild/linux-mips64el": "0.18.4", - "@esbuild/linux-ppc64": "0.18.4", - "@esbuild/linux-riscv64": "0.18.4", - "@esbuild/linux-s390x": "0.18.4", - "@esbuild/linux-x64": "0.18.4", - "@esbuild/netbsd-x64": "0.18.4", - "@esbuild/openbsd-x64": "0.18.4", - "@esbuild/sunos-x64": "0.18.4", - "@esbuild/win32-arm64": "0.18.4", - "@esbuild/win32-ia32": "0.18.4", - "@esbuild/win32-x64": "0.18.4" + "version": "0.19.0", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.19.0.tgz", + "integrity": "sha512-i7i8TP4vuG55bKeLyqqk5sTPu1ZjPH3wkcLvAj/0X/222iWFo3AJUYRKjbOoY6BWFMH3teizxHEdV9Su5ESl0w==", + "dev": true, + "requires": { + "@esbuild/android-arm": "0.19.0", + "@esbuild/android-arm64": "0.19.0", + "@esbuild/android-x64": "0.19.0", + "@esbuild/darwin-arm64": "0.19.0", + "@esbuild/darwin-x64": "0.19.0", + "@esbuild/freebsd-arm64": "0.19.0", + "@esbuild/freebsd-x64": "0.19.0", + "@esbuild/linux-arm": "0.19.0", + "@esbuild/linux-arm64": "0.19.0", + "@esbuild/linux-ia32": "0.19.0", + "@esbuild/linux-loong64": "0.19.0", + "@esbuild/linux-mips64el": "0.19.0", + "@esbuild/linux-ppc64": "0.19.0", + "@esbuild/linux-riscv64": "0.19.0", + "@esbuild/linux-s390x": "0.19.0", + "@esbuild/linux-x64": "0.19.0", + "@esbuild/netbsd-x64": "0.19.0", + "@esbuild/openbsd-x64": "0.19.0", + "@esbuild/sunos-x64": "0.19.0", + "@esbuild/win32-arm64": "0.19.0", + "@esbuild/win32-ia32": "0.19.0", + "@esbuild/win32-x64": "0.19.0" } }, "escalade": { @@ -7347,9 +7347,9 @@ } }, "prettier": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.0.0.tgz", - "integrity": "sha512-zBf5eHpwHOGPC47h0zrPyNn+eAEIdEzfywMoYn2XPi0P44Zp0tSq64rq0xAREh4auw2cJZHo9QUob+NqCQky4g==", + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.0.3.tgz", + "integrity": "sha512-L/4pUDMxcNa8R/EthV08Zt42WBO4h1rarVtK0K+QJG0X187OLo7l699jWw0GKuwzkPQ//jMFA/8Xm6Fh3J/DAg==", "dev": true }, "pretty-format": { diff --git a/package.json b/package.json index 8be7ed4..9932e2b 100644 --- a/package.json +++ b/package.json @@ -2,7 +2,8 @@ "name": "@octokit/request-error", "version": "0.0.0-development", "publishConfig": { - "access": "public" + "access": "public", + "provenance": true }, "description": "Error class for Octokit request errors", "scripts": { @@ -22,7 +23,7 @@ "author": "Gregor Martynus (https://github.com/gr2m)", "license": "MIT", "dependencies": { - "@octokit/types": "^11.0.0", + "@octokit/types": "^13.1.0", "deprecation": "^2.0.0", "once": "^1.4.0" }, @@ -31,10 +32,10 @@ "@types/jest": "^29.0.0", "@types/node": "^18.0.0", "@types/once": "^1.4.0", - "esbuild": "^0.18.0", + "esbuild": "^0.19.0", "glob": "^10.2.6", "jest": "^29.0.0", - "prettier": "3.0.0", + "prettier": "3.0.3", "ts-jest": "^29.0.0", "typescript": "^5.0.0" }, diff --git a/src/index.ts b/src/index.ts index 2626118..d4f4f65 100644 --- a/src/index.ts +++ b/src/index.ts @@ -76,7 +76,7 @@ export class RequestError extends Error { if (options.request.headers.authorization) { requestCopy.headers = Object.assign({}, options.request.headers, { authorization: options.request.headers.authorization.replace( - / .*$/, + /(? { + test("Test ReDoS - attack string", () => { + const startTime = performance.now(); + const error = new RequestError("Oops", 500, { + request: { + method: "POST", + url: "https://api.github.com/foo", + body: { + bar: "baz", + }, + headers: { + authorization: "" + " ".repeat(100000) + "\n@", + }, + }, + response: { + status: 500, + url: "https://api.github.com/foo", + headers: { + "x-github-request-id": "1:2:3:4", + }, + data: { + foo: "bar", + }, + }, + }); + const endTime = performance.now(); + const elapsedTime = endTime - startTime; + const reDosThreshold = 2000; + expect(elapsedTime).toBeLessThanOrEqual(reDosThreshold); + if (elapsedTime > reDosThreshold) { + console.warn( + `🚨 Potential ReDoS Attack! getDuration method took ${elapsedTime.toFixed( + 2, + )} ms, exceeding threshold of ${reDosThreshold} ms.`, + ); + } + }); test("inherits from Error", () => { const error = new RequestError("test", 123, mockOptions); expect(error).toBeInstanceOf(Error);