Compare commits

...
123 Commits
Author SHA1 Message Date
CrazyMax 5e57cd1181 Merge pull request #890 from docker/dependabot/npm_and_yarn/aws-sdk-dependencies-0da3cd129b
build(deps): bump the aws-sdk-dependencies group with 2 updates
2025-09-29 12:29:19 +02:00
CrazyMax 97e31439e8 chore: update generated content
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2025-09-29 12:27:12 +02:00
dependabot[bot] 3a0796b57f build(deps): bump the aws-sdk-dependencies group with 2 updates
Bumps the aws-sdk-dependencies group with 2 updates: [@aws-sdk/client-ecr](https://github.com/aws/aws-sdk-js-v3/tree/HEAD/clients/client-ecr) and [@aws-sdk/client-ecr-public](https://github.com/aws/aws-sdk-js-v3/tree/HEAD/clients/client-ecr-public).


Updates `@aws-sdk/client-ecr` from 3.888.0 to 3.890.0
- [Release notes](https://github.com/aws/aws-sdk-js-v3/releases)
- [Changelog](https://github.com/aws/aws-sdk-js-v3/blob/main/clients/client-ecr/CHANGELOG.md)
- [Commits](https://github.com/aws/aws-sdk-js-v3/commits/v3.890.0/clients/client-ecr)

Updates `@aws-sdk/client-ecr-public` from 3.888.0 to 3.890.0
- [Release notes](https://github.com/aws/aws-sdk-js-v3/releases)
- [Changelog](https://github.com/aws/aws-sdk-js-v3/blob/main/clients/client-ecr-public/CHANGELOG.md)
- [Commits](https://github.com/aws/aws-sdk-js-v3/commits/v3.890.0/clients/client-ecr-public)

---
updated-dependencies:
- dependency-name: "@aws-sdk/client-ecr"
  dependency-version: 3.890.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: aws-sdk-dependencies
- dependency-name: "@aws-sdk/client-ecr-public"
  dependency-version: 3.890.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: aws-sdk-dependencies
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-09-17 05:04:22 +00:00
CrazyMax 5b7b28b1cc Merge pull request #882 from docker/dependabot/npm_and_yarn/aws-sdk-dependencies-f08b3cc7bd
build(deps): bump the aws-sdk-dependencies group with 2 updates
2025-09-13 14:06:31 +02:00
CrazyMax abc9fb3154 chore: update generated content
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2025-09-13 14:04:57 +02:00
dependabot[bot] d468688814 build(deps): bump the aws-sdk-dependencies group with 2 updates
Bumps the aws-sdk-dependencies group with 2 updates: [@aws-sdk/client-ecr](https://github.com/aws/aws-sdk-js-v3/tree/HEAD/clients/client-ecr) and [@aws-sdk/client-ecr-public](https://github.com/aws/aws-sdk-js-v3/tree/HEAD/clients/client-ecr-public).


Updates `@aws-sdk/client-ecr` from 3.859.0 to 3.862.0
- [Release notes](https://github.com/aws/aws-sdk-js-v3/releases)
- [Changelog](https://github.com/aws/aws-sdk-js-v3/blob/main/clients/client-ecr/CHANGELOG.md)
- [Commits](https://github.com/aws/aws-sdk-js-v3/commits/v3.862.0/clients/client-ecr)

Updates `@aws-sdk/client-ecr-public` from 3.859.0 to 3.862.0
- [Release notes](https://github.com/aws/aws-sdk-js-v3/releases)
- [Changelog](https://github.com/aws/aws-sdk-js-v3/blob/main/clients/client-ecr-public/CHANGELOG.md)
- [Commits](https://github.com/aws/aws-sdk-js-v3/commits/v3.862.0/clients/client-ecr-public)

---
updated-dependencies:
- dependency-name: "@aws-sdk/client-ecr"
  dependency-version: 3.862.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: aws-sdk-dependencies
- dependency-name: "@aws-sdk/client-ecr-public"
  dependency-version: 3.862.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: aws-sdk-dependencies
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-09-13 12:03:39 +00:00
CrazyMax a99b2f88fc Merge pull request #883 from docker/dependabot/npm_and_yarn/docker/actions-toolkit-0.63.0
build(deps): bump @docker/actions-toolkit from 0.62.1 to 0.63.0
2025-09-13 13:59:55 +02:00
CrazyMax 0d7fae8057 chore: update generated content
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2025-09-13 13:57:06 +02:00
dependabot[bot] 9832253cb7 build(deps): bump @docker/actions-toolkit from 0.62.1 to 0.63.0
Bumps [@docker/actions-toolkit](https://github.com/docker/actions-toolkit) from 0.62.1 to 0.63.0.
- [Release notes](https://github.com/docker/actions-toolkit/releases)
- [Commits](https://github.com/docker/actions-toolkit/compare/v0.62.1...v0.63.0)

---
updated-dependencies:
- dependency-name: "@docker/actions-toolkit"
  dependency-version: 0.63.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-09-13 11:55:30 +00:00
CrazyMax 09e05bbdf6 Merge pull request #881 from docker/dependabot/npm_and_yarn/tmp-0.2.4
build(deps): bump tmp from 0.2.3 to 0.2.4
2025-09-13 13:53:13 +02:00
CrazyMax 4384bb23be chore: update generated content
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2025-09-13 13:51:35 +02:00
dependabot[bot] 722c6681a5 build(deps): bump tmp from 0.2.3 to 0.2.4
Bumps [tmp](https://github.com/raszi/node-tmp) from 0.2.3 to 0.2.4.
- [Changelog](https://github.com/raszi/node-tmp/blob/master/CHANGELOG.md)
- [Commits](https://github.com/raszi/node-tmp/compare/v0.2.3...v0.2.4)

---
updated-dependencies:
- dependency-name: tmp
  dependency-version: 0.2.4
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-09-13 11:50:28 +00:00
CrazyMax 0bd2ba43c1 Merge pull request #880 from docker/dependabot/npm_and_yarn/brace-expansion-1.1.12
build(deps): bump brace-expansion from 1.1.11 to 1.1.12
2025-09-13 13:48:13 +02:00
CrazyMax 18836d8e24 chore: update generated content
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2025-09-13 13:45:24 +02:00
dependabot[bot] 997e14a133 build(deps): bump brace-expansion from 1.1.11 to 1.1.12
Bumps [brace-expansion](https://github.com/juliangruber/brace-expansion) from 1.1.11 to 1.1.12.
- [Release notes](https://github.com/juliangruber/brace-expansion/releases)
- [Commits](https://github.com/juliangruber/brace-expansion/compare/1.1.11...v1.1.12)

---
updated-dependencies:
- dependency-name: brace-expansion
  dependency-version: 1.1.12
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-09-13 11:41:40 +00:00
CrazyMax 67d87fe2c8 Merge pull request #879 from docker/dependabot/npm_and_yarn/undici-5.29.0
build(deps): bump undici from 5.28.4 to 5.29.0
2025-09-13 13:39:39 +02:00
CrazyMax 1287044d73 chore: update generated content
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2025-09-13 13:37:28 +02:00
dependabot[bot] 9fa22322ec build(deps): bump undici from 5.28.4 to 5.29.0
Bumps [undici](https://github.com/nodejs/undici) from 5.28.4 to 5.29.0.
- [Release notes](https://github.com/nodejs/undici/releases)
- [Commits](https://github.com/nodejs/undici/compare/v5.28.4...v5.29.0)

---
updated-dependencies:
- dependency-name: undici
  dependency-version: 5.29.0
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-09-13 11:30:28 +00:00
CrazyMax 738e2ed2fd Merge pull request #889 from crazy-max/update-yarn
update yarn to 4.9.2
2025-09-13 13:27:51 +02:00
CrazyMax 5497b8b59c update yarn to 4.9.2
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2025-09-13 13:25:31 +02:00
CrazyMax 2d98472de9 Merge pull request #888 from crazy-max/update-dev
update dev dependencies
2025-09-13 13:22:10 +02:00
CrazyMax 3c28a369b4 chore: update generated content
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2025-09-13 13:19:28 +02:00
CrazyMax 072e0d514c update dev dependencies
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2025-09-13 13:19:16 +02:00
Tõnis Tiigi 65c0768122 Merge pull request #887 from docker/multi-login
raw authentication to registries
2025-09-12 10:09:37 -07:00
CrazyMax 3d793fe111 chore: update generated content
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2025-09-12 18:17:17 +02:00
CrazyMax 9fc23e88e3 raw authentication to registries
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2025-09-12 18:16:00 +02:00
CrazyMax bdf14dc173 Merge pull request #884 from docker/dependabot/github_actions/actions/checkout-5
build(deps): bump actions/checkout from 4 to 5
2025-09-08 16:20:39 +02:00
CrazyMax 21ddfdf39a Merge pull request #886 from docker/dependabot/github_actions/aws-actions/configure-aws-credentials-5
build(deps): bump aws-actions/configure-aws-credentials from 4 to 5
2025-09-08 16:20:21 +02:00
dependabot[bot] d5f9e03fca build(deps): bump aws-actions/configure-aws-credentials from 4 to 5
Bumps [aws-actions/configure-aws-credentials](https://github.com/aws-actions/configure-aws-credentials) from 4 to 5.
- [Release notes](https://github.com/aws-actions/configure-aws-credentials/releases)
- [Changelog](https://github.com/aws-actions/configure-aws-credentials/blob/main/CHANGELOG.md)
- [Commits](https://github.com/aws-actions/configure-aws-credentials/compare/v4...v5)

---
updated-dependencies:
- dependency-name: aws-actions/configure-aws-credentials
  dependency-version: '5'
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-09-04 11:17:32 +00:00
dependabot[bot] 9b3389107c build(deps): bump actions/checkout from 4 to 5
Bumps [actions/checkout](https://github.com/actions/checkout) from 4 to 5.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](https://github.com/actions/checkout/compare/v4...v5)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-version: '5'
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-08-12 14:16:25 +00:00
CrazyMax 184bdaa072 Merge pull request #878 from docker/dependabot/npm_and_yarn/aws-sdk-dependencies-344ecd0453
build(deps): bump the aws-sdk-dependencies group with 2 updates
2025-08-04 15:27:32 +02:00
CrazyMax 5c6bc94683 chore: update generated content
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2025-08-04 15:00:00 +02:00
dependabot[bot] caf4058643 build(deps): bump the aws-sdk-dependencies group with 2 updates
Bumps the aws-sdk-dependencies group with 2 updates: [@aws-sdk/client-ecr](https://github.com/aws/aws-sdk-js-v3/tree/HEAD/clients/client-ecr) and [@aws-sdk/client-ecr-public](https://github.com/aws/aws-sdk-js-v3/tree/HEAD/clients/client-ecr-public).


Updates `@aws-sdk/client-ecr` from 3.858.0 to 3.859.0
- [Release notes](https://github.com/aws/aws-sdk-js-v3/releases)
- [Changelog](https://github.com/aws/aws-sdk-js-v3/blob/main/clients/client-ecr/CHANGELOG.md)
- [Commits](https://github.com/aws/aws-sdk-js-v3/commits/v3.859.0/clients/client-ecr)

Updates `@aws-sdk/client-ecr-public` from 3.858.0 to 3.859.0
- [Release notes](https://github.com/aws/aws-sdk-js-v3/releases)
- [Changelog](https://github.com/aws/aws-sdk-js-v3/blob/main/clients/client-ecr-public/CHANGELOG.md)
- [Commits](https://github.com/aws/aws-sdk-js-v3/commits/v3.859.0/clients/client-ecr-public)

---
updated-dependencies:
- dependency-name: "@aws-sdk/client-ecr"
  dependency-version: 3.859.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: aws-sdk-dependencies
- dependency-name: "@aws-sdk/client-ecr-public"
  dependency-version: 3.859.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: aws-sdk-dependencies
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-08-04 06:56:58 +00:00
CrazyMax ef38ec311a Merge pull request #860 from docker/dependabot/npm_and_yarn/aws-sdk-dependencies-1489289360
build(deps): bump the aws-sdk-dependencies group with 2 updates
2025-08-01 15:23:40 +02:00
CrazyMax d52e8ef81c chore: update generated content
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2025-08-01 15:19:01 +02:00
dependabot[bot] 9644ab7025 build(deps): bump the aws-sdk-dependencies group with 2 updates
Bumps the aws-sdk-dependencies group with 2 updates: [@aws-sdk/client-ecr](https://github.com/aws/aws-sdk-js-v3/tree/HEAD/clients/client-ecr) and [@aws-sdk/client-ecr-public](https://github.com/aws/aws-sdk-js-v3/tree/HEAD/clients/client-ecr-public).


Updates `@aws-sdk/client-ecr` from 3.766.0 to 3.772.0
- [Release notes](https://github.com/aws/aws-sdk-js-v3/releases)
- [Changelog](https://github.com/aws/aws-sdk-js-v3/blob/main/clients/client-ecr/CHANGELOG.md)
- [Commits](https://github.com/aws/aws-sdk-js-v3/commits/v3.772.0/clients/client-ecr)

Updates `@aws-sdk/client-ecr-public` from 3.758.0 to 3.772.0
- [Release notes](https://github.com/aws/aws-sdk-js-v3/releases)
- [Changelog](https://github.com/aws/aws-sdk-js-v3/blob/main/clients/client-ecr-public/CHANGELOG.md)
- [Commits](https://github.com/aws/aws-sdk-js-v3/commits/v3.772.0/clients/client-ecr-public)

---
updated-dependencies:
- dependency-name: "@aws-sdk/client-ecr"
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: aws-sdk-dependencies
- dependency-name: "@aws-sdk/client-ecr-public"
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: aws-sdk-dependencies
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-08-01 13:15:33 +00:00
CrazyMax 7abd1d5126 Merge pull request #875 from docker/dependabot/npm_and_yarn/form-data-2.5.5
build(deps): bump form-data from 2.5.1 to 2.5.5
2025-08-01 15:12:33 +02:00
CrazyMax 1a81202c4f Merge pull request #876 from crazy-max/aws-public-dual-stack
support dual-stack for aws public ecr
2025-08-01 15:12:06 +02:00
CrazyMax d1ab30dc54 chore: update generated content
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2025-08-01 14:28:47 +02:00
CrazyMax f25ff28d1c support dual-stack for aws public ecr
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2025-08-01 14:27:31 +02:00
CrazyMax e0c62a93a1 Merge pull request #874 from Spacefish/support-new-aws-ecr-endpoint
Support new <registry-id>.dkr-ecr.<aws-region>.on.aws endpoint
2025-08-01 14:22:06 +02:00
dependabot[bot] 34f6d346b5 build(deps): bump form-data from 2.5.1 to 2.5.5
---
updated-dependencies:
- dependency-name: form-data
  dependency-version: 2.5.5
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-07-21 23:10:27 +00:00
Timo Witte a547b56e5b docker build artefacts
Signed-off-by: Timo Witte <timo_witte@agilent.com>
2025-07-21 18:57:22 +02:00
Timo Witte b7f56fce8a support new <registry-id>.dkr-ecr.<aws-region>.on.aws endpoints
Signed-off-by: Timo Witte <timo_witte@agilent.com>
2025-07-21 18:43:51 +02:00
CrazyMax 3d100841f6 Merge pull request #870 from docker/dependabot/npm_and_yarn/docker/actions-toolkit-0.62.1
build(deps): bump @docker/actions-toolkit from 0.57.0 to 0.62.1
2025-06-13 14:50:28 +02:00
CrazyMax 5713f8474e chore: update generated content
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2025-06-13 14:48:11 +02:00
dependabot[bot] 0a8c41d6e2 build(deps): bump @docker/actions-toolkit from 0.57.0 to 0.62.1
Bumps [@docker/actions-toolkit](https://github.com/docker/actions-toolkit) from 0.57.0 to 0.62.1.
- [Release notes](https://github.com/docker/actions-toolkit/releases)
- [Commits](https://github.com/docker/actions-toolkit/compare/v0.57.0...v0.62.1)

---
updated-dependencies:
- dependency-name: "@docker/actions-toolkit"
  dependency-version: 0.62.1
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-05-28 05:07:35 +00:00
CrazyMax 6d4b68b490 Merge pull request #865 from crazy-max/pr-assign-author
pr-assign-author workflow
2025-04-23 16:09:02 +02:00
CrazyMax b7f1bbcce7 pr-assign-author workflow
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2025-04-23 14:16:29 +02:00
CrazyMax abd3abc99c Merge pull request #864 from crazy-max/fix-codecov
ci: fix missing source for codecov
2025-04-22 14:35:11 +02:00
CrazyMax ac38c32963 ci: fix missing source for codecov
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2025-04-22 14:32:08 +02:00
CrazyMax 74a5d14239 Merge pull request #856 from docker/dependabot/npm_and_yarn/aws-sdk-dependencies-a0433587d4
build(deps): bump the aws-sdk-dependencies group across 1 directory with 2 updates
2025-03-14 10:42:52 +01:00
CrazyMax 2f4f00e4c6 chore: update generated content
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2025-03-14 10:31:40 +01:00
dependabot[bot] 67c184546c build(deps): bump the aws-sdk-dependencies group across 1 directory with 2 updates
Bumps the aws-sdk-dependencies group with 2 updates in the / directory: [@aws-sdk/client-ecr](https://github.com/aws/aws-sdk-js-v3/tree/HEAD/clients/client-ecr) and [@aws-sdk/client-ecr-public](https://github.com/aws/aws-sdk-js-v3/tree/HEAD/clients/client-ecr-public).


Updates `@aws-sdk/client-ecr` from 3.664.0 to 3.758.0
- [Release notes](https://github.com/aws/aws-sdk-js-v3/releases)
- [Changelog](https://github.com/aws/aws-sdk-js-v3/blob/main/clients/client-ecr/CHANGELOG.md)
- [Commits](https://github.com/aws/aws-sdk-js-v3/commits/v3.758.0/clients/client-ecr)

Updates `@aws-sdk/client-ecr-public` from 3.664.0 to 3.758.0
- [Release notes](https://github.com/aws/aws-sdk-js-v3/releases)
- [Changelog](https://github.com/aws/aws-sdk-js-v3/blob/main/clients/client-ecr-public/CHANGELOG.md)
- [Commits](https://github.com/aws/aws-sdk-js-v3/commits/v3.758.0/clients/client-ecr-public)

---
updated-dependencies:
- dependency-name: "@aws-sdk/client-ecr"
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: aws-sdk-dependencies
- dependency-name: "@aws-sdk/client-ecr-public"
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: aws-sdk-dependencies
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-03-14 09:20:42 +00:00
CrazyMax 3d4cc89e85 Merge pull request #844 from graysonpike/master
Fix link to AWS ECR PowerUser IAM documentation
2025-03-14 10:18:27 +01:00
CrazyMax 6cc823a6c4 Merge pull request #823 from docker/dependabot/npm_and_yarn/proxy-agent-dependencies-c793d21dd6
build(deps): bump https-proxy-agent from 7.0.5 to 7.0.6 in the proxy-agent-dependencies group
2025-03-14 10:17:41 +01:00
CrazyMax d94e792124 chore: update generated content
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2025-03-14 10:15:25 +01:00
CrazyMax 033db0da30 Merge pull request #812 from docker/dependabot/github_actions/codecov/codecov-action-5
build(deps): bump codecov/codecov-action from 4 to 5
2025-03-14 10:13:32 +01:00
dependabot[bot] 09c2ae9716 build(deps): bump https-proxy-agent
Bumps the proxy-agent-dependencies group with 1 update: [https-proxy-agent](https://github.com/TooTallNate/proxy-agents/tree/HEAD/packages/https-proxy-agent).


Updates `https-proxy-agent` from 7.0.5 to 7.0.6
- [Release notes](https://github.com/TooTallNate/proxy-agents/releases)
- [Changelog](https://github.com/TooTallNate/proxy-agents/blob/main/packages/https-proxy-agent/CHANGELOG.md)
- [Commits](https://github.com/TooTallNate/proxy-agents/commits/https-proxy-agent@7.0.6/packages/https-proxy-agent)

---
updated-dependencies:
- dependency-name: https-proxy-agent
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: proxy-agent-dependencies
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-03-14 08:58:24 +00:00
CrazyMax ba56f006fc ci: update deprecated input for codecov-action
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2025-03-14 09:57:39 +01:00
CrazyMax 75bf9a79af Merge pull request #858 from docker/dependabot/npm_and_yarn/docker/actions-toolkit-0.57.0
build(deps): bump @docker/actions-toolkit from 0.42.0 to 0.57.0
2025-03-14 09:56:12 +01:00
CrazyMax ed2698b25f chore: update generated content
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2025-03-14 09:53:51 +01:00
CrazyMax 52ad1d2e01 Merge pull request #814 from docker/dependabot/npm_and_yarn/cross-spawn-7.0.6
build(deps): bump cross-spawn from 7.0.3 to 7.0.6
2025-03-14 09:48:59 +01:00
dependabot[bot] f18ea97ee4 build(deps): bump @docker/actions-toolkit from 0.42.0 to 0.57.0
Bumps [@docker/actions-toolkit](https://github.com/docker/actions-toolkit) from 0.42.0 to 0.57.0.
- [Release notes](https://github.com/docker/actions-toolkit/releases)
- [Commits](https://github.com/docker/actions-toolkit/compare/v0.42.0...v0.57.0)

---
updated-dependencies:
- dependency-name: "@docker/actions-toolkit"
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-03-12 05:57:14 +00:00
Grayson Pike 07d7ee0dc6 Fix link to AWS ECR PowerUser IAM documentation
Signed-off-by: Grayson Pike <graysonpike@gmail.com>
2025-01-18 21:52:44 -08:00
CrazyMax 327cd5a69d Merge pull request #838 from crazy-max/bake-v6
update bake-action to v6
2025-01-08 18:54:29 +01:00
CrazyMax e217ef3a2d update bake-action to v6
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2025-01-08 12:58:36 +01:00
dependabot[bot] 407f438d11 build(deps): bump cross-spawn from 7.0.3 to 7.0.6
Bumps [cross-spawn](https://github.com/moxystudio/node-cross-spawn) from 7.0.3 to 7.0.6.
- [Changelog](https://github.com/moxystudio/node-cross-spawn/blob/master/CHANGELOG.md)
- [Commits](https://github.com/moxystudio/node-cross-spawn/compare/v7.0.3...v7.0.6)

---
updated-dependencies:
- dependency-name: cross-spawn
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-11-18 22:59:31 +00:00
dependabot[bot] 28e19ee314 build(deps): bump codecov/codecov-action from 4 to 5
Bumps [codecov/codecov-action](https://github.com/codecov/codecov-action) from 4 to 5.
- [Release notes](https://github.com/codecov/codecov-action/releases)
- [Changelog](https://github.com/codecov/codecov-action/blob/main/CHANGELOG.md)
- [Commits](https://github.com/codecov/codecov-action/compare/v4...v5)

---
updated-dependencies:
- dependency-name: codecov/codecov-action
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-11-15 05:13:15 +00:00
CrazyMax 7ca345011a Merge pull request #806 from docker/dependabot/npm_and_yarn/docker/actions-toolkit-0.42.0
build(deps): bump @docker/actions-toolkit from 0.40.0 to 0.42.0
2024-11-06 11:09:37 +01:00
dependabot[bot] 02b671aa02 build(deps): bump @docker/actions-toolkit from 0.40.0 to 0.42.0
Bumps [@docker/actions-toolkit](https://github.com/docker/actions-toolkit) from 0.40.0 to 0.42.0.
- [Release notes](https://github.com/docker/actions-toolkit/releases)
- [Commits](https://github.com/docker/actions-toolkit/compare/v0.40.0...v0.42.0)

---
updated-dependencies:
- dependency-name: "@docker/actions-toolkit"
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-10-31 05:38:21 +00:00
CrazyMax 06895751d1 Merge pull request #800 from crazy-max/publish-immutable-action
ci: publish as immutable action workflow
2024-10-26 00:40:31 +02:00
CrazyMax 02c9ff3be2 ci: publish as immutable action workflow
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2024-10-25 13:12:23 +02:00
CrazyMax 5d8785b43a Merge pull request #801 from docker/dependabot/npm_and_yarn/docker/actions-toolkit-0.40.0
build(deps): bump @docker/actions-toolkit from 0.35.0 to 0.40.0
2024-10-24 16:02:50 +02:00
CrazyMax 7a65d3de5d chore: update generated content
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2024-10-24 16:00:49 +02:00
dependabot[bot] bd2f40996a build(deps): bump @docker/actions-toolkit from 0.35.0 to 0.40.0
Bumps [@docker/actions-toolkit](https://github.com/docker/actions-toolkit) from 0.35.0 to 0.40.0.
- [Release notes](https://github.com/docker/actions-toolkit/releases)
- [Commits](https://github.com/docker/actions-toolkit/compare/v0.35.0...v0.40.0)

---
updated-dependencies:
- dependency-name: "@docker/actions-toolkit"
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-10-24 13:52:56 +00:00
CrazyMax 9fd0581bf0 Merge pull request #791 from docker/dependabot/npm_and_yarn/actions/core-1.11.1
build(deps): bump @actions/core from 1.10.1 to 1.11.1
2024-10-24 15:51:35 +02:00
CrazyMax eefb7e8744 chore: update generated content
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2024-10-24 13:55:44 +02:00
dependabot[bot] cb13d66af0 build(deps): bump @actions/core from 1.10.1 to 1.11.1
Bumps [@actions/core](https://github.com/actions/toolkit/tree/HEAD/packages/core) from 1.10.1 to 1.11.1.
- [Changelog](https://github.com/actions/toolkit/blob/main/packages/core/RELEASES.md)
- [Commits](https://github.com/actions/toolkit/commits/HEAD/packages/core)

---
updated-dependencies:
- dependency-name: "@actions/core"
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-10-07 05:23:26 +00:00
CrazyMax 1f36f5b7a2 Merge pull request #789 from docker/dependabot/npm_and_yarn/aws-sdk-dependencies-6be6d766e7
build(deps): bump the aws-sdk-dependencies group across 1 directory with 2 updates
2024-10-04 12:18:45 +02:00
CrazyMax bcb47c2c49 chore: update generated content
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2024-10-04 12:16:17 +02:00
dependabot[bot] 8165a5b270 build(deps): bump the aws-sdk-dependencies group across 1 directory with 2 updates
Bumps the aws-sdk-dependencies group with 2 updates in the / directory: [@aws-sdk/client-ecr](https://github.com/aws/aws-sdk-js-v3/tree/HEAD/clients/client-ecr) and [@aws-sdk/client-ecr-public](https://github.com/aws/aws-sdk-js-v3/tree/HEAD/clients/client-ecr-public).


Updates `@aws-sdk/client-ecr` from 3.583.0 to 3.664.0
- [Release notes](https://github.com/aws/aws-sdk-js-v3/releases)
- [Changelog](https://github.com/aws/aws-sdk-js-v3/blob/main/clients/client-ecr/CHANGELOG.md)
- [Commits](https://github.com/aws/aws-sdk-js-v3/commits/v3.664.0/clients/client-ecr)

Updates `@aws-sdk/client-ecr-public` from 3.583.0 to 3.664.0
- [Release notes](https://github.com/aws/aws-sdk-js-v3/releases)
- [Changelog](https://github.com/aws/aws-sdk-js-v3/blob/main/clients/client-ecr-public/CHANGELOG.md)
- [Commits](https://github.com/aws/aws-sdk-js-v3/commits/v3.664.0/clients/client-ecr-public)

---
updated-dependencies:
- dependency-name: "@aws-sdk/client-ecr"
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: aws-sdk-dependencies
- dependency-name: "@aws-sdk/client-ecr-public"
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: aws-sdk-dependencies
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-10-04 05:07:07 +00:00
CrazyMax 29df2a9f8c Merge pull request #787 from docker/fix-readme-examples
README: fix gcr example, use vars for usernames
2024-10-02 14:33:21 +02:00
David Karlsson 2b0e0e02ba docs: use vars for usernames, not secrets
Using vars for insensitive data is preferred since secrets are redacted from e.g. build summary

Signed-off-by: David Karlsson <35727626+dvdksn@users.noreply.github.com>
2024-10-02 14:29:58 +02:00
David Karlsson fe7fd06c5d docs: gcr does not support base64-encoded keys
Signed-off-by: David Karlsson <35727626+dvdksn@users.noreply.github.com>
2024-10-02 14:15:12 +02:00
CrazyMax 3b8fed7e4b Merge pull request #777 from docker/dependabot/npm_and_yarn/path-to-regexp-6.3.0
build(deps): bump path-to-regexp from 6.2.2 to 6.3.0
2024-09-12 22:41:05 +02:00
dependabot[bot] 90de1764cc build(deps): bump path-to-regexp from 6.2.2 to 6.3.0
Bumps [path-to-regexp](https://github.com/pillarjs/path-to-regexp) from 6.2.2 to 6.3.0.
- [Release notes](https://github.com/pillarjs/path-to-regexp/releases)
- [Changelog](https://github.com/pillarjs/path-to-regexp/blob/master/History.md)
- [Commits](https://github.com/pillarjs/path-to-regexp/compare/v6.2.2...v6.3.0)

---
updated-dependencies:
- dependency-name: path-to-regexp
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-09-12 19:23:05 +00:00
CrazyMax 9780b0c442 Merge pull request #741 from docker/dependabot/npm_and_yarn/proxy-agent-dependencies-5b28f82f41
build(deps): bump https-proxy-agent from 7.0.4 to 7.0.5 in the proxy-agent-dependencies group
2024-07-22 11:02:48 +02:00
CrazyMax 2fa130caf4 chore: update generated content
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2024-07-22 10:50:00 +02:00
dependabot[bot] 5e87b2aca7 build(deps): bump https-proxy-agent
Bumps the proxy-agent-dependencies group with 1 update: [https-proxy-agent](https://github.com/TooTallNate/proxy-agents/tree/HEAD/packages/https-proxy-agent).


Updates `https-proxy-agent` from 7.0.4 to 7.0.5
- [Release notes](https://github.com/TooTallNate/proxy-agents/releases)
- [Changelog](https://github.com/TooTallNate/proxy-agents/blob/main/packages/https-proxy-agent/CHANGELOG.md)
- [Commits](https://github.com/TooTallNate/proxy-agents/commits/https-proxy-agent@7.0.5/packages/https-proxy-agent)

---
updated-dependencies:
- dependency-name: https-proxy-agent
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: proxy-agent-dependencies
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-07-22 08:47:20 +00:00
CrazyMax e0394952ce Merge pull request #754 from docker/dependabot/npm_and_yarn/docker/actions-toolkit-0.35.0
build(deps): bump @docker/actions-toolkit from 0.24.0 to 0.35.0
2024-07-22 10:45:24 +02:00
CrazyMax 9af18aa7d8 chore: update generated content
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2024-07-22 10:42:55 +02:00
CrazyMax 668190adc5 switch to Docker exec
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2024-07-22 10:41:37 +02:00
dependabot[bot] be5150d9fe build(deps): bump @docker/actions-toolkit from 0.24.0 to 0.35.0
Bumps [@docker/actions-toolkit](https://github.com/docker/actions-toolkit) from 0.24.0 to 0.35.0.
- [Release notes](https://github.com/docker/actions-toolkit/releases)
- [Commits](https://github.com/docker/actions-toolkit/compare/v0.24.0...v0.35.0)

---
updated-dependencies:
- dependency-name: "@docker/actions-toolkit"
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-07-22 08:28:38 +00:00
CrazyMax e80ebcad71 Merge pull request #730 from docker/dependabot/npm_and_yarn/braces-3.0.3
build(deps): bump braces from 3.0.2 to 3.0.3
2024-07-22 09:38:11 +02:00
CrazyMax 75ee3eaf53 Merge pull request #733 from docker/dependabot/github_actions/docker/bake-action-5
build(deps): bump docker/bake-action from 4 to 5
2024-07-22 09:37:47 +02:00
dependabot[bot] 793c19c8fc build(deps): bump docker/bake-action from 4 to 5
Bumps [docker/bake-action](https://github.com/docker/bake-action) from 4 to 5.
- [Release notes](https://github.com/docker/bake-action/releases)
- [Commits](https://github.com/docker/bake-action/compare/v4...v5)

---
updated-dependencies:
- dependency-name: docker/bake-action
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-06-18 05:46:15 +00:00
dependabot[bot] 30f019fb76 build(deps): bump braces from 3.0.2 to 3.0.3
Bumps [braces](https://github.com/micromatch/braces) from 3.0.2 to 3.0.3.
- [Changelog](https://github.com/micromatch/braces/blob/master/CHANGELOG.md)
- [Commits](https://github.com/micromatch/braces/compare/3.0.2...3.0.3)

---
updated-dependencies:
- dependency-name: braces
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-06-16 13:33:55 +00:00
CrazyMax 0d4c9c5ea7 Merge pull request #722 from crazy-max/update-readme
add contributing section to README
2024-05-28 10:04:15 +02:00
CrazyMax b29e14f6a9 add contributing section to README
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2024-05-28 10:01:29 +02:00
CrazyMax 218a70c516 Merge pull request #721 from docker/dependabot/npm_and_yarn/docker/actions-toolkit-0.24.0
build(deps): bump @docker/actions-toolkit from 0.23.0 to 0.24.0
2024-05-28 09:49:36 +02:00
dependabot[bot] b8200806cf build(deps): bump @docker/actions-toolkit from 0.23.0 to 0.24.0
Bumps [@docker/actions-toolkit](https://github.com/docker/actions-toolkit) from 0.23.0 to 0.24.0.
- [Release notes](https://github.com/docker/actions-toolkit/releases)
- [Commits](https://github.com/docker/actions-toolkit/compare/v0.23.0...v0.24.0)

---
updated-dependencies:
- dependency-name: "@docker/actions-toolkit"
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-05-28 07:44:45 +00:00
CrazyMax 27530a9fbb Merge pull request #720 from docker/dependabot/npm_and_yarn/aws-sdk-dependencies-9167f00d34
build(deps): bump the aws-sdk-dependencies group across 1 directory with 2 updates
2024-05-28 09:43:13 +02:00
CrazyMax d072a60421 chore: update generated content
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2024-05-28 09:41:15 +02:00
dependabot[bot] 7c627b5124 build(deps): bump the aws-sdk-dependencies group across 1 directory with 2 updates
Bumps the aws-sdk-dependencies group with 2 updates in the / directory: [@aws-sdk/client-ecr](https://github.com/aws/aws-sdk-js-v3/tree/HEAD/clients/client-ecr) and [@aws-sdk/client-ecr-public](https://github.com/aws/aws-sdk-js-v3/tree/HEAD/clients/client-ecr-public).


Updates `@aws-sdk/client-ecr` from 3.529.1 to 3.583.0
- [Release notes](https://github.com/aws/aws-sdk-js-v3/releases)
- [Changelog](https://github.com/aws/aws-sdk-js-v3/blob/main/clients/client-ecr/CHANGELOG.md)
- [Commits](https://github.com/aws/aws-sdk-js-v3/commits/v3.583.0/clients/client-ecr)

Updates `@aws-sdk/client-ecr-public` from 3.529.1 to 3.583.0
- [Release notes](https://github.com/aws/aws-sdk-js-v3/releases)
- [Changelog](https://github.com/aws/aws-sdk-js-v3/blob/main/clients/client-ecr-public/CHANGELOG.md)
- [Commits](https://github.com/aws/aws-sdk-js-v3/commits/v3.583.0/clients/client-ecr-public)

---
updated-dependencies:
- dependency-name: "@aws-sdk/client-ecr"
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: aws-sdk-dependencies
- dependency-name: "@aws-sdk/client-ecr-public"
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: aws-sdk-dependencies
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-05-28 07:38:24 +00:00
CrazyMax 787cfc6623 Merge pull request #694 from docker/dependabot/npm_and_yarn/undici-5.28.4
build(deps): bump undici from 5.28.3 to 5.28.4
2024-05-28 09:35:01 +02:00
CrazyMax 8e66e916f8 chore: update generated content
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2024-05-28 09:32:37 +02:00
dependabot[bot] 5ba5e97350 build(deps): bump undici from 5.28.3 to 5.28.4
Bumps [undici](https://github.com/nodejs/undici) from 5.28.3 to 5.28.4.
- [Release notes](https://github.com/nodejs/undici/releases)
- [Commits](https://github.com/nodejs/undici/compare/v5.28.3...v5.28.4)

---
updated-dependencies:
- dependency-name: undici
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-05-27 11:44:31 +00:00
CrazyMax db77945884 Merge pull request #706 from Frankkkkk/patch-1
docker auth: improve missing user/pwd
2024-05-27 13:16:18 +02:00
Frank Villaro-Dixon bfd28af29d docker auth: improve missing user/pwd
Specify the "missing username and password" error message. This makes debugging the action easier when for example mistyping the username or the password.

Signed-off-by: Frank Villaro-Dixon <frank@vi-di.fr>
Signed-off-by: Frank Villaro-Dixon <frank@villaro-dixon.eu>
2024-05-16 07:56:43 +00:00
CrazyMax 70fccc794a Merge pull request #716 from crazy-max/update-dev-deps
chore: update dev dependencies
2024-05-15 13:58:02 +02:00
CrazyMax d5eb4a7b25 chore: update generated content
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2024-05-15 13:54:37 +02:00
CrazyMax d9ec9539b3 chore: update dev dependencies
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2024-05-15 13:53:08 +02:00
CrazyMax 406e1d7119 Merge pull request #715 from docker/dependabot/npm_and_yarn/docker/actions-toolkit-0.23.0
build(deps): bump @docker/actions-toolkit from 0.18.0 to 0.23.0
2024-05-15 12:18:22 +02:00
CrazyMax 834ded21d8 chore: update generated content
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2024-05-15 12:13:20 +02:00
dependabot[bot] c7cb6a492e build(deps): bump @docker/actions-toolkit from 0.18.0 to 0.23.0
Bumps [@docker/actions-toolkit](https://github.com/docker/actions-toolkit) from 0.18.0 to 0.23.0.
- [Release notes](https://github.com/docker/actions-toolkit/releases)
- [Commits](https://github.com/docker/actions-toolkit/compare/v0.18.0...v0.23.0)

---
updated-dependencies:
- dependency-name: "@docker/actions-toolkit"
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-05-15 05:43:18 +00:00
CrazyMax 7840e6ddd4 Merge pull request #693 from dsotirakis/patch-1
Fixes in README.md file around GAR authentication
2024-05-08 16:58:44 +02:00
CrazyMax d910b14072 Merge pull request #710 from crazy-max/update-yarn
update to yarn 3.6.3
2024-05-07 10:20:02 +02:00
CrazyMax 7c17210d47 chore: add plugin-interactive-tools yarn pkg
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2024-05-07 10:10:38 +02:00
CrazyMax 117949aa8e update to yarn 3.6.3
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2024-05-07 10:10:12 +02:00
Dimitris Sotirakis 225e47902b Update README.md
Fixes a few issues in the login-action README.md file

Signed-off-by: Dimitris Sotirakis <sotirakis.dim@gmail.com>
2024-04-04 18:17:07 +03:00
CrazyMax 5f4866a30a Merge pull request #691 from JohnGUnderwood/master
Update README.md with Digital Ocean example
2024-03-27 23:04:36 +01:00
John Underwood 28283a6966 Update README.md with Digital Ocean example
Signed-off-by: John Underwood <4124456+JohnGUnderwood@users.noreply.github.com>

Update README.md with formatting fix

Signed-off-by: John Underwood <4124456+JohnGUnderwood@users.noreply.github.com>
2024-03-27 21:53:07 +00:00
28 changed files with 12654 additions and 6069 deletions

No files matched your search

+11 -1
View File
@@ -1,2 +1,12 @@
/coverage
/node_modules
# Dependency directories
node_modules/
jspm_packages/
# yarn v2
.yarn/cache
.yarn/unplugged
.yarn/build-state.yml
.yarn/install-state.gz
.pnp.*
+2
View File
@@ -1,2 +1,4 @@
/.yarn/releases/** binary
/.yarn/plugins/** binary
/dist/** linguist-generated=true
/lib/** linguist-generated=true
+85 -15
View File
@@ -19,7 +19,7 @@ jobs:
steps:
-
name: Checkout
uses: actions/checkout@v4
uses: actions/checkout@v5
-
name: Stop docker
run: |
@@ -43,7 +43,7 @@ jobs:
steps:
-
name: Checkout
uses: actions/checkout@v4
uses: actions/checkout@v5
-
name: Login to GitHub Container Registry
uses: ./
@@ -60,7 +60,7 @@ jobs:
steps:
-
name: Checkout
uses: actions/checkout@v4
uses: actions/checkout@v5
-
name: Login to GitHub Container Registry
uses: ./
@@ -85,7 +85,7 @@ jobs:
steps:
-
name: Checkout
uses: actions/checkout@v4
uses: actions/checkout@v5
-
name: Login to ACR
uses: ./
@@ -105,7 +105,7 @@ jobs:
steps:
-
name: Checkout
uses: actions/checkout@v4
uses: actions/checkout@v5
-
name: Login to Docker Hub
uses: ./
@@ -124,7 +124,7 @@ jobs:
steps:
-
name: Checkout
uses: actions/checkout@v4
uses: actions/checkout@v5
-
name: Login to ECR
uses: ./
@@ -144,10 +144,10 @@ jobs:
steps:
-
name: Checkout
uses: actions/checkout@v4
uses: actions/checkout@v5
-
name: Configure AWS Credentials
uses: aws-actions/configure-aws-credentials@v4
uses: aws-actions/configure-aws-credentials@v5
with:
aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }}
aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
@@ -169,7 +169,7 @@ jobs:
steps:
-
name: Checkout
uses: actions/checkout@v4
uses: actions/checkout@v5
-
name: Login to Public ECR
continue-on-error: ${{ matrix.os == 'windows-latest' }}
@@ -192,10 +192,10 @@ jobs:
steps:
-
name: Checkout
uses: actions/checkout@v4
uses: actions/checkout@v5
-
name: Configure AWS Credentials
uses: aws-actions/configure-aws-credentials@v4
uses: aws-actions/configure-aws-credentials@v5
with:
aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }}
aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
@@ -218,7 +218,7 @@ jobs:
steps:
-
name: Checkout
uses: actions/checkout@v4
uses: actions/checkout@v5
-
name: Login to GitHub Container Registry
uses: ./
@@ -238,7 +238,7 @@ jobs:
steps:
-
name: Checkout
uses: actions/checkout@v4
uses: actions/checkout@v5
-
name: Login to GitLab
uses: ./
@@ -258,7 +258,7 @@ jobs:
steps:
-
name: Checkout
uses: actions/checkout@v4
uses: actions/checkout@v5
-
name: Login to Google Artifact Registry
uses: ./
@@ -278,7 +278,7 @@ jobs:
steps:
-
name: Checkout
uses: actions/checkout@v4
uses: actions/checkout@v5
-
name: Login to Google Container Registry
uses: ./
@@ -286,3 +286,73 @@ jobs:
registry: gcr.io
username: _json_key
password: ${{ secrets.GCR_JSON_KEY }}
registry-auth:
runs-on: ubuntu-latest
steps:
-
name: Checkout
uses: actions/checkout@v5
-
name: Login to registries
uses: ./
with:
registry-auth: |
- username: ${{ secrets.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_TOKEN }}
- registry: ghcr.io
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}
- registry: public.ecr.aws
username: ${{ secrets.AWS_ACCESS_KEY_ID }}
password: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
- registry: registry.gitlab.com
username: ${{ secrets.GITLAB_USERNAME }}
password: ${{ secrets.GITLAB_TOKEN }}
registry-auth-dup:
runs-on: ubuntu-latest
steps:
-
name: Checkout
uses: actions/checkout@v5
-
name: Login to registries
uses: ./
with:
registry-auth: |
- registry: ghcr.io
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}
- registry: public.ecr.aws
username: ${{ secrets.AWS_ACCESS_KEY_ID }}
password: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
- registry: ghcr.io
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}
registry-auth-exclusive:
runs-on: ubuntu-latest
steps:
-
name: Checkout
uses: actions/checkout@v5
-
name: Login to registries
id: login
continue-on-error: true
uses: ./
with:
registry: ghcr.io
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}
registry-auth: |
- username: ${{ secrets.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_TOKEN }}
-
name: Check
run: |
if [ "${{ steps.login.outcome }}" != "failure" ] || [ "${{ steps.login.conclusion }}" != "success" ]; then
echo "::error::Should have failed"
exit 1
fi
+1 -1
View File
@@ -31,7 +31,7 @@ jobs:
steps:
-
name: Checkout
uses: actions/checkout@v4
uses: actions/checkout@v5
-
name: Initialize CodeQL
uses: github/codeql-action/init@v3
+17
View File
@@ -0,0 +1,17 @@
name: pr-assign-author
permissions:
contents: read
on:
pull_request_target:
types:
- opened
- reopened
jobs:
run:
uses: crazy-max/.github/.github/workflows/pr-assign-author.yml@1b673f36fad86812f538c1df9794904038a23cbf
permissions:
contents: read
pull-requests: write
+21
View File
@@ -0,0 +1,21 @@
name: publish
on:
release:
types:
- published
jobs:
publish:
runs-on: ubuntu-latest
permissions:
contents: read
id-token: write
packages: write
steps:
-
name: Checkout
uses: actions/checkout@v5
-
name: Publish
uses: actions/publish-immutable-action@v0.0.4
+5 -4
View File
@@ -17,15 +17,16 @@ jobs:
steps:
-
name: Checkout
uses: actions/checkout@v4
uses: actions/checkout@v5
-
name: Test
uses: docker/bake-action@v4
uses: docker/bake-action@v6
with:
source: .
targets: test
-
name: Upload coverage
uses: codecov/codecov-action@v4
uses: codecov/codecov-action@v5
with:
file: ./coverage/clover.xml
files: ./coverage/clover.xml
token: ${{ secrets.CODECOV_TOKEN }}
+8 -10
View File
@@ -15,16 +15,17 @@ jobs:
prepare:
runs-on: ubuntu-latest
outputs:
targets: ${{ steps.targets.outputs.matrix }}
targets: ${{ steps.generate.outputs.targets }}
steps:
-
name: Checkout
uses: actions/checkout@v4
uses: actions/checkout@v5
-
name: Targets matrix
id: targets
run: |
echo "matrix=$(docker buildx bake validate --print | jq -cr '.group.validate.targets')" >> $GITHUB_OUTPUT
name: List targets
id: generate
uses: docker/bake-action/subaction/list-targets@v6
with:
target: validate
validate:
runs-on: ubuntu-latest
@@ -35,11 +36,8 @@ jobs:
matrix:
target: ${{ fromJson(needs.prepare.outputs.targets) }}
steps:
-
name: Checkout
uses: actions/checkout@v4
-
name: Validate
uses: docker/bake-action@v4
uses: docker/bake-action@v6
with:
targets: ${{ matrix.target }}
+14 -52
View File
@@ -1,7 +1,5 @@
node_modules/
lib
# https://raw.githubusercontent.com/github/gitignore/main/Node.gitignore
# Rest of the file pulled from https://github.com/github/gitignore/blob/master/Node.gitignore
# Logs
logs
*.log
@@ -9,6 +7,7 @@ npm-debug.log*
yarn-debug.log*
yarn-error.log*
lerna-debug.log*
.pnpm-debug.log*
# Diagnostic reports (https://nodejs.org/api/report.html)
report.[0-9]*.[0-9]*.[0-9]*.[0-9]*.json
@@ -19,34 +18,14 @@ pids
*.seed
*.pid.lock
# Directory for instrumented libs generated by jscoverage/JSCover
lib-cov
# Coverage directory used by tools like istanbul
coverage
*.lcov
# nyc test coverage
.nyc_output
# Grunt intermediate storage (https://gruntjs.com/creating-plugins#storing-task-files)
.grunt
# Bower dependency directory (https://bower.io/)
bower_components
# node-waf configuration
.lock-wscript
# Compiled binary addons (https://nodejs.org/api/addons.html)
build/Release
# Dependency directories
node_modules/
jspm_packages/
# TypeScript v1 declaration files
typings/
# TypeScript cache
*.tsbuildinfo
@@ -56,36 +35,19 @@ typings/
# Optional eslint cache
.eslintcache
# Optional REPL history
.node_repl_history
# Output of 'npm pack'
*.tgz
# Yarn Integrity file
.yarn-integrity
# dotenv environment variables file
# dotenv environment variable files
.env
.env.test
.env.development.local
.env.test.local
.env.production.local
.env.local
# parcel-bundler cache (https://parceljs.org/)
.cache
# next.js build output
.next
# nuxt.js build output
.nuxt
# vuepress build output
.vuepress/dist
# Serverless directories
.serverless/
# FuseBox cache
.fusebox/
# DynamoDB Local files
.dynamodb/
# yarn v2
.yarn/cache
.yarn/unplugged
.yarn/build-state.yml
.yarn/install-state.gz
.pnp.*
+6
View File
@@ -0,0 +1,6 @@
# Dependency directories
node_modules/
jspm_packages/
# yarn v2
.yarn/
+17
View File
@@ -0,0 +1,17 @@
# https://yarnpkg.com/configuration/yarnrc
compressionLevel: mixed
enableGlobalCache: false
enableHardenedMode: true
logFilters:
- code: YN0013
level: discard
- code: YN0019
level: discard
- code: YN0076
level: discard
- code: YN0086
level: discard
nodeLinker: node-modules
+118 -38
View File
@@ -23,9 +23,11 @@ ___
* [AWS Public Elastic Container Registry (ECR)](#aws-public-elastic-container-registry-ecr)
* [OCI Oracle Cloud Infrastructure Registry (OCIR)](#oci-oracle-cloud-infrastructure-registry-ocir)
* [Quay.io](#quayio)
* [DigitalOcean](#digitalocean-container-registry)
* [Authenticate to multiple registries](#authenticate-to-multiple-registries)
* [Customizing](#customizing)
* [inputs](#inputs)
* [Keep up-to-date with GitHub Dependabot](#keep-up-to-date-with-github-dependabot)
* [Contributing](#contributing)
## Usage
@@ -50,7 +52,7 @@ jobs:
name: Login to Docker Hub
uses: docker/login-action@v3
with:
username: ${{ secrets.DOCKERHUB_USERNAME }}
username: ${{ vars.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_TOKEN }}
```
@@ -104,7 +106,7 @@ jobs:
uses: docker/login-action@v3
with:
registry: registry.gitlab.com
username: ${{ secrets.GITLAB_USERNAME }}
username: ${{ vars.GITLAB_USERNAME }}
password: ${{ secrets.GITLAB_PASSWORD }}
```
@@ -135,7 +137,7 @@ jobs:
uses: docker/login-action@v3
with:
registry: <registry-name>.azurecr.io
username: ${{ secrets.AZURE_CLIENT_ID }}
username: ${{ vars.AZURE_CLIENT_ID }}
password: ${{ secrets.AZURE_CLIENT_SECRET }}
```
@@ -198,8 +200,7 @@ jobs:
Use a service account with permission to push to GCR and [configure access control](https://cloud.google.com/container-registry/docs/access-control).
Download the key for the service account as a JSON file. Save the contents of
the file [as a secret](https://docs.github.com/en/actions/configuring-and-managing-workflows/creating-and-storing-encrypted-secrets#creating-encrypted-secrets-for-a-repository)
named `GCR_JSON_KEY` in your GitHub repository. Set the username to `_json_key`,
or `_json_key_base64` if you use a base64-encoded key.
named `GCR_JSON_KEY` in your GitHub repository. Set the username to `_json_key`.
```yaml
name: ci
@@ -227,10 +228,9 @@ You can authenticate with workload identity federation or a service account.
#### Workload identity federation
Download the key for the service account as a JSON file. Save the contents of
the file [as a secret](https://docs.github.com/en/actions/configuring-and-managing-workflows/creating-and-storing-encrypted-secrets#creating-encrypted-secrets-for-a-repository)
named `GCR_JSON_KEY` in your GitHub repository. Set the username to `_json_key`,
or `_json_key_base64` if you use a base64-encoded key.
Your service account must have permission to push to GAR. Use the
`google-github-actions/auth` action to authenticate using workload identity as
shown in the following example:
```yaml
name: ci
@@ -274,7 +274,7 @@ jobs:
Use a service account with permission to push to GAR and [configure access control](https://cloud.google.com/artifact-registry/docs/access-control).
Download the key for the service account as a JSON file. Save the contents of
the file [as a secret](https://docs.github.com/en/actions/configuring-and-managing-workflows/creating-and-storing-encrypted-secrets#creating-encrypted-secrets-for-a-repository)
named `GCR_JSON_KEY` in your GitHub repository. Set the username to `_json_key`,
named `GAR_JSON_KEY` in your GitHub repository. Set the username to `_json_key`,
or `_json_key_base64` if you use a base64-encoded key.
```yaml
@@ -302,7 +302,7 @@ jobs:
### AWS Elastic Container Registry (ECR)
Use an IAM user with the ability to [push to ECR with `AmazonEC2ContainerRegistryPowerUser` managed policy for example](https://docs.aws.amazon.com/AmazonECR/latest/userguide/ecr_managed_policies.html#AmazonEC2ContainerRegistryPowerUser).
Use an IAM user with the ability to [push to ECR with `AmazonEC2ContainerRegistryPowerUser` managed policy for example](https://docs.aws.amazon.com/AmazonECR/latest/userguide/security-iam-awsmanpol.html#security-iam-awsmanpol-AmazonEC2ContainerRegistryPowerUser).
Download the access keys and save them as `AWS_ACCESS_KEY_ID` and `AWS_SECRET_ACCESS_KEY` [as secrets](https://docs.github.com/en/actions/configuring-and-managing-workflows/creating-and-storing-encrypted-secrets#creating-encrypted-secrets-for-a-repository)
in your GitHub repo.
@@ -322,7 +322,7 @@ jobs:
uses: docker/login-action@v3
with:
registry: <aws-account-number>.dkr.ecr.<region>.amazonaws.com
username: ${{ secrets.AWS_ACCESS_KEY_ID }}
username: ${{ vars.AWS_ACCESS_KEY_ID }}
password: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
```
@@ -345,7 +345,7 @@ jobs:
uses: docker/login-action@v3
with:
registry: <aws-account-number>.dkr.ecr.<region>.amazonaws.com
username: ${{ secrets.AWS_ACCESS_KEY_ID }}
username: ${{ vars.AWS_ACCESS_KEY_ID }}
password: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
env:
AWS_ACCOUNT_IDS: 012345678910,023456789012
@@ -371,7 +371,7 @@ jobs:
name: Configure AWS Credentials
uses: aws-actions/configure-aws-credentials@v4
with:
aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }}
aws-access-key-id: ${{ vars.AWS_ACCESS_KEY_ID }}
aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
aws-region: <region>
-
@@ -406,7 +406,7 @@ jobs:
uses: docker/login-action@v3
with:
registry: public.ecr.aws
username: ${{ secrets.AWS_ACCESS_KEY_ID }}
username: ${{ vars.AWS_ACCESS_KEY_ID }}
password: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
env:
AWS_REGION: <region>
@@ -440,7 +440,7 @@ jobs:
uses: docker/login-action@v3
with:
registry: <region>.ocir.io
username: ${{ secrets.OCI_USERNAME }}
username: ${{ vars.OCI_USERNAME }}
password: ${{ secrets.OCI_TOKEN }}
```
@@ -467,36 +467,116 @@ jobs:
uses: docker/login-action@v3
with:
registry: quay.io
username: ${{ secrets.QUAY_USERNAME }}
username: ${{ vars.QUAY_USERNAME }}
password: ${{ secrets.QUAY_ROBOT_TOKEN }}
```
### DigitalOcean Container Registry
Use your DigitalOcean registered email address and an API access token to authenticate.
```yaml
name: ci
on:
push:
branches: main
jobs:
login:
runs-on: ubuntu-latest
steps:
-
name: Login to DigitalOcean Container Registry
uses: docker/login-action@v3
with:
registry: registry.digitalocean.com
username: ${{ vars.DIGITALOCEAN_USERNAME }}
password: ${{ secrets.DIGITALOCEAN_ACCESS_TOKEN }}
```
### Authenticate to multiple registries
To authenticate against multiple registries, you can specify the login-action
step multiple times in your workflow:
```yaml
name: ci
on:
push:
branches: main
jobs:
login:
runs-on: ubuntu-latest
steps:
-
name: Login to Docker Hub
uses: docker/login-action@v3
with:
username: ${{ vars.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_TOKEN }}
-
name: Login to GitHub Container Registry
uses: docker/login-action@v3
with:
registry: ghcr.io
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}
```
You can also use the `registry-auth` input for raw authentication to
registries, defined as YAML objects. Each object can contain `registry`,
`username`, `password` and `ecr` keys similar to current inputs:
> [!WARNING]
> We don't recommend using this method, it's better to use the action multiple
> times as shown above.
```yaml
name: ci
on:
push:
branches: main
jobs:
login:
runs-on: ubuntu-latest
steps:
-
name: Login to registries
uses: docker/login-action@v3
with:
registry-auth: |
- username: ${{ vars.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_TOKEN }}
- registry: ghcr.io
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}
```
## Customizing
### inputs
The following inputs can be used as `step.with` keys:
| Name | Type | Default | Description |
|------------|--------|---------|-------------------------------------------------------------------------------|
| `registry` | String | | Server address of Docker registry. If not set then will default to Docker Hub |
| `username` | String | | Username for authenticating to the Docker registry |
| `password` | String | | Password or personal access token for authenticating the Docker registry |
| `ecr` | String | `auto` | Specifies whether the given registry is ECR (`auto`, `true` or `false`) |
| `logout` | Bool | `true` | Log out from the Docker registry at the end of a job |
| Name | Type | Default | Description |
|-----------------|--------|-------------|-------------------------------------------------------------------------------|
| `registry` | String | `docker.io` | Server address of Docker registry. If not set then will default to Docker Hub |
| `username` | String | | Username for authenticating to the Docker registry |
| `password` | String | | Password or personal access token for authenticating the Docker registry |
| `ecr` | String | `auto` | Specifies whether the given registry is ECR (`auto`, `true` or `false`) |
| `logout` | Bool | `true` | Log out from the Docker registry at the end of a job |
| `registry-auth` | YAML | | Raw authentication to registries, defined as YAML objects |
## Keep up-to-date with GitHub Dependabot
> [!NOTE]
> The `registry-auth` input is mutually exclusive with `registry`, `username`,
> `password` and `ecr` inputs.
Since [Dependabot](https://docs.github.com/en/github/administering-a-repository/keeping-your-actions-up-to-date-with-github-dependabot)
has [native GitHub Actions support](https://docs.github.com/en/github/administering-a-repository/configuration-options-for-dependency-updates#package-ecosystem),
to enable it on your GitHub repo all you need to do is add the `.github/dependabot.yml` file:
## Contributing
```yaml
version: 2
updates:
# Maintain dependencies for GitHub Actions
- package-ecosystem: "github-actions"
directory: "/"
schedule:
interval: "daily"
```
Want to contribute? Awesome! You can find information about contributing to
this project in the [CONTRIBUTING.md](/.github/CONTRIBUTING.md)
+8 -2
View File
@@ -10,7 +10,9 @@ describe('isECR', () => {
['012345678901.dkr.ecr.eu-west-3.amazonaws.com', true],
['876820548815.dkr.ecr.cn-north-1.amazonaws.com.cn', true],
['390948362332.dkr.ecr.cn-northwest-1.amazonaws.com.cn', true],
['public.ecr.aws', true]
['012345678901.dkr-ecr.eu-north-1.on.aws', true],
['public.ecr.aws', true],
['ecr-public.aws.com', true]
])('given registry %p', async (registry, expected) => {
expect(aws.isECR(registry)).toEqual(expected);
});
@@ -23,7 +25,9 @@ describe('isPubECR', () => {
['012345678901.dkr.ecr.eu-west-3.amazonaws.com', false],
['876820548815.dkr.ecr.cn-north-1.amazonaws.com.cn', false],
['390948362332.dkr.ecr.cn-northwest-1.amazonaws.com.cn', false],
['public.ecr.aws', true]
['012345678901.dkr-ecr.eu-north-1.on.aws', false],
['public.ecr.aws', true],
['ecr-public.aws.com', true]
])('given registry %p', async (registry, expected) => {
expect(aws.isPubECR(registry)).toEqual(expected);
});
@@ -34,6 +38,7 @@ describe('getRegion', () => {
['012345678901.dkr.ecr.eu-west-3.amazonaws.com', 'eu-west-3'],
['876820548815.dkr.ecr.cn-north-1.amazonaws.com.cn', 'cn-north-1'],
['390948362332.dkr.ecr.cn-northwest-1.amazonaws.com.cn', 'cn-northwest-1'],
['012345678901.dkr-ecr.eu-north-1.on.aws', 'eu-north-1'],
['public.ecr.aws', 'us-east-1']
])('given registry %p', async (registry, expected) => {
expect(aws.getRegion(registry)).toEqual(expected);
@@ -46,6 +51,7 @@ describe('getAccountIDs', () => {
['012345678901.dkr.ecr.eu-west-3.amazonaws.com', '012345678910,023456789012', ['012345678901', '012345678910', '023456789012']],
['012345678901.dkr.ecr.eu-west-3.amazonaws.com', '012345678901,012345678910,023456789012', ['012345678901', '012345678910', '023456789012']],
['390948362332.dkr.ecr.cn-northwest-1.amazonaws.com.cn', '012345678910,023456789012', ['390948362332', '012345678910', '023456789012']],
['876820548815.dkr-ecr.eu-north-1.on.aws', '012345678910,023456789012', ['876820548815', '012345678910', '023456789012']],
['public.ecr.aws', undefined, []]
])('given registry %p', async (registry, accountIDsEnv, expected) => {
if (accountIDsEnv) {
+18 -5
View File
@@ -2,14 +2,15 @@ import {expect, jest, test} from '@jest/globals';
import * as path from 'path';
import {loginStandard, logout} from '../src/docker';
import {Exec} from '@docker/actions-toolkit/lib/exec';
import {Docker} from '@docker/actions-toolkit/lib/docker/docker';
process.env['RUNNER_TEMP'] = path.join(__dirname, 'runner');
test('loginStandard calls exec', async () => {
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
// @ts-ignore
const execSpy = jest.spyOn(Exec, 'getExecOutput').mockImplementation(async () => {
const execSpy = jest.spyOn(Docker, 'getExecOutput').mockImplementation(async () => {
return {
exitCode: expect.any(Number),
stdout: expect.any(Function),
@@ -23,7 +24,13 @@ test('loginStandard calls exec', async () => {
await loginStandard(registry, username, password);
expect(execSpy).toHaveBeenCalledWith(`docker`, ['login', '--password-stdin', '--username', username, registry], {
expect(execSpy).toHaveBeenCalledTimes(1);
const callfunc = execSpy.mock.calls[0];
if (callfunc && callfunc[1]) {
// we don't want to check env opt
callfunc[1].env = undefined;
}
expect(execSpy).toHaveBeenCalledWith(['login', '--password-stdin', '--username', username, registry], {
input: Buffer.from(password),
silent: true,
ignoreReturnCode: true
@@ -33,7 +40,7 @@ test('loginStandard calls exec', async () => {
test('logout calls exec', async () => {
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
// @ts-ignore
const execSpy = jest.spyOn(Exec, 'getExecOutput').mockImplementation(async () => {
const execSpy = jest.spyOn(Docker, 'getExecOutput').mockImplementation(async () => {
return {
exitCode: expect.any(Number),
stdout: expect.any(Function),
@@ -45,7 +52,13 @@ test('logout calls exec', async () => {
await logout(registry);
expect(execSpy).toHaveBeenCalledWith(`docker`, ['logout', registry], {
expect(execSpy).toHaveBeenCalledTimes(1);
const callfunc = execSpy.mock.calls[0];
if (callfunc && callfunc[1]) {
// we don't want to check env opt
callfunc[1].env = undefined;
}
expect(execSpy).toHaveBeenCalledWith(['logout', registry], {
ignoreReturnCode: true
});
});
+3 -1
View File
@@ -18,12 +18,14 @@ inputs:
required: false
ecr:
description: 'Specifies whether the given registry is ECR (auto, true or false)'
default: 'auto'
required: false
logout:
description: 'Log out from the Docker registry at the end of a job'
default: 'true'
required: false
registry-auth:
description: 'Raw authentication to registries, defined as YAML objects'
required: false
runs:
using: 'node20'
+13 -2
View File
@@ -5,9 +5,16 @@ ARG NODE_VERSION=20
FROM node:${NODE_VERSION}-alpine AS base
RUN apk add --no-cache cpio findutils git
WORKDIR /src
RUN --mount=type=bind,target=.,rw \
--mount=type=cache,target=/src/.yarn/cache <<EOT
corepack enable
yarn --version
yarn config set --home enableTelemetry 0
EOT
FROM base AS deps
RUN --mount=type=bind,target=.,rw \
--mount=type=cache,target=/src/.yarn/cache \
--mount=type=cache,target=/src/node_modules \
yarn install && mkdir /vendor && cp yarn.lock /vendor
@@ -20,7 +27,7 @@ RUN --mount=type=bind,target=.,rw <<EOT
git add -A
cp -rf /vendor/* .
if [ -n "$(git status --porcelain -- yarn.lock)" ]; then
echo >&2 'ERROR: Vendor result differs. Please vendor your package with "docker buildx bake vendor-update"'
echo >&2 'ERROR: Vendor result differs. Please vendor your package with "docker buildx bake vendor"'
git status --porcelain -- yarn.lock
exit 1
fi
@@ -28,6 +35,7 @@ EOT
FROM deps AS build
RUN --mount=type=bind,target=.,rw \
--mount=type=cache,target=/src/.yarn/cache \
--mount=type=cache,target=/src/node_modules \
yarn run build && mkdir /out && cp -Rf dist /out/
@@ -48,15 +56,17 @@ EOT
FROM deps AS format
RUN --mount=type=bind,target=.,rw \
--mount=type=cache,target=/src/.yarn/cache \
--mount=type=cache,target=/src/node_modules \
yarn run format \
&& mkdir /out && find . -name '*.ts' -not -path './node_modules/*' | cpio -pdm /out
&& mkdir /out && find . -name '*.ts' -not -path './node_modules/*' -not -path './.yarn/*' | cpio -pdm /out
FROM scratch AS format-update
COPY --from=format /out /
FROM deps AS lint
RUN --mount=type=bind,target=.,rw \
--mount=type=cache,target=/src/.yarn/cache \
--mount=type=cache,target=/src/node_modules \
yarn run lint
@@ -64,6 +74,7 @@ FROM deps AS test
ENV RUNNER_TEMP=/tmp/github_runner
ENV RUNNER_TOOL_CACHE=/tmp/github_tool_cache
RUN --mount=type=bind,target=.,rw \
--mount=type=cache,target=/src/.yarn/cache \
--mount=type=cache,target=/src/node_modules \
yarn run test --coverage --coverageDirectory=/tmp/coverage
Generated Vendored
+102 -18
View File
@@ -1,19 +1,103 @@
require('./sourcemap-register.js');(()=>{var e={7351:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){if(n===undefined)n=r;Object.defineProperty(e,n,{enumerable:true,get:function(){return t[r]}})}:function(e,t,r,n){if(n===undefined)n=r;e[n]=t[r]});var o=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:true,value:t})}:function(e,t){e["default"]=t});var A=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(e!=null)for(var r in e)if(r!=="default"&&Object.hasOwnProperty.call(e,r))n(t,e,r);o(t,e);return t};Object.defineProperty(t,"__esModule",{value:true});t.issue=t.issueCommand=void 0;const s=A(r(2037));const i=r(5278);function issueCommand(e,t,r){const n=new Command(e,t,r);process.stdout.write(n.toString()+s.EOL)}t.issueCommand=issueCommand;function issue(e,t=""){issueCommand(e,{},t)}t.issue=issue;const a="::";class Command{constructor(e,t,r){if(!e){e="missing.command"}this.command=e;this.properties=t;this.message=r}toString(){let e=a+this.command;if(this.properties&&Object.keys(this.properties).length>0){e+=" ";let t=true;for(const r in this.properties){if(this.properties.hasOwnProperty(r)){const n=this.properties[r];if(n){if(t){t=false}else{e+=","}e+=`${r}=${escapeProperty(n)}`}}}}e+=`${a}${escapeData(this.message)}`;return e}}function escapeData(e){return i.toCommandValue(e).replace(/%/g,"%25").replace(/\r/g,"%0D").replace(/\n/g,"%0A")}function escapeProperty(e){return i.toCommandValue(e).replace(/%/g,"%25").replace(/\r/g,"%0D").replace(/\n/g,"%0A").replace(/:/g,"%3A").replace(/,/g,"%2C")}},2186:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){if(n===undefined)n=r;Object.defineProperty(e,n,{enumerable:true,get:function(){return t[r]}})}:function(e,t,r,n){if(n===undefined)n=r;e[n]=t[r]});var o=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:true,value:t})}:function(e,t){e["default"]=t});var A=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(e!=null)for(var r in e)if(r!=="default"&&Object.hasOwnProperty.call(e,r))n(t,e,r);o(t,e);return t};var s=this&&this.__awaiter||function(e,t,r,n){function adopt(e){return e instanceof r?e:new r((function(t){t(e)}))}return new(r||(r=Promise))((function(r,o){function fulfilled(e){try{step(n.next(e))}catch(e){o(e)}}function rejected(e){try{step(n["throw"](e))}catch(e){o(e)}}function step(e){e.done?r(e.value):adopt(e.value).then(fulfilled,rejected)}step((n=n.apply(e,t||[])).next())}))};Object.defineProperty(t,"__esModule",{value:true});t.getIDToken=t.getState=t.saveState=t.group=t.endGroup=t.startGroup=t.info=t.notice=t.warning=t.error=t.debug=t.isDebug=t.setFailed=t.setCommandEcho=t.setOutput=t.getBooleanInput=t.getMultilineInput=t.getInput=t.addPath=t.setSecret=t.exportVariable=t.ExitCode=void 0;const i=r(7351);const a=r(717);const c=r(5278);const l=A(r(2037));const u=A(r(1017));const d=r(8041);var g;(function(e){e[e["Success"]=0]="Success";e[e["Failure"]=1]="Failure"})(g=t.ExitCode||(t.ExitCode={}));function exportVariable(e,t){const r=c.toCommandValue(t);process.env[e]=r;const n=process.env["GITHUB_ENV"]||"";if(n){return a.issueFileCommand("ENV",a.prepareKeyValueMessage(e,t))}i.issueCommand("set-env",{name:e},r)}t.exportVariable=exportVariable;function setSecret(e){i.issueCommand("add-mask",{},e)}t.setSecret=setSecret;function addPath(e){const t=process.env["GITHUB_PATH"]||"";if(t){a.issueFileCommand("PATH",e)}else{i.issueCommand("add-path",{},e)}process.env["PATH"]=`${e}${u.delimiter}${process.env["PATH"]}`}t.addPath=addPath;function getInput(e,t){const r=process.env[`INPUT_${e.replace(/ /g,"_").toUpperCase()}`]||"";if(t&&t.required&&!r){throw new Error(`Input required and not supplied: ${e}`)}if(t&&t.trimWhitespace===false){return r}return r.trim()}t.getInput=getInput;function getMultilineInput(e,t){const r=getInput(e,t).split("\n").filter((e=>e!==""));if(t&&t.trimWhitespace===false){return r}return r.map((e=>e.trim()))}t.getMultilineInput=getMultilineInput;function getBooleanInput(e,t){const r=["true","True","TRUE"];const n=["false","False","FALSE"];const o=getInput(e,t);if(r.includes(o))return true;if(n.includes(o))return false;throw new TypeError(`Input does not meet YAML 1.2 "Core Schema" specification: ${e}\n`+`Support boolean input list: \`true | True | TRUE | false | False | FALSE\``)}t.getBooleanInput=getBooleanInput;function setOutput(e,t){const r=process.env["GITHUB_OUTPUT"]||"";if(r){return a.issueFileCommand("OUTPUT",a.prepareKeyValueMessage(e,t))}process.stdout.write(l.EOL);i.issueCommand("set-output",{name:e},c.toCommandValue(t))}t.setOutput=setOutput;function setCommandEcho(e){i.issue("echo",e?"on":"off")}t.setCommandEcho=setCommandEcho;function setFailed(e){process.exitCode=g.Failure;error(e)}t.setFailed=setFailed;function isDebug(){return process.env["RUNNER_DEBUG"]==="1"}t.isDebug=isDebug;functiLine truncated
/*! *****************************************************************************
Copyright (c) Microsoft Corporation.
Permission to use, copy, modify, and/or distribute this software for any
purpose with or without fee is hereby granted.
THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
PERFORMANCE OF THIS SOFTWARE.
***************************************************************************** */
var t;var r;var n;var o;var A;var s;var i;var a;var c;var l;var u;var d;var g;var h;var E;var f;var p;var C;var I;var Q;var B;var m;var y;(function(t){var r=typeof global==="object"?global:typeof self==="object"?self:typeof this==="object"?this:{};if(typeof define==="function"&&define.amd){define("tslib",["exports"],(function(e){t(createExporter(r,createExporter(e)))}))}else if(true&&typeof e.exports==="object"){t(createExporter(r,createExporter(e.exports)))}else{t(createExporter(r))}function createExporter(e,t){if(e!==r){if(typeof Object.create==="function"){Object.defineProperty(e,"__esModule",{value:true})}else{e.__esModule=true}}return function(r,n){return e[r]=t?t(r,n):n}}})((function(e){var v=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)if(t.hasOwnProperty(r))e[r]=t[r]};t=function(e,t){v(e,t);function __(){this.constructor=e}e.prototype=t===null?Object.create(t):(__.prototype=t.prototype,new __)};r=Object.assign||function(e){for(var t,r=1,n=arguments.length;r<n;r++){t=arguments[r];for(var o in t)if(Object.prototype.hasOwnProperty.call(t,o))e[o]=t[o]}return e};n=function(e,t){var r={};for(var n in e)if(Object.prototype.hasOwnProperty.call(e,n)&&t.indexOf(n)<0)r[n]=e[n];if(e!=null&&typeof Object.getOwnPropertySymbols==="function")for(var o=0,n=Object.getOwnPropertySymbols(e);o<n.length;o++){if(t.indexOf(n[o])<0&&Object.prototype.propertyIsEnumerable.call(e,n[o]))r[n[o]]=e[n[o]]}return r};o=function(e,t,r,n){var o=arguments.length,A=o<3?t:n===null?n=Object.getOwnPropertyDescriptor(t,r):n,s;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")A=Reflect.decorate(e,t,r,n);else for(var i=e.length-1;i>=0;i--)if(s=e[i])A=(o<3?s(A):o>3?s(t,r,A):s(t,r))||A;return o>3&&A&&Object.defineProperty(t,r,A),A};A=function(e,t){return function(r,n){t(r,n,e)}};s=function(e,t){if(typeof Reflect==="object"&&typeof Reflect.metadata==="function")return Reflect.metadata(e,t)};i=function(e,t,r,n){function adopt(e){return e instanceof r?e:new r((function(t){t(e)}))}return new(r||(r=Promise))((function(r,o){function fulfilled(e){try{step(n.next(e))}catch(e){o(e)}}function rejected(e){try{step(n["throw"](e))}catch(e){o(e)}}function step(e){e.done?r(e.value):adopt(e.value).then(fulfilled,rejected)}step((n=n.apply(e,t||[])).next())}))};a=function(e,t){var r={label:0,sent:function(){if(A[0]&1)throw A[1];return A[1]},trys:[],ops:[]},n,o,A,s;return s={next:verb(0),throw:verb(1),return:verb(2)},typeof Symbol==="function"&&(s[Symbol.iterator]=function(){return this}),s;function verb(e){return function(t){return step([e,t])}}function step(s){if(n)throw new TypeError("Generator is already executing.");while(r)try{if(n=1,o&&(A=s[0]&2?o["return"]:s[0]?o["throw"]||((A=o["return"])&&A.call(o),0):o.next)&&!(A=A.call(o,s[1])).done)return A;if(o=0,A)s=[s[0]&2,A.value];switch(s[0]){case 0:case 1:A=s;break;case 4:r.label++;return{value:s[1],done:false};case 5:r.label++;o=s[1];s=[0];continue;case 7:s=r.ops.pop();r.trys.pop();continue;default:if(!(A=r.trys,A=A.length>0&&A[A.length-1])&&(s[0]===6||s[0]===2)){r=0;continue}if(s[0]===3&&(!A||s[1]>A[0]&&s[1]<A[3])){r.label=s[1];break}if(s[0]===6&&r.label<A[1]){r.label=A[1];A=s;break}if(A&&r.label<A[2]){r.label=A[2];r.ops.push(s);break}if(A[2])r.ops.pop();r.trys.pop();continue}s=t.call(e,r)}catch(e){s=[6,e];o=0}finally{n=A=0}if(s[0]&5)throw s[1];return{value:s[0]?s[1]:void 0,done:true}}};y=function(e,t,r,n){if(n===undefined)n=r;e[n]=t[r]};c=function(e,t){for(var r in e)if(r!=="default"&&!t.hasOwnProperty(r))t[r]=e[r]};l=function(e){var t=typeof Symbol==="function"&&Symbol.iterator,r=t&&e[t],n=0;if(r)return r.call(e);if(e&&typeof e.length==="number")return{next:function(){if(e&&n>=e.length)e=void 0;return{value:e&&e[n++],done:!e}}};throw new TypeError(t?"Object is not iterable.":"Symbol.iterator is not defined.")};u=function(e,t){var r=typeof Symbol==="function"&&e[Symbol.iterator];if(!r)return e;var n=r.call(e),o,A=[],s;try{while((t===void 0||t-- >0)&&!(o=n.next()).done)A.push(o.value)}catch(e){s={error:e}}finally{try{if(o&&!o.done&&(r=n["return"]))r.call(n)}finally{if(s)throw s.error}}return A};d=function(){for(var e=[],t=0;t<arguments.length;t++)e=e.concat(u(arguments[t]));return e};g=function(){for(var e=0,t=0,r=arguments.length;t<r;t++)e+=arguments[t].length;for(var n=Array(e),o=0,t=0;t<r;t++)for(var A=arguments[t],s=0,i=A.length;s<i;s++,o++)n[o]=A[s];return n};h=function(e){return this instanceof h?(this.v=e,this):new h(e)};E=function(e,t,r){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var n=r.apply(e,t||[]),o,A=[];return o={},verb("next"),verb("throw"),verb("return"),o[Symbol.asyncIterator]=function(){return this},o;function verb(e){if(n[e])o[e]=function(t){return new Promise((function(r,n){A.push([e,t,r,n])>1||resume(e,t)}))}}function resume(e,t){try{step(n[e](t))}catch(e){settle(A[0][3],e)}}function step(e){e.value instanceof h?Promise.resolve(e.value.v).then(fulfill,reject):seLine truncated
/*! formdata-polyfill. MIT License. Jimmy Wärting <https://jimmy.warting.se/opensource> */;const escape=e=>e.replace(/\n/g,"%0A").replace(/\r/g,"%0D").replace(/"/g,"%22");const normalizeLinefeeds=e=>e.replace(/\r?\n|\r/g,"\r\n");const n=[];const o=new Uint8Array([13,10]);u=0;let A=false;for(const[t,s]of e){if(typeof s==="string"){const e=S.encode(r+`; name="${escape(normalizeLinefeeds(t))}"`+`\r\n\r\n${normalizeLinefeeds(s)}\r\n`);n.push(e);u+=e.byteLength}else{const e=S.encode(`${r}; name="${escape(normalizeLinefeeds(t))}"`+(s.name?`; filename="${escape(s.name)}"`:"")+"\r\n"+`Content-Type: ${s.type||"application/octet-stream"}\r\n\r\n`);n.push(e,s,o);if(typeof s.size==="number"){u+=e.byteLength+s.size+o.byteLength}else{A=true}}}const s=S.encode(`--${t}--`);n.push(s);u+=s.byteLength;if(A){u=null}l=e;c=async function*(){for(const e of n){if(e.stream){yield*e.stream()}else{yield e}}};d="multipart/form-data; boundary="+t}else if(s(e)){l=e;u=e.size;if(e.type){d=e.type}}else if(typeof e[Symbol.asyncIterator]==="function"){if(t){throw new TypeError("keepalive")}if(o.isDisturbed(e)||e.locked){throw new TypeError("Response body object should not be disturbed or locked")}n=e instanceof b?e:A(e)}if(typeof l==="string"||o.isBuffer(l)){u=Buffer.byteLength(l)}if(c!=null){let t;n=new b({async start(){t=c(e)[Symbol.asyncIterator]()},async pull(e){const{value:r,done:o}=await t.next();if(o){queueMicrotask((()=>{e.close()}))}else{if(!Q(n)){e.enqueue(new Uint8Array(r))}}return e.desiredSize>0},async cancel(e){await t.return()},type:undefined})}const g={stream:n,source:l,length:u};return[g,d]}function safelyExtractBody(e,t=false){if(!b){b=r(5356).ReadableStream}if(e instanceof b){I(!o.isDisturbed(e),"The body has already been consumed.");I(!e.locked,"The stream is locked.")}return extractBody(e,t)}function cloneBody(e){const[t,r]=e.stream.tee();const n=E(r,{transfer:[r]});const[,o]=n.tee();e.stream=t;return{stream:o,length:e.length,source:e.source}}async function*consumeBody(e){if(e){if(B(e)){yield e}else{const t=e.stream;if(o.isDisturbed(t)){throw new TypeError("The body has already been consumed.")}if(t.locked){throw new TypeError("The stream is locked.")}t[C]=true;yield*t}}}function throwIfAborted(e){if(e.aborted){throw new h("The operation was aborted.","AbortError")}}function bodyMixinMethods(e){const t={blob(){return specConsumeBody(this,(e=>{let t=bodyMimeType(this);if(t==="failure"){t=""}else if(t){t=w(t)}return new f([e],{type:t})}),e)},arrayBuffer(){return specConsumeBody(this,(e=>new Uint8Array(e).buffer),e)},text(){return specConsumeBody(this,utf8DecodeBytes,e)},json(){return specConsumeBody(this,parseJSONFromBytes,e)},async formData(){g.brandCheck(this,e);throwIfAborted(this[d]);const t=this.headers.get("Content-Type");if(/multipart\/form-data/.test(t)){const e={};for(const[t,r]of this.headers)e[t.toLowerCase()]=r;const t=new u;let r;try{r=new n({headers:e,preservePath:true})}catch(e){throw new h(`${e}`,"AbortError")}r.on("field",((e,r)=>{t.append(e,r)}));r.on("file",((e,r,n,o,A)=>{const s=[];if(o==="base64"||o.toLowerCase()==="base64"){let o="";r.on("data",(e=>{o+=e.toString().replace(/[\r\n]/gm,"");const t=o.length-o.length%4;s.push(Buffer.from(o.slice(0,t),"base64"));o=o.slice(t)}));r.on("end",(()=>{s.push(Buffer.from(o,"base64"));t.append(e,new R(s,n,{type:A}))}))}else{r.on("data",(e=>{s.push(e)}));r.on("end",(()=>{t.append(e,new R(s,n,{type:A}))}))}}));const o=new Promise(((e,t)=>{r.on("finish",e);r.on("error",(e=>t(new TypeError(e))))}));if(this.body!==null)for await(const e of consumeBody(this[d].body))r.write(e);r.end();await o;return t}else if(/application\/x-www-form-urlencoded/.test(t)){let e;try{let t="";const r=new TextDecoder("utf-8",{ignoreBOM:true});for await(const e of consumeBody(this[d].body)){if(!B(e)){throw new TypeError("Expected Uint8Array chunk")}t+=r.decode(e,{stream:true})}t+=r.decode();e=new URLSearchParams(t)}catch(e){throw Object.assign(new TypeError,{cause:e})}const t=new u;for(const[r,n]of e){t.append(r,n)}return t}else{await Promise.resolve();throwIfAborted(this[d]);throw g.errors.exception({header:`${e.name}.formData`,message:"Could not parse content as FormData."})}}};return t}function mixinBody(e){Object.assign(e.prototype,bodyMixinMethods(e))}async function specConsumeBody(e,t,r){g.brandCheck(e,r);throwIfAborted(e[d]);if(bodyUnusable(e[d].body)){throw new TypeError("Body is unusable")}const n=c();const errorSteps=e=>n.reject(e);const successSteps=e=>{try{n.resolve(t(e))}catch(e){errorSteps(e)}};if(e[d].body==null){successSteps(new Uint8Array);return n.promise}await l(e[d].body,successSteps,errorSteps);return n.promise}function bodyUnusable(e){return e!=null&&(e.stream.locked||o.isDisturbed(e.stream))}function utf8DecodeBytes(e){if(e.length===0){return""}if(e[0]===239&&e[1]===187&&e[2]===191){e=e.subarray(3)}const t=D.decode(e);return t}function parseJSONFromBytes(e){return JSON.parse(utf8DecodeBytes(e))}function bodyMimeType(e){const{headersList:t}=e[d];const r=t.get("content-Line truncated
/*! ws. MIT License. Einar Otto Stangvik <einaros@gmail.com> */A[o-4]=this.maskKey[0];A[o-3]=this.maskKey[1];A[o-2]=this.maskKey[2];A[o-1]=this.maskKey[3];A[1]=r;if(r===126){A.writeUInt16BE(t,2)}else if(r===127){A[2]=A[3]=0;A.writeUIntBE(t,4,6)}A[1]|=128;for(let e=0;e<t;e++){A[o+e]=this.frameData[e]^this.maskKey[e%4]}return A}}e.exports={WebsocketFrameSend:WebsocketFrameSend}},1688:(e,t,r)=>{"use strict";const{Writable:n}=r(2781);const o=r(7643);const{parserStates:A,opcodes:s,states:i,emptyBuffer:a}=r(9188);const{kReadyState:c,kSentClose:l,kResponse:u,kReceivedClose:d}=r(7578);const{isValidStatusCode:g,failWebsocketConnection:h,websocketMessageReceived:E}=r(5515);const{WebsocketFrameSend:f}=r(5444);const p={};p.ping=o.channel("undici:websocket:ping");p.pong=o.channel("undici:websocket:pong");class ByteParser extends n{#s=[];#i=0;#a=A.INFO;#c={};#l=[];constructor(e){super();this.ws=e}_write(e,t,r){this.#s.push(e);this.#i+=e.length;this.run(r)}run(e){while(true){if(this.#a===A.INFO){if(this.#i<2){return e()}const t=this.consume(2);this.#c.fin=(t[0]&128)!==0;this.#c.opcode=t[0]&15;this.#c.originalOpcode??=this.#c.opcode;this.#c.fragmented=!this.#c.fin&&this.#c.opcode!==s.CONTINUATION;if(this.#c.fragmented&&this.#c.opcode!==s.BINARY&&this.#c.opcode!==s.TEXT){h(this.ws,"Invalid frame type was fragmented.");return}const r=t[1]&127;if(r<=125){this.#c.payloadLength=r;this.#a=A.READ_DATA}else if(r===126){this.#a=A.PAYLOADLENGTH_16}else if(r===127){this.#a=A.PAYLOADLENGTH_64}if(this.#c.fragmented&&r>125){h(this.ws,"Fragmented frame exceeded 125 bytes.");return}else if((this.#c.opcode===s.PING||this.#c.opcode===s.PONG||this.#c.opcode===s.CLOSE)&&r>125){h(this.ws,"Payload length for control frame exceeded 125 bytes.");return}else if(this.#c.opcode===s.CLOSE){if(r===1){h(this.ws,"Received close frame with a 1-byte body.");return}const e=this.consume(r);this.#c.closeInfo=this.parseCloseBody(false,e);if(!this.ws[l]){const e=Buffer.allocUnsafe(2);e.writeUInt16BE(this.#c.closeInfo.code,0);const t=new f(e);this.ws[u].socket.write(t.createFrame(s.CLOSE),(e=>{if(!e){this.ws[l]=true}}))}this.ws[c]=i.CLOSING;this.ws[d]=true;this.end();return}else if(this.#c.opcode===s.PING){const t=this.consume(r);if(!this.ws[d]){const e=new f(t);this.ws[u].socket.write(e.createFrame(s.PONG));if(p.ping.hasSubscribers){p.ping.publish({payload:t})}}this.#a=A.INFO;if(this.#i>0){continue}else{e();return}}else if(this.#c.opcode===s.PONG){const t=this.consume(r);if(p.pong.hasSubscribers){p.pong.publish({payload:t})}if(this.#i>0){continue}else{e();return}}}else if(this.#a===A.PAYLOADLENGTH_16){if(this.#i<2){return e()}const t=this.consume(2);this.#c.payloadLength=t.readUInt16BE(0);this.#a=A.READ_DATA}else if(this.#a===A.PAYLOADLENGTH_64){if(this.#i<8){return e()}const t=this.consume(8);const r=t.readUInt32BE(0);if(r>2**31-1){h(this.ws,"Received payload length > 2^31 bytes.");return}const n=t.readUInt32BE(4);this.#c.payloadLength=(r<<8)+n;this.#a=A.READ_DATA}else if(this.#a===A.READ_DATA){if(this.#i<this.#c.payloadLength){return e()}else if(this.#i>=this.#c.payloadLength){const e=this.consume(this.#c.payloadLength);this.#l.push(e);if(!this.#c.fragmented||this.#c.fin&&this.#c.opcode===s.CONTINUATION){const e=Buffer.concat(this.#l);E(this.ws,this.#c.originalOpcode,e);this.#c={};this.#l.length=0}this.#a=A.INFO}}if(this.#i>0){continue}else{e();break}}}consume(e){if(e>this.#i){return null}else if(e===0){return a}if(this.#s[0].length===e){this.#i-=this.#s[0].length;return this.#s.shift()}const t=Buffer.allocUnsafe(e);let r=0;while(r!==e){const n=this.#s[0];const{length:o}=n;if(o+r===e){t.set(this.#s.shift(),r);break}else if(o+r>e){t.set(n.subarray(0,e-r),r);this.#s[0]=n.subarray(e-r);break}else{t.set(this.#s.shift(),r);r+=n.length}}this.#i-=e;return t}parseCloseBody(e,t){let r;if(t.length>=2){r=t.readUInt16BE(0)}if(e){if(!g(r)){return null}return{code:r}}let n=t.subarray(2);if(n[0]===239&&n[1]===187&&n[2]===191){n=n.subarray(3)}if(r!==undefined&&!g(r)){return null}try{n=new TextDecoder("utf-8",{fatal:true}).decode(n)}catch{return null}return{code:r,reason:n}}get closingInfo(){return this.#c.closeInfo}}e.exports={ByteParser:ByteParser}},7578:e=>{"use strict";e.exports={kWebSocketURL:Symbol("url"),kReadyState:Symbol("ready state"),kController:Symbol("controller"),kResponse:Symbol("response"),kBinaryType:Symbol("binary type"),kSentClose:Symbol("sent close"),kReceivedClose:Symbol("received close"),kByteParser:Symbol("byte parser")}},5515:(e,t,r)=>{"use strict";const{kReadyState:n,kController:o,kResponse:A,kBinaryType:s,kWebSocketURL:i}=r(7578);const{states:a,opcodes:c}=r(9188);const{MessageEvent:l,ErrorEvent:u}=r(2611);function isEstablished(e){return e[n]===a.OPEN}function isClosing(e){return e[n]===a.CLOSING}function isClosed(e){return e[n]===a.CLOSED}function fireEvent(e,t,r=Event,n){const o=new r(e,n);t.dispatchEvent(o)}function websocketMessageReceived(e,t,r){if(e[n]!==a.OPEN){return}let o;if(t===c.TEXT){try{o=new TextDecoder("utf-8",{fatal:true}).decode(r)Line truncated
require('./sourcemap-register.js');(()=>{var i={76846:function(i,d,p){"use strict";var y=this&&this.__createBinding||(Object.create?function(i,d,p,y){if(y===undefined)y=p;var v=Object.getOwnPropertyDescriptor(d,p);if(!v||("get"in v?!d.__esModule:v.writable||v.configurable)){v={enumerable:true,get:function(){return d[p]}}}Object.defineProperty(i,y,v)}:function(i,d,p,y){if(y===undefined)y=p;i[y]=d[p]});var v=this&&this.__exportStar||function(i,d){for(var p in i)if(p!=="default"&&!Object.prototype.hasOwnProperty.call(d,p))y(d,i,p)};Object.defineProperty(d,"__esModule",{value:true});const D=p(64487);v(p(13776),d);v(p(45655),d);v(p(64487),d);const M=new D.DefaultArtifactClient;d["default"]=M},35592:(i,d,p)=>{"use strict";Object.defineProperty(d,"__esModule",{value:true});d.Timestamp=void 0;const y=p(68886);const v=p(68886);const D=p(68886);const M=p(68886);const U=p(68886);const j=p(68886);const V=p(68886);class Timestamp$Type extends V.MessageType{constructor(){super("google.protobuf.Timestamp",[{no:1,name:"seconds",kind:"scalar",T:3},{no:2,name:"nanos",kind:"scalar",T:5}])}now(){const i=this.create();const d=Date.now();i.seconds=j.PbLong.from(Math.floor(d/1e3)).toString();i.nanos=d%1e3*1e6;return i}toDate(i){return new Date(j.PbLong.from(i.seconds).toNumber()*1e3+Math.ceil(i.nanos/1e6))}fromDate(i){const d=this.create();const p=i.getTime();d.seconds=j.PbLong.from(Math.floor(p/1e3)).toString();d.nanos=p%1e3*1e6;return d}internalJsonWrite(i,d){let p=j.PbLong.from(i.seconds).toNumber()*1e3;if(p<Date.parse("0001-01-01T00:00:00Z")||p>Date.parse("9999-12-31T23:59:59Z"))throw new Error("Unable to encode Timestamp to JSON. Must be from 0001-01-01T00:00:00Z to 9999-12-31T23:59:59Z inclusive.");if(i.nanos<0)throw new Error("Unable to encode invalid Timestamp to JSON. Nanos must not be negative.");let y="Z";if(i.nanos>0){let d=(i.nanos+1e9).toString().substring(1);if(d.substring(3)==="000000")y="."+d.substring(0,3)+"Z";else if(d.substring(6)==="000")y="."+d.substring(0,6)+"Z";else y="."+d+"Z"}return new Date(p).toISOString().replace(".000Z",y)}internalJsonRead(i,d,p){if(typeof i!=="string")throw new Error("Unable to parse Timestamp from JSON "+(0,U.typeofJsonValue)(i)+".");let y=i.match(/^([0-9]{4})-([0-9]{2})-([0-9]{2})T([0-9]{2}):([0-9]{2}):([0-9]{2})(?:Z|\.([0-9]{3,9})Z|([+-][0-9][0-9]:[0-9][0-9]))$/);if(!y)throw new Error("Unable to parse Timestamp from JSON. Invalid format.");let v=Date.parse(y[1]+"-"+y[2]+"-"+y[3]+"T"+y[4]+":"+y[5]+":"+y[6]+(y[8]?y[8]:"Z"));if(Number.isNaN(v))throw new Error("Unable to parse Timestamp from JSON. Invalid value.");if(v<Date.parse("0001-01-01T00:00:00Z")||v>Date.parse("9999-12-31T23:59:59Z"))throw new globalThis.Error("Unable to parse Timestamp from JSON. Must be from 0001-01-01T00:00:00Z to 9999-12-31T23:59:59Z inclusive.");if(!p)p=this.create();p.seconds=j.PbLong.from(v/1e3).toString();p.nanos=0;if(y[7])p.nanos=parseInt("1"+y[7]+"0".repeat(9-y[7].length))-1e9;return p}create(i){const d={seconds:"0",nanos:0};globalThis.Object.defineProperty(d,M.MESSAGE_TYPE,{enumerable:false,value:this});if(i!==undefined)(0,D.reflectionMergePartial)(this,d,i);return d}internalBinaryRead(i,d,p,y){let D=y!==null&&y!==void 0?y:this.create(),M=i.pos+d;while(i.pos<M){let[d,y]=i.tag();switch(d){case 1:D.seconds=i.int64().toString();break;case 2:D.nanos=i.int32();break;default:let M=p.readUnknownField;if(M==="throw")throw new globalThis.Error(`Unknown field ${d} (wire type ${y}) for ${this.typeName}`);let U=i.skip(y);if(M!==false)(M===true?v.UnknownFieldHandler.onRead:M)(this.typeName,D,d,y,U)}}return D}internalBinaryWrite(i,d,p){if(i.seconds!=="0")d.tag(1,y.WireType.Varint).int64(i.seconds);if(i.nanos!==0)d.tag(2,y.WireType.Varint).int32(i.nanos);let D=p.writeUnknownFields;if(D!==false)(D==true?v.UnknownFieldHandler.onWrite:D)(this.typeName,i,d);return d}}d.Timestamp=new Timestamp$Type},78806:(i,d,p)=>{"use strict";Object.defineProperty(d,"__esModule",{value:true});d.BytesValue=d.StringValue=d.BoolValue=d.UInt32Value=d.Int32Value=d.UInt64Value=d.Int64Value=d.FloatValue=d.DoubleValue=void 0;const y=p(68886);const v=p(68886);const D=p(68886);const M=p(68886);const U=p(68886);const j=p(68886);const V=p(68886);class DoubleValue$Type extends V.MessageType{constructor(){super("google.protobuf.DoubleValue",[{no:1,name:"value",kind:"scalar",T:1}])}internalJsonWrite(i,d){return this.refJsonWriter.scalar(2,i.value,"value",false,true)}internalJsonRead(i,d,p){if(!p)p=this.create();p.value=this.refJsonReader.scalar(i,1,undefined,"value");return p}create(i){const d={value:0};globalThis.Object.defineProperty(d,j.MESSAGE_TYPE,{enumerable:false,value:this});if(i!==undefined)(0,U.reflectionMergePartial)(this,d,i);return d}internalBinaryRead(i,d,p,y){let v=y!==null&&y!==void 0?y:this.create(),D=i.pos+d;while(i.pos<D){let[d,y]=i.tag();switch(d){case 1:v.value=i.double();break;default:let D=p.readUnknownField;if(D==="throw")throw new globalThis.Error(`Unknown field ${d} (wire type ${y}) for ${this.typeName}`);let U=i.skip(y);Line truncated
/**
* Archiver Vending
*
* @ignore
* @license [MIT]{@link https://github.com/archiverjs/node-archiver/blob/master/LICENSE}
* @copyright (c) 2012-2014 Chris Talkington, contributors.
*/
var y=p(50549);var v={};var vending=function(i,d){return vending.create(i,d)};vending.create=function(i,d){if(v[i]){var p=new y(i,d);p.setFormat(i);p.setModule(new v[i](d));return p}else{throw new Error("create("+i+"): format not registered")}};vending.registerFormat=function(i,d){if(v[i]){throw new Error("register("+i+"): format already registered")}if(typeof d!=="function"){throw new Error("register("+i+"): format module invalid")}if(typeof d.prototype.append!=="function"||typeof d.prototype.finalize!=="function"){throw new Error("register("+i+"): format module missing methods")}v[i]=d};vending.isRegisteredFormat=function(i){if(v[i]){return true}return false};vending.registerFormat("zip",p(22836));vending.registerFormat("tar",p(10396));vending.registerFormat("json",p(54693));i.exports=vending},50549:(i,d,p)=>{
/**
* Archiver Core
*
* @ignore
* @license [MIT]{@link https://github.com/archiverjs/node-archiver/blob/master/LICENSE}
* @copyright (c) 2012-2014 Chris Talkington, contributors.
*/
var y=p(79896);var v=p(51364);var D=p(97329);var M=p(16928);var U=p(53296);var j=p(39023).inherits;var V=p(13110);var K=p(29963).Transform;var ee=process.platform==="win32";var Archiver=function(i,d){if(!(this instanceof Archiver)){return new Archiver(i,d)}if(typeof i!=="string"){d=i;i="zip"}d=this.options=U.defaults(d,{highWaterMark:1024*1024,statConcurrency:4});K.call(this,d);this._format=false;this._module=false;this._pending=0;this._pointer=0;this._entriesCount=0;this._entriesProcessedCount=0;this._fsEntriesTotalBytes=0;this._fsEntriesProcessedBytes=0;this._queue=D.queue(this._onQueueTask.bind(this),1);this._queue.drain(this._onQueueDrain.bind(this));this._statQueue=D.queue(this._onStatQueueTask.bind(this),d.statConcurrency);this._statQueue.drain(this._onQueueDrain.bind(this));this._state={aborted:false,finalize:false,finalizing:false,finalized:false,modulePiped:false};this._streams=[]};j(Archiver,K);Archiver.prototype._abort=function(){this._state.aborted=true;this._queue.kill();this._statQueue.kill();if(this._queue.idle()){this._shutdown()}};Archiver.prototype._append=function(i,d){d=d||{};var p={source:null,filepath:i};if(!d.name){d.name=i}d.sourcePath=i;p.data=d;this._entriesCount++;if(d.stats&&d.stats instanceof y.Stats){p=this._updateQueueTaskWithStats(p,d.stats);if(p){if(d.stats.size){this._fsEntriesTotalBytes+=d.stats.size}this._queue.push(p)}}else{this._statQueue.push(p)}};Archiver.prototype._finalize=function(){if(this._state.finalizing||this._state.finalized||this._state.aborted){return}this._state.finalizing=true;this._moduleFinalize();this._state.finalizing=false;this._state.finalized=true};Archiver.prototype._maybeFinalize=function(){if(this._state.finalizing||this._state.finalized||this._state.aborted){return false}if(this._state.finalize&&this._pending===0&&this._queue.idle()&&this._statQueue.idle()){this._finalize();return true}return false};Archiver.prototype._moduleAppend=function(i,d,p){if(this._state.aborted){p();return}this._module.append(i,d,function(i){this._task=null;if(this._state.aborted){this._shutdown();return}if(i){this.emit("error",i);setImmediate(p);return}this.emit("entry",d);this._entriesProcessedCount++;if(d.stats&&d.stats.size){this._fsEntriesProcessedBytes+=d.stats.size}this.emit("progress",{entries:{total:this._entriesCount,processed:this._entriesProcessedCount},fs:{totalBytes:this._fsEntriesTotalBytes,processedBytes:this._fsEntriesProcessedBytes}});setImmediate(p)}.bind(this))};Archiver.prototype._moduleFinalize=function(){if(typeof this._module.finalize==="function"){this._module.finalize()}else if(typeof this._module.end==="function"){this._module.end()}else{this.emit("error",new V("NOENDMETHOD"))}};Archiver.prototype._modulePipe=function(){this._module.on("error",this._onModuleError.bind(this));this._module.pipe(this);this._state.modulePiped=true};Archiver.prototype._moduleSupports=function(i){if(!this._module.supports||!this._module.supports[i]){return false}return this._module.supports[i]};Archiver.prototype._moduleUnpipe=function(){this._module.unpipe(this);this._state.modulePiped=false};Archiver.prototype._normalizeEntryData=function(i,d){i=U.defaults(i,{type:"file",name:null,date:null,mode:null,prefix:null,sourcePath:null,stats:false});if(d&&i.stats===false){i.stats=d}var p=i.type==="directory";if(i.name){if(typeof i.prefix==="string"&&""!==i.prefix){i.name=i.prefix+"/"+i.name;i.prefix=null}i.name=U.sanitizePath(i.name);if(i.type!=="symlink"&&i.name.slice(-1)==="/"){p=true;i.type="directory"}else if(p){i.name+="/"}}if(typeof i.mode==="number"){if(ee){i.mode&=511}else{i.mode&=4095}}else if(i.stats&&i.mode===null){if(ee){i.mode=i.stats.mode&511}else{i.mode=i.stats.mode&4095}if(ee&&p){i.mode=493}}else if(i.mode===null){i.mode=p?493:420}if(i.stats&&i.date===null){i.date=i.stats.mtime}else{i.date=U.dateify(i.date)}return i};Archiver.prototype._onModuleError=function(i){this.emit("error",i)};Archiver.prototype._onQueueDrain=function(){if(this._state.finalizing||this._state.finalized||this._state.aborted){return}if(this._state.finalize&&this._pending===0&&this._queue.idle()&&this._statQueue.idle()){this._finalize()}};Archiver.prototype._onQueueTask=function(i,d){var fullCallback=()=>{if(i.data.callback){i.data.callback()}d()};if(this._state.finalizing||this._state.finalized||this._state.aborted){fullCallback();return}this._task=i;this._moduleAppend(i.source,i.data,fullCallback)};Archiver.prototype._onStatQueueTask=function(i,d){if(this._state.finalizing||this._state.finalized||this._state.aborted){d();return}y.lstat(i.filepath,function(p,y){if(this._state.aborted){setImmediate(d);return}if(p){this._entriesCount--;this.emit("warning",p);setImmediate(d);return}i=this._updateQueueTaskWithStats(i,y);if(i){if(y.size){this._fsEntriesTotalBytes+=y.size}this._queue.push(i)}setImmediate(d)}.bind(this))};Archiver.prototype._shutdown=function(){this._moduleUnpipe();this.end()};Archiver.prototype._transform=function(i,d,p){if(i){this._pointer+=i.length}p(null,i)};Archiver.prLine truncated
/**
* Archiver Core
*
* @ignore
* @license [MIT]{@link https://github.com/archiverjs/node-archiver/blob/master/LICENSE}
* @copyright (c) 2012-2014 Chris Talkington, contributors.
*/
var y=p(39023);const v={ABORTED:"archive was aborted",DIRECTORYDIRPATHREQUIRED:"diretory dirpath argument must be a non-empty string value",DIRECTORYFUNCTIONINVALIDDATA:"invalid data returned by directory custom data function",ENTRYNAMEREQUIRED:"entry name must be a non-empty string value",FILEFILEPATHREQUIRED:"file filepath argument must be a non-empty string value",FINALIZING:"archive already finalizing",QUEUECLOSED:"queue closed",NOENDMETHOD:"no suitable finalize/end method defined by module",DIRECTORYNOTSUPPORTED:"support for directory entries not defined by module",FORMATSET:"archive format already set",INPUTSTEAMBUFFERREQUIRED:"input source must be valid Stream or Buffer instance",MODULESET:"module already set",SYMLINKNOTSUPPORTED:"support for symlink entries not defined by module",SYMLINKFILEPATHREQUIRED:"symlink filepath argument must be a non-empty string value",SYMLINKTARGETREQUIRED:"symlink target argument must be a non-empty string value",ENTRYNOTSUPPORTED:"entry not supported"};function ArchiverError(i,d){Error.captureStackTrace(this,this.constructor);this.message=v[i]||i;this.code=i;this.data=d}y.inherits(ArchiverError,Error);d=i.exports=ArchiverError},54693:(i,d,p)=>{
/**
* JSON Format Plugin
*
* @module plugins/json
* @license [MIT]{@link https://github.com/archiverjs/node-archiver/blob/master/LICENSE}
* @copyright (c) 2012-2014 Chris Talkington, contributors.
*/
var y=p(39023).inherits;var v=p(29963).Transform;var D=p(84928);var M=p(53296);var Json=function(i){if(!(this instanceof Json)){return new Json(i)}i=this.options=M.defaults(i,{});v.call(this,i);this.supports={directory:true,symlink:true};this.files=[]};y(Json,v);Json.prototype._transform=function(i,d,p){p(null,i)};Json.prototype._writeStringified=function(){var i=JSON.stringify(this.files);this.write(i)};Json.prototype.append=function(i,d,p){var y=this;d.crc32=0;function onend(i,v){if(i){p(i);return}d.size=v.length||0;d.crc32=D.unsigned(v);y.files.push(d);p(null,d)}if(d.sourceType==="buffer"){onend(null,i)}else if(d.sourceType==="stream"){M.collectStream(i,onend)}};Json.prototype.finalize=function(){this._writeStringified();this.end()};i.exports=Json},10396:(i,d,p)=>{
/**
* TAR Format Plugin
*
* @module plugins/tar
* @license [MIT]{@link https://github.com/archiverjs/node-archiver/blob/master/LICENSE}
* @copyright (c) 2012-2014 Chris Talkington, contributors.
*/
var y=p(43106);var v=p(56118);var D=p(53296);var Tar=function(i){if(!(this instanceof Tar)){return new Tar(i)}i=this.options=D.defaults(i,{gzip:false});if(typeof i.gzipOptions!=="object"){i.gzipOptions={}}this.supports={directory:true,symlink:true};this.engine=v.pack(i);this.compressor=false;if(i.gzip){this.compressor=y.createGzip(i.gzipOptions);this.compressor.on("error",this._onCompressorError.bind(this))}};Tar.prototype._onCompressorError=function(i){this.engine.emit("error",i)};Tar.prototype.append=function(i,d,p){var y=this;d.mtime=d.date;function append(i,v){if(i){p(i);return}y.engine.entry(d,v,(function(i){p(i,d)}))}if(d.sourceType==="buffer"){append(null,i)}else if(d.sourceType==="stream"&&d.stats){d.size=d.stats.size;var v=y.engine.entry(d,(function(i){p(i,d)}));i.pipe(v)}else if(d.sourceType==="stream"){D.collectStream(i,append)}};Tar.prototype.finalize=function(){this.engine.finalize()};Tar.prototype.on=function(){return this.engine.on.apply(this.engine,arguments)};Tar.prototype.pipe=function(i,d){if(this.compressor){return this.engine.pipe.apply(this.engine,[this.compressor]).pipe(i,d)}else{return this.engine.pipe.apply(this.engine,arguments)}};Tar.prototype.unpipe=function(){if(this.compressor){return this.compressor.unpipe.apply(this.compressor,arguments)}else{return this.engine.unpipe.apply(this.engine,arguments)}};i.exports=Tar},22836:(i,d,p)=>{
/**
* ZIP Format Plugin
*
* @module plugins/zip
* @license [MIT]{@link https://github.com/archiverjs/node-archiver/blob/master/LICENSE}
* @copyright (c) 2012-2014 Chris Talkington, contributors.
*/
var y=p(41622);var v=p(53296);var Zip=function(i){if(!(this instanceof Zip)){return new Zip(i)}i=this.options=v.defaults(i,{comment:"",forceUTC:false,namePrependSlash:false,store:false});this.supports={directory:true,symlink:true};this.engine=new y(i)};Zip.prototype.append=function(i,d,p){this.engine.entry(i,d,p)};Zip.prototype.finalize=function(){this.engine.finalize()};Zip.prototype.on=function(){return this.engine.on.apply(this.engine,arguments)};Zip.prototype.pipe=function(){return this.engine.pipe.apply(this.engine,arguments)};Zip.prototype.unpipe=function(){return this.engine.unpipe.apply(this.engine,arguments)};i.exports=Zip},97329:function(i,d){(function(i,p){true?p(d):0})(this,(function(i){"use strict";function apply(i,...d){return(...p)=>i(...d,...p)}function initialParams(i){return function(...d){var p=d.pop();return i.call(this,d,p)}}var d=typeof queueMicrotask==="function"&&queueMicrotask;var p=typeof setImmediate==="function"&&setImmediate;var y=typeof process==="object"&&typeof process.nextTick==="function";function fallback(i){setTimeout(i,0)}function wrap(i){return(d,...p)=>i((()=>d(...p)))}var v;if(d){v=queueMicrotask}else if(p){v=setImmediate}else if(y){v=process.nextTick}else{v=fallback}var D=wrap(v);function asyncify(i){if(isAsync(i)){return function(...d){const p=d.pop();const y=i.apply(this,d);return handlePromise(y,p)}}return initialParams((function(d,p){var y;try{y=i.apply(this,d)}catch(i){return p(i)}if(y&&typeof y.then==="function"){return handlePromise(y,p)}else{p(null,y)}}))}function handlePromise(i,d){return i.then((i=>{invokeCallback(d,null,i)}),(i=>{invokeCallback(d,i&&(i instanceof Error||i.message)?i:new Error(i))}))}function invokeCallback(i,d,p){try{i(d,p)}catch(i){D((i=>{throw i}),i)}}function isAsync(i){return i[Symbol.toStringTag]==="AsyncFunction"}function isAsyncGenerator(i){return i[Symbol.toStringTag]==="AsyncGenerator"}function isAsyncIterable(i){return typeof i[Symbol.asyncIterator]==="function"}function wrapAsync(i){if(typeof i!=="function")throw new Error("expected a function");return isAsync(i)?asyncify(i):i}function awaitify(i,d){if(!d)d=i.length;if(!d)throw new Error("arity is undefined");function awaitable(...p){if(typeof p[d-1]==="function"){return i.apply(this,p)}return new Promise(((y,v)=>{p[d-1]=(i,...d)=>{if(i)return v(i);y(d.length>1?d:d[0])};i.apply(this,p)}))}return awaitable}function applyEach$1(i){return function applyEach(d,...p){const y=awaitify((function(y){var v=this;return i(d,((i,d)=>{wrapAsync(i).apply(v,p.concat(d))}),y)}));return y}}function _asyncMap(i,d,p,y){d=d||[];var v=[];var D=0;var M=wrapAsync(p);return i(d,((i,d,p)=>{var y=D++;M(i,((i,d)=>{v[y]=d;p(i)}))}),(i=>{y(i,v)}))}function isArrayLike(i){return i&&typeof i.length==="number"&&i.length>=0&&i.length%1===0}const M={};var U=M;function once(i){function wrapper(...d){if(i===null)return;var p=i;i=null;p.apply(this,d)}Object.assign(wrapper,i);return wrapper}function getIterator(i){return i[Symbol.iterator]&&i[Symbol.iterator]()}function createArrayIterator(i){var d=-1;var p=i.length;return function next(){return++d<p?{value:i[d],key:d}:null}}function createES2015Iterator(i){var d=-1;return function next(){var p=i.next();if(p.done)return null;d++;return{value:p.value,key:d}}}function createObjectIterator(i){var d=i?Object.keys(i):[];var p=-1;var y=d.length;return function next(){var v=d[++p];if(v==="__proto__"){return next()}return p<y?{value:i[v],key:v}:null}}function createIterator(i){if(isArrayLike(i)){return createArrayIterator(i)}var d=getIterator(i);return d?createES2015Iterator(d):createObjectIterator(i)}function onlyOnce(i){return function(...d){if(i===null)throw new Error("Callback was already called.");var p=i;i=null;p.apply(this,d)}}function asyncEachOfLimit(i,d,p,y){let v=false;let D=false;let M=false;let j=0;let V=0;function replenish(){if(j>=d||M||v)return;M=true;i.next().then((({value:i,done:d})=>{if(D||v)return;M=false;if(d){v=true;if(j<=0){y(null)}return}j++;p(i,V,iterateeCallback);V++;replenish()})).catch(handleError)}function iterateeCallback(i,d){j-=1;if(D)return;if(i)return handleError(i);if(i===false){v=true;D=true;return}if(d===U||v&&j<=0){v=true;return y(null)}replenish()}function handleError(i){if(D)return;M=false;v=true;y(i)}replenish()}var eachOfLimit$2=i=>(d,p,y)=>{y=once(y);if(i<=0){throw new RangeError("concurrency limit cannot be less than 1")}if(!d){return y(null)}if(isAsyncGenerator(d)){return asyncEachOfLimit(d,i,p,y)}if(isAsyncIterable(d)){return asyncEachOfLimit(d[Symbol.asyncIterator](),i,p,y)}var v=createIterator(d);var D=false;var M=false;var j=0;var V=false;function iterateeCallback(i,d){if(M)return;j-=1;if(i){D=true;y(i)}else if(i===false){D=true;M=true}else if(d===U||D&&j<=0){D=true;return y(null)}else if(!V){replenish()}}function replenish(){V=true;while(j<i&&!D){var d=v();if(d===null){D=true;if(j<=0){y(null)}return}j+=1;p(d.value,d.key,onlyOnce(iterateeCallback))}V=false}replenish()};function eachOfLimit(i,d,p,y){return eachOfLimit$2(d)(i,Line truncated
/*! crc32.js (C) 2014-present SheetJS -- http://sheetjs.com */
var p;(function(i){if(typeof DO_NOT_EXPORT_CRC==="undefined"){if(true){i(d)}else{}}else{i(p={})}})((function(i){i.version="1.2.2";function signed_crc_table(){var i=0,d=new Array(256);for(var p=0;p!=256;++p){i=p;i=i&1?-306674912^i>>>1:i>>>1;i=i&1?-306674912^i>>>1:i>>>1;i=i&1?-306674912^i>>>1:i>>>1;i=i&1?-306674912^i>>>1:i>>>1;i=i&1?-306674912^i>>>1:i>>>1;i=i&1?-306674912^i>>>1:i>>>1;i=i&1?-306674912^i>>>1:i>>>1;i=i&1?-306674912^i>>>1:i>>>1;d[p]=i}return typeof Int32Array!=="undefined"?new Int32Array(d):d}var d=signed_crc_table();function slice_by_16_tables(i){var d=0,p=0,y=0,v=typeof Int32Array!=="undefined"?new Int32Array(4096):new Array(4096);for(y=0;y!=256;++y)v[y]=i[y];for(y=0;y!=256;++y){p=i[y];for(d=256+y;d<4096;d+=256)p=v[d]=p>>>8^i[p&255]}var D=[];for(y=1;y!=16;++y)D[y-1]=typeof Int32Array!=="undefined"?v.subarray(y*256,y*256+256):v.slice(y*256,y*256+256);return D}var p=slice_by_16_tables(d);var y=p[0],v=p[1],D=p[2],M=p[3],U=p[4];var j=p[5],V=p[6],K=p[7],ee=p[8],te=p[9];var re=p[10],ne=p[11],ie=p[12],se=p[13],ae=p[14];function crc32_bstr(i,p){var y=p^-1;for(var v=0,D=i.length;v<D;)y=y>>>8^d[(y^i.charCodeAt(v++))&255];return~y}function crc32_buf(i,p){var oe=p^-1,ce=i.length-15,le=0;for(;le<ce;)oe=ae[i[le++]^oe&255]^se[i[le++]^oe>>8&255]^ie[i[le++]^oe>>16&255]^ne[i[le++]^oe>>>24]^re[i[le++]]^te[i[le++]]^ee[i[le++]]^K[i[le++]]^V[i[le++]]^j[i[le++]]^U[i[le++]]^M[i[le++]]^D[i[le++]]^v[i[le++]]^y[i[le++]]^d[i[le++]];ce+=15;while(le<ce)oe=oe>>>8^d[(oe^i[le++])&255];return~oe}function crc32_str(i,p){var y=p^-1;for(var v=0,D=i.length,M=0,U=0;v<D;){M=i.charCodeAt(v++);if(M<128){y=y>>>8^d[(y^M)&255]}else if(M<2048){y=y>>>8^d[(y^(192|M>>6&31))&255];y=y>>>8^d[(y^(128|M&63))&255]}else if(M>=55296&&M<57344){M=(M&1023)+64;U=i.charCodeAt(v++)&1023;y=y>>>8^d[(y^(240|M>>8&7))&255];y=y>>>8^d[(y^(128|M>>2&63))&255];y=y>>>8^d[(y^(128|U>>6&15|(M&3)<<4))&255];y=y>>>8^d[(y^(128|U&63))&255]}else{y=y>>>8^d[(y^(224|M>>12&15))&255];y=y>>>8^d[(y^(128|M>>6&63))&255];y=y>>>8^d[(y^(128|M&63))&255]}}return~y}i.table=d;i.bstr=crc32_bstr;i.buf=crc32_buf;i.str=crc32_str}))},3662:(i,d,p)=>{"use strict";const{Transform:y}=p(29963);const v=p(84891);class CRC32Stream extends y{constructor(i){super(i);this.checksum=Buffer.allocUnsafe(4);this.checksum.writeInt32BE(0,0);this.rawSize=0}_transform(i,d,p){if(i){this.checksum=v.buf(i,this.checksum)>>>0;this.rawSize+=i.length}p(null,i)}digest(i){const d=Buffer.allocUnsafe(4);d.writeUInt32BE(this.checksum>>>0,0);return i?d.toString(i):d}hex(){return this.digest("hex").toUpperCase()}size(){return this.rawSize}}i.exports=CRC32Stream},76252:(i,d,p)=>{"use strict";const{DeflateRaw:y}=p(43106);const v=p(84891);class DeflateCRC32Stream extends y{constructor(i){super(i);this.checksum=Buffer.allocUnsafe(4);this.checksum.writeInt32BE(0,0);this.rawSize=0;this.compressedSize=0}push(i,d){if(i){this.compressedSize+=i.length}return super.push(i,d)}_transform(i,d,p){if(i){this.checksum=v.buf(i,this.checksum)>>>0;this.rawSize+=i.length}super._transform(i,d,p)}digest(i){const d=Buffer.allocUnsafe(4);d.writeUInt32BE(this.checksum>>>0,0);return i?d.toString(i):d}hex(){return this.digest("hex").toUpperCase()}size(i=false){if(i){return this.compressedSize}else{return this.rawSize}}}i.exports=DeflateCRC32Stream},82770:(i,d,p)=>{"use strict";i.exports={CRC32Stream:p(3662),DeflateCRC32Stream:p(76252)}},6110:(i,d,p)=>{d.formatArgs=formatArgs;d.save=save;d.load=load;d.useColors=useColors;d.storage=localstorage();d.destroy=(()=>{let i=false;return()=>{if(!i){i=true;console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.")}}})();d.colors=["#0000CC","#0000FF","#0033CC","#0033FF","#0066CC","#0066FF","#0099CC","#0099FF","#00CC00","#00CC33","#00CC66","#00CC99","#00CCCC","#00CCFF","#3300CC","#3300FF","#3333CC","#3333FF","#3366CC","#3366FF","#3399CC","#3399FF","#33CC00","#33CC33","#33CC66","#33CC99","#33CCCC","#33CCFF","#6600CC","#6600FF","#6633CC","#6633FF","#66CC00","#66CC33","#9900CC","#9900FF","#9933CC","#9933FF","#99CC00","#99CC33","#CC0000","#CC0033","#CC0066","#CC0099","#CC00CC","#CC00FF","#CC3300","#CC3333","#CC3366","#CC3399","#CC33CC","#CC33FF","#CC6600","#CC6633","#CC9900","#CC9933","#CCCC00","#CCCC33","#FF0000","#FF0033","#FF0066","#FF0099","#FF00CC","#FF00FF","#FF3300","#FF3333","#FF3366","#FF3399","#FF33CC","#FF33FF","#FF6600","#FF6633","#FF9900","#FF9933","#FFCC00","#FFCC33"];function useColors(){if(typeof window!=="undefined"&&window.process&&(window.process.type==="renderer"||window.process.__nwjs)){return true}if(typeof navigator!=="undefined"&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/(edge|trident)\/(\d+)/)){return false}return typeof document!=="undefined"&&document.documentElement&&document.documentElement.style&&document.documentElement.style.WebkitAppearance||typeof window!=="undefined"&&window.console&&(window.console.firebug||window.console.exception&&window.console.table)||typeof navigator!=="unLine truncated
/**
* @author Toru Nagashima <https://github.com/mysticatea>
* @copyright 2015 Toru Nagashima. All rights reserved.
* See LICENSE file in root directory for full license.
*/Object.defineProperty(d,"__esModule",{value:true});const p=new WeakMap;const y=new WeakMap;function pd(i){const d=p.get(i);console.assert(d!=null,"'this' is expected an Event object, but got",i);return d}function setCancelFlag(i){if(i.passiveListener!=null){if(typeof console!=="undefined"&&typeof console.error==="function"){console.error("Unable to preventDefault inside passive event listener invocation.",i.passiveListener)}return}if(!i.event.cancelable){return}i.canceled=true;if(typeof i.event.preventDefault==="function"){i.event.preventDefault()}}function Event(i,d){p.set(this,{eventTarget:i,event:d,eventPhase:2,currentTarget:i,canceled:false,stopped:false,immediateStopped:false,passiveListener:null,timeStamp:d.timeStamp||Date.now()});Object.defineProperty(this,"isTrusted",{value:false,enumerable:true});const y=Object.keys(d);for(let i=0;i<y.length;++i){const d=y[i];if(!(d in this)){Object.defineProperty(this,d,defineRedirectDescriptor(d))}}}Event.prototype={get type(){return pd(this).event.type},get target(){return pd(this).eventTarget},get currentTarget(){return pd(this).currentTarget},composedPath(){const i=pd(this).currentTarget;if(i==null){return[]}return[i]},get NONE(){return 0},get CAPTURING_PHASE(){return 1},get AT_TARGET(){return 2},get BUBBLING_PHASE(){return 3},get eventPhase(){return pd(this).eventPhase},stopPropagation(){const i=pd(this);i.stopped=true;if(typeof i.event.stopPropagation==="function"){i.event.stopPropagation()}},stopImmediatePropagation(){const i=pd(this);i.stopped=true;i.immediateStopped=true;if(typeof i.event.stopImmediatePropagation==="function"){i.event.stopImmediatePropagation()}},get bubbles(){return Boolean(pd(this).event.bubbles)},get cancelable(){return Boolean(pd(this).event.cancelable)},preventDefault(){setCancelFlag(pd(this))},get defaultPrevented(){return pd(this).canceled},get composed(){return Boolean(pd(this).event.composed)},get timeStamp(){return pd(this).timeStamp},get srcElement(){return pd(this).eventTarget},get cancelBubble(){return pd(this).stopped},set cancelBubble(i){if(!i){return}const d=pd(this);d.stopped=true;if(typeof d.event.cancelBubble==="boolean"){d.event.cancelBubble=true}},get returnValue(){return!pd(this).canceled},set returnValue(i){if(!i){setCancelFlag(pd(this))}},initEvent(){}};Object.defineProperty(Event.prototype,"constructor",{value:Event,configurable:true,writable:true});if(typeof window!=="undefined"&&typeof window.Event!=="undefined"){Object.setPrototypeOf(Event.prototype,window.Event.prototype);y.set(window.Event.prototype,Event)}function defineRedirectDescriptor(i){return{get(){return pd(this).event[i]},set(d){pd(this).event[i]=d},configurable:true,enumerable:true}}function defineCallDescriptor(i){return{value(){const d=pd(this).event;return d[i].apply(d,arguments)},configurable:true,enumerable:true}}function defineWrapper(i,d){const p=Object.keys(d);if(p.length===0){return i}function CustomEvent(d,p){i.call(this,d,p)}CustomEvent.prototype=Object.create(i.prototype,{constructor:{value:CustomEvent,configurable:true,writable:true}});for(let y=0;y<p.length;++y){const v=p[y];if(!(v in i.prototype)){const i=Object.getOwnPropertyDescriptor(d,v);const p=typeof i.value==="function";Object.defineProperty(CustomEvent.prototype,v,p?defineCallDescriptor(v):defineRedirectDescriptor(v))}}return CustomEvent}function getWrapper(i){if(i==null||i===Object.prototype){return Event}let d=y.get(i);if(d==null){d=defineWrapper(getWrapper(Object.getPrototypeOf(i)),i);y.set(i,d)}return d}function wrapEvent(i,d){const p=getWrapper(Object.getPrototypeOf(d));return new p(i,d)}function isStopped(i){return pd(i).immediateStopped}function setEventPhase(i,d){pd(i).eventPhase=d}function setCurrentTarget(i,d){pd(i).currentTarget=d}function setPassiveListener(i,d){pd(i).passiveListener=d}const v=new WeakMap;const D=1;const M=2;const U=3;function isObject(i){return i!==null&&typeof i==="object"}function getListeners(i){const d=v.get(i);if(d==null){throw new TypeError("'this' is expected an EventTarget object, but got another value.")}return d}function defineEventAttributeDescriptor(i){return{get(){const d=getListeners(this);let p=d.get(i);while(p!=null){if(p.listenerType===U){return p.listener}p=p.next}return null},set(d){if(typeof d!=="function"&&!isObject(d)){d=null}const p=getListeners(this);let y=null;let v=p.get(i);while(v!=null){if(v.listenerType===U){if(y!==null){y.next=v.next}else if(v.next!==null){p.set(i,v.next)}else{p.delete(i)}}else{y=v}v=v.next}if(d!==null){const v={listener:d,listenerType:U,passive:false,once:false,next:null};if(y===null){p.set(i,v)}else{y.next=v}}},configurable:true,enumerable:true}}function defineEventAttribute(i,d){Object.defineProperty(i,`on${d}`,defineEventAttributeDescriptor(d))}function defineCustomEventTarget(i){function CustomEventTarget(){EventTarget.call(this)}CustomEventTarget.prototype=Object.create(EventTarget.prototype,{constructor:{value:CustomEventTarget,configurable:true,writable:true}});for(let d=0;d<i.length;++d){Line truncated
/*! https://mths.be/he v1.2.0 by @mathias | MIT license */(function(p){var y=true&&d;var v=true&&i&&i.exports==y&&i;var D=typeof global=="object"&&global;if(D.global===D||D.window===D){p=D}var M=/[\uD800-\uDBFF][\uDC00-\uDFFF]/g;var U=/[\x01-\x7F]/g;var j=/[\x01-\t\x0B\f\x0E-\x1F\x7F\x81\x8D\x8F\x90\x9D\xA0-\uFFFF]/g;var V=/<\u20D2|=\u20E5|>\u20D2|\u205F\u200A|\u219D\u0338|\u2202\u0338|\u2220\u20D2|\u2229\uFE00|\u222A\uFE00|\u223C\u20D2|\u223D\u0331|\u223E\u0333|\u2242\u0338|\u224B\u0338|\u224D\u20D2|\u224E\u0338|\u224F\u0338|\u2250\u0338|\u2261\u20E5|\u2264\u20D2|\u2265\u20D2|\u2266\u0338|\u2267\u0338|\u2268\uFE00|\u2269\uFE00|\u226A\u0338|\u226A\u20D2|\u226B\u0338|\u226B\u20D2|\u227F\u0338|\u2282\u20D2|\u2283\u20D2|\u228A\uFE00|\u228B\uFE00|\u228F\u0338|\u2290\u0338|\u2293\uFE00|\u2294\uFE00|\u22B4\u20D2|\u22B5\u20D2|\u22D8\u0338|\u22D9\u0338|\u22DA\uFE00|\u22DB\uFE00|\u22F5\u0338|\u22F9\u0338|\u2933\u0338|\u29CF\u0338|\u29D0\u0338|\u2A6D\u0338|\u2A70\u0338|\u2A7D\u0338|\u2A7E\u0338|\u2AA1\u0338|\u2AA2\u0338|\u2AAC\uFE00|\u2AAD\uFE00|\u2AAF\u0338|\u2AB0\u0338|\u2AC5\u0338|\u2AC6\u0338|\u2ACB\uFE00|\u2ACC\uFE00|\u2AFD\u20E5|[\xA0-\u0113\u0116-\u0122\u0124-\u012B\u012E-\u014D\u0150-\u017E\u0192\u01B5\u01F5\u0237\u02C6\u02C7\u02D8-\u02DD\u0311\u0391-\u03A1\u03A3-\u03A9\u03B1-\u03C9\u03D1\u03D2\u03D5\u03D6\u03DC\u03DD\u03F0\u03F1\u03F5\u03F6\u0401-\u040C\u040E-\u044F\u0451-\u045C\u045E\u045F\u2002-\u2005\u2007-\u2010\u2013-\u2016\u2018-\u201A\u201C-\u201E\u2020-\u2022\u2025\u2026\u2030-\u2035\u2039\u203A\u203E\u2041\u2043\u2044\u204F\u2057\u205F-\u2063\u20AC\u20DB\u20DC\u2102\u2105\u210A-\u2113\u2115-\u211E\u2122\u2124\u2127-\u2129\u212C\u212D\u212F-\u2131\u2133-\u2138\u2145-\u2148\u2153-\u215E\u2190-\u219B\u219D-\u21A7\u21A9-\u21AE\u21B0-\u21B3\u21B5-\u21B7\u21BA-\u21DB\u21DD\u21E4\u21E5\u21F5\u21FD-\u2205\u2207-\u2209\u220B\u220C\u220F-\u2214\u2216-\u2218\u221A\u221D-\u2238\u223A-\u2257\u2259\u225A\u225C\u225F-\u2262\u2264-\u228B\u228D-\u229B\u229D-\u22A5\u22A7-\u22B0\u22B2-\u22BB\u22BD-\u22DB\u22DE-\u22E3\u22E6-\u22F7\u22F9-\u22FE\u2305\u2306\u2308-\u2310\u2312\u2313\u2315\u2316\u231C-\u231F\u2322\u2323\u232D\u232E\u2336\u233D\u233F\u237C\u23B0\u23B1\u23B4-\u23B6\u23DC-\u23DF\u23E2\u23E7\u2423\u24C8\u2500\u2502\u250C\u2510\u2514\u2518\u251C\u2524\u252C\u2534\u253C\u2550-\u256C\u2580\u2584\u2588\u2591-\u2593\u25A1\u25AA\u25AB\u25AD\u25AE\u25B1\u25B3-\u25B5\u25B8\u25B9\u25BD-\u25BF\u25C2\u25C3\u25CA\u25CB\u25EC\u25EF\u25F8-\u25FC\u2605\u2606\u260E\u2640\u2642\u2660\u2663\u2665\u2666\u266A\u266D-\u266F\u2713\u2717\u2720\u2736\u2758\u2772\u2773\u27C8\u27C9\u27E6-\u27ED\u27F5-\u27FA\u27FC\u27FF\u2902-\u2905\u290C-\u2913\u2916\u2919-\u2920\u2923-\u292A\u2933\u2935-\u2939\u293C\u293D\u2945\u2948-\u294B\u294E-\u2976\u2978\u2979\u297B-\u297F\u2985\u2986\u298B-\u2996\u299A\u299C\u299D\u29A4-\u29B7\u29B9\u29BB\u29BC\u29BE-\u29C5\u29C9\u29CD-\u29D0\u29DC-\u29DE\u29E3-\u29E5\u29EB\u29F4\u29F6\u2A00-\u2A02\u2A04\u2A06\u2A0C\u2A0D\u2A10-\u2A17\u2A22-\u2A27\u2A29\u2A2A\u2A2D-\u2A31\u2A33-\u2A3C\u2A3F\u2A40\u2A42-\u2A4D\u2A50\u2A53-\u2A58\u2A5A-\u2A5D\u2A5F\u2A66\u2A6A\u2A6D-\u2A75\u2A77-\u2A9A\u2A9D-\u2AA2\u2AA4-\u2AB0\u2AB3-\u2AC8\u2ACB\u2ACC\u2ACF-\u2ADB\u2AE4\u2AE6-\u2AE9\u2AEB-\u2AF3\u2AFD\uFB00-\uFB04]|\uD835[\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDCCF\uDD04\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDD6B]/g;var K={"­":"shy","‌":"zwnj","‍":"zwj","‎":"lrm","⁣":"ic","⁢":"it","⁡":"af","‏":"rlm","​":"ZeroWidthSpace","⁠":"NoBreak","̑":"DownBreve","⃛":"tdot","⃜":"DotDot","\t":"Tab","\n":"NewLine"," ":"puncsp"," ":"MediumSpace"," ":"thinsp"," ":"hairsp"," ":"emsp13"," ":"ensp"," ":"emsp14"," ":"emsp"," ":"numsp"," ":"nbsp","  ":"ThickSpace","‾":"oline",_:"lowbar","‐":"dash","–":"ndash","—":"mdash","―":"horbar",",":"comma",";":"semi","⁏":"bsemi",":":"colon","⩴":"Colone","!":"excl","¡":"iexcl","?":"quest","¿":"iquest",".":"period","‥":"nldr","…":"mldr","·":"middot","'":"apos","‘":"lsquo","’":"rsquo","‚":"sbquo","‹":"lsaquo","›":"rsaquo",'"':"quot","“":"ldquo","”":"rdquo","„":"bdquo","«":"laquo","»":"raquo","(":"lpar",")":"rpar","[":"lsqb","]":"rsqb","{":"lcub","}":"rcub","⌈":"lceil","⌉":"rceil","⌊":"lfloor","⌋":"rfloor","⦅":"lopar","⦆":"ropar","⦋":"lbrke","⦌":"rbrke","⦍":"lbrkslu","⦎":"rbrksld","⦏":"lbrksld","⦐":"rbrkslu","⦑":"langd","⦒":"rangd","⦓":"lparlt","⦔":"rpargt","⦕":"gtlPar","⦖":"ltrPar","⟦":"lobrk","⟧":"robrk","⟨":"lang","⟩":"rang","⟪":"Lang","⟫":"Rang","⟬":"loang","⟭":"roang","❲":"lbbrk","❳":"rbbrk","‖":"Vert","§":"sect","¶":"para","@":"commat","*":"ast","/":"sol",undefined:null,"&":"amp","#":"num","%":"percnt","‰":"permil","‱":"pertenk","†":"dagger","‡":"Dagger","•":"bull","⁃":"hybull","′":"prime","″":"Prime","‴":"tprime","⁗":"qprimeLine truncated
/*!
* is-plain-object <https://github.com/jonschlinkert/is-plain-object>
*
* Copyright (c) 2014-2017, Jon Schlinkert.
* Released under the MIT License.
*/function isObject(i){return Object.prototype.toString.call(i)==="[object Object]"}function isPlainObject(i){var d,p;if(isObject(i)===false)return false;d=i.constructor;if(d===undefined)return true;p=d.prototype;if(isObject(p)===false)return false;if(p.hasOwnProperty("isPrototypeOf")===false){return false}return true}d.isPlainObject=isPlainObject},96543:i=>{"use strict";const isStream=i=>i!==null&&typeof i==="object"&&typeof i.pipe==="function";isStream.writable=i=>isStream(i)&&i.writable!==false&&typeof i._write==="function"&&typeof i._writableState==="object";isStream.readable=i=>isStream(i)&&i.readable!==false&&typeof i._read==="function"&&typeof i._readableState==="object";isStream.duplex=i=>isStream.writable(i)&&isStream.readable(i);isStream.transform=i=>isStream.duplex(i)&&typeof i._transform==="function";i.exports=isStream},82513:i=>{var d={}.toString;i.exports=Array.isArray||function(i){return d.call(i)=="[object Array]"}},74281:(i,d,p)=>{"use strict";var y=p(91950);var v=p(59980);function renamed(i,d){return function(){throw new Error("Function yaml."+i+" is removed in js-yaml 4. "+"Use yaml."+d+" instead, which is now safe by default.")}}i.exports.Type=p(9557);i.exports.Schema=p(62046);i.exports.FAILSAFE_SCHEMA=p(69832);i.exports.JSON_SCHEMA=p(58927);i.exports.CORE_SCHEMA=p(55746);i.exports.DEFAULT_SCHEMA=p(97336);i.exports.load=y.load;i.exports.loadAll=y.loadAll;i.exports.dump=v.dump;i.exports.YAMLException=p(41248);i.exports.types={binary:p(8149),float:p(57584),map:p(47316),null:p(4333),pairs:p(16267),set:p(78758),timestamp:p(28966),bool:p(67296),int:p(62271),merge:p(76854),omap:p(58649),seq:p(77161),str:p(53929)};i.exports.safeLoad=renamed("safeLoad","load");i.exports.safeLoadAll=renamed("safeLoadAll","loadAll");i.exports.safeDump=renamed("safeDump","dump")},19816:i=>{"use strict";function isNothing(i){return typeof i==="undefined"||i===null}function isObject(i){return typeof i==="object"&&i!==null}function toArray(i){if(Array.isArray(i))return i;else if(isNothing(i))return[];return[i]}function extend(i,d){var p,y,v,D;if(d){D=Object.keys(d);for(p=0,y=D.length;p<y;p+=1){v=D[p];i[v]=d[v]}}return i}function repeat(i,d){var p="",y;for(y=0;y<d;y+=1){p+=i}return p}function isNegativeZero(i){return i===0&&Number.NEGATIVE_INFINITY===1/i}i.exports.isNothing=isNothing;i.exports.isObject=isObject;i.exports.toArray=toArray;i.exports.repeat=repeat;i.exports.isNegativeZero=isNegativeZero;i.exports.extend=extend},59980:(i,d,p)=>{"use strict";var y=p(19816);var v=p(41248);var D=p(97336);var M=Object.prototype.toString;var U=Object.prototype.hasOwnProperty;var j=65279;var V=9;var K=10;var ee=13;var te=32;var re=33;var ne=34;var ie=35;var se=37;var ae=38;var oe=39;var ce=42;var le=44;var de=45;var ue=58;var pe=61;var me=62;var fe=63;var he=64;var ge=91;var Ae=93;var ye=96;var be=123;var Ee=124;var ve=125;var Ce={};Ce[0]="\\0";Ce[7]="\\a";Ce[8]="\\b";Ce[9]="\\t";Ce[10]="\\n";Ce[11]="\\v";Ce[12]="\\f";Ce[13]="\\r";Ce[27]="\\e";Ce[34]='\\"';Ce[92]="\\\\";Ce[133]="\\N";Ce[160]="\\_";Ce[8232]="\\L";Ce[8233]="\\P";var we=["y","Y","yes","Yes","YES","on","On","ON","n","N","no","No","NO","off","Off","OFF"];var Se=/^[-+]?[0-9_]+(?::[0-9_]+)+(?:\.[0-9_]*)?$/;function compileStyleMap(i,d){var p,y,v,D,M,j,V;if(d===null)return{};p={};y=Object.keys(d);for(v=0,D=y.length;v<D;v+=1){M=y[v];j=String(d[M]);if(M.slice(0,2)==="!!"){M="tag:yaml.org,2002:"+M.slice(2)}V=i.compiledTypeMap["fallback"][M];if(V&&U.call(V.styleAliases,j)){j=V.styleAliases[j]}p[M]=j}return p}function encodeHex(i){var d,p,D;d=i.toString(16).toUpperCase();if(i<=255){p="x";D=2}else if(i<=65535){p="u";D=4}else if(i<=4294967295){p="U";D=8}else{throw new v("code point within a string may not be greater than 0xFFFFFFFF")}return"\\"+p+y.repeat("0",D-d.length)+d}var xe=1,Ie=2;function State(i){this.schema=i["schema"]||D;this.indent=Math.max(1,i["indent"]||2);this.noArrayIndent=i["noArrayIndent"]||false;this.skipInvalid=i["skipInvalid"]||false;this.flowLevel=y.isNothing(i["flowLevel"])?-1:i["flowLevel"];this.styleMap=compileStyleMap(this.schema,i["styles"]||null);this.sortKeys=i["sortKeys"]||false;this.lineWidth=i["lineWidth"]||80;this.noRefs=i["noRefs"]||false;this.noCompatMode=i["noCompatMode"]||false;this.condenseFlow=i["condenseFlow"]||false;this.quotingType=i["quotingType"]==='"'?Ie:xe;this.forceQuotes=i["forceQuotes"]||false;this.replacer=typeof i["replacer"]==="function"?i["replacer"]:null;this.implicitTypes=this.schema.compiledImplicit;this.explicitTypes=this.schema.compiledExplicit;this.tag=null;this.result="";this.duplicates=[];this.usedDuplicates=null}function indentString(i,d){var p=y.repeat(" ",d),v=0,D=-1,M="",U,j=i.length;while(v<j){D=i.indexOf("\n",v);if(D===-1){U=i.slice(v);v=j}else{U=i.slice(v,D+1);v=D+1}if(U.length&&U!=="\n")M+=p;M+=U}return M}function generateNextLine(i,d){return"\n"+y.repeat(" ",i.indent*d)}function testImplicitResolving(i,d){var p,y,v;for(p=0,y=i.implicitTypes.length;p<y;p+=1){v=i.implicitTypes[p];if(v.resolve(d)){return true}}Line truncated
/*!
* mime-db
* Copyright(c) 2014 Jonathan Ong
* Copyright(c) 2015-2022 Douglas Christopher Wilson
* MIT Licensed
*/
i.exports=p(81813)},14096:(i,d,p)=>{"use strict";
/*!
* mime-types
* Copyright(c) 2014 Jonathan Ong
* Copyright(c) 2015 Douglas Christopher Wilson
* MIT Licensed
*/var y=p(99829);var v=p(16928).extname;var D=/^\s*([^;\s]*)(?:;|\s|$)/;var M=/^text\//i;d.charset=charset;d.charsets={lookup:charset};d.contentType=contentType;d.extension=extension;d.extensions=Object.create(null);d.lookup=lookup;d.types=Object.create(null);populateMaps(d.extensions,d.types);function charset(i){if(!i||typeof i!=="string"){return false}var d=D.exec(i);var p=d&&y[d[1].toLowerCase()];if(p&&p.charset){return p.charset}if(d&&M.test(d[1])){return"UTF-8"}return false}function contentType(i){if(!i||typeof i!=="string"){return false}var p=i.indexOf("/")===-1?d.lookup(i):i;if(!p){return false}if(p.indexOf("charset")===-1){var y=d.charset(p);if(y)p+="; charset="+y.toLowerCase()}return p}function extension(i){if(!i||typeof i!=="string"){return false}var p=D.exec(i);var y=p&&d.extensions[p[1].toLowerCase()];if(!y||!y.length){return false}return y[0]}function lookup(i){if(!i||typeof i!=="string"){return false}var p=v("x."+i).toLowerCase().substr(1);if(!p){return false}return d.types[p]||false}function populateMaps(i,d){var p=["nginx","apache",undefined,"iana"];Object.keys(y).forEach((function forEachMimeType(v){var D=y[v];var M=D.extensions;if(!M||!M.length){return}i[v]=M;for(var U=0;U<M.length;U++){var j=M[U];if(d[j]){var V=p.indexOf(y[d[j]].source);var K=p.indexOf(D.source);if(d[j]!=="application/octet-stream"&&(V>K||V===K&&d[j].substr(0,12)==="application/")){continue}}d[j]=v}}))}},43772:(i,d,p)=>{i.exports=minimatch;minimatch.Minimatch=Minimatch;var y=function(){try{return p(16928)}catch(i){}}()||{sep:"/"};minimatch.sep=y.sep;var v=minimatch.GLOBSTAR=Minimatch.GLOBSTAR={};var D=p(73783);var M={"!":{open:"(?:(?!(?:",close:"))[^/]*?)"},"?":{open:"(?:",close:")?"},"+":{open:"(?:",close:")+"},"*":{open:"(?:",close:")*"},"@":{open:"(?:",close:")"}};var U="[^/]";var j=U+"*?";var V="(?:(?!(?:\\/|^)(?:\\.{1,2})($|\\/)).)*?";var K="(?:(?!(?:\\/|^)\\.).)*?";var ee=charSet("().*{}+?[]^$\\!");function charSet(i){return i.split("").reduce((function(i,d){i[d]=true;return i}),{})}var te=/\/+/;minimatch.filter=filter;function filter(i,d){d=d||{};return function(p,y,v){return minimatch(p,i,d)}}function ext(i,d){d=d||{};var p={};Object.keys(i).forEach((function(d){p[d]=i[d]}));Object.keys(d).forEach((function(i){p[i]=d[i]}));return p}minimatch.defaults=function(i){if(!i||typeof i!=="object"||!Object.keys(i).length){return minimatch}var d=minimatch;var p=function minimatch(p,y,v){return d(p,y,ext(i,v))};p.Minimatch=function Minimatch(p,y){return new d.Minimatch(p,ext(i,y))};p.Minimatch.defaults=function defaults(p){return d.defaults(ext(i,p)).Minimatch};p.filter=function filter(p,y){return d.filter(p,ext(i,y))};p.defaults=function defaults(p){return d.defaults(ext(i,p))};p.makeRe=function makeRe(p,y){return d.makeRe(p,ext(i,y))};p.braceExpand=function braceExpand(p,y){return d.braceExpand(p,ext(i,y))};p.match=function(p,y,v){return d.match(p,y,ext(i,v))};return p};Minimatch.defaults=function(i){return minimatch.defaults(i).Minimatch};function minimatch(i,d,p){assertValidPattern(d);if(!p)p={};if(!p.nocomment&&d.charAt(0)==="#"){return false}return new Minimatch(d,p).match(i)}function Minimatch(i,d){if(!(this instanceof Minimatch)){return new Minimatch(i,d)}assertValidPattern(i);if(!d)d={};i=i.trim();if(!d.allowWindowsEscape&&y.sep!=="/"){i=i.split(y.sep).join("/")}this.options=d;this.set=[];this.pattern=i;this.regexp=null;this.negate=false;this.comment=false;this.empty=false;this.partial=!!d.partial;this.make()}Minimatch.prototype.debug=function(){};Minimatch.prototype.make=make;function make(){var i=this.pattern;var d=this.options;if(!d.nocomment&&i.charAt(0)==="#"){this.comment=true;return}if(!i){this.empty=true;return}this.parseNegate();var p=this.globSet=this.braceExpand();if(d.debug)this.debug=function debug(){console.error.apply(console,arguments)};this.debug(this.pattern,p);p=this.globParts=p.map((function(i){return i.split(te)}));this.debug(this.pattern,p);p=p.map((function(i,d,p){return i.map(this.parse,this)}),this);this.debug(this.pattern,p);p=p.filter((function(i){return i.indexOf(false)===-1}));this.debug(this.pattern,p);this.set=p}Minimatch.prototype.parseNegate=parseNegate;function parseNegate(){var i=this.pattern;var d=false;var p=this.options;var y=0;if(p.nonegate)return;for(var v=0,D=i.length;v<D&&i.charAt(v)==="!";v++){d=!d;y++}if(y)this.pattern=i.substr(y);this.negate=d}minimatch.braceExpand=function(i,d){return braceExpand(i,d)};Minimatch.prototype.braceExpand=braceExpand;function braceExpand(i,d){if(!d){if(this instanceof Minimatch){d=this.options}else{d={}}}i=typeof i==="undefined"?this.pattern:i;assertValidPattern(i);if(d.nobrace||!/\{(?:(?!\{).)*\}/.test(i)){return[i]}return D(i)}var re=1024*64;var assertValidPattern=function(i){if(typeof i!=="string"){throw new TypeError("invalid pattern")}if(i.length>re){throw new TypeError("pattern is too long")}};Minimatch.prototype.parse=parse;var ne={};function parse(i,d){assertValidPattern(i);var p=this.options;if(i==="**"){if(!p.noglobstar)return v;eLine truncated
/*!
* normalize-path <https://github.com/jonschlinkert/normalize-path>
*
* Copyright (c) 2014-2018, Jon Schlinkert.
* Released under the MIT License.
*/
i.exports=function(i,d){if(typeof i!=="string"){throw new TypeError("expected path to be a string")}if(i==="\\"||i==="/")return"/";var p=i.length;if(p<=1)return i;var y="";if(p>4&&i[3]==="\\"){var v=i[2];if((v==="?"||v===".")&&i.slice(0,2)==="\\\\"){i=i.slice(2);y="//"}}var D=i.split(/[/\\]+/);if(d!==false&&D[D.length-1]===""){D.pop()}return y+D.join("/")}},55560:(i,d,p)=>{var y=p(58264);i.exports=y(once);i.exports.strict=y(onceStrict);once.proto=once((function(){Object.defineProperty(Function.prototype,"once",{value:function(){return once(this)},configurable:true});Object.defineProperty(Function.prototype,"onceStrict",{value:function(){return onceStrict(this)},configurable:true})}));function once(i){var f=function(){if(f.called)return f.value;f.called=true;return f.value=i.apply(this,arguments)};f.called=false;return f}function onceStrict(i){var f=function(){if(f.called)throw new Error(f.onceError);f.called=true;return f.value=i.apply(this,arguments)};var d=i.name||"Function wrapped with `once`";f.onceError=d+" shouldn't be called more than once";f.called=false;return f}},41564:i=>{"use strict";if(typeof process==="undefined"||!process.version||process.version.indexOf("v0.")===0||process.version.indexOf("v1.")===0&&process.version.indexOf("v1.8.")!==0){i.exports={nextTick:nextTick}}else{i.exports=process}function nextTick(i,d,p,y){if(typeof i!=="function"){throw new TypeError('"callback" argument must be a function')}var v=arguments.length;var D,M;switch(v){case 0:case 1:return process.nextTick(i);case 2:return process.nextTick((function afterTickOne(){i.call(null,d)}));case 3:return process.nextTick((function afterTickTwo(){i.call(null,d,p)}));case 4:return process.nextTick((function afterTickThree(){i.call(null,d,p,y)}));default:D=new Array(v-1);M=0;while(M<D.length){D[M++]=arguments[M]}return process.nextTick((function afterTick(){i.apply(null,D)}))}}},7945:i=>{i.exports=global.process},5506:(i,d,p)=>{i.exports=typeof process!=="undefined"&&typeof process.nextTick==="function"?process.nextTick.bind(process):p(36828)},36828:i=>{i.exports=typeof queueMicrotask==="function"?queueMicrotask:i=>Promise.resolve().then(i)},80652:(i,d,p)=>{"use strict";const{SymbolDispose:y}=p(50999);const{AbortError:v,codes:D}=p(69220);const{isNodeStream:M,isWebStream:U,kControllerErrorFunction:j}=p(83426);const V=p(36815);const{ERR_INVALID_ARG_TYPE:K}=D;let ee;const validateAbortSignal=(i,d)=>{if(typeof i!=="object"||!("aborted"in i)){throw new K(d,"AbortSignal",i)}};i.exports.addAbortSignal=function addAbortSignal(d,p){validateAbortSignal(d,"signal");if(!M(p)&&!U(p)){throw new K("stream",["ReadableStream","WritableStream","Stream"],p)}return i.exports.addAbortSignalNoValidate(d,p)};i.exports.addAbortSignalNoValidate=function(i,d){if(typeof i!=="object"||!("aborted"in i)){return d}const D=M(d)?()=>{d.destroy(new v(undefined,{cause:i.reason}))}:()=>{d[j](new v(undefined,{cause:i.reason}))};if(i.aborted){D()}else{ee=ee||p(23539).addAbortListener;const v=ee(i,D);V(d,v[y])}return d}},77336:(i,d,p)=>{"use strict";const{StringPrototypeSlice:y,SymbolIterator:v,TypedArrayPrototypeSet:D,Uint8Array:M}=p(50999);const{Buffer:U}=p(20181);const{inspect:j}=p(23539);i.exports=class BufferList{constructor(){this.head=null;this.tail=null;this.length=0}push(i){const d={data:i,next:null};if(this.length>0)this.tail.next=d;else this.head=d;this.tail=d;++this.length}unshift(i){const d={data:i,next:this.head};if(this.length===0)this.tail=d;this.head=d;++this.length}shift(){if(this.length===0)return;const i=this.head.data;if(this.length===1)this.head=this.tail=null;else this.head=this.head.next;--this.length;return i}clear(){this.head=this.tail=null;this.length=0}join(i){if(this.length===0)return"";let d=this.head;let p=""+d.data;while((d=d.next)!==null)p+=i+d.data;return p}concat(i){if(this.length===0)return U.alloc(0);const d=U.allocUnsafe(i>>>0);let p=this.head;let y=0;while(p){D(d,p.data,y);y+=p.data.length;p=p.next}return d}consume(i,d){const p=this.head.data;if(i<p.length){const d=p.slice(0,i);this.head.data=p.slice(i);return d}if(i===p.length){return this.shift()}return d?this._getString(i):this._getBuffer(i)}first(){return this.head.data}*[v](){for(let i=this.head;i;i=i.next){yield i.data}}_getString(i){let d="";let p=this.head;let v=0;do{const D=p.data;if(i>D.length){d+=D;i-=D.length}else{if(i===D.length){d+=D;++v;if(p.next)this.head=p.next;else this.head=this.tail=null}else{d+=y(D,0,i);this.head=p;p.data=y(D,i)}break}++v}while((p=p.next)!==null);this.length-=v;return d}_getBuffer(i){const d=U.allocUnsafe(i);const p=i;let y=this.head;let v=0;do{const U=y.data;if(i>U.length){D(d,U,p-i);i-=U.length}else{if(i===U.length){D(d,U,p-i);++v;if(y.next)this.head=y.next;else this.head=this.tail=null}else{D(d,new M(U.buffer,U.byteOffset,i),p-i);this.head=y;y.data=U.slice(i)}break}++v}while((y=y.next)!==null);this.length-=v;return d}[Symbol.for("nodejs.util.inspect.custom")](i,d){return j(this,{...d,depth:0,customInspect:false})}}},64999:(i,d,p)=>{"use sLine truncated
/*! http://mths.be/fromcodepoint v0.1.0 by @mathias */if(!String.fromCodePoint){(function(){var i=String.fromCharCode;var d=Math.floor;var fromCodePoint=function(){var p=16384;var y=[];var v;var D;var M=-1;var U=arguments.length;if(!U){return""}var j="";while(++M<U){var V=Number(arguments[M]);if(!isFinite(V)||V<0||V>1114111||d(V)!==V){throw RangeError("Invalid code point: "+V)}if(V<=65535){y.push(V)}else{V-=65536;v=(V>>10)+55296;D=V%1024+56320;y.push(v,D)}if(M+1===U||y.length>p){j+=i.apply(null,y);y.length=0}}return j};if(Object.defineProperty){Object.defineProperty(String,"fromCodePoint",{value:fromCodePoint,configurable:true,writable:true})}else{String.fromCodePoint=fromCodePoint}})()}})(false?0:d)},39318:(i,d)=>{d=i.exports=SemVer;var p;if(typeof process==="object"&&process.env&&process.env.NODE_DEBUG&&/\bsemver\b/i.test(process.env.NODE_DEBUG)){p=function(){var i=Array.prototype.slice.call(arguments,0);i.unshift("SEMVER");console.log.apply(console,i)}}else{p=function(){}}d.SEMVER_SPEC_VERSION="2.0.0";var y=256;var v=Number.MAX_SAFE_INTEGER||9007199254740991;var D=16;var M=y-6;var U=d.re=[];var j=d.safeRe=[];var V=d.src=[];var K=d.tokens={};var ee=0;function tok(i){K[i]=ee++}var te="[a-zA-Z0-9-]";var re=[["\\s",1],["\\d",y],[te,M]];function makeSafeRe(i){for(var d=0;d<re.length;d++){var p=re[d][0];var y=re[d][1];i=i.split(p+"*").join(p+"{0,"+y+"}").split(p+"+").join(p+"{1,"+y+"}")}return i}tok("NUMERICIDENTIFIER");V[K.NUMERICIDENTIFIER]="0|[1-9]\\d*";tok("NUMERICIDENTIFIERLOOSE");V[K.NUMERICIDENTIFIERLOOSE]="\\d+";tok("NONNUMERICIDENTIFIER");V[K.NONNUMERICIDENTIFIER]="\\d*[a-zA-Z-]"+te+"*";tok("MAINVERSION");V[K.MAINVERSION]="("+V[K.NUMERICIDENTIFIER]+")\\."+"("+V[K.NUMERICIDENTIFIER]+")\\."+"("+V[K.NUMERICIDENTIFIER]+")";tok("MAINVERSIONLOOSE");V[K.MAINVERSIONLOOSE]="("+V[K.NUMERICIDENTIFIERLOOSE]+")\\."+"("+V[K.NUMERICIDENTIFIERLOOSE]+")\\."+"("+V[K.NUMERICIDENTIFIERLOOSE]+")";tok("PRERELEASEIDENTIFIER");V[K.PRERELEASEIDENTIFIER]="(?:"+V[K.NUMERICIDENTIFIER]+"|"+V[K.NONNUMERICIDENTIFIER]+")";tok("PRERELEASEIDENTIFIERLOOSE");V[K.PRERELEASEIDENTIFIERLOOSE]="(?:"+V[K.NUMERICIDENTIFIERLOOSE]+"|"+V[K.NONNUMERICIDENTIFIER]+")";tok("PRERELEASE");V[K.PRERELEASE]="(?:-("+V[K.PRERELEASEIDENTIFIER]+"(?:\\."+V[K.PRERELEASEIDENTIFIER]+")*))";tok("PRERELEASELOOSE");V[K.PRERELEASELOOSE]="(?:-?("+V[K.PRERELEASEIDENTIFIERLOOSE]+"(?:\\."+V[K.PRERELEASEIDENTIFIERLOOSE]+")*))";tok("BUILDIDENTIFIER");V[K.BUILDIDENTIFIER]=te+"+";tok("BUILD");V[K.BUILD]="(?:\\+("+V[K.BUILDIDENTIFIER]+"(?:\\."+V[K.BUILDIDENTIFIER]+")*))";tok("FULL");tok("FULLPLAIN");V[K.FULLPLAIN]="v?"+V[K.MAINVERSION]+V[K.PRERELEASE]+"?"+V[K.BUILD]+"?";V[K.FULL]="^"+V[K.FULLPLAIN]+"$";tok("LOOSEPLAIN");V[K.LOOSEPLAIN]="[v=\\s]*"+V[K.MAINVERSIONLOOSE]+V[K.PRERELEASELOOSE]+"?"+V[K.BUILD]+"?";tok("LOOSE");V[K.LOOSE]="^"+V[K.LOOSEPLAIN]+"$";tok("GTLT");V[K.GTLT]="((?:<|>)?=?)";tok("XRANGEIDENTIFIERLOOSE");V[K.XRANGEIDENTIFIERLOOSE]=V[K.NUMERICIDENTIFIERLOOSE]+"|x|X|\\*";tok("XRANGEIDENTIFIER");V[K.XRANGEIDENTIFIER]=V[K.NUMERICIDENTIFIER]+"|x|X|\\*";tok("XRANGEPLAIN");V[K.XRANGEPLAIN]="[v=\\s]*("+V[K.XRANGEIDENTIFIER]+")"+"(?:\\.("+V[K.XRANGEIDENTIFIER]+")"+"(?:\\.("+V[K.XRANGEIDENTIFIER]+")"+"(?:"+V[K.PRERELEASE]+")?"+V[K.BUILD]+"?"+")?)?";tok("XRANGEPLAINLOOSE");V[K.XRANGEPLAINLOOSE]="[v=\\s]*("+V[K.XRANGEIDENTIFIERLOOSE]+")"+"(?:\\.("+V[K.XRANGEIDENTIFIERLOOSE]+")"+"(?:\\.("+V[K.XRANGEIDENTIFIERLOOSE]+")"+"(?:"+V[K.PRERELEASELOOSE]+")?"+V[K.BUILD]+"?"+")?)?";tok("XRANGE");V[K.XRANGE]="^"+V[K.GTLT]+"\\s*"+V[K.XRANGEPLAIN]+"$";tok("XRANGELOOSE");V[K.XRANGELOOSE]="^"+V[K.GTLT]+"\\s*"+V[K.XRANGEPLAINLOOSE]+"$";tok("COERCE");V[K.COERCE]="(^|[^\\d])"+"(\\d{1,"+D+"})"+"(?:\\.(\\d{1,"+D+"}))?"+"(?:\\.(\\d{1,"+D+"}))?"+"(?:$|[^\\d])";tok("COERCERTL");U[K.COERCERTL]=new RegExp(V[K.COERCE],"g");j[K.COERCERTL]=new RegExp(makeSafeRe(V[K.COERCE]),"g");tok("LONETILDE");V[K.LONETILDE]="(?:~>?)";tok("TILDETRIM");V[K.TILDETRIM]="(\\s*)"+V[K.LONETILDE]+"\\s+";U[K.TILDETRIM]=new RegExp(V[K.TILDETRIM],"g");j[K.TILDETRIM]=new RegExp(makeSafeRe(V[K.TILDETRIM]),"g");var ne="$1~";tok("TILDE");V[K.TILDE]="^"+V[K.LONETILDE]+V[K.XRANGEPLAIN]+"$";tok("TILDELOOSE");V[K.TILDELOOSE]="^"+V[K.LONETILDE]+V[K.XRANGEPLAINLOOSE]+"$";tok("LONECARET");V[K.LONECARET]="(?:\\^)";tok("CARETTRIM");V[K.CARETTRIM]="(\\s*)"+V[K.LONECARET]+"\\s+";U[K.CARETTRIM]=new RegExp(V[K.CARETTRIM],"g");j[K.CARETTRIM]=new RegExp(makeSafeRe(V[K.CARETTRIM]),"g");var ie="$1^";tok("CARET");V[K.CARET]="^"+V[K.LONECARET]+V[K.XRANGEPLAIN]+"$";tok("CARETLOOSE");V[K.CARETLOOSE]="^"+V[K.LONECARET]+V[K.XRANGEPLAINLOOSE]+"$";tok("COMPARATORLOOSE");V[K.COMPARATORLOOSE]="^"+V[K.GTLT]+"\\s*("+V[K.LOOSEPLAIN]+")$|^$";tok("COMPARATOR");V[K.COMPARATOR]="^"+V[K.GTLT]+"\\s*("+V[K.FULLPLAIN]+")$|^$";tok("COMPARATORTRIM");V[K.COMPARATORTRIM]="(\\s*)"+V[K.GTLT]+"\\s*("+V[K.LOOSEPLAIN]+"|"+V[K.XRANGEPLAIN]+")";U[K.COMPARATORTRIM]=new RegExp(V[K.COMPARATORTRIM],"g");j[K.COMPARATORTRIM]=new RegExp(makeSafeRe(V[K.COMPARATORTRIM]),"g");var se="$1Line truncated
/*!
* Tmp
*
* Copyright (c) 2011-2017 KARASZI Istvan <github@spam.raszi.hu>
*
* MIT Licensed
*/
const y=p(79896);const v=p(70857);const D=p(16928);const M=p(76982);const U={fs:y.constants,os:v.constants};const j="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz",V=/XXXXXX/,K=3,ee=(U.O_CREAT||U.fs.O_CREAT)|(U.O_EXCL||U.fs.O_EXCL)|(U.O_RDWR||U.fs.O_RDWR),te=v.platform()==="win32",re=U.EBADF||U.os.errno.EBADF,ne=U.ENOENT||U.os.errno.ENOENT,ie=448,se=384,ae="exit",oe=[],ce=y.rmdirSync.bind(y);let le=false;function rimraf(i,d){return y.rm(i,{recursive:true},d)}function FN_RIMRAF_SYNC(i){return y.rmSync(i,{recursive:true})}function tmpName(i,d){const p=_parseArguments(i,d),v=p[0],D=p[1];_assertAndSanitizeOptions(v,(function(i,d){if(i)return D(i);let p=d.tries;(function _getUniqueName(){try{const i=_generateTmpName(d);y.stat(i,(function(d){if(!d){if(p-- >0)return _getUniqueName();return D(new Error("Could not get a unique tmp filename, max tries reached "+i))}D(null,i)}))}catch(i){D(i)}})()}))}function tmpNameSync(i){const d=_parseArguments(i),p=d[0];const v=_assertAndSanitizeOptionsSync(p);let D=v.tries;do{const i=_generateTmpName(v);try{y.statSync(i)}catch(d){return i}}while(D-- >0);throw new Error("Could not get a unique tmp filename, max tries reached")}function file(i,d){const p=_parseArguments(i,d),v=p[0],D=p[1];tmpName(v,(function _tmpNameCreated(i,d){if(i)return D(i);y.open(d,ee,v.mode||se,(function _fileCreated(i,p){if(i)return D(i);if(v.discardDescriptor){return y.close(p,(function _discardCallback(i){return D(i,d,undefined,_prepareTmpFileRemoveCallback(d,-1,v,false))}))}else{const i=v.discardDescriptor||v.detachDescriptor;D(null,d,p,_prepareTmpFileRemoveCallback(d,i?-1:p,v,false))}}))}))}function fileSync(i){const d=_parseArguments(i),p=d[0];const v=p.discardDescriptor||p.detachDescriptor;const D=tmpNameSync(p);let M=y.openSync(D,ee,p.mode||se);if(p.discardDescriptor){y.closeSync(M);M=undefined}return{name:D,fd:M,removeCallback:_prepareTmpFileRemoveCallback(D,v?-1:M,p,true)}}function dir(i,d){const p=_parseArguments(i,d),v=p[0],D=p[1];tmpName(v,(function _tmpNameCreated(i,d){if(i)return D(i);y.mkdir(d,v.mode||ie,(function _dirCreated(i){if(i)return D(i);D(null,d,_prepareTmpDirRemoveCallback(d,v,false))}))}))}function dirSync(i){const d=_parseArguments(i),p=d[0];const v=tmpNameSync(p);y.mkdirSync(v,p.mode||ie);return{name:v,removeCallback:_prepareTmpDirRemoveCallback(v,p,true)}}function _removeFileAsync(i,d){const _handler=function(i){if(i&&!_isENOENT(i)){return d(i)}d()};if(0<=i[0])y.close(i[0],(function(){y.unlink(i[1],_handler)}));else y.unlink(i[1],_handler)}function _removeFileSync(i){let d=null;try{if(0<=i[0])y.closeSync(i[0])}catch(i){if(!_isEBADF(i)&&!_isENOENT(i))throw i}finally{try{y.unlinkSync(i[1])}catch(i){if(!_isENOENT(i))d=i}}if(d!==null){throw d}}function _prepareTmpFileRemoveCallback(i,d,p,y){const v=_prepareRemoveCallback(_removeFileSync,[d,i],y);const D=_prepareRemoveCallback(_removeFileAsync,[d,i],y,v);if(!p.keep)oe.unshift(v);return y?v:D}function _prepareTmpDirRemoveCallback(i,d,p){const v=d.unsafeCleanup?rimraf:y.rmdir.bind(y);const D=d.unsafeCleanup?FN_RIMRAF_SYNC:ce;const M=_prepareRemoveCallback(D,i,p);const U=_prepareRemoveCallback(v,i,p,M);if(!d.keep)oe.unshift(M);return p?M:U}function _prepareRemoveCallback(i,d,p,y){let v=false;return function _cleanupCallback(D){if(!v){const M=y||_cleanupCallback;const U=oe.indexOf(M);if(U>=0)oe.splice(U,1);v=true;if(p||i===ce||i===FN_RIMRAF_SYNC){return i(d)}else{return i(d,D||function(){})}}}}function _garbageCollector(){if(!le)return;while(oe.length){try{oe[0]()}catch(i){}}}function _randomChars(i){let d=[],p=null;try{p=M.randomBytes(i)}catch(d){p=M.pseudoRandomBytes(i)}for(let y=0;y<i;y++){d.push(j[p[y]%j.length])}return d.join("")}function _isUndefined(i){return typeof i==="undefined"}function _parseArguments(i,d){if(typeof i==="function"){return[{},i]}if(_isUndefined(i)){return[{},d]}const p={};for(const d of Object.getOwnPropertyNames(i)){p[d]=i[d]}return[p,d]}function _resolvePath(i,d,p){const v=D.isAbsolute(i)?i:D.join(d,i);y.stat(v,(function(i){if(i){y.realpath(D.dirname(v),(function(i,d){if(i)return p(i);p(null,D.join(d,D.basename(v)))}))}else{y.realpath(v,p)}}))}function _resolvePathSync(i,d){const p=D.isAbsolute(i)?i:D.join(d,i);try{y.statSync(p);return y.realpathSync(p)}catch(i){const d=y.realpathSync(D.dirname(p));return D.join(d,D.basename(p))}}function _generateTmpName(i){const d=i.tmpdir;if(!_isUndefined(i.name)){return D.join(d,i.dir,i.name)}if(!_isUndefined(i.template)){return D.join(d,i.dir,i.template).replace(V,_randomChars(6))}const p=[i.prefix?i.prefix:"tmp","-",process.pid,"-",_randomChars(12),i.postfix?"-"+i.postfix:""].join("");return D.join(d,i.dir,p)}function _assertOptionsBase(i){if(!_isUndefined(i.name)){const d=i.name;if(D.isAbsolute(d))throw new Error(`name option must not contain an absolute path, found "${d}".`);const p=D.basename(d);if(p===".."||p==="."||p!==d)throw new Error(`name option must not contain a path, found "${d}".`)}if(!_isUndefined(i.template)&&!i.template.match(V)){throwLine truncated
/*! formdata-polyfill. MIT License. Jimmy Wärting <https://jimmy.warting.se/opensource> */;const escape=i=>i.replace(/\n/g,"%0A").replace(/\r/g,"%0D").replace(/"/g,"%22");const normalizeLinefeeds=i=>i.replace(/\r?\n|\r/g,"\r\n");const y=[];const v=new Uint8Array([13,10]);ee=0;let D=false;for(const[d,M]of i){if(typeof M==="string"){const i=ye.encode(p+`; name="${escape(normalizeLinefeeds(d))}"`+`\r\n\r\n${normalizeLinefeeds(M)}\r\n`);y.push(i);ee+=i.byteLength}else{const i=ye.encode(`${p}; name="${escape(normalizeLinefeeds(d))}"`+(M.name?`; filename="${escape(M.name)}"`:"")+"\r\n"+`Content-Type: ${M.type||"application/octet-stream"}\r\n\r\n`);y.push(i,M,v);if(typeof M.size==="number"){ee+=i.byteLength+M.size+v.byteLength}else{D=true}}}const M=ye.encode(`--${d}--`);y.push(M);ee+=M.byteLength;if(D){ee=null}K=i;V=async function*(){for(const i of y){if(i.stream){yield*i.stream()}else{yield i}}};te="multipart/form-data; boundary="+d}else if(M(i)){K=i;ee=i.size;if(i.type){te=i.type}}else if(typeof i[Symbol.asyncIterator]==="function"){if(d){throw new TypeError("keepalive")}if(v.isDisturbed(i)||i.locked){throw new TypeError("Response body object should not be disturbed or locked")}y=i instanceof ge?i:D(i)}if(typeof K==="string"||v.isBuffer(K)){ee=Buffer.byteLength(K)}if(V!=null){let d;y=new ge({async start(){d=V(i)[Symbol.asyncIterator]()},async pull(i){const{value:p,done:v}=await d.next();if(v){queueMicrotask((()=>{i.close()}))}else{if(!le(y)){i.enqueue(new Uint8Array(p))}}return i.desiredSize>0},async cancel(i){await d.return()},type:undefined})}const re={stream:y,source:K,length:ee};return[re,te]}function safelyExtractBody(i,d=false){if(!ge){ge=p(63774).ReadableStream}if(i instanceof ge){ce(!v.isDisturbed(i),"The body has already been consumed.");ce(!i.locked,"The stream is locked.")}return extractBody(i,d)}function cloneBody(i){const[d,p]=i.stream.tee();const y=ie(p,{transfer:[p]});const[,v]=y.tee();i.stream=d;return{stream:v,length:i.length,source:i.source}}async function*consumeBody(i){if(i){if(de(i)){yield i}else{const d=i.stream;if(v.isDisturbed(d)){throw new TypeError("The body has already been consumed.")}if(d.locked){throw new TypeError("The stream is locked.")}d[oe]=true;yield*d}}}function throwIfAborted(i){if(i.aborted){throw new ne("The operation was aborted.","AbortError")}}function bodyMixinMethods(i){const d={blob(){return specConsumeBody(this,(i=>{let d=bodyMimeType(this);if(d==="failure"){d=""}else if(d){d=fe(d)}return new se([i],{type:d})}),i)},arrayBuffer(){return specConsumeBody(this,(i=>new Uint8Array(i).buffer),i)},text(){return specConsumeBody(this,utf8DecodeBytes,i)},json(){return specConsumeBody(this,parseJSONFromBytes,i)},async formData(){re.brandCheck(this,i);throwIfAborted(this[te]);const d=this.headers.get("Content-Type");if(/multipart\/form-data/.test(d)){const i={};for(const[d,p]of this.headers)i[d.toLowerCase()]=p;const d=new ee;let p;try{p=new y({headers:i,preservePath:true})}catch(i){throw new ne(`${i}`,"AbortError")}p.on("field",((i,p)=>{d.append(i,p)}));p.on("file",((i,p,y,v,D)=>{const M=[];if(v==="base64"||v.toLowerCase()==="base64"){let v="";p.on("data",(i=>{v+=i.toString().replace(/[\r\n]/gm,"");const d=v.length-v.length%4;M.push(Buffer.from(v.slice(0,d),"base64"));v=v.slice(d)}));p.on("end",(()=>{M.push(Buffer.from(v,"base64"));d.append(i,new Ae(M,y,{type:D}))}))}else{p.on("data",(i=>{M.push(i)}));p.on("end",(()=>{d.append(i,new Ae(M,y,{type:D}))}))}}));const v=new Promise(((i,d)=>{p.on("finish",i);p.on("error",(i=>d(new TypeError(i))))}));if(this.body!==null)for await(const i of consumeBody(this[te].body))p.write(i);p.end();await v;return d}else if(/application\/x-www-form-urlencoded/.test(d)){let i;try{let d="";const p=new TextDecoder("utf-8",{ignoreBOM:true});for await(const i of consumeBody(this[te].body)){if(!de(i)){throw new TypeError("Expected Uint8Array chunk")}d+=p.decode(i,{stream:true})}d+=p.decode();i=new URLSearchParams(d)}catch(i){throw Object.assign(new TypeError,{cause:i})}const d=new ee;for(const[p,y]of i){d.append(p,y)}return d}else{await Promise.resolve();throwIfAborted(this[te]);throw re.errors.exception({header:`${i.name}.formData`,message:"Could not parse content as FormData."})}}};return d}function mixinBody(i){Object.assign(i.prototype,bodyMixinMethods(i))}async function specConsumeBody(i,d,p){re.brandCheck(i,p);throwIfAborted(i[te]);if(bodyUnusable(i[te].body)){throw new TypeError("Body is unusable")}const y=V();const errorSteps=i=>y.reject(i);const successSteps=i=>{try{y.resolve(d(i))}catch(i){errorSteps(i)}};if(i[te].body==null){successSteps(new Uint8Array);return y.promise}await K(i[te].body,successSteps,errorSteps);return y.promise}function bodyUnusable(i){return i!=null&&(i.stream.locked||v.isDisturbed(i.stream))}function utf8DecodeBytes(i){if(i.length===0){return""}if(i[0]===239&&i[1]===187&&i[2]===191){i=i.subarray(3)}const d=be.decode(i);return d}function parseJSONFromBytes(i){return JSON.parse(utf8DecodeBytes(i))}function bodyMimeType(i){Line truncated
/*! ws. MIT License. Einar Otto Stangvik <einaros@gmail.com> */D[v-4]=this.maskKey[0];D[v-3]=this.maskKey[1];D[v-2]=this.maskKey[2];D[v-1]=this.maskKey[3];D[1]=p;if(p===126){D.writeUInt16BE(d,2)}else if(p===127){D[2]=D[3]=0;D.writeUIntBE(d,4,6)}D[1]|=128;for(let i=0;i<d;i++){D[v+i]=this.frameData[i]^this.maskKey[i%4]}return D}}i.exports={WebsocketFrameSend:WebsocketFrameSend}},43171:(i,d,p)=>{"use strict";const{Writable:y}=p(2203);const v=p(31637);const{parserStates:D,opcodes:M,states:U,emptyBuffer:j}=p(45913);const{kReadyState:V,kSentClose:K,kResponse:ee,kReceivedClose:te}=p(62933);const{isValidStatusCode:re,failWebsocketConnection:ne,websocketMessageReceived:ie}=p(3574);const{WebsocketFrameSend:se}=p(31237);const ae={};ae.ping=v.channel("undici:websocket:ping");ae.pong=v.channel("undici:websocket:pong");class ByteParser extends y{#a=[];#o=0;#c=D.INFO;#l={};#d=[];constructor(i){super();this.ws=i}_write(i,d,p){this.#a.push(i);this.#o+=i.length;this.run(p)}run(i){while(true){if(this.#c===D.INFO){if(this.#o<2){return i()}const d=this.consume(2);this.#l.fin=(d[0]&128)!==0;this.#l.opcode=d[0]&15;this.#l.originalOpcode??=this.#l.opcode;this.#l.fragmented=!this.#l.fin&&this.#l.opcode!==M.CONTINUATION;if(this.#l.fragmented&&this.#l.opcode!==M.BINARY&&this.#l.opcode!==M.TEXT){ne(this.ws,"Invalid frame type was fragmented.");return}const p=d[1]&127;if(p<=125){this.#l.payloadLength=p;this.#c=D.READ_DATA}else if(p===126){this.#c=D.PAYLOADLENGTH_16}else if(p===127){this.#c=D.PAYLOADLENGTH_64}if(this.#l.fragmented&&p>125){ne(this.ws,"Fragmented frame exceeded 125 bytes.");return}else if((this.#l.opcode===M.PING||this.#l.opcode===M.PONG||this.#l.opcode===M.CLOSE)&&p>125){ne(this.ws,"Payload length for control frame exceeded 125 bytes.");return}else if(this.#l.opcode===M.CLOSE){if(p===1){ne(this.ws,"Received close frame with a 1-byte body.");return}const i=this.consume(p);this.#l.closeInfo=this.parseCloseBody(false,i);if(!this.ws[K]){const i=Buffer.allocUnsafe(2);i.writeUInt16BE(this.#l.closeInfo.code,0);const d=new se(i);this.ws[ee].socket.write(d.createFrame(M.CLOSE),(i=>{if(!i){this.ws[K]=true}}))}this.ws[V]=U.CLOSING;this.ws[te]=true;this.end();return}else if(this.#l.opcode===M.PING){const d=this.consume(p);if(!this.ws[te]){const i=new se(d);this.ws[ee].socket.write(i.createFrame(M.PONG));if(ae.ping.hasSubscribers){ae.ping.publish({payload:d})}}this.#c=D.INFO;if(this.#o>0){continue}else{i();return}}else if(this.#l.opcode===M.PONG){const d=this.consume(p);if(ae.pong.hasSubscribers){ae.pong.publish({payload:d})}if(this.#o>0){continue}else{i();return}}}else if(this.#c===D.PAYLOADLENGTH_16){if(this.#o<2){return i()}const d=this.consume(2);this.#l.payloadLength=d.readUInt16BE(0);this.#c=D.READ_DATA}else if(this.#c===D.PAYLOADLENGTH_64){if(this.#o<8){return i()}const d=this.consume(8);const p=d.readUInt32BE(0);if(p>2**31-1){ne(this.ws,"Received payload length > 2^31 bytes.");return}const y=d.readUInt32BE(4);this.#l.payloadLength=(p<<8)+y;this.#c=D.READ_DATA}else if(this.#c===D.READ_DATA){if(this.#o<this.#l.payloadLength){return i()}else if(this.#o>=this.#l.payloadLength){const i=this.consume(this.#l.payloadLength);this.#d.push(i);if(!this.#l.fragmented||this.#l.fin&&this.#l.opcode===M.CONTINUATION){const i=Buffer.concat(this.#d);ie(this.ws,this.#l.originalOpcode,i);this.#l={};this.#d.length=0}this.#c=D.INFO}}if(this.#o>0){continue}else{i();break}}}consume(i){if(i>this.#o){return null}else if(i===0){return j}if(this.#a[0].length===i){this.#o-=this.#a[0].length;return this.#a.shift()}const d=Buffer.allocUnsafe(i);let p=0;while(p!==i){const y=this.#a[0];const{length:v}=y;if(v+p===i){d.set(this.#a.shift(),p);break}else if(v+p>i){d.set(y.subarray(0,i-p),p);this.#a[0]=y.subarray(i-p);break}else{d.set(this.#a.shift(),p);p+=y.length}}this.#o-=i;return d}parseCloseBody(i,d){let p;if(d.length>=2){p=d.readUInt16BE(0)}if(i){if(!re(p)){return null}return{code:p}}let y=d.subarray(2);if(y[0]===239&&y[1]===187&&y[2]===191){y=y.subarray(3)}if(p!==undefined&&!re(p)){return null}try{y=new TextDecoder("utf-8",{fatal:true}).decode(y)}catch{return null}return{code:p,reason:y}}get closingInfo(){return this.#l.closeInfo}}i.exports={ByteParser:ByteParser}},62933:i=>{"use strict";i.exports={kWebSocketURL:Symbol("url"),kReadyState:Symbol("ready state"),kController:Symbol("controller"),kResponse:Symbol("response"),kBinaryType:Symbol("binary type"),kSentClose:Symbol("sent close"),kReceivedClose:Symbol("received close"),kByteParser:Symbol("byte parser")}},3574:(i,d,p)=>{"use strict";const{kReadyState:y,kController:v,kResponse:D,kBinaryType:M,kWebSocketURL:U}=p(62933);const{states:j,opcodes:V}=p(45913);const{MessageEvent:K,ErrorEvent:ee}=p(46255);function isEstablished(i){return i[y]===j.OPEN}function isClosing(i){return i[y]===j.CLOSING}function isClosed(i){return i[y]===j.CLOSED}function fireEvent(i,d,p=Event,y){const v=new p(i,y);d.dispatchEvent(v)}function websocketMessageReceived(i,d,p){if(i[y]!==j.OPEN){return}let v;if(d===V.TEXT){try{v=new TextDeLine truncated
/**
* ZipStream
*
* @ignore
* @license [MIT]{@link https://github.com/archiverjs/node-zip-stream/blob/master/LICENSE}
* @copyright (c) 2014 Chris Talkington, contributors.
*/
var y=p(39023).inherits;var v=p(47544).ZipArchiveOutputStream;var D=p(47544).ZipArchiveEntry;var M=p(53296);var U=i.exports=function(i){if(!(this instanceof U)){return new U(i)}i=this.options=i||{};i.zlib=i.zlib||{};v.call(this,i);if(typeof i.level==="number"&&i.level>=0){i.zlib.level=i.level;delete i.level}if(!i.forceZip64&&typeof i.zlib.level==="number"&&i.zlib.level===0){i.store=true}i.namePrependSlash=i.namePrependSlash||false;if(i.comment&&i.comment.length>0){this.setComment(i.comment)}};y(U,v);U.prototype._normalizeFileData=function(i){i=M.defaults(i,{type:"file",name:null,namePrependSlash:this.options.namePrependSlash,linkname:null,date:null,mode:null,store:this.options.store,comment:""});var d=i.type==="directory";var p=i.type==="symlink";if(i.name){i.name=M.sanitizePath(i.name);if(!p&&i.name.slice(-1)==="/"){d=true;i.type="directory"}else if(d){i.name+="/"}}if(d||p){i.store=true}i.date=M.dateify(i.date);return i};U.prototype.entry=function(i,d,p){if(typeof p!=="function"){p=this._emitErrorCallback.bind(this)}d=this._normalizeFileData(d);if(d.type!=="file"&&d.type!=="directory"&&d.type!=="symlink"){p(new Error(d.type+" entries not currently supported"));return}if(typeof d.name!=="string"||d.name.length===0){p(new Error("entry name must be a non-empty string value"));return}if(d.type==="symlink"&&typeof d.linkname!=="string"){p(new Error("entry linkname must be a non-empty string value when type equals symlink"));return}var y=new D(d.name);y.setTime(d.date,this.options.forceLocalTime);if(d.namePrependSlash){y.setName(d.name,true)}if(d.store){y.setMethod(0)}if(d.comment.length>0){y.setComment(d.comment)}if(d.type==="symlink"&&typeof d.mode!=="number"){d.mode=40960}if(typeof d.mode==="number"){if(d.type==="symlink"){d.mode|=40960}y.setUnixMode(d.mode)}if(d.type==="symlink"&&typeof d.linkname==="string"){i=Buffer.from(d.linkname)}return v.prototype.entry.call(this,y,i,p)};U.prototype.finalize=function(){this.finish()}},94258:function(i,d,p){"use strict";var y=this&&this.__createBinding||(Object.create?function(i,d,p,y){if(y===undefined)y=p;var v=Object.getOwnPropertyDescriptor(d,p);if(!v||("get"in v?!d.__esModule:v.writable||v.configurable)){v={enumerable:true,get:function(){return d[p]}}}Object.defineProperty(i,y,v)}:function(i,d,p,y){if(y===undefined)y=p;i[y]=d[p]});var v=this&&this.__setModuleDefault||(Object.create?function(i,d){Object.defineProperty(i,"default",{enumerable:true,value:d})}:function(i,d){i["default"]=d});var D=this&&this.__importStar||function(){var ownKeys=function(i){ownKeys=Object.getOwnPropertyNames||function(i){var d=[];for(var p in i)if(Object.prototype.hasOwnProperty.call(i,p))d[d.length]=p;return d};return ownKeys(i)};return function(i){if(i&&i.__esModule)return i;var d={};if(i!=null)for(var p=ownKeys(i),D=0;D<p.length;D++)if(p[D]!=="default")y(d,i,p[D]);v(d,i);return d}}();var M=this&&this.__awaiter||function(i,d,p,y){function adopt(i){return i instanceof p?i:new p((function(d){d(i)}))}return new(p||(p=Promise))((function(p,v){function fulfilled(i){try{step(y.next(i))}catch(i){v(i)}}function rejected(i){try{step(y["throw"](i))}catch(i){v(i)}}function step(i){i.done?p(i.value):adopt(i.value).then(fulfilled,rejected)}step((y=y.apply(i,d||[])).next())}))};Object.defineProperty(d,"__esModule",{value:true});d.getRegistriesData=d.getAccountIDs=d.getRegion=d.isPubECR=d.isECR=void 0;const U=D(p(37484));const j=p(28249);const V=p(29821);const K=p(61279);const ee=p(81970);const te=p(3669);const re=/^(([0-9]{12})\.(dkr\.ecr|dkr-ecr)\.(.+)\.(on\.aws|amazonaws\.com(.cn)?))(\/([^:]+)(:.+)?)?$/;const ne=/public\.ecr\.aws|ecr-public\.aws\.com/;const isECR=i=>re.test(i)||(0,d.isPubECR)(i);d.isECR=isECR;const isPubECR=i=>ne.test(i);d.isPubECR=isPubECR;const getRegion=i=>{if((0,d.isPubECR)(i)){return process.env.AWS_REGION||process.env.AWS_DEFAULT_REGION||"us-east-1"}const p=i.match(re);if(!p){return""}return p[4]};d.getRegion=getRegion;const getAccountIDs=i=>{if((0,d.isPubECR)(i)){return[]}const p=i.match(re);if(!p){return[]}const y=[p[2]];if(process.env.AWS_ACCOUNT_IDS){y.push(...process.env.AWS_ACCOUNT_IDS.split(","))}return y.filter(((i,d)=>y.indexOf(i)===d))};d.getAccountIDs=getAccountIDs;const getRegistriesData=(i,p,y)=>M(void 0,void 0,void 0,(function*(){const v=(0,d.getRegion)(i);const D=(0,d.getAccountIDs)(i);const M={};if(D.length>0){U.debug(`Requesting AWS ECR auth token for ${D.join(", ")}`);M["registryIds"]=D}let re;const ne=process.env.http_proxy||process.env.HTTP_PROXY||"";if(ne){U.debug(`Using http proxy ${ne}`);re=new ee.HttpProxyAgent(ne)}let ie;const se=process.env.https_proxy||process.env.HTTPS_PROXY||"";if(se){U.debug(`Using https proxy ${se}`);ie=new te.HttpsProxyAgent(se)}const ae=p&&y?{accessKeyId:p,secretAccessKey:y}:undefined;if((0,d.isPubECR)(i)){U.info(`AWS Public ECR detected with ${v} region`);const i=new V.ECRPUBLIC({customUserAgent:"docker-login-action",credentials:ae,region:v,requestHandler:new K.NodeHttpHandler({httpAgent:re,httpsAgent:ie})});const d=yield i.Line truncated
//# sourceMappingURL=index.js.map
Generated Vendored
+1 -1
View File
@@ -1 +1 @@
{"version":3,"file":"index.js","names":["__createBinding","this","Object","create","o","m","k","k2","undefined","defineProperty","enumerable","get","__setModuleDefault","v","value","__importStar","mod","__esModule","result","hasOwnProperty","call","exports","issue","issueCommand","os","__webpack_require__","utils_1","command","properties","message","cmd","Command","process","stdout","write","toString","EOL","name","CMD_STRING","constructor","cmdStr","keys","length","first","key","val","escapeProperty","escapeData","s","toCommandValue","replace","__awaiter","thisArg","_arguments","P","generator","adopt","resolve","Promise","reject","fulfilled","step","next","e","rejected","done","then","apply","getIDToken","getState","saveState","group","endGroup","startGroup","info","notice","warning","error","debug","isDebug","setFailed","setCommandEcho","setOutput","getBooleanInput","getMultilineInput","getInput","addPath","setSecret","exportVariable","ExitCode","command_1","file_command_1","path","oidc_utils_1","convertedVal","env","filePath","issueFileCommand","prepareKeyValueMessage","secret","inputPath","delimiter","options","toUpperCase","required","Error","trimWhitespace","trim","inputs","split","filter","x","map","input","trueValue","falseValue","includes","TypeError","enabled","exitCode","Failure","toCommandProperties","fn","aud","OidcClient","summary_1","summary","summary_2","markdownSummary","path_utils_1","toPosixPath","toWin32Path","toPlatformPath","fs","uuid_1","existsSync","appendFileSync","encoding","v4","convertedValue","http_client_1","auth_1","core_1","createHttpClient","allowRetry","maxRetry","requestOptions","allowRetries","maxRetries","HttpClient","BearerCredentialHandler","getRequestToken","token","getIDTokenUrl","runtimeUrl","getCall","id_token_url","_a","httpclient","res","getJson","catch","statusCode","id_token","audience","encodedAudience","encodeURIComponent","pth","sep","SUMMARY_DOCS_URL","SUMMARY_ENV_VAR","os_1","fs_1","access","appendFile","writeFile","promises","Summary","_buffer","_filePath","pathFromEnv","constants","R_OK","W_OK","wrap","tag","content","attrs","htmlAttrs","entries","join","overwrite","writeFunc","emptyBuffer","clear","stringify","isEmptyBuffer","addRaw","text","addEOL","addCodeBlock","code","lang","assign","element","addList","items","ordered","listItems","item","addTable","rows","tableBody","row","cells","cell","header","data","colspan","rowspan","addDetails","label","addImage","src","alt","width","height","addHeading","level","allowedTag","addSeparator","addBreak","addQuote","cite","addLink","href","_summary","String","JSON","annotationProperties","title","file","line","startLine","endLine","col","startColumn","endColumn","getExecOutput","exec","string_decoder_1","tr","commandLine","args","commandArgs","argStringToArray","toolPath","slice","concat","runner","ToolRunner","_b","stderr","stdoutDecoder","StringDecoder","stderrDecoder","originalStdoutListener","listeners","originalStdErrListener","stdErrListener","stdOutListener","end","events","child","io","ioUtil","timers_1","IS_WINDOWS","platform","EventEmitter","super","_debug","_getCommandString","noPrefix","_getSpawnFileName","_getSpawnArgs","_isCmdFile","a","windowsVerbatimArguments","_windowsQuoteCmdArg","_processLineBuffer","strBuffer","onLine","n","indexOf","substring","err","argline","_endsWith","str","endsWith","upperToolPath","arg","_uvQuoteCmdArg","cmdSpecialChars","needsQuotes","char","some","reverse","quoteHit","i","_cloneExecOptions","cwd","silent","failOnStdErr","ignoreReturnCode","delay","outStream","errStream","_getSpawnOptions","argv0","isRooted","which","optionsNonNull","state","ExecState","on","exists","fileName","cp","spawn","stdbuffer","stdline","errbuffer","processStderr","errline","processError","processExited","processClosed","CheckComplete","processExitCode","emit","removeAllListeners","stdin","argString","inQuotes","escaped","append","c","charAt","push","timeout","_setResult","setTimeout","HandleTimeout","clearTimeout","PersonalAccessTokenCredentialHandler","BasicCredentialHandler","username","password","prepareRequest","headers","Buffer","from","canHandleAuthentication","handleAuthentication","desc","getOwnPropertyDescriptor","writable","configurable","prototype","isHttps","HttpClientResponse","HttpClientError","getProxyUrl","MediaTypes","Headers","HttpCodes","http","https","pm","tunnel","undici_1","serverUrl","proxyUrl","URL","HttpRedirectCodes","MovedPermanently","ResourceMoved","SeeOther","TemporaryRedirect","PermanentRedirect","HttpResponseRetryCodes","BadGateway","ServiceUnavailable","GatewayTimeout","RetryableHttpVerbs","ExponentialBackoffCeiling","ExponentialBackoffTimeSlice","setPrototypeOf","readBody","output","alloc","chunk","readBodyBuffer","chunks","requestUrl","parsedUrl","protocol","userAgent","handlers","_ignoreSslError","_allowRedirects","_allowRedirectDowngrade","_maxRedirects","_allowRetries","_maxRetries","_keepAlive","_disposed","ignoreSslError","_socketTimeout","socketTimeoLine truncated
{"version":3,"file":"index.js","names":["__createBinding","this","Object","create","o","m","k","k2","undefined","desc","getOwnPropertyDescriptor","__esModule","writable","configurable","enumerable","get","defineProperty","__exportStar","exports","p","prototype","hasOwnProperty","call","value","client_1","__webpack_require__","client","DefaultArtifactClient","Timestamp","runtime_1","runtime_2","runtime_3","runtime_4","runtime_5","runtime_6","runtime_7","Timestamp$Type","MessageType","constructor","super","no","name","kind","T","now","msg","ms","Date","seconds","PbLong","from","Math","floor","toString","nanos","toDate","message","toNumber","ceil","fromDate","date","getTime","internalJsonWrite","options","parse","Error","z","nanosStr","substring","toISOString","replace","internalJsonRead","json","target","typeofJsonValue","matches","match","Number","isNaN","globalThis","parseInt","repeat","length","MESSAGE_TYPE","reflectionMergePartial","internalBinaryRead","reader","end","pos","fieldNo","wireType","tag","int64","int32","u","readUnknownField","typeName","d","skip","UnknownFieldHandler","onRead","internalBinaryWrite","writer","WireType","Varint","writeUnknownFields","onWrite","BytesValue","StringValue","BoolValue","UInt32Value","Int32Value","UInt64Value","Int64Value","FloatValue","DoubleValue","DoubleValue$Type","refJsonWriter","scalar","refJsonReader","double","Bit64","FloatValue$Type","float","Bit32","Int64Value$Type","ScalarType","INT64","LongType","STRING","UInt64Value$Type","UINT64","uint64","Int32Value$Type","UInt32Value$Type","uint32","BoolValue$Type","bool","StringValue$Type","string","LengthDelimited","BytesValue$Type","Uint8Array","bytes","ArtifactService","DeleteArtifactResponse","DeleteArtifactRequest","GetSignedArtifactURLResponse","GetSignedArtifactURLRequest","ListArtifactsResponse_MonolithArtifact","ListArtifactsResponse","ListArtifactsRequest","FinalizeArtifactResponse","FinalizeArtifactRequest","CreateArtifactResponse","CreateArtifactRequest","FinalizeMigratedArtifactResponse","FinalizeMigratedArtifactRequest","MigrateArtifactResponse","MigrateArtifactRequest","runtime_rpc_1","wrappers_1","wrappers_2","timestamp_1","MigrateArtifactRequest$Type","workflowRunBackendId","expiresAt","fork","join","MigrateArtifactResponse$Type","ok","signedUploadUrl","FinalizeMigratedArtifactRequest$Type","size","FinalizeMigratedArtifactResponse$Type","artifactId","CreateArtifactRequest$Type","workflowJobRunBackendId","version","CreateArtifactResponse$Type","FinalizeArtifactRequest$Type","hash","FinalizeArtifactResponse$Type","ListArtifactsRequest$Type","nameFilter","idFilter","ListArtifactsResponse$Type","artifacts","push","i","ListArtifactsResponse_MonolithArtifact$Type","databaseId","createdAt","digest","GetSignedArtifactURLRequest$Type","GetSignedArtifactURLResponse$Type","signedUrl","DeleteArtifactRequest$Type","DeleteArtifactResponse$Type","ServiceType","I","O","ArtifactServiceClientProtobuf","ArtifactServiceClientJSON","artifact_1","rpc","CreateArtifact","bind","FinalizeArtifact","ListArtifacts","GetSignedArtifactURL","DeleteArtifact","request","data","toJson","useProtoFieldName","emitDefaultValues","promise","then","fromJson","ignoreUnknownFields","toBinary","fromBinary","__awaiter","thisArg","_arguments","P","generator","adopt","resolve","Promise","reject","fulfilled","step","next","e","rejected","result","done","apply","__rest","s","t","indexOf","getOwnPropertySymbols","propertyIsEnumerable","core_1","config_1","upload_artifact_1","download_artifact_1","delete_artifact_1","get_artifact_1","list_artifacts_1","errors_1","uploadArtifact","files","rootDirectory","isGhes","GHESNotSupportedError","error","warning","downloadArtifact","findBy","repositoryOwner","repositoryName","token","downloadOptions","downloadArtifactPublic","downloadArtifactInternal","listArtifacts","workflowRunId","listArtifactsPublic","latest","listArtifactsInternal","getArtifact","artifactName","getArtifactPublic","getArtifactInternal","deleteArtifact","deleteArtifactPublic","deleteArtifactInternal","github_1","user_agent_1","retry_options_1","utils_1","plugin_request_log_1","plugin_retry_1","artifact_twirp_client_1","util_1","generated_1","_a","retryOpts","requestOpts","getRetryOptions","defaults","opts","log","userAgent","getUserAgentString","previews","retry","github","getOctokit","requestLog","getArtifactResp","deleteArtifactResp","rest","actions","owner","repo","artifact_id","artifact","id","status","InvalidResponseError","headers","artifactClient","internalArtifactTwirpClient","getBackendIdsFromToken","listReq","listRes","ArtifactNotFoundError","sort","a","b","debug","req","res","info","__setModuleDefault","v","__importStar","mod","__importDefault","default","streamExtractExternal","promises_1","crypto","stream","core","httpClient","unzip_stream_1","scrubQueryParameters","url","parsed","URL","search","exists","path","access","code","streamExtract","directory","retryCount","setTimeout","HttpClient","response","statusCode","statusMessLine truncated
Generated Vendored
+3877 -822
View File
File diff suppressed because it is too large. Load diff
Generated Vendored
+1 -1
View File
@@ -1 +1 @@
(()=>{var e={650:e=>{var r=Object.prototype.toString;var n=typeof Buffer.alloc==="function"&&typeof Buffer.allocUnsafe==="function"&&typeof Buffer.from==="function";function isArrayBuffer(e){return r.call(e).slice(8,-1)==="ArrayBuffer"}function fromArrayBuffer(e,r,t){r>>>=0;var o=e.byteLength-r;if(o<0){throw new RangeError("'offset' is out of bounds")}if(t===undefined){t=o}else{t>>>=0;if(t>o){throw new RangeError("'length' is out of bounds")}}return n?Buffer.from(e.slice(r,r+t)):new Buffer(new Uint8Array(e.slice(r,r+t)))}function fromString(e,r){if(typeof r!=="string"||r===""){r="utf8"}if(!Buffer.isEncoding(r)){throw new TypeError('"encoding" must be a valid string encoding')}return n?Buffer.from(e,r):new Buffer(e,r)}function bufferFrom(e,r,t){if(typeof e==="number"){throw new TypeError('"value" argument must not be a number')}if(isArrayBuffer(e)){return fromArrayBuffer(e,r,t)}if(typeof e==="string"){return fromString(e,r)}return n?Buffer.from(e):new Buffer(e)}e.exports=bufferFrom},274:(e,r,n)=>{var t=n(339);var o=Object.prototype.hasOwnProperty;var i=typeof Map!=="undefined";function ArraySet(){this._array=[];this._set=i?new Map:Object.create(null)}ArraySet.fromArray=function ArraySet_fromArray(e,r){var n=new ArraySet;for(var t=0,o=e.length;t<o;t++){n.add(e[t],r)}return n};ArraySet.prototype.size=function ArraySet_size(){return i?this._set.size:Object.getOwnPropertyNames(this._set).length};ArraySet.prototype.add=function ArraySet_add(e,r){var n=i?e:t.toSetString(e);var a=i?this.has(e):o.call(this._set,n);var u=this._array.length;if(!a||r){this._array.push(e)}if(!a){if(i){this._set.set(e,u)}else{this._set[n]=u}}};ArraySet.prototype.has=function ArraySet_has(e){if(i){return this._set.has(e)}else{var r=t.toSetString(e);return o.call(this._set,r)}};ArraySet.prototype.indexOf=function ArraySet_indexOf(e){if(i){var r=this._set.get(e);if(r>=0){return r}}else{var n=t.toSetString(e);if(o.call(this._set,n)){return this._set[n]}}throw new Error('"'+e+'" is not in the set.')};ArraySet.prototype.at=function ArraySet_at(e){if(e>=0&&e<this._array.length){return this._array[e]}throw new Error("No element indexed by "+e)};ArraySet.prototype.toArray=function ArraySet_toArray(){return this._array.slice()};r.I=ArraySet},449:(e,r,n)=>{var t=n(190);var o=5;var i=1<<o;var a=i-1;var u=i;function toVLQSigned(e){return e<0?(-e<<1)+1:(e<<1)+0}function fromVLQSigned(e){var r=(e&1)===1;var n=e>>1;return r?-n:n}r.encode=function base64VLQ_encode(e){var r="";var n;var i=toVLQSigned(e);do{n=i&a;i>>>=o;if(i>0){n|=u}r+=t.encode(n)}while(i>0);return r};r.decode=function base64VLQ_decode(e,r,n){var i=e.length;var s=0;var l=0;var c,p;do{if(r>=i){throw new Error("Expected more digits in base 64 VLQ value.")}p=t.decode(e.charCodeAt(r++));if(p===-1){throw new Error("Invalid base64 digit: "+e.charAt(r-1))}c=!!(p&u);p&=a;s=s+(p<<l);l+=o}while(c);n.value=fromVLQSigned(s);n.rest=r}},190:(e,r)=>{var n="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".split("");r.encode=function(e){if(0<=e&&e<n.length){return n[e]}throw new TypeError("Must be between 0 and 63: "+e)};r.decode=function(e){var r=65;var n=90;var t=97;var o=122;var i=48;var a=57;var u=43;var s=47;var l=26;var c=52;if(r<=e&&e<=n){return e-r}if(t<=e&&e<=o){return e-t+l}if(i<=e&&e<=a){return e-i+c}if(e==u){return 62}if(e==s){return 63}return-1}},345:(e,r)=>{r.GREATEST_LOWER_BOUND=1;r.LEAST_UPPER_BOUND=2;function recursiveSearch(e,n,t,o,i,a){var u=Math.floor((n-e)/2)+e;var s=i(t,o[u],true);if(s===0){return u}else if(s>0){if(n-u>1){return recursiveSearch(u,n,t,o,i,a)}if(a==r.LEAST_UPPER_BOUND){return n<o.length?n:-1}else{return u}}else{if(u-e>1){return recursiveSearch(e,u,t,o,i,a)}if(a==r.LEAST_UPPER_BOUND){return u}else{return e<0?-1:e}}}r.search=function search(e,n,t,o){if(n.length===0){return-1}var i=recursiveSearch(-1,n.length,e,n,t,o||r.GREATEST_LOWER_BOUND);if(i<0){return-1}while(i-1>=0){if(t(n[i],n[i-1],true)!==0){break}--i}return i}},680:(e,r,n)=>{var t=n(339);function generatedPositionAfter(e,r){var n=e.generatedLine;var o=r.generatedLine;var i=e.generatedColumn;var a=r.generatedColumn;return o>n||o==n&&a>=i||t.compareByGeneratedPositionsInflated(e,r)<=0}function MappingList(){this._array=[];this._sorted=true;this._last={generatedLine:-1,generatedColumn:0}}MappingList.prototype.unsortedForEach=function MappingList_forEach(e,r){this._array.forEach(e,r)};MappingList.prototype.add=function MappingList_add(e){if(generatedPositionAfter(this._last,e)){this._last=e;this._array.push(e)}else{this._sorted=false;this._array.push(e)}};MappingList.prototype.toArray=function MappingList_toArray(){if(!this._sorted){this._array.sort(t.compareByGeneratedPositionsInflated);this._sorted=true}return this._array};r.H=MappingList},758:(e,r)=>{function swap(e,r,n){var t=e[r];e[r]=e[n];e[n]=t}function randomIntInRange(e,r){return Math.round(e+Math.random()*(r-e))}function doQuickSort(e,r,n,t){if(n<t){var o=randomIntInRange(n,t);var i=n-1;swap(e,o,t);var a=e[t];for(var u=n;u<t;u++){if(r(e[u],Line truncated
(()=>{var e={296:e=>{var r=Object.prototype.toString;var n=typeof Buffer!=="undefined"&&typeof Buffer.alloc==="function"&&typeof Buffer.allocUnsafe==="function"&&typeof Buffer.from==="function";function isArrayBuffer(e){return r.call(e).slice(8,-1)==="ArrayBuffer"}function fromArrayBuffer(e,r,t){r>>>=0;var o=e.byteLength-r;if(o<0){throw new RangeError("'offset' is out of bounds")}if(t===undefined){t=o}else{t>>>=0;if(t>o){throw new RangeError("'length' is out of bounds")}}return n?Buffer.from(e.slice(r,r+t)):new Buffer(new Uint8Array(e.slice(r,r+t)))}function fromString(e,r){if(typeof r!=="string"||r===""){r="utf8"}if(!Buffer.isEncoding(r)){throw new TypeError('"encoding" must be a valid string encoding')}return n?Buffer.from(e,r):new Buffer(e,r)}function bufferFrom(e,r,t){if(typeof e==="number"){throw new TypeError('"value" argument must not be a number')}if(isArrayBuffer(e)){return fromArrayBuffer(e,r,t)}if(typeof e==="string"){return fromString(e,r)}return n?Buffer.from(e):new Buffer(e)}e.exports=bufferFrom},599:(e,r,n)=>{e=n.nmd(e);var t=n(927).SourceMapConsumer;var o=n(928);var i;try{i=n(896);if(!i.existsSync||!i.readFileSync){i=null}}catch(e){}var a=n(296);function dynamicRequire(e,r){return e.require(r)}var u=false;var s=false;var l=false;var c="auto";var p={};var f={};var g=/^data:application\/json[^,]+base64,/;var d=[];var h=[];function isInBrowser(){if(c==="browser")return true;if(c==="node")return false;return typeof window!=="undefined"&&typeof XMLHttpRequest==="function"&&!(window.require&&window.module&&window.process&&window.process.type==="renderer")}function hasGlobalProcessEventEmitter(){return typeof process==="object"&&process!==null&&typeof process.on==="function"}function globalProcessVersion(){if(typeof process==="object"&&process!==null){return process.version}else{return""}}function globalProcessStderr(){if(typeof process==="object"&&process!==null){return process.stderr}}function globalProcessExit(e){if(typeof process==="object"&&process!==null&&typeof process.exit==="function"){return process.exit(e)}}function handlerExec(e){return function(r){for(var n=0;n<e.length;n++){var t=e[n](r);if(t){return t}}return null}}var m=handlerExec(d);d.push((function(e){e=e.trim();if(/^file:/.test(e)){e=e.replace(/file:\/\/\/(\w:)?/,(function(e,r){return r?"":"/"}))}if(e in p){return p[e]}var r="";try{if(!i){var n=new XMLHttpRequest;n.open("GET",e,false);n.send(null);if(n.readyState===4&&n.status===200){r=n.responseText}}else if(i.existsSync(e)){r=i.readFileSync(e,"utf8")}}catch(e){}return p[e]=r}));function supportRelativeURL(e,r){if(!e)return r;var n=o.dirname(e);var t=/^\w+:\/\/[^\/]*/.exec(n);var i=t?t[0]:"";var a=n.slice(i.length);if(i&&/^\/\w\:/.test(a)){i+="/";return i+o.resolve(n.slice(i.length),r).replace(/\\/g,"/")}return i+o.resolve(n.slice(i.length),r)}function retrieveSourceMapURL(e){var r;if(isInBrowser()){try{var n=new XMLHttpRequest;n.open("GET",e,false);n.send(null);r=n.readyState===4?n.responseText:null;var t=n.getResponseHeader("SourceMap")||n.getResponseHeader("X-SourceMap");if(t){return t}}catch(e){}}r=m(e);var o=/(?:\/\/[@#][\s]*sourceMappingURL=([^\s'"]+)[\s]*$)|(?:\/\*[@#][\s]*sourceMappingURL=([^\s*'"]+)[\s]*(?:\*\/)[\s]*$)/gm;var i,a;while(a=o.exec(r))i=a;if(!i)return null;return i[1]}var v=handlerExec(h);h.push((function(e){var r=retrieveSourceMapURL(e);if(!r)return null;var n;if(g.test(r)){var t=r.slice(r.indexOf(",")+1);n=a(t,"base64").toString();r=e}else{r=supportRelativeURL(e,r);n=m(r)}if(!n){return null}return{url:r,map:n}}));function mapSourcePosition(e){var r=f[e.source];if(!r){var n=v(e.source);if(n){r=f[e.source]={url:n.url,map:new t(n.map)};if(r.map.sourcesContent){r.map.sources.forEach((function(e,n){var t=r.map.sourcesContent[n];if(t){var o=supportRelativeURL(r.url,e);p[o]=t}}))}}else{r=f[e.source]={url:null,map:null}}}if(r&&r.map&&typeof r.map.originalPositionFor==="function"){var o=r.map.originalPositionFor(e);if(o.source!==null){o.source=supportRelativeURL(r.url,o.source);return o}}return e}function mapEvalOrigin(e){var r=/^eval at ([^(]+) \((.+):(\d+):(\d+)\)$/.exec(e);if(r){var n=mapSourcePosition({source:r[2],line:+r[3],column:r[4]-1});return"eval at "+r[1]+" ("+n.source+":"+n.line+":"+(n.column+1)+")"}r=/^eval at ([^(]+) \((.+)\)$/.exec(e);if(r){return"eval at "+r[1]+" ("+mapEvalOrigin(r[2])+")"}return e}function CallSiteToString(){var e;var r="";if(this.isNative()){r="native"}else{e=this.getScriptNameOrSourceURL();if(!e&&this.isEval()){r=this.getEvalOrigin();r+=", "}if(e){r+=e}else{r+="<anonymous>"}var n=this.getLineNumber();if(n!=null){r+=":"+n;var t=this.getColumnNumber();if(t){r+=":"+t}}}var o="";var i=this.getFunctionName();var a=true;var u=this.isConstructor();var s=!(this.isToplevel()||u);if(s){var l=this.getTypeName();if(l==="[object Object]"){l="null"}var c=this.getMethodName();if(i){if(l&&i.indexOf(l)!=0){o+=l+"."}o+=i;if(c&&i.indexOf("."+c)!=i.length-c.length-1){o+=" [as "+c+"]"}}else{o+=l+"."+(c||"<anonymous>")}}else if(u){o+="new "+(i||"<aLine truncated
+15 -2
View File
@@ -1,9 +1,15 @@
target "_common" {
args = {
BUILDKIT_CONTEXT_KEEP_GIT_DIR = 1
}
}
group "default" {
targets = ["build"]
}
group "pre-checkin" {
targets = ["vendor-update", "format", "build"]
targets = ["vendor", "format", "build"]
}
group "validate" {
@@ -11,42 +17,49 @@ group "validate" {
}
target "build" {
inherits = ["_common"]
dockerfile = "dev.Dockerfile"
target = "build-update"
output = ["."]
}
target "build-validate" {
inherits = ["_common"]
dockerfile = "dev.Dockerfile"
target = "build-validate"
output = ["type=cacheonly"]
}
target "format" {
inherits = ["_common"]
dockerfile = "dev.Dockerfile"
target = "format-update"
output = ["."]
}
target "lint" {
inherits = ["_common"]
dockerfile = "dev.Dockerfile"
target = "lint"
output = ["type=cacheonly"]
}
target "vendor-update" {
target "vendor" {
inherits = ["_common"]
dockerfile = "dev.Dockerfile"
target = "vendor-update"
output = ["."]
}
target "vendor-validate" {
inherits = ["_common"]
dockerfile = "dev.Dockerfile"
target = "vendor-validate"
output = ["type=cacheonly"]
}
target "test" {
inherits = ["_common"]
dockerfile = "dev.Dockerfile"
target = "test-coverage"
output = ["./coverage"]
+24 -22
View File
@@ -1,17 +1,16 @@
{
"name": "docker-login",
"description": "GitHub Action to login against a Docker registry",
"main": "lib/main.js",
"main": "src/main.ts",
"scripts": {
"build": "ncc build src/main.ts --source-map --minify --license licenses.txt",
"build": "ncc build --source-map --minify --license licenses.txt",
"lint": "yarn run prettier && yarn run eslint",
"format": "yarn run prettier:fix && yarn run eslint:fix",
"eslint": "eslint --max-warnings=0 .",
"eslint:fix": "eslint --fix .",
"prettier": "prettier --check \"./**/*.ts\"",
"prettier:fix": "prettier --write \"./**/*.ts\"",
"test": "jest",
"all": "yarn run build && yarn run format && yarn test"
"test": "jest"
},
"repository": {
"type": "git",
@@ -24,27 +23,30 @@
],
"author": "Docker Inc.",
"license": "Apache-2.0",
"packageManager": "yarn@4.9.2",
"dependencies": {
"@actions/core": "^1.10.1",
"@aws-sdk/client-ecr": "^3.529.1",
"@aws-sdk/client-ecr-public": "^3.529.1",
"@docker/actions-toolkit": "^0.18.0",
"@actions/core": "^1.11.1",
"@aws-sdk/client-ecr": "^3.890.0",
"@aws-sdk/client-ecr-public": "^3.890.0",
"@docker/actions-toolkit": "^0.63.0",
"http-proxy-agent": "^7.0.2",
"https-proxy-agent": "^7.0.4"
"https-proxy-agent": "^7.0.6",
"js-yaml": "^4.1.0"
},
"devDependencies": {
"@types/node": "^20.5.9",
"@typescript-eslint/eslint-plugin": "^6.6.0",
"@typescript-eslint/parser": "^6.6.0",
"@vercel/ncc": "^0.38.0",
"eslint": "^8.48.0",
"eslint-config-prettier": "^9.0.0",
"eslint-plugin-jest": "^27.2.3",
"eslint-plugin-prettier": "^5.0.0",
"jest": "^29.6.4",
"prettier": "^3.0.3",
"ts-jest": "^29.1.1",
"ts-node": "^10.9.1",
"typescript": "^5.2.2"
"@types/js-yaml": "^4.0.9",
"@types/node": "^20.19.9",
"@typescript-eslint/eslint-plugin": "^7.18.0",
"@typescript-eslint/parser": "^7.18.0",
"@vercel/ncc": "^0.38.3",
"eslint": "^8.57.1",
"eslint-config-prettier": "^9.1.2",
"eslint-plugin-jest": "^28.14.0",
"eslint-plugin-prettier": "^5.5.4",
"jest": "^29.7.0",
"prettier": "^3.6.2",
"ts-jest": "^29.4.1",
"ts-node": "^10.9.2",
"typescript": "^5.9.2"
}
}
+4 -3
View File
@@ -5,14 +5,15 @@ import {NodeHttpHandler} from '@smithy/node-http-handler';
import {HttpProxyAgent} from 'http-proxy-agent';
import {HttpsProxyAgent} from 'https-proxy-agent';
const ecrRegistryRegex = /^(([0-9]{12})\.dkr\.ecr\.(.+)\.amazonaws\.com(.cn)?)(\/([^:]+)(:.+)?)?$/;
const ecrRegistryRegex = /^(([0-9]{12})\.(dkr\.ecr|dkr-ecr)\.(.+)\.(on\.aws|amazonaws\.com(.cn)?))(\/([^:]+)(:.+)?)?$/;
const ecrPublicRegistryRegex = /public\.ecr\.aws|ecr-public\.aws\.com/;
export const isECR = (registry: string): boolean => {
return ecrRegistryRegex.test(registry) || isPubECR(registry);
};
export const isPubECR = (registry: string): boolean => {
return registry === 'public.ecr.aws';
return ecrPublicRegistryRegex.test(registry);
};
export const getRegion = (registry: string): string => {
@@ -23,7 +24,7 @@ export const getRegion = (registry: string): string => {
if (!matches) {
return '';
}
return matches[3];
return matches[4];
};
export const getAccountIDs = (registry: string): string[] => {
+3 -1
View File
@@ -6,6 +6,7 @@ export interface Inputs {
password: string;
ecr: string;
logout: boolean;
registryAuth: string;
}
export function getInputs(): Inputs {
@@ -14,6 +15,7 @@ export function getInputs(): Inputs {
username: core.getInput('username'),
password: core.getInput('password'),
ecr: core.getInput('ecr'),
logout: core.getBooleanInput('logout')
logout: core.getBooleanInput('logout'),
registryAuth: core.getInput('registry-auth')
};
}
+13 -10
View File
@@ -1,6 +1,7 @@
import * as aws from './aws';
import * as core from '@actions/core';
import {Exec} from '@docker/actions-toolkit/lib/exec';
import {Docker} from '@docker/actions-toolkit/lib/docker/docker';
export async function login(registry: string, username: string, password: string, ecr: string): Promise<void> {
if (/true/i.test(ecr) || (ecr == 'auto' && aws.isECR(registry))) {
@@ -11,7 +12,7 @@ export async function login(registry: string, username: string, password: string
}
export async function logout(registry: string): Promise<void> {
await Exec.getExecOutput('docker', ['logout', registry], {
await Docker.getExecOutput(['logout', registry], {
ignoreReturnCode: true
}).then(res => {
if (res.stderr.length > 0 && res.exitCode != 0) {
@@ -21,20 +22,22 @@ export async function logout(registry: string): Promise<void> {
}
export async function loginStandard(registry: string, username: string, password: string): Promise<void> {
if (!username || !password) {
if (!username && !password) {
throw new Error('Username and password required');
}
if (!username) {
throw new Error('Username required');
}
if (!password) {
throw new Error('Password required');
}
const loginArgs: Array<string> = ['login', '--password-stdin'];
loginArgs.push('--username', username);
loginArgs.push(registry);
if (registry) {
core.info(`Logging into ${registry}...`);
} else {
core.info(`Logging into Docker Hub...`);
}
await Exec.getExecOutput('docker', loginArgs, {
core.info(`Logging into ${registry}...`);
await Docker.getExecOutput(loginArgs, {
ignoreReturnCode: true,
silent: true,
input: Buffer.from(password)
@@ -51,7 +54,7 @@ export async function loginECR(registry: string, username: string, password: str
const regDatas = await aws.getRegistriesData(registry, username, password);
for (const regData of regDatas) {
core.info(`Logging into ${regData.registry}...`);
await Exec.getExecOutput('docker', ['login', '--password-stdin', '--username', regData.username, regData.registry], {
await Docker.getExecOutput(['login', '--password-stdin', '--username', regData.username, regData.registry], {
ignoreReturnCode: true,
silent: true,
input: Buffer.from(regData.password)
+45 -5
View File
@@ -1,21 +1,61 @@
import * as yaml from 'js-yaml';
import * as core from '@actions/core';
import * as actionsToolkit from '@docker/actions-toolkit';
import * as context from './context';
import * as docker from './docker';
import * as stateHelper from './state-helper';
interface Auth {
registry: string;
username: string;
password: string;
ecr: string;
}
export async function main(): Promise<void> {
const input: context.Inputs = context.getInputs();
stateHelper.setRegistry(input.registry);
stateHelper.setLogout(input.logout);
await docker.login(input.registry, input.username, input.password, input.ecr);
const inputs: context.Inputs = context.getInputs();
stateHelper.setLogout(inputs.logout);
if (inputs.registryAuth && (inputs.registry || inputs.username || inputs.password || inputs.ecr)) {
throw new Error('Cannot use registry-auth with other inputs');
}
if (!inputs.registryAuth) {
stateHelper.setRegistries([inputs.registry || 'docker.io']);
await docker.login(inputs.registry || 'docker.io', inputs.username, inputs.password, inputs.ecr || 'auto');
return;
}
const auths = yaml.load(inputs.registryAuth) as Auth[];
if (auths.length == 0) {
throw new Error('No registry to login');
}
const registries: string[] = [];
for (const auth of auths) {
if (!auth.registry) {
registries.push('docker.io');
} else {
registries.push(auth.registry);
}
}
stateHelper.setRegistries(registries.filter((value, index, self) => self.indexOf(value) === index));
for (const auth of auths) {
await core.group(`Login to ${auth.registry || 'docker.io'}`, async () => {
await docker.login(auth.registry || 'docker.io', auth.username, auth.password, auth.ecr || 'auto');
});
}
}
async function post(): Promise<void> {
if (!stateHelper.logout) {
return;
}
await docker.logout(stateHelper.registry);
for (const registry of stateHelper.registries.split(',')) {
await docker.logout(registry);
}
}
actionsToolkit.run(main, post);
+3 -3
View File
@@ -1,10 +1,10 @@
import * as core from '@actions/core';
export const registry = process.env['STATE_registry'] || '';
export const registries = process.env['STATE_registries'] || '';
export const logout = /true/i.test(process.env['STATE_logout'] || '');
export function setRegistry(registry: string) {
core.saveState('registry', registry);
export function setRegistries(registries: string[]) {
core.saveState('registries', registries.join(','));
}
export function setLogout(logout: boolean) {
+8219 -5050
View File
File diff suppressed because it is too large. Load diff