Compare commits

...

5 Commits

Author SHA1 Message Date
semantic-release-bot 3378cda945 build(release): 1.10.4 [skip ci]
## [1.10.4](https://github.com/actions/create-github-app-token/compare/v1.10.3...v1.10.4) (2024-09-04)

### Bug Fixes

* **deps:** bump the production-dependencies group across 1 directory with 3 updates ([#166](https://github.com/actions/create-github-app-token/issues/166)) ([e177c20](https://github.com/actions/create-github-app-token/commit/e177c20e0f736e68f4a37ffee6aa32c73da13988)), closes [#641](https://github.com/actions/create-github-app-token/issues/641) [#641](https://github.com/actions/create-github-app-token/issues/641) [#639](https://github.com/actions/create-github-app-token/issues/639) [#638](https://github.com/actions/create-github-app-token/issues/638) [#637](https://github.com/actions/create-github-app-token/issues/637) [#636](https://github.com/actions/create-github-app-token/issues/636) [#633](https://github.com/actions/create-github-app-token/issues/633) [#632](https://github.com/actions/create-github-app-token/issues/632) [#631](https://github.com/actions/create-github-app-token/issues/631) [#630](https://github.com/actions/create-github-app-token/issues/630) [#629](https://github.com/actions/create-github-app-token/issues/629) [#714](https://github.com/actions/create-github-app-token/issues/714) [#711](https://github.com/actions/create-github-app-token/issues/711) [#714](https://github.com/actions/create-github-app-token/issues/714) [#716](https://github.com/actions/create-github-app-token/issues/716) [#711](https://github.com/actions/create-github-app-token/issues/711) [#712](https://github.com/actions/create-github-app-token/issues/712) [#710](https://github.com/actions/create-github-app-token/issues/710) [#709](https://github.com/actions/create-github-app-token/issues/709) [#708](https://github.com/actions/create-github-app-token/issues/708) [#702](https://github.com/actions/create-github-app-token/issues/702) [#706](https://github.com/actions/create-github-app-token/issues/706) [#3458](https://github.com/actions/create-github-app-token/issues/3458) [#3461](https://github.com/actions/create-github-app-token/issues/3461) [#3460](https://github.com/actions/create-github-app-token/issues/3460) [#3454](https://github.com/actions/create-github-app-token/issues/3454) [#3450](https://github.com/actions/create-github-app-token/issues/3450) [#3445](https://github.com/actions/create-github-app-token/issues/3445)
2024-09-04 04:41:08 +00:00
dependabot[bot] e177c20e0f fix(deps): bump the production-dependencies group across 1 directory with 3 updates (#166)
Bumps the production-dependencies group with 3 updates in the /
directory: [@octokit/auth-app](https://github.com/octokit/auth-app.js),
[@octokit/request](https://github.com/octokit/request.js) and
[undici](https://github.com/nodejs/undici).

Updates `@octokit/auth-app` from 7.1.0 to 7.1.1
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/octokit/auth-app.js/releases"><code>@​octokit/auth-app</code>'s
releases</a>.</em></p>
<blockquote>
<h2>v7.1.1</h2>
<h2><a
href="https://github.com/octokit/auth-app.js/compare/v7.1.0...v7.1.1">7.1.1</a>
(2024-09-03)</h2>
<h3>Bug Fixes</h3>
<ul>
<li>respect <code>baseUrl</code> passed as part of request parameters
(<a
href="https://redirect.github.com/octokit/auth-app.js/issues/641">#641</a>)
(<a
href="https://github.com/octokit/auth-app.js/commit/8478cac30ca251951901430e4a695744e449ef48">8478cac</a>)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/octokit/auth-app.js/commit/8478cac30ca251951901430e4a695744e449ef48"><code>8478cac</code></a>
fix: respect <code>baseUrl</code> passed as part of request parameters
(<a
href="https://redirect.github.com/octokit/auth-app.js/issues/641">#641</a>)</li>
<li><a
href="https://github.com/octokit/auth-app.js/commit/447852ffd190b410dcfcea0fb0bff5667d90755f"><code>447852f</code></a>
build(deps): lock file maintenance (<a
href="https://redirect.github.com/octokit/auth-app.js/issues/639">#639</a>)</li>
<li><a
href="https://github.com/octokit/auth-app.js/commit/47313fc7236074171ca0298e6c9f331e5404b344"><code>47313fc</code></a>
build(deps): lock file maintenance (<a
href="https://redirect.github.com/octokit/auth-app.js/issues/638">#638</a>)</li>
<li><a
href="https://github.com/octokit/auth-app.js/commit/bf6d0a45de2f4c59dae22b49c54256235bc902eb"><code>bf6d0a4</code></a>
build(deps): lock file maintenance (<a
href="https://redirect.github.com/octokit/auth-app.js/issues/637">#637</a>)</li>
<li><a
href="https://github.com/octokit/auth-app.js/commit/afcd20bb5ca8af61fe4070869493b837c442decd"><code>afcd20b</code></a>
build(deps): lock file maintenance (<a
href="https://redirect.github.com/octokit/auth-app.js/issues/636">#636</a>)</li>
<li><a
href="https://github.com/octokit/auth-app.js/commit/d9001b1504567ff1c55f53a1ccaa5ecad00dfb02"><code>d9001b1</code></a>
build(deps): lock file maintenance (<a
href="https://redirect.github.com/octokit/auth-app.js/issues/633">#633</a>)</li>
<li><a
href="https://github.com/octokit/auth-app.js/commit/bf1bb9d2d3221733e1ec019ad94b45d8b1de8f8d"><code>bf1bb9d</code></a>
build(deps): lock file maintenance (<a
href="https://redirect.github.com/octokit/auth-app.js/issues/632">#632</a>)</li>
<li><a
href="https://github.com/octokit/auth-app.js/commit/d8380f99936f9be313a0c5423b8ff57ade5a4413"><code>d8380f9</code></a>
build(deps): lock file maintenance (<a
href="https://redirect.github.com/octokit/auth-app.js/issues/631">#631</a>)</li>
<li><a
href="https://github.com/octokit/auth-app.js/commit/c525302c92511df4cc6731628e196f1360dd2308"><code>c525302</code></a>
build(deps): lock file maintenance (<a
href="https://redirect.github.com/octokit/auth-app.js/issues/630">#630</a>)</li>
<li><a
href="https://github.com/octokit/auth-app.js/commit/e647e114092a9c58a7a9f8c4407a20d4ebbe4600"><code>e647e11</code></a>
chore(deps): update dependency prettier to v3.3.3 (<a
href="https://redirect.github.com/octokit/auth-app.js/issues/629">#629</a>)</li>
<li>Additional commits viewable in <a
href="https://github.com/octokit/auth-app.js/compare/v7.1.0...v7.1.1">compare
view</a></li>
</ul>
</details>
<br />

Updates `@octokit/request` from 9.1.1 to 9.1.3
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/octokit/request.js/releases"><code>@​octokit/request</code>'s
releases</a>.</em></p>
<blockquote>
<h2>v9.1.3</h2>
<h2><a
href="https://github.com/octokit/request.js/compare/v9.1.2...v9.1.3">9.1.3</a>
(2024-07-14)</h2>
<h3>Bug Fixes</h3>
<ul>
<li>improve toErrorMessage (<a
href="https://redirect.github.com/octokit/request.js/issues/714">#714</a>)
(<a
href="https://github.com/octokit/request.js/commit/fcc5b25e044a2dd0fb8c1a76390eb6da9aa06d42">fcc5b25</a>)</li>
</ul>
<h2>v9.1.2</h2>
<h2><a
href="https://github.com/octokit/request.js/compare/v9.1.1...v9.1.2">9.1.2</a>
(2024-07-13)</h2>
<h3>Bug Fixes</h3>
<ul>
<li><strong>refactor:</strong> async await instead of Promise chain (<a
href="https://redirect.github.com/octokit/request.js/issues/711">#711</a>)
(<a
href="https://github.com/octokit/request.js/commit/611b275b445eb9a5817a003e2f9a6260aba5f477">611b275</a>)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/octokit/request.js/commit/fcc5b25e044a2dd0fb8c1a76390eb6da9aa06d42"><code>fcc5b25</code></a>
fix: improve toErrorMessage (<a
href="https://redirect.github.com/octokit/request.js/issues/714">#714</a>)</li>
<li><a
href="https://github.com/octokit/request.js/commit/f2162d6cea02cf67760d3f4580f0768e5e793844"><code>f2162d6</code></a>
chore(deps): update dependency prettier to v3.3.3 (<a
href="https://redirect.github.com/octokit/request.js/issues/716">#716</a>)</li>
<li><a
href="https://github.com/octokit/request.js/commit/611b275b445eb9a5817a003e2f9a6260aba5f477"><code>611b275</code></a>
fix(refactor): async await instead of Promise chain (<a
href="https://redirect.github.com/octokit/request.js/issues/711">#711</a>)</li>
<li><a
href="https://github.com/octokit/request.js/commit/bc059c87990d078a58e9f64928d46bd1dacdbc8e"><code>bc059c8</code></a>
ci: start testing against 22 (<a
href="https://redirect.github.com/octokit/request.js/issues/712">#712</a>)</li>
<li><a
href="https://github.com/octokit/request.js/commit/9205e49ec5d77e72bcef6d886cc0aab6b73a7ea4"><code>9205e49</code></a>
chore: integrate getBufferResponse (<a
href="https://redirect.github.com/octokit/request.js/issues/710">#710</a>)</li>
<li><a
href="https://github.com/octokit/request.js/commit/2ac28348e2f7334e0dbb5f99d11fbb8a5d0ca78e"><code>2ac2834</code></a>
refactor: assign fetch once (<a
href="https://redirect.github.com/octokit/request.js/issues/709">#709</a>)</li>
<li><a
href="https://github.com/octokit/request.js/commit/94141f4f83c4413b68cc1fad4d6dfb0127147e00"><code>94141f4</code></a>
chore(test): remove fetch-mock from request-common-test.ts (<a
href="https://redirect.github.com/octokit/request.js/issues/708">#708</a>)</li>
<li><a
href="https://github.com/octokit/request.js/commit/af8ef43bbd44d6c0adc9cee5c1d229a49ecc29e0"><code>af8ef43</code></a>
test: use native fetch with mock server (<a
href="https://redirect.github.com/octokit/request.js/issues/702">#702</a>)</li>
<li><a
href="https://github.com/octokit/request.js/commit/eaceec751632fb6b5b328489e79a293aaaab5d28"><code>eaceec7</code></a>
chore(deps): update vitest monorepo to v2 (major) (<a
href="https://redirect.github.com/octokit/request.js/issues/706">#706</a>)</li>
<li><a
href="https://github.com/octokit/request.js/commit/ac95d1e096c4583ea98c5c42878585c20891d32f"><code>ac95d1e</code></a>
chore(deps): update dependency esbuild to ^0.23.0</li>
<li>Additional commits viewable in <a
href="https://github.com/octokit/request.js/compare/v9.1.1...v9.1.3">compare
view</a></li>
</ul>
</details>
<br />

Updates `undici` from 6.19.2 to 6.19.8
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/nodejs/undici/releases">undici's
releases</a>.</em></p>
<blockquote>
<h2>v6.19.8</h2>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/nodejs/undici/compare/v6.19.7...v6.19.8">https://github.com/nodejs/undici/compare/v6.19.7...v6.19.8</a></p>
<h2>v6.19.7</h2>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/nodejs/undici/compare/v6.19.6...v6.19.7">https://github.com/nodejs/undici/compare/v6.19.6...v6.19.7</a></p>
<h2>v6.19.6</h2>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/nodejs/undici/compare/v6.19.5...v6.19.6">https://github.com/nodejs/undici/compare/v6.19.5...v6.19.6</a></p>
<h2>v6.19.5</h2>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/nodejs/undici/compare/v6.19.4...v6.19.5">https://github.com/nodejs/undici/compare/v6.19.4...v6.19.5</a></p>
<h2>v6.19.4</h2>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/nodejs/undici/compare/v6.19.3...v6.19.4">https://github.com/nodejs/undici/compare/v6.19.3...v6.19.4</a></p>
<h2>v6.19.3</h2>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/nodejs/undici/compare/v6.19.2...v6.19.3">https://github.com/nodejs/undici/compare/v6.19.2...v6.19.3</a></p>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/nodejs/undici/commit/3d3ce0695c8c3f9a8f3c8af90dd42d0569d3f0bb"><code>3d3ce06</code></a>
Bumped v6.19.8</li>
<li><a
href="https://github.com/nodejs/undici/commit/cde714f7f5b8469c5b598bb9d52455891a84386b"><code>cde714f</code></a>
use FinalizationRegistry for cloned response body (<a
href="https://redirect.github.com/nodejs/undici/issues/3458">#3458</a>)</li>
<li><a
href="https://github.com/nodejs/undici/commit/dbb6b40e69b5e7863c95fb439b9a95c66ba3e9f4"><code>dbb6b40</code></a>
perf: non-recursive implementation of euclidian gcd in balanced pool (<a
href="https://redirect.github.com/nodejs/undici/issues/3461">#3461</a>)</li>
<li><a
href="https://github.com/nodejs/undici/commit/405a2ce3da0a5f7642b8b1df520d4bb26f91be87"><code>405a2ce</code></a>
use bodyUnusable to check if body is unusable (<a
href="https://redirect.github.com/nodejs/undici/issues/3460">#3460</a>)</li>
<li><a
href="https://github.com/nodejs/undici/commit/bc463323b41bf2cfa1855236e2579d0961025e10"><code>bc46332</code></a>
build: parametrize the location of wasm-opt (<a
href="https://redirect.github.com/nodejs/undici/issues/3454">#3454</a>)</li>
<li><a
href="https://github.com/nodejs/undici/commit/52870545df66d9b391bb7200dfccf4490406bf46"><code>5287054</code></a>
test: add test for memory leak (<a
href="https://redirect.github.com/nodejs/undici/issues/3450">#3450</a>)</li>
<li><a
href="https://github.com/nodejs/undici/commit/c81f5a72d653917da08eb7ccc99e332aed51768c"><code>c81f5a7</code></a>
Bumped v6.19.7</li>
<li><a
href="https://github.com/nodejs/undici/commit/09c566756b042798728b59ee4d4d2033d939e4f1"><code>09c5667</code></a>
build: remove -i flag to docker run to allow command being run without a
TTY</li>
<li><a
href="https://github.com/nodejs/undici/commit/b9bf7adfddeb9cd93a9433a0a1d38e39afa5dfb5"><code>b9bf7ad</code></a>
Bumped v6.19.6</li>
<li><a
href="https://github.com/nodejs/undici/commit/638ee3235de2ce4c2096016e0c54ce66e4c24e5e"><code>638ee32</code></a>
fix: memory leak in finalization first appearing in v6.16.0 (<a
href="https://redirect.github.com/nodejs/undici/issues/3445">#3445</a>)</li>
<li>Additional commits viewable in <a
href="https://github.com/nodejs/undici/compare/v6.19.2...v6.19.8">compare
view</a></li>
</ul>
</details>
<br />


Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore <dependency name> major version` will close this
group update PR and stop Dependabot creating any more for the specific
dependency's major version (unless you unignore this specific
dependency's major version or upgrade to it yourself)
- `@dependabot ignore <dependency name> minor version` will close this
group update PR and stop Dependabot creating any more for the specific
dependency's minor version (unless you unignore this specific
dependency's minor version or upgrade to it yourself)
- `@dependabot ignore <dependency name>` will close this group update PR
and stop Dependabot creating any more for the specific dependency
(unless you unignore this specific dependency or upgrade to it yourself)
- `@dependabot unignore <dependency name>` will remove all of the ignore
conditions of the specified dependency
- `@dependabot unignore <dependency name> <ignore condition>` will
remove the ignore condition of the specified dependency and ignore
conditions


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Parker Brown <17183625+parkerbxyz@users.noreply.github.com>
2024-09-03 21:40:32 -07:00
dependabot[bot] 961c2284dc build(deps-dev): bump the development-dependencies group across 1 directory with 4 updates (#167) 2024-09-03 21:39:02 -07:00
Parker Brown 15db0371da test: fix test file extensions and inputs for repositories (#161)
This pull request fixes the file extension for two test files that were
incorrectly named. This caused them not to be tested. A new test has
been added to ensure all test files have the correct extension.

This also fixes a bug in some tests where `repositories` inputs included
the repository owner. The owner has been removed from these inputs and
the snapshots have been updated.
2024-09-03 20:04:47 -07:00
Parker Brown 9ccc6dbd71 ci(test): add workflow_dispatch trigger 2024-08-08 14:31:42 -07:00
16 changed files with 790 additions and 718 deletions
+1
View File
@@ -5,6 +5,7 @@ on:
branches:
- main
pull_request:
workflow_dispatch:
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
+287 -280
View File
@@ -2239,6 +2239,7 @@ var require_decodeText = __commonJS({
return decoders.utf8;
case "latin1":
case "ascii":
// TODO: Make these a separate, strict decoder?
case "us-ascii":
case "iso-8859-1":
case "iso8859-1":
@@ -2938,6 +2939,7 @@ var require_basename = __commonJS({
for (var i = path.length - 1; i >= 0; --i) {
switch (path.charCodeAt(i)) {
case 47:
// '/'
case 92:
path = path.slice(i + 1);
return path === ".." || path === "." ? "" : path;
@@ -4172,7 +4174,21 @@ var require_util2 = __commonJS({
return referrerOrigin;
}
case "strict-origin":
// eslint-disable-line
/**
* 1. If referrerURL is a potentially trustworthy URL and
* requests current URL is not a potentially trustworthy URL,
* then return no referrer.
* 2. Return referrerOrigin
*/
case "no-referrer-when-downgrade":
// eslint-disable-line
/**
* 1. If referrerURL is a potentially trustworthy URL and
* requests current URL is not a potentially trustworthy URL,
* then return no referrer.
* 2. Return referrerOrigin
*/
default:
return isNonPotentiallyTrustWorthy ? "no-referrer" : referrerOrigin;
}
@@ -20172,6 +20188,27 @@ var require_util8 = __commonJS({
}
var kEnumerableProperty = /* @__PURE__ */ Object.create(null);
kEnumerableProperty.enumerable = true;
var normalizedMethodRecordsBase = {
delete: "DELETE",
DELETE: "DELETE",
get: "GET",
GET: "GET",
head: "HEAD",
HEAD: "HEAD",
options: "OPTIONS",
OPTIONS: "OPTIONS",
post: "POST",
POST: "POST",
put: "PUT",
PUT: "PUT"
};
var normalizedMethodRecords = {
...normalizedMethodRecordsBase,
patch: "patch",
PATCH: "PATCH"
};
Object.setPrototypeOf(normalizedMethodRecordsBase, null);
Object.setPrototypeOf(normalizedMethodRecords, null);
module2.exports = {
kEnumerableProperty,
nop,
@@ -20210,6 +20247,8 @@ var require_util8 = __commonJS({
isValidHeaderValue,
isTokenCharCode,
parseRangeHeader,
normalizedMethodRecordsBase,
normalizedMethodRecords,
isValidPort,
isHttpOrHttpsPrefixed,
nodeMajor,
@@ -20425,7 +20464,8 @@ var require_request3 = __commonJS({
isBlobLike,
buildURL,
validateHandler,
getServerName
getServerName,
normalizedMethodRecords
} = require_util8();
var { channels } = require_diagnostics();
var { headerNameLowerCasedRecord } = require_constants6();
@@ -20452,12 +20492,12 @@ var require_request3 = __commonJS({
throw new InvalidArgumentError("path must be a string");
} else if (path[0] !== "/" && !(path.startsWith("http://") || path.startsWith("https://")) && method !== "CONNECT") {
throw new InvalidArgumentError("path must be an absolute URL or start with a slash");
} else if (invalidPathRegex.exec(path) !== null) {
} else if (invalidPathRegex.test(path)) {
throw new InvalidArgumentError("invalid request path");
}
if (typeof method !== "string") {
throw new InvalidArgumentError("method must be a string");
} else if (!isValidHTTPToken(method)) {
} else if (normalizedMethodRecords[method] === void 0 && !isValidHTTPToken(method)) {
throw new InvalidArgumentError("invalid request method");
}
if (upgrade && typeof upgrade !== "string") {
@@ -21002,7 +21042,7 @@ var require_connect2 = __commonJS({
}
};
}
function buildConnector({ allowH2, maxCachedSessions, socketPath, timeout, ...opts }) {
function buildConnector({ allowH2, maxCachedSessions, socketPath, timeout, session: customSession, ...opts }) {
if (maxCachedSessions != null && (!Number.isInteger(maxCachedSessions) || maxCachedSessions < 0)) {
throw new InvalidArgumentError("maxCachedSessions must be a positive integer or zero");
}
@@ -21018,7 +21058,7 @@ var require_connect2 = __commonJS({
}
servername = servername || options.servername || util.getServerName(host) || null;
const sessionKey = servername || hostname;
const session = sessionCache.get(sessionKey) || null;
const session = customSession || sessionCache.get(sessionKey) || null;
assert(sessionKey);
socket = tls.connect({
highWaterMark: 16384,
@@ -22536,7 +22576,7 @@ var require_util9 = __commonJS({
var { getGlobalOrigin } = require_global3();
var { collectASequenceOfCodePoints, collectAnHTTPQuotedString, removeChars, parseMIMEType } = require_data_url();
var { performance: performance2 } = require("node:perf_hooks");
var { isBlobLike, ReadableStreamFrom, isValidHTTPToken } = require_util8();
var { isBlobLike, ReadableStreamFrom, isValidHTTPToken, normalizedMethodRecordsBase } = require_util8();
var assert = require("node:assert");
var { isUint8Array } = require("node:util/types");
var { webidl } = require_webidl2();
@@ -22643,7 +22683,7 @@ var require_util9 = __commonJS({
}
function appendRequestOriginHeader(request2) {
let serializedOrigin = request2.origin;
if (serializedOrigin === "client") {
if (serializedOrigin === "client" || serializedOrigin === void 0) {
return;
}
if (request2.responseTainting === "cors" || request2.mode === "websocket") {
@@ -22761,7 +22801,21 @@ var require_util9 = __commonJS({
return referrerOrigin;
}
case "strict-origin":
// eslint-disable-line
/**
* 1. If referrerURL is a potentially trustworthy URL and
* requests current URL is not a potentially trustworthy URL,
* then return no referrer.
* 2. Return referrerOrigin
*/
case "no-referrer-when-downgrade":
// eslint-disable-line
/**
* 1. If referrerURL is a potentially trustworthy URL and
* requests current URL is not a potentially trustworthy URL,
* then return no referrer.
* 2. Return referrerOrigin
*/
default:
return isNonPotentiallyTrustWorthy ? "no-referrer" : referrerOrigin;
}
@@ -22924,29 +22978,8 @@ var require_util9 = __commonJS({
function isCancelled(fetchParams) {
return fetchParams.controller.state === "aborted" || fetchParams.controller.state === "terminated";
}
var normalizeMethodRecordBase = {
delete: "DELETE",
DELETE: "DELETE",
get: "GET",
GET: "GET",
head: "HEAD",
HEAD: "HEAD",
options: "OPTIONS",
OPTIONS: "OPTIONS",
post: "POST",
POST: "POST",
put: "PUT",
PUT: "PUT"
};
var normalizeMethodRecord = {
...normalizeMethodRecordBase,
patch: "patch",
PATCH: "PATCH"
};
Object.setPrototypeOf(normalizeMethodRecordBase, null);
Object.setPrototypeOf(normalizeMethodRecord, null);
function normalizeMethod(method) {
return normalizeMethodRecordBase[method.toLowerCase()] ?? method;
return normalizedMethodRecordsBase[method.toLowerCase()] ?? method;
}
function serializeJavascriptValueToJSONString(value) {
const result = JSON.stringify(value);
@@ -23083,7 +23116,7 @@ var require_util9 = __commonJS({
}
});
}
async function fullyReadBody(body, processBody, processBodyError, shouldClone) {
async function fullyReadBody(body, processBody, processBodyError) {
const successSteps = processBody;
const errorSteps = processBodyError;
let reader;
@@ -23094,7 +23127,7 @@ var require_util9 = __commonJS({
return;
}
try {
successSteps(await readAllBytes(reader, shouldClone));
successSteps(await readAllBytes(reader));
} catch (e) {
errorSteps(e);
}
@@ -23117,19 +23150,12 @@ var require_util9 = __commonJS({
assert(!invalidIsomorphicEncodeValueRegex.test(input));
return input;
}
async function readAllBytes(reader, shouldClone) {
async function readAllBytes(reader) {
const bytes = [];
let byteLength = 0;
while (true) {
const { done, value: chunk } = await reader.read();
if (done) {
if (bytes.length === 1) {
const { buffer, byteOffset, byteLength: byteLength2 } = bytes[0];
if (shouldClone === false) {
return Buffer.from(buffer, byteOffset, byteLength2);
}
return Buffer.from(buffer.slice(byteOffset, byteOffset + byteLength2), 0, byteLength2);
}
return Buffer.concat(bytes, byteLength);
}
if (!isUint8Array(chunk)) {
@@ -23392,7 +23418,6 @@ var require_util9 = __commonJS({
urlHasHttpsScheme,
urlIsHttpHttpsScheme,
readAllBytes,
normalizeMethodRecord,
simpleRangeHeaderValue,
buildContentRange,
parseMetadata,
@@ -23892,11 +23917,23 @@ var require_body2 = __commonJS({
var { webidl } = require_webidl2();
var { Blob: Blob2 } = require("node:buffer");
var assert = require("node:assert");
var { isErrored } = require_util8();
var { isErrored, isDisturbed } = require("node:stream");
var { isArrayBuffer } = require("node:util/types");
var { serializeAMimeType } = require_data_url();
var { multipartFormDataParser } = require_formdata_parser();
var textEncoder = new TextEncoder();
function noop() {
}
var hasFinalizationRegistry = globalThis.FinalizationRegistry && process.version.indexOf("v18") !== 0;
var streamRegistry;
if (hasFinalizationRegistry) {
streamRegistry = new FinalizationRegistry((weakRef) => {
const stream = weakRef.deref();
if (stream && !stream.locked && !isDisturbed(stream) && !isErrored(stream)) {
stream.cancel("Response object has been garbage collected").catch(noop);
}
});
}
function extractBody(object, keepalive = false) {
let stream = null;
if (object instanceof ReadableStream) {
@@ -24039,8 +24076,11 @@ Content-Type: ${value.type || "application/octet-stream"}\r
}
return extractBody(object, keepalive);
}
function cloneBody(body) {
function cloneBody(instance, body) {
const [out1, out2] = body.stream.tee();
if (hasFinalizationRegistry) {
streamRegistry.register(instance, new WeakRef(out1));
}
body.stream = out1;
return {
stream: out2,
@@ -24064,18 +24104,18 @@ Content-Type: ${value.type || "application/octet-stream"}\r
mimeType = serializeAMimeType(mimeType);
}
return new Blob2([bytes], { type: mimeType });
}, instance, false);
}, instance);
},
arrayBuffer() {
return consumeBody(this, (bytes) => {
return bytes.buffer;
}, instance, true);
return new Uint8Array(bytes).buffer;
}, instance);
},
text() {
return consumeBody(this, utf8DecodeBytes, instance, false);
return consumeBody(this, utf8DecodeBytes, instance);
},
json() {
return consumeBody(this, parseJSONFromBytes, instance, false);
return consumeBody(this, parseJSONFromBytes, instance);
},
formData() {
return consumeBody(this, (value) => {
@@ -24104,12 +24144,12 @@ Content-Type: ${value.type || "application/octet-stream"}\r
throw new TypeError(
'Content-Type was not one of "multipart/form-data" or "application/x-www-form-urlencoded".'
);
}, instance, false);
}, instance);
},
bytes() {
return consumeBody(this, (bytes) => {
return new Uint8Array(bytes.buffer, 0, bytes.byteLength);
}, instance, true);
return new Uint8Array(bytes);
}, instance);
}
};
return methods;
@@ -24117,9 +24157,9 @@ Content-Type: ${value.type || "application/octet-stream"}\r
function mixinBody(prototype) {
Object.assign(prototype.prototype, bodyMixinMethods(prototype));
}
async function consumeBody(object, convertBytesToJSValue, instance, shouldClone) {
async function consumeBody(object, convertBytesToJSValue, instance) {
webidl.brandCheck(object, instance);
if (bodyUnusable(object[kState].body)) {
if (bodyUnusable(object)) {
throw new TypeError("Body is unusable: Body has already been read");
}
throwIfAborted(object[kState]);
@@ -24136,10 +24176,11 @@ Content-Type: ${value.type || "application/octet-stream"}\r
successSteps(Buffer.allocUnsafe(0));
return promise.promise;
}
await fullyReadBody(object[kState].body, successSteps, errorSteps, shouldClone);
await fullyReadBody(object[kState].body, successSteps, errorSteps);
return promise.promise;
}
function bodyUnusable(body) {
function bodyUnusable(object) {
const body = object[kState].body;
return body != null && (body.stream.locked || util.isDisturbed(body.stream));
}
function parseJSONFromBytes(bytes) {
@@ -24157,7 +24198,10 @@ Content-Type: ${value.type || "application/octet-stream"}\r
extractBody,
safelyExtractBody,
cloneBody,
mixinBody
mixinBody,
streamRegistry,
hasFinalizationRegistry,
bodyUnusable
};
}
});
@@ -24889,25 +24933,25 @@ upgrade: ${upgrade}\r
channels.sendHeaders.publish({ request: request2, headers: header, socket });
}
if (!body || bodyLength === 0) {
writeBuffer({ abort, body: null, client, request: request2, socket, contentLength, header, expectsPayload });
writeBuffer(abort, null, client, request2, socket, contentLength, header, expectsPayload);
} else if (util.isBuffer(body)) {
writeBuffer({ abort, body, client, request: request2, socket, contentLength, header, expectsPayload });
writeBuffer(abort, body, client, request2, socket, contentLength, header, expectsPayload);
} else if (util.isBlobLike(body)) {
if (typeof body.stream === "function") {
writeIterable({ abort, body: body.stream(), client, request: request2, socket, contentLength, header, expectsPayload });
writeIterable(abort, body.stream(), client, request2, socket, contentLength, header, expectsPayload);
} else {
writeBlob({ abort, body, client, request: request2, socket, contentLength, header, expectsPayload });
writeBlob(abort, body, client, request2, socket, contentLength, header, expectsPayload);
}
} else if (util.isStream(body)) {
writeStream({ abort, body, client, request: request2, socket, contentLength, header, expectsPayload });
writeStream(abort, body, client, request2, socket, contentLength, header, expectsPayload);
} else if (util.isIterable(body)) {
writeIterable({ abort, body, client, request: request2, socket, contentLength, header, expectsPayload });
writeIterable(abort, body, client, request2, socket, contentLength, header, expectsPayload);
} else {
assert(false);
}
return true;
}
function writeStream({ abort, body, client, request: request2, socket, contentLength, header, expectsPayload }) {
function writeStream(abort, body, client, request2, socket, contentLength, header, expectsPayload) {
assert(contentLength !== 0 || client[kRunning] === 0, "stream body cannot be pipelined");
let finished = false;
const writer = new AsyncWriter({ abort, socket, request: request2, contentLength, client, expectsPayload, header });
@@ -24976,7 +25020,7 @@ upgrade: ${upgrade}\r
setImmediate(onClose);
}
}
function writeBuffer({ abort, body, client, request: request2, socket, contentLength, header, expectsPayload }) {
function writeBuffer(abort, body, client, request2, socket, contentLength, header, expectsPayload) {
try {
if (!body) {
if (contentLength === 0) {
@@ -25007,7 +25051,7 @@ upgrade: ${upgrade}\r
abort(err);
}
}
async function writeBlob({ abort, body, client, request: request2, socket, contentLength, header, expectsPayload }) {
async function writeBlob(abort, body, client, request2, socket, contentLength, header, expectsPayload) {
assert(contentLength === body.size, "blob body must have content length");
try {
if (contentLength != null && contentLength !== body.size) {
@@ -25030,7 +25074,7 @@ upgrade: ${upgrade}\r
abort(err);
}
}
async function writeIterable({ abort, body, client, request: request2, socket, contentLength, header, expectsPayload }) {
async function writeIterable(abort, body, client, request2, socket, contentLength, header, expectsPayload) {
assert(contentLength !== 0 || client[kRunning] === 0, "iterator body cannot be pipelined");
let callback = null;
function onDrain() {
@@ -25493,81 +25537,79 @@ var require_client_h2 = __commonJS({
return true;
function writeBodyH2() {
if (!body || contentLength === 0) {
writeBuffer({
writeBuffer(
abort,
stream,
null,
client,
request: request2,
request2,
client[kSocket],
contentLength,
expectsPayload,
h2stream: stream,
body: null,
socket: client[kSocket]
});
expectsPayload
);
} else if (util.isBuffer(body)) {
writeBuffer({
writeBuffer(
abort,
client,
request: request2,
contentLength,
stream,
body,
expectsPayload,
h2stream: stream,
socket: client[kSocket]
});
client,
request2,
client[kSocket],
contentLength,
expectsPayload
);
} else if (util.isBlobLike(body)) {
if (typeof body.stream === "function") {
writeIterable({
writeIterable(
abort,
stream,
body.stream(),
client,
request: request2,
request2,
client[kSocket],
contentLength,
expectsPayload,
h2stream: stream,
body: body.stream(),
socket: client[kSocket]
});
expectsPayload
);
} else {
writeBlob({
writeBlob(
abort,
stream,
body,
client,
request: request2,
request2,
client[kSocket],
contentLength,
expectsPayload,
h2stream: stream,
socket: client[kSocket]
});
expectsPayload
);
}
} else if (util.isStream(body)) {
writeStream({
writeStream(
abort,
client[kSocket],
expectsPayload,
stream,
body,
client,
request: request2,
contentLength,
expectsPayload,
socket: client[kSocket],
h2stream: stream,
header: ""
});
request2,
contentLength
);
} else if (util.isIterable(body)) {
writeIterable({
writeIterable(
abort,
stream,
body,
client,
request: request2,
request2,
client[kSocket],
contentLength,
expectsPayload,
header: "",
h2stream: stream,
socket: client[kSocket]
});
expectsPayload
);
} else {
assert(false);
}
}
}
function writeBuffer({ abort, h2stream, body, client, request: request2, socket, contentLength, expectsPayload }) {
function writeBuffer(abort, h2stream, body, client, request2, socket, contentLength, expectsPayload) {
try {
if (body != null && util.isBuffer(body)) {
assert(contentLength === body.byteLength, "buffer body must have content length");
@@ -25586,7 +25628,7 @@ var require_client_h2 = __commonJS({
abort(error);
}
}
function writeStream({ abort, socket, expectsPayload, h2stream, body, client, request: request2, contentLength }) {
function writeStream(abort, socket, expectsPayload, h2stream, body, client, request2, contentLength) {
assert(contentLength !== 0 || client[kRunning] === 0, "stream body cannot be pipelined");
const pipe = pipeline(
body,
@@ -25610,7 +25652,7 @@ var require_client_h2 = __commonJS({
request2.onBodySent(chunk);
}
}
async function writeBlob({ abort, h2stream, body, client, request: request2, socket, contentLength, expectsPayload }) {
async function writeBlob(abort, h2stream, body, client, request2, socket, contentLength, expectsPayload) {
assert(contentLength === body.size, "blob body must have content length");
try {
if (contentLength != null && contentLength !== body.size) {
@@ -25631,7 +25673,7 @@ var require_client_h2 = __commonJS({
abort(err);
}
}
async function writeIterable({ abort, h2stream, body, client, request: request2, socket, contentLength, expectsPayload }) {
async function writeIterable(abort, h2stream, body, client, request2, socket, contentLength, expectsPayload) {
assert(contentLength !== 0 || client[kRunning] === 0, "iterator body cannot be pipelined");
let callback = null;
function onDrain() {
@@ -26713,8 +26755,13 @@ var require_balanced_pool2 = __commonJS({
var kMaxWeightPerServer = Symbol("kMaxWeightPerServer");
var kErrorPenalty = Symbol("kErrorPenalty");
function getGreatestCommonDivisor(a, b) {
if (b === 0) return a;
return getGreatestCommonDivisor(b, a % b);
if (a === 0) return b;
while (b !== 0) {
const t = b;
b = a % b;
a = t;
}
return a;
}
function defaultFactory(origin, opts) {
return new Pool(origin, opts);
@@ -26768,7 +26815,11 @@ var require_balanced_pool2 = __commonJS({
return this;
}
_updateBalancedPoolStats() {
this[kGreatestCommonDivisor] = this[kClients].map((p) => p[kWeight]).reduce(getGreatestCommonDivisor, 0);
let result = 0;
for (let i = 0; i < this[kClients].length; i++) {
result = getGreatestCommonDivisor(this[kClients][i][kWeight], result);
}
this[kGreatestCommonDivisor] = result;
}
removeUpstream(upstream) {
const upstreamOrigin = parseOrigin(upstream).origin;
@@ -27376,7 +27427,7 @@ var require_retry_handler = __commonJS({
this.abort(
new RequestRetryError("Content-Range mismatch", statusCode, {
headers,
count: this.retryCount
data: { count: this.retryCount }
})
);
return false;
@@ -27385,7 +27436,7 @@ var require_retry_handler = __commonJS({
this.abort(
new RequestRetryError("ETag mismatch", statusCode, {
headers,
count: this.retryCount
data: { count: this.retryCount }
})
);
return false;
@@ -30153,7 +30204,7 @@ var require_response2 = __commonJS({
"node_modules/undici/lib/web/fetch/response.js"(exports2, module2) {
"use strict";
var { Headers, HeadersList, fill, getHeadersGuard, setHeadersGuard, setHeadersList } = require_headers2();
var { extractBody, cloneBody, mixinBody } = require_body2();
var { extractBody, cloneBody, mixinBody, hasFinalizationRegistry, streamRegistry, bodyUnusable } = require_body2();
var util = require_util8();
var nodeUtil = require("node:util");
var { kEnumerableProperty } = util;
@@ -30178,19 +30229,7 @@ var require_response2 = __commonJS({
var { kConstruct } = require_symbols6();
var assert = require("node:assert");
var { types } = require("node:util");
var { isDisturbed, isErrored } = require("node:stream");
var textEncoder = new TextEncoder("utf-8");
var hasFinalizationRegistry = globalThis.FinalizationRegistry && process.version.indexOf("v18") !== 0;
var registry;
if (hasFinalizationRegistry) {
registry = new FinalizationRegistry((stream) => {
if (!stream.locked && !isDisturbed(stream) && !isErrored(stream)) {
stream.cancel("Response object has been garbage collected").catch(noop);
}
});
}
function noop() {
}
var Response = class _Response {
// Creates network error Response.
static error() {
@@ -30302,7 +30341,7 @@ var require_response2 = __commonJS({
// Returns a clone of response.
clone() {
webidl.brandCheck(this, _Response);
if (this.bodyUsed || this.body?.locked) {
if (bodyUnusable(this)) {
throw webidl.errors.exception({
header: "Response.clone",
message: "Body has already been consumed."
@@ -30361,7 +30400,7 @@ var require_response2 = __commonJS({
}
const newResponse = makeResponse({ ...response, body: null });
if (response.body != null) {
newResponse.body = cloneBody(response.body);
newResponse.body = cloneBody(newResponse, response.body);
}
return newResponse;
}
@@ -30486,7 +30525,7 @@ var require_response2 = __commonJS({
setHeadersList(response[kHeaders], innerResponse.headersList);
setHeadersGuard(response[kHeaders], guard);
if (hasFinalizationRegistry && innerResponse.body?.stream) {
registry.register(response, innerResponse.body.stream);
streamRegistry.register(response, new WeakRef(innerResponse.body.stream));
}
return response;
}
@@ -30601,7 +30640,7 @@ var require_dispatcher_weakref2 = __commonJS({
var require_request4 = __commonJS({
"node_modules/undici/lib/web/fetch/request.js"(exports2, module2) {
"use strict";
var { extractBody, mixinBody, cloneBody } = require_body2();
var { extractBody, mixinBody, cloneBody, bodyUnusable } = require_body2();
var { Headers, fill: fillHeaders, HeadersList, setHeadersGuard, getHeadersGuard, setHeadersList, getHeadersList } = require_headers2();
var { FinalizationRegistry: FinalizationRegistry2 } = require_dispatcher_weakref2()();
var util = require_util8();
@@ -30609,9 +30648,7 @@ var require_request4 = __commonJS({
var {
isValidHTTPToken,
sameOrigin,
normalizeMethod,
environmentSettingsObject,
normalizeMethodRecord
environmentSettingsObject
} = require_util9();
var {
forbiddenMethodsSet,
@@ -30623,7 +30660,7 @@ var require_request4 = __commonJS({
requestCache,
requestDuplex
} = require_constants8();
var { kEnumerableProperty } = util;
var { kEnumerableProperty, normalizedMethodRecordsBase, normalizedMethodRecords } = util;
var { kHeaders, kSignal, kState, kDispatcher } = require_symbols7();
var { webidl } = require_webidl2();
var { URLSerializer } = require_data_url();
@@ -30820,17 +30857,18 @@ var require_request4 = __commonJS({
}
if (init.method !== void 0) {
let method = init.method;
const mayBeNormalized = normalizeMethodRecord[method];
const mayBeNormalized = normalizedMethodRecords[method];
if (mayBeNormalized !== void 0) {
request2.method = mayBeNormalized;
} else {
if (!isValidHTTPToken(method)) {
throw new TypeError(`'${method}' is not a valid HTTP method.`);
}
if (forbiddenMethodsSet.has(method.toUpperCase())) {
const upperCase = method.toUpperCase();
if (forbiddenMethodsSet.has(upperCase)) {
throw new TypeError(`'${method}' HTTP method is unsupported.`);
}
method = normalizeMethod(method);
method = normalizedMethodRecordsBase[upperCase] ?? method;
request2.method = method;
}
if (!patchMethodWarning && request2.method === "patch") {
@@ -30923,7 +30961,7 @@ var require_request4 = __commonJS({
}
let finalBody = inputOrInitBody;
if (initBody == null && inputBody != null) {
if (util.isDisturbed(inputBody.stream) || inputBody.stream.locked) {
if (bodyUnusable(input)) {
throw new TypeError(
"Cannot construct a Request with a Request object that has already been used."
);
@@ -31058,7 +31096,7 @@ var require_request4 = __commonJS({
// Returns a clone of request.
clone() {
webidl.brandCheck(this, _Request);
if (this.bodyUsed || this.body?.locked) {
if (bodyUnusable(this)) {
throw new TypeError("unusable");
}
const clonedRequest = cloneRequest(this[kState]);
@@ -31151,7 +31189,7 @@ var require_request4 = __commonJS({
function cloneRequest(request2) {
const newRequest = makeRequest({ ...request2, body: null });
if (request2.body != null) {
newRequest.body = cloneBody(request2.body);
newRequest.body = cloneBody(newRequest, request2.body);
}
return newRequest;
}
@@ -35546,7 +35584,6 @@ var require_websocket2 = __commonJS({
var { types } = require("node:util");
var { ErrorEvent, CloseEvent } = require_events2();
var { SendQueue } = require_sender();
var experimentalWarned = false;
var WebSocket = class _WebSocket extends EventTarget {
#events = {
open: null,
@@ -35567,12 +35604,6 @@ var require_websocket2 = __commonJS({
super();
const prefix = "WebSocket constructor";
webidl.argumentLengthCheck(arguments, 1, prefix);
if (!experimentalWarned) {
experimentalWarned = true;
process.emitWarning("WebSockets are experimental, expect them to change at any time.", {
code: "UNDICI-WS"
});
}
const options = webidl.converters["DOMString or sequence<DOMString> or WebSocketInit"](protocols, prefix, "options");
url = webidl.converters.USVString(url, prefix, "url");
protocols = options.protocols;
@@ -36972,132 +37003,116 @@ var RequestError = class extends Error {
// node_modules/@octokit/request/dist-bundle/index.js
var VERSION2 = "0.0.0-development";
var defaults_default = {
headers: {
"user-agent": `octokit-request.js/${VERSION2} ${getUserAgent()}`
}
};
function isPlainObject2(value) {
if (typeof value !== "object" || value === null)
return false;
if (Object.prototype.toString.call(value) !== "[object Object]")
return false;
if (typeof value !== "object" || value === null) return false;
if (Object.prototype.toString.call(value) !== "[object Object]") return false;
const proto = Object.getPrototypeOf(value);
if (proto === null)
return true;
if (proto === null) return true;
const Ctor = Object.prototype.hasOwnProperty.call(proto, "constructor") && proto.constructor;
return typeof Ctor === "function" && Ctor instanceof Ctor && Function.prototype.call(Ctor) === Function.prototype.call(value);
}
function getBufferResponse(response) {
return response.arrayBuffer();
}
function fetchWrapper(requestOptions) {
const log = requestOptions.request && requestOptions.request.log ? requestOptions.request.log : console;
const parseSuccessResponseBody = requestOptions.request?.parseSuccessResponseBody !== false;
if (isPlainObject2(requestOptions.body) || Array.isArray(requestOptions.body)) {
requestOptions.body = JSON.stringify(requestOptions.body);
}
let headers = {};
let status;
let url;
let { fetch } = globalThis;
if (requestOptions.request?.fetch) {
fetch = requestOptions.request.fetch;
}
async function fetchWrapper(requestOptions) {
const fetch = requestOptions.request?.fetch || globalThis.fetch;
if (!fetch) {
throw new Error(
"fetch is not set. Please pass a fetch implementation as new Octokit({ request: { fetch }}). Learn more at https://github.com/octokit/octokit.js/#fetch-missing"
);
}
return fetch(requestOptions.url, {
method: requestOptions.method,
body: requestOptions.body,
redirect: requestOptions.request?.redirect,
// Header values must be `string`
headers: Object.fromEntries(
Object.entries(requestOptions.headers).map(([name, value]) => [
name,
String(value)
])
),
signal: requestOptions.request?.signal,
// duplex must be set if request.body is ReadableStream or Async Iterables.
// See https://fetch.spec.whatwg.org/#dom-requestinit-duplex.
...requestOptions.body && { duplex: "half" }
}).then(async (response) => {
url = response.url;
status = response.status;
for (const keyAndValue of response.headers) {
headers[keyAndValue[0]] = keyAndValue[1];
}
if ("deprecation" in headers) {
const matches = headers.link && headers.link.match(/<([^>]+)>; rel="deprecation"/);
const deprecationLink = matches && matches.pop();
log.warn(
`[@octokit/request] "${requestOptions.method} ${requestOptions.url}" is deprecated. It is scheduled to be removed on ${headers.sunset}${deprecationLink ? `. See ${deprecationLink}` : ""}`
);
}
if (status === 204 || status === 205) {
return;
}
if (requestOptions.method === "HEAD") {
if (status < 400) {
return;
const log = requestOptions.request?.log || console;
const parseSuccessResponseBody = requestOptions.request?.parseSuccessResponseBody !== false;
const body = isPlainObject2(requestOptions.body) || Array.isArray(requestOptions.body) ? JSON.stringify(requestOptions.body) : requestOptions.body;
const requestHeaders = Object.fromEntries(
Object.entries(requestOptions.headers).map(([name, value]) => [
name,
String(value)
])
);
let fetchResponse;
try {
fetchResponse = await fetch(requestOptions.url, {
method: requestOptions.method,
body,
redirect: requestOptions.request?.redirect,
headers: requestHeaders,
signal: requestOptions.request?.signal,
// duplex must be set if request.body is ReadableStream or Async Iterables.
// See https://fetch.spec.whatwg.org/#dom-requestinit-duplex.
...requestOptions.body && { duplex: "half" }
});
} catch (error) {
let message = "Unknown Error";
if (error instanceof Error) {
if (error.name === "AbortError") {
error.status = 500;
throw error;
}
throw new RequestError(response.statusText, status, {
response: {
url,
status,
headers,
data: void 0
},
request: requestOptions
});
}
if (status === 304) {
throw new RequestError("Not modified", status, {
response: {
url,
status,
headers,
data: await getResponseData(response)
},
request: requestOptions
});
}
if (status >= 400) {
const data = await getResponseData(response);
const error = new RequestError(toErrorMessage(data), status, {
response: {
url,
status,
headers,
data
},
request: requestOptions
});
throw error;
}
return parseSuccessResponseBody ? await getResponseData(response) : response.body;
}).then((data) => {
return {
status,
url,
headers,
data
};
}).catch((error) => {
if (error instanceof RequestError)
throw error;
else if (error.name === "AbortError")
throw error;
let message = error.message;
if (error.name === "TypeError" && "cause" in error) {
if (error.cause instanceof Error) {
message = error.cause.message;
} else if (typeof error.cause === "string") {
message = error.cause;
message = error.message;
if (error.name === "TypeError" && "cause" in error) {
if (error.cause instanceof Error) {
message = error.cause.message;
} else if (typeof error.cause === "string") {
message = error.cause;
}
}
}
throw new RequestError(message, 500, {
const requestError = new RequestError(message, 500, {
request: requestOptions
});
});
requestError.cause = error;
throw requestError;
}
const status = fetchResponse.status;
const url = fetchResponse.url;
const responseHeaders = {};
for (const [key, value] of fetchResponse.headers) {
responseHeaders[key] = value;
}
const octokitResponse = {
url,
status,
headers: responseHeaders,
data: ""
};
if ("deprecation" in responseHeaders) {
const matches = responseHeaders.link && responseHeaders.link.match(/<([^>]+)>; rel="deprecation"/);
const deprecationLink = matches && matches.pop();
log.warn(
`[@octokit/request] "${requestOptions.method} ${requestOptions.url}" is deprecated. It is scheduled to be removed on ${responseHeaders.sunset}${deprecationLink ? `. See ${deprecationLink}` : ""}`
);
}
if (status === 204 || status === 205) {
return octokitResponse;
}
if (requestOptions.method === "HEAD") {
if (status < 400) {
return octokitResponse;
}
throw new RequestError(fetchResponse.statusText, status, {
response: octokitResponse,
request: requestOptions
});
}
if (status === 304) {
octokitResponse.data = await getResponseData(fetchResponse);
throw new RequestError("Not modified", status, {
response: octokitResponse,
request: requestOptions
});
}
if (status >= 400) {
octokitResponse.data = await getResponseData(fetchResponse);
throw new RequestError(toErrorMessage(octokitResponse.data), status, {
response: octokitResponse,
request: requestOptions
});
}
octokitResponse.data = parseSuccessResponseBody ? await getResponseData(fetchResponse) : fetchResponse.body;
return octokitResponse;
}
async function getResponseData(response) {
const contentType = response.headers.get("content-type");
@@ -37107,22 +37122,18 @@ async function getResponseData(response) {
if (!contentType || /^text\/|charset=utf-8$/.test(contentType)) {
return response.text();
}
return getBufferResponse(response);
return response.arrayBuffer();
}
function toErrorMessage(data) {
if (typeof data === "string")
if (typeof data === "string") {
return data;
let suffix;
if ("documentation_url" in data) {
suffix = ` - ${data.documentation_url}`;
} else {
suffix = "";
}
if (data instanceof ArrayBuffer) {
return "Unknown error";
}
if ("message" in data) {
if (Array.isArray(data.errors)) {
return `${data.message}: ${data.errors.map(JSON.stringify).join(", ")}${suffix}`;
}
return `${data.message}${suffix}`;
const suffix = "documentation_url" in data ? ` - ${data.documentation_url}` : "";
return Array.isArray(data.errors) ? `${data.message}: ${data.errors.map((v) => JSON.stringify(v)).join(", ")}${suffix}` : `${data.message}${suffix}`;
}
return `Unknown error: ${JSON.stringify(data)}`;
}
@@ -37149,11 +37160,7 @@ function withDefaults2(oldEndpoint, newDefaults) {
defaults: withDefaults2.bind(null, endpoint2)
});
}
var request = withDefaults2(endpoint, {
headers: {
"user-agent": `octokit-request.js/${VERSION2} ${getUserAgent()}`
}
});
var request = withDefaults2(endpoint, defaults_default);
// node_modules/@octokit/oauth-methods/dist-bundle/index.js
function requestToOAuthBaseUrl(request2) {
@@ -39499,7 +39506,7 @@ async function hook4(state, request2, route, parameters) {
state,
// @ts-expect-error TBD
{},
request2
request2.defaults({ baseUrl: endpoint2.baseUrl })
);
endpoint2.headers.authorization = `token ${token}`;
return sendRequestWithRetries(
@@ -39532,7 +39539,7 @@ async function sendRequestWithRetries(state, request2, options, createdAt, retri
return sendRequestWithRetries(state, request2, options, createdAt, retries);
}
}
var VERSION6 = "7.1.0";
var VERSION6 = "7.1.1";
function createAppAuth(options) {
if (!options.appId) {
throw new Error("[@octokit/auth-app] appId option is required");
+285 -278
View File
@@ -2238,6 +2238,7 @@ var require_decodeText = __commonJS({
return decoders.utf8;
case "latin1":
case "ascii":
// TODO: Make these a separate, strict decoder?
case "us-ascii":
case "iso-8859-1":
case "iso8859-1":
@@ -2937,6 +2938,7 @@ var require_basename = __commonJS({
for (var i = path.length - 1; i >= 0; --i) {
switch (path.charCodeAt(i)) {
case 47:
// '/'
case 92:
path = path.slice(i + 1);
return path === ".." || path === "." ? "" : path;
@@ -4171,7 +4173,21 @@ var require_util2 = __commonJS({
return referrerOrigin;
}
case "strict-origin":
// eslint-disable-line
/**
* 1. If referrerURL is a potentially trustworthy URL and
* requests current URL is not a potentially trustworthy URL,
* then return no referrer.
* 2. Return referrerOrigin
*/
case "no-referrer-when-downgrade":
// eslint-disable-line
/**
* 1. If referrerURL is a potentially trustworthy URL and
* requests current URL is not a potentially trustworthy URL,
* then return no referrer.
* 2. Return referrerOrigin
*/
default:
return isNonPotentiallyTrustWorthy ? "no-referrer" : referrerOrigin;
}
@@ -19943,6 +19959,27 @@ var require_util8 = __commonJS({
}
var kEnumerableProperty = /* @__PURE__ */ Object.create(null);
kEnumerableProperty.enumerable = true;
var normalizedMethodRecordsBase = {
delete: "DELETE",
DELETE: "DELETE",
get: "GET",
GET: "GET",
head: "HEAD",
HEAD: "HEAD",
options: "OPTIONS",
OPTIONS: "OPTIONS",
post: "POST",
POST: "POST",
put: "PUT",
PUT: "PUT"
};
var normalizedMethodRecords = {
...normalizedMethodRecordsBase,
patch: "patch",
PATCH: "PATCH"
};
Object.setPrototypeOf(normalizedMethodRecordsBase, null);
Object.setPrototypeOf(normalizedMethodRecords, null);
module2.exports = {
kEnumerableProperty,
nop,
@@ -19981,6 +20018,8 @@ var require_util8 = __commonJS({
isValidHeaderValue,
isTokenCharCode,
parseRangeHeader,
normalizedMethodRecordsBase,
normalizedMethodRecords,
isValidPort,
isHttpOrHttpsPrefixed,
nodeMajor,
@@ -20196,7 +20235,8 @@ var require_request3 = __commonJS({
isBlobLike,
buildURL,
validateHandler,
getServerName
getServerName,
normalizedMethodRecords
} = require_util8();
var { channels } = require_diagnostics();
var { headerNameLowerCasedRecord } = require_constants6();
@@ -20223,12 +20263,12 @@ var require_request3 = __commonJS({
throw new InvalidArgumentError("path must be a string");
} else if (path[0] !== "/" && !(path.startsWith("http://") || path.startsWith("https://")) && method !== "CONNECT") {
throw new InvalidArgumentError("path must be an absolute URL or start with a slash");
} else if (invalidPathRegex.exec(path) !== null) {
} else if (invalidPathRegex.test(path)) {
throw new InvalidArgumentError("invalid request path");
}
if (typeof method !== "string") {
throw new InvalidArgumentError("method must be a string");
} else if (!isValidHTTPToken(method)) {
} else if (normalizedMethodRecords[method] === void 0 && !isValidHTTPToken(method)) {
throw new InvalidArgumentError("invalid request method");
}
if (upgrade && typeof upgrade !== "string") {
@@ -20773,7 +20813,7 @@ var require_connect2 = __commonJS({
}
};
}
function buildConnector({ allowH2, maxCachedSessions, socketPath, timeout, ...opts }) {
function buildConnector({ allowH2, maxCachedSessions, socketPath, timeout, session: customSession, ...opts }) {
if (maxCachedSessions != null && (!Number.isInteger(maxCachedSessions) || maxCachedSessions < 0)) {
throw new InvalidArgumentError("maxCachedSessions must be a positive integer or zero");
}
@@ -20789,7 +20829,7 @@ var require_connect2 = __commonJS({
}
servername = servername || options.servername || util.getServerName(host) || null;
const sessionKey = servername || hostname;
const session = sessionCache.get(sessionKey) || null;
const session = customSession || sessionCache.get(sessionKey) || null;
assert(sessionKey);
socket = tls.connect({
highWaterMark: 16384,
@@ -22307,7 +22347,7 @@ var require_util9 = __commonJS({
var { getGlobalOrigin } = require_global3();
var { collectASequenceOfCodePoints, collectAnHTTPQuotedString, removeChars, parseMIMEType } = require_data_url();
var { performance: performance2 } = require("node:perf_hooks");
var { isBlobLike, ReadableStreamFrom, isValidHTTPToken } = require_util8();
var { isBlobLike, ReadableStreamFrom, isValidHTTPToken, normalizedMethodRecordsBase } = require_util8();
var assert = require("node:assert");
var { isUint8Array } = require("node:util/types");
var { webidl } = require_webidl2();
@@ -22414,7 +22454,7 @@ var require_util9 = __commonJS({
}
function appendRequestOriginHeader(request2) {
let serializedOrigin = request2.origin;
if (serializedOrigin === "client") {
if (serializedOrigin === "client" || serializedOrigin === void 0) {
return;
}
if (request2.responseTainting === "cors" || request2.mode === "websocket") {
@@ -22532,7 +22572,21 @@ var require_util9 = __commonJS({
return referrerOrigin;
}
case "strict-origin":
// eslint-disable-line
/**
* 1. If referrerURL is a potentially trustworthy URL and
* requests current URL is not a potentially trustworthy URL,
* then return no referrer.
* 2. Return referrerOrigin
*/
case "no-referrer-when-downgrade":
// eslint-disable-line
/**
* 1. If referrerURL is a potentially trustworthy URL and
* requests current URL is not a potentially trustworthy URL,
* then return no referrer.
* 2. Return referrerOrigin
*/
default:
return isNonPotentiallyTrustWorthy ? "no-referrer" : referrerOrigin;
}
@@ -22695,29 +22749,8 @@ var require_util9 = __commonJS({
function isCancelled(fetchParams) {
return fetchParams.controller.state === "aborted" || fetchParams.controller.state === "terminated";
}
var normalizeMethodRecordBase = {
delete: "DELETE",
DELETE: "DELETE",
get: "GET",
GET: "GET",
head: "HEAD",
HEAD: "HEAD",
options: "OPTIONS",
OPTIONS: "OPTIONS",
post: "POST",
POST: "POST",
put: "PUT",
PUT: "PUT"
};
var normalizeMethodRecord = {
...normalizeMethodRecordBase,
patch: "patch",
PATCH: "PATCH"
};
Object.setPrototypeOf(normalizeMethodRecordBase, null);
Object.setPrototypeOf(normalizeMethodRecord, null);
function normalizeMethod(method) {
return normalizeMethodRecordBase[method.toLowerCase()] ?? method;
return normalizedMethodRecordsBase[method.toLowerCase()] ?? method;
}
function serializeJavascriptValueToJSONString(value) {
const result = JSON.stringify(value);
@@ -22854,7 +22887,7 @@ var require_util9 = __commonJS({
}
});
}
async function fullyReadBody(body, processBody, processBodyError, shouldClone) {
async function fullyReadBody(body, processBody, processBodyError) {
const successSteps = processBody;
const errorSteps = processBodyError;
let reader;
@@ -22865,7 +22898,7 @@ var require_util9 = __commonJS({
return;
}
try {
successSteps(await readAllBytes(reader, shouldClone));
successSteps(await readAllBytes(reader));
} catch (e) {
errorSteps(e);
}
@@ -22888,19 +22921,12 @@ var require_util9 = __commonJS({
assert(!invalidIsomorphicEncodeValueRegex.test(input));
return input;
}
async function readAllBytes(reader, shouldClone) {
async function readAllBytes(reader) {
const bytes = [];
let byteLength = 0;
while (true) {
const { done, value: chunk } = await reader.read();
if (done) {
if (bytes.length === 1) {
const { buffer, byteOffset, byteLength: byteLength2 } = bytes[0];
if (shouldClone === false) {
return Buffer.from(buffer, byteOffset, byteLength2);
}
return Buffer.from(buffer.slice(byteOffset, byteOffset + byteLength2), 0, byteLength2);
}
return Buffer.concat(bytes, byteLength);
}
if (!isUint8Array(chunk)) {
@@ -23163,7 +23189,6 @@ var require_util9 = __commonJS({
urlHasHttpsScheme,
urlIsHttpHttpsScheme,
readAllBytes,
normalizeMethodRecord,
simpleRangeHeaderValue,
buildContentRange,
parseMetadata,
@@ -23663,11 +23688,23 @@ var require_body2 = __commonJS({
var { webidl } = require_webidl2();
var { Blob: Blob2 } = require("node:buffer");
var assert = require("node:assert");
var { isErrored } = require_util8();
var { isErrored, isDisturbed } = require("node:stream");
var { isArrayBuffer } = require("node:util/types");
var { serializeAMimeType } = require_data_url();
var { multipartFormDataParser } = require_formdata_parser();
var textEncoder = new TextEncoder();
function noop() {
}
var hasFinalizationRegistry = globalThis.FinalizationRegistry && process.version.indexOf("v18") !== 0;
var streamRegistry;
if (hasFinalizationRegistry) {
streamRegistry = new FinalizationRegistry((weakRef) => {
const stream = weakRef.deref();
if (stream && !stream.locked && !isDisturbed(stream) && !isErrored(stream)) {
stream.cancel("Response object has been garbage collected").catch(noop);
}
});
}
function extractBody(object, keepalive = false) {
let stream = null;
if (object instanceof ReadableStream) {
@@ -23810,8 +23847,11 @@ Content-Type: ${value.type || "application/octet-stream"}\r
}
return extractBody(object, keepalive);
}
function cloneBody(body) {
function cloneBody(instance, body) {
const [out1, out2] = body.stream.tee();
if (hasFinalizationRegistry) {
streamRegistry.register(instance, new WeakRef(out1));
}
body.stream = out1;
return {
stream: out2,
@@ -23835,18 +23875,18 @@ Content-Type: ${value.type || "application/octet-stream"}\r
mimeType = serializeAMimeType(mimeType);
}
return new Blob2([bytes], { type: mimeType });
}, instance, false);
}, instance);
},
arrayBuffer() {
return consumeBody(this, (bytes) => {
return bytes.buffer;
}, instance, true);
return new Uint8Array(bytes).buffer;
}, instance);
},
text() {
return consumeBody(this, utf8DecodeBytes, instance, false);
return consumeBody(this, utf8DecodeBytes, instance);
},
json() {
return consumeBody(this, parseJSONFromBytes, instance, false);
return consumeBody(this, parseJSONFromBytes, instance);
},
formData() {
return consumeBody(this, (value) => {
@@ -23875,12 +23915,12 @@ Content-Type: ${value.type || "application/octet-stream"}\r
throw new TypeError(
'Content-Type was not one of "multipart/form-data" or "application/x-www-form-urlencoded".'
);
}, instance, false);
}, instance);
},
bytes() {
return consumeBody(this, (bytes) => {
return new Uint8Array(bytes.buffer, 0, bytes.byteLength);
}, instance, true);
return new Uint8Array(bytes);
}, instance);
}
};
return methods;
@@ -23888,9 +23928,9 @@ Content-Type: ${value.type || "application/octet-stream"}\r
function mixinBody(prototype) {
Object.assign(prototype.prototype, bodyMixinMethods(prototype));
}
async function consumeBody(object, convertBytesToJSValue, instance, shouldClone) {
async function consumeBody(object, convertBytesToJSValue, instance) {
webidl.brandCheck(object, instance);
if (bodyUnusable(object[kState].body)) {
if (bodyUnusable(object)) {
throw new TypeError("Body is unusable: Body has already been read");
}
throwIfAborted(object[kState]);
@@ -23907,10 +23947,11 @@ Content-Type: ${value.type || "application/octet-stream"}\r
successSteps(Buffer.allocUnsafe(0));
return promise.promise;
}
await fullyReadBody(object[kState].body, successSteps, errorSteps, shouldClone);
await fullyReadBody(object[kState].body, successSteps, errorSteps);
return promise.promise;
}
function bodyUnusable(body) {
function bodyUnusable(object) {
const body = object[kState].body;
return body != null && (body.stream.locked || util.isDisturbed(body.stream));
}
function parseJSONFromBytes(bytes) {
@@ -23928,7 +23969,10 @@ Content-Type: ${value.type || "application/octet-stream"}\r
extractBody,
safelyExtractBody,
cloneBody,
mixinBody
mixinBody,
streamRegistry,
hasFinalizationRegistry,
bodyUnusable
};
}
});
@@ -24660,25 +24704,25 @@ upgrade: ${upgrade}\r
channels.sendHeaders.publish({ request: request2, headers: header, socket });
}
if (!body || bodyLength === 0) {
writeBuffer({ abort, body: null, client, request: request2, socket, contentLength, header, expectsPayload });
writeBuffer(abort, null, client, request2, socket, contentLength, header, expectsPayload);
} else if (util.isBuffer(body)) {
writeBuffer({ abort, body, client, request: request2, socket, contentLength, header, expectsPayload });
writeBuffer(abort, body, client, request2, socket, contentLength, header, expectsPayload);
} else if (util.isBlobLike(body)) {
if (typeof body.stream === "function") {
writeIterable({ abort, body: body.stream(), client, request: request2, socket, contentLength, header, expectsPayload });
writeIterable(abort, body.stream(), client, request2, socket, contentLength, header, expectsPayload);
} else {
writeBlob({ abort, body, client, request: request2, socket, contentLength, header, expectsPayload });
writeBlob(abort, body, client, request2, socket, contentLength, header, expectsPayload);
}
} else if (util.isStream(body)) {
writeStream({ abort, body, client, request: request2, socket, contentLength, header, expectsPayload });
writeStream(abort, body, client, request2, socket, contentLength, header, expectsPayload);
} else if (util.isIterable(body)) {
writeIterable({ abort, body, client, request: request2, socket, contentLength, header, expectsPayload });
writeIterable(abort, body, client, request2, socket, contentLength, header, expectsPayload);
} else {
assert(false);
}
return true;
}
function writeStream({ abort, body, client, request: request2, socket, contentLength, header, expectsPayload }) {
function writeStream(abort, body, client, request2, socket, contentLength, header, expectsPayload) {
assert(contentLength !== 0 || client[kRunning] === 0, "stream body cannot be pipelined");
let finished = false;
const writer = new AsyncWriter({ abort, socket, request: request2, contentLength, client, expectsPayload, header });
@@ -24747,7 +24791,7 @@ upgrade: ${upgrade}\r
setImmediate(onClose);
}
}
function writeBuffer({ abort, body, client, request: request2, socket, contentLength, header, expectsPayload }) {
function writeBuffer(abort, body, client, request2, socket, contentLength, header, expectsPayload) {
try {
if (!body) {
if (contentLength === 0) {
@@ -24778,7 +24822,7 @@ upgrade: ${upgrade}\r
abort(err);
}
}
async function writeBlob({ abort, body, client, request: request2, socket, contentLength, header, expectsPayload }) {
async function writeBlob(abort, body, client, request2, socket, contentLength, header, expectsPayload) {
assert(contentLength === body.size, "blob body must have content length");
try {
if (contentLength != null && contentLength !== body.size) {
@@ -24801,7 +24845,7 @@ upgrade: ${upgrade}\r
abort(err);
}
}
async function writeIterable({ abort, body, client, request: request2, socket, contentLength, header, expectsPayload }) {
async function writeIterable(abort, body, client, request2, socket, contentLength, header, expectsPayload) {
assert(contentLength !== 0 || client[kRunning] === 0, "iterator body cannot be pipelined");
let callback = null;
function onDrain() {
@@ -25264,81 +25308,79 @@ var require_client_h2 = __commonJS({
return true;
function writeBodyH2() {
if (!body || contentLength === 0) {
writeBuffer({
writeBuffer(
abort,
stream,
null,
client,
request: request2,
request2,
client[kSocket],
contentLength,
expectsPayload,
h2stream: stream,
body: null,
socket: client[kSocket]
});
expectsPayload
);
} else if (util.isBuffer(body)) {
writeBuffer({
writeBuffer(
abort,
client,
request: request2,
contentLength,
stream,
body,
expectsPayload,
h2stream: stream,
socket: client[kSocket]
});
client,
request2,
client[kSocket],
contentLength,
expectsPayload
);
} else if (util.isBlobLike(body)) {
if (typeof body.stream === "function") {
writeIterable({
writeIterable(
abort,
stream,
body.stream(),
client,
request: request2,
request2,
client[kSocket],
contentLength,
expectsPayload,
h2stream: stream,
body: body.stream(),
socket: client[kSocket]
});
expectsPayload
);
} else {
writeBlob({
writeBlob(
abort,
stream,
body,
client,
request: request2,
request2,
client[kSocket],
contentLength,
expectsPayload,
h2stream: stream,
socket: client[kSocket]
});
expectsPayload
);
}
} else if (util.isStream(body)) {
writeStream({
writeStream(
abort,
client[kSocket],
expectsPayload,
stream,
body,
client,
request: request2,
contentLength,
expectsPayload,
socket: client[kSocket],
h2stream: stream,
header: ""
});
request2,
contentLength
);
} else if (util.isIterable(body)) {
writeIterable({
writeIterable(
abort,
stream,
body,
client,
request: request2,
request2,
client[kSocket],
contentLength,
expectsPayload,
header: "",
h2stream: stream,
socket: client[kSocket]
});
expectsPayload
);
} else {
assert(false);
}
}
}
function writeBuffer({ abort, h2stream, body, client, request: request2, socket, contentLength, expectsPayload }) {
function writeBuffer(abort, h2stream, body, client, request2, socket, contentLength, expectsPayload) {
try {
if (body != null && util.isBuffer(body)) {
assert(contentLength === body.byteLength, "buffer body must have content length");
@@ -25357,7 +25399,7 @@ var require_client_h2 = __commonJS({
abort(error);
}
}
function writeStream({ abort, socket, expectsPayload, h2stream, body, client, request: request2, contentLength }) {
function writeStream(abort, socket, expectsPayload, h2stream, body, client, request2, contentLength) {
assert(contentLength !== 0 || client[kRunning] === 0, "stream body cannot be pipelined");
const pipe = pipeline(
body,
@@ -25381,7 +25423,7 @@ var require_client_h2 = __commonJS({
request2.onBodySent(chunk);
}
}
async function writeBlob({ abort, h2stream, body, client, request: request2, socket, contentLength, expectsPayload }) {
async function writeBlob(abort, h2stream, body, client, request2, socket, contentLength, expectsPayload) {
assert(contentLength === body.size, "blob body must have content length");
try {
if (contentLength != null && contentLength !== body.size) {
@@ -25402,7 +25444,7 @@ var require_client_h2 = __commonJS({
abort(err);
}
}
async function writeIterable({ abort, h2stream, body, client, request: request2, socket, contentLength, expectsPayload }) {
async function writeIterable(abort, h2stream, body, client, request2, socket, contentLength, expectsPayload) {
assert(contentLength !== 0 || client[kRunning] === 0, "iterator body cannot be pipelined");
let callback = null;
function onDrain() {
@@ -26484,8 +26526,13 @@ var require_balanced_pool2 = __commonJS({
var kMaxWeightPerServer = Symbol("kMaxWeightPerServer");
var kErrorPenalty = Symbol("kErrorPenalty");
function getGreatestCommonDivisor(a, b) {
if (b === 0) return a;
return getGreatestCommonDivisor(b, a % b);
if (a === 0) return b;
while (b !== 0) {
const t = b;
b = a % b;
a = t;
}
return a;
}
function defaultFactory(origin, opts) {
return new Pool(origin, opts);
@@ -26539,7 +26586,11 @@ var require_balanced_pool2 = __commonJS({
return this;
}
_updateBalancedPoolStats() {
this[kGreatestCommonDivisor] = this[kClients].map((p) => p[kWeight]).reduce(getGreatestCommonDivisor, 0);
let result = 0;
for (let i = 0; i < this[kClients].length; i++) {
result = getGreatestCommonDivisor(this[kClients][i][kWeight], result);
}
this[kGreatestCommonDivisor] = result;
}
removeUpstream(upstream) {
const upstreamOrigin = parseOrigin(upstream).origin;
@@ -27147,7 +27198,7 @@ var require_retry_handler = __commonJS({
this.abort(
new RequestRetryError("Content-Range mismatch", statusCode, {
headers,
count: this.retryCount
data: { count: this.retryCount }
})
);
return false;
@@ -27156,7 +27207,7 @@ var require_retry_handler = __commonJS({
this.abort(
new RequestRetryError("ETag mismatch", statusCode, {
headers,
count: this.retryCount
data: { count: this.retryCount }
})
);
return false;
@@ -29924,7 +29975,7 @@ var require_response2 = __commonJS({
"node_modules/undici/lib/web/fetch/response.js"(exports2, module2) {
"use strict";
var { Headers, HeadersList, fill, getHeadersGuard, setHeadersGuard, setHeadersList } = require_headers2();
var { extractBody, cloneBody, mixinBody } = require_body2();
var { extractBody, cloneBody, mixinBody, hasFinalizationRegistry, streamRegistry, bodyUnusable } = require_body2();
var util = require_util8();
var nodeUtil = require("node:util");
var { kEnumerableProperty } = util;
@@ -29949,19 +30000,7 @@ var require_response2 = __commonJS({
var { kConstruct } = require_symbols6();
var assert = require("node:assert");
var { types } = require("node:util");
var { isDisturbed, isErrored } = require("node:stream");
var textEncoder = new TextEncoder("utf-8");
var hasFinalizationRegistry = globalThis.FinalizationRegistry && process.version.indexOf("v18") !== 0;
var registry;
if (hasFinalizationRegistry) {
registry = new FinalizationRegistry((stream) => {
if (!stream.locked && !isDisturbed(stream) && !isErrored(stream)) {
stream.cancel("Response object has been garbage collected").catch(noop);
}
});
}
function noop() {
}
var Response = class _Response {
// Creates network error Response.
static error() {
@@ -30073,7 +30112,7 @@ var require_response2 = __commonJS({
// Returns a clone of response.
clone() {
webidl.brandCheck(this, _Response);
if (this.bodyUsed || this.body?.locked) {
if (bodyUnusable(this)) {
throw webidl.errors.exception({
header: "Response.clone",
message: "Body has already been consumed."
@@ -30132,7 +30171,7 @@ var require_response2 = __commonJS({
}
const newResponse = makeResponse({ ...response, body: null });
if (response.body != null) {
newResponse.body = cloneBody(response.body);
newResponse.body = cloneBody(newResponse, response.body);
}
return newResponse;
}
@@ -30257,7 +30296,7 @@ var require_response2 = __commonJS({
setHeadersList(response[kHeaders], innerResponse.headersList);
setHeadersGuard(response[kHeaders], guard);
if (hasFinalizationRegistry && innerResponse.body?.stream) {
registry.register(response, innerResponse.body.stream);
streamRegistry.register(response, new WeakRef(innerResponse.body.stream));
}
return response;
}
@@ -30372,7 +30411,7 @@ var require_dispatcher_weakref2 = __commonJS({
var require_request4 = __commonJS({
"node_modules/undici/lib/web/fetch/request.js"(exports2, module2) {
"use strict";
var { extractBody, mixinBody, cloneBody } = require_body2();
var { extractBody, mixinBody, cloneBody, bodyUnusable } = require_body2();
var { Headers, fill: fillHeaders, HeadersList, setHeadersGuard, getHeadersGuard, setHeadersList, getHeadersList } = require_headers2();
var { FinalizationRegistry: FinalizationRegistry2 } = require_dispatcher_weakref2()();
var util = require_util8();
@@ -30380,9 +30419,7 @@ var require_request4 = __commonJS({
var {
isValidHTTPToken,
sameOrigin,
normalizeMethod,
environmentSettingsObject,
normalizeMethodRecord
environmentSettingsObject
} = require_util9();
var {
forbiddenMethodsSet,
@@ -30394,7 +30431,7 @@ var require_request4 = __commonJS({
requestCache,
requestDuplex
} = require_constants8();
var { kEnumerableProperty } = util;
var { kEnumerableProperty, normalizedMethodRecordsBase, normalizedMethodRecords } = util;
var { kHeaders, kSignal, kState, kDispatcher } = require_symbols7();
var { webidl } = require_webidl2();
var { URLSerializer } = require_data_url();
@@ -30591,17 +30628,18 @@ var require_request4 = __commonJS({
}
if (init.method !== void 0) {
let method = init.method;
const mayBeNormalized = normalizeMethodRecord[method];
const mayBeNormalized = normalizedMethodRecords[method];
if (mayBeNormalized !== void 0) {
request2.method = mayBeNormalized;
} else {
if (!isValidHTTPToken(method)) {
throw new TypeError(`'${method}' is not a valid HTTP method.`);
}
if (forbiddenMethodsSet.has(method.toUpperCase())) {
const upperCase = method.toUpperCase();
if (forbiddenMethodsSet.has(upperCase)) {
throw new TypeError(`'${method}' HTTP method is unsupported.`);
}
method = normalizeMethod(method);
method = normalizedMethodRecordsBase[upperCase] ?? method;
request2.method = method;
}
if (!patchMethodWarning && request2.method === "patch") {
@@ -30694,7 +30732,7 @@ var require_request4 = __commonJS({
}
let finalBody = inputOrInitBody;
if (initBody == null && inputBody != null) {
if (util.isDisturbed(inputBody.stream) || inputBody.stream.locked) {
if (bodyUnusable(input)) {
throw new TypeError(
"Cannot construct a Request with a Request object that has already been used."
);
@@ -30829,7 +30867,7 @@ var require_request4 = __commonJS({
// Returns a clone of request.
clone() {
webidl.brandCheck(this, _Request);
if (this.bodyUsed || this.body?.locked) {
if (bodyUnusable(this)) {
throw new TypeError("unusable");
}
const clonedRequest = cloneRequest(this[kState]);
@@ -30922,7 +30960,7 @@ var require_request4 = __commonJS({
function cloneRequest(request2) {
const newRequest = makeRequest({ ...request2, body: null });
if (request2.body != null) {
newRequest.body = cloneBody(request2.body);
newRequest.body = cloneBody(newRequest, request2.body);
}
return newRequest;
}
@@ -35317,7 +35355,6 @@ var require_websocket2 = __commonJS({
var { types } = require("node:util");
var { ErrorEvent, CloseEvent } = require_events2();
var { SendQueue } = require_sender();
var experimentalWarned = false;
var WebSocket = class _WebSocket extends EventTarget {
#events = {
open: null,
@@ -35338,12 +35375,6 @@ var require_websocket2 = __commonJS({
super();
const prefix = "WebSocket constructor";
webidl.argumentLengthCheck(arguments, 1, prefix);
if (!experimentalWarned) {
experimentalWarned = true;
process.emitWarning("WebSockets are experimental, expect them to change at any time.", {
code: "UNDICI-WS"
});
}
const options = webidl.converters["DOMString or sequence<DOMString> or WebSocketInit"](protocols, prefix, "options");
url = webidl.converters.USVString(url, prefix, "url");
protocols = options.protocols;
@@ -36784,132 +36815,116 @@ var RequestError = class extends Error {
// node_modules/@octokit/request/dist-bundle/index.js
var VERSION2 = "0.0.0-development";
var defaults_default = {
headers: {
"user-agent": `octokit-request.js/${VERSION2} ${getUserAgent()}`
}
};
function isPlainObject2(value) {
if (typeof value !== "object" || value === null)
return false;
if (Object.prototype.toString.call(value) !== "[object Object]")
return false;
if (typeof value !== "object" || value === null) return false;
if (Object.prototype.toString.call(value) !== "[object Object]") return false;
const proto = Object.getPrototypeOf(value);
if (proto === null)
return true;
if (proto === null) return true;
const Ctor = Object.prototype.hasOwnProperty.call(proto, "constructor") && proto.constructor;
return typeof Ctor === "function" && Ctor instanceof Ctor && Function.prototype.call(Ctor) === Function.prototype.call(value);
}
function getBufferResponse(response) {
return response.arrayBuffer();
}
function fetchWrapper(requestOptions) {
const log = requestOptions.request && requestOptions.request.log ? requestOptions.request.log : console;
const parseSuccessResponseBody = requestOptions.request?.parseSuccessResponseBody !== false;
if (isPlainObject2(requestOptions.body) || Array.isArray(requestOptions.body)) {
requestOptions.body = JSON.stringify(requestOptions.body);
}
let headers = {};
let status;
let url;
let { fetch } = globalThis;
if (requestOptions.request?.fetch) {
fetch = requestOptions.request.fetch;
}
async function fetchWrapper(requestOptions) {
const fetch = requestOptions.request?.fetch || globalThis.fetch;
if (!fetch) {
throw new Error(
"fetch is not set. Please pass a fetch implementation as new Octokit({ request: { fetch }}). Learn more at https://github.com/octokit/octokit.js/#fetch-missing"
);
}
return fetch(requestOptions.url, {
method: requestOptions.method,
body: requestOptions.body,
redirect: requestOptions.request?.redirect,
// Header values must be `string`
headers: Object.fromEntries(
Object.entries(requestOptions.headers).map(([name, value]) => [
name,
String(value)
])
),
signal: requestOptions.request?.signal,
// duplex must be set if request.body is ReadableStream or Async Iterables.
// See https://fetch.spec.whatwg.org/#dom-requestinit-duplex.
...requestOptions.body && { duplex: "half" }
}).then(async (response) => {
url = response.url;
status = response.status;
for (const keyAndValue of response.headers) {
headers[keyAndValue[0]] = keyAndValue[1];
}
if ("deprecation" in headers) {
const matches = headers.link && headers.link.match(/<([^>]+)>; rel="deprecation"/);
const deprecationLink = matches && matches.pop();
log.warn(
`[@octokit/request] "${requestOptions.method} ${requestOptions.url}" is deprecated. It is scheduled to be removed on ${headers.sunset}${deprecationLink ? `. See ${deprecationLink}` : ""}`
);
}
if (status === 204 || status === 205) {
return;
}
if (requestOptions.method === "HEAD") {
if (status < 400) {
return;
const log = requestOptions.request?.log || console;
const parseSuccessResponseBody = requestOptions.request?.parseSuccessResponseBody !== false;
const body = isPlainObject2(requestOptions.body) || Array.isArray(requestOptions.body) ? JSON.stringify(requestOptions.body) : requestOptions.body;
const requestHeaders = Object.fromEntries(
Object.entries(requestOptions.headers).map(([name, value]) => [
name,
String(value)
])
);
let fetchResponse;
try {
fetchResponse = await fetch(requestOptions.url, {
method: requestOptions.method,
body,
redirect: requestOptions.request?.redirect,
headers: requestHeaders,
signal: requestOptions.request?.signal,
// duplex must be set if request.body is ReadableStream or Async Iterables.
// See https://fetch.spec.whatwg.org/#dom-requestinit-duplex.
...requestOptions.body && { duplex: "half" }
});
} catch (error) {
let message = "Unknown Error";
if (error instanceof Error) {
if (error.name === "AbortError") {
error.status = 500;
throw error;
}
throw new RequestError(response.statusText, status, {
response: {
url,
status,
headers,
data: void 0
},
request: requestOptions
});
}
if (status === 304) {
throw new RequestError("Not modified", status, {
response: {
url,
status,
headers,
data: await getResponseData(response)
},
request: requestOptions
});
}
if (status >= 400) {
const data = await getResponseData(response);
const error = new RequestError(toErrorMessage(data), status, {
response: {
url,
status,
headers,
data
},
request: requestOptions
});
throw error;
}
return parseSuccessResponseBody ? await getResponseData(response) : response.body;
}).then((data) => {
return {
status,
url,
headers,
data
};
}).catch((error) => {
if (error instanceof RequestError)
throw error;
else if (error.name === "AbortError")
throw error;
let message = error.message;
if (error.name === "TypeError" && "cause" in error) {
if (error.cause instanceof Error) {
message = error.cause.message;
} else if (typeof error.cause === "string") {
message = error.cause;
message = error.message;
if (error.name === "TypeError" && "cause" in error) {
if (error.cause instanceof Error) {
message = error.cause.message;
} else if (typeof error.cause === "string") {
message = error.cause;
}
}
}
throw new RequestError(message, 500, {
const requestError = new RequestError(message, 500, {
request: requestOptions
});
});
requestError.cause = error;
throw requestError;
}
const status = fetchResponse.status;
const url = fetchResponse.url;
const responseHeaders = {};
for (const [key, value] of fetchResponse.headers) {
responseHeaders[key] = value;
}
const octokitResponse = {
url,
status,
headers: responseHeaders,
data: ""
};
if ("deprecation" in responseHeaders) {
const matches = responseHeaders.link && responseHeaders.link.match(/<([^>]+)>; rel="deprecation"/);
const deprecationLink = matches && matches.pop();
log.warn(
`[@octokit/request] "${requestOptions.method} ${requestOptions.url}" is deprecated. It is scheduled to be removed on ${responseHeaders.sunset}${deprecationLink ? `. See ${deprecationLink}` : ""}`
);
}
if (status === 204 || status === 205) {
return octokitResponse;
}
if (requestOptions.method === "HEAD") {
if (status < 400) {
return octokitResponse;
}
throw new RequestError(fetchResponse.statusText, status, {
response: octokitResponse,
request: requestOptions
});
}
if (status === 304) {
octokitResponse.data = await getResponseData(fetchResponse);
throw new RequestError("Not modified", status, {
response: octokitResponse,
request: requestOptions
});
}
if (status >= 400) {
octokitResponse.data = await getResponseData(fetchResponse);
throw new RequestError(toErrorMessage(octokitResponse.data), status, {
response: octokitResponse,
request: requestOptions
});
}
octokitResponse.data = parseSuccessResponseBody ? await getResponseData(fetchResponse) : fetchResponse.body;
return octokitResponse;
}
async function getResponseData(response) {
const contentType = response.headers.get("content-type");
@@ -36919,22 +36934,18 @@ async function getResponseData(response) {
if (!contentType || /^text\/|charset=utf-8$/.test(contentType)) {
return response.text();
}
return getBufferResponse(response);
return response.arrayBuffer();
}
function toErrorMessage(data) {
if (typeof data === "string")
if (typeof data === "string") {
return data;
let suffix;
if ("documentation_url" in data) {
suffix = ` - ${data.documentation_url}`;
} else {
suffix = "";
}
if (data instanceof ArrayBuffer) {
return "Unknown error";
}
if ("message" in data) {
if (Array.isArray(data.errors)) {
return `${data.message}: ${data.errors.map(JSON.stringify).join(", ")}${suffix}`;
}
return `${data.message}${suffix}`;
const suffix = "documentation_url" in data ? ` - ${data.documentation_url}` : "";
return Array.isArray(data.errors) ? `${data.message}: ${data.errors.map((v) => JSON.stringify(v)).join(", ")}${suffix}` : `${data.message}${suffix}`;
}
return `Unknown error: ${JSON.stringify(data)}`;
}
@@ -36961,11 +36972,7 @@ function withDefaults2(oldEndpoint, newDefaults) {
defaults: withDefaults2.bind(null, endpoint2)
});
}
var request = withDefaults2(endpoint, {
headers: {
"user-agent": `octokit-request.js/${VERSION2} ${getUserAgent()}`
}
});
var request = withDefaults2(endpoint, defaults_default);
// lib/request.js
var import_undici = __toESM(require_undici2(), 1);
+131 -131
View File
@@ -1,29 +1,29 @@
{
"name": "create-github-app-token",
"version": "1.10.2",
"version": "1.10.3",
"lockfileVersion": 3,
"requires": true,
"packages": {
"": {
"name": "create-github-app-token",
"version": "1.10.2",
"version": "1.10.3",
"license": "MIT",
"dependencies": {
"@actions/core": "^1.10.1",
"@octokit/auth-app": "^7.1.0",
"@octokit/request": "^9.0.1",
"@octokit/auth-app": "^7.1.1",
"@octokit/request": "^9.1.3",
"p-retry": "^6.2.0",
"undici": "^6.19.2"
"undici": "^6.19.8"
},
"devDependencies": {
"@sinonjs/fake-timers": "^11.2.2",
"@sinonjs/fake-timers": "^13.0.1",
"ava": "^6.1.3",
"c8": "^10.1.2",
"dotenv": "^16.4.5",
"esbuild": "^0.22.0",
"execa": "^9.3.0",
"esbuild": "^0.23.1",
"execa": "^9.3.1",
"open-cli": "^8.0.0",
"yaml": "^2.4.5"
"yaml": "^2.5.1"
}
},
"node_modules/@actions/core": {
@@ -62,9 +62,9 @@
"dev": true
},
"node_modules/@esbuild/aix-ppc64": {
"version": "0.22.0",
"resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.22.0.tgz",
"integrity": "sha512-uvQR2crZ/zgzSHDvdygHyNI+ze9zwS8mqz0YtGXotSqvEE0UkYE9s+FZKQNTt1VtT719mfP3vHrUdCpxBNQZhQ==",
"version": "0.23.1",
"resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.23.1.tgz",
"integrity": "sha512-6VhYk1diRqrhBAqpJEdjASR/+WVRtfjpqKuNw11cLiaWpAT/Uu+nokB+UJnevzy/P9C/ty6AOe0dwueMrGh/iQ==",
"cpu": [
"ppc64"
],
@@ -78,9 +78,9 @@
}
},
"node_modules/@esbuild/android-arm": {
"version": "0.22.0",
"resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.22.0.tgz",
"integrity": "sha512-PBnyP+r8vJE4ifxsWys9l+Mc2UY/yYZOpX82eoyGISXXb3dRr0M21v+s4fgRKWMFPMSf/iyowqPW/u7ScSUkjQ==",
"version": "0.23.1",
"resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.23.1.tgz",
"integrity": "sha512-uz6/tEy2IFm9RYOyvKl88zdzZfwEfKZmnX9Cj1BHjeSGNuGLuMD1kR8y5bteYmwqKm1tj8m4cb/aKEorr6fHWQ==",
"cpu": [
"arm"
],
@@ -94,9 +94,9 @@
}
},
"node_modules/@esbuild/android-arm64": {
"version": "0.22.0",
"resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.22.0.tgz",
"integrity": "sha512-UKhPb3o2gAB/bfXcl58ZXTn1q2oVu1rEu/bKrCtmm+Nj5MKUbrOwR5WAixE2v+lk0amWuwPvhnPpBRLIGiq7ig==",
"version": "0.23.1",
"resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.23.1.tgz",
"integrity": "sha512-xw50ipykXcLstLeWH7WRdQuysJqejuAGPd30vd1i5zSyKK3WE+ijzHmLKxdiCMtH1pHz78rOg0BKSYOSB/2Khw==",
"cpu": [
"arm64"
],
@@ -110,9 +110,9 @@
}
},
"node_modules/@esbuild/android-x64": {
"version": "0.22.0",
"resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.22.0.tgz",
"integrity": "sha512-IjTYtvIrjhR41Ijy2dDPgYjQHWG/x/A4KXYbs1fiU3efpRdoxMChK3oEZV6GPzVEzJqxFgcuBaiX1kwEvWUxSw==",
"version": "0.23.1",
"resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.23.1.tgz",
"integrity": "sha512-nlN9B69St9BwUoB+jkyU090bru8L0NA3yFvAd7k8dNsVH8bi9a8cUAUSEcEEgTp2z3dbEDGJGfP6VUnkQnlReg==",
"cpu": [
"x64"
],
@@ -126,9 +126,9 @@
}
},
"node_modules/@esbuild/darwin-arm64": {
"version": "0.22.0",
"resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.22.0.tgz",
"integrity": "sha512-mqt+Go4y9wRvEz81bhKd9RpHsQR1LwU8Xm6jZRUV/xpM7cIQFbFH6wBCLPTNsdELBvfoHeumud7X78jQQJv2TA==",
"version": "0.23.1",
"resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.23.1.tgz",
"integrity": "sha512-YsS2e3Wtgnw7Wq53XXBLcV6JhRsEq8hkfg91ESVadIrzr9wO6jJDMZnCQbHm1Guc5t/CdDiFSSfWP58FNuvT3Q==",
"cpu": [
"arm64"
],
@@ -142,9 +142,9 @@
}
},
"node_modules/@esbuild/darwin-x64": {
"version": "0.22.0",
"resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.22.0.tgz",
"integrity": "sha512-vTaTQ9OgYc3VTaWtOE5pSuDT6H3d/qSRFRfSBbnxFfzAvYoB3pqKXA0LEbi/oT8GUOEAutspfRMqPj2ezdFaMw==",
"version": "0.23.1",
"resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.23.1.tgz",
"integrity": "sha512-aClqdgTDVPSEGgoCS8QDG37Gu8yc9lTHNAQlsztQ6ENetKEO//b8y31MMu2ZaPbn4kVsIABzVLXYLhCGekGDqw==",
"cpu": [
"x64"
],
@@ -158,9 +158,9 @@
}
},
"node_modules/@esbuild/freebsd-arm64": {
"version": "0.22.0",
"resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.22.0.tgz",
"integrity": "sha512-0e1ZgoobJzaGnR4reD7I9rYZ7ttqdh1KPvJWnquUoDJhL0rYwdneeLailBzd2/4g/U5p4e5TIHEWa68NF2hFpQ==",
"version": "0.23.1",
"resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.23.1.tgz",
"integrity": "sha512-h1k6yS8/pN/NHlMl5+v4XPfikhJulk4G+tKGFIOwURBSFzE8bixw1ebjluLOjfwtLqY0kewfjLSrO6tN2MgIhA==",
"cpu": [
"arm64"
],
@@ -174,9 +174,9 @@
}
},
"node_modules/@esbuild/freebsd-x64": {
"version": "0.22.0",
"resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.22.0.tgz",
"integrity": "sha512-BFgyYwlCwRWyPQJtkzqq2p6pJbiiWgp0P9PNf7a5FQ1itKY4czPuOMAlFVItirSmEpRPCeImuwePNScZS0pL5Q==",
"version": "0.23.1",
"resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.23.1.tgz",
"integrity": "sha512-lK1eJeyk1ZX8UklqFd/3A60UuZ/6UVfGT2LuGo3Wp4/z7eRTRYY+0xOu2kpClP+vMTi9wKOfXi2vjUpO1Ro76g==",
"cpu": [
"x64"
],
@@ -190,9 +190,9 @@
}
},
"node_modules/@esbuild/linux-arm": {
"version": "0.22.0",
"resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.22.0.tgz",
"integrity": "sha512-KEMWiA9aGuPUD4BH5yjlhElLgaRXe+Eri6gKBoDazoPBTo1BXc/e6IW5FcJO9DoL19FBeCxgONyh95hLDNepIg==",
"version": "0.23.1",
"resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.23.1.tgz",
"integrity": "sha512-CXXkzgn+dXAPs3WBwE+Kvnrf4WECwBdfjfeYHpMeVxWE0EceB6vhWGShs6wi0IYEqMSIzdOF1XjQ/Mkm5d7ZdQ==",
"cpu": [
"arm"
],
@@ -206,9 +206,9 @@
}
},
"node_modules/@esbuild/linux-arm64": {
"version": "0.22.0",
"resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.22.0.tgz",
"integrity": "sha512-V/K2rctCUgC0PCXpN7AqT4hoazXKgIYugFGu/myk2+pfe6jTW2guz/TBwq4cZ7ESqusR/IzkcQaBkcjquuBWsw==",
"version": "0.23.1",
"resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.23.1.tgz",
"integrity": "sha512-/93bf2yxencYDnItMYV/v116zff6UyTjo4EtEQjUBeGiVpMmffDNUyD9UN2zV+V3LRV3/on4xdZ26NKzn6754g==",
"cpu": [
"arm64"
],
@@ -222,9 +222,9 @@
}
},
"node_modules/@esbuild/linux-ia32": {
"version": "0.22.0",
"resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.22.0.tgz",
"integrity": "sha512-r2ZZqkOMOrpUhzNwxI7uLAHIDwkfeqmTnrv1cjpL/rjllPWszgqmprd/om9oviKXUBpMqHbXmppvjAYgISb26Q==",
"version": "0.23.1",
"resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.23.1.tgz",
"integrity": "sha512-VTN4EuOHwXEkXzX5nTvVY4s7E/Krz7COC8xkftbbKRYAl96vPiUssGkeMELQMOnLOJ8k3BY1+ZY52tttZnHcXQ==",
"cpu": [
"ia32"
],
@@ -238,9 +238,9 @@
}
},
"node_modules/@esbuild/linux-loong64": {
"version": "0.22.0",
"resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.22.0.tgz",
"integrity": "sha512-qaowLrV/YOMAL2RfKQ4C/VaDzAuLDuylM2sd/LH+4OFirMl6CuDpRlCq4u49ZBaVV8pkI/Y+hTdiibvQRhojCA==",
"version": "0.23.1",
"resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.23.1.tgz",
"integrity": "sha512-Vx09LzEoBa5zDnieH8LSMRToj7ir/Jeq0Gu6qJ/1GcBq9GkfoEAoXvLiW1U9J1qE/Y/Oyaq33w5p2ZWrNNHNEw==",
"cpu": [
"loong64"
],
@@ -254,9 +254,9 @@
}
},
"node_modules/@esbuild/linux-mips64el": {
"version": "0.22.0",
"resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.22.0.tgz",
"integrity": "sha512-hgrezzjQTRxjkQ5k08J6rtZN5PNnkWx/Rz6Kmj9gnsdCAX1I4Dn4ZPqvFRkXo55Q3pnVQJBwbdtrTO7tMGtyVA==",
"version": "0.23.1",
"resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.23.1.tgz",
"integrity": "sha512-nrFzzMQ7W4WRLNUOU5dlWAqa6yVeI0P78WKGUo7lg2HShq/yx+UYkeNSE0SSfSure0SqgnsxPvmAUu/vu0E+3Q==",
"cpu": [
"mips64el"
],
@@ -270,9 +270,9 @@
}
},
"node_modules/@esbuild/linux-ppc64": {
"version": "0.22.0",
"resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.22.0.tgz",
"integrity": "sha512-ewxg6FLLUio883XgSjfULEmDl3VPv/TYNnRprVAS3QeGFLdCYdx1tIudBcd7n9jIdk82v1Ajov4jx87qW7h9+g==",
"version": "0.23.1",
"resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.23.1.tgz",
"integrity": "sha512-dKN8fgVqd0vUIjxuJI6P/9SSSe/mB9rvA98CSH2sJnlZ/OCZWO1DJvxj8jvKTfYUdGfcq2dDxoKaC6bHuTlgcw==",
"cpu": [
"ppc64"
],
@@ -286,9 +286,9 @@
}
},
"node_modules/@esbuild/linux-riscv64": {
"version": "0.22.0",
"resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.22.0.tgz",
"integrity": "sha512-Az5XbgSJC2lE8XK8pdcutsf9RgdafWdTpUK/+6uaDdfkviw/B4JCwAfh1qVeRWwOohwdsl4ywZrWBNWxwrPLFg==",
"version": "0.23.1",
"resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.23.1.tgz",
"integrity": "sha512-5AV4Pzp80fhHL83JM6LoA6pTQVWgB1HovMBsLQ9OZWLDqVY8MVobBXNSmAJi//Csh6tcY7e7Lny2Hg1tElMjIA==",
"cpu": [
"riscv64"
],
@@ -302,9 +302,9 @@
}
},
"node_modules/@esbuild/linux-s390x": {
"version": "0.22.0",
"resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.22.0.tgz",
"integrity": "sha512-8j4a2ChT9+V34NNNY9c/gMldutaJFmfMacTPq4KfNKwv2fitBCLYjee7c+Vxaha2nUhPK7cXcZpJtJ3+Y7ZdVQ==",
"version": "0.23.1",
"resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.23.1.tgz",
"integrity": "sha512-9ygs73tuFCe6f6m/Tb+9LtYxWR4c9yg7zjt2cYkjDbDpV/xVn+68cQxMXCjUpYwEkze2RcU/rMnfIXNRFmSoDw==",
"cpu": [
"s390x"
],
@@ -318,9 +318,9 @@
}
},
"node_modules/@esbuild/linux-x64": {
"version": "0.22.0",
"resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.22.0.tgz",
"integrity": "sha512-JUQyOnpbAkkRFOk/AhsEemz5TfWN4FJZxVObUlnlNCbe7QBl61ZNfM4cwBXayQA6laMJMUcqLHaYQHAB6YQ95Q==",
"version": "0.23.1",
"resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.23.1.tgz",
"integrity": "sha512-EV6+ovTsEXCPAp58g2dD68LxoP/wK5pRvgy0J/HxPGB009omFPv3Yet0HiaqvrIrgPTBuC6wCH1LTOY91EO5hQ==",
"cpu": [
"x64"
],
@@ -334,9 +334,9 @@
}
},
"node_modules/@esbuild/netbsd-x64": {
"version": "0.22.0",
"resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.22.0.tgz",
"integrity": "sha512-11PoCoHXo4HFNbLsXuMB6bpMPWGDiw7xETji6COdJss4SQZLvcgNoeSqWtATRm10Jj1uEHiaIk4N0PiN6x4Fcg==",
"version": "0.23.1",
"resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.23.1.tgz",
"integrity": "sha512-aevEkCNu7KlPRpYLjwmdcuNz6bDFiE7Z8XC4CPqExjTvrHugh28QzUXVOZtiYghciKUacNktqxdpymplil1beA==",
"cpu": [
"x64"
],
@@ -350,9 +350,9 @@
}
},
"node_modules/@esbuild/openbsd-arm64": {
"version": "0.22.0",
"resolved": "https://registry.npmjs.org/@esbuild/openbsd-arm64/-/openbsd-arm64-0.22.0.tgz",
"integrity": "sha512-Ezlhu/YyITmXwKSB+Zu/QqD7cxrjrpiw85cc0Rbd3AWr2wsgp+dWbWOE8MqHaLW9NKMZvuL0DhbJbvzR7F6Zvg==",
"version": "0.23.1",
"resolved": "https://registry.npmjs.org/@esbuild/openbsd-arm64/-/openbsd-arm64-0.23.1.tgz",
"integrity": "sha512-3x37szhLexNA4bXhLrCC/LImN/YtWis6WXr1VESlfVtVeoFJBRINPJ3f0a/6LV8zpikqoUg4hyXw0sFBt5Cr+Q==",
"cpu": [
"arm64"
],
@@ -366,9 +366,9 @@
}
},
"node_modules/@esbuild/openbsd-x64": {
"version": "0.22.0",
"resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.22.0.tgz",
"integrity": "sha512-ufjdW5tFJGUjlH9j/5cCE9lrwRffyZh+T4vYvoDKoYsC6IXbwaFeV/ENxeNXcxotF0P8CDzoICXVSbJaGBhkrw==",
"version": "0.23.1",
"resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.23.1.tgz",
"integrity": "sha512-aY2gMmKmPhxfU+0EdnN+XNtGbjfQgwZj43k8G3fyrDM/UdZww6xrWxmDkuz2eCZchqVeABjV5BpildOrUbBTqA==",
"cpu": [
"x64"
],
@@ -382,9 +382,9 @@
}
},
"node_modules/@esbuild/sunos-x64": {
"version": "0.22.0",
"resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.22.0.tgz",
"integrity": "sha512-zY6ly/AoSmKnmNTowDJsK5ehra153/5ZhqxNLfq9NRsTTltetr+yHHcQ4RW7QDqw4JC8A1uC1YmeSfK9NRcK1w==",
"version": "0.23.1",
"resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.23.1.tgz",
"integrity": "sha512-RBRT2gqEl0IKQABT4XTj78tpk9v7ehp+mazn2HbUeZl1YMdaGAQqhapjGTCe7uw7y0frDi4gS0uHzhvpFuI1sA==",
"cpu": [
"x64"
],
@@ -398,9 +398,9 @@
}
},
"node_modules/@esbuild/win32-arm64": {
"version": "0.22.0",
"resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.22.0.tgz",
"integrity": "sha512-Kml5F7tv/1Maam0pbbCrvkk9vj046dPej30kFzlhXnhuCtYYBP6FGy/cLbc5yUT1lkZznGLf2OvuvmLjscO5rw==",
"version": "0.23.1",
"resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.23.1.tgz",
"integrity": "sha512-4O+gPR5rEBe2FpKOVyiJ7wNDPA8nGzDuJ6gN4okSA1gEOYZ67N8JPk58tkWtdtPeLz7lBnY6I5L3jdsr3S+A6A==",
"cpu": [
"arm64"
],
@@ -414,9 +414,9 @@
}
},
"node_modules/@esbuild/win32-ia32": {
"version": "0.22.0",
"resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.22.0.tgz",
"integrity": "sha512-IOgwn+mYTM3RrcydP4Og5IpXh+ftN8oF+HELTXSmbWBlujuci4Qa3DTeO+LEErceisI7KUSfEIiX+WOUlpELkw==",
"version": "0.23.1",
"resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.23.1.tgz",
"integrity": "sha512-BcaL0Vn6QwCwre3Y717nVHZbAa4UBEigzFm6VdsVdT/MbZ38xoj1X9HPkZhbmaBGUD1W8vxAfffbDe8bA6AKnQ==",
"cpu": [
"ia32"
],
@@ -430,9 +430,9 @@
}
},
"node_modules/@esbuild/win32-x64": {
"version": "0.22.0",
"resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.22.0.tgz",
"integrity": "sha512-4bDHJrk2WHBXJPhy1y80X7/5b5iZTZP3LGcKIlAP1J+KqZ4zQAPMLEzftGyjjfcKbA4JDlPt/+2R/F1ZTeRgrw==",
"version": "0.23.1",
"resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.23.1.tgz",
"integrity": "sha512-BHpFFeslkWrXWyUPnbKm+xYYVYruCinGcftSBaa8zoF9hZO4BcSCFUvHVTtzpIY6YzUnYtuEhZ+C9iEXjxnasg==",
"cpu": [
"x64"
],
@@ -600,9 +600,9 @@
}
},
"node_modules/@octokit/auth-app": {
"version": "7.1.0",
"resolved": "https://registry.npmjs.org/@octokit/auth-app/-/auth-app-7.1.0.tgz",
"integrity": "sha512-cazGaJPSgeZ8NkVYeM/C5l/6IQ5vZnsI8p1aMucadCkt/bndI+q+VqwrlnWbASRmenjOkf1t1RpCKrif53U8gw==",
"version": "7.1.1",
"resolved": "https://registry.npmjs.org/@octokit/auth-app/-/auth-app-7.1.1.tgz",
"integrity": "sha512-kRAd6yelV9OgvlEJE88H0VLlQdZcag9UlLr7dV0YYP37X8PPDvhgiTy66QVhDXdyoT0AleFN2w/qXkPdrSzINg==",
"dependencies": {
"@octokit/auth-oauth-app": "^8.1.0",
"@octokit/auth-oauth-user": "^5.1.0",
@@ -701,9 +701,9 @@
"integrity": "sha512-QBhVjcUa9W7Wwhm6DBFu6ZZ+1/t/oYxqc2tp81Pi41YNuJinbFRx8B133qVOrAaBbF7D/m0Et6f9/pZt9Rc+tg=="
},
"node_modules/@octokit/request": {
"version": "9.1.1",
"resolved": "https://registry.npmjs.org/@octokit/request/-/request-9.1.1.tgz",
"integrity": "sha512-pyAguc0p+f+GbQho0uNetNQMmLG1e80WjkIaqqgUkihqUp0boRU6nKItXO4VWnr+nbZiLGEyy4TeKRwqaLvYgw==",
"version": "9.1.3",
"resolved": "https://registry.npmjs.org/@octokit/request/-/request-9.1.3.tgz",
"integrity": "sha512-V+TFhu5fdF3K58rs1pGUJIDH5RZLbZm5BI+MNF+6o/ssFNT4vWlCh/tVpF3NxGtP15HUxTTMUbsG5llAuU2CZA==",
"dependencies": {
"@octokit/endpoint": "^10.0.0",
"@octokit/request-error": "^6.0.1",
@@ -796,12 +796,12 @@
}
},
"node_modules/@sinonjs/fake-timers": {
"version": "11.2.2",
"resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-11.2.2.tgz",
"integrity": "sha512-G2piCSxQ7oWOxwGSAyFHfPIsyeJGXYtc6mFbnFA+kRXkiEnTl8c/8jul2S329iFBnDI9HGoeWWAZvuvOkZccgw==",
"version": "13.0.1",
"resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-13.0.1.tgz",
"integrity": "sha512-ZEbLYOvZQHccQJzbg2E5r+/Mdjb6BMdjToL4r8WwUw0VTjTnyY3gCnwLeiovcXI3/Uo25exmqmiwsjL/eE/rSg==",
"dev": true,
"dependencies": {
"@sinonjs/commons": "^3.0.0"
"@sinonjs/commons": "^3.0.1"
}
},
"node_modules/@tokenizer/token": {
@@ -1559,9 +1559,9 @@
"dev": true
},
"node_modules/esbuild": {
"version": "0.22.0",
"resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.22.0.tgz",
"integrity": "sha512-zNYA6bFZsVnsU481FnGAQjLDW0Pl/8BGG7EvAp15RzUvGC+ME7hf1q7LvIfStEQBz/iEHuBJCYcOwPmNCf1Tlw==",
"version": "0.23.1",
"resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.23.1.tgz",
"integrity": "sha512-VVNz/9Sa0bs5SELtn3f7qhJCDPCF5oMEl5cO9/SSinpE9hbPVvxbd572HH5AKiP7WD8INO53GgfDDhRjkylHEg==",
"dev": true,
"hasInstallScript": true,
"bin": {
@@ -1571,30 +1571,30 @@
"node": ">=18"
},
"optionalDependencies": {
"@esbuild/aix-ppc64": "0.22.0",
"@esbuild/android-arm": "0.22.0",
"@esbuild/android-arm64": "0.22.0",
"@esbuild/android-x64": "0.22.0",
"@esbuild/darwin-arm64": "0.22.0",
"@esbuild/darwin-x64": "0.22.0",
"@esbuild/freebsd-arm64": "0.22.0",
"@esbuild/freebsd-x64": "0.22.0",
"@esbuild/linux-arm": "0.22.0",
"@esbuild/linux-arm64": "0.22.0",
"@esbuild/linux-ia32": "0.22.0",
"@esbuild/linux-loong64": "0.22.0",
"@esbuild/linux-mips64el": "0.22.0",
"@esbuild/linux-ppc64": "0.22.0",
"@esbuild/linux-riscv64": "0.22.0",
"@esbuild/linux-s390x": "0.22.0",
"@esbuild/linux-x64": "0.22.0",
"@esbuild/netbsd-x64": "0.22.0",
"@esbuild/openbsd-arm64": "0.22.0",
"@esbuild/openbsd-x64": "0.22.0",
"@esbuild/sunos-x64": "0.22.0",
"@esbuild/win32-arm64": "0.22.0",
"@esbuild/win32-ia32": "0.22.0",
"@esbuild/win32-x64": "0.22.0"
"@esbuild/aix-ppc64": "0.23.1",
"@esbuild/android-arm": "0.23.1",
"@esbuild/android-arm64": "0.23.1",
"@esbuild/android-x64": "0.23.1",
"@esbuild/darwin-arm64": "0.23.1",
"@esbuild/darwin-x64": "0.23.1",
"@esbuild/freebsd-arm64": "0.23.1",
"@esbuild/freebsd-x64": "0.23.1",
"@esbuild/linux-arm": "0.23.1",
"@esbuild/linux-arm64": "0.23.1",
"@esbuild/linux-ia32": "0.23.1",
"@esbuild/linux-loong64": "0.23.1",
"@esbuild/linux-mips64el": "0.23.1",
"@esbuild/linux-ppc64": "0.23.1",
"@esbuild/linux-riscv64": "0.23.1",
"@esbuild/linux-s390x": "0.23.1",
"@esbuild/linux-x64": "0.23.1",
"@esbuild/netbsd-x64": "0.23.1",
"@esbuild/openbsd-arm64": "0.23.1",
"@esbuild/openbsd-x64": "0.23.1",
"@esbuild/sunos-x64": "0.23.1",
"@esbuild/win32-arm64": "0.23.1",
"@esbuild/win32-ia32": "0.23.1",
"@esbuild/win32-x64": "0.23.1"
}
},
"node_modules/escalade": {
@@ -1647,16 +1647,16 @@
}
},
"node_modules/execa": {
"version": "9.3.0",
"resolved": "https://registry.npmjs.org/execa/-/execa-9.3.0.tgz",
"integrity": "sha512-l6JFbqnHEadBoVAVpN5dl2yCyfX28WoBAGaoQcNmLLSedOxTxcn2Qa83s8I/PA5i56vWru2OHOtrwF7Om2vqlg==",
"version": "9.3.1",
"resolved": "https://registry.npmjs.org/execa/-/execa-9.3.1.tgz",
"integrity": "sha512-gdhefCCNy/8tpH/2+ajP9IQc14vXchNdd0weyzSJEFURhRMGncQ+zKFxwjAufIewPEJm9BPOaJnvg2UtlH2gPQ==",
"dev": true,
"dependencies": {
"@sindresorhus/merge-streams": "^4.0.0",
"cross-spawn": "^7.0.3",
"figures": "^6.1.0",
"get-stream": "^9.0.0",
"human-signals": "^7.0.0",
"human-signals": "^8.0.0",
"is-plain-obj": "^4.1.0",
"is-stream": "^4.0.1",
"npm-run-path": "^5.2.0",
@@ -2081,9 +2081,9 @@
}
},
"node_modules/human-signals": {
"version": "7.0.0",
"resolved": "https://registry.npmjs.org/human-signals/-/human-signals-7.0.0.tgz",
"integrity": "sha512-74kytxOUSvNbjrT9KisAbaTZ/eJwD/LrbM/kh5j0IhPuJzwuA19dWvniFGwBzN9rVjg+O/e+F310PjObDXS+9Q==",
"version": "8.0.0",
"resolved": "https://registry.npmjs.org/human-signals/-/human-signals-8.0.0.tgz",
"integrity": "sha512-/1/GPCpDUCCYwlERiYjxoczfP0zfvZMU/OWgQPMya9AbAE24vseigFdhAMObpc8Q4lc/kjutPfUddDYyAmejnA==",
"dev": true,
"engines": {
"node": ">=18.18.0"
@@ -3679,9 +3679,9 @@
}
},
"node_modules/undici": {
"version": "6.19.2",
"resolved": "https://registry.npmjs.org/undici/-/undici-6.19.2.tgz",
"integrity": "sha512-JfjKqIauur3Q6biAtHJ564e3bWa8VvT+7cSiOJHFbX4Erv6CLGDpg8z+Fmg/1OI/47RA+GI2QZaF48SSaLvyBA==",
"version": "6.19.8",
"resolved": "https://registry.npmjs.org/undici/-/undici-6.19.8.tgz",
"integrity": "sha512-U8uCCl2x9TK3WANvmBavymRzxbfFYG+tAu+fgx3zxQy3qdagQqBLwJVrdyO1TBfUXvfKveMKJZhpvUYoOjM+4g==",
"engines": {
"node": ">=18.17"
}
@@ -4050,9 +4050,9 @@
"dev": true
},
"node_modules/yaml": {
"version": "2.4.5",
"resolved": "https://registry.npmjs.org/yaml/-/yaml-2.4.5.tgz",
"integrity": "sha512-aBx2bnqDzVOyNKfsysjA2ms5ZlnjSAW2eG3/L5G/CSujfjLJTJsEw1bGw8kCf04KodQWk1pxlGnZ56CRxiawmg==",
"version": "2.5.1",
"resolved": "https://registry.npmjs.org/yaml/-/yaml-2.5.1.tgz",
"integrity": "sha512-bLQOjaX/ADgQ20isPJRvF0iRUHIxVhYvr53Of7wGcWlO2jvtUlH5m87DsmulFVxRpNLOnI4tB6p/oh8D7kpn9Q==",
"dev": true,
"bin": {
"yaml": "bin.mjs"
+8 -8
View File
@@ -2,7 +2,7 @@
"name": "create-github-app-token",
"private": true,
"type": "module",
"version": "1.10.3",
"version": "1.10.4",
"description": "GitHub Action for creating a GitHub App Installation Access Token",
"scripts": {
"build": "esbuild main.js post.js --bundle --outdir=dist --out-extension:.js=.cjs --platform=node --target=node20.0.0 --packages=bundle",
@@ -13,20 +13,20 @@
"license": "MIT",
"dependencies": {
"@actions/core": "^1.10.1",
"@octokit/auth-app": "^7.1.0",
"@octokit/request": "^9.0.1",
"@octokit/auth-app": "^7.1.1",
"@octokit/request": "^9.1.3",
"p-retry": "^6.2.0",
"undici": "^6.19.2"
"undici": "^6.19.8"
},
"devDependencies": {
"@sinonjs/fake-timers": "^11.2.2",
"@sinonjs/fake-timers": "^13.0.1",
"ava": "^6.1.3",
"c8": "^10.1.2",
"dotenv": "^16.4.5",
"esbuild": "^0.22.0",
"execa": "^9.3.0",
"esbuild": "^0.23.1",
"execa": "^9.3.1",
"open-cli": "^8.0.0",
"yaml": "^2.4.5"
"yaml": "^2.5.1"
},
"release": {
"branches": [
+13 -3
View File
@@ -1,11 +1,21 @@
import { readdirSync } from "node:fs";
import { execa } from "execa";
import test from "ava";
import { execa } from "execa";
const tests = readdirSync("tests").filter((file) => file.endsWith(".test.js"));
// Get all files in tests directory
const files = readdirSync("tests");
for (const file of tests) {
// Files to ignore
const ignore = ["index.js", "main.js", "README.md", "snapshots"];
const testFiles = files.filter((file) => !ignore.includes(file));
// Throw an error if there is a file that does not end with test.js in the tests directory
for (const file of testFiles) {
if (!file.endsWith(".test.js")) {
throw new Error(`File ${file} does not end with .test.js`);
}
test(file, async (t) => {
// Override Actions environment variables that change `core`s behavior
const env = {
+3 -2
View File
@@ -1,10 +1,11 @@
import { test, DEFAULT_ENV } from "./main.js";
import { DEFAULT_ENV, test } from "./main.js";
// Verify that main works with a custom GitHub API URL passed as `github-api-url` input
await test(
() => {
process.env.INPUT_OWNER = process.env.GITHUB_REPOSITORY_OWNER;
process.env.INPUT_REPOSITORIES = process.env.GITHUB_REPOSITORY;
const currentRepoName = process.env.GITHUB_REPOSITORY.split("/")[1];
process.env.INPUT_REPOSITORIES = currentRepoName;
},
{
...DEFAULT_ENV,
@@ -1,6 +0,0 @@
import { test, DEFAULT_ENV } from "./main.js";
// Verify `main` works correctly when `private-key` input has escaped newlines
await test(() => {
process.env['INPUT_PRIVATE-KEY'] = DEFAULT_ENV.PRIVATE_KEY.replace(/\n/g, '\\n')
});
@@ -0,0 +1,9 @@
import { DEFAULT_ENV, test } from "./main.js";
// Verify `main` works correctly when `private-key` input has escaped newlines
await test(() => {
process.env["INPUT_PRIVATE-KEY"] = DEFAULT_ENV["INPUT_PRIVATE-KEY"].replace(
/\n/g,
"\\n"
);
});
@@ -3,5 +3,6 @@ import { test } from "./main.js";
// Verify `main` successfully obtains a token when the `owner` and `repositories` inputs are set (and the latter is a list of repos).
await test(() => {
process.env.INPUT_OWNER = process.env.GITHUB_REPOSITORY_OWNER;
process.env.INPUT_REPOSITORIES = `${process.env.GITHUB_REPOSITORY},actions/toolkit`;
const currentRepoName = process.env.GITHUB_REPOSITORY.split("/")[1];
process.env.INPUT_REPOSITORIES = `${currentRepoName},toolkit`;
});
@@ -3,5 +3,6 @@ import { test } from "./main.js";
// Verify `main` successfully obtains a token when the `owner` and `repositories` inputs are set (and the latter is a single repo).
await test(() => {
process.env.INPUT_OWNER = process.env.GITHUB_REPOSITORY_OWNER;
process.env.INPUT_REPOSITORIES = process.env.GITHUB_REPOSITORY;
const currentRepoName = process.env.GITHUB_REPOSITORY.split("/")[1];
process.env.INPUT_REPOSITORIES = currentRepoName;
});
@@ -3,5 +3,6 @@ import { test } from "./main.js";
// Verify `main` successfully obtains a token when the `owner` input is not set, but the `repositories` input is set.
await test(() => {
delete process.env.INPUT_OWNER;
process.env.INPUT_REPOSITORIES = process.env.GITHUB_REPOSITORY;
const currentRepoName = process.env.GITHUB_REPOSITORY.split("/")[1];
process.env.INPUT_REPOSITORIES = currentRepoName;
});
+4 -3
View File
@@ -46,7 +46,7 @@ export async function test(cb = (_mockPool) => {}, env = DEFAULT_ENV) {
// Set up mocking
const baseUrl = new URL(env["INPUT_GITHUB-API-URL"]);
const basePath = baseUrl.pathname === '/' ? '' : baseUrl.pathname;
const basePath = baseUrl.pathname === "/" ? "" : baseUrl.pathname;
const mockAgent = new MockAgent();
mockAgent.disableNetConnect();
setGlobalDispatcher(mockAgent);
@@ -58,8 +58,9 @@ export async function test(cb = (_mockPool) => {}, env = DEFAULT_ENV) {
const mockInstallationId = "123456";
const mockAppSlug = "github-actions";
const owner = env.INPUT_OWNER ?? env.GITHUB_REPOSITORY_OWNER;
const currentRepoName = env.GITHUB_REPOSITORY.split("/")[1];
const repo = encodeURIComponent(
(env.INPUT_REPOSITORIES ?? env.GITHUB_REPOSITORY).split(",")[0]
(env.INPUT_REPOSITORIES ?? currentRepoName).split(",")[0]
);
mockPool
.intercept({
@@ -73,7 +74,7 @@ export async function test(cb = (_mockPool) => {}, env = DEFAULT_ENV) {
})
.reply(
200,
{ id: mockInstallationId, "app_slug": mockAppSlug },
{ id: mockInstallationId, app_slug: mockAppSlug },
{ headers: { "content-type": "application/json" } }
);
+43 -4
View File
@@ -24,7 +24,7 @@ Generated by [AVA](https://avajs.dev).
> stdout
`owner and repositories set, creating token for repositories "actions/create-github-app-token" owned by "actions"␊
`owner and repositories set, creating token for repositories "create-github-app-token" owned by "actions"␊
::add-mask::ghs_16C7e42F292c6912E7710c838347Ae178B4a␊
::set-output name=token::ghs_16C7e42F292c6912E7710c838347Ae178B4a␊
@@ -75,6 +75,45 @@ Generated by [AVA](https://avajs.dev).
''
## main-private-key-with-escaped-newlines.test.js
> stderr
''
> stdout
`owner and repositories not set, creating token for the current repository ("create-github-app-token")␊
::add-mask::ghs_16C7e42F292c6912E7710c838347Ae178B4a␊
::set-output name=token::ghs_16C7e42F292c6912E7710c838347Ae178B4a␊
::set-output name=installation-id::123456␊
::set-output name=app-slug::github-actions␊
::save-state name=token::ghs_16C7e42F292c6912E7710c838347Ae178B4a␊
::save-state name=expiresAt::2016-07-11T22:14:10Z`
## main-repo-skew.test.js
> stderr
`'Issued at' claim ('iat') must be an Integer representing the time that the assertion was issued.␊
[@octokit/auth-app] GitHub API time and system time are different by 30 seconds. Retrying request with the difference accounted for.`
> stdout
`owner and repositories set, creating token for repositories "failed-repo" owned by "actions"␊
::add-mask::ghs_16C7e42F292c6912E7710c838347Ae178B4a␊
::set-output name=token::ghs_16C7e42F292c6912E7710c838347Ae178B4a␊
::set-output name=installation-id::123456␊
::set-output name=app-slug::github-actions␊
::save-state name=token::ghs_16C7e42F292c6912E7710c838347Ae178B4a␊
::save-state name=expiresAt::2016-07-11T22:14:10Z`
## main-token-get-owner-set-repo-fail-response.test.js
> stderr
@@ -103,7 +142,7 @@ Generated by [AVA](https://avajs.dev).
> stdout
`owner and repositories set, creating token for repositories "actions/create-github-app-token,actions/toolkit" owned by "actions"␊
`owner and repositories set, creating token for repositories "create-github-app-token,toolkit" owned by "actions"␊
::add-mask::ghs_16C7e42F292c6912E7710c838347Ae178B4a␊
::set-output name=token::ghs_16C7e42F292c6912E7710c838347Ae178B4a␊
@@ -122,7 +161,7 @@ Generated by [AVA](https://avajs.dev).
> stdout
`owner and repositories set, creating token for repositories "actions/create-github-app-token" owned by "actions"␊
`owner and repositories set, creating token for repositories "create-github-app-token" owned by "actions"␊
::add-mask::ghs_16C7e42F292c6912E7710c838347Ae178B4a␊
::set-output name=token::ghs_16C7e42F292c6912E7710c838347Ae178B4a␊
@@ -199,7 +238,7 @@ Generated by [AVA](https://avajs.dev).
> stdout
`owner not set, creating owner for given repositories "actions/create-github-app-token" in current owner ("actions")␊
`owner not set, creating owner for given repositories "create-github-app-token" in current owner ("actions")␊
::add-mask::ghs_16C7e42F292c6912E7710c838347Ae178B4a␊
::set-output name=token::ghs_16C7e42F292c6912E7710c838347Ae178B4a␊
Binary file not shown.