mirror of
https://github.com/docker/build-push-action.git
synced 2026-10-15 20:06:57 +00:00
Compare commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
bcafcacb16 | ||
|
|
18e62f1158 | ||
|
|
46580d2c9d | ||
|
|
3f80b252ca | ||
|
|
efeec9557c | ||
|
|
ddf04b08eb | ||
|
|
db08d97a08 | ||
|
|
ef1fb9688f | ||
|
|
2d8f2a1a37 | ||
|
|
919ac7bd7d | ||
|
|
c850e6994a | ||
|
|
56795cf70a | ||
|
|
c991b20ccb | ||
|
|
e2565a753f | ||
|
|
83bfd93ab4 | ||
|
|
a7d4e2ac29 | ||
|
|
00c4e32030 | ||
|
|
7144aa40aa | ||
|
|
00a2ffdccc | ||
|
|
dab806366e | ||
|
|
a691600376 | ||
|
|
c5117b60bc | ||
|
|
3e0f90700c | ||
|
|
502612d464 | ||
|
|
81e9d51607 | ||
|
|
d61b4b1884 | ||
|
|
19413e5c69 | ||
|
|
2cd9929dbc | ||
|
|
5e0c3c443d | ||
|
|
b66d8774c6 | ||
|
|
b859af5ad8 | ||
|
|
de30867634 | ||
|
|
94f57482d8 | ||
|
|
27173685d7 | ||
|
|
8ed8ece47c | ||
|
|
2133d1712a | ||
|
|
bebcd8f390 | ||
|
|
a3f8b56eb8 | ||
|
|
5e178f1185 | ||
|
|
dbf1bb58c7 | ||
|
|
b4f9e48f9d | ||
|
|
139e1274c0 | ||
|
|
693b70024e | ||
|
|
01a13d0bbd | ||
|
|
eb6512707b | ||
|
|
1031bc45c5 | ||
|
|
344ec24f8d | ||
|
|
dbac3ca1e5 | ||
|
|
b0bdd3ad21 | ||
|
|
3cb57ac71c | ||
|
|
f64672cf50 | ||
|
|
63e92d1fdf | ||
|
|
155e77ab84 | ||
|
|
d08e5c354a | ||
|
|
cbd2dff9a0 | ||
|
|
f76f51f129 | ||
|
|
7d03e66b5f | ||
|
|
98f853d923 | ||
|
|
cadccf6e8c | ||
|
|
03fe8775e3 | ||
|
|
827e36650e | ||
|
|
e25db879d0 | ||
|
|
1ac2573b5c | ||
|
|
5b9c34fb44 | ||
|
|
61cac19eba | ||
|
|
9a57217389 | ||
|
|
975aafcd3e | ||
|
|
2c65e9c5d3 | ||
|
|
230fd87864 | ||
|
|
7c68264114 | ||
|
|
1d41182205 | ||
|
|
6b3878c083 | ||
|
|
582091f7f9 | ||
|
|
38de52285e | ||
|
|
5bc2aa100a | ||
|
|
f939b4c816 | ||
|
|
b4bda282d6 | ||
|
|
683985cc23 | ||
|
|
8913706d4e | ||
|
|
2505ca301c | ||
|
|
2faeb55053 | ||
|
|
217eea940b | ||
|
|
4003f769ac | ||
|
|
dbbef96a17 | ||
|
|
d2c9f1ec18 | ||
|
|
2bd26e7129 | ||
|
|
4c8333398a | ||
|
|
ce71e4f44d | ||
|
|
b66574c6d1 | ||
|
|
db4ff6ca90 | ||
|
|
10e90e3645 | ||
|
|
5262538458 | ||
|
|
cd130e45cb | ||
|
|
806c75105a | ||
|
|
601a80b39c | ||
|
|
8f7fd7c8c7 | ||
|
|
710e335474 | ||
|
|
c4ca8486a6 | ||
|
|
ee4ca427a2 | ||
|
|
f1b3bb51af | ||
|
|
db35f80311 | ||
|
|
a129300020 | ||
|
|
ba15693834 | ||
|
|
367ff5effe | ||
|
|
0149a90b0f | ||
|
|
d1d3988951 | ||
|
|
b88979e155 | ||
|
|
176babefcc | ||
|
|
469bed9e93 | ||
|
|
f477955db5 | ||
|
|
9760b3030f | ||
|
|
d40bd56b13 | ||
|
|
8c1e8f8e5b | ||
|
|
456cabcd5e | ||
|
|
073b0e6385 | ||
|
|
64c9b14150 | ||
|
|
b035f368b0 | ||
|
|
607c92fb2b | ||
|
|
2fec442ac0 | ||
|
|
f91d05adaa | ||
|
|
c6a539d2f5 | ||
|
|
19e4966231 | ||
|
|
01c006c5e0 | ||
|
|
2a7a5fe65d | ||
|
|
56acb03b80 | ||
|
|
6d01ebc3b0 | ||
|
|
9e436ba9f2 | ||
|
|
62929198b5 | ||
|
|
cb8fc7586f | ||
|
|
5225a9fc21 | ||
|
|
ccc2b40e9e | ||
|
|
5dd7b9db36 | ||
|
|
55146d969b | ||
|
|
24e9b7e65f | ||
|
|
263435318d | ||
|
|
c0432d2e01 | ||
|
|
0bb1f27d6b | ||
|
|
5f9dbf956c | ||
|
|
0788c444d8 | ||
|
|
aa179ca4f4 | ||
|
|
1dc7386353 | ||
|
|
9c9803f364 | ||
|
|
db1f6c46e8 | ||
|
|
721e8c79de | ||
|
|
14487ce63c | ||
|
|
0ec91264d8 | ||
|
|
b749522b90 | ||
|
|
c566248492 | ||
|
|
13275dd76e | ||
|
|
67dc78bbaf | ||
|
|
0760504437 | ||
|
|
1c198f4467 | ||
|
|
288d9e2e4a | ||
|
|
88844b95d8 | ||
|
|
1be4244e8d | ||
|
|
094d2bc0cd | ||
|
|
548776e8d0 | ||
|
|
91838c2ba3 | ||
|
|
1332e65dc3 | ||
|
|
66147ca503 | ||
|
|
8ea72f78e8 | ||
|
|
6481840af9 | ||
|
|
84ad562665 | ||
|
|
9bea05fc44 | ||
|
|
471d1dc4e0 | ||
|
|
b89ff0a6f2 | ||
|
|
1e3ae3a4d3 | ||
|
|
b16f42f92a | ||
|
|
dc0fea5e62 | ||
|
|
0adf995921 | ||
|
|
d88cd289df | ||
|
|
3d09a6bd70 | ||
|
|
ca877d9245 | ||
|
|
d2fe919bb5 | ||
|
|
f0fc9ece82 | ||
|
|
67a2d409c0 | ||
|
|
0b1b1c9c43 | ||
|
|
b6a7c2c4ee | ||
|
|
31ca4e5d51 | ||
|
|
e613db9d5a | ||
|
|
b32b51a8ed | ||
|
|
594bf46f0f | ||
|
|
fd37bd55af | ||
|
|
e6478a2405 | ||
|
|
78785bddff | ||
|
|
128779fed7 | ||
|
|
7e094594be | ||
|
|
32ee877a58 | ||
|
|
d1a4129c41 | ||
|
|
49c623eaf8 | ||
|
|
bcc9f4afe7 | ||
|
|
da5b6c75b9 | ||
|
|
11be14d908 | ||
|
|
f5a8591a7f | ||
|
|
8796455d32 | ||
|
|
750f367828 | ||
|
|
48aba3b46d | ||
|
|
678328cf8e | ||
|
|
cdf0a37e6f | ||
|
|
d719b79de1 | ||
|
|
c333dfd43d | ||
|
|
6b56a4c3f8 | ||
|
|
92fb0d73b6 | ||
|
|
40532c5d6f | ||
|
|
70dd953427 | ||
|
|
41b4e8020e | ||
|
|
22cd91d73b | ||
|
|
6bdcc4fb8c | ||
|
|
b5e932e401 | ||
|
|
325a8bf0f1 | ||
|
|
0259cb088b | ||
|
|
1b8e4efb78 | ||
|
|
75ffdcce88 | ||
|
|
73b7dbf5d4 | ||
|
|
f79ca49284 | ||
|
|
5e99dacf67 | ||
|
|
b249570060 | ||
|
|
4f58ea7922 | ||
|
|
49b5ea61c6 | ||
|
|
13c9fddd72 | ||
|
|
e44afff359 | ||
|
|
67ebad331f | ||
|
|
32945a3392 | ||
|
|
e0fe9cf0f2 | ||
|
|
8f1ff6bf9a | ||
|
|
5cd11c3a4c | ||
|
|
0aba704831 | ||
|
|
23c657a01f | ||
|
|
16ebe778df | ||
|
|
646a62b4f2 | ||
|
|
d92ab1347f | ||
|
|
4f7cdeb0f0 | ||
|
|
ad3cd774a4 | ||
|
|
3efbc13366 | ||
|
|
2dbe91db48 | ||
|
|
7de3854c4c | ||
|
|
175aa53a3f | ||
|
|
806a2a461f | ||
|
|
a8d35412fb | ||
|
|
1672e74297 | ||
|
|
a04f51d3b4 |
No files matched your search
@@ -1,3 +0,0 @@
|
||||
/dist/**
|
||||
/coverage/**
|
||||
/node_modules/**
|
||||
@@ -1,24 +0,0 @@
|
||||
{
|
||||
"env": {
|
||||
"node": true,
|
||||
"es6": true,
|
||||
"jest": true
|
||||
},
|
||||
"extends": [
|
||||
"eslint:recommended",
|
||||
"plugin:@typescript-eslint/eslint-recommended",
|
||||
"plugin:@typescript-eslint/recommended",
|
||||
"plugin:jest/recommended",
|
||||
"plugin:prettier/recommended"
|
||||
],
|
||||
"parser": "@typescript-eslint/parser",
|
||||
"parserOptions": {
|
||||
"ecmaVersion": 2023,
|
||||
"sourceType": "module"
|
||||
},
|
||||
"plugins": [
|
||||
"@typescript-eslint",
|
||||
"jest",
|
||||
"prettier"
|
||||
]
|
||||
}
|
||||
@@ -4,6 +4,12 @@ updates:
|
||||
directory: "/"
|
||||
schedule:
|
||||
interval: "daily"
|
||||
cooldown:
|
||||
default-days: 2
|
||||
groups:
|
||||
crazy-max-dot-github:
|
||||
patterns:
|
||||
- "crazy-max/.github/*"
|
||||
labels:
|
||||
- "dependencies"
|
||||
- "bot"
|
||||
@@ -11,6 +17,8 @@ updates:
|
||||
directory: "/"
|
||||
schedule:
|
||||
interval: "daily"
|
||||
cooldown:
|
||||
default-days: 2
|
||||
versioning-strategy: "increase"
|
||||
allow:
|
||||
- dependency-type: "production"
|
||||
|
||||
@@ -76,6 +76,7 @@ until $(curl --output /dev/null --silent --head --fail "http://$NEXUS_HOST:$NEXU
|
||||
printf '.'
|
||||
sleep 5
|
||||
done
|
||||
echo "ready!"
|
||||
echo "::endgroup::"
|
||||
|
||||
echo "::group::Change user's password"
|
||||
|
||||
@@ -1,6 +1,9 @@
|
||||
# reusable workflow
|
||||
name: .e2e-run
|
||||
|
||||
permissions:
|
||||
contents: read
|
||||
|
||||
on:
|
||||
workflow_call:
|
||||
inputs:
|
||||
@@ -19,17 +22,16 @@ on:
|
||||
slug:
|
||||
required: false
|
||||
type: string
|
||||
username_secret:
|
||||
secrets:
|
||||
registry_username:
|
||||
required: false
|
||||
type: string
|
||||
password_secret:
|
||||
registry_password:
|
||||
required: false
|
||||
type: string
|
||||
|
||||
env:
|
||||
HARBOR_VERSION: v2.7.0
|
||||
HARBOR_VERSION: v2.13.2
|
||||
NEXUS_VERSION: 3.47.1
|
||||
DISTRIBUTION_VERSION: 2.8.1
|
||||
DISTRIBUTION_VERSION: 3.0.0
|
||||
|
||||
jobs:
|
||||
run:
|
||||
@@ -38,6 +40,9 @@ jobs:
|
||||
fail-fast: false
|
||||
matrix:
|
||||
include:
|
||||
-
|
||||
buildx_version: edge
|
||||
buildkit_image: moby/buildkit:latest
|
||||
-
|
||||
buildx_version: latest
|
||||
buildkit_image: moby/buildkit:buildx-stable-1
|
||||
@@ -47,17 +52,21 @@ jobs:
|
||||
steps:
|
||||
-
|
||||
name: Checkout
|
||||
uses: actions/checkout@v4
|
||||
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
|
||||
-
|
||||
name: Set up env
|
||||
if: inputs.type == 'local'
|
||||
env:
|
||||
ID: ${{ inputs.id }}
|
||||
run: |
|
||||
cat ./.github/e2e/${{ inputs.id }}/env >> $GITHUB_ENV
|
||||
cat ./.github/e2e/${ID}/env >> $GITHUB_ENV
|
||||
-
|
||||
name: Set up BuildKit config
|
||||
env:
|
||||
TYPE: ${{ inputs.type }}
|
||||
run: |
|
||||
touch /tmp/buildkitd.toml
|
||||
if [ "${{ inputs.type }}" = "local" ]; then
|
||||
if [ "${TYPE}" = "local" ]; then
|
||||
echo -e "[registry.\"${{ env.REGISTRY_FQDN }}\"]\nhttp = true\ninsecure = true" > /tmp/buildkitd.toml
|
||||
fi
|
||||
-
|
||||
@@ -65,21 +74,24 @@ jobs:
|
||||
if: inputs.type == 'local'
|
||||
run: |
|
||||
if [ ! -e /etc/docker/daemon.json ]; then
|
||||
echo '{}' | tee /etc/docker/daemon.json >/dev/null
|
||||
echo '{}' | sudo tee /etc/docker/daemon.json >/dev/null
|
||||
fi
|
||||
DOCKERD_CONFIG=$(jq '.+{"insecure-registries":["http://${{ env.REGISTRY_FQDN }}"]}' /etc/docker/daemon.json)
|
||||
sudo tee /etc/docker/daemon.json <<<"$DOCKERD_CONFIG" >/dev/null
|
||||
cat /etc/docker/daemon.json
|
||||
sudo service docker restart
|
||||
-
|
||||
name: Install ${{ inputs.name }}
|
||||
if: inputs.type == 'local'
|
||||
env:
|
||||
ID: ${{ inputs.id }}
|
||||
run: |
|
||||
sudo -E bash ./.github/e2e/${{ inputs.id }}/install.sh
|
||||
sudo -E bash ./.github/e2e/${ID}/install.sh
|
||||
sudo chown $(id -u):$(id -g) -R ~/.docker
|
||||
-
|
||||
name: Docker meta
|
||||
id: meta
|
||||
uses: docker/metadata-action@v5
|
||||
uses: docker/metadata-action@030e881283bb7a6894de51c315a6bfe6a94e05cf # v6.0.0
|
||||
with:
|
||||
images: ${{ env.REGISTRY_SLUG || inputs.slug }}
|
||||
tags: |
|
||||
@@ -88,10 +100,10 @@ jobs:
|
||||
type=raw,gh-runid-${{ github.run_id }}
|
||||
-
|
||||
name: Set up QEMU
|
||||
uses: docker/setup-qemu-action@v3
|
||||
uses: docker/setup-qemu-action@ce360397dd3f832beb865e1373c09c0e9f86d70a # v4.0.0
|
||||
-
|
||||
name: Set up Docker Buildx
|
||||
uses: docker/setup-buildx-action@v3
|
||||
uses: docker/setup-buildx-action@4d04d5d9486b7bd6fa91e7baf45bbb4f8b9deedd # v4.0.0
|
||||
with:
|
||||
version: ${{ matrix.buildx_version }}
|
||||
buildkitd-config: /tmp/buildkitd.toml
|
||||
@@ -101,12 +113,12 @@ jobs:
|
||||
network=host
|
||||
-
|
||||
name: Login to Registry
|
||||
if: github.event_name != 'pull_request' && (env.REGISTRY_USER || inputs.username_secret) != ''
|
||||
uses: docker/login-action@v3
|
||||
if: github.event_name != 'pull_request' && (inputs.type == 'remote' || env.REGISTRY_USER != '')
|
||||
uses: docker/login-action@4907a6ddec9925e35a0a9e82d7399ccc52663121 # v4.1.0
|
||||
with:
|
||||
registry: ${{ env.REGISTRY_FQDN || inputs.registry }}
|
||||
username: ${{ env.REGISTRY_USER || secrets[inputs.username_secret] }}
|
||||
password: ${{ env.REGISTRY_PASSWORD || secrets[inputs.password_secret] }}
|
||||
username: ${{ env.REGISTRY_USER || secrets.registry_username }}
|
||||
password: ${{ env.REGISTRY_PASSWORD || secrets.registry_password }}
|
||||
-
|
||||
name: Build and push
|
||||
uses: ./
|
||||
@@ -121,10 +133,14 @@ jobs:
|
||||
cache-to: type=inline
|
||||
-
|
||||
name: Inspect image
|
||||
env:
|
||||
SLUG: ${{ env.REGISTRY_SLUG || inputs.slug }}
|
||||
run: |
|
||||
docker pull ${{ env.REGISTRY_SLUG || inputs.slug }}:${{ steps.meta.outputs.version }}
|
||||
docker image inspect ${{ env.REGISTRY_SLUG || inputs.slug }}:${{ steps.meta.outputs.version }}
|
||||
docker pull ${SLUG}:${{ steps.meta.outputs.version }}
|
||||
docker image inspect ${SLUG}:${{ steps.meta.outputs.version }}
|
||||
-
|
||||
name: Check manifest
|
||||
env:
|
||||
SLUG: ${{ env.REGISTRY_SLUG || inputs.slug }}
|
||||
run: |
|
||||
docker buildx imagetools inspect ${{ env.REGISTRY_SLUG || inputs.slug }}:${{ steps.meta.outputs.version }} --format '{{json .}}'
|
||||
docker buildx imagetools inspect ${SLUG}:${{ steps.meta.outputs.version }} --format '{{json .}}'
|
||||
+288
-132
@@ -1,5 +1,8 @@
|
||||
name: ci
|
||||
|
||||
permissions:
|
||||
contents: read
|
||||
|
||||
concurrency:
|
||||
group: ${{ github.workflow }}-${{ github.ref }}
|
||||
cancel-in-progress: true
|
||||
@@ -24,8 +27,8 @@ on:
|
||||
pull_request:
|
||||
|
||||
env:
|
||||
BUILDX_VERSION: latest
|
||||
BUILDKIT_IMAGE: moby/buildkit:buildx-stable-1
|
||||
BUILDX_VERSION: edge
|
||||
BUILDKIT_IMAGE: moby/buildkit:latest
|
||||
|
||||
jobs:
|
||||
minimal:
|
||||
@@ -33,12 +36,12 @@ jobs:
|
||||
steps:
|
||||
-
|
||||
name: Checkout
|
||||
uses: actions/checkout@v4
|
||||
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
|
||||
with:
|
||||
path: action
|
||||
-
|
||||
name: Set up Docker Buildx
|
||||
uses: docker/setup-buildx-action@v3
|
||||
uses: docker/setup-buildx-action@4d04d5d9486b7bd6fa91e7baf45bbb4f8b9deedd # v4.0.0
|
||||
with:
|
||||
version: ${{ inputs.buildx-version || env.BUILDX_VERSION }}
|
||||
driver-opts: |
|
||||
@@ -53,22 +56,22 @@ jobs:
|
||||
runs-on: ubuntu-latest
|
||||
services:
|
||||
registry:
|
||||
image: registry:2
|
||||
image: registry:2.8.3@sha256:a3d8aaa63ed8681a604f1dea0aa03f100d5895b6a58ace528858a7b332415373
|
||||
ports:
|
||||
- 5000:5000
|
||||
steps:
|
||||
-
|
||||
name: Checkout
|
||||
uses: actions/checkout@v4
|
||||
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
|
||||
with:
|
||||
path: action
|
||||
-
|
||||
name: Set up QEMU
|
||||
uses: docker/setup-qemu-action@v3
|
||||
uses: docker/setup-qemu-action@ce360397dd3f832beb865e1373c09c0e9f86d70a # v4.0.0
|
||||
-
|
||||
name: Set up Docker Buildx
|
||||
id: buildx
|
||||
uses: docker/setup-buildx-action@v3
|
||||
uses: docker/setup-buildx-action@4d04d5d9486b7bd6fa91e7baf45bbb4f8b9deedd # v4.0.0
|
||||
with:
|
||||
version: ${{ inputs.buildx-version || env.BUILDX_VERSION }}
|
||||
driver-opts: |
|
||||
@@ -98,26 +101,77 @@ jobs:
|
||||
exit 1
|
||||
fi
|
||||
|
||||
git-context-query:
|
||||
runs-on: ubuntu-latest
|
||||
env:
|
||||
BUILDX_SEND_GIT_QUERY_AS_INPUT: true
|
||||
services:
|
||||
registry:
|
||||
image: registry:2.8.3@sha256:a3d8aaa63ed8681a604f1dea0aa03f100d5895b6a58ace528858a7b332415373
|
||||
ports:
|
||||
- 5000:5000
|
||||
steps:
|
||||
-
|
||||
name: Checkout
|
||||
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
|
||||
with:
|
||||
path: action
|
||||
-
|
||||
name: Set up QEMU
|
||||
uses: docker/setup-qemu-action@ce360397dd3f832beb865e1373c09c0e9f86d70a # v4.0.0
|
||||
-
|
||||
name: Set up Docker Buildx
|
||||
id: buildx
|
||||
uses: docker/setup-buildx-action@4d04d5d9486b7bd6fa91e7baf45bbb4f8b9deedd # v4.0.0
|
||||
with:
|
||||
version: v0.29.0
|
||||
driver-opts: |
|
||||
network=host
|
||||
image=${{ inputs.buildkit-image || env.BUILDKIT_IMAGE }}
|
||||
-
|
||||
name: Build and push
|
||||
id: docker_build
|
||||
uses: ./action
|
||||
with:
|
||||
file: ./test/Dockerfile
|
||||
builder: ${{ steps.buildx.outputs.name }}
|
||||
platforms: linux/amd64,linux/arm64
|
||||
push: true
|
||||
tags: |
|
||||
localhost:5000/name/app:latest
|
||||
localhost:5000/name/app:1.0.0
|
||||
-
|
||||
name: Inspect
|
||||
run: |
|
||||
docker buildx imagetools inspect localhost:5000/name/app:1.0.0 --format '{{json .}}'
|
||||
-
|
||||
name: Check digest
|
||||
run: |
|
||||
if [ -z "${{ steps.docker_build.outputs.digest }}" ]; then
|
||||
echo "::error::Digest should not be empty"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
git-context-secret:
|
||||
runs-on: ubuntu-latest
|
||||
services:
|
||||
registry:
|
||||
image: registry:2
|
||||
image: registry:2.8.3@sha256:a3d8aaa63ed8681a604f1dea0aa03f100d5895b6a58ace528858a7b332415373
|
||||
ports:
|
||||
- 5000:5000
|
||||
steps:
|
||||
-
|
||||
name: Checkout
|
||||
uses: actions/checkout@v4
|
||||
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
|
||||
with:
|
||||
path: action
|
||||
-
|
||||
name: Set up QEMU
|
||||
uses: docker/setup-qemu-action@v3
|
||||
uses: docker/setup-qemu-action@ce360397dd3f832beb865e1373c09c0e9f86d70a # v4.0.0
|
||||
-
|
||||
name: Set up Docker Buildx
|
||||
id: buildx
|
||||
uses: docker/setup-buildx-action@v3
|
||||
uses: docker/setup-buildx-action@4d04d5d9486b7bd6fa91e7baf45bbb4f8b9deedd # v4.0.0
|
||||
with:
|
||||
version: ${{ inputs.buildx-version || env.BUILDX_VERSION }}
|
||||
driver-opts: |
|
||||
@@ -161,20 +215,20 @@ jobs:
|
||||
runs-on: ubuntu-latest
|
||||
services:
|
||||
registry:
|
||||
image: registry:2
|
||||
image: registry:2.8.3@sha256:a3d8aaa63ed8681a604f1dea0aa03f100d5895b6a58ace528858a7b332415373
|
||||
ports:
|
||||
- 5000:5000
|
||||
steps:
|
||||
-
|
||||
name: Checkout
|
||||
uses: actions/checkout@v4
|
||||
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
|
||||
-
|
||||
name: Set up QEMU
|
||||
uses: docker/setup-qemu-action@v3
|
||||
uses: docker/setup-qemu-action@ce360397dd3f832beb865e1373c09c0e9f86d70a # v4.0.0
|
||||
-
|
||||
name: Set up Docker Buildx
|
||||
id: buildx
|
||||
uses: docker/setup-buildx-action@v3
|
||||
uses: docker/setup-buildx-action@4d04d5d9486b7bd6fa91e7baf45bbb4f8b9deedd # v4.0.0
|
||||
with:
|
||||
version: ${{ inputs.buildx-version || env.BUILDX_VERSION }}
|
||||
driver-opts: |
|
||||
@@ -210,17 +264,17 @@ jobs:
|
||||
DOCKER_IMAGE: localhost:5000/name/app
|
||||
services:
|
||||
registry:
|
||||
image: registry:2
|
||||
image: registry:2.8.3@sha256:a3d8aaa63ed8681a604f1dea0aa03f100d5895b6a58ace528858a7b332415373
|
||||
ports:
|
||||
- 5000:5000
|
||||
steps:
|
||||
-
|
||||
name: Checkout
|
||||
uses: actions/checkout@v4
|
||||
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
|
||||
-
|
||||
name: Docker meta
|
||||
id: meta
|
||||
uses: docker/metadata-action@v5
|
||||
uses: docker/metadata-action@030e881283bb7a6894de51c315a6bfe6a94e05cf # v6.0.0
|
||||
with:
|
||||
images: ${{ env.DOCKER_IMAGE }}
|
||||
tags: |
|
||||
@@ -233,7 +287,7 @@ jobs:
|
||||
type=sha
|
||||
-
|
||||
name: Set up Docker Buildx
|
||||
uses: docker/setup-buildx-action@v3
|
||||
uses: docker/setup-buildx-action@4d04d5d9486b7bd6fa91e7baf45bbb4f8b9deedd # v4.0.0
|
||||
with:
|
||||
version: ${{ inputs.buildx-version || env.BUILDX_VERSION }}
|
||||
driver-opts: |
|
||||
@@ -272,7 +326,7 @@ jobs:
|
||||
steps:
|
||||
-
|
||||
name: Checkout
|
||||
uses: actions/checkout@v4
|
||||
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
|
||||
-
|
||||
name: Stop docker
|
||||
run: |
|
||||
@@ -288,7 +342,6 @@ jobs:
|
||||
-
|
||||
name: Check
|
||||
run: |
|
||||
echo "${{ toJson(steps.docker_build) }}"
|
||||
if [ "${{ steps.docker_build.outcome }}" != "failure" ] || [ "${{ steps.docker_build.conclusion }}" != "success" ]; then
|
||||
echo "::error::Should have failed"
|
||||
exit 1
|
||||
@@ -299,13 +352,13 @@ jobs:
|
||||
steps:
|
||||
-
|
||||
name: Checkout
|
||||
uses: actions/checkout@v4
|
||||
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
|
||||
-
|
||||
name: Set up QEMU
|
||||
uses: docker/setup-qemu-action@v3
|
||||
uses: docker/setup-qemu-action@ce360397dd3f832beb865e1373c09c0e9f86d70a # v4.0.0
|
||||
-
|
||||
name: Set up Docker Buildx
|
||||
uses: docker/setup-buildx-action@v3
|
||||
uses: docker/setup-buildx-action@4d04d5d9486b7bd6fa91e7baf45bbb4f8b9deedd # v4.0.0
|
||||
with:
|
||||
version: ${{ inputs.buildx-version || env.BUILDX_VERSION }}
|
||||
driver-opts: |
|
||||
@@ -324,7 +377,6 @@ jobs:
|
||||
-
|
||||
name: Check
|
||||
run: |
|
||||
echo "${{ toJson(steps.docker_build) }}"
|
||||
if [ "${{ steps.docker_build.outcome }}" != "failure" ] || [ "${{ steps.docker_build.conclusion }}" != "success" ]; then
|
||||
echo "::error::Should have failed"
|
||||
exit 1
|
||||
@@ -334,13 +386,13 @@ jobs:
|
||||
runs-on: ubuntu-latest
|
||||
services:
|
||||
registry:
|
||||
image: registry:2
|
||||
image: registry:2.8.3@sha256:a3d8aaa63ed8681a604f1dea0aa03f100d5895b6a58ace528858a7b332415373
|
||||
ports:
|
||||
- 5000:5000
|
||||
steps:
|
||||
-
|
||||
name: Checkout
|
||||
uses: actions/checkout@v4
|
||||
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
|
||||
-
|
||||
name: Build
|
||||
id: docker_build
|
||||
@@ -356,7 +408,7 @@ jobs:
|
||||
steps:
|
||||
-
|
||||
name: Checkout
|
||||
uses: actions/checkout@v4
|
||||
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
|
||||
-
|
||||
name: Build
|
||||
uses: ./
|
||||
@@ -375,10 +427,10 @@ jobs:
|
||||
steps:
|
||||
-
|
||||
name: Checkout
|
||||
uses: actions/checkout@v4
|
||||
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
|
||||
-
|
||||
name: Set up Docker Buildx
|
||||
uses: docker/setup-buildx-action@v3
|
||||
uses: docker/setup-buildx-action@4d04d5d9486b7bd6fa91e7baf45bbb4f8b9deedd # v4.0.0
|
||||
with:
|
||||
version: ${{ inputs.buildx-version || env.BUILDX_VERSION }}
|
||||
driver-opts: |
|
||||
@@ -393,15 +445,38 @@ jobs:
|
||||
MYSECRET=foo
|
||||
INVALID_SECRET=
|
||||
|
||||
secret-files:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
-
|
||||
name: Checkout
|
||||
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
|
||||
-
|
||||
name: Set up Docker Buildx
|
||||
uses: docker/setup-buildx-action@4d04d5d9486b7bd6fa91e7baf45bbb4f8b9deedd # v4.0.0
|
||||
with:
|
||||
version: ${{ inputs.buildx-version || env.BUILDX_VERSION }}
|
||||
driver-opts: |
|
||||
image=${{ inputs.buildkit-image || env.BUILDKIT_IMAGE }}
|
||||
-
|
||||
name: Build
|
||||
uses: ./
|
||||
with:
|
||||
context: .
|
||||
file: ./test/secret.Dockerfile
|
||||
secret-files: |
|
||||
MYSECRET=./test/secret.txt
|
||||
INVALID_SECRET=
|
||||
|
||||
secret-envs:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
-
|
||||
name: Checkout
|
||||
uses: actions/checkout@v4
|
||||
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
|
||||
-
|
||||
name: Set up Docker buildx
|
||||
uses: docker/setup-buildx-action@v3
|
||||
uses: docker/setup-buildx-action@4d04d5d9486b7bd6fa91e7baf45bbb4f8b9deedd # v4.0.0
|
||||
with:
|
||||
version: ${{ inputs.buildx-version || env.BUILDX_VERSION }}
|
||||
driver-opts: |
|
||||
@@ -423,10 +498,10 @@ jobs:
|
||||
steps:
|
||||
-
|
||||
name: Checkout
|
||||
uses: actions/checkout@v4
|
||||
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
|
||||
-
|
||||
name: Set up Docker Buildx
|
||||
uses: docker/setup-buildx-action@v3
|
||||
uses: docker/setup-buildx-action@4d04d5d9486b7bd6fa91e7baf45bbb4f8b9deedd # v4.0.0
|
||||
with:
|
||||
version: ${{ inputs.buildx-version || env.BUILDX_VERSION }}
|
||||
driver-opts: |
|
||||
@@ -447,10 +522,10 @@ jobs:
|
||||
steps:
|
||||
-
|
||||
name: Checkout
|
||||
uses: actions/checkout@v4
|
||||
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
|
||||
-
|
||||
name: Set up Docker Buildx
|
||||
uses: docker/setup-buildx-action@v3
|
||||
uses: docker/setup-buildx-action@4d04d5d9486b7bd6fa91e7baf45bbb4f8b9deedd # v4.0.0
|
||||
with:
|
||||
version: ${{ inputs.buildx-version || env.BUILDX_VERSION }}
|
||||
driver-opts: |
|
||||
@@ -469,10 +544,10 @@ jobs:
|
||||
steps:
|
||||
-
|
||||
name: Checkout
|
||||
uses: actions/checkout@v4
|
||||
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
|
||||
-
|
||||
name: Set up Docker Buildx
|
||||
uses: docker/setup-buildx-action@v3
|
||||
uses: docker/setup-buildx-action@4d04d5d9486b7bd6fa91e7baf45bbb4f8b9deedd # v4.0.0
|
||||
with:
|
||||
version: ${{ inputs.buildx-version || env.BUILDX_VERSION }}
|
||||
driver-opts: |
|
||||
@@ -494,10 +569,10 @@ jobs:
|
||||
steps:
|
||||
-
|
||||
name: Checkout
|
||||
uses: actions/checkout@v4
|
||||
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
|
||||
-
|
||||
name: Set up Docker Buildx
|
||||
uses: docker/setup-buildx-action@v3
|
||||
uses: docker/setup-buildx-action@4d04d5d9486b7bd6fa91e7baf45bbb4f8b9deedd # v4.0.0
|
||||
with:
|
||||
version: ${{ inputs.buildx-version || env.BUILDX_VERSION }}
|
||||
driver-opts: |
|
||||
@@ -517,10 +592,10 @@ jobs:
|
||||
steps:
|
||||
-
|
||||
name: Checkout
|
||||
uses: actions/checkout@v4
|
||||
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
|
||||
-
|
||||
name: Set up Docker Buildx
|
||||
uses: docker/setup-buildx-action@v3
|
||||
uses: docker/setup-buildx-action@4d04d5d9486b7bd6fa91e7baf45bbb4f8b9deedd # v4.0.0
|
||||
with:
|
||||
version: ${{ inputs.buildx-version || env.BUILDX_VERSION }}
|
||||
driver-opts: |
|
||||
@@ -542,10 +617,10 @@ jobs:
|
||||
steps:
|
||||
-
|
||||
name: Checkout
|
||||
uses: actions/checkout@v4
|
||||
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
|
||||
-
|
||||
name: Set up Docker Buildx
|
||||
uses: docker/setup-buildx-action@v3
|
||||
uses: docker/setup-buildx-action@4d04d5d9486b7bd6fa91e7baf45bbb4f8b9deedd # v4.0.0
|
||||
with:
|
||||
version: ${{ inputs.buildx-version || env.BUILDX_VERSION }}
|
||||
driver-opts: |
|
||||
@@ -567,6 +642,8 @@ jobs:
|
||||
fail-fast: false
|
||||
matrix:
|
||||
include:
|
||||
- buildx: edge
|
||||
buildkit: moby/buildkit:latest
|
||||
- buildx: latest
|
||||
buildkit: moby/buildkit:buildx-stable-1
|
||||
- buildx: latest
|
||||
@@ -576,10 +653,10 @@ jobs:
|
||||
steps:
|
||||
-
|
||||
name: Checkout
|
||||
uses: actions/checkout@v4
|
||||
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
|
||||
-
|
||||
name: Set up Docker Buildx
|
||||
uses: docker/setup-buildx-action@v3
|
||||
uses: docker/setup-buildx-action@4d04d5d9486b7bd6fa91e7baf45bbb4f8b9deedd # v4.0.0
|
||||
with:
|
||||
version: ${{ matrix.buildx }}
|
||||
driver-opts: |
|
||||
@@ -613,16 +690,16 @@ jobs:
|
||||
attr: ''
|
||||
services:
|
||||
registry:
|
||||
image: registry:2
|
||||
image: registry:2.8.3@sha256:a3d8aaa63ed8681a604f1dea0aa03f100d5895b6a58ace528858a7b332415373
|
||||
ports:
|
||||
- 5000:5000
|
||||
steps:
|
||||
-
|
||||
name: Checkout
|
||||
uses: actions/checkout@v4
|
||||
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
|
||||
-
|
||||
name: Set up Docker Buildx
|
||||
uses: docker/setup-buildx-action@v3
|
||||
uses: docker/setup-buildx-action@4d04d5d9486b7bd6fa91e7baf45bbb4f8b9deedd # v4.0.0
|
||||
with:
|
||||
version: ${{ inputs.buildx-version || env.BUILDX_VERSION }}
|
||||
driver-opts: |
|
||||
@@ -665,16 +742,16 @@ jobs:
|
||||
output: /tmp/buildx-build
|
||||
services:
|
||||
registry:
|
||||
image: registry:2
|
||||
image: registry:2.8.3@sha256:a3d8aaa63ed8681a604f1dea0aa03f100d5895b6a58ace528858a7b332415373
|
||||
ports:
|
||||
- 5000:5000
|
||||
steps:
|
||||
-
|
||||
name: Checkout
|
||||
uses: actions/checkout@v4
|
||||
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
|
||||
-
|
||||
name: Set up Docker Buildx
|
||||
uses: docker/setup-buildx-action@v3
|
||||
uses: docker/setup-buildx-action@4d04d5d9486b7bd6fa91e7baf45bbb4f8b9deedd # v4.0.0
|
||||
with:
|
||||
version: ${{ inputs.buildx-version || env.BUILDX_VERSION }}
|
||||
driver-opts: |
|
||||
@@ -717,20 +794,20 @@ jobs:
|
||||
- multi-sudo
|
||||
services:
|
||||
registry:
|
||||
image: registry:2
|
||||
image: registry:2.8.3@sha256:a3d8aaa63ed8681a604f1dea0aa03f100d5895b6a58ace528858a7b332415373
|
||||
ports:
|
||||
- 5000:5000
|
||||
steps:
|
||||
-
|
||||
name: Checkout
|
||||
uses: actions/checkout@v4
|
||||
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
|
||||
-
|
||||
name: Set up QEMU
|
||||
uses: docker/setup-qemu-action@v3
|
||||
uses: docker/setup-qemu-action@ce360397dd3f832beb865e1373c09c0e9f86d70a # v4.0.0
|
||||
-
|
||||
name: Set up Docker Buildx
|
||||
id: buildx
|
||||
uses: docker/setup-buildx-action@v3
|
||||
uses: docker/setup-buildx-action@4d04d5d9486b7bd6fa91e7baf45bbb4f8b9deedd # v4.0.0
|
||||
with:
|
||||
version: ${{ inputs.buildx-version || env.BUILDX_VERSION }}
|
||||
driver-opts: |
|
||||
@@ -786,16 +863,16 @@ jobs:
|
||||
push: true
|
||||
services:
|
||||
registry:
|
||||
image: registry:2
|
||||
image: registry:2.8.3@sha256:a3d8aaa63ed8681a604f1dea0aa03f100d5895b6a58ace528858a7b332415373
|
||||
ports:
|
||||
- 5000:5000
|
||||
steps:
|
||||
-
|
||||
name: Checkout
|
||||
uses: actions/checkout@v4
|
||||
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
|
||||
-
|
||||
name: Set up Docker Buildx
|
||||
uses: docker/setup-buildx-action@v3
|
||||
uses: docker/setup-buildx-action@4d04d5d9486b7bd6fa91e7baf45bbb4f8b9deedd # v4.0.0
|
||||
with:
|
||||
version: ${{ inputs.buildx-version || env.BUILDX_VERSION }}
|
||||
driver: ${{ matrix.driver }}
|
||||
@@ -856,19 +933,19 @@ jobs:
|
||||
runs-on: ubuntu-latest
|
||||
services:
|
||||
registry:
|
||||
image: registry:2
|
||||
image: registry:2.8.3@sha256:a3d8aaa63ed8681a604f1dea0aa03f100d5895b6a58ace528858a7b332415373
|
||||
ports:
|
||||
- 5000:5000
|
||||
steps:
|
||||
-
|
||||
name: Checkout
|
||||
uses: actions/checkout@v4
|
||||
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
|
||||
-
|
||||
name: Set up QEMU
|
||||
uses: docker/setup-qemu-action@v3
|
||||
uses: docker/setup-qemu-action@ce360397dd3f832beb865e1373c09c0e9f86d70a # v4.0.0
|
||||
-
|
||||
name: Set up Docker Buildx
|
||||
uses: docker/setup-buildx-action@v3
|
||||
uses: docker/setup-buildx-action@4d04d5d9486b7bd6fa91e7baf45bbb4f8b9deedd # v4.0.0
|
||||
with:
|
||||
version: ${{ inputs.buildx-version || env.BUILDX_VERSION }}
|
||||
driver-opts: |
|
||||
@@ -905,19 +982,19 @@ jobs:
|
||||
runs-on: ubuntu-latest
|
||||
services:
|
||||
registry:
|
||||
image: registry:2
|
||||
image: registry:2.8.3@sha256:a3d8aaa63ed8681a604f1dea0aa03f100d5895b6a58ace528858a7b332415373
|
||||
ports:
|
||||
- 5000:5000
|
||||
steps:
|
||||
-
|
||||
name: Checkout
|
||||
uses: actions/checkout@v4
|
||||
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
|
||||
-
|
||||
name: Set up QEMU
|
||||
uses: docker/setup-qemu-action@v3
|
||||
uses: docker/setup-qemu-action@ce360397dd3f832beb865e1373c09c0e9f86d70a # v4.0.0
|
||||
-
|
||||
name: Set up Docker Buildx
|
||||
uses: docker/setup-buildx-action@v3
|
||||
uses: docker/setup-buildx-action@4d04d5d9486b7bd6fa91e7baf45bbb4f8b9deedd # v4.0.0
|
||||
with:
|
||||
version: ${{ inputs.buildx-version || env.BUILDX_VERSION }}
|
||||
driver-opts: |
|
||||
@@ -946,19 +1023,19 @@ jobs:
|
||||
runs-on: ubuntu-latest
|
||||
services:
|
||||
registry:
|
||||
image: registry:2
|
||||
image: registry:2.8.3@sha256:a3d8aaa63ed8681a604f1dea0aa03f100d5895b6a58ace528858a7b332415373
|
||||
ports:
|
||||
- 5000:5000
|
||||
steps:
|
||||
-
|
||||
name: Checkout
|
||||
uses: actions/checkout@v4
|
||||
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
|
||||
-
|
||||
name: Set up QEMU
|
||||
uses: docker/setup-qemu-action@v3
|
||||
uses: docker/setup-qemu-action@ce360397dd3f832beb865e1373c09c0e9f86d70a # v4.0.0
|
||||
-
|
||||
name: Set up Docker Buildx
|
||||
uses: docker/setup-buildx-action@v3
|
||||
uses: docker/setup-buildx-action@4d04d5d9486b7bd6fa91e7baf45bbb4f8b9deedd # v4.0.0
|
||||
with:
|
||||
version: ${{ inputs.buildx-version || env.BUILDX_VERSION }}
|
||||
driver-opts: |
|
||||
@@ -967,7 +1044,7 @@ jobs:
|
||||
buildkitd-flags: --debug
|
||||
-
|
||||
name: Cache Build
|
||||
uses: actions/cache@v4
|
||||
uses: actions/cache@668228422ae6a00e4ad889ee87cd7109ec5666a7 # v5.0.4
|
||||
with:
|
||||
path: /tmp/.buildx-cache
|
||||
key: ${{ runner.os }}-local-test-${{ github.sha }}
|
||||
@@ -1004,7 +1081,7 @@ jobs:
|
||||
steps:
|
||||
-
|
||||
name: Checkout
|
||||
uses: actions/checkout@v4
|
||||
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
|
||||
-
|
||||
name: Uninstall docker cli
|
||||
run: |
|
||||
@@ -1015,7 +1092,7 @@ jobs:
|
||||
fi
|
||||
-
|
||||
name: Set up Docker Buildx
|
||||
uses: docker/setup-buildx-action@v3
|
||||
uses: docker/setup-buildx-action@4d04d5d9486b7bd6fa91e7baf45bbb4f8b9deedd # v4.0.0
|
||||
with:
|
||||
version: ${{ inputs.buildx-version || env.BUILDX_VERSION }}
|
||||
driver-opts: |
|
||||
@@ -1033,10 +1110,10 @@ jobs:
|
||||
steps:
|
||||
-
|
||||
name: Checkout
|
||||
uses: actions/checkout@v4
|
||||
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
|
||||
-
|
||||
name: Set up Docker Buildx
|
||||
uses: docker/setup-buildx-action@v3
|
||||
uses: docker/setup-buildx-action@4d04d5d9486b7bd6fa91e7baf45bbb4f8b9deedd # v4.0.0
|
||||
with:
|
||||
version: ${{ inputs.buildx-version || env.BUILDX_VERSION }}
|
||||
driver-opts: |
|
||||
@@ -1055,10 +1132,10 @@ jobs:
|
||||
steps:
|
||||
-
|
||||
name: Checkout
|
||||
uses: actions/checkout@v4
|
||||
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
|
||||
-
|
||||
name: Set up Docker Buildx
|
||||
uses: docker/setup-buildx-action@v3
|
||||
uses: docker/setup-buildx-action@4d04d5d9486b7bd6fa91e7baf45bbb4f8b9deedd # v4.0.0
|
||||
with:
|
||||
version: ${{ inputs.buildx-version || env.BUILDX_VERSION }}
|
||||
driver: docker
|
||||
@@ -1083,16 +1160,16 @@ jobs:
|
||||
runs-on: ubuntu-latest
|
||||
services:
|
||||
registry:
|
||||
image: registry:2
|
||||
image: registry:2.8.3@sha256:a3d8aaa63ed8681a604f1dea0aa03f100d5895b6a58ace528858a7b332415373
|
||||
ports:
|
||||
- 5000:5000
|
||||
steps:
|
||||
-
|
||||
name: Checkout
|
||||
uses: actions/checkout@v4
|
||||
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
|
||||
-
|
||||
name: Set up Docker Buildx
|
||||
uses: docker/setup-buildx-action@v3
|
||||
uses: docker/setup-buildx-action@4d04d5d9486b7bd6fa91e7baf45bbb4f8b9deedd # v4.0.0
|
||||
with:
|
||||
version: ${{ inputs.buildx-version || env.BUILDX_VERSION }}
|
||||
driver-opts: |
|
||||
@@ -1120,7 +1197,7 @@ jobs:
|
||||
steps:
|
||||
-
|
||||
name: Checkout
|
||||
uses: actions/checkout@v4
|
||||
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
|
||||
-
|
||||
name: Set malformed docker config
|
||||
run: |
|
||||
@@ -1136,7 +1213,7 @@ jobs:
|
||||
runs-on: ubuntu-latest
|
||||
services:
|
||||
squid-proxy:
|
||||
image: ubuntu/squid:latest
|
||||
image: ubuntu/squid:latest@sha256:6a097f68bae708cedbabd6188d68c7e2e7a38cedd05a176e1cc0ba29e3bbe029
|
||||
ports:
|
||||
- 3128:3128
|
||||
steps:
|
||||
@@ -1147,7 +1224,7 @@ jobs:
|
||||
curl --retry 5 --retry-all-errors --retry-delay 0 --connect-timeout 5 --proxy http://127.0.0.1:3128 -v --insecure --head https://www.google.com
|
||||
-
|
||||
name: Checkout
|
||||
uses: actions/checkout@v4
|
||||
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
|
||||
-
|
||||
name: Set proxy config
|
||||
run: |
|
||||
@@ -1155,7 +1232,7 @@ jobs:
|
||||
echo '{"proxies":{"default":{"httpProxy":"http://127.0.0.1:3128","httpsProxy":"http://127.0.0.1:3128"}}}' > ~/.docker/config.json
|
||||
-
|
||||
name: Set up Docker Buildx
|
||||
uses: docker/setup-buildx-action@v3
|
||||
uses: docker/setup-buildx-action@4d04d5d9486b7bd6fa91e7baf45bbb4f8b9deedd # v4.0.0
|
||||
with:
|
||||
version: ${{ inputs.buildx-version || env.BUILDX_VERSION }}
|
||||
driver-opts: |
|
||||
@@ -1173,7 +1250,7 @@ jobs:
|
||||
runs-on: ubuntu-latest
|
||||
services:
|
||||
squid-proxy:
|
||||
image: ubuntu/squid:latest
|
||||
image: ubuntu/squid:latest@sha256:6a097f68bae708cedbabd6188d68c7e2e7a38cedd05a176e1cc0ba29e3bbe029
|
||||
ports:
|
||||
- 3128:3128
|
||||
steps:
|
||||
@@ -1184,10 +1261,10 @@ jobs:
|
||||
curl --retry 5 --retry-all-errors --retry-delay 0 --connect-timeout 5 --proxy http://127.0.0.1:3128 -v --insecure --head https://www.google.com
|
||||
-
|
||||
name: Checkout
|
||||
uses: actions/checkout@v4
|
||||
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
|
||||
-
|
||||
name: Set up Docker Buildx
|
||||
uses: docker/setup-buildx-action@v3
|
||||
uses: docker/setup-buildx-action@4d04d5d9486b7bd6fa91e7baf45bbb4f8b9deedd # v4.0.0
|
||||
with:
|
||||
version: ${{ inputs.buildx-version || env.BUILDX_VERSION }}
|
||||
driver-opts: |
|
||||
@@ -1209,17 +1286,17 @@ jobs:
|
||||
DOCKER_IMAGE: localhost:5000/name/app
|
||||
services:
|
||||
registry:
|
||||
image: registry:2
|
||||
image: registry:2.8.3@sha256:a3d8aaa63ed8681a604f1dea0aa03f100d5895b6a58ace528858a7b332415373
|
||||
ports:
|
||||
- 5000:5000
|
||||
steps:
|
||||
-
|
||||
name: Checkout
|
||||
uses: actions/checkout@v4
|
||||
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
|
||||
-
|
||||
name: Docker meta
|
||||
id: meta
|
||||
uses: docker/metadata-action@v5
|
||||
uses: docker/metadata-action@030e881283bb7a6894de51c315a6bfe6a94e05cf # v6.0.0
|
||||
with:
|
||||
images: ${{ env.DOCKER_IMAGE }}
|
||||
tags: |
|
||||
@@ -1232,7 +1309,7 @@ jobs:
|
||||
type=sha
|
||||
-
|
||||
name: Set up Docker Buildx
|
||||
uses: docker/setup-buildx-action@v3
|
||||
uses: docker/setup-buildx-action@4d04d5d9486b7bd6fa91e7baf45bbb4f8b9deedd # v4.0.0
|
||||
with:
|
||||
version: ${{ inputs.buildx-version || env.BUILDX_VERSION }}
|
||||
driver-opts: |
|
||||
@@ -1259,19 +1336,19 @@ jobs:
|
||||
runs-on: ubuntu-latest
|
||||
services:
|
||||
registry:
|
||||
image: registry:2
|
||||
image: registry:2.8.3@sha256:a3d8aaa63ed8681a604f1dea0aa03f100d5895b6a58ace528858a7b332415373
|
||||
ports:
|
||||
- 5000:5000
|
||||
steps:
|
||||
-
|
||||
name: Checkout
|
||||
uses: actions/checkout@v4
|
||||
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
|
||||
-
|
||||
name: Set up QEMU
|
||||
uses: docker/setup-qemu-action@v3
|
||||
uses: docker/setup-qemu-action@ce360397dd3f832beb865e1373c09c0e9f86d70a # v4.0.0
|
||||
-
|
||||
name: Set up Docker Buildx
|
||||
uses: docker/setup-buildx-action@v3
|
||||
uses: docker/setup-buildx-action@4d04d5d9486b7bd6fa91e7baf45bbb4f8b9deedd # v4.0.0
|
||||
with:
|
||||
version: ${{ inputs.buildx-version || env.BUILDX_VERSION }}
|
||||
driver-opts: |
|
||||
@@ -1308,19 +1385,19 @@ jobs:
|
||||
runs-on: ubuntu-latest
|
||||
services:
|
||||
registry:
|
||||
image: registry:2
|
||||
image: registry:2.8.3@sha256:a3d8aaa63ed8681a604f1dea0aa03f100d5895b6a58ace528858a7b332415373
|
||||
ports:
|
||||
- 5000:5000
|
||||
steps:
|
||||
-
|
||||
name: Checkout
|
||||
uses: actions/checkout@v4
|
||||
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
|
||||
-
|
||||
name: Set up QEMU
|
||||
uses: docker/setup-qemu-action@v3
|
||||
uses: docker/setup-qemu-action@ce360397dd3f832beb865e1373c09c0e9f86d70a # v4.0.0
|
||||
-
|
||||
name: Set up Docker Buildx
|
||||
uses: docker/setup-buildx-action@v3
|
||||
uses: docker/setup-buildx-action@4d04d5d9486b7bd6fa91e7baf45bbb4f8b9deedd # v4.0.0
|
||||
with:
|
||||
version: ${{ inputs.buildx-version || env.BUILDX_VERSION }}
|
||||
driver-opts: |
|
||||
@@ -1350,12 +1427,12 @@ jobs:
|
||||
steps:
|
||||
-
|
||||
name: Checkout
|
||||
uses: actions/checkout@v4
|
||||
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
|
||||
with:
|
||||
path: action
|
||||
-
|
||||
name: Set up Docker Buildx
|
||||
uses: docker/setup-buildx-action@v3
|
||||
uses: docker/setup-buildx-action@4d04d5d9486b7bd6fa91e7baf45bbb4f8b9deedd # v4.0.0
|
||||
with:
|
||||
version: ${{ inputs.buildx-version || env.BUILDX_VERSION }}
|
||||
driver-opts: |
|
||||
@@ -1368,40 +1445,17 @@ jobs:
|
||||
env:
|
||||
DOCKER_BUILD_SUMMARY: false
|
||||
|
||||
summary-disable-deprecated:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
-
|
||||
name: Checkout
|
||||
uses: actions/checkout@v4
|
||||
with:
|
||||
path: action
|
||||
-
|
||||
name: Set up Docker Buildx
|
||||
uses: docker/setup-buildx-action@v3
|
||||
with:
|
||||
version: ${{ inputs.buildx-version || env.BUILDX_VERSION }}
|
||||
driver-opts: |
|
||||
image=${{ inputs.buildkit-image || env.BUILDKIT_IMAGE }}
|
||||
-
|
||||
name: Build
|
||||
uses: ./action
|
||||
with:
|
||||
file: ./test/Dockerfile
|
||||
env:
|
||||
DOCKER_BUILD_NO_SUMMARY: true
|
||||
|
||||
summary-not-supported:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
-
|
||||
name: Checkout
|
||||
uses: actions/checkout@v4
|
||||
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
|
||||
with:
|
||||
path: action
|
||||
-
|
||||
name: Set up Docker Buildx
|
||||
uses: docker/setup-buildx-action@v3
|
||||
uses: docker/setup-buildx-action@4d04d5d9486b7bd6fa91e7baf45bbb4f8b9deedd # v4.0.0
|
||||
with:
|
||||
version: v0.12.1
|
||||
driver-opts: |
|
||||
@@ -1417,12 +1471,12 @@ jobs:
|
||||
steps:
|
||||
-
|
||||
name: Checkout
|
||||
uses: actions/checkout@v4
|
||||
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
|
||||
with:
|
||||
path: action
|
||||
-
|
||||
name: Set up Docker Buildx
|
||||
uses: docker/setup-buildx-action@v3
|
||||
uses: docker/setup-buildx-action@4d04d5d9486b7bd6fa91e7baf45bbb4f8b9deedd # v4.0.0
|
||||
with:
|
||||
version: ${{ inputs.buildx-version || env.BUILDX_VERSION }}
|
||||
driver-opts: |
|
||||
@@ -1446,12 +1500,12 @@ jobs:
|
||||
steps:
|
||||
-
|
||||
name: Checkout
|
||||
uses: actions/checkout@v4
|
||||
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
|
||||
with:
|
||||
path: action
|
||||
-
|
||||
name: Set up Docker Buildx
|
||||
uses: docker/setup-buildx-action@v3
|
||||
uses: docker/setup-buildx-action@4d04d5d9486b7bd6fa91e7baf45bbb4f8b9deedd # v4.0.0
|
||||
with:
|
||||
version: ${{ inputs.buildx-version || env.BUILDX_VERSION }}
|
||||
driver-opts: |
|
||||
@@ -1463,3 +1517,105 @@ jobs:
|
||||
file: ./test/Dockerfile
|
||||
env:
|
||||
DOCKER_BUILD_RECORD_RETENTION_DAYS: ${{ matrix.days }}
|
||||
|
||||
checks:
|
||||
runs-on: ubuntu-latest
|
||||
strategy:
|
||||
fail-fast: false
|
||||
matrix:
|
||||
buildx-version:
|
||||
- edge
|
||||
- latest
|
||||
- v0.14.1
|
||||
steps:
|
||||
-
|
||||
name: Checkout
|
||||
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
|
||||
-
|
||||
name: Set up Docker Buildx
|
||||
uses: docker/setup-buildx-action@4d04d5d9486b7bd6fa91e7baf45bbb4f8b9deedd # v4.0.0
|
||||
with:
|
||||
version: ${{ matrix.buildx-version }}
|
||||
driver-opts: |
|
||||
image=${{ inputs.buildkit-image || env.BUILDKIT_IMAGE }}
|
||||
-
|
||||
name: Build
|
||||
uses: ./
|
||||
with:
|
||||
context: ./test
|
||||
file: ./test/lint.Dockerfile
|
||||
|
||||
annotations-disabled:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
-
|
||||
name: Checkout
|
||||
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
|
||||
-
|
||||
name: Set up Docker Buildx
|
||||
uses: docker/setup-buildx-action@4d04d5d9486b7bd6fa91e7baf45bbb4f8b9deedd # v4.0.0
|
||||
with:
|
||||
version: ${{ inputs.buildx-version || env.BUILDX_VERSION }}
|
||||
driver-opts: |
|
||||
image=${{ inputs.buildkit-image || env.BUILDKIT_IMAGE }}
|
||||
-
|
||||
name: Build
|
||||
uses: ./
|
||||
with:
|
||||
context: ./test
|
||||
file: ./test/lint.Dockerfile
|
||||
env:
|
||||
DOCKER_BUILD_CHECKS_ANNOTATIONS: false
|
||||
|
||||
call-check:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
-
|
||||
name: Checkout
|
||||
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
|
||||
-
|
||||
name: Set up Docker Buildx
|
||||
uses: docker/setup-buildx-action@4d04d5d9486b7bd6fa91e7baf45bbb4f8b9deedd # v4.0.0
|
||||
with:
|
||||
version: ${{ inputs.buildx-version || env.BUILDX_VERSION }}
|
||||
driver-opts: |
|
||||
image=${{ inputs.buildkit-image || env.BUILDKIT_IMAGE }}
|
||||
-
|
||||
name: Build
|
||||
id: docker_build
|
||||
continue-on-error: true
|
||||
uses: ./
|
||||
with:
|
||||
context: ./test
|
||||
file: ./test/lint.Dockerfile
|
||||
call: check
|
||||
-
|
||||
name: Check
|
||||
run: |
|
||||
if [ "${{ steps.docker_build.outcome }}" != "failure" ] || [ "${{ steps.docker_build.conclusion }}" != "success" ]; then
|
||||
echo "::error::Should have failed"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
no-default-attestations:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
-
|
||||
name: Checkout
|
||||
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
|
||||
with:
|
||||
path: action
|
||||
-
|
||||
name: Set up Docker Buildx
|
||||
uses: docker/setup-buildx-action@4d04d5d9486b7bd6fa91e7baf45bbb4f8b9deedd # v4.0.0
|
||||
with:
|
||||
version: ${{ inputs.buildx-version || env.BUILDX_VERSION }}
|
||||
driver-opts: |
|
||||
image=${{ inputs.buildkit-image || env.BUILDKIT_IMAGE }}
|
||||
-
|
||||
name: Build
|
||||
uses: ./action
|
||||
with:
|
||||
file: ./test/Dockerfile
|
||||
env:
|
||||
BUILDX_NO_DEFAULT_ATTESTATIONS: 1
|
||||
@@ -0,0 +1,46 @@
|
||||
name: codeql
|
||||
|
||||
permissions:
|
||||
contents: read
|
||||
|
||||
on:
|
||||
push:
|
||||
branches:
|
||||
- 'master'
|
||||
- 'releases/v*'
|
||||
pull_request:
|
||||
|
||||
env:
|
||||
NODE_VERSION: "24"
|
||||
|
||||
jobs:
|
||||
analyze:
|
||||
runs-on: ubuntu-latest
|
||||
permissions:
|
||||
contents: read
|
||||
security-events: write
|
||||
steps:
|
||||
-
|
||||
name: Checkout
|
||||
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
|
||||
-
|
||||
name: Enable corepack
|
||||
run: |
|
||||
corepack enable
|
||||
yarn --version
|
||||
-
|
||||
name: Set up Node
|
||||
uses: actions/setup-node@53b83947a5a98c8d113130e565377fae1a50d02f # v6.3.0
|
||||
with:
|
||||
node-version: ${{ env.NODE_VERSION }}
|
||||
-
|
||||
name: Initialize CodeQL
|
||||
uses: github/codeql-action/init@c10b8064de6f491fea524254123dbe5e09572f13 # v4.35.1
|
||||
with:
|
||||
languages: javascript-typescript
|
||||
build-mode: none
|
||||
-
|
||||
name: Perform CodeQL Analysis
|
||||
uses: github/codeql-action/analyze@c10b8064de6f491fea524254123dbe5e09572f13 # v4.35.1
|
||||
with:
|
||||
category: "/language:javascript-typescript"
|
||||
+41
-28
@@ -1,5 +1,8 @@
|
||||
name: e2e
|
||||
|
||||
permissions:
|
||||
contents: read
|
||||
|
||||
concurrency:
|
||||
group: ${{ github.workflow }}-${{ github.ref }}
|
||||
cancel-in-progress: true
|
||||
@@ -24,84 +27,71 @@ jobs:
|
||||
-
|
||||
name: Distribution
|
||||
id: distribution
|
||||
auth: none
|
||||
type: local
|
||||
-
|
||||
name: Docker Hub
|
||||
registry: ''
|
||||
slug: ghactionstest/ghactionstest
|
||||
username_secret: DOCKERHUB_USERNAME
|
||||
password_secret: DOCKERHUB_TOKEN
|
||||
auth: dockerhub
|
||||
type: remote
|
||||
-
|
||||
name: GitHub
|
||||
registry: ghcr.io
|
||||
slug: ghcr.io/docker-ghactiontest/test
|
||||
username_secret: GHCR_USERNAME
|
||||
password_secret: GHCR_PAT
|
||||
auth: ghcr
|
||||
type: remote
|
||||
-
|
||||
name: GitLab
|
||||
registry: registry.gitlab.com
|
||||
slug: registry.gitlab.com/test1716/test
|
||||
username_secret: GITLAB_USERNAME
|
||||
password_secret: GITLAB_TOKEN
|
||||
auth: gitlab
|
||||
type: remote
|
||||
-
|
||||
name: AWS ECR
|
||||
registry: 175142243308.dkr.ecr.us-east-2.amazonaws.com
|
||||
slug: 175142243308.dkr.ecr.us-east-2.amazonaws.com/sandbox/test-docker-action
|
||||
username_secret: AWS_ACCESS_KEY_ID
|
||||
password_secret: AWS_SECRET_ACCESS_KEY
|
||||
auth: aws
|
||||
type: remote
|
||||
-
|
||||
name: AWS ECR Public
|
||||
registry: public.ecr.aws
|
||||
slug: public.ecr.aws/q3b5f1u4/test-docker-action
|
||||
username_secret: AWS_ACCESS_KEY_ID
|
||||
password_secret: AWS_SECRET_ACCESS_KEY
|
||||
auth: aws
|
||||
type: remote
|
||||
-
|
||||
name: Google Artifact Registry
|
||||
registry: us-east4-docker.pkg.dev
|
||||
slug: us-east4-docker.pkg.dev/sandbox-298914/docker-official-github-actions/test-docker-action
|
||||
username_secret: GAR_USERNAME
|
||||
password_secret: GAR_JSON_KEY
|
||||
type: remote
|
||||
-
|
||||
name: Google Container Registry
|
||||
registry: gcr.io
|
||||
slug: gcr.io/sandbox-298914/test-docker-action
|
||||
username_secret: GCR_USERNAME
|
||||
password_secret: GCR_JSON_KEY
|
||||
auth: gar
|
||||
type: remote
|
||||
-
|
||||
name: Azure Container Registry
|
||||
registry: officialgithubactions.azurecr.io
|
||||
slug: officialgithubactions.azurecr.io/test-docker-action
|
||||
username_secret: AZURE_CLIENT_ID
|
||||
password_secret: AZURE_CLIENT_SECRET
|
||||
auth: acr
|
||||
type: remote
|
||||
-
|
||||
name: Quay
|
||||
registry: quay.io
|
||||
slug: quay.io/docker_build_team/ghactiontest
|
||||
username_secret: QUAY_USERNAME
|
||||
password_secret: QUAY_TOKEN
|
||||
auth: quay
|
||||
type: remote
|
||||
-
|
||||
name: Artifactory
|
||||
registry: infradock.jfrog.io
|
||||
slug: infradock.jfrog.io/test-ghaction/build-push-action
|
||||
username_secret: ARTIFACTORY_USERNAME
|
||||
password_secret: ARTIFACTORY_TOKEN
|
||||
auth: artifactory
|
||||
type: remote
|
||||
-
|
||||
name: Harbor
|
||||
id: harbor
|
||||
auth: none
|
||||
type: local
|
||||
-
|
||||
name: Nexus
|
||||
id: nexus
|
||||
auth: none
|
||||
type: local
|
||||
with:
|
||||
id: ${{ matrix.id }}
|
||||
@@ -109,6 +99,29 @@ jobs:
|
||||
name: ${{ matrix.name }}
|
||||
registry: ${{ matrix.registry }}
|
||||
slug: ${{ matrix.slug }}
|
||||
username_secret: ${{ matrix.username_secret }}
|
||||
password_secret: ${{ matrix.password_secret }}
|
||||
secrets: inherit
|
||||
secrets:
|
||||
# Pass only the two secrets needed by each matrix entry.
|
||||
registry_username: >-
|
||||
${{
|
||||
matrix.auth == 'dockerhub' && secrets.DOCKERHUB_USERNAME ||
|
||||
matrix.auth == 'ghcr' && secrets.GHCR_USERNAME ||
|
||||
matrix.auth == 'gitlab' && secrets.GITLAB_USERNAME ||
|
||||
matrix.auth == 'aws' && secrets.AWS_ACCESS_KEY_ID ||
|
||||
matrix.auth == 'gar' && secrets.GAR_USERNAME ||
|
||||
matrix.auth == 'acr' && secrets.AZURE_CLIENT_ID ||
|
||||
matrix.auth == 'quay' && secrets.QUAY_USERNAME ||
|
||||
matrix.auth == 'artifactory' && secrets.ARTIFACTORY_USERNAME ||
|
||||
''
|
||||
}}
|
||||
registry_password: >-
|
||||
${{
|
||||
matrix.auth == 'dockerhub' && secrets.DOCKERHUB_TOKEN ||
|
||||
matrix.auth == 'ghcr' && secrets.GHCR_PAT ||
|
||||
matrix.auth == 'gitlab' && secrets.GITLAB_TOKEN ||
|
||||
matrix.auth == 'aws' && secrets.AWS_SECRET_ACCESS_KEY ||
|
||||
matrix.auth == 'gar' && secrets.GAR_JSON_KEY ||
|
||||
matrix.auth == 'acr' && secrets.AZURE_CLIENT_SECRET ||
|
||||
matrix.auth == 'quay' && secrets.QUAY_TOKEN ||
|
||||
matrix.auth == 'artifactory' && secrets.ARTIFACTORY_TOKEN ||
|
||||
''
|
||||
}}
|
||||
@@ -0,0 +1,17 @@
|
||||
name: pr-assign-author
|
||||
|
||||
permissions:
|
||||
contents: read
|
||||
|
||||
on:
|
||||
pull_request_target: # zizmor: ignore[dangerous-triggers] safe to use without checkout
|
||||
types:
|
||||
- opened
|
||||
- reopened
|
||||
|
||||
jobs:
|
||||
run:
|
||||
uses: crazy-max/.github/.github/workflows/pr-assign-author.yml@d89fe92d808a15e2b2ed5cdb62db7c172c31410d # v1.6.0
|
||||
permissions:
|
||||
contents: read
|
||||
pull-requests: write
|
||||
@@ -0,0 +1,28 @@
|
||||
name: publish
|
||||
|
||||
permissions:
|
||||
contents: read
|
||||
|
||||
concurrency:
|
||||
group: ${{ github.workflow }}-${{ github.ref }}
|
||||
cancel-in-progress: true
|
||||
|
||||
on:
|
||||
release:
|
||||
types:
|
||||
- published
|
||||
|
||||
jobs:
|
||||
publish:
|
||||
runs-on: ubuntu-latest
|
||||
permissions:
|
||||
contents: read
|
||||
id-token: write
|
||||
packages: write
|
||||
steps:
|
||||
-
|
||||
name: Checkout
|
||||
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
|
||||
-
|
||||
name: Publish
|
||||
uses: actions/publish-immutable-action@4bc8754ffc40f27910afb20287dbbbb675a4e978 # v0.0.4
|
||||
@@ -1,5 +1,8 @@
|
||||
name: test
|
||||
|
||||
permissions:
|
||||
contents: read
|
||||
|
||||
concurrency:
|
||||
group: ${{ github.workflow }}-${{ github.ref }}
|
||||
cancel-in-progress: true
|
||||
@@ -17,15 +20,16 @@ jobs:
|
||||
steps:
|
||||
-
|
||||
name: Checkout
|
||||
uses: actions/checkout@v4
|
||||
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
|
||||
-
|
||||
name: Test
|
||||
uses: docker/bake-action@v5
|
||||
uses: docker/bake-action@82490499d2e5613fcead7e128237ef0b0ea210f7 # v7.0.0
|
||||
with:
|
||||
source: .
|
||||
targets: test
|
||||
-
|
||||
name: Upload coverage
|
||||
uses: codecov/codecov-action@v4
|
||||
uses: codecov/codecov-action@57e3a136b779b570ffcdbf80b3bdc90e7fab3de2 # v6.0.0
|
||||
with:
|
||||
file: ./coverage/clover.xml
|
||||
files: ./coverage/clover.xml
|
||||
token: ${{ secrets.CODECOV_TOKEN }}
|
||||
@@ -0,0 +1,56 @@
|
||||
name: update-dist
|
||||
|
||||
permissions:
|
||||
contents: read
|
||||
|
||||
concurrency:
|
||||
group: ${{ github.workflow }}-${{ github.ref }}
|
||||
cancel-in-progress: true
|
||||
|
||||
on:
|
||||
pull_request:
|
||||
types:
|
||||
- opened
|
||||
- synchronize
|
||||
|
||||
jobs:
|
||||
update-dist:
|
||||
if: github.actor == 'dependabot[bot]' && github.event.pull_request.user.login == 'dependabot[bot]' && github.repository == github.event.pull_request.head.repo.full_name
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
-
|
||||
name: GitHub auth token from GitHub App
|
||||
id: docker-read-app
|
||||
uses: actions/create-github-app-token@f8d387b68d61c58ab83c6c016672934102569859 # v3.0.0
|
||||
with:
|
||||
app-id: ${{ secrets.GHACTIONS_REPO_WRITE_APP_ID }}
|
||||
private-key: ${{ secrets.GHACTIONS_REPO_WRITE_APP_PRIVATE_KEY }}
|
||||
owner: docker
|
||||
-
|
||||
name: Checkout
|
||||
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
|
||||
with:
|
||||
ref: ${{ github.event.pull_request.head.ref }}
|
||||
fetch-depth: 0
|
||||
token: ${{ steps.docker-read-app.outputs.token }}
|
||||
-
|
||||
name: Build
|
||||
uses: docker/bake-action@82490499d2e5613fcead7e128237ef0b0ea210f7 # v7.0.0
|
||||
with:
|
||||
source: .
|
||||
targets: build
|
||||
-
|
||||
name: Commit and push dist
|
||||
run: |
|
||||
if [ -n "$(git status --porcelain -- dist)" ]; then
|
||||
(
|
||||
set -x
|
||||
git config user.name "github-actions[bot]"
|
||||
git config user.email "41898282+github-actions[bot]@users.noreply.github.com"
|
||||
git add dist
|
||||
git commit -m "chore: update generated content"
|
||||
git push
|
||||
)
|
||||
else
|
||||
echo "No changes in dist"
|
||||
fi
|
||||
@@ -1,5 +1,8 @@
|
||||
name: validate
|
||||
|
||||
permissions:
|
||||
contents: read
|
||||
|
||||
concurrency:
|
||||
group: ${{ github.workflow }}-${{ github.ref }}
|
||||
cancel-in-progress: true
|
||||
@@ -15,16 +18,17 @@ jobs:
|
||||
prepare:
|
||||
runs-on: ubuntu-latest
|
||||
outputs:
|
||||
targets: ${{ steps.targets.outputs.matrix }}
|
||||
matrix: ${{ steps.generate.outputs.matrix }}
|
||||
steps:
|
||||
-
|
||||
name: Checkout
|
||||
uses: actions/checkout@v4
|
||||
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
|
||||
-
|
||||
name: Targets matrix
|
||||
id: targets
|
||||
run: |
|
||||
echo "matrix=$(docker buildx bake validate --print | jq -cr '.group.validate.targets')" >> $GITHUB_OUTPUT
|
||||
name: Generate matrix
|
||||
id: generate
|
||||
uses: docker/bake-action/subaction/matrix@82490499d2e5613fcead7e128237ef0b0ea210f7 # v7.0.0
|
||||
with:
|
||||
target: validate
|
||||
|
||||
validate:
|
||||
runs-on: ubuntu-latest
|
||||
@@ -33,13 +37,10 @@ jobs:
|
||||
strategy:
|
||||
fail-fast: false
|
||||
matrix:
|
||||
target: ${{ fromJson(needs.prepare.outputs.targets) }}
|
||||
include: ${{ fromJson(needs.prepare.outputs.matrix) }}
|
||||
steps:
|
||||
-
|
||||
name: Checkout
|
||||
uses: actions/checkout@v4
|
||||
-
|
||||
name: Validate
|
||||
uses: docker/bake-action@v5
|
||||
uses: docker/bake-action@82490499d2e5613fcead7e128237ef0b0ea210f7 # v7.0.0
|
||||
with:
|
||||
targets: ${{ matrix.target }}
|
||||
@@ -0,0 +1,29 @@
|
||||
name: zizmor
|
||||
|
||||
permissions:
|
||||
contents: read
|
||||
|
||||
concurrency:
|
||||
group: ${{ github.workflow }}-${{ github.ref }}
|
||||
cancel-in-progress: true
|
||||
|
||||
on:
|
||||
workflow_dispatch:
|
||||
push:
|
||||
branches:
|
||||
- 'master'
|
||||
- 'releases/v*'
|
||||
tags:
|
||||
- 'v*'
|
||||
pull_request:
|
||||
|
||||
jobs:
|
||||
zizmor:
|
||||
uses: crazy-max/.github/.github/workflows/zizmor.yml@d89fe92d808a15e2b2ed5cdb62db7c172c31410d # v1.6.0
|
||||
permissions:
|
||||
contents: read
|
||||
security-events: write
|
||||
with:
|
||||
min-severity: medium
|
||||
min-confidence: medium
|
||||
persona: pedantic
|
||||
@@ -0,0 +1,3 @@
|
||||
rules:
|
||||
secrets-outside-env: # FIXME: remove this rule when zizmor 1.24.0 is released, fixing the right persona attached to this rule: https://github.com/zizmorcore/zizmor/pull/1783
|
||||
disable: true
|
||||
+1
-2
@@ -6,6 +6,5 @@
|
||||
"singleQuote": true,
|
||||
"trailingComma": "none",
|
||||
"bracketSpacing": false,
|
||||
"arrowParens": "avoid",
|
||||
"parser": "typescript"
|
||||
"arrowParens": "avoid"
|
||||
}
|
||||
Binary file not shown.
+8
-4
@@ -1,3 +1,9 @@
|
||||
# https://yarnpkg.com/configuration/yarnrc
|
||||
|
||||
compressionLevel: mixed
|
||||
enableGlobalCache: false
|
||||
enableHardenedMode: true
|
||||
|
||||
logFilters:
|
||||
- code: YN0013
|
||||
level: discard
|
||||
@@ -5,9 +11,7 @@ logFilters:
|
||||
level: discard
|
||||
- code: YN0076
|
||||
level: discard
|
||||
- code: YN0086
|
||||
level: discard
|
||||
|
||||
nodeLinker: node-modules
|
||||
|
||||
plugins:
|
||||
- path: .yarn/plugins/@yarnpkg/plugin-interactive-tools.cjs
|
||||
spec: "@yarnpkg/plugin-interactive-tools"
|
||||
@@ -60,21 +60,21 @@ jobs:
|
||||
docker:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
-
|
||||
name: Set up QEMU
|
||||
uses: docker/setup-qemu-action@v3
|
||||
-
|
||||
name: Set up Docker Buildx
|
||||
uses: docker/setup-buildx-action@v3
|
||||
-
|
||||
name: Login to Docker Hub
|
||||
uses: docker/login-action@v3
|
||||
uses: docker/login-action@v4
|
||||
with:
|
||||
username: ${{ secrets.DOCKERHUB_USERNAME }}
|
||||
username: ${{ vars.DOCKERHUB_USERNAME }}
|
||||
password: ${{ secrets.DOCKERHUB_TOKEN }}
|
||||
-
|
||||
name: Set up QEMU
|
||||
uses: docker/setup-qemu-action@v4
|
||||
-
|
||||
name: Set up Docker Buildx
|
||||
uses: docker/setup-buildx-action@v4
|
||||
-
|
||||
name: Build and push
|
||||
uses: docker/build-push-action@v6
|
||||
uses: docker/build-push-action@v7
|
||||
with:
|
||||
push: true
|
||||
tags: user/app:latest
|
||||
@@ -94,7 +94,7 @@ to the default Git context:
|
||||
```yaml
|
||||
-
|
||||
name: Build and push
|
||||
uses: docker/build-push-action@v6
|
||||
uses: docker/build-push-action@v7
|
||||
with:
|
||||
context: "{{defaultContext}}:mysubdir"
|
||||
push: true
|
||||
@@ -109,7 +109,7 @@ named `GIT_AUTH_TOKEN` to be able to authenticate against it with Buildx:
|
||||
```yaml
|
||||
-
|
||||
name: Build and push
|
||||
uses: docker/build-push-action@v6
|
||||
uses: docker/build-push-action@v7
|
||||
with:
|
||||
push: true
|
||||
tags: user/app:latest
|
||||
@@ -131,22 +131,22 @@ jobs:
|
||||
steps:
|
||||
-
|
||||
name: Checkout
|
||||
uses: actions/checkout@v4
|
||||
-
|
||||
name: Set up QEMU
|
||||
uses: docker/setup-qemu-action@v3
|
||||
-
|
||||
name: Set up Docker Buildx
|
||||
uses: docker/setup-buildx-action@v3
|
||||
uses: actions/checkout@v6
|
||||
-
|
||||
name: Login to Docker Hub
|
||||
uses: docker/login-action@v3
|
||||
uses: docker/login-action@v4
|
||||
with:
|
||||
username: ${{ secrets.DOCKERHUB_USERNAME }}
|
||||
username: ${{ vars.DOCKERHUB_USERNAME }}
|
||||
password: ${{ secrets.DOCKERHUB_TOKEN }}
|
||||
-
|
||||
name: Set up QEMU
|
||||
uses: docker/setup-qemu-action@v4
|
||||
-
|
||||
name: Set up Docker Buildx
|
||||
uses: docker/setup-buildx-action@v4
|
||||
-
|
||||
name: Build and push
|
||||
uses: docker/build-push-action@v6
|
||||
uses: docker/build-push-action@v7
|
||||
with:
|
||||
context: .
|
||||
push: true
|
||||
@@ -162,6 +162,7 @@ jobs:
|
||||
* [Cache management](https://docs.docker.com/build/ci/github-actions/cache/)
|
||||
* [Export to Docker](https://docs.docker.com/build/ci/github-actions/export-docker/)
|
||||
* [Test before push](https://docs.docker.com/build/ci/github-actions/test-before-push/)
|
||||
* [Validating build configuration](https://docs.docker.com/build/ci/github-actions/checks/)
|
||||
* [Local registry](https://docs.docker.com/build/ci/github-actions/local-registry/)
|
||||
* [Share built image between jobs](https://docs.docker.com/build/ci/github-actions/share-image-jobs/)
|
||||
* [Named contexts](https://docs.docker.com/build/ci/github-actions/named-contexts/)
|
||||
@@ -185,6 +186,19 @@ additional details about the build, including build stats, logs, outputs, and
|
||||
more. The build record can be imported to Docker Desktop for inspecting the
|
||||
build in greater detail.
|
||||
|
||||
> [!WARNING]
|
||||
>
|
||||
> If you're using the [`actions/download-artifact`](https://github.com/actions/download-artifact)
|
||||
> action in your workflow, you need to ignore the build record artifacts
|
||||
> if `name` and `pattern` inputs are not specified ([defaults to download all artifacts](https://github.com/actions/download-artifact?tab=readme-ov-file#download-all-artifacts) of the workflow),
|
||||
> otherwise the action will fail:
|
||||
> ```yaml
|
||||
> - uses: actions/download-artifact@v4
|
||||
> with:
|
||||
> pattern: "!*.dockerbuild"
|
||||
> ```
|
||||
> More info: https://github.com/actions/toolkit/pull/1874
|
||||
|
||||
Summaries are enabled by default, but can be disabled with the
|
||||
`DOCKER_BUILD_SUMMARY` [environment variable](#environment-variables).
|
||||
|
||||
@@ -220,6 +234,7 @@ The following inputs can be used as `step.with` keys:
|
||||
| `build-contexts` | List | List of additional [build contexts](https://docs.docker.com/engine/reference/commandline/buildx_build/#build-context) (e.g., `name=path`) |
|
||||
| `cache-from` | List | List of [external cache sources](https://docs.docker.com/engine/reference/commandline/buildx_build/#cache-from) (e.g., `type=local,src=path/to/dir`) |
|
||||
| `cache-to` | List | List of [cache export destinations](https://docs.docker.com/engine/reference/commandline/buildx_build/#cache-to) (e.g., `type=local,dest=path/to/dir`) |
|
||||
| `call` | String | Set [method for evaluating build](https://docs.docker.com/reference/cli/docker/buildx/build/#call) (e.g., `check`) |
|
||||
| `cgroup-parent` | String | Optional [parent cgroup](https://docs.docker.com/engine/reference/commandline/build/#use-a-custom-parent-cgroup---cgroup-parent) for the container used in the build |
|
||||
| `context` | String | Build's context is the set of files located in the specified [`PATH` or `URL`](https://docs.docker.com/engine/reference/commandline/build/) (default [Git context](#git-context)) |
|
||||
| `file` | String | Path to the Dockerfile. (default `{context}/Dockerfile`) |
|
||||
@@ -258,6 +273,7 @@ The following outputs are available:
|
||||
|
||||
| Name | Type | Default | Description |
|
||||
|--------------------------------------|--------|---------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
|
||||
| `DOCKER_BUILD_CHECKS_ANNOTATIONS` | Bool | `true` | If `false`, GitHub annotations are not generated for [build checks](https://docs.docker.com/build/checks/) |
|
||||
| `DOCKER_BUILD_SUMMARY` | Bool | `true` | If `false`, [build summary](https://docs.docker.com/build/ci/github-actions/build-summary/) generation is disabled |
|
||||
| `DOCKER_BUILD_RECORD_UPLOAD` | Bool | `true` | If `false`, build record upload as [GitHub artifact](https://docs.github.com/en/actions/using-workflows/storing-workflow-data-as-artifacts) is disabled |
|
||||
| `DOCKER_BUILD_RECORD_RETENTION_DAYS` | Number | | Duration after which build record artifact will expire in days. Defaults to repository/org [retention settings](https://docs.github.com/en/actions/learn-github-actions/usage-limits-billing-and-administration#artifact-and-log-retention-policy) if unset or `0` |
|
||||
|
||||
+4
-85
@@ -1,10 +1,7 @@
|
||||
# Troubleshooting
|
||||
|
||||
* [Cannot push to a registry](#cannot-push-to-a-registry)
|
||||
* [BuildKit container logs](#buildkit-container-logs)
|
||||
* [With containerd](#with-containerd)
|
||||
* [`repository name must be lowercase`](#repository-name-must-be-lowercase)
|
||||
* [Image not loaded](#image-not-loaded)
|
||||
|
||||
## Cannot push to a registry
|
||||
|
||||
@@ -22,59 +19,9 @@ These issues are not directly related to this action but are rather linked to
|
||||
you're pushing your image. The quality of error message depends on the registry
|
||||
and are usually not very informative.
|
||||
|
||||
### BuildKit container logs
|
||||
|
||||
To help you solve this, you have to [enable debugging in the setup-buildx](https://github.com/docker/setup-buildx-action#buildkit-container-logs)
|
||||
action step and attach BuildKit container logs to your issue.
|
||||
|
||||
### With containerd
|
||||
|
||||
Next you can test pushing with [containerd action](https://github.com/crazy-max/ghaction-setup-containerd)
|
||||
using the following workflow. If it works then open an issue on [BuildKit](https://github.com/moby/buildkit)
|
||||
repository.
|
||||
|
||||
```yaml
|
||||
name: containerd
|
||||
|
||||
on:
|
||||
push:
|
||||
|
||||
jobs:
|
||||
containerd:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
-
|
||||
name: Checkout
|
||||
uses: actions/checkout@v4
|
||||
-
|
||||
name: Set up QEMU
|
||||
uses: docker/setup-qemu-action@v3
|
||||
-
|
||||
name: Set up Docker Buildx
|
||||
uses: docker/setup-buildx-action@v3
|
||||
with:
|
||||
buildkitd-flags: --debug
|
||||
-
|
||||
name: Set up containerd
|
||||
uses: crazy-max/ghaction-setup-containerd@v2
|
||||
-
|
||||
name: Build Docker image
|
||||
uses: docker/build-push-action@v6
|
||||
with:
|
||||
context: .
|
||||
platforms: linux/amd64,linux/arm64
|
||||
tags: docker.io/user/app:latest
|
||||
outputs: type=oci,dest=/tmp/image.tar
|
||||
-
|
||||
name: Import image in containerd
|
||||
run: |
|
||||
sudo ctr i import --base-name docker.io/user/app --digests --all-platforms /tmp/image.tar
|
||||
-
|
||||
name: Push image with containerd
|
||||
run: |
|
||||
sudo ctr --debug i push --user "${{ secrets.DOCKER_USERNAME }}:${{ secrets.DOCKER_PASSWORD }}" docker.io/user/app:latest
|
||||
```
|
||||
|
||||
## `repository name must be lowercase`
|
||||
|
||||
You may encounter this issue if you're using `github.repository` as a repo slug
|
||||
@@ -106,15 +53,14 @@ to generate sanitized tags:
|
||||
```yaml
|
||||
- name: Docker meta
|
||||
id: meta
|
||||
uses: docker/metadata-action@v4
|
||||
uses: docker/metadata-action@v6
|
||||
with:
|
||||
images: ghcr.io/${{ github.repository }}
|
||||
tags: latest
|
||||
|
||||
- name: Build and push
|
||||
uses: docker/build-push-action@v6
|
||||
uses: docker/build-push-action@v7
|
||||
with:
|
||||
context: .
|
||||
push: true
|
||||
tags: ${{ steps.meta.outputs.tags }}
|
||||
```
|
||||
@@ -123,42 +69,15 @@ Or a dedicated step to sanitize the slug:
|
||||
|
||||
```yaml
|
||||
- name: Sanitize repo slug
|
||||
uses: actions/github-script@v6
|
||||
uses: actions/github-script@v8
|
||||
id: repo_slug
|
||||
with:
|
||||
result-encoding: string
|
||||
script: return 'ghcr.io/${{ github.repository }}'.toLowerCase()
|
||||
|
||||
- name: Build and push
|
||||
uses: docker/build-push-action@v6
|
||||
uses: docker/build-push-action@v7
|
||||
with:
|
||||
context: .
|
||||
push: true
|
||||
tags: ${{ steps.repo_slug.outputs.result }}:latest
|
||||
```
|
||||
|
||||
## Image not loaded
|
||||
|
||||
Sometimes when your workflows are heavy consumers of disk storage, it can happen that build-push-action declares that the built image is loaded, but then not found in the following workflow steps.
|
||||
|
||||
- You can use the following solution as workaround, to free space on disk before building docker image using the following workflow step
|
||||
|
||||
```yaml
|
||||
# Free disk space
|
||||
- name: Free Disk space
|
||||
shell: bash
|
||||
run: |
|
||||
sudo rm -rf /usr/local/lib/android # will release about 10 GB if you don't need Android
|
||||
sudo rm -rf /usr/share/dotnet # will release about 20GB if you don't need .NET
|
||||
```
|
||||
|
||||
- Another workaround can be to call `docker/setup-buildx-action` with docker driver
|
||||
|
||||
```yaml
|
||||
name: Set up Docker Buildx
|
||||
uses: docker/setup-buildx-action@v3
|
||||
with:
|
||||
driver: docker
|
||||
```
|
||||
|
||||
More details in the [related issue](https://github.com/docker/build-push-action/issues/321)
|
||||
@@ -1,207 +0,0 @@
|
||||
import {jest} from '@jest/globals';
|
||||
|
||||
export const context = {
|
||||
repo: {
|
||||
owner: 'docker',
|
||||
repo: 'build-push-action'
|
||||
},
|
||||
ref: 'refs/heads/master',
|
||||
runId: 123456789,
|
||||
payload: {
|
||||
after: '860c1904a1ce19322e91ac35af1ab07466440c37',
|
||||
base_ref: null,
|
||||
before: '5f3331d7f7044c18ca9f12c77d961c4d7cf3276a',
|
||||
commits: [
|
||||
{
|
||||
author: {
|
||||
email: 'crazy-max@users.noreply.github.com',
|
||||
name: 'CrazyMax',
|
||||
username: 'crazy-max'
|
||||
},
|
||||
committer: {
|
||||
email: 'crazy-max@users.noreply.github.com',
|
||||
name: 'CrazyMax',
|
||||
username: 'crazy-max'
|
||||
},
|
||||
distinct: true,
|
||||
id: '860c1904a1ce19322e91ac35af1ab07466440c37',
|
||||
message: 'hello dev',
|
||||
timestamp: '2022-04-19T11:27:24+02:00',
|
||||
tree_id: 'd2c60af597e863787d2d27f569e30495b0b92820',
|
||||
url: 'https://github.com/docker/test-docker-action/commit/860c1904a1ce19322e91ac35af1ab07466440c37'
|
||||
}
|
||||
],
|
||||
compare: 'https://github.com/docker/test-docker-action/compare/5f3331d7f704...860c1904a1ce',
|
||||
created: false,
|
||||
deleted: false,
|
||||
forced: false,
|
||||
head_commit: {
|
||||
author: {
|
||||
email: 'crazy-max@users.noreply.github.com',
|
||||
name: 'CrazyMax',
|
||||
username: 'crazy-max'
|
||||
},
|
||||
committer: {
|
||||
email: 'crazy-max@users.noreply.github.com',
|
||||
name: 'CrazyMax',
|
||||
username: 'crazy-max'
|
||||
},
|
||||
distinct: true,
|
||||
id: '860c1904a1ce19322e91ac35af1ab07466440c37',
|
||||
message: 'hello dev',
|
||||
timestamp: '2022-04-19T11:27:24+02:00',
|
||||
tree_id: 'd2c60af597e863787d2d27f569e30495b0b92820',
|
||||
url: 'https://github.com/docker/test-docker-action/commit/860c1904a1ce19322e91ac35af1ab07466440c37'
|
||||
},
|
||||
organization: {
|
||||
avatar_url: 'https://avatars.githubusercontent.com/u/5429470?v=4',
|
||||
description: 'Docker helps developers bring their ideas to life by conquering the complexity of app development.',
|
||||
events_url: 'https://api.github.com/orgs/docker/events',
|
||||
hooks_url: 'https://api.github.com/orgs/docker/hooks',
|
||||
id: 5429470,
|
||||
issues_url: 'https://api.github.com/orgs/docker/issues',
|
||||
login: 'docker',
|
||||
members_url: 'https://api.github.com/orgs/docker/members{/member}',
|
||||
node_id: 'MDEyOk9yZ2FuaXphdGlvbjU0Mjk0NzA=',
|
||||
public_members_url: 'https://api.github.com/orgs/docker/public_members{/member}',
|
||||
repos_url: 'https://api.github.com/orgs/docker/repos',
|
||||
url: 'https://api.github.com/orgs/docker'
|
||||
},
|
||||
pusher: {
|
||||
email: 'github@crazymax.dev',
|
||||
name: 'crazy-max'
|
||||
},
|
||||
ref: 'refs/heads/dev',
|
||||
repository: {
|
||||
allow_forking: true,
|
||||
archive_url: 'https://api.github.com/repos/docker/test-docker-action/{archive_format}{/ref}',
|
||||
archived: false,
|
||||
assignees_url: 'https://api.github.com/repos/docker/test-docker-action/assignees{/user}',
|
||||
blobs_url: 'https://api.github.com/repos/docker/test-docker-action/git/blobs{/sha}',
|
||||
branches_url: 'https://api.github.com/repos/docker/test-docker-action/branches{/branch}',
|
||||
clone_url: 'https://github.com/docker/test-docker-action.git',
|
||||
collaborators_url: 'https://api.github.com/repos/docker/test-docker-action/collaborators{/collaborator}',
|
||||
comments_url: 'https://api.github.com/repos/docker/test-docker-action/comments{/number}',
|
||||
commits_url: 'https://api.github.com/repos/docker/test-docker-action/commits{/sha}',
|
||||
compare_url: 'https://api.github.com/repos/docker/test-docker-action/compare/{base}...{head}',
|
||||
contents_url: 'https://api.github.com/repos/docker/test-docker-action/contents/{+path}',
|
||||
contributors_url: 'https://api.github.com/repos/docker/test-docker-action/contributors',
|
||||
created_at: 1596792180,
|
||||
default_branch: 'master',
|
||||
deployments_url: 'https://api.github.com/repos/docker/test-docker-action/deployments',
|
||||
description: 'Test "Docker" Actions',
|
||||
disabled: false,
|
||||
downloads_url: 'https://api.github.com/repos/docker/test-docker-action/downloads',
|
||||
events_url: 'https://api.github.com/repos/docker/test-docker-action/events',
|
||||
fork: false,
|
||||
forks: 1,
|
||||
forks_count: 1,
|
||||
forks_url: 'https://api.github.com/repos/docker/test-docker-action/forks',
|
||||
full_name: 'docker/test-docker-action',
|
||||
git_commits_url: 'https://api.github.com/repos/docker/test-docker-action/git/commits{/sha}',
|
||||
git_refs_url: 'https://api.github.com/repos/docker/test-docker-action/git/refs{/sha}',
|
||||
git_tags_url: 'https://api.github.com/repos/docker/test-docker-action/git/tags{/sha}',
|
||||
git_url: 'git://github.com/docker/test-docker-action.git',
|
||||
has_downloads: true,
|
||||
has_issues: true,
|
||||
has_pages: false,
|
||||
has_projects: true,
|
||||
has_wiki: true,
|
||||
homepage: '',
|
||||
hooks_url: 'https://api.github.com/repos/docker/test-docker-action/hooks',
|
||||
html_url: 'https://github.com/docker/test-docker-action',
|
||||
id: 285789493,
|
||||
is_template: false,
|
||||
issue_comment_url: 'https://api.github.com/repos/docker/test-docker-action/issues/comments{/number}',
|
||||
issue_events_url: 'https://api.github.com/repos/docker/test-docker-action/issues/events{/number}',
|
||||
issues_url: 'https://api.github.com/repos/docker/test-docker-action/issues{/number}',
|
||||
keys_url: 'https://api.github.com/repos/docker/test-docker-action/keys{/key_id}',
|
||||
labels_url: 'https://api.github.com/repos/docker/test-docker-action/labels{/name}',
|
||||
language: 'JavaScript',
|
||||
languages_url: 'https://api.github.com/repos/docker/test-docker-action/languages',
|
||||
license: {
|
||||
key: 'mit',
|
||||
name: 'MIT License',
|
||||
node_id: 'MDc6TGljZW5zZTEz',
|
||||
spdx_id: 'MIT',
|
||||
url: 'https://api.github.com/licenses/mit'
|
||||
},
|
||||
master_branch: 'master',
|
||||
merges_url: 'https://api.github.com/repos/docker/test-docker-action/merges',
|
||||
milestones_url: 'https://api.github.com/repos/docker/test-docker-action/milestones{/number}',
|
||||
mirror_url: null,
|
||||
name: 'test-docker-action',
|
||||
node_id: 'MDEwOlJlcG9zaXRvcnkyODU3ODk0OTM=',
|
||||
notifications_url: 'https://api.github.com/repos/docker/test-docker-action/notifications{?since,all,participating}',
|
||||
open_issues: 6,
|
||||
open_issues_count: 6,
|
||||
organization: 'docker',
|
||||
owner: {
|
||||
avatar_url: 'https://avatars.githubusercontent.com/u/5429470?v=4',
|
||||
email: 'info@docker.com',
|
||||
events_url: 'https://api.github.com/users/docker/events{/privacy}',
|
||||
followers_url: 'https://api.github.com/users/docker/followers',
|
||||
following_url: 'https://api.github.com/users/docker/following{/other_user}',
|
||||
gists_url: 'https://api.github.com/users/docker/gists{/gist_id}',
|
||||
gravatar_id: '',
|
||||
html_url: 'https://github.com/docker',
|
||||
id: 5429470,
|
||||
login: 'docker',
|
||||
name: 'docker',
|
||||
node_id: 'MDEyOk9yZ2FuaXphdGlvbjU0Mjk0NzA=',
|
||||
organizations_url: 'https://api.github.com/users/docker/orgs',
|
||||
received_events_url: 'https://api.github.com/users/docker/received_events',
|
||||
repos_url: 'https://api.github.com/users/docker/repos',
|
||||
site_admin: false,
|
||||
starred_url: 'https://api.github.com/users/docker/starred{/owner}{/repo}',
|
||||
subscriptions_url: 'https://api.github.com/users/docker/subscriptions',
|
||||
type: 'Organization',
|
||||
url: 'https://api.github.com/users/docker'
|
||||
},
|
||||
private: true,
|
||||
pulls_url: 'https://api.github.com/repos/docker/test-docker-action/pulls{/number}',
|
||||
pushed_at: 1650360446,
|
||||
releases_url: 'https://api.github.com/repos/docker/test-docker-action/releases{/id}',
|
||||
size: 796,
|
||||
ssh_url: 'git@github.com:docker/test-docker-action.git',
|
||||
stargazers: 0,
|
||||
stargazers_count: 0,
|
||||
stargazers_url: 'https://api.github.com/repos/docker/test-docker-action/stargazers',
|
||||
statuses_url: 'https://api.github.com/repos/docker/test-docker-action/statuses/{sha}',
|
||||
subscribers_url: 'https://api.github.com/repos/docker/test-docker-action/subscribers',
|
||||
subscription_url: 'https://api.github.com/repos/docker/test-docker-action/subscription',
|
||||
svn_url: 'https://github.com/docker/test-docker-action',
|
||||
tags_url: 'https://api.github.com/repos/docker/test-docker-action/tags',
|
||||
teams_url: 'https://api.github.com/repos/docker/test-docker-action/teams',
|
||||
topics: [],
|
||||
trees_url: 'https://api.github.com/repos/docker/test-docker-action/git/trees{/sha}',
|
||||
updated_at: '2022-04-19T09:05:09Z',
|
||||
url: 'https://github.com/docker/test-docker-action',
|
||||
visibility: 'private',
|
||||
watchers: 0,
|
||||
watchers_count: 0
|
||||
},
|
||||
sender: {
|
||||
avatar_url: 'https://avatars.githubusercontent.com/u/1951866?v=4',
|
||||
events_url: 'https://api.github.com/users/crazy-max/events{/privacy}',
|
||||
followers_url: 'https://api.github.com/users/crazy-max/followers',
|
||||
following_url: 'https://api.github.com/users/crazy-max/following{/other_user}',
|
||||
gists_url: 'https://api.github.com/users/crazy-max/gists{/gist_id}',
|
||||
gravatar_id: '',
|
||||
html_url: 'https://github.com/crazy-max',
|
||||
id: 1951866,
|
||||
login: 'crazy-max',
|
||||
node_id: 'MDQ6VXNlcjE5NTE4NjY=',
|
||||
organizations_url: 'https://api.github.com/users/crazy-max/orgs',
|
||||
received_events_url: 'https://api.github.com/users/crazy-max/received_events',
|
||||
repos_url: 'https://api.github.com/users/crazy-max/repos',
|
||||
site_admin: false,
|
||||
starred_url: 'https://api.github.com/users/crazy-max/starred{/owner}{/repo}',
|
||||
subscriptions_url: 'https://api.github.com/users/crazy-max/subscriptions',
|
||||
type: 'User',
|
||||
url: 'https://api.github.com/users/crazy-max'
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
export const getOctokit = jest.fn();
|
||||
+266
-81
@@ -1,73 +1,58 @@
|
||||
import {beforeEach, describe, expect, jest, test} from '@jest/globals';
|
||||
import {afterEach, beforeEach, describe, expect, test, vi} from 'vitest';
|
||||
import * as fs from 'fs';
|
||||
import * as os from 'os';
|
||||
import * as path from 'path';
|
||||
|
||||
import {Builder} from '@docker/actions-toolkit/lib/buildx/builder';
|
||||
import {Buildx} from '@docker/actions-toolkit/lib/buildx/buildx';
|
||||
import {Build} from '@docker/actions-toolkit/lib/buildx/build';
|
||||
import {Context} from '@docker/actions-toolkit/lib/context';
|
||||
import {Docker} from '@docker/actions-toolkit/lib/docker/docker';
|
||||
import {GitHub} from '@docker/actions-toolkit/lib/github';
|
||||
import {Toolkit} from '@docker/actions-toolkit/lib/toolkit';
|
||||
import {Builder} from '@docker/actions-toolkit/lib/buildx/builder.js';
|
||||
import {Buildx} from '@docker/actions-toolkit/lib/buildx/buildx.js';
|
||||
import {Build} from '@docker/actions-toolkit/lib/buildx/build.js';
|
||||
import {Context} from '@docker/actions-toolkit/lib/context.js';
|
||||
import {Docker} from '@docker/actions-toolkit/lib/docker/docker.js';
|
||||
import {Toolkit} from '@docker/actions-toolkit/lib/toolkit.js';
|
||||
|
||||
import {BuilderInfo} from '@docker/actions-toolkit/lib/types/buildx/builder';
|
||||
import {GitHubRepo} from '@docker/actions-toolkit/lib/types/github';
|
||||
import {BuilderInfo} from '@docker/actions-toolkit/lib/types/buildx/builder.js';
|
||||
|
||||
import * as context from '../src/context';
|
||||
const tmpDir = fs.mkdtempSync(path.join(process.env.TEMP || os.tmpdir(), 'context-'));
|
||||
const tmpName = path.join(tmpDir, '.tmpname-vi');
|
||||
const fixturesDir = path.join(__dirname, 'fixtures');
|
||||
|
||||
const tmpDir = path.join('/tmp', '.docker-build-push-jest');
|
||||
const tmpName = path.join(tmpDir, '.tmpname-jest');
|
||||
|
||||
import repoFixture from './fixtures/github-repo.json';
|
||||
jest.spyOn(GitHub.prototype, 'repoData').mockImplementation((): Promise<GitHubRepo> => {
|
||||
return <Promise<GitHubRepo>>(repoFixture as unknown);
|
||||
});
|
||||
|
||||
jest.spyOn(Context, 'tmpDir').mockImplementation((): string => {
|
||||
vi.spyOn(Context, 'tmpDir').mockImplementation((): string => {
|
||||
if (!fs.existsSync(tmpDir)) {
|
||||
fs.mkdirSync(tmpDir, {recursive: true});
|
||||
}
|
||||
return tmpDir;
|
||||
});
|
||||
|
||||
jest.spyOn(Context, 'tmpName').mockImplementation((): string => {
|
||||
vi.spyOn(Context, 'tmpName').mockImplementation((): string => {
|
||||
return tmpName;
|
||||
});
|
||||
|
||||
jest.spyOn(Docker, 'isAvailable').mockImplementation(async (): Promise<boolean> => {
|
||||
vi.spyOn(Docker, 'isAvailable').mockImplementation(async (): Promise<boolean> => {
|
||||
return true;
|
||||
});
|
||||
|
||||
const metadataJson = path.join(tmpDir, 'metadata.json');
|
||||
jest.spyOn(Build.prototype, 'getMetadataFilePath').mockImplementation((): string => {
|
||||
vi.spyOn(Build.prototype, 'getMetadataFilePath').mockImplementation((): string => {
|
||||
return metadataJson;
|
||||
});
|
||||
|
||||
const imageIDFilePath = path.join(tmpDir, 'iidfile.txt');
|
||||
jest.spyOn(Build.prototype, 'getImageIDFilePath').mockImplementation((): string => {
|
||||
vi.spyOn(Build.prototype, 'getImageIDFilePath').mockImplementation((): string => {
|
||||
return imageIDFilePath;
|
||||
});
|
||||
|
||||
jest.spyOn(Builder.prototype, 'inspect').mockImplementation(async (): Promise<BuilderInfo> => {
|
||||
type BuilderInfoFixture = Omit<BuilderInfo, 'lastActivity'> & {lastActivity: string};
|
||||
const builderInfoFixture = <BuilderInfoFixture>JSON.parse(fs.readFileSync(path.join(fixturesDir, 'builder-info.json'), {encoding: 'utf-8'}).trim());
|
||||
vi.spyOn(Builder.prototype, 'inspect').mockImplementation(async (): Promise<BuilderInfo> => {
|
||||
return {
|
||||
name: 'builder2',
|
||||
driver: 'docker-container',
|
||||
lastActivity: new Date('2023-01-16 09:45:23 +0000 UTC'),
|
||||
nodes: [
|
||||
{
|
||||
buildkit: 'v0.11.0',
|
||||
'buildkitd-flags': '--debug --allow-insecure-entitlement security.insecure --allow-insecure-entitlement network.host',
|
||||
'driver-opts': ['BUILDKIT_STEP_LOG_MAX_SIZE=10485760', 'BUILDKIT_STEP_LOG_MAX_SPEED=10485760', 'JAEGER_TRACE=localhost:6831', 'image=moby/buildkit:latest', 'network=host'],
|
||||
endpoint: 'unix:///var/run/docker.sock',
|
||||
name: 'builder20',
|
||||
platforms: 'linux/amd64,linux/amd64/v2,linux/amd64/v3,linux/arm64,linux/riscv64,linux/ppc64le,linux/s390x,linux/386,linux/mips64le,linux/mips64,linux/arm/v7,linux/arm/v6',
|
||||
status: 'running'
|
||||
}
|
||||
]
|
||||
...builderInfoFixture,
|
||||
lastActivity: new Date(builderInfoFixture.lastActivity)
|
||||
};
|
||||
});
|
||||
|
||||
describe('getArgs', () => {
|
||||
describe('getInputs', () => {
|
||||
const originalEnv = process.env;
|
||||
|
||||
beforeEach(() => {
|
||||
process.env = Object.keys(process.env).reduce((object, key) => {
|
||||
if (!key.startsWith('INPUT_')) {
|
||||
@@ -77,6 +62,55 @@ describe('getArgs', () => {
|
||||
}, {});
|
||||
});
|
||||
|
||||
afterEach(() => {
|
||||
process.env = originalEnv;
|
||||
});
|
||||
|
||||
function setRequiredBooleanInputs(): void {
|
||||
setInput('load', 'false');
|
||||
setInput('no-cache', 'false');
|
||||
setInput('push', 'false');
|
||||
setInput('pull', 'false');
|
||||
}
|
||||
|
||||
test('uses Build git context when context input is empty', async () => {
|
||||
const gitContext = 'https://github.com/docker/build-push-action.git?ref=refs/heads/master';
|
||||
const gitContextSpy = vi.spyOn(Build.prototype, 'gitContext').mockResolvedValue(gitContext);
|
||||
setRequiredBooleanInputs();
|
||||
const context = await loadContextModule();
|
||||
const inputs = await context.getInputs();
|
||||
expect(inputs.context).toBe(gitContext);
|
||||
expect(gitContextSpy).toHaveBeenCalledTimes(1);
|
||||
gitContextSpy.mockRestore();
|
||||
});
|
||||
|
||||
test('renders defaultContext templates from Build git context', async () => {
|
||||
const gitContext = 'https://github.com/docker/build-push-action.git#refs/heads/master';
|
||||
const gitContextSpy = vi.spyOn(Build.prototype, 'gitContext').mockResolvedValue(gitContext);
|
||||
setRequiredBooleanInputs();
|
||||
setInput('context', '{{defaultContext}}:subdir');
|
||||
const context = await loadContextModule();
|
||||
const inputs = await context.getInputs();
|
||||
expect(inputs.context).toBe(`${gitContext}:subdir`);
|
||||
expect(gitContextSpy).toHaveBeenCalledTimes(1);
|
||||
gitContextSpy.mockRestore();
|
||||
});
|
||||
});
|
||||
|
||||
describe('getArgs', () => {
|
||||
const originalEnv = process.env;
|
||||
beforeEach(() => {
|
||||
process.env = Object.keys(process.env).reduce((object, key) => {
|
||||
if (!key.startsWith('INPUT_')) {
|
||||
object[key] = process.env[key];
|
||||
}
|
||||
return object;
|
||||
}, {});
|
||||
});
|
||||
afterEach(() => {
|
||||
process.env = originalEnv;
|
||||
});
|
||||
|
||||
// prettier-ignore
|
||||
test.each([
|
||||
[
|
||||
@@ -93,7 +127,8 @@ describe('getArgs', () => {
|
||||
'build',
|
||||
'--iidfile', imageIDFilePath,
|
||||
'.'
|
||||
]
|
||||
],
|
||||
undefined
|
||||
],
|
||||
[
|
||||
1,
|
||||
@@ -116,7 +151,8 @@ ccc"`],
|
||||
'--build-arg', `MULTILINE=aaaa\nbbbb\nccc`,
|
||||
'--iidfile', imageIDFilePath,
|
||||
'https://github.com/docker/build-push-action.git#refs/heads/master'
|
||||
]
|
||||
],
|
||||
undefined
|
||||
],
|
||||
[
|
||||
2,
|
||||
@@ -134,7 +170,8 @@ ccc"`],
|
||||
'--tag', 'name/app:7.4',
|
||||
'--tag', 'name/app:latest',
|
||||
'https://github.com/docker/build-push-action.git#refs/heads/master'
|
||||
]
|
||||
],
|
||||
undefined
|
||||
],
|
||||
[
|
||||
3,
|
||||
@@ -154,7 +191,8 @@ ccc"`],
|
||||
'--label', 'org.opencontainers.image.description=concurrent, cache-efficient, and Dockerfile-agnostic builder toolkit',
|
||||
'--output', 'type=local,dest=./release-out',
|
||||
'.'
|
||||
]
|
||||
],
|
||||
undefined
|
||||
],
|
||||
[
|
||||
4,
|
||||
@@ -171,7 +209,8 @@ ccc"`],
|
||||
'build',
|
||||
'--platform', 'linux/amd64,linux/arm64',
|
||||
'.'
|
||||
]
|
||||
],
|
||||
undefined
|
||||
],
|
||||
[
|
||||
5,
|
||||
@@ -187,7 +226,8 @@ ccc"`],
|
||||
'build',
|
||||
'--iidfile', imageIDFilePath,
|
||||
'.'
|
||||
]
|
||||
],
|
||||
undefined
|
||||
],
|
||||
[
|
||||
6,
|
||||
@@ -205,7 +245,8 @@ ccc"`],
|
||||
'--iidfile', imageIDFilePath,
|
||||
'--secret', `id=GIT_AUTH_TOKEN,src=${tmpName}`,
|
||||
'.'
|
||||
]
|
||||
],
|
||||
undefined
|
||||
],
|
||||
[
|
||||
7,
|
||||
@@ -221,9 +262,10 @@ ccc"`],
|
||||
[
|
||||
'build',
|
||||
'--output', '.',
|
||||
'--secret', `id=GIT_AUTH_TOKEN,src=${tmpName}`,
|
||||
'--secret', `id=GIT_AUTH_TOKEN.github.com,src=${tmpName}`,
|
||||
'https://github.com/docker/build-push-action.git#refs/heads/master'
|
||||
]
|
||||
],
|
||||
undefined
|
||||
],
|
||||
[
|
||||
8,
|
||||
@@ -249,7 +291,8 @@ ccc"`],
|
||||
'--builder', 'builder-git-context-2',
|
||||
'--push',
|
||||
'https://github.com/docker/build-push-action.git#refs/heads/master'
|
||||
]
|
||||
],
|
||||
undefined
|
||||
],
|
||||
[
|
||||
9,
|
||||
@@ -286,7 +329,8 @@ ccc"`],
|
||||
'--builder', 'builder-git-context-2',
|
||||
'--push',
|
||||
'https://github.com/docker/build-push-action.git#refs/heads/master'
|
||||
]
|
||||
],
|
||||
undefined
|
||||
],
|
||||
[
|
||||
10,
|
||||
@@ -323,7 +367,8 @@ ccc`],
|
||||
'--builder', 'builder-git-context-2',
|
||||
'--push',
|
||||
'https://github.com/docker/build-push-action.git#refs/heads/master'
|
||||
]
|
||||
],
|
||||
undefined
|
||||
],
|
||||
[
|
||||
11,
|
||||
@@ -331,7 +376,7 @@ ccc`],
|
||||
new Map<string, string>([
|
||||
['context', 'https://github.com/docker/build-push-action.git#refs/heads/master'],
|
||||
['tag', 'localhost:5000/name/app:latest'],
|
||||
['secret-files', `MY_SECRET=${path.join(__dirname, 'fixtures', 'secret.txt')}`],
|
||||
['secret-files', `MY_SECRET=${path.join(fixturesDir, 'secret.txt')}`],
|
||||
['file', './test/Dockerfile'],
|
||||
['builder', 'builder-git-context-2'],
|
||||
['network', 'host'],
|
||||
@@ -344,12 +389,13 @@ ccc`],
|
||||
'build',
|
||||
'--file', './test/Dockerfile',
|
||||
'--iidfile', imageIDFilePath,
|
||||
'--secret', `id=MY_SECRET,src=${tmpName}`,
|
||||
'--secret', `id=MY_SECRET,src=${path.join(fixturesDir, 'secret.txt')}`,
|
||||
'--builder', 'builder-git-context-2',
|
||||
'--network', 'host',
|
||||
'--push',
|
||||
'https://github.com/docker/build-push-action.git#refs/heads/master'
|
||||
]
|
||||
],
|
||||
undefined
|
||||
],
|
||||
[
|
||||
12,
|
||||
@@ -369,7 +415,8 @@ ccc`],
|
||||
'--label', 'org.opencontainers.image.description=Reference implementation of operation "filter results (top-n)"',
|
||||
'--output', 'type=local,dest=./release-out',
|
||||
'.'
|
||||
]
|
||||
],
|
||||
undefined
|
||||
],
|
||||
[
|
||||
13,
|
||||
@@ -395,7 +442,8 @@ ccc`],
|
||||
'--network', 'host',
|
||||
'--push',
|
||||
'.'
|
||||
]
|
||||
],
|
||||
undefined
|
||||
],
|
||||
[
|
||||
14,
|
||||
@@ -425,7 +473,8 @@ nproc=3`],
|
||||
'--ulimit', 'nproc=3',
|
||||
'--metadata-file', metadataJson,
|
||||
'.'
|
||||
]
|
||||
],
|
||||
undefined
|
||||
],
|
||||
[
|
||||
15,
|
||||
@@ -442,7 +491,8 @@ nproc=3`],
|
||||
'--iidfile', imageIDFilePath,
|
||||
'--metadata-file', metadataJson,
|
||||
'https://github.com/docker/build-push-action.git#refs/heads/master:docker'
|
||||
]
|
||||
],
|
||||
undefined
|
||||
],
|
||||
[
|
||||
16,
|
||||
@@ -458,10 +508,11 @@ nproc=3`],
|
||||
[
|
||||
'build',
|
||||
'--iidfile', imageIDFilePath,
|
||||
'--secret', `id=GIT_AUTH_TOKEN,src=${tmpName}`,
|
||||
'--secret', `id=GIT_AUTH_TOKEN.github.com,src=${tmpName}`,
|
||||
'--metadata-file', metadataJson,
|
||||
'https://github.com/docker/build-push-action.git#refs/heads/master:subdir'
|
||||
]
|
||||
],
|
||||
undefined
|
||||
],
|
||||
[
|
||||
17,
|
||||
@@ -479,7 +530,8 @@ nproc=3`],
|
||||
'--iidfile', imageIDFilePath,
|
||||
'--metadata-file', metadataJson,
|
||||
'.'
|
||||
]
|
||||
],
|
||||
undefined
|
||||
],
|
||||
[
|
||||
18,
|
||||
@@ -497,7 +549,8 @@ nproc=3`],
|
||||
'--attest', `type=provenance,mode=min,inline-only=true,builder-id=https://github.com/docker/build-push-action/actions/runs/123456789/attempts/1`,
|
||||
'--metadata-file', metadataJson,
|
||||
'.'
|
||||
]
|
||||
],
|
||||
undefined
|
||||
],
|
||||
[
|
||||
19,
|
||||
@@ -516,7 +569,8 @@ nproc=3`],
|
||||
'--attest', `type=provenance,builder-id=https://github.com/docker/build-push-action/actions/runs/123456789/attempts/1`,
|
||||
'--metadata-file', metadataJson,
|
||||
'.'
|
||||
]
|
||||
],
|
||||
undefined
|
||||
],
|
||||
[
|
||||
20,
|
||||
@@ -535,7 +589,8 @@ nproc=3`],
|
||||
'--attest', `type=provenance,mode=max,builder-id=https://github.com/docker/build-push-action/actions/runs/123456789/attempts/1`,
|
||||
'--metadata-file', metadataJson,
|
||||
'.'
|
||||
]
|
||||
],
|
||||
undefined
|
||||
],
|
||||
[
|
||||
21,
|
||||
@@ -554,7 +609,8 @@ nproc=3`],
|
||||
'--attest', 'type=provenance,disabled=true',
|
||||
'--metadata-file', metadataJson,
|
||||
'.'
|
||||
]
|
||||
],
|
||||
undefined
|
||||
],
|
||||
[
|
||||
22,
|
||||
@@ -573,7 +629,8 @@ nproc=3`],
|
||||
'--attest', 'type=provenance,builder-id=foo',
|
||||
'--metadata-file', metadataJson,
|
||||
'.'
|
||||
]
|
||||
],
|
||||
undefined
|
||||
],
|
||||
[
|
||||
23,
|
||||
@@ -592,7 +649,8 @@ nproc=3`],
|
||||
"--output", 'type=docker',
|
||||
'--metadata-file', metadataJson,
|
||||
'.'
|
||||
]
|
||||
],
|
||||
undefined
|
||||
],
|
||||
[
|
||||
24,
|
||||
@@ -610,7 +668,8 @@ nproc=3`],
|
||||
'--load',
|
||||
'--metadata-file', metadataJson,
|
||||
'.'
|
||||
]
|
||||
],
|
||||
undefined
|
||||
],
|
||||
[
|
||||
25,
|
||||
@@ -630,7 +689,8 @@ nproc=3`],
|
||||
'--load',
|
||||
'--metadata-file', metadataJson,
|
||||
'.'
|
||||
]
|
||||
],
|
||||
undefined
|
||||
],
|
||||
[
|
||||
26,
|
||||
@@ -652,7 +712,8 @@ ANOTHER_SECRET=ANOTHER_SECRET_ENV`]
|
||||
'--load',
|
||||
'--metadata-file', metadataJson,
|
||||
'.'
|
||||
]
|
||||
],
|
||||
undefined
|
||||
],
|
||||
[
|
||||
27,
|
||||
@@ -673,7 +734,8 @@ ANOTHER_SECRET=ANOTHER_SECRET_ENV`]
|
||||
'--load',
|
||||
'--metadata-file', metadataJson,
|
||||
'.'
|
||||
]
|
||||
],
|
||||
undefined
|
||||
],
|
||||
[
|
||||
28,
|
||||
@@ -693,7 +755,8 @@ ANOTHER_SECRET=ANOTHER_SECRET_ENV`]
|
||||
'--attest', `type=provenance,mode=min,inline-only=true,builder-id=https://github.com/docker/build-push-action/actions/runs/123456789/attempts/1`,
|
||||
'--metadata-file', metadataJson,
|
||||
'.'
|
||||
]
|
||||
],
|
||||
undefined
|
||||
],
|
||||
[
|
||||
29,
|
||||
@@ -717,7 +780,8 @@ ANOTHER_SECRET=ANOTHER_SECRET_ENV`]
|
||||
'--attest', `type=provenance,mode=min,inline-only=true,builder-id=https://github.com/docker/build-push-action/actions/runs/123456789/attempts/1`,
|
||||
'--metadata-file', metadataJson,
|
||||
'.'
|
||||
]
|
||||
],
|
||||
undefined
|
||||
],
|
||||
[
|
||||
30,
|
||||
@@ -737,7 +801,8 @@ ANOTHER_SECRET=ANOTHER_SECRET_ENV`]
|
||||
'--attest', `type=provenance,mode=min,inline-only=true,builder-id=https://github.com/docker/build-push-action/actions/runs/123456789/attempts/1`,
|
||||
'--metadata-file', metadataJson,
|
||||
'.'
|
||||
]
|
||||
],
|
||||
undefined
|
||||
],
|
||||
[
|
||||
31,
|
||||
@@ -758,7 +823,8 @@ ANOTHER_SECRET=ANOTHER_SECRET_ENV`]
|
||||
'--attest', `type=sbom,disabled=false`,
|
||||
'--metadata-file', metadataJson,
|
||||
'.'
|
||||
]
|
||||
],
|
||||
undefined
|
||||
],
|
||||
[
|
||||
32,
|
||||
@@ -778,7 +844,8 @@ ANOTHER_SECRET=ANOTHER_SECRET_ENV`]
|
||||
'--attest', `type=provenance,mode=max,builder-id=https://github.com/docker/build-push-action/actions/runs/123456789/attempts/1`,
|
||||
'--metadata-file', metadataJson,
|
||||
'.'
|
||||
]
|
||||
],
|
||||
undefined
|
||||
],
|
||||
[
|
||||
33,
|
||||
@@ -797,18 +864,131 @@ ANOTHER_SECRET=ANOTHER_SECRET_ENV`]
|
||||
'--attest', `type=provenance,mode=min,builder-id=https://github.com/docker/build-push-action/actions/runs/123456789/attempts/1`,
|
||||
'--metadata-file', metadataJson,
|
||||
'.'
|
||||
]
|
||||
],
|
||||
undefined
|
||||
],
|
||||
[
|
||||
34,
|
||||
'0.13.1',
|
||||
new Map<string, string>([
|
||||
['context', '.'],
|
||||
['load', 'false'],
|
||||
['no-cache', 'false'],
|
||||
['push', 'false'],
|
||||
['pull', 'false']
|
||||
]),
|
||||
[
|
||||
'build',
|
||||
'--iidfile', imageIDFilePath,
|
||||
'--metadata-file', metadataJson,
|
||||
'.'
|
||||
],
|
||||
new Map<string, string>([
|
||||
['BUILDX_NO_DEFAULT_ATTESTATIONS', '1']
|
||||
])
|
||||
],
|
||||
[
|
||||
35,
|
||||
'0.13.1',
|
||||
new Map<string, string>([
|
||||
['github-token', 'abcdefghijklmno0123456789'],
|
||||
['context', '{{defaultContext}}'],
|
||||
['load', 'false'],
|
||||
['no-cache', 'false'],
|
||||
['push', 'false'],
|
||||
['pull', 'false'],
|
||||
]),
|
||||
[
|
||||
'build',
|
||||
'--iidfile', imageIDFilePath,
|
||||
'--attest', `type=provenance,mode=min,inline-only=true,builder-id=http://10.0.0.5:22827/docker/build-push-action/actions/runs/123456789/attempts/1`,
|
||||
'--secret', `id=GIT_AUTH_TOKEN.10.0.0.5:22827,src=${tmpName}`,
|
||||
'--metadata-file', metadataJson,
|
||||
'http://10.0.0.5:22827/docker/build-push-action.git#refs/heads/master'
|
||||
],
|
||||
new Map<string, string>([
|
||||
['GITHUB_SERVER_URL', 'http://10.0.0.5:22827'],
|
||||
])
|
||||
],
|
||||
[
|
||||
36,
|
||||
'0.13.1',
|
||||
new Map<string, string>([
|
||||
['github-token', 'abcdefghijklmno0123456789'],
|
||||
['context', '{{defaultContext}}'],
|
||||
['load', 'false'],
|
||||
['no-cache', 'false'],
|
||||
['push', 'false'],
|
||||
['pull', 'false'],
|
||||
]),
|
||||
[
|
||||
'build',
|
||||
'--iidfile', imageIDFilePath,
|
||||
'--attest', `type=provenance,mode=min,inline-only=true,builder-id=https://github.cds.internal.unity3d.com/docker/build-push-action/actions/runs/123456789/attempts/1`,
|
||||
'--secret', `id=GIT_AUTH_TOKEN.github.cds.internal.unity3d.com,src=${tmpName}`,
|
||||
'--metadata-file', metadataJson,
|
||||
'https://github.cds.internal.unity3d.com/docker/build-push-action.git#refs/heads/master'
|
||||
],
|
||||
new Map<string, string>([
|
||||
['GITHUB_SERVER_URL', 'https://github.cds.internal.unity3d.com'],
|
||||
])
|
||||
],
|
||||
[
|
||||
37,
|
||||
'0.29.0',
|
||||
new Map<string, string>([
|
||||
['load', 'false'],
|
||||
['no-cache', 'false'],
|
||||
['push', 'false'],
|
||||
['pull', 'false'],
|
||||
]),
|
||||
[
|
||||
'build',
|
||||
'--iidfile', imageIDFilePath,
|
||||
'--attest', `type=provenance,mode=min,inline-only=true,builder-id=https://github.com/docker/build-push-action/actions/runs/123456789/attempts/1`,
|
||||
'--metadata-file', metadataJson,
|
||||
'https://github.com/docker/build-push-action.git?ref=refs/heads/master'
|
||||
],
|
||||
new Map<string, string>([
|
||||
['BUILDX_SEND_GIT_QUERY_AS_INPUT', 'true']
|
||||
])
|
||||
],
|
||||
[
|
||||
38,
|
||||
'0.28.0',
|
||||
new Map<string, string>([
|
||||
['load', 'false'],
|
||||
['no-cache', 'false'],
|
||||
['push', 'false'],
|
||||
['pull', 'false'],
|
||||
]),
|
||||
[
|
||||
'build',
|
||||
'--iidfile', imageIDFilePath,
|
||||
'--attest', `type=provenance,mode=min,inline-only=true,builder-id=https://github.com/docker/build-push-action/actions/runs/123456789/attempts/1`,
|
||||
'--metadata-file', metadataJson,
|
||||
'https://github.com/docker/build-push-action.git#refs/heads/master'
|
||||
],
|
||||
new Map<string, string>([
|
||||
['BUILDX_SEND_GIT_QUERY_AS_INPUT', 'true']
|
||||
])
|
||||
],
|
||||
])(
|
||||
'[%d] given %p with %p as inputs, returns %p',
|
||||
async (num: number, buildxVersion: string, inputs: Map<string, string>, expected: Array<string>) => {
|
||||
'[%d] given %o with %o as inputs, returns %o',
|
||||
async (num: number, buildxVersion: string, inputs: Map<string, string>, expected: Array<string>, envs: Map<string, string> | undefined) => {
|
||||
if (envs) {
|
||||
envs.forEach((value: string, name: string) => {
|
||||
process.env[name] = value;
|
||||
});
|
||||
}
|
||||
inputs.forEach((value: string, name: string) => {
|
||||
setInput(name, value);
|
||||
});
|
||||
const toolkit = new Toolkit();
|
||||
jest.spyOn(Buildx.prototype, 'version').mockImplementation(async (): Promise<string> => {
|
||||
vi.spyOn(Buildx.prototype, 'version').mockImplementation(async (): Promise<string> => {
|
||||
return buildxVersion;
|
||||
});
|
||||
const context = await loadContextModule();
|
||||
const inp = await context.getInputs();
|
||||
const res = await context.getArgs(inp, toolkit);
|
||||
expect(res).toEqual(expected);
|
||||
@@ -824,3 +1004,8 @@ function getInputName(name: string): string {
|
||||
function setInput(name: string, value: string): void {
|
||||
process.env[getInputName(name)] = value;
|
||||
}
|
||||
|
||||
async function loadContextModule(): Promise<typeof import('../src/context.js')> {
|
||||
vi.resetModules();
|
||||
return await import('../src/context.js');
|
||||
}
|
||||
@@ -0,0 +1,22 @@
|
||||
{
|
||||
"name": "builder2",
|
||||
"driver": "docker-container",
|
||||
"lastActivity": "2023-01-16 09:45:23 +0000 UTC",
|
||||
"nodes": [
|
||||
{
|
||||
"buildkit": "v0.11.0",
|
||||
"buildkitd-flags": "--debug --allow-insecure-entitlement security.insecure --allow-insecure-entitlement network.host",
|
||||
"driver-opts": [
|
||||
"BUILDKIT_STEP_LOG_MAX_SIZE=10485760",
|
||||
"BUILDKIT_STEP_LOG_MAX_SPEED=10485760",
|
||||
"JAEGER_TRACE=localhost:6831",
|
||||
"image=moby/buildkit:latest",
|
||||
"network=host"
|
||||
],
|
||||
"endpoint": "unix:///var/run/docker.sock",
|
||||
"name": "builder20",
|
||||
"platforms": "linux/amd64,linux/amd64/v2,linux/amd64/v3,linux/arm64,linux/riscv64,linux/ppc64le,linux/s390x,linux/386,linux/mips64le,linux/mips64,linux/arm/v7,linux/arm/v6",
|
||||
"status": "running"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -1,362 +0,0 @@
|
||||
{
|
||||
"id": 1296269,
|
||||
"node_id": "MDEwOlJlcG9zaXRvcnkxMjk2MjY5",
|
||||
"name": "Hello-World",
|
||||
"full_name": "octocat/Hello-World",
|
||||
"owner": {
|
||||
"login": "octocat",
|
||||
"id": 1,
|
||||
"node_id": "MDQ6VXNlcjE=",
|
||||
"avatar_url": "https://github.com/images/error/octocat_happy.gif",
|
||||
"gravatar_id": "",
|
||||
"url": "https://api.github.com/users/octocat",
|
||||
"html_url": "https://github.com/octocat",
|
||||
"followers_url": "https://api.github.com/users/octocat/followers",
|
||||
"following_url": "https://api.github.com/users/octocat/following{/other_user}",
|
||||
"gists_url": "https://api.github.com/users/octocat/gists{/gist_id}",
|
||||
"starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}",
|
||||
"subscriptions_url": "https://api.github.com/users/octocat/subscriptions",
|
||||
"organizations_url": "https://api.github.com/users/octocat/orgs",
|
||||
"repos_url": "https://api.github.com/users/octocat/repos",
|
||||
"events_url": "https://api.github.com/users/octocat/events{/privacy}",
|
||||
"received_events_url": "https://api.github.com/users/octocat/received_events",
|
||||
"type": "User",
|
||||
"site_admin": false
|
||||
},
|
||||
"private": false,
|
||||
"html_url": "https://github.com/octocat/Hello-World",
|
||||
"description": "This your first repo!",
|
||||
"fork": false,
|
||||
"url": "https://api.github.com/repos/octocat/Hello-World",
|
||||
"archive_url": "http://api.github.com/repos/octocat/Hello-World/{archive_format}{/ref}",
|
||||
"assignees_url": "http://api.github.com/repos/octocat/Hello-World/assignees{/user}",
|
||||
"blobs_url": "http://api.github.com/repos/octocat/Hello-World/git/blobs{/sha}",
|
||||
"branches_url": "http://api.github.com/repos/octocat/Hello-World/branches{/branch}",
|
||||
"collaborators_url": "http://api.github.com/repos/octocat/Hello-World/collaborators{/collaborator}",
|
||||
"comments_url": "http://api.github.com/repos/octocat/Hello-World/comments{/number}",
|
||||
"commits_url": "http://api.github.com/repos/octocat/Hello-World/commits{/sha}",
|
||||
"compare_url": "http://api.github.com/repos/octocat/Hello-World/compare/{base}...{head}",
|
||||
"contents_url": "http://api.github.com/repos/octocat/Hello-World/contents/{+path}",
|
||||
"contributors_url": "http://api.github.com/repos/octocat/Hello-World/contributors",
|
||||
"deployments_url": "http://api.github.com/repos/octocat/Hello-World/deployments",
|
||||
"downloads_url": "http://api.github.com/repos/octocat/Hello-World/downloads",
|
||||
"events_url": "http://api.github.com/repos/octocat/Hello-World/events",
|
||||
"forks_url": "http://api.github.com/repos/octocat/Hello-World/forks",
|
||||
"git_commits_url": "http://api.github.com/repos/octocat/Hello-World/git/commits{/sha}",
|
||||
"git_refs_url": "http://api.github.com/repos/octocat/Hello-World/git/refs{/sha}",
|
||||
"git_tags_url": "http://api.github.com/repos/octocat/Hello-World/git/tags{/sha}",
|
||||
"git_url": "git:github.com/octocat/Hello-World.git",
|
||||
"issue_comment_url": "http://api.github.com/repos/octocat/Hello-World/issues/comments{/number}",
|
||||
"issue_events_url": "http://api.github.com/repos/octocat/Hello-World/issues/events{/number}",
|
||||
"issues_url": "http://api.github.com/repos/octocat/Hello-World/issues{/number}",
|
||||
"keys_url": "http://api.github.com/repos/octocat/Hello-World/keys{/key_id}",
|
||||
"labels_url": "http://api.github.com/repos/octocat/Hello-World/labels{/name}",
|
||||
"languages_url": "http://api.github.com/repos/octocat/Hello-World/languages",
|
||||
"merges_url": "http://api.github.com/repos/octocat/Hello-World/merges",
|
||||
"milestones_url": "http://api.github.com/repos/octocat/Hello-World/milestones{/number}",
|
||||
"notifications_url": "http://api.github.com/repos/octocat/Hello-World/notifications{?since,all,participating}",
|
||||
"pulls_url": "http://api.github.com/repos/octocat/Hello-World/pulls{/number}",
|
||||
"releases_url": "http://api.github.com/repos/octocat/Hello-World/releases{/id}",
|
||||
"ssh_url": "git@github.com:octocat/Hello-World.git",
|
||||
"stargazers_url": "http://api.github.com/repos/octocat/Hello-World/stargazers",
|
||||
"statuses_url": "http://api.github.com/repos/octocat/Hello-World/statuses/{sha}",
|
||||
"subscribers_url": "http://api.github.com/repos/octocat/Hello-World/subscribers",
|
||||
"subscription_url": "http://api.github.com/repos/octocat/Hello-World/subscription",
|
||||
"tags_url": "http://api.github.com/repos/octocat/Hello-World/tags",
|
||||
"teams_url": "http://api.github.com/repos/octocat/Hello-World/teams",
|
||||
"trees_url": "http://api.github.com/repos/octocat/Hello-World/git/trees{/sha}",
|
||||
"clone_url": "https://github.com/octocat/Hello-World.git",
|
||||
"mirror_url": "git:git.example.com/octocat/Hello-World",
|
||||
"hooks_url": "http://api.github.com/repos/octocat/Hello-World/hooks",
|
||||
"svn_url": "https://svn.github.com/octocat/Hello-World",
|
||||
"homepage": "https://github.com",
|
||||
"language": null,
|
||||
"forks_count": 9,
|
||||
"stargazers_count": 80,
|
||||
"watchers_count": 80,
|
||||
"size": 108,
|
||||
"default_branch": "master",
|
||||
"open_issues_count": 0,
|
||||
"is_template": true,
|
||||
"topics": [
|
||||
"octocat",
|
||||
"atom",
|
||||
"electron",
|
||||
"api"
|
||||
],
|
||||
"has_issues": true,
|
||||
"has_projects": true,
|
||||
"has_wiki": true,
|
||||
"has_pages": false,
|
||||
"has_downloads": true,
|
||||
"archived": false,
|
||||
"disabled": false,
|
||||
"visibility": "public",
|
||||
"pushed_at": "2011-01-26T19:06:43Z",
|
||||
"created_at": "2011-01-26T19:01:12Z",
|
||||
"updated_at": "2011-01-26T19:14:43Z",
|
||||
"permissions": {
|
||||
"pull": true,
|
||||
"triage": true,
|
||||
"push": false,
|
||||
"maintain": false,
|
||||
"admin": false
|
||||
},
|
||||
"allow_rebase_merge": true,
|
||||
"template_repository": null,
|
||||
"temp_clone_token": "ABTLWHOULUVAXGTRYU7OC2876QJ2O",
|
||||
"allow_squash_merge": true,
|
||||
"delete_branch_on_merge": true,
|
||||
"allow_merge_commit": true,
|
||||
"subscribers_count": 42,
|
||||
"network_count": 0,
|
||||
"license": {
|
||||
"key": "mit",
|
||||
"name": "MIT License",
|
||||
"spdx_id": "MIT",
|
||||
"url": "https://api.github.com/licenses/mit",
|
||||
"node_id": "MDc6TGljZW5zZW1pdA=="
|
||||
},
|
||||
"organization": {
|
||||
"login": "octocat",
|
||||
"id": 1,
|
||||
"node_id": "MDQ6VXNlcjE=",
|
||||
"avatar_url": "https://github.com/images/error/octocat_happy.gif",
|
||||
"gravatar_id": "",
|
||||
"url": "https://api.github.com/users/octocat",
|
||||
"html_url": "https://github.com/octocat",
|
||||
"followers_url": "https://api.github.com/users/octocat/followers",
|
||||
"following_url": "https://api.github.com/users/octocat/following{/other_user}",
|
||||
"gists_url": "https://api.github.com/users/octocat/gists{/gist_id}",
|
||||
"starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}",
|
||||
"subscriptions_url": "https://api.github.com/users/octocat/subscriptions",
|
||||
"organizations_url": "https://api.github.com/users/octocat/orgs",
|
||||
"repos_url": "https://api.github.com/users/octocat/repos",
|
||||
"events_url": "https://api.github.com/users/octocat/events{/privacy}",
|
||||
"received_events_url": "https://api.github.com/users/octocat/received_events",
|
||||
"type": "Organization",
|
||||
"site_admin": false
|
||||
},
|
||||
"parent": {
|
||||
"id": 1296269,
|
||||
"node_id": "MDEwOlJlcG9zaXRvcnkxMjk2MjY5",
|
||||
"name": "Hello-World",
|
||||
"full_name": "octocat/Hello-World",
|
||||
"owner": {
|
||||
"login": "octocat",
|
||||
"id": 1,
|
||||
"node_id": "MDQ6VXNlcjE=",
|
||||
"avatar_url": "https://github.com/images/error/octocat_happy.gif",
|
||||
"gravatar_id": "",
|
||||
"url": "https://api.github.com/users/octocat",
|
||||
"html_url": "https://github.com/octocat",
|
||||
"followers_url": "https://api.github.com/users/octocat/followers",
|
||||
"following_url": "https://api.github.com/users/octocat/following{/other_user}",
|
||||
"gists_url": "https://api.github.com/users/octocat/gists{/gist_id}",
|
||||
"starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}",
|
||||
"subscriptions_url": "https://api.github.com/users/octocat/subscriptions",
|
||||
"organizations_url": "https://api.github.com/users/octocat/orgs",
|
||||
"repos_url": "https://api.github.com/users/octocat/repos",
|
||||
"events_url": "https://api.github.com/users/octocat/events{/privacy}",
|
||||
"received_events_url": "https://api.github.com/users/octocat/received_events",
|
||||
"type": "User",
|
||||
"site_admin": false
|
||||
},
|
||||
"private": false,
|
||||
"html_url": "https://github.com/octocat/Hello-World",
|
||||
"description": "This your first repo!",
|
||||
"fork": false,
|
||||
"url": "https://api.github.com/repos/octocat/Hello-World",
|
||||
"archive_url": "http://api.github.com/repos/octocat/Hello-World/{archive_format}{/ref}",
|
||||
"assignees_url": "http://api.github.com/repos/octocat/Hello-World/assignees{/user}",
|
||||
"blobs_url": "http://api.github.com/repos/octocat/Hello-World/git/blobs{/sha}",
|
||||
"branches_url": "http://api.github.com/repos/octocat/Hello-World/branches{/branch}",
|
||||
"collaborators_url": "http://api.github.com/repos/octocat/Hello-World/collaborators{/collaborator}",
|
||||
"comments_url": "http://api.github.com/repos/octocat/Hello-World/comments{/number}",
|
||||
"commits_url": "http://api.github.com/repos/octocat/Hello-World/commits{/sha}",
|
||||
"compare_url": "http://api.github.com/repos/octocat/Hello-World/compare/{base}...{head}",
|
||||
"contents_url": "http://api.github.com/repos/octocat/Hello-World/contents/{+path}",
|
||||
"contributors_url": "http://api.github.com/repos/octocat/Hello-World/contributors",
|
||||
"deployments_url": "http://api.github.com/repos/octocat/Hello-World/deployments",
|
||||
"downloads_url": "http://api.github.com/repos/octocat/Hello-World/downloads",
|
||||
"events_url": "http://api.github.com/repos/octocat/Hello-World/events",
|
||||
"forks_url": "http://api.github.com/repos/octocat/Hello-World/forks",
|
||||
"git_commits_url": "http://api.github.com/repos/octocat/Hello-World/git/commits{/sha}",
|
||||
"git_refs_url": "http://api.github.com/repos/octocat/Hello-World/git/refs{/sha}",
|
||||
"git_tags_url": "http://api.github.com/repos/octocat/Hello-World/git/tags{/sha}",
|
||||
"git_url": "git:github.com/octocat/Hello-World.git",
|
||||
"issue_comment_url": "http://api.github.com/repos/octocat/Hello-World/issues/comments{/number}",
|
||||
"issue_events_url": "http://api.github.com/repos/octocat/Hello-World/issues/events{/number}",
|
||||
"issues_url": "http://api.github.com/repos/octocat/Hello-World/issues{/number}",
|
||||
"keys_url": "http://api.github.com/repos/octocat/Hello-World/keys{/key_id}",
|
||||
"labels_url": "http://api.github.com/repos/octocat/Hello-World/labels{/name}",
|
||||
"languages_url": "http://api.github.com/repos/octocat/Hello-World/languages",
|
||||
"merges_url": "http://api.github.com/repos/octocat/Hello-World/merges",
|
||||
"milestones_url": "http://api.github.com/repos/octocat/Hello-World/milestones{/number}",
|
||||
"notifications_url": "http://api.github.com/repos/octocat/Hello-World/notifications{?since,all,participating}",
|
||||
"pulls_url": "http://api.github.com/repos/octocat/Hello-World/pulls{/number}",
|
||||
"releases_url": "http://api.github.com/repos/octocat/Hello-World/releases{/id}",
|
||||
"ssh_url": "git@github.com:octocat/Hello-World.git",
|
||||
"stargazers_url": "http://api.github.com/repos/octocat/Hello-World/stargazers",
|
||||
"statuses_url": "http://api.github.com/repos/octocat/Hello-World/statuses/{sha}",
|
||||
"subscribers_url": "http://api.github.com/repos/octocat/Hello-World/subscribers",
|
||||
"subscription_url": "http://api.github.com/repos/octocat/Hello-World/subscription",
|
||||
"tags_url": "http://api.github.com/repos/octocat/Hello-World/tags",
|
||||
"teams_url": "http://api.github.com/repos/octocat/Hello-World/teams",
|
||||
"trees_url": "http://api.github.com/repos/octocat/Hello-World/git/trees{/sha}",
|
||||
"clone_url": "https://github.com/octocat/Hello-World.git",
|
||||
"mirror_url": "git:git.example.com/octocat/Hello-World",
|
||||
"hooks_url": "http://api.github.com/repos/octocat/Hello-World/hooks",
|
||||
"svn_url": "https://svn.github.com/octocat/Hello-World",
|
||||
"homepage": "https://github.com",
|
||||
"language": null,
|
||||
"forks_count": 9,
|
||||
"stargazers_count": 80,
|
||||
"watchers_count": 80,
|
||||
"size": 108,
|
||||
"default_branch": "master",
|
||||
"open_issues_count": 0,
|
||||
"is_template": true,
|
||||
"topics": [
|
||||
"octocat",
|
||||
"atom",
|
||||
"electron",
|
||||
"api"
|
||||
],
|
||||
"has_issues": true,
|
||||
"has_projects": true,
|
||||
"has_wiki": true,
|
||||
"has_pages": false,
|
||||
"has_downloads": true,
|
||||
"archived": false,
|
||||
"disabled": false,
|
||||
"visibility": "public",
|
||||
"pushed_at": "2011-01-26T19:06:43Z",
|
||||
"created_at": "2011-01-26T19:01:12Z",
|
||||
"updated_at": "2011-01-26T19:14:43Z",
|
||||
"permissions": {
|
||||
"admin": false,
|
||||
"push": false,
|
||||
"pull": true
|
||||
},
|
||||
"allow_rebase_merge": true,
|
||||
"template_repository": null,
|
||||
"temp_clone_token": "ABTLWHOULUVAXGTRYU7OC2876QJ2O",
|
||||
"allow_squash_merge": true,
|
||||
"delete_branch_on_merge": true,
|
||||
"allow_merge_commit": true,
|
||||
"subscribers_count": 42,
|
||||
"network_count": 0
|
||||
},
|
||||
"source": {
|
||||
"id": 1296269,
|
||||
"node_id": "MDEwOlJlcG9zaXRvcnkxMjk2MjY5",
|
||||
"name": "Hello-World",
|
||||
"full_name": "octocat/Hello-World",
|
||||
"owner": {
|
||||
"login": "octocat",
|
||||
"id": 1,
|
||||
"node_id": "MDQ6VXNlcjE=",
|
||||
"avatar_url": "https://github.com/images/error/octocat_happy.gif",
|
||||
"gravatar_id": "",
|
||||
"url": "https://api.github.com/users/octocat",
|
||||
"html_url": "https://github.com/octocat",
|
||||
"followers_url": "https://api.github.com/users/octocat/followers",
|
||||
"following_url": "https://api.github.com/users/octocat/following{/other_user}",
|
||||
"gists_url": "https://api.github.com/users/octocat/gists{/gist_id}",
|
||||
"starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}",
|
||||
"subscriptions_url": "https://api.github.com/users/octocat/subscriptions",
|
||||
"organizations_url": "https://api.github.com/users/octocat/orgs",
|
||||
"repos_url": "https://api.github.com/users/octocat/repos",
|
||||
"events_url": "https://api.github.com/users/octocat/events{/privacy}",
|
||||
"received_events_url": "https://api.github.com/users/octocat/received_events",
|
||||
"type": "User",
|
||||
"site_admin": false
|
||||
},
|
||||
"private": false,
|
||||
"html_url": "https://github.com/octocat/Hello-World",
|
||||
"description": "This your first repo!",
|
||||
"fork": false,
|
||||
"url": "https://api.github.com/repos/octocat/Hello-World",
|
||||
"archive_url": "http://api.github.com/repos/octocat/Hello-World/{archive_format}{/ref}",
|
||||
"assignees_url": "http://api.github.com/repos/octocat/Hello-World/assignees{/user}",
|
||||
"blobs_url": "http://api.github.com/repos/octocat/Hello-World/git/blobs{/sha}",
|
||||
"branches_url": "http://api.github.com/repos/octocat/Hello-World/branches{/branch}",
|
||||
"collaborators_url": "http://api.github.com/repos/octocat/Hello-World/collaborators{/collaborator}",
|
||||
"comments_url": "http://api.github.com/repos/octocat/Hello-World/comments{/number}",
|
||||
"commits_url": "http://api.github.com/repos/octocat/Hello-World/commits{/sha}",
|
||||
"compare_url": "http://api.github.com/repos/octocat/Hello-World/compare/{base}...{head}",
|
||||
"contents_url": "http://api.github.com/repos/octocat/Hello-World/contents/{+path}",
|
||||
"contributors_url": "http://api.github.com/repos/octocat/Hello-World/contributors",
|
||||
"deployments_url": "http://api.github.com/repos/octocat/Hello-World/deployments",
|
||||
"downloads_url": "http://api.github.com/repos/octocat/Hello-World/downloads",
|
||||
"events_url": "http://api.github.com/repos/octocat/Hello-World/events",
|
||||
"forks_url": "http://api.github.com/repos/octocat/Hello-World/forks",
|
||||
"git_commits_url": "http://api.github.com/repos/octocat/Hello-World/git/commits{/sha}",
|
||||
"git_refs_url": "http://api.github.com/repos/octocat/Hello-World/git/refs{/sha}",
|
||||
"git_tags_url": "http://api.github.com/repos/octocat/Hello-World/git/tags{/sha}",
|
||||
"git_url": "git:github.com/octocat/Hello-World.git",
|
||||
"issue_comment_url": "http://api.github.com/repos/octocat/Hello-World/issues/comments{/number}",
|
||||
"issue_events_url": "http://api.github.com/repos/octocat/Hello-World/issues/events{/number}",
|
||||
"issues_url": "http://api.github.com/repos/octocat/Hello-World/issues{/number}",
|
||||
"keys_url": "http://api.github.com/repos/octocat/Hello-World/keys{/key_id}",
|
||||
"labels_url": "http://api.github.com/repos/octocat/Hello-World/labels{/name}",
|
||||
"languages_url": "http://api.github.com/repos/octocat/Hello-World/languages",
|
||||
"merges_url": "http://api.github.com/repos/octocat/Hello-World/merges",
|
||||
"milestones_url": "http://api.github.com/repos/octocat/Hello-World/milestones{/number}",
|
||||
"notifications_url": "http://api.github.com/repos/octocat/Hello-World/notifications{?since,all,participating}",
|
||||
"pulls_url": "http://api.github.com/repos/octocat/Hello-World/pulls{/number}",
|
||||
"releases_url": "http://api.github.com/repos/octocat/Hello-World/releases{/id}",
|
||||
"ssh_url": "git@github.com:octocat/Hello-World.git",
|
||||
"stargazers_url": "http://api.github.com/repos/octocat/Hello-World/stargazers",
|
||||
"statuses_url": "http://api.github.com/repos/octocat/Hello-World/statuses/{sha}",
|
||||
"subscribers_url": "http://api.github.com/repos/octocat/Hello-World/subscribers",
|
||||
"subscription_url": "http://api.github.com/repos/octocat/Hello-World/subscription",
|
||||
"tags_url": "http://api.github.com/repos/octocat/Hello-World/tags",
|
||||
"teams_url": "http://api.github.com/repos/octocat/Hello-World/teams",
|
||||
"trees_url": "http://api.github.com/repos/octocat/Hello-World/git/trees{/sha}",
|
||||
"clone_url": "https://github.com/octocat/Hello-World.git",
|
||||
"mirror_url": "git:git.example.com/octocat/Hello-World",
|
||||
"hooks_url": "http://api.github.com/repos/octocat/Hello-World/hooks",
|
||||
"svn_url": "https://svn.github.com/octocat/Hello-World",
|
||||
"homepage": "https://github.com",
|
||||
"language": null,
|
||||
"forks_count": 9,
|
||||
"stargazers_count": 80,
|
||||
"watchers_count": 80,
|
||||
"size": 108,
|
||||
"default_branch": "master",
|
||||
"open_issues_count": 0,
|
||||
"is_template": true,
|
||||
"topics": [
|
||||
"octocat",
|
||||
"atom",
|
||||
"electron",
|
||||
"api"
|
||||
],
|
||||
"has_issues": true,
|
||||
"has_projects": true,
|
||||
"has_wiki": true,
|
||||
"has_pages": false,
|
||||
"has_downloads": true,
|
||||
"archived": false,
|
||||
"disabled": false,
|
||||
"visibility": "public",
|
||||
"pushed_at": "2011-01-26T19:06:43Z",
|
||||
"created_at": "2011-01-26T19:01:12Z",
|
||||
"updated_at": "2011-01-26T19:14:43Z",
|
||||
"permissions": {
|
||||
"admin": false,
|
||||
"push": false,
|
||||
"pull": true
|
||||
},
|
||||
"allow_rebase_merge": true,
|
||||
"template_repository": null,
|
||||
"temp_clone_token": "ABTLWHOULUVAXGTRYU7OC2876QJ2O",
|
||||
"allow_squash_merge": true,
|
||||
"delete_branch_on_merge": true,
|
||||
"allow_merge_commit": true,
|
||||
"subscribers_count": 42,
|
||||
"network_count": 0
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,39 @@
|
||||
import fs from 'node:fs';
|
||||
import os from 'node:os';
|
||||
import path from 'node:path';
|
||||
import {vi} from 'vitest';
|
||||
|
||||
const tmpDir = fs.mkdtempSync(path.join(os.tmpdir(), 'docker-build-push-action-'));
|
||||
|
||||
const githubPayload = {
|
||||
repository: {
|
||||
private: true
|
||||
}
|
||||
};
|
||||
|
||||
const githubEventPath = path.join(tmpDir, 'github-event.json');
|
||||
fs.writeFileSync(githubEventPath, JSON.stringify(githubPayload));
|
||||
|
||||
process.env = Object.assign({}, process.env, {
|
||||
TEMP: tmpDir,
|
||||
GITHUB_REPOSITORY: 'docker/build-push-action',
|
||||
GITHUB_REF: 'refs/heads/master',
|
||||
GITHUB_RUN_ID: '123456789',
|
||||
GITHUB_RUN_ATTEMPT: '1',
|
||||
GITHUB_EVENT_PATH: githubEventPath,
|
||||
RUNNER_TEMP: path.join(tmpDir, 'runner-temp'),
|
||||
RUNNER_TOOL_CACHE: path.join(tmpDir, 'runner-tool-cache')
|
||||
});
|
||||
|
||||
vi.mock('@actions/github', () => ({
|
||||
context: {
|
||||
repo: {
|
||||
owner: 'docker',
|
||||
repo: 'build-push-action'
|
||||
},
|
||||
ref: 'refs/heads/master',
|
||||
runId: 123456789,
|
||||
payload: githubPayload
|
||||
},
|
||||
getOctokit: vi.fn()
|
||||
}));
|
||||
+4
-1
@@ -34,6 +34,9 @@ inputs:
|
||||
cache-to:
|
||||
description: "List of cache export destinations for buildx (e.g., user/app:cache, type=local,dest=path/to/dir)"
|
||||
required: false
|
||||
call:
|
||||
description: "Set method for evaluating build (e.g., check)"
|
||||
required: false
|
||||
cgroup-parent:
|
||||
description: "Optional parent cgroup for the container used in the build"
|
||||
required: false
|
||||
@@ -118,6 +121,6 @@ outputs:
|
||||
description: 'Build result metadata'
|
||||
|
||||
runs:
|
||||
using: 'node20'
|
||||
using: 'node24'
|
||||
main: 'dist/index.js'
|
||||
post: 'dist/index.js'
|
||||
+19
-10
@@ -1,12 +1,13 @@
|
||||
# syntax=docker/dockerfile:1
|
||||
|
||||
ARG NODE_VERSION=20
|
||||
ARG NODE_VERSION=24
|
||||
|
||||
FROM node:${NODE_VERSION}-alpine AS base
|
||||
RUN apk add --no-cache cpio findutils git
|
||||
RUN apk add --no-cache cpio findutils git rsync
|
||||
WORKDIR /src
|
||||
RUN --mount=type=bind,target=.,rw \
|
||||
--mount=type=cache,target=/src/.yarn/cache <<EOT
|
||||
set -e
|
||||
corepack enable
|
||||
yarn --version
|
||||
yarn config set --home enableTelemetry 0
|
||||
@@ -27,25 +28,34 @@ 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
|
||||
EOT
|
||||
|
||||
FROM deps AS build
|
||||
RUN --mount=type=bind,target=.,rw \
|
||||
RUN --mount=target=/context \
|
||||
--mount=type=cache,target=/src/.yarn/cache \
|
||||
--mount=type=cache,target=/src/node_modules \
|
||||
yarn run build && mkdir /out && cp -Rf dist /out/
|
||||
--mount=type=cache,target=/src/node_modules <<EOT
|
||||
set -e
|
||||
rsync -a /context/. .
|
||||
rm -rf dist
|
||||
yarn run build
|
||||
mkdir /out
|
||||
cp -r dist /out
|
||||
EOT
|
||||
|
||||
FROM scratch AS build-update
|
||||
COPY --from=build /out /
|
||||
|
||||
FROM build AS build-validate
|
||||
RUN --mount=type=bind,target=.,rw <<EOT
|
||||
RUN --mount=target=/context \
|
||||
--mount=target=.,type=tmpfs <<EOT
|
||||
set -e
|
||||
rsync -a /context/. .
|
||||
git add -A
|
||||
rm -rf dist
|
||||
cp -rf /out/* .
|
||||
if [ -n "$(git status --porcelain -- dist)" ]; then
|
||||
echo >&2 'ERROR: Build result differs. Please build first with "docker buildx bake build"'
|
||||
@@ -58,8 +68,7 @@ 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/*' -not -path './.yarn/*' | cpio -pdm /out
|
||||
yarn run format && mkdir /out && find . -name '*.ts' -not -path './node_modules/*' -not -path './.yarn/*' | cpio -pdm /out
|
||||
|
||||
FROM scratch AS format-update
|
||||
COPY --from=format /out /
|
||||
@@ -74,7 +83,7 @@ FROM deps AS test
|
||||
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
|
||||
yarn run test --coverage --coverage.reportsDirectory=/tmp/coverage
|
||||
|
||||
FROM scratch AS test-coverage
|
||||
COPY --from=test /tmp/coverage /
|
||||
+301
@@ -0,0 +1,301 @@
|
||||
export const id = 606;
|
||||
export const ids = [606];
|
||||
export const modules = {
|
||||
|
||||
/***/ 606:
|
||||
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
|
||||
|
||||
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
||||
/* harmony export */ "default": () => (/* binding */ pMap)
|
||||
/* harmony export */ });
|
||||
/* unused harmony exports pMapIterable, pMapSkip */
|
||||
async function pMap(
|
||||
iterable,
|
||||
mapper,
|
||||
{
|
||||
concurrency = Number.POSITIVE_INFINITY,
|
||||
stopOnError = true,
|
||||
signal,
|
||||
} = {},
|
||||
) {
|
||||
return new Promise((resolve_, reject_) => {
|
||||
if (iterable[Symbol.iterator] === undefined && iterable[Symbol.asyncIterator] === undefined) {
|
||||
throw new TypeError(`Expected \`input\` to be either an \`Iterable\` or \`AsyncIterable\`, got (${typeof iterable})`);
|
||||
}
|
||||
|
||||
if (typeof mapper !== 'function') {
|
||||
throw new TypeError('Mapper function is required');
|
||||
}
|
||||
|
||||
if (!((Number.isSafeInteger(concurrency) && concurrency >= 1) || concurrency === Number.POSITIVE_INFINITY)) {
|
||||
throw new TypeError(`Expected \`concurrency\` to be an integer from 1 and up or \`Infinity\`, got \`${concurrency}\` (${typeof concurrency})`);
|
||||
}
|
||||
|
||||
const result = [];
|
||||
const errors = [];
|
||||
const skippedIndexesMap = new Map();
|
||||
let isRejected = false;
|
||||
let isResolved = false;
|
||||
let isIterableDone = false;
|
||||
let resolvingCount = 0;
|
||||
let currentIndex = 0;
|
||||
const iterator = iterable[Symbol.iterator] === undefined ? iterable[Symbol.asyncIterator]() : iterable[Symbol.iterator]();
|
||||
|
||||
const signalListener = () => {
|
||||
reject(signal.reason);
|
||||
};
|
||||
|
||||
const cleanup = () => {
|
||||
signal?.removeEventListener('abort', signalListener);
|
||||
};
|
||||
|
||||
const resolve = value => {
|
||||
resolve_(value);
|
||||
cleanup();
|
||||
};
|
||||
|
||||
const reject = reason => {
|
||||
isRejected = true;
|
||||
isResolved = true;
|
||||
reject_(reason);
|
||||
cleanup();
|
||||
};
|
||||
|
||||
if (signal) {
|
||||
if (signal.aborted) {
|
||||
reject(signal.reason);
|
||||
}
|
||||
|
||||
signal.addEventListener('abort', signalListener, {once: true});
|
||||
}
|
||||
|
||||
const next = async () => {
|
||||
if (isResolved) {
|
||||
return;
|
||||
}
|
||||
|
||||
const nextItem = await iterator.next();
|
||||
|
||||
const index = currentIndex;
|
||||
currentIndex++;
|
||||
|
||||
// Note: `iterator.next()` can be called many times in parallel.
|
||||
// This can cause multiple calls to this `next()` function to
|
||||
// receive a `nextItem` with `done === true`.
|
||||
// The shutdown logic that rejects/resolves must be protected
|
||||
// so it runs only one time as the `skippedIndex` logic is
|
||||
// non-idempotent.
|
||||
if (nextItem.done) {
|
||||
isIterableDone = true;
|
||||
|
||||
if (resolvingCount === 0 && !isResolved) {
|
||||
if (!stopOnError && errors.length > 0) {
|
||||
reject(new AggregateError(errors)); // eslint-disable-line unicorn/error-message
|
||||
return;
|
||||
}
|
||||
|
||||
isResolved = true;
|
||||
|
||||
if (skippedIndexesMap.size === 0) {
|
||||
resolve(result);
|
||||
return;
|
||||
}
|
||||
|
||||
const pureResult = [];
|
||||
|
||||
// Support multiple `pMapSkip`'s.
|
||||
for (const [index, value] of result.entries()) {
|
||||
if (skippedIndexesMap.get(index) === pMapSkip) {
|
||||
continue;
|
||||
}
|
||||
|
||||
pureResult.push(value);
|
||||
}
|
||||
|
||||
resolve(pureResult);
|
||||
}
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
resolvingCount++;
|
||||
|
||||
// Intentionally detached
|
||||
(async () => {
|
||||
try {
|
||||
const element = await nextItem.value;
|
||||
|
||||
if (isResolved) {
|
||||
return;
|
||||
}
|
||||
|
||||
const value = await mapper(element, index);
|
||||
|
||||
// Use Map to stage the index of the element.
|
||||
if (value === pMapSkip) {
|
||||
skippedIndexesMap.set(index, value);
|
||||
}
|
||||
|
||||
result[index] = value;
|
||||
|
||||
resolvingCount--;
|
||||
await next();
|
||||
} catch (error) {
|
||||
if (stopOnError) {
|
||||
reject(error);
|
||||
} else {
|
||||
errors.push(error);
|
||||
resolvingCount--;
|
||||
|
||||
// In that case we can't really continue regardless of `stopOnError` state
|
||||
// since an iterable is likely to continue throwing after it throws once.
|
||||
// If we continue calling `next()` indefinitely we will likely end up
|
||||
// in an infinite loop of failed iteration.
|
||||
try {
|
||||
await next();
|
||||
} catch (error) {
|
||||
reject(error);
|
||||
}
|
||||
}
|
||||
}
|
||||
})();
|
||||
};
|
||||
|
||||
// Create the concurrent runners in a detached (non-awaited)
|
||||
// promise. We need this so we can await the `next()` calls
|
||||
// to stop creating runners before hitting the concurrency limit
|
||||
// if the iterable has already been marked as done.
|
||||
// NOTE: We *must* do this for async iterators otherwise we'll spin up
|
||||
// infinite `next()` calls by default and never start the event loop.
|
||||
(async () => {
|
||||
for (let index = 0; index < concurrency; index++) {
|
||||
try {
|
||||
// eslint-disable-next-line no-await-in-loop
|
||||
await next();
|
||||
} catch (error) {
|
||||
reject(error);
|
||||
break;
|
||||
}
|
||||
|
||||
if (isIterableDone || isRejected) {
|
||||
break;
|
||||
}
|
||||
}
|
||||
})();
|
||||
});
|
||||
}
|
||||
|
||||
function pMapIterable(
|
||||
iterable,
|
||||
mapper,
|
||||
{
|
||||
concurrency = Number.POSITIVE_INFINITY,
|
||||
backpressure = concurrency,
|
||||
} = {},
|
||||
) {
|
||||
if (iterable[Symbol.iterator] === undefined && iterable[Symbol.asyncIterator] === undefined) {
|
||||
throw new TypeError(`Expected \`input\` to be either an \`Iterable\` or \`AsyncIterable\`, got (${typeof iterable})`);
|
||||
}
|
||||
|
||||
if (typeof mapper !== 'function') {
|
||||
throw new TypeError('Mapper function is required');
|
||||
}
|
||||
|
||||
if (!((Number.isSafeInteger(concurrency) && concurrency >= 1) || concurrency === Number.POSITIVE_INFINITY)) {
|
||||
throw new TypeError(`Expected \`concurrency\` to be an integer from 1 and up or \`Infinity\`, got \`${concurrency}\` (${typeof concurrency})`);
|
||||
}
|
||||
|
||||
if (!((Number.isSafeInteger(backpressure) && backpressure >= concurrency) || backpressure === Number.POSITIVE_INFINITY)) {
|
||||
throw new TypeError(`Expected \`backpressure\` to be an integer from \`concurrency\` (${concurrency}) and up or \`Infinity\`, got \`${backpressure}\` (${typeof backpressure})`);
|
||||
}
|
||||
|
||||
return {
|
||||
async * [Symbol.asyncIterator]() {
|
||||
const iterator = iterable[Symbol.asyncIterator] === undefined ? iterable[Symbol.iterator]() : iterable[Symbol.asyncIterator]();
|
||||
|
||||
const promises = [];
|
||||
let pendingPromisesCount = 0;
|
||||
let isDone = false;
|
||||
let index = 0;
|
||||
|
||||
function trySpawn() {
|
||||
if (isDone || !(pendingPromisesCount < concurrency && promises.length < backpressure)) {
|
||||
return;
|
||||
}
|
||||
|
||||
pendingPromisesCount++;
|
||||
|
||||
const promise = (async () => {
|
||||
const {done, value} = await iterator.next();
|
||||
|
||||
if (done) {
|
||||
pendingPromisesCount--;
|
||||
return {done: true};
|
||||
}
|
||||
|
||||
// Spawn if still below concurrency and backpressure limit
|
||||
trySpawn();
|
||||
|
||||
try {
|
||||
const returnValue = await mapper(await value, index++);
|
||||
|
||||
pendingPromisesCount--;
|
||||
|
||||
if (returnValue === pMapSkip) {
|
||||
const index = promises.indexOf(promise);
|
||||
|
||||
if (index > 0) {
|
||||
promises.splice(index, 1);
|
||||
}
|
||||
}
|
||||
|
||||
// Spawn if still below backpressure limit and just dropped below concurrency limit
|
||||
trySpawn();
|
||||
|
||||
return {done: false, value: returnValue};
|
||||
} catch (error) {
|
||||
pendingPromisesCount--;
|
||||
isDone = true;
|
||||
return {error};
|
||||
}
|
||||
})();
|
||||
|
||||
promises.push(promise);
|
||||
}
|
||||
|
||||
trySpawn();
|
||||
|
||||
while (promises.length > 0) {
|
||||
const {error, done, value} = await promises[0]; // eslint-disable-line no-await-in-loop
|
||||
|
||||
promises.shift();
|
||||
|
||||
if (error) {
|
||||
throw error;
|
||||
}
|
||||
|
||||
if (done) {
|
||||
return;
|
||||
}
|
||||
|
||||
// Spawn if just dropped below backpressure limit and below the concurrency limit
|
||||
trySpawn();
|
||||
|
||||
if (value === pMapSkip) {
|
||||
continue;
|
||||
}
|
||||
|
||||
yield value;
|
||||
}
|
||||
},
|
||||
};
|
||||
}
|
||||
|
||||
const pMapSkip = Symbol('skip');
|
||||
|
||||
|
||||
/***/ })
|
||||
|
||||
};
|
||||
|
||||
//# sourceMappingURL=606.index.js.map
|
||||
+1
@@ -0,0 +1 @@
|
||||
{"version":3,"file":"606.index.js","mappings":";;;;;;;;;;;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA","sources":[".././node_modules/p-map/index.js"],"sourcesContent":["export default async function pMap(\n\titerable,\n\tmapper,\n\t{\n\t\tconcurrency = Number.POSITIVE_INFINITY,\n\t\tstopOnError = true,\n\t\tsignal,\n\t} = {},\n) {\n\treturn new Promise((resolve_, reject_) => {\n\t\tif (iterable[Symbol.iterator] === undefined && iterable[Symbol.asyncIterator] === undefined) {\n\t\t\tthrow new TypeError(`Expected \\`input\\` to be either an \\`Iterable\\` or \\`AsyncIterable\\`, got (${typeof iterable})`);\n\t\t}\n\n\t\tif (typeof mapper !== 'function') {\n\t\t\tthrow new TypeError('Mapper function is required');\n\t\t}\n\n\t\tif (!((Number.isSafeInteger(concurrency) && concurrency >= 1) || concurrency === Number.POSITIVE_INFINITY)) {\n\t\t\tthrow new TypeError(`Expected \\`concurrency\\` to be an integer from 1 and up or \\`Infinity\\`, got \\`${concurrency}\\` (${typeof concurrency})`);\n\t\t}\n\n\t\tconst result = [];\n\t\tconst errors = [];\n\t\tconst skippedIndexesMap = new Map();\n\t\tlet isRejected = false;\n\t\tlet isResolved = false;\n\t\tlet isIterableDone = false;\n\t\tlet resolvingCount = 0;\n\t\tlet currentIndex = 0;\n\t\tconst iterator = iterable[Symbol.iterator] === undefined ? iterable[Symbol.asyncIterator]() : iterable[Symbol.iterator]();\n\n\t\tconst signalListener = () => {\n\t\t\treject(signal.reason);\n\t\t};\n\n\t\tconst cleanup = () => {\n\t\t\tsignal?.removeEventListener('abort', signalListener);\n\t\t};\n\n\t\tconst resolve = value => {\n\t\t\tresolve_(value);\n\t\t\tcleanup();\n\t\t};\n\n\t\tconst reject = reason => {\n\t\t\tisRejected = true;\n\t\t\tisResolved = true;\n\t\t\treject_(reason);\n\t\t\tcleanup();\n\t\t};\n\n\t\tif (signal) {\n\t\t\tif (signal.aborted) {\n\t\t\t\treject(signal.reason);\n\t\t\t}\n\n\t\t\tsignal.addEventListener('abort', signalListener, {once: true});\n\t\t}\n\n\t\tconst next = async () => {\n\t\t\tif (isResolved) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst nextItem = await iterator.next();\n\n\t\t\tconst index = currentIndex;\n\t\t\tcurrentIndex++;\n\n\t\t\t// Note: `iterator.next()` can be called many times in parallel.\n\t\t\t// This can cause multiple calls to this `next()` function to\n\t\t\t// receive a `nextItem` with `done === true`.\n\t\t\t// The shutdown logic that rejects/resolves must be protected\n\t\t\t// so it runs only one time as the `skippedIndex` logic is\n\t\t\t// non-idempotent.\n\t\t\tif (nextItem.done) {\n\t\t\t\tisIterableDone = true;\n\n\t\t\t\tif (resolvingCount === 0 && !isResolved) {\n\t\t\t\t\tif (!stopOnError && errors.length > 0) {\n\t\t\t\t\t\treject(new AggregateError(errors)); // eslint-disable-line unicorn/error-message\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\n\t\t\t\t\tisResolved = true;\n\n\t\t\t\t\tif (skippedIndexesMap.size === 0) {\n\t\t\t\t\t\tresolve(result);\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\n\t\t\t\t\tconst pureResult = [];\n\n\t\t\t\t\t// Support multiple `pMapSkip`'s.\n\t\t\t\t\tfor (const [index, value] of result.entries()) {\n\t\t\t\t\t\tif (skippedIndexesMap.get(index) === pMapSkip) {\n\t\t\t\t\t\t\tcontinue;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tpureResult.push(value);\n\t\t\t\t\t}\n\n\t\t\t\t\tresolve(pureResult);\n\t\t\t\t}\n\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tresolvingCount++;\n\n\t\t\t// Intentionally detached\n\t\t\t(async () => {\n\t\t\t\ttry {\n\t\t\t\t\tconst element = await nextItem.value;\n\n\t\t\t\t\tif (isResolved) {\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\n\t\t\t\t\tconst value = await mapper(element, index);\n\n\t\t\t\t\t// Use Map to stage the index of the elemeLine truncated
|
||||
+65
-32
@@ -1,4 +1,4 @@
|
||||
require('./sourcemap-register.js');(()=>{var r={79450:function(r,i,s){"use strict";var a=this&&this.__createBinding||(Object.create?function(r,i,s,a){if(a===undefined)a=s;var l=Object.getOwnPropertyDescriptor(i,s);if(!l||("get"in l?!i.__esModule:l.writable||l.configurable)){l={enumerable:true,get:function(){return i[s]}}}Object.defineProperty(r,a,l)}:function(r,i,s,a){if(a===undefined)a=s;r[a]=i[s]});var l=this&&this.__exportStar||function(r,i){for(var s in r)if(s!=="default"&&!Object.prototype.hasOwnProperty.call(i,s))a(i,r,s)};Object.defineProperty(i,"__esModule",{value:true});const c=s(46190);l(s(15769),i);l(s(38182),i);l(s(46190),i);const p=new c.DefaultArtifactClient;i["default"]=p},54622:(r,i,s)=>{"use strict";Object.defineProperty(i,"__esModule",{value:true});i.Timestamp=void 0;const a=s(4061);const l=s(4061);const c=s(4061);const p=s(4061);const u=s(4061);const d=s(4061);const A=s(4061);class Timestamp$Type extends A.MessageType{constructor(){super("google.protobuf.Timestamp",[{no:1,name:"seconds",kind:"scalar",T:3},{no:2,name:"nanos",kind:"scalar",T:5}])}now(){const r=this.create();const i=Date.now();r.seconds=d.PbLong.from(Math.floor(i/1e3)).toString();r.nanos=i%1e3*1e6;return r}toDate(r){return new Date(d.PbLong.from(r.seconds).toNumber()*1e3+Math.ceil(r.nanos/1e6))}fromDate(r){const i=this.create();const s=r.getTime();i.seconds=d.PbLong.from(Math.floor(s/1e3)).toString();i.nanos=s%1e3*1e6;return i}internalJsonWrite(r,i){let s=d.PbLong.from(r.seconds).toNumber()*1e3;if(s<Date.parse("0001-01-01T00:00:00Z")||s>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(r.nanos<0)throw new Error("Unable to encode invalid Timestamp to JSON. Nanos must not be negative.");let a="Z";if(r.nanos>0){let i=(r.nanos+1e9).toString().substring(1);if(i.substring(3)==="000000")a="."+i.substring(0,3)+"Z";else if(i.substring(6)==="000")a="."+i.substring(0,6)+"Z";else a="."+i+"Z"}return new Date(s).toISOString().replace(".000Z",a)}internalJsonRead(r,i,s){if(typeof r!=="string")throw new Error("Unable to parse Timestamp from JSON "+(0,u.typeofJsonValue)(r)+".");let a=r.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(!a)throw new Error("Unable to parse Timestamp from JSON. Invalid format.");let l=Date.parse(a[1]+"-"+a[2]+"-"+a[3]+"T"+a[4]+":"+a[5]+":"+a[6]+(a[8]?a[8]:"Z"));if(Number.isNaN(l))throw new Error("Unable to parse Timestamp from JSON. Invalid value.");if(l<Date.parse("0001-01-01T00:00:00Z")||l>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(!s)s=this.create();s.seconds=d.PbLong.from(l/1e3).toString();s.nanos=0;if(a[7])s.nanos=parseInt("1"+a[7]+"0".repeat(9-a[7].length))-1e9;return s}create(r){const i={seconds:"0",nanos:0};globalThis.Object.defineProperty(i,p.MESSAGE_TYPE,{enumerable:false,value:this});if(r!==undefined)(0,c.reflectionMergePartial)(this,i,r);return i}internalBinaryRead(r,i,s,a){let c=a!==null&&a!==void 0?a:this.create(),p=r.pos+i;while(r.pos<p){let[i,a]=r.tag();switch(i){case 1:c.seconds=r.int64().toString();break;case 2:c.nanos=r.int32();break;default:let p=s.readUnknownField;if(p==="throw")throw new globalThis.Error(`Unknown field ${i} (wire type ${a}) for ${this.typeName}`);let u=r.skip(a);if(p!==false)(p===true?l.UnknownFieldHandler.onRead:p)(this.typeName,c,i,a,u)}}return c}internalBinaryWrite(r,i,s){if(r.seconds!=="0")i.tag(1,a.WireType.Varint).int64(r.seconds);if(r.nanos!==0)i.tag(2,a.WireType.Varint).int32(r.nanos);let c=s.writeUnknownFields;if(c!==false)(c==true?l.UnknownFieldHandler.onWrite:c)(this.typeName,r,i);return i}}i.Timestamp=new Timestamp$Type},8626:(r,i,s)=>{"use strict";Object.defineProperty(i,"__esModule",{value:true});i.BytesValue=i.StringValue=i.BoolValue=i.UInt32Value=i.Int32Value=i.UInt64Value=i.Int64Value=i.FloatValue=i.DoubleValue=void 0;const a=s(4061);const l=s(4061);const c=s(4061);const p=s(4061);const u=s(4061);const d=s(4061);const A=s(4061);class DoubleValue$Type extends A.MessageType{constructor(){super("google.protobuf.DoubleValue",[{no:1,name:"value",kind:"scalar",T:1}])}internalJsonWrite(r,i){return this.refJsonWriter.scalar(2,r.value,"value",false,true)}internalJsonRead(r,i,s){if(!s)s=this.create();s.value=this.refJsonReader.scalar(r,1,undefined,"value");return s}create(r){const i={value:0};globalThis.Object.defineProperty(i,d.MESSAGE_TYPE,{enumerable:false,value:this});if(r!==undefined)(0,u.reflectionMergePartial)(this,i,r);return i}internalBinaryRead(r,i,s,a){let l=a!==null&&a!==void 0?a:this.create(),c=r.pos+i;while(r.pos<c){let[i,a]=r.tag();switch(i){case 1:l.value=r.double();break;default:let c=s.readUnknownField;if(c==="throw")throw new globalThis.Error(`Unknown field ${i} (wire type ${a}) for ${this.typeName}`);let u=r.skip(a);if(c!==false)(cLine truncated
|
||||
import './sourcemap-register.cjs';import{createRequire as i}from"module";var u={23311:function(i,u){var p=this&&this.__awaiter||function(i,u,p,g){function adopt(i){return i instanceof p?i:new p((function(u){u(i)}))}return new(p||(p=Promise))((function(p,A){function fulfilled(i){try{step(g.next(i))}catch(i){A(i)}}function rejected(i){try{step(g["throw"](i))}catch(i){A(i)}}function step(i){i.done?p(i.value):adopt(i.value).then(fulfilled,rejected)}step((g=g.apply(i,u||[])).next())}))};Object.defineProperty(u,"__esModule",{value:true});u.ClientStreamingCall=void 0;class ClientStreamingCall{constructor(i,u,p,g,A,w,C){this.method=i;this.requestHeaders=u;this.requests=p;this.headers=g;this.response=A;this.status=w;this.trailers=C}then(i,u){return this.promiseFinished().then((u=>i?Promise.resolve(i(u)):u),(i=>u?Promise.resolve(u(i)):Promise.reject(i)))}promiseFinished(){return p(this,void 0,void 0,(function*(){let[i,u,p,g]=yield Promise.all([this.headers,this.response,this.status,this.trailers]);return{method:this.method,requestHeaders:this.requestHeaders,headers:i,response:u,status:p,trailers:g}}))}}u.ClientStreamingCall=ClientStreamingCall},69499:(i,u)=>{Object.defineProperty(u,"__esModule",{value:true});u.Deferred=u.DeferredState=void 0;var p;(function(i){i[i["PENDING"]=0]="PENDING";i[i["REJECTED"]=1]="REJECTED";i[i["RESOLVED"]=2]="RESOLVED"})(p=u.DeferredState||(u.DeferredState={}));class Deferred{constructor(i=true){this._state=p.PENDING;this._promise=new Promise(((i,u)=>{this._resolve=i;this._reject=u}));if(i){this._promise.catch((i=>{}))}}get state(){return this._state}get promise(){return this._promise}resolve(i){if(this.state!==p.PENDING)throw new Error(`cannot resolve ${p[this.state].toLowerCase()}`);this._resolve(i);this._state=p.RESOLVED}reject(i){if(this.state!==p.PENDING)throw new Error(`cannot reject ${p[this.state].toLowerCase()}`);this._reject(i);this._state=p.REJECTED}resolvePending(i){if(this._state===p.PENDING)this.resolve(i)}rejectPending(i){if(this._state===p.PENDING)this.reject(i)}}u.Deferred=Deferred},40800:function(i,u){var p=this&&this.__awaiter||function(i,u,p,g){function adopt(i){return i instanceof p?i:new p((function(u){u(i)}))}return new(p||(p=Promise))((function(p,A){function fulfilled(i){try{step(g.next(i))}catch(i){A(i)}}function rejected(i){try{step(g["throw"](i))}catch(i){A(i)}}function step(i){i.done?p(i.value):adopt(i.value).then(fulfilled,rejected)}step((g=g.apply(i,u||[])).next())}))};Object.defineProperty(u,"__esModule",{value:true});u.DuplexStreamingCall=void 0;class DuplexStreamingCall{constructor(i,u,p,g,A,w,C){this.method=i;this.requestHeaders=u;this.requests=p;this.headers=g;this.responses=A;this.status=w;this.trailers=C}then(i,u){return this.promiseFinished().then((u=>i?Promise.resolve(i(u)):u),(i=>u?Promise.resolve(u(i)):Promise.reject(i)))}promiseFinished(){return p(this,void 0,void 0,(function*(){let[i,u,p]=yield Promise.all([this.headers,this.status,this.trailers]);return{method:this.method,requestHeaders:this.requestHeaders,headers:i,status:u,trailers:p}}))}}u.DuplexStreamingCall=DuplexStreamingCall},76762:(i,u,p)=>{var g;g={value:true};var A=p(42554);Object.defineProperty(u,"C0",{enumerable:true,get:function(){return A.ServiceType}});var w=p(83402);g={enumerable:true,get:function(){return w.readMethodOptions}};g={enumerable:true,get:function(){return w.readMethodOption}};g={enumerable:true,get:function(){return w.readServiceOption}};var C=p(50422);g={enumerable:true,get:function(){return C.RpcError}};var S=p(63474);g={enumerable:true,get:function(){return S.mergeRpcOptions}};var v=p(58788);g={enumerable:true,get:function(){return v.RpcOutputStreamController}};var B=p(37816);g={enumerable:true,get:function(){return B.TestTransport}};var _=p(69499);g={enumerable:true,get:function(){return _.Deferred}};g={enumerable:true,get:function(){return _.DeferredState}};var T=p(40800);g={enumerable:true,get:function(){return T.DuplexStreamingCall}};var N=p(23311);g={enumerable:true,get:function(){return N.ClientStreamingCall}};var x=p(22715);g={enumerable:true,get:function(){return x.ServerStreamingCall}};var k=p(80738);g={enumerable:true,get:function(){return k.UnaryCall}};var O=p(84359);g={enumerable:true,get:function(){return O.stackIntercept}};g={enumerable:true,get:function(){return O.stackDuplexStreamingInterceptors}};g={enumerable:true,get:function(){return O.stackClientStreamingInterceptors}};g={enumerable:true,get:function(){return O.stackServerStreamingInterceptors}};g={enumerable:true,get:function(){return O.stackUnaryInterceptors}};var D=p(44626);g={enumerable:true,get:function(){return D.ServerCallContextController}}},83402:(i,u,p)=>{Object.defineProperty(u,"__esModule",{value:true});u.readServiceOption=u.readMethodOption=u.readMethodOptions=u.normalizeMethodInfo=void 0;const g=p(88372);function normalizeMethodInfo(i,u){var p,A,w;let C=i;C.service=u;C.localName=(p=C.localName)!==null&&p!==void 0?p:g.lowerCamelCase(C.name);C.serverStreaming=!!C.serverStreaming;C.Line truncated
|
||||
/**
|
||||
* Archiver Vending
|
||||
*
|
||||
@@ -6,7 +6,7 @@ require('./sourcemap-register.js');(()=>{var r={79450:function(r,i,s){"use stric
|
||||
* @license [MIT]{@link https://github.com/archiverjs/node-archiver/blob/master/LICENSE}
|
||||
* @copyright (c) 2012-2014 Chris Talkington, contributors.
|
||||
*/
|
||||
var a=s(35010);var l={};var vending=function(r,i){return vending.create(r,i)};vending.create=function(r,i){if(l[r]){var s=new a(r,i);s.setFormat(r);s.setModule(new l[r](i));return s}else{throw new Error("create("+r+"): format not registered")}};vending.registerFormat=function(r,i){if(l[r]){throw new Error("register("+r+"): format already registered")}if(typeof i!=="function"){throw new Error("register("+r+"): format module invalid")}if(typeof i.prototype.append!=="function"||typeof i.prototype.finalize!=="function"){throw new Error("register("+r+"): format module missing methods")}l[r]=i};vending.isRegisteredFormat=function(r){if(l[r]){return true}return false};vending.registerFormat("zip",s(8987));vending.registerFormat("tar",s(33614));vending.registerFormat("json",s(99827));r.exports=vending},35010:(r,i,s)=>{
|
||||
var g=p(50549);var A={};var vending=function(i,u){return vending.create(i,u)};vending.create=function(i,u){if(A[i]){var p=new g(i,u);p.setFormat(i);p.setModule(new A[i](u));return p}else{throw new Error("create("+i+"): format not registered")}};vending.registerFormat=function(i,u){if(A[i]){throw new Error("register("+i+"): format already registered")}if(typeof u!=="function"){throw new Error("register("+i+"): format module invalid")}if(typeof u.prototype.append!=="function"||typeof u.prototype.finalize!=="function"){throw new Error("register("+i+"): format module missing methods")}A[i]=u};vending.isRegisteredFormat=function(i){if(A[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,u,p)=>{
|
||||
/**
|
||||
* Archiver Core
|
||||
*
|
||||
@@ -14,7 +14,7 @@ var a=s(35010);var l={};var vending=function(r,i){return vending.create(r,i)};ve
|
||||
* @license [MIT]{@link https://github.com/archiverjs/node-archiver/blob/master/LICENSE}
|
||||
* @copyright (c) 2012-2014 Chris Talkington, contributors.
|
||||
*/
|
||||
var a=s(57147);var l=s(44967);var c=s(57888);var p=s(71017);var u=s(82072);var d=s(73837).inherits;var A=s(13143);var h=s(45193).Transform;var g=process.platform==="win32";var Archiver=function(r,i){if(!(this instanceof Archiver)){return new Archiver(r,i)}if(typeof r!=="string"){i=r;r="zip"}i=this.options=u.defaults(i,{highWaterMark:1024*1024,statConcurrency:4});h.call(this,i);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=c.queue(this._onQueueTask.bind(this),1);this._queue.drain(this._onQueueDrain.bind(this));this._statQueue=c.queue(this._onStatQueueTask.bind(this),i.statConcurrency);this._statQueue.drain(this._onQueueDrain.bind(this));this._state={aborted:false,finalize:false,finalizing:false,finalized:false,modulePiped:false};this._streams=[]};d(Archiver,h);Archiver.prototype._abort=function(){this._state.aborted=true;this._queue.kill();this._statQueue.kill();if(this._queue.idle()){this._shutdown()}};Archiver.prototype._append=function(r,i){i=i||{};var s={source:null,filepath:r};if(!i.name){i.name=r}i.sourcePath=r;s.data=i;this._entriesCount++;if(i.stats&&i.stats instanceof a.Stats){s=this._updateQueueTaskWithStats(s,i.stats);if(s){if(i.stats.size){this._fsEntriesTotalBytes+=i.stats.size}this._queue.push(s)}}else{this._statQueue.push(s)}};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(r,i,s){if(this._state.aborted){s();return}this._module.append(r,i,function(r){this._task=null;if(this._state.aborted){this._shutdown();return}if(r){this.emit("error",r);setImmediate(s);return}this.emit("entry",i);this._entriesProcessedCount++;if(i.stats&&i.stats.size){this._fsEntriesProcessedBytes+=i.stats.size}this.emit("progress",{entries:{total:this._entriesCount,processed:this._entriesProcessedCount},fs:{totalBytes:this._fsEntriesTotalBytes,processedBytes:this._fsEntriesProcessedBytes}});setImmediate(s)}.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 A("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(r){if(!this._module.supports||!this._module.supports[r]){return false}return this._module.supports[r]};Archiver.prototype._moduleUnpipe=function(){this._module.unpipe(this);this._state.modulePiped=false};Archiver.prototype._normalizeEntryData=function(r,i){r=u.defaults(r,{type:"file",name:null,date:null,mode:null,prefix:null,sourcePath:null,stats:false});if(i&&r.stats===false){r.stats=i}var s=r.type==="directory";if(r.name){if(typeof r.prefix==="string"&&""!==r.prefix){r.name=r.prefix+"/"+r.name;r.prefix=null}r.name=u.sanitizePath(r.name);if(r.type!=="symlink"&&r.name.slice(-1)==="/"){s=true;r.type="directory"}else if(s){r.name+="/"}}if(typeof r.mode==="number"){if(g){r.mode&=511}else{r.mode&=4095}}else if(r.stats&&r.mode===null){if(g){r.mode=r.stats.mode&511}else{r.mode=r.stats.mode&4095}if(g&&s){r.mode=493}}else if(r.mode===null){r.mode=s?493:420}if(r.stats&&r.date===null){r.date=r.stats.mtime}else{r.date=u.dateify(r.date)}return r};Archiver.prototype._onModuleError=function(r){this.emit("error",r)};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(r,i){var fullCallback=()=>{if(r.data.callback){r.data.callback()}i()};if(this._state.finalizing||this._state.finalized||this._state.aborted){fullCallback();return}this._task=r;this._moduleAppend(r.source,r.data,fullCallback)};Archiver.prototype._onStatQueueTask=function(r,i){if(this._state.finalizing||this._state.finalized||this._state.aborted){i();return}a.lstat(r.filepath,function(s,a){if(this._state.aborted){setImmediate(i);return}if(s){this._entriesCount--;this.emit("warning",s);setImmediate(i);return}r=this._updateQueueTaskWithStats(r,a);if(r){if(a.size){this._fsEntriesTotalBytes+=a.size}this._queue.push(r)}setImmediate(i)}.bind(this))};Archiver.prototype._shutdown=function(){this._moduleUnpipe();this.end()};Archiver.prototype._transform=function(r,i,s){if(r){this._pointer+=r.length}s(null,r)};Archiver.prototLine truncated
|
||||
var g=p(79896);var A=p(51364);var w=p(97329);var C=p(16928);var S=p(53296);var v=p(39023).inherits;var B=p(13110);var _=p(29963).Transform;var T=process.platform==="win32";var Archiver=function(i,u){if(!(this instanceof Archiver)){return new Archiver(i,u)}if(typeof i!=="string"){u=i;i="zip"}u=this.options=S.defaults(u,{highWaterMark:1024*1024,statConcurrency:4});_.call(this,u);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=w.queue(this._onQueueTask.bind(this),1);this._queue.drain(this._onQueueDrain.bind(this));this._statQueue=w.queue(this._onStatQueueTask.bind(this),u.statConcurrency);this._statQueue.drain(this._onQueueDrain.bind(this));this._state={aborted:false,finalize:false,finalizing:false,finalized:false,modulePiped:false};this._streams=[]};v(Archiver,_);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,u){u=u||{};var p={source:null,filepath:i};if(!u.name){u.name=i}u.sourcePath=i;p.data=u;this._entriesCount++;if(u.stats&&u.stats instanceof g.Stats){p=this._updateQueueTaskWithStats(p,u.stats);if(p){if(u.stats.size){this._fsEntriesTotalBytes+=u.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,u,p){if(this._state.aborted){p();return}this._module.append(i,u,function(i){this._task=null;if(this._state.aborted){this._shutdown();return}if(i){this.emit("error",i);setImmediate(p);return}this.emit("entry",u);this._entriesProcessedCount++;if(u.stats&&u.stats.size){this._fsEntriesProcessedBytes+=u.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 B("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,u){i=S.defaults(i,{type:"file",name:null,date:null,mode:null,prefix:null,sourcePath:null,stats:false});if(u&&i.stats===false){i.stats=u}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=S.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(T){i.mode&=511}else{i.mode&=4095}}else if(i.stats&&i.mode===null){if(T){i.mode=i.stats.mode&511}else{i.mode=i.stats.mode&4095}if(T&&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=S.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,u){var fullCallback=()=>{if(i.data.callback){i.data.callback()}u()};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,u){if(this._state.finalizing||this._state.finalized||this._state.aborted){u();return}g.lstat(i.filepath,function(p,g){if(this._state.aborted){setImmediate(u);return}if(p){this._entriesCount--;this.emit("warning",p);setImmediate(u);return}i=this._updateQueueTaskWithStats(i,g);if(i){if(g.size){this._fsEntriesTotalBytes+=g.size}this._queue.push(i)}setImmediate(u)}.bind(this))};Archiver.prototype._shutdown=function(){this._moduleUnpipe();this.end()};Archiver.prototype._transform=function(i,u,p){if(i){this._pointer+=i.length}p(null,i)};Archiver.prototLine truncated
|
||||
/**
|
||||
* Archiver Core
|
||||
*
|
||||
@@ -22,7 +22,7 @@ var a=s(57147);var l=s(44967);var c=s(57888);var p=s(71017);var u=s(82072);var d
|
||||
* @license [MIT]{@link https://github.com/archiverjs/node-archiver/blob/master/LICENSE}
|
||||
* @copyright (c) 2012-2014 Chris Talkington, contributors.
|
||||
*/
|
||||
var a=s(73837);const l={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(r,i){Error.captureStackTrace(this,this.constructor);this.message=l[r]||r;this.code=r;this.data=i}a.inherits(ArchiverError,Error);i=r.exports=ArchiverError},99827:(r,i,s)=>{
|
||||
var g=p(39023);const A={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,u){Error.captureStackTrace(this,this.constructor);this.message=A[i]||i;this.code=i;this.data=u}g.inherits(ArchiverError,Error);u=i.exports=ArchiverError},54693:(i,u,p)=>{
|
||||
/**
|
||||
* JSON Format Plugin
|
||||
*
|
||||
@@ -30,7 +30,7 @@ var a=s(73837);const l={ABORTED:"archive was aborted",DIRECTORYDIRPATHREQUIRED:"
|
||||
* @license [MIT]{@link https://github.com/archiverjs/node-archiver/blob/master/LICENSE}
|
||||
* @copyright (c) 2012-2014 Chris Talkington, contributors.
|
||||
*/
|
||||
var a=s(73837).inherits;var l=s(45193).Transform;var c=s(54119);var p=s(82072);var Json=function(r){if(!(this instanceof Json)){return new Json(r)}r=this.options=p.defaults(r,{});l.call(this,r);this.supports={directory:true,symlink:true};this.files=[]};a(Json,l);Json.prototype._transform=function(r,i,s){s(null,r)};Json.prototype._writeStringified=function(){var r=JSON.stringify(this.files);this.write(r)};Json.prototype.append=function(r,i,s){var a=this;i.crc32=0;function onend(r,l){if(r){s(r);return}i.size=l.length||0;i.crc32=c.unsigned(l);a.files.push(i);s(null,i)}if(i.sourceType==="buffer"){onend(null,r)}else if(i.sourceType==="stream"){p.collectStream(r,onend)}};Json.prototype.finalize=function(){this._writeStringified();this.end()};r.exports=Json},33614:(r,i,s)=>{
|
||||
var g=p(39023).inherits;var A=p(29963).Transform;var w=p(84928);var C=p(53296);var Json=function(i){if(!(this instanceof Json)){return new Json(i)}i=this.options=C.defaults(i,{});A.call(this,i);this.supports={directory:true,symlink:true};this.files=[]};g(Json,A);Json.prototype._transform=function(i,u,p){p(null,i)};Json.prototype._writeStringified=function(){var i=JSON.stringify(this.files);this.write(i)};Json.prototype.append=function(i,u,p){var g=this;u.crc32=0;function onend(i,A){if(i){p(i);return}u.size=A.length||0;u.crc32=w.unsigned(A);g.files.push(u);p(null,u)}if(u.sourceType==="buffer"){onend(null,i)}else if(u.sourceType==="stream"){C.collectStream(i,onend)}};Json.prototype.finalize=function(){this._writeStringified();this.end()};i.exports=Json},10396:(i,u,p)=>{
|
||||
/**
|
||||
* TAR Format Plugin
|
||||
*
|
||||
@@ -38,7 +38,7 @@ var a=s(73837).inherits;var l=s(45193).Transform;var c=s(54119);var p=s(82072);v
|
||||
* @license [MIT]{@link https://github.com/archiverjs/node-archiver/blob/master/LICENSE}
|
||||
* @copyright (c) 2012-2014 Chris Talkington, contributors.
|
||||
*/
|
||||
var a=s(59796);var l=s(2283);var c=s(82072);var Tar=function(r){if(!(this instanceof Tar)){return new Tar(r)}r=this.options=c.defaults(r,{gzip:false});if(typeof r.gzipOptions!=="object"){r.gzipOptions={}}this.supports={directory:true,symlink:true};this.engine=l.pack(r);this.compressor=false;if(r.gzip){this.compressor=a.createGzip(r.gzipOptions);this.compressor.on("error",this._onCompressorError.bind(this))}};Tar.prototype._onCompressorError=function(r){this.engine.emit("error",r)};Tar.prototype.append=function(r,i,s){var a=this;i.mtime=i.date;function append(r,l){if(r){s(r);return}a.engine.entry(i,l,(function(r){s(r,i)}))}if(i.sourceType==="buffer"){append(null,r)}else if(i.sourceType==="stream"&&i.stats){i.size=i.stats.size;var l=a.engine.entry(i,(function(r){s(r,i)}));r.pipe(l)}else if(i.sourceType==="stream"){c.collectStream(r,append)}};Tar.prototype.finalize=function(){this.engine.finalize()};Tar.prototype.on=function(){return this.engine.on.apply(this.engine,arguments)};Tar.prototype.pipe=function(r,i){if(this.compressor){return this.engine.pipe.apply(this.engine,[this.compressor]).pipe(r,i)}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)}};r.exports=Tar},8987:(r,i,s)=>{
|
||||
var g=p(43106);var A=p(56118);var w=p(53296);var Tar=function(i){if(!(this instanceof Tar)){return new Tar(i)}i=this.options=w.defaults(i,{gzip:false});if(typeof i.gzipOptions!=="object"){i.gzipOptions={}}this.supports={directory:true,symlink:true};this.engine=A.pack(i);this.compressor=false;if(i.gzip){this.compressor=g.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,u,p){var g=this;u.mtime=u.date;function append(i,A){if(i){p(i);return}g.engine.entry(u,A,(function(i){p(i,u)}))}if(u.sourceType==="buffer"){append(null,i)}else if(u.sourceType==="stream"&&u.stats){u.size=u.stats.size;var A=g.engine.entry(u,(function(i){p(i,u)}));i.pipe(A)}else if(u.sourceType==="stream"){w.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,u){if(this.compressor){return this.engine.pipe.apply(this.engine,[this.compressor]).pipe(i,u)}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,u,p)=>{
|
||||
/**
|
||||
* ZIP Format Plugin
|
||||
*
|
||||
@@ -46,52 +46,78 @@ var a=s(59796);var l=s(2283);var c=s(82072);var Tar=function(r){if(!(this instan
|
||||
* @license [MIT]{@link https://github.com/archiverjs/node-archiver/blob/master/LICENSE}
|
||||
* @copyright (c) 2012-2014 Chris Talkington, contributors.
|
||||
*/
|
||||
var a=s(86454);var l=s(82072);var Zip=function(r){if(!(this instanceof Zip)){return new Zip(r)}r=this.options=l.defaults(r,{comment:"",forceUTC:false,namePrependSlash:false,store:false});this.supports={directory:true,symlink:true};this.engine=new a(r)};Zip.prototype.append=function(r,i,s){this.engine.entry(r,i,s)};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)};r.exports=Zip},57888:function(r,i){(function(r,s){true?s(i):0})(this,(function(r){"use strict";function apply(r,...i){return(...s)=>r(...i,...s)}function initialParams(r){return function(...i){var s=i.pop();return r.call(this,i,s)}}var i=typeof queueMicrotask==="function"&&queueMicrotask;var s=typeof setImmediate==="function"&&setImmediate;var a=typeof process==="object"&&typeof process.nextTick==="function";function fallback(r){setTimeout(r,0)}function wrap(r){return(i,...s)=>r((()=>i(...s)))}var l;if(i){l=queueMicrotask}else if(s){l=setImmediate}else if(a){l=process.nextTick}else{l=fallback}var c=wrap(l);function asyncify(r){if(isAsync(r)){return function(...i){const s=i.pop();const a=r.apply(this,i);return handlePromise(a,s)}}return initialParams((function(i,s){var a;try{a=r.apply(this,i)}catch(r){return s(r)}if(a&&typeof a.then==="function"){return handlePromise(a,s)}else{s(null,a)}}))}function handlePromise(r,i){return r.then((r=>{invokeCallback(i,null,r)}),(r=>{invokeCallback(i,r&&(r instanceof Error||r.message)?r:new Error(r))}))}function invokeCallback(r,i,s){try{r(i,s)}catch(r){c((r=>{throw r}),r)}}function isAsync(r){return r[Symbol.toStringTag]==="AsyncFunction"}function isAsyncGenerator(r){return r[Symbol.toStringTag]==="AsyncGenerator"}function isAsyncIterable(r){return typeof r[Symbol.asyncIterator]==="function"}function wrapAsync(r){if(typeof r!=="function")throw new Error("expected a function");return isAsync(r)?asyncify(r):r}function awaitify(r,i){if(!i)i=r.length;if(!i)throw new Error("arity is undefined");function awaitable(...s){if(typeof s[i-1]==="function"){return r.apply(this,s)}return new Promise(((a,l)=>{s[i-1]=(r,...i)=>{if(r)return l(r);a(i.length>1?i:i[0])};r.apply(this,s)}))}return awaitable}function applyEach$1(r){return function applyEach(i,...s){const a=awaitify((function(a){var l=this;return r(i,((r,i)=>{wrapAsync(r).apply(l,s.concat(i))}),a)}));return a}}function _asyncMap(r,i,s,a){i=i||[];var l=[];var c=0;var p=wrapAsync(s);return r(i,((r,i,s)=>{var a=c++;p(r,((r,i)=>{l[a]=i;s(r)}))}),(r=>{a(r,l)}))}function isArrayLike(r){return r&&typeof r.length==="number"&&r.length>=0&&r.length%1===0}const p={};var u=p;function once(r){function wrapper(...i){if(r===null)return;var s=r;r=null;s.apply(this,i)}Object.assign(wrapper,r);return wrapper}function getIterator(r){return r[Symbol.iterator]&&r[Symbol.iterator]()}function createArrayIterator(r){var i=-1;var s=r.length;return function next(){return++i<s?{value:r[i],key:i}:null}}function createES2015Iterator(r){var i=-1;return function next(){var s=r.next();if(s.done)return null;i++;return{value:s.value,key:i}}}function createObjectIterator(r){var i=r?Object.keys(r):[];var s=-1;var a=i.length;return function next(){var l=i[++s];if(l==="__proto__"){return next()}return s<a?{value:r[l],key:l}:null}}function createIterator(r){if(isArrayLike(r)){return createArrayIterator(r)}var i=getIterator(r);return i?createES2015Iterator(i):createObjectIterator(r)}function onlyOnce(r){return function(...i){if(r===null)throw new Error("Callback was already called.");var s=r;r=null;s.apply(this,i)}}function asyncEachOfLimit(r,i,s,a){let l=false;let c=false;let p=false;let d=0;let A=0;function replenish(){if(d>=i||p||l)return;p=true;r.next().then((({value:r,done:i})=>{if(c||l)return;p=false;if(i){l=true;if(d<=0){a(null)}return}d++;s(r,A,iterateeCallback);A++;replenish()})).catch(handleError)}function iterateeCallback(r,i){d-=1;if(c)return;if(r)return handleError(r);if(r===false){l=true;c=true;return}if(i===u||l&&d<=0){l=true;return a(null)}replenish()}function handleError(r){if(c)return;p=false;l=true;a(r)}replenish()}var eachOfLimit$2=r=>(i,s,a)=>{a=once(a);if(r<=0){throw new RangeError("concurrency limit cannot be less than 1")}if(!i){return a(null)}if(isAsyncGenerator(i)){return asyncEachOfLimit(i,r,s,a)}if(isAsyncIterable(i)){return asyncEachOfLimit(i[Symbol.asyncIterator](),r,s,a)}var l=createIterator(i);var c=false;var p=false;var d=0;var A=false;function iterateeCallback(r,i){if(p)return;d-=1;if(r){c=true;a(r)}else if(r===false){c=true;p=true}else if(i===u||c&&d<=0){c=true;return a(null)}else if(!A){replenish()}}function replenish(){A=true;while(d<r&&!c){var i=l();if(i===null){c=true;if(d<=0){a(null)}return}d+=1;s(i.value,i.key,onlyOnce(iterateeCallback))}A=false}replenish()};function eachOfLimit(r,i,s,a){return eachOfLimit$2(i)(r,Line truncated
|
||||
var g=p(41622);var A=p(53296);var Zip=function(i){if(!(this instanceof Zip)){return new Zip(i)}i=this.options=A.defaults(i,{comment:"",forceUTC:false,namePrependSlash:false,store:false});this.supports={directory:true,symlink:true};this.engine=new g(i)};Zip.prototype.append=function(i,u,p){this.engine.entry(i,u,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,u){(function(i,p){true?p(u):0})(this,(function(i){"use strict";function apply(i,...u){return(...p)=>i(...u,...p)}function initialParams(i){return function(...u){var p=u.pop();return i.call(this,u,p)}}var u=typeof queueMicrotask==="function"&&queueMicrotask;var p=typeof setImmediate==="function"&&setImmediate;var g=typeof process==="object"&&typeof process.nextTick==="function";function fallback(i){setTimeout(i,0)}function wrap(i){return(u,...p)=>i((()=>u(...p)))}var A;if(u){A=queueMicrotask}else if(p){A=setImmediate}else if(g){A=process.nextTick}else{A=fallback}var w=wrap(A);function asyncify(i){if(isAsync(i)){return function(...u){const p=u.pop();const g=i.apply(this,u);return handlePromise(g,p)}}return initialParams((function(u,p){var g;try{g=i.apply(this,u)}catch(i){return p(i)}if(g&&typeof g.then==="function"){return handlePromise(g,p)}else{p(null,g)}}))}function handlePromise(i,u){return i.then((i=>{invokeCallback(u,null,i)}),(i=>{invokeCallback(u,i&&(i instanceof Error||i.message)?i:new Error(i))}))}function invokeCallback(i,u,p){try{i(u,p)}catch(i){w((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,u){if(!u)u=i.length;if(!u)throw new Error("arity is undefined");function awaitable(...p){if(typeof p[u-1]==="function"){return i.apply(this,p)}return new Promise(((g,A)=>{p[u-1]=(i,...u)=>{if(i)return A(i);g(u.length>1?u:u[0])};i.apply(this,p)}))}return awaitable}function applyEach$1(i){return function applyEach(u,...p){const g=awaitify((function(g){var A=this;return i(u,((i,u)=>{wrapAsync(i).apply(A,p.concat(u))}),g)}));return g}}function _asyncMap(i,u,p,g){u=u||[];var A=[];var w=0;var C=wrapAsync(p);return i(u,((i,u,p)=>{var g=w++;C(i,((i,u)=>{A[g]=u;p(i)}))}),(i=>{g(i,A)}))}function isArrayLike(i){return i&&typeof i.length==="number"&&i.length>=0&&i.length%1===0}const C={};var S=C;function once(i){function wrapper(...u){if(i===null)return;var p=i;i=null;p.apply(this,u)}Object.assign(wrapper,i);return wrapper}function getIterator(i){return i[Symbol.iterator]&&i[Symbol.iterator]()}function createArrayIterator(i){var u=-1;var p=i.length;return function next(){return++u<p?{value:i[u],key:u}:null}}function createES2015Iterator(i){var u=-1;return function next(){var p=i.next();if(p.done)return null;u++;return{value:p.value,key:u}}}function createObjectIterator(i){var u=i?Object.keys(i):[];var p=-1;var g=u.length;return function next(){var A=u[++p];if(A==="__proto__"){return next()}return p<g?{value:i[A],key:A}:null}}function createIterator(i){if(isArrayLike(i)){return createArrayIterator(i)}var u=getIterator(i);return u?createES2015Iterator(u):createObjectIterator(i)}function onlyOnce(i){return function(...u){if(i===null)throw new Error("Callback was already called.");var p=i;i=null;p.apply(this,u)}}function asyncEachOfLimit(i,u,p,g){let A=false;let w=false;let C=false;let v=0;let B=0;function replenish(){if(v>=u||C||A)return;C=true;i.next().then((({value:i,done:u})=>{if(w||A)return;C=false;if(u){A=true;if(v<=0){g(null)}return}v++;p(i,B,iterateeCallback);B++;replenish()})).catch(handleError)}function iterateeCallback(i,u){v-=1;if(w)return;if(i)return handleError(i);if(i===false){A=true;w=true;return}if(u===S||A&&v<=0){A=true;return g(null)}replenish()}function handleError(i){if(w)return;C=false;A=true;g(i)}replenish()}var eachOfLimit$2=i=>(u,p,g)=>{g=once(g);if(i<=0){throw new RangeError("concurrency limit cannot be less than 1")}if(!u){return g(null)}if(isAsyncGenerator(u)){return asyncEachOfLimit(u,i,p,g)}if(isAsyncIterable(u)){return asyncEachOfLimit(u[Symbol.asyncIterator](),i,p,g)}var A=createIterator(u);var w=false;var C=false;var v=0;var B=false;function iterateeCallback(i,u){if(C)return;v-=1;if(i){w=true;g(i)}else if(i===false){w=true;C=true}else if(u===S||w&&v<=0){w=true;return g(null)}else if(!B){replenish()}}function replenish(){B=true;while(v<i&&!w){var u=A();if(u===null){w=true;if(v<=0){g(null)}return}v+=1;p(u.value,u.key,onlyOnce(iterateeCallback))}B=false}replenish()};function eachOfLimit(i,u,p,g){return eachOfLimit$2(u)(i,Line truncated
|
||||
/*! crc32.js (C) 2014-present SheetJS -- http://sheetjs.com */
|
||||
var s;(function(r){if(typeof DO_NOT_EXPORT_CRC==="undefined"){if(true){r(i)}else{}}else{r(s={})}})((function(r){r.version="1.2.2";function signed_crc_table(){var r=0,i=new Array(256);for(var s=0;s!=256;++s){r=s;r=r&1?-306674912^r>>>1:r>>>1;r=r&1?-306674912^r>>>1:r>>>1;r=r&1?-306674912^r>>>1:r>>>1;r=r&1?-306674912^r>>>1:r>>>1;r=r&1?-306674912^r>>>1:r>>>1;r=r&1?-306674912^r>>>1:r>>>1;r=r&1?-306674912^r>>>1:r>>>1;r=r&1?-306674912^r>>>1:r>>>1;i[s]=r}return typeof Int32Array!=="undefined"?new Int32Array(i):i}var i=signed_crc_table();function slice_by_16_tables(r){var i=0,s=0,a=0,l=typeof Int32Array!=="undefined"?new Int32Array(4096):new Array(4096);for(a=0;a!=256;++a)l[a]=r[a];for(a=0;a!=256;++a){s=r[a];for(i=256+a;i<4096;i+=256)s=l[i]=s>>>8^r[s&255]}var c=[];for(a=1;a!=16;++a)c[a-1]=typeof Int32Array!=="undefined"?l.subarray(a*256,a*256+256):l.slice(a*256,a*256+256);return c}var s=slice_by_16_tables(i);var a=s[0],l=s[1],c=s[2],p=s[3],u=s[4];var d=s[5],A=s[6],h=s[7],g=s[8],y=s[9];var b=s[10],v=s[11],C=s[12],w=s[13],I=s[14];function crc32_bstr(r,s){var a=s^-1;for(var l=0,c=r.length;l<c;)a=a>>>8^i[(a^r.charCodeAt(l++))&255];return~a}function crc32_buf(r,s){var B=s^-1,S=r.length-15,x=0;for(;x<S;)B=I[r[x++]^B&255]^w[r[x++]^B>>8&255]^C[r[x++]^B>>16&255]^v[r[x++]^B>>>24]^b[r[x++]]^y[r[x++]]^g[r[x++]]^h[r[x++]]^A[r[x++]]^d[r[x++]]^u[r[x++]]^p[r[x++]]^c[r[x++]]^l[r[x++]]^a[r[x++]]^i[r[x++]];S+=15;while(x<S)B=B>>>8^i[(B^r[x++])&255];return~B}function crc32_str(r,s){var a=s^-1;for(var l=0,c=r.length,p=0,u=0;l<c;){p=r.charCodeAt(l++);if(p<128){a=a>>>8^i[(a^p)&255]}else if(p<2048){a=a>>>8^i[(a^(192|p>>6&31))&255];a=a>>>8^i[(a^(128|p&63))&255]}else if(p>=55296&&p<57344){p=(p&1023)+64;u=r.charCodeAt(l++)&1023;a=a>>>8^i[(a^(240|p>>8&7))&255];a=a>>>8^i[(a^(128|p>>2&63))&255];a=a>>>8^i[(a^(128|u>>6&15|(p&3)<<4))&255];a=a>>>8^i[(a^(128|u&63))&255]}else{a=a>>>8^i[(a^(224|p>>12&15))&255];a=a>>>8^i[(a^(128|p>>6&63))&255];a=a>>>8^i[(a^(128|p&63))&255]}}return~a}r.table=i;r.bstr=crc32_bstr;r.buf=crc32_buf;r.str=crc32_str}))},94521:(r,i,s)=>{"use strict";const{Transform:a}=s(45193);const l=s(83201);class CRC32Stream extends a{constructor(r){super(r);this.checksum=Buffer.allocUnsafe(4);this.checksum.writeInt32BE(0,0);this.rawSize=0}_transform(r,i,s){if(r){this.checksum=l.buf(r,this.checksum)>>>0;this.rawSize+=r.length}s(null,r)}digest(r){const i=Buffer.allocUnsafe(4);i.writeUInt32BE(this.checksum>>>0,0);return r?i.toString(r):i}hex(){return this.digest("hex").toUpperCase()}size(){return this.rawSize}}r.exports=CRC32Stream},92563:(r,i,s)=>{"use strict";const{DeflateRaw:a}=s(59796);const l=s(83201);class DeflateCRC32Stream extends a{constructor(r){super(r);this.checksum=Buffer.allocUnsafe(4);this.checksum.writeInt32BE(0,0);this.rawSize=0;this.compressedSize=0}push(r,i){if(r){this.compressedSize+=r.length}return super.push(r,i)}_transform(r,i,s){if(r){this.checksum=l.buf(r,this.checksum)>>>0;this.rawSize+=r.length}super._transform(r,i,s)}digest(r){const i=Buffer.allocUnsafe(4);i.writeUInt32BE(this.checksum>>>0,0);return r?i.toString(r):i}hex(){return this.digest("hex").toUpperCase()}size(r=false){if(r){return this.compressedSize}else{return this.rawSize}}}r.exports=DeflateCRC32Stream},5101:(r,i,s)=>{"use strict";r.exports={CRC32Stream:s(94521),DeflateCRC32Stream:s(92563)}},18611:(r,i,s)=>{var a=s(12781).Stream;var l=s(73837);r.exports=DelayedStream;function DelayedStream(){this.source=null;this.dataSize=0;this.maxDataSize=1024*1024;this.pauseStream=true;this._maxDataSizeExceeded=false;this._released=false;this._bufferedEvents=[]}l.inherits(DelayedStream,a);DelayedStream.create=function(r,i){var s=new this;i=i||{};for(var a in i){s[a]=i[a]}s.source=r;var l=r.emit;r.emit=function(){s._handleEmit(arguments);return l.apply(r,arguments)};r.on("error",(function(){}));if(s.pauseStream){r.pause()}return s};Object.defineProperty(DelayedStream.prototype,"readable",{configurable:true,enumerable:true,get:function(){return this.source.readable}});DelayedStream.prototype.setEncoding=function(){return this.source.setEncoding.apply(this.source,arguments)};DelayedStream.prototype.resume=function(){if(!this._released){this.release()}this.source.resume()};DelayedStream.prototype.pause=function(){this.source.pause()};DelayedStream.prototype.release=function(){this._released=true;this._bufferedEvents.forEach(function(r){this.emit.apply(this,r)}.bind(this));this._bufferedEvents=[]};DelayedStream.prototype.pipe=function(){var r=a.prototype.pipe.apply(this,arguments);this.resume();return r};DelayedStream.prototype._handleEmit=function(r){if(this._released){this.emit.apply(this,r);return}if(r[0]==="data"){this.dataSize+=r[1].length;this._checkIfMaxDataSizeExceeded()}this._bufferedEvents.push(r)};DelayedStream.prototype._checkIfMaxDataSizeExceeded=function(){if(this._maxDataSizeExceeded){return}if(this.dataSize<=this.maxDataSize){return}this._maxDataSizeExceeded=true;var r="DelayedStream#maxDataSize of "+this.maxDataSize+" bytes exceeded.";this.emit("error",new ErLine truncated
|
||||
var p;(function(i){if(typeof DO_NOT_EXPORT_CRC==="undefined"){if(true){i(u)}else{}}else{i(p={})}})((function(i){i.version="1.2.2";function signed_crc_table(){var i=0,u=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;u[p]=i}return typeof Int32Array!=="undefined"?new Int32Array(u):u}var u=signed_crc_table();function slice_by_16_tables(i){var u=0,p=0,g=0,A=typeof Int32Array!=="undefined"?new Int32Array(4096):new Array(4096);for(g=0;g!=256;++g)A[g]=i[g];for(g=0;g!=256;++g){p=i[g];for(u=256+g;u<4096;u+=256)p=A[u]=p>>>8^i[p&255]}var w=[];for(g=1;g!=16;++g)w[g-1]=typeof Int32Array!=="undefined"?A.subarray(g*256,g*256+256):A.slice(g*256,g*256+256);return w}var p=slice_by_16_tables(u);var g=p[0],A=p[1],w=p[2],C=p[3],S=p[4];var v=p[5],B=p[6],_=p[7],T=p[8],N=p[9];var x=p[10],k=p[11],O=p[12],D=p[13],Q=p[14];function crc32_bstr(i,p){var g=p^-1;for(var A=0,w=i.length;A<w;)g=g>>>8^u[(g^i.charCodeAt(A++))&255];return~g}function crc32_buf(i,p){var P=p^-1,L=i.length-15,U=0;for(;U<L;)P=Q[i[U++]^P&255]^D[i[U++]^P>>8&255]^O[i[U++]^P>>16&255]^k[i[U++]^P>>>24]^x[i[U++]]^N[i[U++]]^T[i[U++]]^_[i[U++]]^B[i[U++]]^v[i[U++]]^S[i[U++]]^C[i[U++]]^w[i[U++]]^A[i[U++]]^g[i[U++]]^u[i[U++]];L+=15;while(U<L)P=P>>>8^u[(P^i[U++])&255];return~P}function crc32_str(i,p){var g=p^-1;for(var A=0,w=i.length,C=0,S=0;A<w;){C=i.charCodeAt(A++);if(C<128){g=g>>>8^u[(g^C)&255]}else if(C<2048){g=g>>>8^u[(g^(192|C>>6&31))&255];g=g>>>8^u[(g^(128|C&63))&255]}else if(C>=55296&&C<57344){C=(C&1023)+64;S=i.charCodeAt(A++)&1023;g=g>>>8^u[(g^(240|C>>8&7))&255];g=g>>>8^u[(g^(128|C>>2&63))&255];g=g>>>8^u[(g^(128|S>>6&15|(C&3)<<4))&255];g=g>>>8^u[(g^(128|S&63))&255]}else{g=g>>>8^u[(g^(224|C>>12&15))&255];g=g>>>8^u[(g^(128|C>>6&63))&255];g=g>>>8^u[(g^(128|C&63))&255]}}return~g}i.table=u;i.bstr=crc32_bstr;i.buf=crc32_buf;i.str=crc32_str}))},3662:(i,u,p)=>{const{Transform:g}=p(29963);const A=p(84891);class CRC32Stream extends g{constructor(i){super(i);this.checksum=Buffer.allocUnsafe(4);this.checksum.writeInt32BE(0,0);this.rawSize=0}_transform(i,u,p){if(i){this.checksum=A.buf(i,this.checksum)>>>0;this.rawSize+=i.length}p(null,i)}digest(i){const u=Buffer.allocUnsafe(4);u.writeUInt32BE(this.checksum>>>0,0);return i?u.toString(i):u}hex(){return this.digest("hex").toUpperCase()}size(){return this.rawSize}}i.exports=CRC32Stream},76252:(i,u,p)=>{const{DeflateRaw:g}=p(43106);const A=p(84891);class DeflateCRC32Stream extends g{constructor(i){super(i);this.checksum=Buffer.allocUnsafe(4);this.checksum.writeInt32BE(0,0);this.rawSize=0;this.compressedSize=0}push(i,u){if(i){this.compressedSize+=i.length}return super.push(i,u)}_transform(i,u,p){if(i){this.checksum=A.buf(i,this.checksum)>>>0;this.rawSize+=i.length}super._transform(i,u,p)}digest(i){const u=Buffer.allocUnsafe(4);u.writeUInt32BE(this.checksum>>>0,0);return i?u.toString(i):u}hex(){return this.digest("hex").toUpperCase()}size(i=false){if(i){return this.compressedSize}else{return this.rawSize}}}i.exports=DeflateCRC32Stream},82770:(i,u,p)=>{i.exports={CRC32Stream:p(3662),DeflateCRC32Stream:p(76252)}},6110:(i,u,p)=>{u.formatArgs=formatArgs;u.save=save;u.load=load;u.useColors=useColors;u.storage=localstorage();u.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`.")}}})();u.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!=="undefined"&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/firefox\/(\d+)/Line 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(i,"__esModule",{value:true});const s=new WeakMap;const a=new WeakMap;function pd(r){const i=s.get(r);console.assert(i!=null,"'this' is expected an Event object, but got",r);return i}function setCancelFlag(r){if(r.passiveListener!=null){if(typeof console!=="undefined"&&typeof console.error==="function"){console.error("Unable to preventDefault inside passive event listener invocation.",r.passiveListener)}return}if(!r.event.cancelable){return}r.canceled=true;if(typeof r.event.preventDefault==="function"){r.event.preventDefault()}}function Event(r,i){s.set(this,{eventTarget:r,event:i,eventPhase:2,currentTarget:r,canceled:false,stopped:false,immediateStopped:false,passiveListener:null,timeStamp:i.timeStamp||Date.now()});Object.defineProperty(this,"isTrusted",{value:false,enumerable:true});const a=Object.keys(i);for(let r=0;r<a.length;++r){const i=a[r];if(!(i in this)){Object.defineProperty(this,i,defineRedirectDescriptor(i))}}}Event.prototype={get type(){return pd(this).event.type},get target(){return pd(this).eventTarget},get currentTarget(){return pd(this).currentTarget},composedPath(){const r=pd(this).currentTarget;if(r==null){return[]}return[r]},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 r=pd(this);r.stopped=true;if(typeof r.event.stopPropagation==="function"){r.event.stopPropagation()}},stopImmediatePropagation(){const r=pd(this);r.stopped=true;r.immediateStopped=true;if(typeof r.event.stopImmediatePropagation==="function"){r.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(r){if(!r){return}const i=pd(this);i.stopped=true;if(typeof i.event.cancelBubble==="boolean"){i.event.cancelBubble=true}},get returnValue(){return!pd(this).canceled},set returnValue(r){if(!r){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);a.set(window.Event.prototype,Event)}function defineRedirectDescriptor(r){return{get(){return pd(this).event[r]},set(i){pd(this).event[r]=i},configurable:true,enumerable:true}}function defineCallDescriptor(r){return{value(){const i=pd(this).event;return i[r].apply(i,arguments)},configurable:true,enumerable:true}}function defineWrapper(r,i){const s=Object.keys(i);if(s.length===0){return r}function CustomEvent(i,s){r.call(this,i,s)}CustomEvent.prototype=Object.create(r.prototype,{constructor:{value:CustomEvent,configurable:true,writable:true}});for(let a=0;a<s.length;++a){const l=s[a];if(!(l in r.prototype)){const r=Object.getOwnPropertyDescriptor(i,l);const s=typeof r.value==="function";Object.defineProperty(CustomEvent.prototype,l,s?defineCallDescriptor(l):defineRedirectDescriptor(l))}}return CustomEvent}function getWrapper(r){if(r==null||r===Object.prototype){return Event}let i=a.get(r);if(i==null){i=defineWrapper(getWrapper(Object.getPrototypeOf(r)),r);a.set(r,i)}return i}function wrapEvent(r,i){const s=getWrapper(Object.getPrototypeOf(i));return new s(r,i)}function isStopped(r){return pd(r).immediateStopped}function setEventPhase(r,i){pd(r).eventPhase=i}function setCurrentTarget(r,i){pd(r).currentTarget=i}function setPassiveListener(r,i){pd(r).passiveListener=i}const l=new WeakMap;const c=1;const p=2;const u=3;function isObject(r){return r!==null&&typeof r==="object"}function getListeners(r){const i=l.get(r);if(i==null){throw new TypeError("'this' is expected an EventTarget object, but got another value.")}return i}function defineEventAttributeDescriptor(r){return{get(){const i=getListeners(this);let s=i.get(r);while(s!=null){if(s.listenerType===u){return s.listener}s=s.next}return null},set(i){if(typeof i!=="function"&&!isObject(i)){i=null}const s=getListeners(this);let a=null;let l=s.get(r);while(l!=null){if(l.listenerType===u){if(a!==null){a.next=l.next}else if(l.next!==null){s.set(r,l.next)}else{s.delete(r)}}else{a=l}l=l.next}if(i!==null){const l={listener:i,listenerType:u,passive:false,once:false,next:null};if(a===null){s.set(r,l)}else{a.next=l}}},configurable:true,enumerable:true}}function defineEventAttribute(r,i){Object.defineProperty(r,`on${i}`,defineEventAttributeDescriptor(i))}function defineCustomEventTarget(r){function CustomEventTarget(){EventTarget.call(this)}CustomEventTarget.prototype=Object.create(EventTarget.prototype,{constructor:{value:CustomEventTarget,configurable:true,writable:true}});for(let i=0;i<r.length;++i){Line truncated
|
||||
/*! https://mths.be/he v1.2.0 by @mathias | MIT license */(function(s){var a=true&&i;var l=true&&r&&r.exports==a&&r;var c=typeof global=="object"&&global;if(c.global===c||c.window===c){s=c}var p=/[\uD800-\uDBFF][\uDC00-\uDFFF]/g;var u=/[\x01-\x7F]/g;var d=/[\x01-\t\x0B\f\x0E-\x1F\x7F\x81\x8D\x8F\x90\x9D\xA0-\uFFFF]/g;var A=/<\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 h={"":"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(r){return Object.prototype.toString.call(r)==="[object Object]"}function isPlainObject(r){var i,s;if(isObject(r)===false)return false;i=r.constructor;if(i===undefined)return true;s=i.prototype;if(isObject(s)===false)return false;if(s.hasOwnProperty("isPrototypeOf")===false){return false}return true}i.isPlainObject=isPlainObject},41554:r=>{"use strict";const isStream=r=>r!==null&&typeof r==="object"&&typeof r.pipe==="function";isStream.writable=r=>isStream(r)&&r.writable!==false&&typeof r._write==="function"&&typeof r._writableState==="object";isStream.readable=r=>isStream(r)&&r.readable!==false&&typeof r._read==="function"&&typeof r._readableState==="object";isStream.duplex=r=>isStream.writable(r)&&isStream.readable(r);isStream.transform=r=>isStream.duplex(r)&&typeof r._transform==="function";r.exports=isStream},20893:r=>{var i={}.toString;r.exports=Array.isArray||function(r){return i.call(r)=="[object Array]"}},21917:(r,i,s)=>{"use strict";var a=s(51161);var l=s(68866);function renamed(r,i){return function(){throw new Error("Function yaml."+r+" is removed in js-yaml 4. "+"Use yaml."+i+" instead, which is now safe by default.")}}r.exports.Type=s(6073);r.exports.Schema=s(21082);r.exports.FAILSAFE_SCHEMA=s(28562);r.exports.JSON_SCHEMA=s(1035);r.exports.CORE_SCHEMA=s(12011);r.exports.DEFAULT_SCHEMA=s(18759);r.exports.load=a.load;r.exports.loadAll=a.loadAll;r.exports.dump=l.dump;r.exports.YAMLException=s(68179);r.exports.types={binary:s(77900),float:s(42705),map:s(86150),null:s(20721),pairs:s(96860),set:s(79548),timestamp:s(99212),bool:s(64993),int:s(11615),merge:s(86104),omap:s(19046),seq:s(67283),str:s(23619)};r.exports.safeLoad=renamed("safeLoad","load");r.exports.safeLoadAll=renamed("safeLoadAll","loadAll");r.exports.safeDump=renamed("safeDump","dump")},26829:r=>{"use strict";function isNothing(r){return typeof r==="undefined"||r===null}function isObject(r){return typeof r==="object"&&r!==null}function toArray(r){if(Array.isArray(r))return r;else if(isNothing(r))return[];return[r]}function extend(r,i){var s,a,l,c;if(i){c=Object.keys(i);for(s=0,a=c.length;s<a;s+=1){l=c[s];r[l]=i[l]}}return r}function repeat(r,i){var s="",a;for(a=0;a<i;a+=1){s+=r}return s}function isNegativeZero(r){return r===0&&Number.NEGATIVE_INFINITY===1/r}r.exports.isNothing=isNothing;r.exports.isObject=isObject;r.exports.toArray=toArray;r.exports.repeat=repeat;r.exports.isNegativeZero=isNegativeZero;r.exports.extend=extend},68866:(r,i,s)=>{"use strict";var a=s(26829);var l=s(68179);var c=s(18759);var p=Object.prototype.toString;var u=Object.prototype.hasOwnProperty;var d=65279;var A=9;var h=10;var g=13;var y=32;var b=33;var v=34;var C=35;var w=37;var I=38;var B=39;var S=42;var x=44;var _=45;var R=58;var T=61;var Q=62;var N=63;var k=64;var D=91;var O=93;var P=96;var L=123;var M=124;var U=125;var G={};G[0]="\\0";G[7]="\\a";G[8]="\\b";G[9]="\\t";G[10]="\\n";G[11]="\\v";G[12]="\\f";G[13]="\\r";G[27]="\\e";G[34]='\\"';G[92]="\\\\";G[133]="\\N";G[160]="\\_";G[8232]="\\L";G[8233]="\\P";var j=["y","Y","yes","Yes","YES","on","On","ON","n","N","no","No","NO","off","Off","OFF"];var q=/^[-+]?[0-9_]+(?::[0-9_]+)+(?:\.[0-9_]*)?$/;function compileStyleMap(r,i){var s,a,l,c,p,d,A;if(i===null)return{};s={};a=Object.keys(i);for(l=0,c=a.length;l<c;l+=1){p=a[l];d=String(i[p]);if(p.slice(0,2)==="!!"){p="tag:yaml.org,2002:"+p.slice(2)}A=r.compiledTypeMap["fallback"][p];if(A&&u.call(A.styleAliases,d)){d=A.styleAliases[d]}s[p]=d}return s}function encodeHex(r){var i,s,c;i=r.toString(16).toUpperCase();if(r<=255){s="x";c=2}else if(r<=65535){s="u";c=4}else if(r<=4294967295){s="U";c=8}else{throw new l("code point within a string may not be greater than 0xFFFFFFFF")}return"\\"+s+a.repeat("0",c-i.length)+i}var H=1,V=2;function State(r){this.schema=r["schema"]||c;this.indent=Math.max(1,r["indent"]||2);this.noArrayIndent=r["noArrayIndent"]||false;this.skipInvalid=r["skipInvalid"]||false;this.flowLevel=a.isNothing(r["flowLevel"])?-1:r["flowLevel"];this.styleMap=compileStyleMap(this.schema,r["styles"]||null);this.sortKeys=r["sortKeys"]||false;this.lineWidth=r["lineWidth"]||80;this.noRefs=r["noRefs"]||false;this.noCompatMode=r["noCompatMode"]||false;this.condenseFlow=r["condenseFlow"]||false;this.quotingType=r["quotingType"]==='"'?V:H;this.forceQuotes=r["forceQuotes"]||false;this.replacer=typeof r["replacer"]==="function"?r["replacer"]:null;this.implicitTypes=this.schema.compiledImplicit;this.explicitTypes=this.schema.compiledExplicit;this.tag=null;this.result="";this.duplicates=[];this.usedDuplicates=null}function indentString(r,i){var s=a.repeat(" ",i),l=0,c=-1,p="",u,d=r.length;while(l<d){c=r.indexOf("\n",l);if(c===-1){u=r.slice(l);l=d}else{u=r.slice(l,c+1);l=c+1}if(u.length&&u!=="\n")p+=s;p+=u}return p}function generateNextLine(r,i){return"\n"+a.repeat(" ",r.indent*i)}function testImplicitResolving(r,i){var s,a,l;for(s=0,a=r.implicitTypes.length;s<a;s+=1){l=r.implicitTypes[s];if(l.resolve(i)){return true}}return false}function isWhitespace(r){returLine truncated
|
||||
/*!
|
||||
* mime-db
|
||||
* Copyright(c) 2014 Jonathan Ong
|
||||
* Copyright(c) 2015-2022 Douglas Christopher Wilson
|
||||
* MIT Licensed
|
||||
*/
|
||||
r.exports=s(53765)},43583:(r,i,s)=>{"use strict";
|
||||
Object.defineProperty(u,"__esModule",{value:true});const p=new WeakMap;const g=new WeakMap;function pd(i){const u=p.get(i);console.assert(u!=null,"'this' is expected an Event object, but got",i);return u}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,u){p.set(this,{eventTarget:i,event:u,eventPhase:2,currentTarget:i,canceled:false,stopped:false,immediateStopped:false,passiveListener:null,timeStamp:u.timeStamp||Date.now()});Object.defineProperty(this,"isTrusted",{value:false,enumerable:true});const g=Object.keys(u);for(let i=0;i<g.length;++i){const u=g[i];if(!(u in this)){Object.defineProperty(this,u,defineRedirectDescriptor(u))}}}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 u=pd(this);u.stopped=true;if(typeof u.event.cancelBubble==="boolean"){u.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);g.set(window.Event.prototype,Event)}function defineRedirectDescriptor(i){return{get(){return pd(this).event[i]},set(u){pd(this).event[i]=u},configurable:true,enumerable:true}}function defineCallDescriptor(i){return{value(){const u=pd(this).event;return u[i].apply(u,arguments)},configurable:true,enumerable:true}}function defineWrapper(i,u){const p=Object.keys(u);if(p.length===0){return i}function CustomEvent(u,p){i.call(this,u,p)}CustomEvent.prototype=Object.create(i.prototype,{constructor:{value:CustomEvent,configurable:true,writable:true}});for(let g=0;g<p.length;++g){const A=p[g];if(!(A in i.prototype)){const i=Object.getOwnPropertyDescriptor(u,A);const p=typeof i.value==="function";Object.defineProperty(CustomEvent.prototype,A,p?defineCallDescriptor(A):defineRedirectDescriptor(A))}}return CustomEvent}function getWrapper(i){if(i==null||i===Object.prototype){return Event}let u=g.get(i);if(u==null){u=defineWrapper(getWrapper(Object.getPrototypeOf(i)),i);g.set(i,u)}return u}function wrapEvent(i,u){const p=getWrapper(Object.getPrototypeOf(u));return new p(i,u)}function isStopped(i){return pd(i).immediateStopped}function setEventPhase(i,u){pd(i).eventPhase=u}function setCurrentTarget(i,u){pd(i).currentTarget=u}function setPassiveListener(i,u){pd(i).passiveListener=u}const A=new WeakMap;const w=1;const C=2;const S=3;function isObject(i){return i!==null&&typeof i==="object"}function getListeners(i){const u=A.get(i);if(u==null){throw new TypeError("'this' is expected an EventTarget object, but got another value.")}return u}function defineEventAttributeDescriptor(i){return{get(){const u=getListeners(this);let p=u.get(i);while(p!=null){if(p.listenerType===S){return p.listener}p=p.next}return null},set(u){if(typeof u!=="function"&&!isObject(u)){u=null}const p=getListeners(this);let g=null;let A=p.get(i);while(A!=null){if(A.listenerType===S){if(g!==null){g.next=A.next}else if(A.next!==null){p.set(i,A.next)}else{p.delete(i)}}else{g=A}A=A.next}if(u!==null){const A={listener:u,listenerType:S,passive:false,once:false,next:null};if(g===null){p.set(i,A)}else{g.next=A}}},configurable:true,enumerable:true}}function defineEventAttribute(i,u){Object.defineProperty(i,`on${u}`,defineEventAttributeDescriptor(u))}function defineCustomEventTarget(i){function CustomEventTarget(){EventTarget.call(this)}CustomEventTarget.prototype=Object.create(EventTarget.prototype,{constructor:{value:CustomEventTarget,configurable:true,writable:true}});for(let u=0;u<i.length;++u){defLine truncated
|
||||
/*! https://mths.be/he v1.2.0 by @mathias | MIT license */(function(p){var g=true&&u;var A=true&&i&&i.exports==g&&i;var w=typeof global=="object"&&global;if(w.global===w||w.window===w){p=w}var C=/[\uD800-\uDBFF][\uDC00-\uDFFF]/g;var S=/[\x01-\x7F]/g;var v=/[\x01-\t\x0B\f\x0E-\x1F\x7F\x81\x8D\x8F\x90\x9D\xA0-\uFFFF]/g;var B=/<\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 _={"":"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
|
||||
/**
|
||||
* @preserve
|
||||
* JS Implementation of incremental MurmurHash3 (r150) (as of May 10, 2013)
|
||||
*
|
||||
* @author <a href="mailto:jensyt@gmail.com">Jens Taylor</a>
|
||||
* @see http://github.com/homebrewing/brauhaus-diff
|
||||
* @author <a href="mailto:gary.court@gmail.com">Gary Court</a>
|
||||
* @see http://github.com/garycourt/murmurhash-js
|
||||
* @author <a href="mailto:aappleby@gmail.com">Austin Appleby</a>
|
||||
* @see http://sites.google.com/site/murmurhash/
|
||||
*/
|
||||
(function(){var u;function MurmurHash3(i,p){var g=this instanceof MurmurHash3?this:u;g.reset(p);if(typeof i==="string"&&i.length>0){g.hash(i)}if(g!==this){return g}}MurmurHash3.prototype.hash=function(i){var u,p,g,A,w;w=i.length;this.len+=w;p=this.k1;g=0;switch(this.rem){case 0:p^=w>g?i.charCodeAt(g++)&65535:0;case 1:p^=w>g?(i.charCodeAt(g++)&65535)<<8:0;case 2:p^=w>g?(i.charCodeAt(g++)&65535)<<16:0;case 3:p^=w>g?(i.charCodeAt(g)&255)<<24:0;p^=w>g?(i.charCodeAt(g++)&65280)>>8:0}this.rem=w+this.rem&3;w-=this.rem;if(w>0){u=this.h1;while(1){p=p*11601+(p&65535)*3432906752&4294967295;p=p<<15|p>>>17;p=p*13715+(p&65535)*461832192&4294967295;u^=p;u=u<<13|u>>>19;u=u*5+3864292196&4294967295;if(g>=w){break}p=i.charCodeAt(g++)&65535^(i.charCodeAt(g++)&65535)<<8^(i.charCodeAt(g++)&65535)<<16;A=i.charCodeAt(g++);p^=(A&255)<<24^(A&65280)>>8}p=0;switch(this.rem){case 3:p^=(i.charCodeAt(g+2)&65535)<<16;case 2:p^=(i.charCodeAt(g+1)&65535)<<8;case 1:p^=i.charCodeAt(g)&65535}this.h1=u}this.k1=p;return this};MurmurHash3.prototype.result=function(){var i,u;i=this.k1;u=this.h1;if(i>0){i=i*11601+(i&65535)*3432906752&4294967295;i=i<<15|i>>>17;i=i*13715+(i&65535)*461832192&4294967295;u^=i}u^=this.len;u^=u>>>16;u=u*51819+(u&65535)*2246770688&4294967295;u^=u>>>13;u=u*44597+(u&65535)*3266445312&4294967295;u^=u>>>16;return u>>>0};MurmurHash3.prototype.reset=function(i){this.h1=typeof i==="number"?i:0;this.rem=this.k1=this.len=0;return this};u=new MurmurHash3;if(true){i.exports=MurmurHash3}else{}})()},39598:(i,u,p)=>{try{var g=p(39023);if(typeof g.inherits!=="function")throw"";i.exports=g.inherits}catch(u){i.exports=p(26589)}},26589:i=>{if(typeof Object.create==="function"){i.exports=function inherits(i,u){if(u){i.super_=u;i.prototype=Object.create(u.prototype,{constructor:{value:i,enumerable:false,writable:true,configurable:true}})}}}else{i.exports=function inherits(i,u){if(u){i.super_=u;var TempCtor=function(){};TempCtor.prototype=u.prototype;i.prototype=new TempCtor;i.prototype.constructor=i}}}},68850:(i,u)=>{Object.defineProperty(u,"__esModule",{value:true});u.AddressError=void 0;class AddressError extends Error{constructor(i,u){super(i);this.name="AddressError";if(u!==null){this.parseMessage=u}}}u.AddressError=AddressError},45864:(i,u)=>{Object.defineProperty(u,"__esModule",{value:true});u.isCorrect=u.isInSubnet=void 0;function isInSubnet(i){if(this.subnetMask<i.subnetMask){return false}if(this.mask(i.subnetMask)===i.mask()){return true}return false}u.isInSubnet=isInSubnet;function isCorrect(i){return function(){if(this.addressMinusSuffix!==this.correctForm()){return false}if(this.subnetMask===i&&!this.parsedSubnet){return true}return this.parsedSubnet===String(this.subnetMask)}}u.isCorrect=isCorrect},79253:function(i,u,p){var g=this&&this.__createBinding||(Object.create?function(i,u,p,g){if(g===undefined)g=p;var A=Object.getOwnPropertyDescriptor(u,p);if(!A||("get"in A?!u.__esModule:A.writable||A.configurable)){A={enumerable:true,get:function(){return u[p]}}}Object.defineProperty(i,g,A)}:function(i,u,p,g){if(g===undefined)g=p;i[g]=u[p]});var A=this&&this.__setModuleDefault||(Object.create?function(i,u){Object.defineProperty(i,"default",{enumerable:true,value:u})}:function(i,u){i["default"]=u});var w=this&&this.__importStar||function(i){if(i&&i.__esModule)return i;var u={};if(i!=null)for(var p in i)if(p!=="default"&&Object.prototype.hasOwnProperty.call(i,p))g(u,i,p);A(u,i);return u};Object.defineProperty(u,"__esModule",{value:true});u.v6=u.AddressError=u.Address6=u.Address4=void 0;const C=p(17946);Object.defineProperty(u,"Address4",{enumerable:true,get:function(){return C.Address4}});const S=p(38096);Object.defineProperty(u,"Address6",{enumerable:true,get:function(){return S.Address6}});const v=p(68850);Object.defineProperty(u,"AddressError",{enumerable:true,get:function(){return v.AddressError}});const B=w(p(20339));u.v6={helpers:B}},17946:function(i,u,p){var g=this&&this.__createBinding||(Object.create?function(i,u,p,g){if(g===undefined)g=p;var A=Object.getOwnPropertyDescriptor(u,p);if(!A||("get"in A?!u.__esModule:A.writable||A.configurable)){A={enumerable:true,get:function(){return u[p]}}}Object.defineProperty(i,g,A)}:function(i,u,p,g){if(g===undefined)g=p;i[g]=u[p]});var A=this&&this.__setModuleDefault||(Object.create?function(i,u){Object.defineProperty(i,"default",{enumerable:true,value:u})}:function(i,u){i["default"]=u});var w=this&&this.__importStar||function(i){if(i&&i.__esModule)return i;var u={};if(i!=null)for(var p in i)if(p!=="default"&&Object.prototype.hasOwnProperty.call(i,p))g(u,i,p);A(u,i);return u};Object.defineProperty(u,"__esModule",{value:true});u.Address4=void 0;const C=w(p(45864));const S=w(p(66437));const v=p(68850);const B=p(95947);const _=p(19973);class Address4{constructor(i){this.groups=S.GROUPS;this.parsedAddress=[];this.parsedSubnet="";this.subnet="/32";this.subnetMask=32;this.v4=true;this.isCorrect=C.isCorrect(S.BITS);this.isInSubnet=C.isInSubnet;this.address=i;const u=S.RE_SUBNET_STRING.exec(i);if(u){tLine truncated
|
||||
/**
|
||||
* @license
|
||||
* Copyright (c) 2010-2012 Mikeal Rogers
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
* Unless required by applicable law or agreed to in writing,
|
||||
* software distributed under the License is distributed on an "AS
|
||||
* IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
|
||||
* express or implied. See the License for the specific language
|
||||
* governing permissions and limitations under the License.
|
||||
*/if(new C.URL(i.url).hostname!==S.hostname){i.headers.delete("authorization");i.headers.delete("cookie")}if(u.status===303||i.method==="POST"&&[301,302].includes(u.status)){g.method="GET";g.body=null;i.headers.delete("content-length")}g.headers={};i.headers.forEach(((i,u)=>{g.headers[u]=i}));g.counter=++i.counter;const v=new A(C.format(S),g);return{request:v,options:g}};const fetch=async(i,u)=>{const p=S.storable(i,u)?await v(i,u):await B(i,u);if(!["GET","HEAD"].includes(i.method)&&p.status>=200&&p.status<=399){await v.invalidate(i,u)}if(!canFollowRedirect(i,p,u)){return p}const g=getRedirect(i,p,u);return fetch(g.request,g.options)};i.exports=fetch},39310:(i,u,p)=>{const{FetchError:g,Headers:A,Request:w,Response:C}=p(88483);const S=p(99824);const v=p(67242);const makeFetchHappen=(i,u)=>{const p=S(u);const g=new w(i,p);return v(g,p)};makeFetchHappen.defaults=(i,u={},p=makeFetchHappen)=>{if(typeof i==="object"){u=i;i=null}const defaultedFetch=(g,A={})=>{const w=g||i;const C={...u,...A,headers:{...u.headers,...A.headers}};return p(w,C)};defaultedFetch.defaults=(i,u={})=>makeFetchHappen.defaults(i,u,defaultedFetch);return defaultedFetch};i.exports=makeFetchHappen;i.exports.FetchError=g;i.exports.Headers=A;i.exports.Request=w;i.exports.Response=C},99824:(i,u,p)=>{const g=p(72250);const A=["if-modified-since","if-none-match","if-unmodified-since","if-match","if-range"];const configureOptions=i=>{const{strictSSL:u,...p}={...i};p.method=p.method?p.method.toUpperCase():"GET";if(u===undefined||u===null){p.rejectUnauthorized=process.env.NODE_TLS_REJECT_UNAUTHORIZED!=="0"}else{p.rejectUnauthorized=u!==false}if(!p.retry){p.retry={retries:0}}else if(typeof p.retry==="string"){const i=parseInt(p.retry,10);if(isFinite(i)){p.retry={retries:i}}else{p.retry={retries:0}}}else if(typeof p.retry==="number"){p.retry={retries:p.retry}}else{p.retry={retries:0,...p.retry}}p.dns={ttl:5*60*1e3,lookup:g.lookup,...p.dns};p.cache=p.cache||"default";if(p.cache==="default"){const i=Object.keys(p.headers||{}).some((i=>A.includes(i.toLowerCase())));if(i){p.cache="no-store"}}p.cacheAdditionalHeaders=p.cacheAdditionalHeaders||[];if(p.cacheManager&&!p.cachePath){p.cachePath=p.cacheManager}return p};i.exports=configureOptions},22314:(i,u,p)=>{const g=p(52899);class CachingMinipassPipeline extends g{#a=[];#c=new Map;constructor(i,...u){super();this.#a=i.events;if(u.length){this.push(...u)}}on(i,u){if(this.#a.includes(i)&&this.#c.has(i)){return u(...this.#c.get(i))}return super.on(i,u)}emit(i,...u){if(this.#a.includes(i)){this.#c.set(i,u)}return super.emit(i,...u)}}i.exports=CachingMinipassPipeline},20766:(i,u,p)=>{const{Minipass:g}=p(78275);const A=p(88483);const{promiseRetry:w}=p(49498);const C=p(68951);const{log:S}=p(26687);const{redact:v}=p(4027);const B=p(22314);const{getAgent:_}=p(57995);const T=p(96734);const N=`${T.name}/${T.version} (+https://npm.im/${T.name})`;const x=["ECONNRESET","ECONNREFUSED","EADDRINUSE","ETIMEDOUT","ECONNECTIONTIMEOUT","EIDLETIMEOUT","ERESPONSETIMEOUT","ETRANSFERTIMEOUT"];const k=["request-timeout"];const remoteFetch=(i,u)=>{const p=_(i.url,{...u,signal:undefined});if(!i.headers.has("connection")){i.headers.set("connection",p?"keep-alive":"close")}if(!i.headers.has("user-agent")){i.headers.set("user-agent",N)}const T={...u,agent:p,redirect:"manual"};return w((async(p,w)=>{const _=new A.Request(i,T);const N=v(_.url);try{let i=await A(_,T);if(T.integrity&&i.status===200){const u=C.integrityStream({algorithms:T.algorithms,integrity:T.integrity,size:T.size});const p=new B({events:["integrity","size"]},i.body,u);u.on("integrity",(i=>p.emit("integrity",i)));u.on("size",(i=>p.emit("size",i)));i=new A.Response(p,i);i.body.hasIntegrityEmitter=true}i.headers.set("x-fetch-attempts",w);const v=g.isStream(_.body);const x=_.method!=="POST"&&!v&&([408,420,429].includes(i.status)||i.status>=500);if(x){if(typeof u.onRetry==="function"){u.onRetry(i)}S.http("fetch",`${_.method} ${N} attempt ${w} failed with ${i.status}`);return p(i)}return i}catch(i){const g=i.code==="EPROMISERETRY"?i.retried.code:i.code;const C=i.retried instanceof A.Response||x.includes(g)&&k.includes(i.type);if(_.method==="POST"||C){throw i}if(typeof u.onRetry==="function"){u.onRetry(i)}S.http("fetch",`${_.method} ${N} attempt ${w} failed with ${i.code}`);return p(i)}}),u.retry).catch((i=>{if(i.status>=400&&i.type!=="system"){return i}throw i}))};i.exports=remoteFetch},43772:(i,u,p)=>{i.exports=minimatch;minimatch.Minimatch=Minimatch;var g=function(){try{return p(16928)}catch(i){}}()||{sep:"/"};minimatch.sep=g.sep;var A=minimatch.GLOBSTAR=Minimatch.GLOBSTAR={};var w=p(73783);var C={"!":{open:"(?:(?!(?:",close:"))[^/]*?)"},"?":{open:"(?:",close:")?"},"+":{open:"(?:",close:")+"},"*":{open:"(?:",close:")*"},"@":{open:"(?:",close:")"}};var S="[^/]";var v=S+"*?";var B="(?:(?!(?:\\/|^)(?:\\.{1,2})($|\\/)).)*?";var _="(?:(?!(?:\\/|^)\\.).)*?";var T=charSet("().*{}+?[]^$\\!");function charSet(i){return i.split("").reduce((function(i,u){i[u]=true;return i}),{})}var N
Line truncated
|
||||
/*!
|
||||
* mime-types
|
||||
* Copyright(c) 2014 Jonathan Ong
|
||||
* negotiator
|
||||
* Copyright(c) 2012 Federico Romero
|
||||
* Copyright(c) 2012-2014 Isaac Z. Schlueter
|
||||
* Copyright(c) 2015 Douglas Christopher Wilson
|
||||
* MIT Licensed
|
||||
*/var a=s(47426);var l=s(71017).extname;var c=/^\s*([^;\s]*)(?:;|\s|$)/;var p=/^text\//i;i.charset=charset;i.charsets={lookup:charset};i.contentType=contentType;i.extension=extension;i.extensions=Object.create(null);i.lookup=lookup;i.types=Object.create(null);populateMaps(i.extensions,i.types);function charset(r){if(!r||typeof r!=="string"){return false}var i=c.exec(r);var s=i&&a[i[1].toLowerCase()];if(s&&s.charset){return s.charset}if(i&&p.test(i[1])){return"UTF-8"}return false}function contentType(r){if(!r||typeof r!=="string"){return false}var s=r.indexOf("/")===-1?i.lookup(r):r;if(!s){return false}if(s.indexOf("charset")===-1){var a=i.charset(s);if(a)s+="; charset="+a.toLowerCase()}return s}function extension(r){if(!r||typeof r!=="string"){return false}var s=c.exec(r);var a=s&&i.extensions[s[1].toLowerCase()];if(!a||!a.length){return false}return a[0]}function lookup(r){if(!r||typeof r!=="string"){return false}var s=l("x."+r).toLowerCase().substr(1);if(!s){return false}return i.types[s]||false}function populateMaps(r,i){var s=["nginx","apache",undefined,"iana"];Object.keys(a).forEach((function forEachMimeType(l){var c=a[l];var p=c.extensions;if(!p||!p.length){return}r[l]=p;for(var u=0;u<p.length;u++){var d=p[u];if(i[d]){var A=s.indexOf(a[i[d]].source);var h=s.indexOf(c.source);if(i[d]!=="application/octet-stream"&&(A>h||A===h&&i[d].substr(0,12)==="application/")){continue}}i[d]=l}}))}},83973:(r,i,s)=>{r.exports=minimatch;minimatch.Minimatch=Minimatch;var a=function(){try{return s(71017)}catch(r){}}()||{sep:"/"};minimatch.sep=a.sep;var l=minimatch.GLOBSTAR=Minimatch.GLOBSTAR={};var c=s(48184);var p={"!":{open:"(?:(?!(?:",close:"))[^/]*?)"},"?":{open:"(?:",close:")?"},"+":{open:"(?:",close:")+"},"*":{open:"(?:",close:")*"},"@":{open:"(?:",close:")"}};var u="[^/]";var d=u+"*?";var A="(?:(?!(?:\\/|^)(?:\\.{1,2})($|\\/)).)*?";var h="(?:(?!(?:\\/|^)\\.).)*?";var g=charSet("().*{}+?[]^$\\!");function charSet(r){return r.split("").reduce((function(r,i){r[i]=true;return r}),{})}var y=/\/+/;minimatch.filter=filter;function filter(r,i){i=i||{};return function(s,a,l){return minimatch(s,r,i)}}function ext(r,i){i=i||{};var s={};Object.keys(r).forEach((function(i){s[i]=r[i]}));Object.keys(i).forEach((function(r){s[r]=i[r]}));return s}minimatch.defaults=function(r){if(!r||typeof r!=="object"||!Object.keys(r).length){return minimatch}var i=minimatch;var s=function minimatch(s,a,l){return i(s,a,ext(r,l))};s.Minimatch=function Minimatch(s,a){return new i.Minimatch(s,ext(r,a))};s.Minimatch.defaults=function defaults(s){return i.defaults(ext(r,s)).Minimatch};s.filter=function filter(s,a){return i.filter(s,ext(r,a))};s.defaults=function defaults(s){return i.defaults(ext(r,s))};s.makeRe=function makeRe(s,a){return i.makeRe(s,ext(r,a))};s.braceExpand=function braceExpand(s,a){return i.braceExpand(s,ext(r,a))};s.match=function(s,a,l){return i.match(s,a,ext(r,l))};return s};Minimatch.defaults=function(r){return minimatch.defaults(r).Minimatch};function minimatch(r,i,s){assertValidPattern(i);if(!s)s={};if(!s.nocomment&&i.charAt(0)==="#"){return false}return new Minimatch(i,s).match(r)}function Minimatch(r,i){if(!(this instanceof Minimatch)){return new Minimatch(r,i)}assertValidPattern(r);if(!i)i={};r=r.trim();if(!i.allowWindowsEscape&&a.sep!=="/"){r=r.split(a.sep).join("/")}this.options=i;this.set=[];this.pattern=r;this.regexp=null;this.negate=false;this.comment=false;this.empty=false;this.partial=!!i.partial;this.make()}Minimatch.prototype.debug=function(){};Minimatch.prototype.make=make;function make(){var r=this.pattern;var i=this.options;if(!i.nocomment&&r.charAt(0)==="#"){this.comment=true;return}if(!r){this.empty=true;return}this.parseNegate();var s=this.globSet=this.braceExpand();if(i.debug)this.debug=function debug(){console.error.apply(console,arguments)};this.debug(this.pattern,s);s=this.globParts=s.map((function(r){return r.split(y)}));this.debug(this.pattern,s);s=s.map((function(r,i,s){return r.map(this.parse,this)}),this);this.debug(this.pattern,s);s=s.filter((function(r){return r.indexOf(false)===-1}));this.debug(this.pattern,s);this.set=s}Minimatch.prototype.parseNegate=parseNegate;function parseNegate(){var r=this.pattern;var i=false;var s=this.options;var a=0;if(s.nonegate)return;for(var l=0,c=r.length;l<c&&r.charAt(l)==="!";l++){i=!i;a++}if(a)this.pattern=r.substr(a);this.negate=i}minimatch.braceExpand=function(r,i){return braceExpand(r,i)};Minimatch.prototype.braceExpand=braceExpand;function braceExpand(r,i){if(!i){if(this instanceof Minimatch){i=this.options}else{i={}}}r=typeof r==="undefined"?this.pattern:r;assertValidPattern(r);if(i.nobrace||!/\{(?:(?!\{).)*\}/.test(r)){return[r]}return c(r)}var b=1024*64;var assertValidPattern=function(r){if(typeof r!=="string"){throw new TypeError("invalid pattern")}if(r.length>b){throw new TypeError("pattern is too long")}};Minimatch.prototype.parse=parse;var v={};function parse(r,i){assertValidPattern(r);var s=this.options;if(r==="**"){if(!s.noglobstar)return l;else r=Line truncated
|
||||
*/
|
||||
var g=p(79168);var A=p(25111);var w=p(56008);var C=p(53672);i.exports=Negotiator;i.exports.Negotiator=Negotiator;function Negotiator(i){if(!(this instanceof Negotiator)){return new Negotiator(i)}this.request=i}Negotiator.prototype.charset=function charset(i){var u=this.charsets(i);return u&&u[0]};Negotiator.prototype.charsets=function charsets(i){return g(this.request.headers["accept-charset"],i)};Negotiator.prototype.encoding=function encoding(i,u){var p=this.encodings(i,u);return p&&p[0]};Negotiator.prototype.encodings=function encodings(i,u){var p=u||{};return A(this.request.headers["accept-encoding"],i,p.preferred)};Negotiator.prototype.language=function language(i){var u=this.languages(i);return u&&u[0]};Negotiator.prototype.languages=function languages(i){return w(this.request.headers["accept-language"],i)};Negotiator.prototype.mediaType=function mediaType(i){var u=this.mediaTypes(i);return u&&u[0]};Negotiator.prototype.mediaTypes=function mediaTypes(i){return C(this.request.headers.accept,i)};Negotiator.prototype.preferredCharset=Negotiator.prototype.charset;Negotiator.prototype.preferredCharsets=Negotiator.prototype.charsets;Negotiator.prototype.preferredEncoding=Negotiator.prototype.encoding;Negotiator.prototype.preferredEncodings=Negotiator.prototype.encodings;Negotiator.prototype.preferredLanguage=Negotiator.prototype.language;Negotiator.prototype.preferredLanguages=Negotiator.prototype.languages;Negotiator.prototype.preferredMediaType=Negotiator.prototype.mediaType;Negotiator.prototype.preferredMediaTypes=Negotiator.prototype.mediaTypes},79168:i=>{i.exports=preferredCharsets;i.exports.preferredCharsets=preferredCharsets;var u=/^\s*([^\s;]+)\s*(?:;(.*))?$/;function parseAcceptCharset(i){var u=i.split(",");for(var p=0,g=0;p<u.length;p++){var A=parseCharset(u[p].trim(),p);if(A){u[g++]=A}}u.length=g;return u}function parseCharset(i,p){var g=u.exec(i);if(!g)return null;var A=g[1];var w=1;if(g[2]){var C=g[2].split(";");for(var S=0;S<C.length;S++){var v=C[S].trim().split("=");if(v[0]==="q"){w=parseFloat(v[1]);break}}}return{charset:A,q:w,i:p}}function getCharsetPriority(i,u,p){var g={o:-1,q:0,s:0};for(var A=0;A<u.length;A++){var w=specify(i,u[A],p);if(w&&(g.s-w.s||g.q-w.q||g.o-w.o)<0){g=w}}return g}function specify(i,u,p){var g=0;if(u.charset.toLowerCase()===i.toLowerCase()){g|=1}else if(u.charset!=="*"){return null}return{i:p,o:u.i,q:u.q,s:g}}function preferredCharsets(i,u){var p=parseAcceptCharset(i===undefined?"*":i||"");if(!u){return p.filter(isQuality).sort(compareSpecs).map(getFullCharset)}var g=u.map((function getPriority(i,u){return getCharsetPriority(i,p,u)}));return g.filter(isQuality).sort(compareSpecs).map((function getCharset(i){return u[g.indexOf(i)]}))}function compareSpecs(i,u){return u.q-i.q||u.s-i.s||i.o-u.o||i.i-u.i||0}function getFullCharset(i){return i.charset}function isQuality(i){return i.q>0}},25111:i=>{i.exports=preferredEncodings;i.exports.preferredEncodings=preferredEncodings;var u=/^\s*([^\s;]+)\s*(?:;(.*))?$/;function parseAcceptEncoding(i){var u=i.split(",");var p=false;var g=1;for(var A=0,w=0;A<u.length;A++){var C=parseEncoding(u[A].trim(),A);if(C){u[w++]=C;p=p||specify("identity",C);g=Math.min(g,C.q||1)}}if(!p){u[w++]={encoding:"identity",q:g,i:A}}u.length=w;return u}function parseEncoding(i,p){var g=u.exec(i);if(!g)return null;var A=g[1];var w=1;if(g[2]){var C=g[2].split(";");for(var S=0;S<C.length;S++){var v=C[S].trim().split("=");if(v[0]==="q"){w=parseFloat(v[1]);break}}}return{encoding:A,q:w,i:p}}function getEncodingPriority(i,u,p){var g={encoding:i,o:-1,q:0,s:0};for(var A=0;A<u.length;A++){var w=specify(i,u[A],p);if(w&&(g.s-w.s||g.q-w.q||g.o-w.o)<0){g=w}}return g}function specify(i,u,p){var g=0;if(u.encoding.toLowerCase()===i.toLowerCase()){g|=1}else if(u.encoding!=="*"){return null}return{encoding:i,i:p,o:u.i,q:u.q,s:g}}function preferredEncodings(i,u,p){var g=parseAcceptEncoding(i||"");var A=p?function comparator(i,u){if(i.q!==u.q){return u.q-i.q}var g=p.indexOf(i.encoding);var A=p.indexOf(u.encoding);if(g===-1&&A===-1){return u.s-i.s||i.o-u.o||i.i-u.i}if(g!==-1&&A!==-1){return g-A}return g===-1?1:-1}:compareSpecs;if(!u){return g.filter(isQuality).sort(A).map(getFullEncoding)}var w=u.map((function getPriority(i,u){return getEncodingPriority(i,g,u)}));return w.filter(isQuality).sort(A).map((function getEncoding(i){return u[w.indexOf(i)]}))}function compareSpecs(i,u){return u.q-i.q||u.s-i.s||i.o-u.o||i.i-u.i}function getFullEncoding(i){return i.encoding}function isQuality(i){return i.q>0}},56008:i=>{i.exports=preferredLanguages;i.exports.preferredLanguages=preferredLanguages;var u=/^\s*([^\s\-;]+)(?:-([^\s;]+))?\s*(?:;(.*))?$/;function parseAcceptLanguage(i){var u=i.split(",");for(var p=0,g=0;p<u.length;p++){var A=parseLanguage(u[p].trim(),p);if(A){u[g++]=A}}u.length=g;return u}function parseLanguage(i,p){var g=u.exec(i);if(!g)return null;var A=g[1];var w=g[2];var C=A;if(w)C+="-"+w;var S=1;if(g[3]){var v=g[3].split(";");for(var B=0;B<v.length;B++){var _=v[B].split(Line truncated
|
||||
/*!
|
||||
* normalize-path <https://github.com/jonschlinkert/normalize-path>
|
||||
*
|
||||
* Copyright (c) 2014-2018, Jon Schlinkert.
|
||||
* Released under the MIT License.
|
||||
*/
|
||||
r.exports=function(r,i){if(typeof r!=="string"){throw new TypeError("expected path to be a string")}if(r==="\\"||r==="/")return"/";var s=r.length;if(s<=1)return r;var a="";if(s>4&&r[3]==="\\"){var l=r[2];if((l==="?"||l===".")&&r.slice(0,2)==="\\\\"){r=r.slice(2);a="//"}}var c=r.split(/[/\\]+/);if(i!==false&&c[c.length-1]===""){c.pop()}return a+c.join("/")}},1223:(r,i,s)=>{var a=s(62940);r.exports=a(once);r.exports.strict=a(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(r){var f=function(){if(f.called)return f.value;f.called=true;return f.value=r.apply(this,arguments)};f.called=false;return f}function onceStrict(r){var f=function(){if(f.called)throw new Error(f.onceError);f.called=true;return f.value=r.apply(this,arguments)};var i=r.name||"Function wrapped with `once`";f.onceError=i+" shouldn't be called more than once";f.called=false;return f}},47810:r=>{"use strict";if(typeof process==="undefined"||!process.version||process.version.indexOf("v0.")===0||process.version.indexOf("v1.")===0&&process.version.indexOf("v1.8.")!==0){r.exports={nextTick:nextTick}}else{r.exports=process}function nextTick(r,i,s,a){if(typeof r!=="function"){throw new TypeError('"callback" argument must be a function')}var l=arguments.length;var c,p;switch(l){case 0:case 1:return process.nextTick(r);case 2:return process.nextTick((function afterTickOne(){r.call(null,i)}));case 3:return process.nextTick((function afterTickTwo(){r.call(null,i,s)}));case 4:return process.nextTick((function afterTickThree(){r.call(null,i,s,a)}));default:c=new Array(l-1);p=0;while(p<c.length){c[p++]=arguments[p]}return process.nextTick((function afterTick(){r.apply(null,c)}))}}},45676:r=>{r.exports=global.process},5322:(r,i,s)=>{r.exports=typeof process!=="undefined"&&typeof process.nextTick==="function"?process.nextTick.bind(process):s(71031)},71031:r=>{r.exports=typeof queueMicrotask==="function"?queueMicrotask:r=>Promise.resolve().then(r)},80289:(r,i,s)=>{"use strict";const{SymbolDispose:a}=s(89629);const{AbortError:l,codes:c}=s(80529);const{isNodeStream:p,isWebStream:u,kControllerErrorFunction:d}=s(27981);const A=s(76080);const{ERR_INVALID_ARG_TYPE:h}=c;let g;const validateAbortSignal=(r,i)=>{if(typeof r!=="object"||!("aborted"in r)){throw new h(i,"AbortSignal",r)}};r.exports.addAbortSignal=function addAbortSignal(i,s){validateAbortSignal(i,"signal");if(!p(s)&&!u(s)){throw new h("stream",["ReadableStream","WritableStream","Stream"],s)}return r.exports.addAbortSignalNoValidate(i,s)};r.exports.addAbortSignalNoValidate=function(r,i){if(typeof r!=="object"||!("aborted"in r)){return i}const c=p(i)?()=>{i.destroy(new l(undefined,{cause:r.reason}))}:()=>{i[d](new l(undefined,{cause:r.reason}))};if(r.aborted){c()}else{g=g||s(46959).addAbortListener;const l=g(r,c);A(i,l[a])}return i}},52746:(r,i,s)=>{"use strict";const{StringPrototypeSlice:a,SymbolIterator:l,TypedArrayPrototypeSet:c,Uint8Array:p}=s(89629);const{Buffer:u}=s(14300);const{inspect:d}=s(46959);r.exports=class BufferList{constructor(){this.head=null;this.tail=null;this.length=0}push(r){const i={data:r,next:null};if(this.length>0)this.tail.next=i;else this.head=i;this.tail=i;++this.length}unshift(r){const i={data:r,next:this.head};if(this.length===0)this.tail=i;this.head=i;++this.length}shift(){if(this.length===0)return;const r=this.head.data;if(this.length===1)this.head=this.tail=null;else this.head=this.head.next;--this.length;return r}clear(){this.head=this.tail=null;this.length=0}join(r){if(this.length===0)return"";let i=this.head;let s=""+i.data;while((i=i.next)!==null)s+=r+i.data;return s}concat(r){if(this.length===0)return u.alloc(0);const i=u.allocUnsafe(r>>>0);let s=this.head;let a=0;while(s){c(i,s.data,a);a+=s.data.length;s=s.next}return i}consume(r,i){const s=this.head.data;if(r<s.length){const i=s.slice(0,r);this.head.data=s.slice(r);return i}if(r===s.length){return this.shift()}return i?this._getString(r):this._getBuffer(r)}first(){return this.head.data}*[l](){for(let r=this.head;r;r=r.next){yield r.data}}_getString(r){let i="";let s=this.head;let l=0;do{const c=s.data;if(r>c.length){i+=c;r-=c.length}else{if(r===c.length){i+=c;++l;if(s.next)this.head=s.next;else this.head=this.tail=null}else{i+=a(c,0,r);this.head=s;s.data=a(c,r)}break}++l}while((s=s.next)!==null);this.length-=l;return i}_getBuffer(r){const i=u.allocUnsafe(r);const s=r;let a=this.head;let l=0;do{const u=a.data;if(r>u.length){c(i,u,s-r);r-=u.length}else{if(r===u.length){c(i,u,s-r);++l;if(a.next)this.head=a.next;else this.head=this.tail=null}else{c(i,new p(u.buffer,u.byteOffset,r),s-r);this.head=a;a.data=u.slice(r)}break}++l}while((a=a.next)!==null);this.length-=l;return i}[Symbol.for("nodejs.util.inspect.custom")](r,i){return d(this,{...i,depth:0,customInspect:false})}}},63129:(r,i,s)=>{"use stricLine truncated
|
||||
/*! http://mths.be/fromcodepoint v0.1.0 by @mathias */if(!String.fromCodePoint){(function(){var r=String.fromCharCode;var i=Math.floor;var fromCodePoint=function(){var s=16384;var a=[];var l;var c;var p=-1;var u=arguments.length;if(!u){return""}var d="";while(++p<u){var A=Number(arguments[p]);if(!isFinite(A)||A<0||A>1114111||i(A)!==A){throw RangeError("Invalid code point: "+A)}if(A<=65535){a.push(A)}else{A-=65536;l=(A>>10)+55296;c=A%1024+56320;a.push(l,c)}if(p+1===u||a.length>s){d+=r.apply(null,a);a.length=0}}return d};if(Object.defineProperty){Object.defineProperty(String,"fromCodePoint",{value:fromCodePoint,configurable:true,writable:true})}else{String.fromCodePoint=fromCodePoint}})()}})(false?0:i)},85911:(r,i)=>{i=r.exports=SemVer;var s;if(typeof process==="object"&&process.env&&process.env.NODE_DEBUG&&/\bsemver\b/i.test(process.env.NODE_DEBUG)){s=function(){var r=Array.prototype.slice.call(arguments,0);r.unshift("SEMVER");console.log.apply(console,r)}}else{s=function(){}}i.SEMVER_SPEC_VERSION="2.0.0";var a=256;var l=Number.MAX_SAFE_INTEGER||9007199254740991;var c=16;var p=a-6;var u=i.re=[];var d=i.safeRe=[];var A=i.src=[];var h=i.tokens={};var g=0;function tok(r){h[r]=g++}var y="[a-zA-Z0-9-]";var b=[["\\s",1],["\\d",a],[y,p]];function makeSafeRe(r){for(var i=0;i<b.length;i++){var s=b[i][0];var a=b[i][1];r=r.split(s+"*").join(s+"{0,"+a+"}").split(s+"+").join(s+"{1,"+a+"}")}return r}tok("NUMERICIDENTIFIER");A[h.NUMERICIDENTIFIER]="0|[1-9]\\d*";tok("NUMERICIDENTIFIERLOOSE");A[h.NUMERICIDENTIFIERLOOSE]="\\d+";tok("NONNUMERICIDENTIFIER");A[h.NONNUMERICIDENTIFIER]="\\d*[a-zA-Z-]"+y+"*";tok("MAINVERSION");A[h.MAINVERSION]="("+A[h.NUMERICIDENTIFIER]+")\\."+"("+A[h.NUMERICIDENTIFIER]+")\\."+"("+A[h.NUMERICIDENTIFIER]+")";tok("MAINVERSIONLOOSE");A[h.MAINVERSIONLOOSE]="("+A[h.NUMERICIDENTIFIERLOOSE]+")\\."+"("+A[h.NUMERICIDENTIFIERLOOSE]+")\\."+"("+A[h.NUMERICIDENTIFIERLOOSE]+")";tok("PRERELEASEIDENTIFIER");A[h.PRERELEASEIDENTIFIER]="(?:"+A[h.NUMERICIDENTIFIER]+"|"+A[h.NONNUMERICIDENTIFIER]+")";tok("PRERELEASEIDENTIFIERLOOSE");A[h.PRERELEASEIDENTIFIERLOOSE]="(?:"+A[h.NUMERICIDENTIFIERLOOSE]+"|"+A[h.NONNUMERICIDENTIFIER]+")";tok("PRERELEASE");A[h.PRERELEASE]="(?:-("+A[h.PRERELEASEIDENTIFIER]+"(?:\\."+A[h.PRERELEASEIDENTIFIER]+")*))";tok("PRERELEASELOOSE");A[h.PRERELEASELOOSE]="(?:-?("+A[h.PRERELEASEIDENTIFIERLOOSE]+"(?:\\."+A[h.PRERELEASEIDENTIFIERLOOSE]+")*))";tok("BUILDIDENTIFIER");A[h.BUILDIDENTIFIER]=y+"+";tok("BUILD");A[h.BUILD]="(?:\\+("+A[h.BUILDIDENTIFIER]+"(?:\\."+A[h.BUILDIDENTIFIER]+")*))";tok("FULL");tok("FULLPLAIN");A[h.FULLPLAIN]="v?"+A[h.MAINVERSION]+A[h.PRERELEASE]+"?"+A[h.BUILD]+"?";A[h.FULL]="^"+A[h.FULLPLAIN]+"$";tok("LOOSEPLAIN");A[h.LOOSEPLAIN]="[v=\\s]*"+A[h.MAINVERSIONLOOSE]+A[h.PRERELEASELOOSE]+"?"+A[h.BUILD]+"?";tok("LOOSE");A[h.LOOSE]="^"+A[h.LOOSEPLAIN]+"$";tok("GTLT");A[h.GTLT]="((?:<|>)?=?)";tok("XRANGEIDENTIFIERLOOSE");A[h.XRANGEIDENTIFIERLOOSE]=A[h.NUMERICIDENTIFIERLOOSE]+"|x|X|\\*";tok("XRANGEIDENTIFIER");A[h.XRANGEIDENTIFIER]=A[h.NUMERICIDENTIFIER]+"|x|X|\\*";tok("XRANGEPLAIN");A[h.XRANGEPLAIN]="[v=\\s]*("+A[h.XRANGEIDENTIFIER]+")"+"(?:\\.("+A[h.XRANGEIDENTIFIER]+")"+"(?:\\.("+A[h.XRANGEIDENTIFIER]+")"+"(?:"+A[h.PRERELEASE]+")?"+A[h.BUILD]+"?"+")?)?";tok("XRANGEPLAINLOOSE");A[h.XRANGEPLAINLOOSE]="[v=\\s]*("+A[h.XRANGEIDENTIFIERLOOSE]+")"+"(?:\\.("+A[h.XRANGEIDENTIFIERLOOSE]+")"+"(?:\\.("+A[h.XRANGEIDENTIFIERLOOSE]+")"+"(?:"+A[h.PRERELEASELOOSE]+")?"+A[h.BUILD]+"?"+")?)?";tok("XRANGE");A[h.XRANGE]="^"+A[h.GTLT]+"\\s*"+A[h.XRANGEPLAIN]+"$";tok("XRANGELOOSE");A[h.XRANGELOOSE]="^"+A[h.GTLT]+"\\s*"+A[h.XRANGEPLAINLOOSE]+"$";tok("COERCE");A[h.COERCE]="(^|[^\\d])"+"(\\d{1,"+c+"})"+"(?:\\.(\\d{1,"+c+"}))?"+"(?:\\.(\\d{1,"+c+"}))?"+"(?:$|[^\\d])";tok("COERCERTL");u[h.COERCERTL]=new RegExp(A[h.COERCE],"g");d[h.COERCERTL]=new RegExp(makeSafeRe(A[h.COERCE]),"g");tok("LONETILDE");A[h.LONETILDE]="(?:~>?)";tok("TILDETRIM");A[h.TILDETRIM]="(\\s*)"+A[h.LONETILDE]+"\\s+";u[h.TILDETRIM]=new RegExp(A[h.TILDETRIM],"g");d[h.TILDETRIM]=new RegExp(makeSafeRe(A[h.TILDETRIM]),"g");var v="$1~";tok("TILDE");A[h.TILDE]="^"+A[h.LONETILDE]+A[h.XRANGEPLAIN]+"$";tok("TILDELOOSE");A[h.TILDELOOSE]="^"+A[h.LONETILDE]+A[h.XRANGEPLAINLOOSE]+"$";tok("LONECARET");A[h.LONECARET]="(?:\\^)";tok("CARETTRIM");A[h.CARETTRIM]="(\\s*)"+A[h.LONECARET]+"\\s+";u[h.CARETTRIM]=new RegExp(A[h.CARETTRIM],"g");d[h.CARETTRIM]=new RegExp(makeSafeRe(A[h.CARETTRIM]),"g");var C="$1^";tok("CARET");A[h.CARET]="^"+A[h.LONECARET]+A[h.XRANGEPLAIN]+"$";tok("CARETLOOSE");A[h.CARETLOOSE]="^"+A[h.LONECARET]+A[h.XRANGEPLAINLOOSE]+"$";tok("COMPARATORLOOSE");A[h.COMPARATORLOOSE]="^"+A[h.GTLT]+"\\s*("+A[h.LOOSEPLAIN]+")$|^$";tok("COMPARATOR");A[h.COMPARATOR]="^"+A[h.GTLT]+"\\s*("+A[h.FULLPLAIN]+")$|^$";tok("COMPARATORTRIM");A[h.COMPARATORTRIM]="(\\s*)"+A[h.GTLT]+"\\s*("+A[h.LOOSEPLAIN]+"|"+A[h.XRANGEPLAIN]+")";u[h.COMPARATORTRIM]=new RegExp(A[h.COMPARATORTRIM],"g");d[h.COMPARATORTRIM]=new RegExp(makeSafeRe(A[h.COMPARATORTRIM]),"g");var w="$1$2$3";tok("HYLine truncated
|
||||
i.exports=function(i,u){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 g="";if(p>4&&i[3]==="\\"){var A=i[2];if((A==="?"||A===".")&&i.slice(0,2)==="\\\\"){i=i.slice(2);g="//"}}var w=i.split(/[/\\]+/);if(u!==false&&w[w.length-1]===""){w.pop()}return g+w.join("/")}},26687:i=>{const u=Symbol("proc-log.meta");i.exports={META:u,output:{LEVELS:["standard","error","buffer","flush"],KEYS:{standard:"standard",error:"error",buffer:"buffer",flush:"flush"},standard:function(...i){return process.emit("output","standard",...i)},error:function(...i){return process.emit("output","error",...i)},buffer:function(...i){return process.emit("output","buffer",...i)},flush:function(...i){return process.emit("output","flush",...i)}},log:{LEVELS:["notice","error","warn","info","verbose","http","silly","timing","pause","resume"],KEYS:{notice:"notice",error:"error",warn:"warn",info:"info",verbose:"verbose",http:"http",silly:"silly",timing:"timing",pause:"pause",resume:"resume"},error:function(...i){return process.emit("log","error",...i)},notice:function(...i){return process.emit("log","notice",...i)},warn:function(...i){return process.emit("log","warn",...i)},info:function(...i){return process.emit("log","info",...i)},verbose:function(...i){return process.emit("log","verbose",...i)},http:function(...i){return process.emit("log","http",...i)},silly:function(...i){return process.emit("log","silly",...i)},timing:function(...i){return process.emit("log","timing",...i)},pause:function(){return process.emit("log","pause")},resume:function(){return process.emit("log","resume")}},time:{LEVELS:["start","end"],KEYS:{start:"start",end:"end"},start:function(i,u){process.emit("time","start",i);function end(){return process.emit("time","end",i)}if(typeof u==="function"){const i=u();if(i&&i.finally){return i.finally(end)}end();return i}return end},end:function(i){return process.emit("time","end",i)}},input:{LEVELS:["start","end","read"],KEYS:{start:"start",end:"end",read:"read"},start:function(...i){let u;if(typeof i[0]==="function"){u=i.shift()}process.emit("input","start",...i);function end(){return process.emit("input","end",...i)}if(typeof u==="function"){const i=u();if(i&&i.finally){return i.finally(end)}end();return i}return end},end:function(...i){return process.emit("input","end",...i)},read:function(...i){let u,p;const g=new Promise(((i,g)=>{u=i;p=g}));process.emit("input","read",u,p,...i);return g}}}},41564:i=>{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,u,p,g){if(typeof i!=="function"){throw new TypeError('"callback" argument must be a function')}var A=arguments.length;var w,C;switch(A){case 0:case 1:return process.nextTick(i);case 2:return process.nextTick((function afterTickOne(){i.call(null,u)}));case 3:return process.nextTick((function afterTickTwo(){i.call(null,u,p)}));case 4:return process.nextTick((function afterTickThree(){i.call(null,u,p,g)}));default:w=new Array(A-1);C=0;while(C<w.length){w[C++]=arguments[C]}return process.nextTick((function afterTick(){i.apply(null,w)}))}}},7945:i=>{i.exports=global.process},5506:(i,u,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,u,p)=>{const{SymbolDispose:g}=p(50999);const{AbortError:A,codes:w}=p(69220);const{isNodeStream:C,isWebStream:S,kControllerErrorFunction:v}=p(83426);const B=p(36815);const{ERR_INVALID_ARG_TYPE:_}=w;let T;const validateAbortSignal=(i,u)=>{if(typeof i!=="object"||!("aborted"in i)){throw new _(u,"AbortSignal",i)}};i.exports.addAbortSignal=function addAbortSignal(u,p){validateAbortSignal(u,"signal");if(!C(p)&&!S(p)){throw new _("stream",["ReadableStream","WritableStream","Stream"],p)}return i.exports.addAbortSignalNoValidate(u,p)};i.exports.addAbortSignalNoValidate=function(i,u){if(typeof i!=="object"||!("aborted"in i)){return u}const w=C(u)?()=>{u.destroy(new A(undefined,{cause:i.reason}))}:()=>{u[v](new A(undefined,{cause:i.reason}))};if(i.aborted){w()}else{T=T||p(23539).addAbortListener;const A=T(i,w);B(u,A[g])}return u}},77336:(i,u,p)=>{const{StringPrototypeSlice:g,SymbolIterator:A,TypedArrayPrototypeSet:w,Uint8Array:C}=p(50999);const{Buffer:S}=p(20181);const{inspect:v}=p(23539);i.exports=class BufferList{constructor(){this.head=null;this.tail=null;this.length=0}push(i){const u={data:i,next:null};if(this.length>0)this.tail.next=u;else this.head=u;this.tail=u;++this.length}unshift(i){const u={data:i,next:this.head};if(this.length===0)this.tail=u;this.head=u;++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.Line truncated
|
||||
/*!
|
||||
* Tmp
|
||||
*
|
||||
* Copyright (c) 2011-2017 KARASZI Istvan <github@spam.raszi.hu>
|
||||
*
|
||||
* MIT Licensed
|
||||
*/
|
||||
const a=s(57147);const l=s(22037);const c=s(71017);const p=s(6113);const u={fs:a.constants,os:l.constants};const d="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz",A=/XXXXXX/,h=3,g=(u.O_CREAT||u.fs.O_CREAT)|(u.O_EXCL||u.fs.O_EXCL)|(u.O_RDWR||u.fs.O_RDWR),y=l.platform()==="win32",b=u.EBADF||u.os.errno.EBADF,v=u.ENOENT||u.os.errno.ENOENT,C=448,w=384,I="exit",B=[],S=a.rmdirSync.bind(a);let x=false;function rimraf(r,i){return a.rm(r,{recursive:true},i)}function FN_RIMRAF_SYNC(r){return a.rmSync(r,{recursive:true})}function tmpName(r,i){const s=_parseArguments(r,i),l=s[0],c=s[1];try{_assertAndSanitizeOptions(l)}catch(r){return c(r)}let p=l.tries;(function _getUniqueName(){try{const r=_generateTmpName(l);a.stat(r,(function(i){if(!i){if(p-- >0)return _getUniqueName();return c(new Error("Could not get a unique tmp filename, max tries reached "+r))}c(null,r)}))}catch(r){c(r)}})()}function tmpNameSync(r){const i=_parseArguments(r),s=i[0];_assertAndSanitizeOptions(s);let l=s.tries;do{const r=_generateTmpName(s);try{a.statSync(r)}catch(i){return r}}while(l-- >0);throw new Error("Could not get a unique tmp filename, max tries reached")}function file(r,i){const s=_parseArguments(r,i),l=s[0],c=s[1];tmpName(l,(function _tmpNameCreated(r,i){if(r)return c(r);a.open(i,g,l.mode||w,(function _fileCreated(r,s){if(r)return c(r);if(l.discardDescriptor){return a.close(s,(function _discardCallback(r){return c(r,i,undefined,_prepareTmpFileRemoveCallback(i,-1,l,false))}))}else{const r=l.discardDescriptor||l.detachDescriptor;c(null,i,s,_prepareTmpFileRemoveCallback(i,r?-1:s,l,false))}}))}))}function fileSync(r){const i=_parseArguments(r),s=i[0];const l=s.discardDescriptor||s.detachDescriptor;const c=tmpNameSync(s);var p=a.openSync(c,g,s.mode||w);if(s.discardDescriptor){a.closeSync(p);p=undefined}return{name:c,fd:p,removeCallback:_prepareTmpFileRemoveCallback(c,l?-1:p,s,true)}}function dir(r,i){const s=_parseArguments(r,i),l=s[0],c=s[1];tmpName(l,(function _tmpNameCreated(r,i){if(r)return c(r);a.mkdir(i,l.mode||C,(function _dirCreated(r){if(r)return c(r);c(null,i,_prepareTmpDirRemoveCallback(i,l,false))}))}))}function dirSync(r){const i=_parseArguments(r),s=i[0];const l=tmpNameSync(s);a.mkdirSync(l,s.mode||C);return{name:l,removeCallback:_prepareTmpDirRemoveCallback(l,s,true)}}function _removeFileAsync(r,i){const _handler=function(r){if(r&&!_isENOENT(r)){return i(r)}i()};if(0<=r[0])a.close(r[0],(function(){a.unlink(r[1],_handler)}));else a.unlink(r[1],_handler)}function _removeFileSync(r){let i=null;try{if(0<=r[0])a.closeSync(r[0])}catch(r){if(!_isEBADF(r)&&!_isENOENT(r))throw r}finally{try{a.unlinkSync(r[1])}catch(r){if(!_isENOENT(r))i=r}}if(i!==null){throw i}}function _prepareTmpFileRemoveCallback(r,i,s,a){const l=_prepareRemoveCallback(_removeFileSync,[i,r],a);const c=_prepareRemoveCallback(_removeFileAsync,[i,r],a,l);if(!s.keep)B.unshift(l);return a?l:c}function _prepareTmpDirRemoveCallback(r,i,s){const l=i.unsafeCleanup?rimraf:a.rmdir.bind(a);const c=i.unsafeCleanup?FN_RIMRAF_SYNC:S;const p=_prepareRemoveCallback(c,r,s);const u=_prepareRemoveCallback(l,r,s,p);if(!i.keep)B.unshift(p);return s?p:u}function _prepareRemoveCallback(r,i,s,a){let l=false;return function _cleanupCallback(c){if(!l){const p=a||_cleanupCallback;const u=B.indexOf(p);if(u>=0)B.splice(u,1);l=true;if(s||r===S||r===FN_RIMRAF_SYNC){return r(i)}else{return r(i,c||function(){})}}}}function _garbageCollector(){if(!x)return;while(B.length){try{B[0]()}catch(r){}}}function _randomChars(r){let i=[],s=null;try{s=p.randomBytes(r)}catch(i){s=p.pseudoRandomBytes(r)}for(var a=0;a<r;a++){i.push(d[s[a]%d.length])}return i.join("")}function _isBlank(r){return r===null||_isUndefined(r)||!r.trim()}function _isUndefined(r){return typeof r==="undefined"}function _parseArguments(r,i){if(typeof r==="function"){return[{},r]}if(_isUndefined(r)){return[{},i]}const s={};for(const i of Object.getOwnPropertyNames(r)){s[i]=r[i]}return[s,i]}function _generateTmpName(r){const i=r.tmpdir;if(!_isUndefined(r.name))return c.join(i,r.dir,r.name);if(!_isUndefined(r.template))return c.join(i,r.dir,r.template).replace(A,_randomChars(6));const s=[r.prefix?r.prefix:"tmp","-",process.pid,"-",_randomChars(12),r.postfix?"-"+r.postfix:""].join("");return c.join(i,r.dir,s)}function _assertAndSanitizeOptions(r){r.tmpdir=_getTmpDir(r);const i=r.tmpdir;if(!_isUndefined(r.name))_assertIsRelative(r.name,"name",i);if(!_isUndefined(r.dir))_assertIsRelative(r.dir,"dir",i);if(!_isUndefined(r.template)){_assertIsRelative(r.template,"template",i);if(!r.template.match(A))throw new Error(`Invalid template, found "${r.template}".`)}if(!_isUndefined(r.tries)&&isNaN(r.tries)||r.tries<0)throw new Error(`Invalid tries, found "${r.tries}".`);r.tries=_isUndefined(r.name)?r.tries||h:1;r.keep=!!r.keep;r.detachDescriptor=!!r.detachDescriptor;r.discardDescriptor=!!r.discardDescriptor;r.unsafeCleanup=!!r.unsafeCleanup;r.dir=_isUndefined(r.dir)?"":c.relative(i,_resolvePath(r.dir,i));r.template=_isUndefined(r.template)Line truncated
|
||||
/*! formdata-polyfill. MIT License. Jimmy Wärting <https://jimmy.warting.se/opensource> */;const escape=r=>r.replace(/\n/g,"%0A").replace(/\r/g,"%0D").replace(/"/g,"%22");const normalizeLinefeeds=r=>r.replace(/\r?\n|\r/g,"\r\n");const a=[];const l=new Uint8Array([13,10]);g=0;let c=false;for(const[i,p]of r){if(typeof p==="string"){const r=O.encode(s+`; name="${escape(normalizeLinefeeds(i))}"`+`\r\n\r\n${normalizeLinefeeds(p)}\r\n`);a.push(r);g+=r.byteLength}else{const r=O.encode(`${s}; name="${escape(normalizeLinefeeds(i))}"`+(p.name?`; filename="${escape(p.name)}"`:"")+"\r\n"+`Content-Type: ${p.type||"application/octet-stream"}\r\n\r\n`);a.push(r,p,l);if(typeof p.size==="number"){g+=r.byteLength+p.size+l.byteLength}else{c=true}}}const p=O.encode(`--${i}--`);a.push(p);g+=p.byteLength;if(c){g=null}h=r;A=async function*(){for(const r of a){if(r.stream){yield*r.stream()}else{yield r}}};y="multipart/form-data; boundary="+i}else if(p(r)){h=r;g=r.size;if(r.type){y=r.type}}else if(typeof r[Symbol.asyncIterator]==="function"){if(i){throw new TypeError("keepalive")}if(l.isDisturbed(r)||r.locked){throw new TypeError("Response body object should not be disturbed or locked")}a=r instanceof k?r:c(r)}if(typeof h==="string"||l.isBuffer(h)){g=Buffer.byteLength(h)}if(A!=null){let i;a=new k({async start(){i=A(r)[Symbol.asyncIterator]()},async pull(r){const{value:s,done:l}=await i.next();if(l){queueMicrotask((()=>{r.close()}))}else{if(!x(a)){r.enqueue(new Uint8Array(s))}}return r.desiredSize>0},async cancel(r){await i.return()},type:undefined})}const b={stream:a,source:h,length:g};return[b,y]}function safelyExtractBody(r,i=false){if(!k){k=s(35356).ReadableStream}if(r instanceof k){S(!l.isDisturbed(r),"The body has already been consumed.");S(!r.locked,"The stream is locked.")}return extractBody(r,i)}function cloneBody(r){const[i,s]=r.stream.tee();const a=C(s,{transfer:[s]});const[,l]=a.tee();r.stream=i;return{stream:l,length:r.length,source:r.source}}async function*consumeBody(r){if(r){if(_(r)){yield r}else{const i=r.stream;if(l.isDisturbed(i)){throw new TypeError("The body has already been consumed.")}if(i.locked){throw new TypeError("The stream is locked.")}i[B]=true;yield*i}}}function throwIfAborted(r){if(r.aborted){throw new v("The operation was aborted.","AbortError")}}function bodyMixinMethods(r){const i={blob(){return specConsumeBody(this,(r=>{let i=bodyMimeType(this);if(i==="failure"){i=""}else if(i){i=N(i)}return new w([r],{type:i})}),r)},arrayBuffer(){return specConsumeBody(this,(r=>new Uint8Array(r).buffer),r)},text(){return specConsumeBody(this,utf8DecodeBytes,r)},json(){return specConsumeBody(this,parseJSONFromBytes,r)},async formData(){b.brandCheck(this,r);throwIfAborted(this[y]);const i=this.headers.get("Content-Type");if(/multipart\/form-data/.test(i)){const r={};for(const[i,s]of this.headers)r[i.toLowerCase()]=s;const i=new g;let s;try{s=new a({headers:r,preservePath:true})}catch(r){throw new v(`${r}`,"AbortError")}s.on("field",((r,s)=>{i.append(r,s)}));s.on("file",((r,s,a,l,c)=>{const p=[];if(l==="base64"||l.toLowerCase()==="base64"){let l="";s.on("data",(r=>{l+=r.toString().replace(/[\r\n]/gm,"");const i=l.length-l.length%4;p.push(Buffer.from(l.slice(0,i),"base64"));l=l.slice(i)}));s.on("end",(()=>{p.push(Buffer.from(l,"base64"));i.append(r,new D(p,a,{type:c}))}))}else{s.on("data",(r=>{p.push(r)}));s.on("end",(()=>{i.append(r,new D(p,a,{type:c}))}))}}));const l=new Promise(((r,i)=>{s.on("finish",r);s.on("error",(r=>i(new TypeError(r))))}));if(this.body!==null)for await(const r of consumeBody(this[y].body))s.write(r);s.end();await l;return i}else if(/application\/x-www-form-urlencoded/.test(i)){let r;try{let i="";const s=new TextDecoder("utf-8",{ignoreBOM:true});for await(const r of consumeBody(this[y].body)){if(!_(r)){throw new TypeError("Expected Uint8Array chunk")}i+=s.decode(r,{stream:true})}i+=s.decode();r=new URLSearchParams(i)}catch(r){throw Object.assign(new TypeError,{cause:r})}const i=new g;for(const[s,a]of r){i.append(s,a)}return i}else{await Promise.resolve();throwIfAborted(this[y]);throw b.errors.exception({header:`${r.name}.formData`,message:"Could not parse content as FormData."})}}};return i}function mixinBody(r){Object.assign(r.prototype,bodyMixinMethods(r))}async function specConsumeBody(r,i,s){b.brandCheck(r,s);throwIfAborted(r[y]);if(bodyUnusable(r[y].body)){throw new TypeError("Body is unusable")}const a=A();const errorSteps=r=>a.reject(r);const successSteps=r=>{try{a.resolve(i(r))}catch(r){errorSteps(r)}};if(r[y].body==null){successSteps(new Uint8Array);return a.promise}await h(r[y].body,successSteps,errorSteps);return a.promise}function bodyUnusable(r){return r!=null&&(r.stream.locked||l.isDisturbed(r.stream))}function utf8DecodeBytes(r){if(r.length===0){return""}if(r[0]===239&&r[1]===187&&r[2]===191){r=r.subarray(3)}const i=P.decode(r);return i}function parseJSONFromBytes(r){return JSON.parse(utf8DecodeBytes(r))}function bodyMimeType(r){const{headersList:i}=r[y];const s=i.get("contentLine truncated
|
||||
/*! ws. MIT License. Einar Otto Stangvik <einaros@gmail.com> */c[l-4]=this.maskKey[0];c[l-3]=this.maskKey[1];c[l-2]=this.maskKey[2];c[l-1]=this.maskKey[3];c[1]=s;if(s===126){c.writeUInt16BE(i,2)}else if(s===127){c[2]=c[3]=0;c.writeUIntBE(i,4,6)}c[1]|=128;for(let r=0;r<i;r++){c[l+r]=this.frameData[r]^this.maskKey[r%4]}return c}}r.exports={WebsocketFrameSend:WebsocketFrameSend}},11688:(r,i,s)=>{"use strict";const{Writable:a}=s(12781);const l=s(67643);const{parserStates:c,opcodes:p,states:u,emptyBuffer:d}=s(19188);const{kReadyState:A,kSentClose:h,kResponse:g,kReceivedClose:y}=s(37578);const{isValidStatusCode:b,failWebsocketConnection:v,websocketMessageReceived:C}=s(25515);const{WebsocketFrameSend:w}=s(25444);const I={};I.ping=l.channel("undici:websocket:ping");I.pong=l.channel("undici:websocket:pong");class ByteParser extends a{#o=[];#a=0;#l=c.INFO;#c={};#p=[];constructor(r){super();this.ws=r}_write(r,i,s){this.#o.push(r);this.#a+=r.length;this.run(s)}run(r){while(true){if(this.#l===c.INFO){if(this.#a<2){return r()}const i=this.consume(2);this.#c.fin=(i[0]&128)!==0;this.#c.opcode=i[0]&15;this.#c.originalOpcode??=this.#c.opcode;this.#c.fragmented=!this.#c.fin&&this.#c.opcode!==p.CONTINUATION;if(this.#c.fragmented&&this.#c.opcode!==p.BINARY&&this.#c.opcode!==p.TEXT){v(this.ws,"Invalid frame type was fragmented.");return}const s=i[1]&127;if(s<=125){this.#c.payloadLength=s;this.#l=c.READ_DATA}else if(s===126){this.#l=c.PAYLOADLENGTH_16}else if(s===127){this.#l=c.PAYLOADLENGTH_64}if(this.#c.fragmented&&s>125){v(this.ws,"Fragmented frame exceeded 125 bytes.");return}else if((this.#c.opcode===p.PING||this.#c.opcode===p.PONG||this.#c.opcode===p.CLOSE)&&s>125){v(this.ws,"Payload length for control frame exceeded 125 bytes.");return}else if(this.#c.opcode===p.CLOSE){if(s===1){v(this.ws,"Received close frame with a 1-byte body.");return}const r=this.consume(s);this.#c.closeInfo=this.parseCloseBody(false,r);if(!this.ws[h]){const r=Buffer.allocUnsafe(2);r.writeUInt16BE(this.#c.closeInfo.code,0);const i=new w(r);this.ws[g].socket.write(i.createFrame(p.CLOSE),(r=>{if(!r){this.ws[h]=true}}))}this.ws[A]=u.CLOSING;this.ws[y]=true;this.end();return}else if(this.#c.opcode===p.PING){const i=this.consume(s);if(!this.ws[y]){const r=new w(i);this.ws[g].socket.write(r.createFrame(p.PONG));if(I.ping.hasSubscribers){I.ping.publish({payload:i})}}this.#l=c.INFO;if(this.#a>0){continue}else{r();return}}else if(this.#c.opcode===p.PONG){const i=this.consume(s);if(I.pong.hasSubscribers){I.pong.publish({payload:i})}if(this.#a>0){continue}else{r();return}}}else if(this.#l===c.PAYLOADLENGTH_16){if(this.#a<2){return r()}const i=this.consume(2);this.#c.payloadLength=i.readUInt16BE(0);this.#l=c.READ_DATA}else if(this.#l===c.PAYLOADLENGTH_64){if(this.#a<8){return r()}const i=this.consume(8);const s=i.readUInt32BE(0);if(s>2**31-1){v(this.ws,"Received payload length > 2^31 bytes.");return}const a=i.readUInt32BE(4);this.#c.payloadLength=(s<<8)+a;this.#l=c.READ_DATA}else if(this.#l===c.READ_DATA){if(this.#a<this.#c.payloadLength){return r()}else if(this.#a>=this.#c.payloadLength){const r=this.consume(this.#c.payloadLength);this.#p.push(r);if(!this.#c.fragmented||this.#c.fin&&this.#c.opcode===p.CONTINUATION){const r=Buffer.concat(this.#p);C(this.ws,this.#c.originalOpcode,r);this.#c={};this.#p.length=0}this.#l=c.INFO}}if(this.#a>0){continue}else{r();break}}}consume(r){if(r>this.#a){return null}else if(r===0){return d}if(this.#o[0].length===r){this.#a-=this.#o[0].length;return this.#o.shift()}const i=Buffer.allocUnsafe(r);let s=0;while(s!==r){const a=this.#o[0];const{length:l}=a;if(l+s===r){i.set(this.#o.shift(),s);break}else if(l+s>r){i.set(a.subarray(0,r-s),s);this.#o[0]=a.subarray(r-s);break}else{i.set(this.#o.shift(),s);s+=a.length}}this.#a-=r;return i}parseCloseBody(r,i){let s;if(i.length>=2){s=i.readUInt16BE(0)}if(r){if(!b(s)){return null}return{code:s}}let a=i.subarray(2);if(a[0]===239&&a[1]===187&&a[2]===191){a=a.subarray(3)}if(s!==undefined&&!b(s)){return null}try{a=new TextDecoder("utf-8",{fatal:true}).decode(a)}catch{return null}return{code:s,reason:a}}get closingInfo(){return this.#c.closeInfo}}r.exports={ByteParser:ByteParser}},37578:r=>{"use strict";r.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")}},25515:(r,i,s)=>{"use strict";const{kReadyState:a,kController:l,kResponse:c,kBinaryType:p,kWebSocketURL:u}=s(37578);const{states:d,opcodes:A}=s(19188);const{MessageEvent:h,ErrorEvent:g}=s(52611);function isEstablished(r){return r[a]===d.OPEN}function isClosing(r){return r[a]===d.CLOSING}function isClosed(r){return r[a]===d.CLOSED}function fireEvent(r,i,s=Event,a){const l=new s(r,a);i.dispatchEvent(l)}function websocketMessageReceived(r,i,s){if(r[a]!==d.OPEN){return}let l;if(i===A.TEXT){try{l=new TextDecoder("utf-8",{fatal:trueLine truncated
|
||||
*/const A=p(79896);const w=p(70857);const C=p(16928);const S=p(76982);const v={fs:A.constants,os:w.constants};const B="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz",_=/XXXXXX/,T=3,N=(v.O_CREAT||v.fs.O_CREAT)|(v.O_EXCL||v.fs.O_EXCL)|(v.O_RDWR||v.fs.O_RDWR),x=w.platform()==="win32",k=v.EBADF||v.os.errno.EBADF,O=v.ENOENT||v.os.errno.ENOENT,D=448,Q=384,P="exit",L=[],U=A.rmdirSync.bind(A);let H=false;function rimraf(i,u){return A.rm(i,{recursive:true},u)}function FN_RIMRAF_SYNC(i){return A.rmSync(i,{recursive:true})}function tmpName(i,u){const p=_parseArguments(i,u),g=p[0],w=p[1];_assertAndSanitizeOptions(g,(function(i,u){if(i)return w(i);let p=u.tries;(function _getUniqueName(){try{const i=_generateTmpName(u);A.stat(i,(function(u){if(!u){if(p-- >0)return _getUniqueName();return w(new Error("Could not get a unique tmp filename, max tries reached "+i))}w(null,i)}))}catch(i){w(i)}})()}))}function tmpNameSync(i){const u=_parseArguments(i),p=u[0];const g=_assertAndSanitizeOptionsSync(p);let w=g.tries;do{const i=_generateTmpName(g);try{A.statSync(i)}catch(u){return i}}while(w-- >0);throw new Error("Could not get a unique tmp filename, max tries reached")}function file(i,u){const p=_parseArguments(i,u),g=p[0],w=p[1];tmpName(g,(function _tmpNameCreated(i,u){if(i)return w(i);A.open(u,N,g.mode||Q,(function _fileCreated(i,p){if(i)return w(i);if(g.discardDescriptor){return A.close(p,(function _discardCallback(i){return w(i,u,undefined,_prepareTmpFileRemoveCallback(u,-1,g,false))}))}else{const i=g.discardDescriptor||g.detachDescriptor;w(null,u,p,_prepareTmpFileRemoveCallback(u,i?-1:p,g,false))}}))}))}function fileSync(i){const u=_parseArguments(i),p=u[0];const g=p.discardDescriptor||p.detachDescriptor;const w=tmpNameSync(p);let C=A.openSync(w,N,p.mode||Q);if(p.discardDescriptor){A.closeSync(C);C=undefined}return{name:w,fd:C,removeCallback:_prepareTmpFileRemoveCallback(w,g?-1:C,p,true)}}function dir(i,u){const p=_parseArguments(i,u),g=p[0],w=p[1];tmpName(g,(function _tmpNameCreated(i,u){if(i)return w(i);A.mkdir(u,g.mode||D,(function _dirCreated(i){if(i)return w(i);w(null,u,_prepareTmpDirRemoveCallback(u,g,false))}))}))}function dirSync(i){const u=_parseArguments(i),p=u[0];const g=tmpNameSync(p);A.mkdirSync(g,p.mode||D);return{name:g,removeCallback:_prepareTmpDirRemoveCallback(g,p,true)}}function _removeFileAsync(i,u){const _handler=function(i){if(i&&!_isENOENT(i)){return u(i)}u()};if(0<=i[0])A.close(i[0],(function(){A.unlink(i[1],_handler)}));else A.unlink(i[1],_handler)}function _removeFileSync(i){let u=null;try{if(0<=i[0])A.closeSync(i[0])}catch(i){if(!_isEBADF(i)&&!_isENOENT(i))throw i}finally{try{A.unlinkSync(i[1])}catch(i){if(!_isENOENT(i))u=i}}if(u!==null){throw u}}function _prepareTmpFileRemoveCallback(i,u,p,g){const A=_prepareRemoveCallback(_removeFileSync,[u,i],g);const w=_prepareRemoveCallback(_removeFileAsync,[u,i],g,A);if(!p.keep)L.unshift(A);return g?A:w}function _prepareTmpDirRemoveCallback(i,u,p){const g=u.unsafeCleanup?rimraf:A.rmdir.bind(A);const w=u.unsafeCleanup?FN_RIMRAF_SYNC:U;const C=_prepareRemoveCallback(w,i,p);const S=_prepareRemoveCallback(g,i,p,C);if(!u.keep)L.unshift(C);return p?C:S}function _prepareRemoveCallback(i,u,p,g){let A=false;return function _cleanupCallback(w){if(!A){const C=g||_cleanupCallback;const S=L.indexOf(C);if(S>=0)L.splice(S,1);A=true;if(p||i===U||i===FN_RIMRAF_SYNC){return i(u)}else{return i(u,w||function(){})}}}}function _garbageCollector(){if(!H)return;while(L.length){try{L[0]()}catch(i){}}}function _randomChars(i){let u=[],p=null;try{p=S.randomBytes(i)}catch(u){p=S.pseudoRandomBytes(i)}for(let g=0;g<i;g++){u.push(B[p[g]%B.length])}return u.join("")}function _isUndefined(i){return typeof i==="undefined"}function _parseArguments(i,u){if(typeof i==="function"){return[{},i]}if(_isUndefined(i)){return[{},u]}const p={};for(const u of Object.getOwnPropertyNames(i)){p[u]=i[u]}return[p,u]}function _resolvePath(i,u,p){const g=C.isAbsolute(i)?i:C.join(u,i);A.stat(g,(function(i){if(i){A.realpath(C.dirname(g),(function(i,u){if(i)return p(i);p(null,C.join(u,C.basename(g)))}))}else{A.realpath(g,p)}}))}function _resolvePathSync(i,u){const p=C.isAbsolute(i)?i:C.join(u,i);try{A.statSync(p);return A.realpathSync(p)}catch(i){const u=A.realpathSync(C.dirname(p));return C.join(u,C.basename(p))}}function _generateTmpName(i){const u=i.tmpdir;if(!_isUndefined(i.name)){return C.join(u,i.dir,i.name)}if(!_isUndefined(i.template)){return C.join(u,i.dir,i.template).replace(_,_randomChars(6))}const p=[i.prefix?i.prefix:"tmp","-",process.pid,"-",_randomChars(12),i.postfix?"-"+i.postfix:""].join("");return C.join(u,i.dir,p)}function _assertOptionsBase(i){if(!_isUndefined(i.name)){const u=i.name;if(C.isAbsolute(u))throw new Error(`name option must not contain an absolute path, found "${u}".`);const p=C.basename(u);if(p===".."||p==="."||p!==u)throw new Error(`name option must not contain a path, found "${u}".`)}if(!_isUndefined(i.template)&&!i.template.match(_)){throw new Error(`Invalid teLine truncated
|
||||
/**
|
||||
* @license
|
||||
* Copyright (c) 2010-2012 Mikeal Rogers
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
* Unless required by applicable law or agreed to in writing,
|
||||
* software distributed under the License is distributed on an "AS
|
||||
* IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
|
||||
* express or implied. See the License for the specific language
|
||||
* governing permissions and limitations under the License.
|
||||
*/if(new C.URL(i.url).hostname!==S.hostname){i.headers.delete("authorization");i.headers.delete("cookie")}if(u.status===303||i.method==="POST"&&[301,302].includes(u.status)){g.method="GET";g.body=null;i.headers.delete("content-length")}g.headers={};i.headers.forEach(((i,u)=>{g.headers[u]=i}));g.counter=++i.counter;const v=new A(C.format(S),g);return{request:v,options:g}};const fetch=async(i,u)=>{const p=S.storable(i,u)?await v(i,u):await B(i,u);if(!["GET","HEAD"].includes(i.method)&&p.status>=200&&p.status<=399){await v.invalidate(i,u)}if(!canFollowRedirect(i,p,u)){return p}const g=getRedirect(i,p,u);return fetch(g.request,g.options)};i.exports=fetch},26661:(i,u,p)=>{const{FetchError:g,Headers:A,Request:w,Response:C}=p(88483);const S=p(87380);const v=p(58197);const makeFetchHappen=(i,u)=>{const p=S(u);const g=new w(i,p);return v(g,p)};makeFetchHappen.defaults=(i,u={},p=makeFetchHappen)=>{if(typeof i==="object"){u=i;i=null}const defaultedFetch=(g,A={})=>{const w=g||i;const C={...u,...A,headers:{...u.headers,...A.headers}};return p(w,C)};defaultedFetch.defaults=(i,u={})=>makeFetchHappen.defaults(i,u,defaultedFetch);return defaultedFetch};i.exports=makeFetchHappen;i.exports.FetchError=g;i.exports.Headers=A;i.exports.Request=w;i.exports.Response=C},87380:(i,u,p)=>{const g=p(72250);const A=["if-modified-since","if-none-match","if-unmodified-since","if-match","if-range"];const configureOptions=i=>{const{strictSSL:u,...p}={...i};p.method=p.method?p.method.toUpperCase():"GET";if(u===undefined||u===null){p.rejectUnauthorized=process.env.NODE_TLS_REJECT_UNAUTHORIZED!=="0"}else{p.rejectUnauthorized=u!==false}if(!p.retry){p.retry={retries:0}}else if(typeof p.retry==="string"){const i=parseInt(p.retry,10);if(isFinite(i)){p.retry={retries:i}}else{p.retry={retries:0}}}else if(typeof p.retry==="number"){p.retry={retries:p.retry}}else{p.retry={retries:0,...p.retry}}p.dns={ttl:5*60*1e3,lookup:g.lookup,...p.dns};p.cache=p.cache||"default";if(p.cache==="default"){const i=Object.keys(p.headers||{}).some((i=>A.includes(i.toLowerCase())));if(i){p.cache="no-store"}}p.cacheAdditionalHeaders=p.cacheAdditionalHeaders||[];if(p.cacheManager&&!p.cachePath){p.cachePath=p.cacheManager}return p};i.exports=configureOptions},78551:(i,u,p)=>{const g=p(52899);class CachingMinipassPipeline extends g{#a=[];#c=new Map;constructor(i,...u){super();this.#a=i.events;if(u.length){this.push(...u)}}on(i,u){if(this.#a.includes(i)&&this.#c.has(i)){return u(...this.#c.get(i))}return super.on(i,u)}emit(i,...u){if(this.#a.includes(i)){this.#c.set(i,u)}return super.emit(i,...u)}}i.exports=CachingMinipassPipeline},72171:(i,u,p)=>{const{Minipass:g}=p(78275);const A=p(88483);const{promiseRetry:w}=p(49498);const C=p(68951);const{log:S}=p(26687);const v=p(78551);const{getAgent:B}=p(57995);const _=p(22973);const T=`${_.name}/${_.version} (+https://npm.im/${_.name})`;const N=["ECONNRESET","ECONNREFUSED","EADDRINUSE","ETIMEDOUT","ECONNECTIONTIMEOUT","EIDLETIMEOUT","ERESPONSETIMEOUT","ETRANSFERTIMEOUT"];const x=["request-timeout"];const remoteFetch=(i,u)=>{const p=B(i.url,{...u,signal:undefined});if(!i.headers.has("connection")){i.headers.set("connection",p?"keep-alive":"close")}if(!i.headers.has("user-agent")){i.headers.set("user-agent",T)}const _={...u,agent:p,redirect:"manual"};return w((async(p,w)=>{const B=new A.Request(i,_);try{let i=await A(B,_);if(_.integrity&&i.status===200){const u=C.integrityStream({algorithms:_.algorithms,integrity:_.integrity,size:_.size});const p=new v({events:["integrity","size"]},i.body,u);u.on("integrity",(i=>p.emit("integrity",i)));u.on("size",(i=>p.emit("size",i)));i=new A.Response(p,i);i.body.hasIntegrityEmitter=true}i.headers.set("x-fetch-attempts",w);const T=g.isStream(B.body);const N=B.method!=="POST"&&!T&&([408,420,429].includes(i.status)||i.status>=500);if(N){if(typeof u.onRetry==="function"){u.onRetry(i)}S.http("fetch",`${B.method} ${B.url} attempt ${w} failed with ${i.status}`);return p(i)}return i}catch(i){const g=i.code==="EPROMISERETRY"?i.retried.code:i.code;const C=i.retried instanceof A.Response||N.includes(g)&&x.includes(i.type);if(B.method==="POST"||C){throw i}if(typeof u.onRetry==="function"){u.onRetry(i)}S.http("fetch",`${B.method} ${B.url} attempt ${w} failed with ${i.code}`);return p(i)}}),u.retry).catch((i=>{if(i.status>=400&&i.type!=="system"){return i}throw i}))};i.exports=remoteFetch},62317:i=>{var u=1e3;var p=u*60;var g=p*60;var A=g*24;var w=A*7;var C=A*365.25;i.exports=function(i,u){u=u||{};var p=typeof i;if(p==="string"&&i.length>0){return parse(i)}else if(p==="number"&&isFinite(i)){return u.long?fmtLong(i):fmtShort(i)}throw new Error("val is not a non-empty string or a valid number. val="+JSON.stringify(i))};function parse(i){i=String(i);if(i.length>100){return}var S=/^(-?(?:\d+)?\.?\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)?$/i.exec(i);if(!S){return}var v=parseFloat(S[1]);var B=(S[2]||"ms").toLowerCase();switch(B){case"years":case"yea
Line 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 g=[];const A=new Uint8Array([13,10]);_=0;let w=false;for(const[u,C]of i){if(typeof C==="string"){const i=q.encode(p+`; name="${escape(normalizeLinefeeds(u))}"`+`\r\n\r\n${normalizeLinefeeds(C)}\r\n`);g.push(i);_+=i.byteLength}else{const i=q.encode(`${p}; name="${escape(normalizeLinefeeds(u))}"`+(C.name?`; filename="${escape(C.name)}"`:"")+"\r\n"+`Content-Type: ${C.type||"application/octet-stream"}\r\n\r\n`);g.push(i,C,A);if(typeof C.size==="number"){_+=i.byteLength+C.size+A.byteLength}else{w=true}}}const C=q.encode(`--${u}--\r\n`);g.push(C);_+=C.byteLength;if(w){_=null}B=i;v=async function*(){for(const i of g){if(i.stream){yield*i.stream()}else{yield i}}};T=`multipart/form-data; boundary=${u}`}else if(w(i)){B=i;_=i.size;if(i.type){T=i.type}}else if(typeof i[Symbol.asyncIterator]==="function"){if(u){throw new TypeError("keepalive")}if(g.isDisturbed(i)||i.locked){throw new TypeError("Response body object should not be disturbed or locked")}p=i instanceof ReadableStream?i:A(i)}if(typeof B==="string"||g.isBuffer(B)){_=Buffer.byteLength(B)}if(v!=null){let u;p=new ReadableStream({async start(){u=v(i)[Symbol.asyncIterator]()},async pull(i){const{value:g,done:A}=await u.next();if(A){queueMicrotask((()=>{i.close();i.byobRequest?.respond(0)}))}else{if(!Q(p)){const u=new Uint8Array(g);if(u.byteLength){i.enqueue(u)}}}return i.desiredSize>0},async cancel(i){await u.return()},type:"bytes"})}const N={stream:p,source:B,length:_};return[N,T]}function safelyExtractBody(i,u=false){if(i instanceof ReadableStream){D(!g.isDisturbed(i),"The body has already been consumed.");D(!i.locked,"The stream is locked.")}return extractBody(i,u)}function cloneBody(i,u){const[p,g]=u.stream.tee();u.stream=p;return{stream:g,length:u.length,source:u.source}}function throwIfAborted(i){if(i.aborted){throw new DOMException("The operation was aborted.","AbortError")}}function bodyMixinMethods(i){const u={blob(){return consumeBody(this,(i=>{let u=bodyMimeType(this);if(u===null){u=""}else if(u){u=U(u)}return new O([i],{type:u})}),i)},arrayBuffer(){return consumeBody(this,(i=>new Uint8Array(i).buffer),i)},text(){return consumeBody(this,T,i)},json(){return consumeBody(this,parseJSONFromBytes,i)},formData(){return consumeBody(this,(i=>{const u=bodyMimeType(this);if(u!==null){switch(u.essence){case"multipart/form-data":{const p=H(i,u);if(p==="failure"){throw new TypeError("Failed to parse body as FormData.")}const g=new N;g[x]=p;return g}case"application/x-www-form-urlencoded":{const u=new URLSearchParams(i.toString());const p=new N;for(const[i,g]of u){p.append(i,g)}return p}}}throw new TypeError('Content-Type was not one of "multipart/form-data" or "application/x-www-form-urlencoded".')}),i)},bytes(){return consumeBody(this,(i=>new Uint8Array(i)),i)}};return u}function mixinBody(i){Object.assign(i.prototype,bodyMixinMethods(i))}async function consumeBody(i,u,p){k.brandCheck(i,p);if(bodyUnusable(i)){throw new TypeError("Body is unusable: Body has already been read")}throwIfAborted(i[x]);const g=v();const errorSteps=i=>g.reject(i);const successSteps=i=>{try{g.resolve(u(i))}catch(i){errorSteps(i)}};if(i[x].body==null){successSteps(Buffer.allocUnsafe(0));return g.promise}await B(i[x].body,successSteps,errorSteps);return g.promise}function bodyUnusable(i){const u=i[x].body;return u!=null&&(u.stream.locked||g.isDisturbed(u.stream))}function parseJSONFromBytes(i){return JSON.parse(T(i))}function bodyMimeType(i){const u=i[x].headersList;const p=_(u);if(p==="failure"){return null}return p}i.exports={extractBody:extractBody,safelyExtractBody:safelyExtractBody,cloneBody:cloneBody,mixinBody:mixinBody,streamRegistry:$,hasFinalizationRegistry:z,bodyUnusable:bodyUnusable}},4495:i=>{const u=["GET","HEAD","POST"];const p=new Set(u);const g=[101,204,205,304];const A=[301,302,303,307,308];const w=new Set(A);const C=["1","7","9","11","13","15","17","19","20","21","22","23","25","37","42","43","53","69","77","79","87","95","101","102","103","104","109","110","111","113","115","117","119","123","135","137","139","143","161","179","389","427","465","512","513","514","515","526","530","531","532","540","548","554","556","563","587","601","636","989","990","993","995","1719","1720","1723","2049","3659","4045","4190","5060","5061","6000","6566","6665","6666","6667","6668","6669","6679","6697","10080"];const S=new Set(C);const v=["","no-referrer","no-referrer-when-downgrade","same-origin","origin","strict-origin","origin-when-cross-origin","strict-origin-when-cross-origin","unsafe-url"];const B=new Set(v);const _=["follow","manual","error"];const T=["GET","HEAD","OPTIONS","TRACE"];const N=new Set(T);const x=["navigate","same-origin","no-cors","cors"];const k=["omit","same-origin","include"];const O=["default","no-store","reload","no-cache","force-cLine truncated
|
||||
/*! ws. MIT License. Einar Otto Stangvik <einaros@gmail.com> */S[C-4]=p[0];S[C-3]=p[1];S[C-2]=p[2];S[C-1]=p[3];S[1]=w;if(w===126){S.writeUInt16BE(A,2)}else if(w===127){S[2]=S[3]=0;S.writeUIntBE(A,4,6)}S[1]|=128;for(let i=0;i<A;++i){S[C+i]=u[i]^p[i&3]}return S}}i.exports={WebsocketFrameSend:WebsocketFrameSend}},19469:(i,u,p)=>{const{createInflateRaw:g,Z_DEFAULT_WINDOWBITS:A}=p(38522);const{isValidClientWindowBits:w}=p(98625);const{MessageSizeExceededError:C}=p(68707);const S=Buffer.from([0,0,255,255]);const v=Symbol("kBuffer");const B=Symbol("kLength");const _=4*1024*1024;class PerMessageDeflate{#ce;#e={};#M=false;#le=null;constructor(i){this.#e.serverNoContextTakeover=i.has("server_no_context_takeover");this.#e.serverMaxWindowBits=i.get("server_max_window_bits")}decompress(i,u,p){if(this.#M){p(new C);return}if(!this.#ce){let i=A;if(this.#e.serverMaxWindowBits){if(!w(this.#e.serverMaxWindowBits)){p(new Error("Invalid server_max_window_bits"));return}i=Number.parseInt(this.#e.serverMaxWindowBits)}try{this.#ce=g({windowBits:i})}catch(i){p(i);return}this.#ce[v]=[];this.#ce[B]=0;this.#ce.on("data",(i=>{if(this.#M){return}this.#ce[B]+=i.length;if(this.#ce[B]>_){this.#M=true;this.#ce.removeAllListeners();this.#ce.destroy();this.#ce=null;if(this.#le){const i=this.#le;this.#le=null;i(new C)}return}this.#ce[v].push(i)}));this.#ce.on("error",(i=>{this.#ce=null;p(i)}))}this.#le=p;this.#ce.write(i);if(u){this.#ce.write(S)}this.#ce.flush((()=>{if(this.#M||!this.#ce){return}const i=Buffer.concat(this.#ce[v],this.#ce[B]);this.#ce[v].length=0;this.#ce[B]=0;this.#le=null;p(null,i)}))}}i.exports={PerMessageDeflate:PerMessageDeflate}},81652:(i,u,p)=>{const{Writable:g}=p(57075);const A=p(34589);const{parserStates:w,opcodes:C,states:S,emptyBuffer:v,sentCloseFrameState:B}=p(20736);const{kReadyState:_,kSentClose:T,kResponse:N,kReceivedClose:x}=p(61216);const{channels:k}=p(42414);const{isValidStatusCode:O,isValidOpcode:D,failWebsocketConnection:Q,websocketMessageReceived:P,utf8Decode:L,isControlFrame:U,isTextBinaryFrame:H,isContinuationFrame:j}=p(98625);const{WebsocketFrameSend:q}=p(3264);const{closeWebSocketConnection:z}=p(86897);const{PerMessageDeflate:$}=p(19469);class ByteParser extends g{#ue=[];#de=0;#he=false;#O=w.INFO;#fe={};#pe=[];#ge;constructor(i,u){super();this.ws=i;this.#ge=u==null?new Map:u;if(this.#ge.has("permessage-deflate")){this.#ge.set("permessage-deflate",new $(u))}}_write(i,u,p){this.#ue.push(i);this.#de+=i.length;this.#he=true;this.run(p)}run(i){while(this.#he){if(this.#O===w.INFO){if(this.#de<2){return i()}const u=this.consume(2);const p=(u[0]&128)!==0;const g=u[0]&15;const A=(u[1]&128)===128;const S=!p&&g!==C.CONTINUATION;const v=u[1]&127;const B=u[0]&64;const _=u[0]&32;const T=u[0]&16;if(!D(g)){Q(this.ws,"Invalid opcode received");return i()}if(A){Q(this.ws,"Frame cannot be masked");return i()}if(B!==0&&!this.#ge.has("permessage-deflate")){Q(this.ws,"Expected RSV1 to be clear.");return}if(_!==0||T!==0){Q(this.ws,"RSV1, RSV2, RSV3 must be clear");return}if(S&&!H(g)){Q(this.ws,"Invalid frame type was fragmented.");return}if(H(g)&&this.#pe.length>0){Q(this.ws,"Expected continuation frame");return}if(this.#fe.fragmented&&S){Q(this.ws,"Fragmented frame exceeded 125 bytes.");return}if((v>125||S)&&U(g)){Q(this.ws,"Control frame either too large or fragmented");return}if(j(g)&&this.#pe.length===0&&!this.#fe.compressed){Q(this.ws,"Unexpected continuation frame");return}if(v<=125){this.#fe.payloadLength=v;this.#O=w.READ_DATA}else if(v===126){this.#O=w.PAYLOADLENGTH_16}else if(v===127){this.#O=w.PAYLOADLENGTH_64}if(H(g)){this.#fe.binaryType=g;this.#fe.compressed=B!==0}this.#fe.opcode=g;this.#fe.masked=A;this.#fe.fin=p;this.#fe.fragmented=S}else if(this.#O===w.PAYLOADLENGTH_16){if(this.#de<2){return i()}const u=this.consume(2);this.#fe.payloadLength=u.readUInt16BE(0);this.#O=w.READ_DATA}else if(this.#O===w.PAYLOADLENGTH_64){if(this.#de<8){return i()}const u=this.consume(8);const p=u.readUInt32BE(0);const g=u.readUInt32BE(4);if(p!==0||g>2**31-1){Q(this.ws,"Received payload length > 2^31 bytes.");return}this.#fe.payloadLength=g;this.#O=w.READ_DATA}else if(this.#O===w.READ_DATA){if(this.#de<this.#fe.payloadLength){return i()}const u=this.consume(this.#fe.payloadLength);if(U(this.#fe.opcode)){this.#he=this.parseControlFrame(u);this.#O=w.INFO}else{if(!this.#fe.compressed){this.#pe.push(u);if(!this.#fe.fragmented&&this.#fe.fin){const i=Buffer.concat(this.#pe);P(this.ws,this.#fe.binaryType,i);this.#pe.length=0}this.#O=w.INFO}else{this.#ge.get("permessage-deflate").decompress(u,this.#fe.fin,((u,p)=>{if(u){Q(this.ws,u.message);return}this.#pe.push(p);if(!this.#fe.fin){this.#O=w.INFO;this.#he=true;this.run(i);return}P(this.ws,this.#fe.binaryType,Buffer.concat(this.#pe));this.#he=true;this.#O=w.INFO;this.#pe.length=0;this.run(i)}));this.#he=false;break}}}}}consume(i){if(i>this.#de){throw new Error("Called consume() before buffers satiated.")}else if(i===0){return v}if(this.#ue[0].length===i){this.#de-=this.#ue[0].length;return tLine truncated
|
||||
/**
|
||||
* ZipStream
|
||||
*
|
||||
@@ -99,5 +125,12 @@ const a=s(57147);const l=s(22037);const c=s(71017);const p=s(6113);const u={fs:a
|
||||
* @license [MIT]{@link https://github.com/archiverjs/node-zip-stream/blob/master/LICENSE}
|
||||
* @copyright (c) 2014 Chris Talkington, contributors.
|
||||
*/
|
||||
var a=s(73837).inherits;var l=s(25445).ZipArchiveOutputStream;var c=s(25445).ZipArchiveEntry;var p=s(82072);var u=r.exports=function(r){if(!(this instanceof u)){return new u(r)}r=this.options=r||{};r.zlib=r.zlib||{};l.call(this,r);if(typeof r.level==="number"&&r.level>=0){r.zlib.level=r.level;delete r.level}if(!r.forceZip64&&typeof r.zlib.level==="number"&&r.zlib.level===0){r.store=true}r.namePrependSlash=r.namePrependSlash||false;if(r.comment&&r.comment.length>0){this.setComment(r.comment)}};a(u,l);u.prototype._normalizeFileData=function(r){r=p.defaults(r,{type:"file",name:null,namePrependSlash:this.options.namePrependSlash,linkname:null,date:null,mode:null,store:this.options.store,comment:""});var i=r.type==="directory";var s=r.type==="symlink";if(r.name){r.name=p.sanitizePath(r.name);if(!s&&r.name.slice(-1)==="/"){i=true;r.type="directory"}else if(i){r.name+="/"}}if(i||s){r.store=true}r.date=p.dateify(r.date);return r};u.prototype.entry=function(r,i,s){if(typeof s!=="function"){s=this._emitErrorCallback.bind(this)}i=this._normalizeFileData(i);if(i.type!=="file"&&i.type!=="directory"&&i.type!=="symlink"){s(new Error(i.type+" entries not currently supported"));return}if(typeof i.name!=="string"||i.name.length===0){s(new Error("entry name must be a non-empty string value"));return}if(i.type==="symlink"&&typeof i.linkname!=="string"){s(new Error("entry linkname must be a non-empty string value when type equals symlink"));return}var a=new c(i.name);a.setTime(i.date,this.options.forceLocalTime);if(i.namePrependSlash){a.setName(i.name,true)}if(i.store){a.setMethod(0)}if(i.comment.length>0){a.setComment(i.comment)}if(i.type==="symlink"&&typeof i.mode!=="number"){i.mode=40960}if(typeof i.mode==="number"){if(i.type==="symlink"){i.mode|=40960}a.setUnixMode(i.mode)}if(i.type==="symlink"&&typeof i.linkname==="string"){r=Buffer.from(i.linkname)}return l.prototype.entry.call(this,a,r,s)};u.prototype.finalize=function(){this.finish()}},98954:function(r,i,s){"use strict";var a=this&&this.__createBinding||(Object.create?function(r,i,s,a){if(a===undefined)a=s;var l=Object.getOwnPropertyDescriptor(i,s);if(!l||("get"in l?!i.__esModule:l.writable||l.configurable)){l={enumerable:true,get:function(){return i[s]}}}Object.defineProperty(r,a,l)}:function(r,i,s,a){if(a===undefined)a=s;r[a]=i[s]});var l=this&&this.__setModuleDefault||(Object.create?function(r,i){Object.defineProperty(r,"default",{enumerable:true,value:i})}:function(r,i){r["default"]=i});var c=this&&this.__importStar||function(r){if(r&&r.__esModule)return r;var i={};if(r!=null)for(var s in r)if(s!=="default"&&Object.prototype.hasOwnProperty.call(r,s))a(i,r,s);l(i,r);return i};var p=this&&this.__awaiter||function(r,i,s,a){function adopt(r){return r instanceof s?r:new s((function(i){i(r)}))}return new(s||(s=Promise))((function(s,l){function fulfilled(r){try{step(a.next(r))}catch(r){l(r)}}function rejected(r){try{step(a["throw"](r))}catch(r){l(r)}}function step(r){r.done?s(r.value):adopt(r.value).then(fulfilled,rejected)}step((a=a.apply(r,i||[])).next())}))};Object.defineProperty(i,"__esModule",{value:true});i.getArgs=i.sanitizeInputs=i.getInputs=void 0;const u=c(s(42186));const d=c(s(97492));const A=s(57622);const h=s(54051);const g=s(6276);const y=s(28662);function getInputs(){return p(this,void 0,void 0,(function*(){return{"add-hosts":y.Util.getInputList("add-hosts"),allow:y.Util.getInputList("allow"),annotations:y.Util.getInputList("annotations",{ignoreComma:true}),attests:y.Util.getInputList("attests",{ignoreComma:true}),"build-args":y.Util.getInputList("build-args",{ignoreComma:true}),"build-contexts":y.Util.getInputList("build-contexts",{ignoreComma:true}),builder:u.getInput("builder"),"cache-from":y.Util.getInputList("cache-from",{ignoreComma:true}),"cache-to":y.Util.getInputList("cache-to",{ignoreComma:true}),"cgroup-parent":u.getInput("cgroup-parent"),context:u.getInput("context")||h.Context.gitContext(),file:u.getInput("file"),labels:y.Util.getInputList("labels",{ignoreComma:true}),load:u.getBooleanInput("load"),network:u.getInput("network"),"no-cache":u.getBooleanInput("no-cache"),"no-cache-filters":y.Util.getInputList("no-cache-filters"),outputs:y.Util.getInputList("outputs",{ignoreComma:true,quote:false}),platforms:y.Util.getInputList("platforms"),provenance:A.Build.getProvenanceInput("provenance"),pull:u.getBooleanInput("pull"),push:u.getBooleanInput("push"),sbom:u.getInput("sbom"),secrets:y.Util.getInputList("secrets",{ignoreComma:true}),"secret-envs":y.Util.getInputList("secret-envs"),"secret-files":y.Util.getInputList("secret-files",{ignoreComma:true}),"shm-size":u.getInput("shm-size"),ssh:y.Util.getInputList("ssh"),tags:y.Util.getInputList("tags"),target:u.getInput("target"),ulimit:y.Util.getInputList("ulimit",{ignoreComma:true}),"github-token":u.getInput("github-token")}}))}i.getInputs=getInputs;function sanitizeInputs(r){const i={};for(const s of Object.keys(r)){if(s==="github-token"){continue}const a=r[s];if(typeof a==="boolean"&&a===false){continLine truncated
|
||||
var g=p(39023).inherits;var A=p(47544).ZipArchiveOutputStream;var w=p(47544).ZipArchiveEntry;var C=p(53296);var S=i.exports=function(i){if(!(this instanceof S)){return new S(i)}i=this.options=i||{};i.zlib=i.zlib||{};A.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)}};g(S,A);S.prototype._normalizeFileData=function(i){i=C.defaults(i,{type:"file",name:null,namePrependSlash:this.options.namePrependSlash,linkname:null,date:null,mode:null,store:this.options.store,comment:""});var u=i.type==="directory";var p=i.type==="symlink";if(i.name){i.name=C.sanitizePath(i.name);if(!p&&i.name.slice(-1)==="/"){u=true;i.type="directory"}else if(u){i.name+="/"}}if(u||p){i.store=true}i.date=C.dateify(i.date);return i};S.prototype.entry=function(i,u,p){if(typeof p!=="function"){p=this._emitErrorCallback.bind(this)}u=this._normalizeFileData(u);if(u.type!=="file"&&u.type!=="directory"&&u.type!=="symlink"){p(new Error(u.type+" entries not currently supported"));return}if(typeof u.name!=="string"||u.name.length===0){p(new Error("entry name must be a non-empty string value"));return}if(u.type==="symlink"&&typeof u.linkname!=="string"){p(new Error("entry linkname must be a non-empty string value when type equals symlink"));return}var g=new w(u.name);g.setTime(u.date,this.options.forceLocalTime);if(u.namePrependSlash){g.setName(u.name,true)}if(u.store){g.setMethod(0)}if(u.comment.length>0){g.setComment(u.comment)}if(u.type==="symlink"&&typeof u.mode!=="number"){u.mode=40960}if(typeof u.mode==="number"){if(u.type==="symlink"){u.mode|=40960}g.setUnixMode(u.mode)}if(u.type==="symlink"&&typeof u.linkname==="string"){i=Buffer.from(u.linkname)}return A.prototype.entry.call(this,g,i,p)};S.prototype.finalize=function(){this.finish()}},42613:u=>{u.exports=i(import.meta.url)("assert")},20181:u=>{u.exports=i(import.meta.url)("buffer")},49140:u=>{u.exports=i(import.meta.url)("constants")},76982:u=>{u.exports=i(import.meta.url)("crypto")},72250:u=>{u.exports=i(import.meta.url)("dns")},24434:u=>{u.exports=i(import.meta.url)("events")},79896:u=>{u.exports=i(import.meta.url)("fs")},91943:u=>{u.exports=i(import.meta.url)("fs/promises")},58611:u=>{u.exports=i(import.meta.url)("http")},85675:u=>{u.exports=i(import.meta.url)("http2")},65692:u=>{u.exports=i(import.meta.url)("https")},69278:u=>{u.exports=i(import.meta.url)("net")},34589:u=>{u.exports=i(import.meta.url)("node:assert")},16698:u=>{u.exports=i(import.meta.url)("node:async_hooks")},4573:u=>{u.exports=i(import.meta.url)("node:buffer")},37540:u=>{u.exports=i(import.meta.url)("node:console")},77598:u=>{u.exports=i(import.meta.url)("node:crypto")},53053:u=>{u.exports=i(import.meta.url)("node:diagnostics_channel")},40610:u=>{u.exports=i(import.meta.url)("node:dns")},78474:u=>{u.exports=i(import.meta.url)("node:events")},73024:u=>{u.exports=i(import.meta.url)("node:fs")},51455:u=>{u.exports=i(import.meta.url)("node:fs/promises")},37067:u=>{u.exports=i(import.meta.url)("node:http")},32467:u=>{u.exports=i(import.meta.url)("node:http2")},77030:u=>{u.exports=i(import.meta.url)("node:net")},76760:u=>{u.exports=i(import.meta.url)("node:path")},643:u=>{u.exports=i(import.meta.url)("node:perf_hooks")},41792:u=>{u.exports=i(import.meta.url)("node:querystring")},57075:u=>{u.exports=i(import.meta.url)("node:stream")},46193:u=>{u.exports=i(import.meta.url)("node:string_decoder")},41692:u=>{u.exports=i(import.meta.url)("node:tls")},73136:u=>{u.exports=i(import.meta.url)("node:url")},57975:u=>{u.exports=i(import.meta.url)("node:util")},73429:u=>{u.exports=i(import.meta.url)("node:util/types")},75919:u=>{u.exports=i(import.meta.url)("node:worker_threads")},38522:u=>{u.exports=i(import.meta.url)("node:zlib")},70857:u=>{u.exports=i(import.meta.url)("os")},16928:u=>{u.exports=i(import.meta.url)("path")},2203:u=>{u.exports=i(import.meta.url)("stream")},13193:u=>{u.exports=i(import.meta.url)("string_decoder")},16460:u=>{u.exports=i(import.meta.url)("timers/promises")},64756:u=>{u.exports=i(import.meta.url)("tls")},52018:u=>{u.exports=i(import.meta.url)("tty")},87016:u=>{u.exports=i(import.meta.url)("url")},39023:u=>{u.exports=i(import.meta.url)("util")},43106:u=>{u.exports=i(import.meta.url)("zlib")},33345:(i,u)=>{var p;p={value:true};u.w=void 0;u.w={operationRequestMap:new WeakMap}},38914:(i,u)=>{var p;p={value:true};u.w=void 0;u.w={instrumenterImplementation:undefined}},49498:(i,u,p)=>{const g=p(5546);const isRetryError=i=>i?.code==="EPROMISERETRY"&&Object.hasOwn(i,"retried");async function promiseRetry(i,u={}){const p=g.operation(u);return new Promise((function(u,g){p.attempt((async A=>{try{const g=await i((i=>{throw Object.assign(new Error("Retrying"),{code:"EPROMISERETRY",retried:i})}),A,p);return u(g)}catch(i){if(isRetryError(i)){if(p.retry(i.retried||new Error)){return}return g(i.retried)Line truncated
|
||||
/* v8 ignore else -- @preserve -- Bug with vitest coverage where it sees an else branch that doesn't exist */if("response"in p){this.response=p.response}const g=Object.assign({},p.request);if(p.request.headers.authorization){g.headers=Object.assign({},p.request.headers,{authorization:p.request.headers.authorization.replace(/(?<! ) .*$/," [REDACTED]")})}g.url=g.url.replace(/\bclient_secret=\w+/g,"client_secret=[REDACTED]").replace(/\baccess_token=\w+/g,"access_token=[REDACTED]");this.request=g}}var om="10.0.8";var am={headers:{"user-agent":`octokit-request.js/${om} ${getUserAgent()}`}};function dist_bundle_isPlainObject(i){if(typeof i!=="object"||i===null)return false;if(Object.prototype.toString.call(i)!=="[object Object]")return false;const u=Object.getPrototypeOf(i);if(u===null)return true;const p=Object.prototype.hasOwnProperty.call(u,"constructor")&&u.constructor;return typeof p==="function"&&p instanceof p&&Function.prototype.call(p)===Function.prototype.call(i)}var noop=()=>"";async function fetchWrapper(i){const u=i.request?.fetch||globalThis.fetch;if(!u){throw new Error("fetch is not set. Please pass a fetch implementation as new Octokit({ request: { fetch }}). Learn more at https://github.com/octokit/octokit.js/#fetch-missing")}const p=i.request?.log||console;const g=i.request?.parseSuccessResponseBody!==false;const A=dist_bundle_isPlainObject(i.body)||Array.isArray(i.body)?JSONStringify(i.body):i.body;const w=Object.fromEntries(Object.entries(i.headers).map((([i,u])=>[i,String(u)])));let C;try{C=await u(i.url,{method:i.method,body:A,redirect:i.request?.redirect,headers:w,signal:i.request?.signal,...i.body&&{duplex:"half"}})}catch(u){let p="Unknown Error";if(u instanceof Error){if(u.name==="AbortError"){u.status=500;throw u}p=u.message;if(u.name==="TypeError"&&"cause"in u){if(u.cause instanceof Error){p=u.cause.message}else if(typeof u.cause==="string"){p=u.cause}}}const g=new RequestError(p,500,{request:i});g.cause=u;throw g}const S=C.status;const v=C.url;const B={};for(const[i,u]of C.headers){B[i]=u}const _={url:v,status:S,headers:B,data:""};if("deprecation"in B){const u=B.link&&B.link.match(/<([^<>]+)>; rel="deprecation"/);const g=u&&u.pop();p.warn(`[@octokit/request] "${i.method} ${i.url}" is deprecated. It is scheduled to be removed on ${B.sunset}${g?`. See ${g}`:""}`)}if(S===204||S===205){return _}if(i.method==="HEAD"){if(S<400){return _}throw new RequestError(C.statusText,S,{response:_,request:i})}if(S===304){_.data=await getResponseData(C);throw new RequestError("Not modified",S,{response:_,request:i})}if(S>=400){_.data=await getResponseData(C);throw new RequestError(toErrorMessage(_.data),S,{response:_,request:i})}_.data=g?await getResponseData(C):C.body;return _}async function getResponseData(i){const u=i.headers.get("content-type");if(!u){return i.text().catch(noop)}const p=(0,$g.xL)(u);if(isJSONResponse(p)){let u="";try{u=await i.text();return JSONParse(u)}catch(i){return u}}else if(p.type.startsWith("text/")||p.parameters.charset?.toLowerCase()==="utf-8"){return i.text().catch(noop)}else{return i.arrayBuffer().catch((
|
||||
/* v8 ignore next -- @preserve */
|
||||
()=>new ArrayBuffer(0)))}}function isJSONResponse(i){return i.type==="application/json"||i.type==="application/scim+json"}function toErrorMessage(i){if(typeof i==="string"){return i}if(i instanceof ArrayBuffer){return"Unknown error"}if("message"in i){const u="documentation_url"in i?` - ${i.documentation_url}`:"";return Array.isArray(i.errors)?`${i.message}: ${i.errors.map((i=>JSON.stringify(i))).join(", ")}${u}`:`${i.message}${u}`}return`Unknown error: ${JSON.stringify(i)}`}function dist_bundle_withDefaults(i,u){const p=i.defaults(u);const newApi=function(i,u){const g=p.merge(i,u);if(!g.request||!g.request.hook){return fetchWrapper(p.parse(g))}const request2=(i,u)=>fetchWrapper(p.parse(p.merge(i,u)));Object.assign(request2,{endpoint:p,defaults:dist_bundle_withDefaults.bind(null,p)});return g.request.hook(request2,g)};return Object.assign(newApi,{endpoint:p,defaults:dist_bundle_withDefaults.bind(null,p)})}var cm=dist_bundle_withDefaults(zg,am);
|
||||
/* v8 ignore next -- @preserve */
|
||||
/* v8 ignore else -- @preserve */var lm="0.0.0-development";function _buildMessageForResponseErrors(i){return`Request failed due to following response errors:\n`+i.errors.map((i=>` - ${i.message}`)).join("\n")}var um=class extends Error{constructor(i,u,p){super(_buildMessageForResponseErrors(p));this.request=i;this.headers=u;this.response=p;this.errors=p.errors;this.data=p.data;if(Error.captureStackTrace){Error.captureStackTrace(this,this.constructor)}}name="GraphqlResponseError";errors;data};var dm=["method","baseUrl","url","headers","request","query","mediaType","operationName"];var hm=["query","method","url"];var fm=/\/api\/v3\/?$/;function graphql(i,u,p){if(p){if(typeof u==="string"&&"query"in p){return Promise.reject(new Error(`[@octokit/graphql] "query" cannot be used as variable name`))}for(const i in p){if(!hm.includes(i))continue;return Promise.reject(new Error(`[@octokit/graphql] "${i}" cannot be used as variable name`))}}const g=typeof u==="string"?Object.assign({query:u},p):u;const A=Object.keys(g).reduce(((i,u)=>{if(dm.includes(u)){i[u]=g[u];return i}if(!i.variables){i.variables={}}i.variables[u]=g[u];return i}),{});const w=g.baseUrl||i.endpoint.DEFAULTS.baseUrl;if(fm.test(w)){A.url=w.replace(fm,"/api/graphql")}return i(A).then((i=>{if(i.data.errors){const u={};for(const p of Object.keys(i.headers)){u[p]=i.headers[p]}throw new um(A,u,i.data)}return i.data.data}))}function graphql_dist_bundle_withDefaults(i,u){const p=i.defaults(u);const newApi=(i,u)=>graphql(p,i,u);return Object.assign(newApi,{defaults:graphql_dist_bundle_withDefaults.bind(null,p),endpoint:p.endpoint})}var gm=graphql_dist_bundle_withDefaults(cm,{headers:{"user-agent":`octokit-graphql.js/${lm} ${getUserAgent()}`},method:"POST",url:"/graphql"});function withCustomRequest(i){return graphql_dist_bundle_withDefaults(i,{method:"POST",url:"/graphql"})}var Am="(?:[a-zA-Z0-9_-]+)";var ym="\\.";var bm=new RegExp(`^${Am}${ym}${Am}${ym}${Am}$`);var Em=bm.test.bind(bm);async function auth(i){const u=Em(i);const p=i.startsWith("v1.")||i.startsWith("ghs_");const g=i.startsWith("ghu_");const A=u?"app":p?"installation":g?"user-to-server":"oauth";return{type:"token",token:i,tokenType:A}}function withAuthorizationPrefix(i){if(i.split(/\./).length===3){return`bearer ${i}`}return`token ${i}`}async function hook(i,u,p,g){const A=u.endpoint.merge(p,g);A.headers.authorization=withAuthorizationPrefix(i);return u(A)}var wm=function createTokenAuth2(i){if(!i){throw new Error("[@octokit/auth-token] No token passed to createTokenAuth")}if(typeof i!=="string"){throw new Error("[@octokit/auth-token] Token passed to createTokenAuth is not a string")}i=i.replace(/^(token|bearer) +/i,"");return Object.assign(auth.bind(null,i),{hook:hook.bind(null,i)})};const Cm="7.0.6";const dist_src_noop=()=>{};const Sm=console.warn.bind(console);const Im=console.error.bind(console);function createLogger(i={}){if(typeof i.debug!=="function"){i.debug=dist_src_noop}if(typeof i.info!=="function"){i.info=dist_src_noop}if(typeof i.warn!=="function"){i.warn=Sm}if(typeof i.error!=="function"){i.error=Im}return i}const vm=`octokit-core.js/${Cm} ${getUserAgent()}`;class Octokit{static VERSION=Cm;static defaults(i){const u=class extends(this){constructor(...u){const p=u[0]||{};if(typeof i==="function"){super(i(p));return}super(Object.assign({},i,p,p.userAgent&&i.userAgent?{userAgent:`${p.userAgent} ${i.userAgent}`}:null))}};return u}static plugins=[];static plugin(...i){const u=this.plugins;const p=class extends(this){static plugins=u.concat(i.filter((i=>!u.includes(i))))};return p}constructor(i={}){const u=new Hg.Collection;const p={baseUrl:cm.endpoint.DEFAULTS.baseUrl,headers:{},request:Object.assign({},i.request,{hook:u.bind(null,"request")}),mediaType:{previews:[],format:""}};p.headers["user-agent"]=i.userAgent?`${i.userAgent} ${vm}`:vm;if(i.baseUrl){p.baseUrl=i.baseUrl}if(i.previews){p.mediaType.previews=i.previews}if(i.timeZone){p.headers["time-zone"]=i.timeZone}this.request=cm.defaults(p);this.graphql=withCustomRequest(this.request).defaults(p);this.log=createLogger(i.log);this.hook=u;if(!i.authStrategy){if(!i.auth){this.auth=async()=>({type:"unauthenticated"})}else{const p=wm(i.auth);u.wrap("request",p.hook);this.auth=p}}else{const{authStrategy:p,...g}=i;const A=p(Object.assign({request:this.request,log:this.log,octokit:this,octokitOptions:g},i.auth));u.wrap("request",A.hook);this.auth=A}const g=this.constructor;for(let u=0;u<g.plugins.length;++u){Object.assign(this,g.plugins[u](this,i))}}request;graphql;log;hook;auth}const Bm="17.0.0";const _m={actions:{addCustomLabelsToSelfHostedRunnerForOrg:["POST /orgs/{org}/actions/runners/{runner_id}/labels"],addCustomLabelsToSelfHostedRunnerForRepo:["POST /repos/{owner}/{repo}/actions/runners/{runner_id}/labels"],addRepoAccessToSelfHostedRunnerGroupInOrg:["PUT /orgs/{org}/actions/runner-groups/{runner_group_id}/repositories/{repository_id}"],addSelectedRepoToOrgSecret:["PUT /orgs/{org}/actions/secrets/{secret_name}/repositories/{repositoLine truncated
|
||||
/*! js-yaml 4.1.1 https://github.com/nodeca/js-yaml @license MIT */
|
||||
function isNothing(i){return typeof i==="undefined"||i===null}function js_yaml_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 js_yaml_extend(i,u){var p,g,A,w;if(u){w=Object.keys(u);for(p=0,g=w.length;p<g;p+=1){A=w[p];i[A]=u[A]}}return i}function repeat(i,u){var p="",g;for(g=0;g<u;g+=1){p+=i}return p}function isNegativeZero(i){return i===0&&Number.NEGATIVE_INFINITY===1/i}var UA=isNothing;var HA=js_yaml_isObject;var jA=toArray;var GA=repeat;var VA=isNegativeZero;var qA=js_yaml_extend;var zA={isNothing:UA,isObject:HA,toArray:jA,repeat:GA,isNegativeZero:VA,extend:qA};function formatError(i,u){var p="",g=i.reason||"(unknown reason)";if(!i.mark)return g;if(i.mark.name){p+='in "'+i.mark.name+'" '}p+="("+(i.mark.line+1)+":"+(i.mark.column+1)+")";if(!u&&i.mark.snippet){p+="\n\n"+i.mark.snippet}return g+" "+p}function YAMLException$1(i,u){Error.call(this);this.name="YAMLException";this.reason=i;this.mark=u;this.message=formatError(this,false);if(Error.captureStackTrace){Error.captureStackTrace(this,this.constructor)}else{this.stack=(new Error).stack||""}}YAMLException$1.prototype=Object.create(Error.prototype);YAMLException$1.prototype.constructor=YAMLException$1;YAMLException$1.prototype.toString=function toString(i){return this.name+": "+formatError(this,i)};var $A=YAMLException$1;function getLine(i,u,p,g,A){var w="";var C="";var S=Math.floor(A/2)-1;if(g-u>S){w=" ... ";u=g-S+w.length}if(p-g>S){C=" ...";p=g+S-C.length}return{str:w+i.slice(u,p).replace(/\t/g,"→")+C,pos:g-u+w.length}}function js_yaml_padStart(i,u){return zA.repeat(" ",u-i.length)+i}function makeSnippet(i,u){u=Object.create(u||null);if(!i.buffer)return null;if(!u.maxLength)u.maxLength=79;if(typeof u.indent!=="number")u.indent=1;if(typeof u.linesBefore!=="number")u.linesBefore=3;if(typeof u.linesAfter!=="number")u.linesAfter=2;var p=/\r?\n|\r|\0/g;var g=[0];var A=[];var w;var C=-1;while(w=p.exec(i.buffer)){A.push(w.index);g.push(w.index+w[0].length);if(i.position<=w.index&&C<0){C=g.length-2}}if(C<0)C=g.length-1;var S="",v,B;var _=Math.min(i.line+u.linesAfter,A.length).toString().length;var T=u.maxLength-(u.indent+_+3);for(v=1;v<=u.linesBefore;v++){if(C-v<0)break;B=getLine(i.buffer,g[C-v],A[C-v],i.position-(g[C]-g[C-v]),T);S=zA.repeat(" ",u.indent)+js_yaml_padStart((i.line-v+1).toString(),_)+" | "+B.str+"\n"+S}B=getLine(i.buffer,g[C],A[C],i.position,T);S+=zA.repeat(" ",u.indent)+js_yaml_padStart((i.line+1).toString(),_)+" | "+B.str+"\n";S+=zA.repeat("-",u.indent+_+3+B.pos)+"^"+"\n";for(v=1;v<=u.linesAfter;v++){if(C+v>=A.length)break;B=getLine(i.buffer,g[C+v],A[C+v],i.position-(g[C]-g[C+v]),T);S+=zA.repeat(" ",u.indent)+js_yaml_padStart((i.line+v+1).toString(),_)+" | "+B.str+"\n"}return S.replace(/\n$/,"")}var WA=makeSnippet;var JA=["kind","multi","resolve","construct","instanceOf","predicate","represent","representName","defaultStyle","styleAliases"];var YA=["scalar","sequence","mapping"];function compileStyleAliases(i){var u={};if(i!==null){Object.keys(i).forEach((function(p){i[p].forEach((function(i){u[String(i)]=p}))}))}return u}function Type$1(i,u){u=u||{};Object.keys(u).forEach((function(u){if(JA.indexOf(u)===-1){throw new $A('Unknown option "'+u+'" is met in definition of "'+i+'" YAML type.')}}));this.options=u;this.tag=i;this.kind=u["kind"]||null;this.resolve=u["resolve"]||function(){return true};this.construct=u["construct"]||function(i){return i};this.instanceOf=u["instanceOf"]||null;this.predicate=u["predicate"]||null;this.represent=u["represent"]||null;this.representName=u["representName"]||null;this.defaultStyle=u["defaultStyle"]||null;this.multi=u["multi"]||false;this.styleAliases=compileStyleAliases(u["styleAliases"]||null);if(YA.indexOf(this.kind)===-1){throw new $A('Unknown kind "'+this.kind+'" is specified for "'+i+'" YAML type.')}}var KA=Type$1;function compileList(i,u){var p=[];i[u].forEach((function(i){var u=p.length;p.forEach((function(p,g){if(p.tag===i.tag&&p.kind===i.kind&&p.multi===i.multi){u=g}}));p[u]=i}));return p}function compileMap(){var i={scalar:{},sequence:{},mapping:{},fallback:{},multi:{scalar:[],sequence:[],mapping:[],fallback:[]}},u,p;function collectType(u){if(u.multi){i.multi[u.kind].push(u);i.multi["fallback"].push(u)}else{i[u.kind][u.tag]=i["fallback"][u.tag]=u}}for(u=0,p=arguments.length;u<p;u+=1){arguments[u].forEach(collectType)}return i}function Schema$1(i){return this.extend(i)}Schema$1.prototype.extend=function extend(i){var u=[];var p=[];if(i instanceof KA){p.push(i)}else if(Array.isArray(i)){p=p.concat(i)}else if(i&&(Array.isArray(i.implicit)||Array.isArray(i.explicit))){if(i.implicit)u=u.concat(i.implicit);if(i.explicit)p=p.concat(i.explicit)}else{throw new $A("Schema.extend argument should be a Type, [ Type ], "+"or a schema definition ({ implicit: [...], explicit: [...] })")}u.forEach((function(i){if(!(i instanceof KA)){throw new $A("Specified list of YAML types (or a single Type object) contains a non-Line truncated
|
||||
//# sourceMappingURL=index.js.map
|
||||
+1
-1
@@ -1 +1 @@
|
||||
{"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","runtime_rpc_1","wrappers_1","wrappers_2","timestamp_1","CreateArtifactRequest$Type","workflowRunBackendId","workflowJobRunBackendId","version","expiresAt","fork","join","CreateArtifactResponse$Type","ok","signedUploadUrl","FinalizeArtifactRequest$Type","size","hash","FinalizeArtifactResponse$Type","artifactId","ListArtifactsRequest$Type","nameFilter","idFilter","ListArtifactsResponse$Type","artifacts","push","i","ListArtifactsResponse_MonolithArtifact$Type","databaseId","createdAt","GetSignedArtifactURLRequest$Type","GetSignedArtifactURLResponse$Type","signedUrl","DeleteArtifactRequest$Type","DeleteArtifactResponse$Type","ServiceType","I","O","__awaiter","thisArg","_arguments","P","generator","adopt","resolve","Promise","reject","fulfilled","step","next","e","rejected","result","done","then","apply","createArtifactServiceServer","ArtifactServiceMethodList","ArtifactServiceMethod","ArtifactServiceClientProtobuf","ArtifactServiceClientJSON","twirp_ts_1","artifact_1","rpc","CreateArtifact","bind","FinalizeArtifact","ListArtifacts","GetSignedArtifactURL","DeleteArtifact","request","data","toJson","useProtoFieldName","emitDefaultValues","promise","fromJson","ignoreUnknownFields","toBinary","fromBinary","service","TwirpServer","packageName","serviceName","methodList","matchRoute","matchArtifactServiceRoute","method","events","ctx","interceptors","assign","methodName","onMatch","handleArtifactServiceCreateArtifactRequest","handleArtifactServiceFinalizeArtifactRequest","handleArtifactServiceListArtifactsRequest","handleArtifactServiceGetSignedArtifactURLRequest","handleArtifactServiceDeleteArtifactRequest","onNotFound","TwirpError","TwirpErrorCode","BadRoute","contentType","TwirpContentType","JSON","handleArtifactServiceCreateArtifactJSON","Protobuf","handleArtifactServiceCreateArtifactProtobuf","handleArtifactServiceFinalizeArtifactJSON","handleArtifactServiceFinalizeArtifactProtobuf","handleArtifactServiceListArtifactsJSON","handleArtifactServiceListArtifactsProtobuf","handleArtifactServiceGetSignedArtifactURLJSON","handleArtifactServiceGetSignedArtifactURLProtobuf","handleArtifactServiceDeleteArtifactJSON","handleArtifactServiceDeleteArtifactProtobuf","response","body","Malformed","withCause","interceptor","chainInterceptors","inputReq","stringify","Buffer","__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","Line truncated
|
||||
{"version":3,"file":"index.js","names":["__awaiter","this","thisArg","_arguments","P","generator","adopt","value","resolve","Promise","reject","fulfilled","step","next","e","rejected","result","done","then","apply","Object","defineProperty","exports","ClientStreamingCall","constructor","method","requestHeaders","request","headers","response","status","trailers","requests","onfulfilled","onrejected","promiseFinished","reason","all","Deferred","DeferredState","preventUnhandledRejectionWarning","_state","PENDING","_promise","_resolve","_reject","catch","_","state","promise","Error","toLowerCase","RESOLVED","REJECTED","resolvePending","val","rejectPending","DuplexStreamingCall","responses","__webpack_unused_export__","service_type_1","__webpack_require__","enumerable","get","ServiceType","reflection_info_1","readMethodOptions","readMethodOption","readServiceOption","rpc_error_1","RpcError","rpc_options_1","mergeRpcOptions","rpc_output_stream_1","RpcOutputStreamController","test_transport_1","TestTransport","deferred_1","duplex_streaming_call_1","client_streaming_call_1","server_streaming_call_1","ServerStreamingCall","unary_call_1","UnaryCall","rpc_interceptor_1","stackIntercept","stackDuplexStreamingInterceptors","stackClientStreamingInterceptors","stackServerStreamingInterceptors","stackUnaryInterceptors","server_call_context_1","ServerCallContextController","normalizeMethodInfo","runtime_1","service","_a","_b","_c","m","localName","lowerCamelCase","name","serverStreaming","clientStreaming","options","idempotency","undefined","methodName","extensionName","extensionType","methods","find","i","fromJson","optionVal","message","code","meta","super","setPrototypeOf","prototype","toString","l","push","serviceName","entries","length","k","v","join","kind","transport","input","_d","tail","mtd","inp","opt","unary","curr","interceptors","filter","interceptUnary","reverse","interceptServerStreaming","interceptClientStreaming","duplex","interceptDuplex","assertNever","defaults","o","copy","key","keys","jsonOptions","mergeJsonOptions","binaryOptions","mergeBinaryOptions","concat","a","into","c","Date","getTime","Array","isArray","_lis","nxt","msg","err","cmp","_closed","_itState","q","onNext","callback","addLis","onMessage","onError","onComplete","list","indexOf","splice","clearLis","values","closed","notifyNext","error","complete","assert","notifyMessage","notifyError","notifyComplete","pushIt","forEach","Symbol","asyncIterator","p","first","shift","deadline","sendResponseHeadersFn","defaultStatus","detail","_cancelled","_listeners","_sendRH","notifyCancelled","sendResponseHeaders","data","cancelled","onCancel","typeName","map","suppressUncaughtRejections","headerDelay","responseDelay","betweenResponseDelay","afterResponseDelay","sentMessages","lastInput","TestInputStream","sent","single","sendComplete","completed","promiseHeaders","defaultHeaders","promiseSingleResponse","r","O","create","is","streamResponses","stream","abort","messages","delay","promiseStatus","promiseTrailers","defaultTrailers","maybeSuppressUncaught","mergeOptions","headersPromise","responsePromise","statusPromise","trailersPromise","outputStream","responseStreamClosedPromise","responseHeader","responseTrailer","ms","aborted","id","setTimeout","addEventListener","ev","clearTimeout","_completed","_sent","send","inputMessage","delayMs","inputComplete","assertFloat32","assertUInt32","assertInt32","condition","FLOAT32_MAX","FLOAT32_MIN","UINT32_MAX","INT32_MAX","INT32_MIN","arg","Number","isInteger","isFinite","base64encode","base64decode","encTable","split","decTable","charCodeAt","base64Str","es","bytes","Uint8Array","bytePos","groupPos","b","subarray","base64","WireType","UnknownFieldHandler","symbol","for","onRead","fieldNo","wireType","container","no","onWrite","writer","tag","raw","uf","last","slice","assign","BinaryReader","binaryReadOptions","binary_format_contract_1","pb_long_1","goog_varint_1","defaultsRead","readUnknownField","readerFactory","buf","textDecoder","varint64","varint64read","uint32","varint32read","len","pos","view","DataView","buffer","byteOffset","byteLength","TextDecoder","fatal","ignoreBOM","skip","start","Varint","Bit64","Bit32","LengthDelimited","StartGroup","t","EndGroup","assertBounds","RangeError","int32","sint32","zze","int64","PbLong","uint64","PbULong","sint64","lo","hi","s","bool","fixed32","getUint32","sfixed32","getInt32","fixed64","sfixed64","float","getFloat32","double","getFloat64","string","decode","BinaryWriter","binaryWriteOptions","assert_1","defaultsWrite","writeUnknownFields","writerFactory","textEncoder","stack","TextEncoder","chunks","finish","offset","set","fork","chunk","prev","pop","type","varint32write","encode","setFloat32","setFloat64","setUint32","setInt32","long","from","varint64write","sign","listEnumNumbers","listEnumNames","listEnumValues","isEnumObject","hasOwnProperty","num","parseInt","isNaN","nam","enumObject","number","index","arr","int64toString","int64fromString","lowBits","highBits","mLine truncated
|
||||
+1
-3920
File diff suppressed because it is too large.
Load diff
+3
@@ -0,0 +1,3 @@
|
||||
{
|
||||
"type": "module"
|
||||
}
|
||||
+1
@@ -0,0 +1 @@
|
||||
(()=>{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
|
||||
-1
@@ -1 +0,0 @@
|
||||
(()=>{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
|
||||
@@ -1,3 +1,9 @@
|
||||
target "_common" {
|
||||
args = {
|
||||
BUILDKIT_CONTEXT_KEEP_GIT_DIR = 1
|
||||
}
|
||||
}
|
||||
|
||||
group "default" {
|
||||
targets = ["build"]
|
||||
}
|
||||
@@ -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" {
|
||||
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"]
|
||||
|
||||
@@ -0,0 +1,52 @@
|
||||
import {defineConfig} from 'eslint/config';
|
||||
import js from '@eslint/js';
|
||||
import tseslint from '@typescript-eslint/eslint-plugin';
|
||||
import vitest from '@vitest/eslint-plugin';
|
||||
import globals from 'globals';
|
||||
import eslintConfigPrettier from 'eslint-config-prettier/flat';
|
||||
import eslintPluginPrettier from 'eslint-plugin-prettier';
|
||||
|
||||
export default defineConfig([
|
||||
{
|
||||
ignores: ['.yarn/**/*', 'coverage/**/*', 'dist/**/*']
|
||||
},
|
||||
js.configs.recommended,
|
||||
...tseslint.configs['flat/recommended'],
|
||||
eslintConfigPrettier,
|
||||
{
|
||||
languageOptions: {
|
||||
globals: {
|
||||
...globals.node
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
files: ['__tests__/**'],
|
||||
...vitest.configs.recommended,
|
||||
languageOptions: {
|
||||
globals: {
|
||||
...globals.node,
|
||||
...vitest.environments.env.globals
|
||||
}
|
||||
},
|
||||
rules: {
|
||||
...vitest.configs.recommended.rules,
|
||||
'vitest/no-conditional-expect': 'error',
|
||||
'vitest/no-disabled-tests': 0
|
||||
}
|
||||
},
|
||||
{
|
||||
plugins: {
|
||||
prettier: eslintPluginPrettier
|
||||
},
|
||||
rules: {
|
||||
'prettier/prettier': 'error',
|
||||
'@typescript-eslint/no-require-imports': [
|
||||
'error',
|
||||
{
|
||||
allowAsImport: true
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
]);
|
||||
@@ -1,30 +0,0 @@
|
||||
import fs from 'fs';
|
||||
import os from 'os';
|
||||
import path from 'path';
|
||||
|
||||
const tmpDir = fs.mkdtempSync(path.join(os.tmpdir(), 'docker-build-push-action-'));
|
||||
|
||||
process.env = Object.assign({}, process.env, {
|
||||
TEMP: tmpDir,
|
||||
GITHUB_REPOSITORY: 'docker/build-push-action',
|
||||
RUNNER_TEMP: path.join(tmpDir, 'runner-temp'),
|
||||
RUNNER_TOOL_CACHE: path.join(tmpDir, 'runner-tool-cache')
|
||||
}) as {
|
||||
[key: string]: string;
|
||||
};
|
||||
|
||||
module.exports = {
|
||||
clearMocks: false,
|
||||
testEnvironment: 'node',
|
||||
moduleFileExtensions: ['js', 'ts'],
|
||||
testMatch: ['**/*.test.ts'],
|
||||
transform: {
|
||||
'^.+\\.ts$': 'ts-jest'
|
||||
},
|
||||
moduleNameMapper: {
|
||||
'^csv-parse/sync': '<rootDir>/node_modules/csv-parse/dist/cjs/sync.cjs'
|
||||
},
|
||||
collectCoverageFrom: ['src/**/{!(main.ts),}.ts'],
|
||||
coveragePathIgnorePatterns: ['lib/', 'node_modules/', '__mocks__/', '__tests__/'],
|
||||
verbose: true
|
||||
};
|
||||
+22
-24
@@ -1,16 +1,13 @@
|
||||
{
|
||||
"name": "docker-build-push",
|
||||
"description": "Build and push Docker images",
|
||||
"type": "module",
|
||||
"main": "src/main.ts",
|
||||
"scripts": {
|
||||
"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"
|
||||
"lint": "eslint --max-warnings=0 .",
|
||||
"format": "eslint --fix .",
|
||||
"test": "vitest run"
|
||||
},
|
||||
"repository": {
|
||||
"type": "git",
|
||||
@@ -24,25 +21,26 @@
|
||||
],
|
||||
"author": "Docker Inc.",
|
||||
"license": "Apache-2.0",
|
||||
"packageManager": "yarn@3.6.3",
|
||||
"packageManager": "yarn@4.9.2",
|
||||
"dependencies": {
|
||||
"@actions/core": "^1.10.1",
|
||||
"@docker/actions-toolkit": "0.35.0",
|
||||
"handlebars": "^4.7.7"
|
||||
"@actions/core": "^3.0.0",
|
||||
"@docker/actions-toolkit": "0.87.0",
|
||||
"handlebars": "^4.7.9"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@types/node": "^20.12.12",
|
||||
"@typescript-eslint/eslint-plugin": "^7.9.0",
|
||||
"@typescript-eslint/parser": "^7.9.0",
|
||||
"@vercel/ncc": "^0.38.1",
|
||||
"eslint": "^8.57.0",
|
||||
"eslint-config-prettier": "^9.1.0",
|
||||
"eslint-plugin-jest": "^28.5.0",
|
||||
"eslint-plugin-prettier": "^5.1.3",
|
||||
"jest": "^29.7.0",
|
||||
"prettier": "^3.2.5",
|
||||
"ts-jest": "^29.1.2",
|
||||
"ts-node": "^10.9.2",
|
||||
"typescript": "^5.4.5"
|
||||
"@eslint/js": "^9.39.3",
|
||||
"@types/node": "^24.11.0",
|
||||
"@typescript-eslint/eslint-plugin": "^8.56.1",
|
||||
"@typescript-eslint/parser": "^8.56.1",
|
||||
"@vercel/ncc": "^0.38.4",
|
||||
"@vitest/coverage-v8": "^4.0.18",
|
||||
"@vitest/eslint-plugin": "^1.6.9",
|
||||
"eslint": "^9.39.3",
|
||||
"eslint-config-prettier": "^10.1.8",
|
||||
"eslint-plugin-prettier": "^5.5.5",
|
||||
"globals": "^17.3.0",
|
||||
"prettier": "^3.8.1",
|
||||
"typescript": "^5.9.3",
|
||||
"vitest": "^4.0.18"
|
||||
}
|
||||
}
|
||||
+44
-37
@@ -1,11 +1,17 @@
|
||||
import * as core from '@actions/core';
|
||||
import * as handlebars from 'handlebars';
|
||||
|
||||
import {Build} from '@docker/actions-toolkit/lib/buildx/build';
|
||||
import {Context} from '@docker/actions-toolkit/lib/context';
|
||||
import {GitHub} from '@docker/actions-toolkit/lib/github';
|
||||
import {Toolkit} from '@docker/actions-toolkit/lib/toolkit';
|
||||
import {Util} from '@docker/actions-toolkit/lib/util';
|
||||
import {Build} from '@docker/actions-toolkit/lib/buildx/build.js';
|
||||
import {GitHub} from '@docker/actions-toolkit/lib/github/github.js';
|
||||
import {Toolkit} from '@docker/actions-toolkit/lib/toolkit.js';
|
||||
import {Util} from '@docker/actions-toolkit/lib/util.js';
|
||||
|
||||
let defaultContextPromise: Promise<string> | undefined;
|
||||
|
||||
async function getDefaultContext(): Promise<string> {
|
||||
defaultContextPromise ??= new Build().gitContext();
|
||||
return await defaultContextPromise;
|
||||
}
|
||||
|
||||
export interface Inputs {
|
||||
'add-hosts': string[];
|
||||
@@ -17,6 +23,7 @@ export interface Inputs {
|
||||
builder: string;
|
||||
'cache-from': string[];
|
||||
'cache-to': string[];
|
||||
call: string;
|
||||
'cgroup-parent': string;
|
||||
context: string;
|
||||
file: string;
|
||||
@@ -43,6 +50,7 @@ export interface Inputs {
|
||||
}
|
||||
|
||||
export async function getInputs(): Promise<Inputs> {
|
||||
const defaultContext = await getDefaultContext();
|
||||
return {
|
||||
'add-hosts': Util.getInputList('add-hosts'),
|
||||
allow: Util.getInputList('allow'),
|
||||
@@ -53,8 +61,9 @@ export async function getInputs(): Promise<Inputs> {
|
||||
builder: core.getInput('builder'),
|
||||
'cache-from': Util.getInputList('cache-from', {ignoreComma: true}),
|
||||
'cache-to': Util.getInputList('cache-to', {ignoreComma: true}),
|
||||
call: core.getInput('call'),
|
||||
'cgroup-parent': core.getInput('cgroup-parent'),
|
||||
context: core.getInput('context') || Context.gitContext(),
|
||||
context: handlebars.compile(core.getInput('context'))({defaultContext}) || defaultContext,
|
||||
file: core.getInput('file'),
|
||||
labels: Util.getInputList('labels', {ignoreComma: true}),
|
||||
load: core.getBooleanInput('load'),
|
||||
@@ -79,45 +88,25 @@ export async function getInputs(): Promise<Inputs> {
|
||||
};
|
||||
}
|
||||
|
||||
export function sanitizeInputs(inputs: Inputs) {
|
||||
const res = {};
|
||||
for (const key of Object.keys(inputs)) {
|
||||
if (key === 'github-token') {
|
||||
continue;
|
||||
}
|
||||
const value: string | string[] | boolean = inputs[key];
|
||||
if (typeof value === 'boolean' && value === false) {
|
||||
continue;
|
||||
} else if (Array.isArray(value) && value.length === 0) {
|
||||
continue;
|
||||
} else if (!value) {
|
||||
continue;
|
||||
}
|
||||
res[key] = value;
|
||||
}
|
||||
return res;
|
||||
}
|
||||
|
||||
export async function getArgs(inputs: Inputs, toolkit: Toolkit): Promise<Array<string>> {
|
||||
const context = handlebars.compile(inputs.context)({
|
||||
defaultContext: Context.gitContext()
|
||||
});
|
||||
// prettier-ignore
|
||||
return [
|
||||
...await getBuildArgs(inputs, context, toolkit),
|
||||
...await getBuildArgs(inputs, inputs.context, toolkit),
|
||||
...await getCommonArgs(inputs, toolkit),
|
||||
context
|
||||
inputs.context
|
||||
];
|
||||
}
|
||||
|
||||
async function getBuildArgs(inputs: Inputs, context: string, toolkit: Toolkit): Promise<Array<string>> {
|
||||
const defaultContext = await getDefaultContext();
|
||||
|
||||
const args: Array<string> = ['build'];
|
||||
await Util.asyncForEach(inputs['add-hosts'], async addHost => {
|
||||
args.push('--add-host', addHost);
|
||||
});
|
||||
if (inputs.allow.length > 0) {
|
||||
args.push('--allow', inputs.allow.join(','));
|
||||
}
|
||||
await Util.asyncForEach(inputs.allow, async allow => {
|
||||
args.push('--allow', allow);
|
||||
});
|
||||
if (await toolkit.buildx.versionSatisfies('>=0.12.0')) {
|
||||
await Util.asyncForEach(inputs.annotations, async annotation => {
|
||||
args.push('--annotation', annotation);
|
||||
@@ -130,7 +119,12 @@ async function getBuildArgs(inputs: Inputs, context: string, toolkit: Toolkit):
|
||||
});
|
||||
if (await toolkit.buildx.versionSatisfies('>=0.8.0')) {
|
||||
await Util.asyncForEach(inputs['build-contexts'], async buildContext => {
|
||||
args.push('--build-context', buildContext);
|
||||
args.push(
|
||||
'--build-context',
|
||||
handlebars.compile(buildContext)({
|
||||
defaultContext: defaultContext
|
||||
})
|
||||
);
|
||||
});
|
||||
} else if (inputs['build-contexts'].length > 0) {
|
||||
core.warning("Build contexts are only supported by buildx >= 0.8.0; the input 'build-contexts' is ignored.");
|
||||
@@ -141,6 +135,12 @@ async function getBuildArgs(inputs: Inputs, context: string, toolkit: Toolkit):
|
||||
await Util.asyncForEach(inputs['cache-to'], async cacheTo => {
|
||||
args.push('--cache-to', cacheTo);
|
||||
});
|
||||
if (inputs.call) {
|
||||
if (!(await toolkit.buildx.versionSatisfies('>=0.15.0'))) {
|
||||
throw new Error(`Buildx >= 0.15.0 is required to use the call flag.`);
|
||||
}
|
||||
args.push('--call', inputs.call);
|
||||
}
|
||||
if (inputs['cgroup-parent']) {
|
||||
args.push('--cgroup-parent', inputs['cgroup-parent']);
|
||||
}
|
||||
@@ -188,8 +188,8 @@ async function getBuildArgs(inputs: Inputs, context: string, toolkit: Toolkit):
|
||||
core.warning(err.message);
|
||||
}
|
||||
});
|
||||
if (inputs['github-token'] && !Build.hasGitAuthTokenSecret(inputs.secrets) && context.startsWith(Context.gitContext())) {
|
||||
args.push('--secret', Build.resolveSecretString(`GIT_AUTH_TOKEN=${inputs['github-token']}`));
|
||||
if (inputs['github-token'] && !Build.hasGitAuthTokenSecret(inputs.secrets) && context.startsWith(defaultContext)) {
|
||||
args.push('--secret', Build.resolveSecretString(`GIT_AUTH_TOKEN.${new URL(GitHub.serverURL).host.trimEnd()}=${inputs['github-token']}`));
|
||||
}
|
||||
if (inputs['shm-size']) {
|
||||
args.push('--shm-size', inputs['shm-size']);
|
||||
@@ -251,7 +251,7 @@ async function getAttestArgs(inputs: Inputs, toolkit: Toolkit): Promise<Array<st
|
||||
if (inputs.provenance) {
|
||||
args.push('--attest', Build.resolveAttestationAttrs(`type=provenance,${inputs.provenance}`));
|
||||
provenanceSet = true;
|
||||
} else if (!hasAttestProvenance && (await toolkit.buildkit.versionSatisfies(inputs.builder, '>=0.11.0')) && !Build.hasDockerExporter(inputs.outputs, inputs.load)) {
|
||||
} else if (!hasAttestProvenance && !noDefaultAttestations() && (await toolkit.buildkit.versionSatisfies(inputs.builder, '>=0.11.0')) && !Build.hasDockerExporter(inputs.outputs, inputs.load)) {
|
||||
// if provenance not specified in provenance or attests inputs and BuildKit
|
||||
// version compatible for attestation, set default provenance. Also needs
|
||||
// to make sure user doesn't want to explicitly load the image to docker.
|
||||
@@ -283,3 +283,10 @@ async function getAttestArgs(inputs: Inputs, toolkit: Toolkit): Promise<Array<st
|
||||
|
||||
return args;
|
||||
}
|
||||
|
||||
function noDefaultAttestations(): boolean {
|
||||
if (process.env.BUILDX_NO_DEFAULT_ATTESTATIONS) {
|
||||
return Util.parseBool(process.env.BUILDX_NO_DEFAULT_ATTESTATIONS);
|
||||
}
|
||||
return false;
|
||||
}
|
||||
+75
-42
@@ -1,31 +1,33 @@
|
||||
import * as fs from 'fs';
|
||||
import * as path from 'path';
|
||||
import * as stateHelper from './state-helper';
|
||||
import * as core from '@actions/core';
|
||||
import * as actionsToolkit from '@docker/actions-toolkit';
|
||||
|
||||
import {Buildx} from '@docker/actions-toolkit/lib/buildx/buildx';
|
||||
import {History as BuildxHistory} from '@docker/actions-toolkit/lib/buildx/history';
|
||||
import {Context} from '@docker/actions-toolkit/lib/context';
|
||||
import {Docker} from '@docker/actions-toolkit/lib/docker/docker';
|
||||
import {Exec} from '@docker/actions-toolkit/lib/exec';
|
||||
import {GitHub} from '@docker/actions-toolkit/lib/github';
|
||||
import {Toolkit} from '@docker/actions-toolkit/lib/toolkit';
|
||||
import {Util} from '@docker/actions-toolkit/lib/util';
|
||||
import {Buildx} from '@docker/actions-toolkit/lib/buildx/buildx.js';
|
||||
import {History as BuildxHistory} from '@docker/actions-toolkit/lib/buildx/history.js';
|
||||
import {Context} from '@docker/actions-toolkit/lib/context.js';
|
||||
import {Docker} from '@docker/actions-toolkit/lib/docker/docker.js';
|
||||
import {Exec} from '@docker/actions-toolkit/lib/exec.js';
|
||||
import {GitHub} from '@docker/actions-toolkit/lib/github/github.js';
|
||||
import {GitHubArtifact} from '@docker/actions-toolkit/lib/github/artifact.js';
|
||||
import {GitHubSummary} from '@docker/actions-toolkit/lib/github/summary.js';
|
||||
import {Toolkit} from '@docker/actions-toolkit/lib/toolkit.js';
|
||||
import {Util} from '@docker/actions-toolkit/lib/util.js';
|
||||
|
||||
import {BuilderInfo} from '@docker/actions-toolkit/lib/types/buildx/builder';
|
||||
import {ConfigFile} from '@docker/actions-toolkit/lib/types/docker/docker';
|
||||
import {UploadArtifactResponse} from '@docker/actions-toolkit/lib/types/github';
|
||||
import {BuilderInfo} from '@docker/actions-toolkit/lib/types/buildx/builder.js';
|
||||
import {ConfigFile} from '@docker/actions-toolkit/lib/types/docker/docker.js';
|
||||
import {UploadResponse as UploadArtifactResponse} from '@docker/actions-toolkit/lib/types/github/artifact.js';
|
||||
|
||||
import * as context from './context';
|
||||
import * as context from './context.js';
|
||||
import * as stateHelper from './state-helper.js';
|
||||
|
||||
actionsToolkit.run(
|
||||
// main
|
||||
async () => {
|
||||
const startedTime = new Date();
|
||||
const inputs: context.Inputs = await context.getInputs();
|
||||
stateHelper.setSummaryInputs(inputs);
|
||||
core.debug(`inputs: ${JSON.stringify(inputs)}`);
|
||||
stateHelper.setInputs(inputs);
|
||||
|
||||
const toolkit = new Toolkit();
|
||||
|
||||
@@ -85,6 +87,8 @@ actionsToolkit.run(
|
||||
let builder: BuilderInfo;
|
||||
await core.group(`Builder info`, async () => {
|
||||
builder = await toolkit.builder.inspect(inputs.builder);
|
||||
stateHelper.setBuilderDriver(builder.driver ?? '');
|
||||
stateHelper.setBuilderEndpoint(builder.nodes?.[0]?.endpoint ?? '');
|
||||
core.info(JSON.stringify(builder, null, 2));
|
||||
});
|
||||
|
||||
@@ -97,16 +101,27 @@ actionsToolkit.run(
|
||||
|
||||
let err: Error | undefined;
|
||||
await Exec.getExecOutput(buildCmd.command, buildCmd.args, {
|
||||
ignoreReturnCode: true
|
||||
ignoreReturnCode: true,
|
||||
env: Object.assign({}, process.env, {
|
||||
BUILDX_METADATA_WARNINGS: 'true'
|
||||
}) as {
|
||||
[key: string]: string;
|
||||
}
|
||||
}).then(res => {
|
||||
if (res.stderr.length > 0 && res.exitCode != 0) {
|
||||
err = Error(`buildx failed with: ${res.stderr.match(/(.*)\s*$/)?.[0]?.trim() ?? 'unknown error'}`);
|
||||
if (res.exitCode != 0) {
|
||||
if (inputs.call && inputs.call === 'check' && res.stdout.length > 0) {
|
||||
// checks warnings are printed to stdout: https://github.com/docker/buildx/pull/2647
|
||||
// take the first line with the message summaryzing the warnings
|
||||
err = new Error(res.stdout.split('\n')[0]?.trim());
|
||||
} else if (res.stderr.length > 0) {
|
||||
err = new Error(`buildx failed with: ${res.stderr.match(/(.*)\s*$/)?.[0]?.trim() ?? 'unknown error'}`);
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
const imageID = toolkit.buildxBuild.resolveImageID();
|
||||
const metadata = toolkit.buildxBuild.resolveMetadata();
|
||||
const digest = toolkit.buildxBuild.resolveDigest();
|
||||
const digest = toolkit.buildxBuild.resolveDigest(metadata);
|
||||
if (imageID) {
|
||||
await core.group(`ImageID`, async () => {
|
||||
core.info(imageID);
|
||||
@@ -127,7 +142,7 @@ actionsToolkit.run(
|
||||
});
|
||||
}
|
||||
|
||||
let ref: string;
|
||||
let ref: string | undefined;
|
||||
await core.group(`Reference`, async () => {
|
||||
ref = await buildRef(toolkit, startedTime, inputs.builder);
|
||||
if (ref) {
|
||||
@@ -138,17 +153,32 @@ actionsToolkit.run(
|
||||
}
|
||||
});
|
||||
|
||||
if (buildChecksAnnotationsEnabled()) {
|
||||
const warnings = toolkit.buildxBuild.resolveWarnings(metadata);
|
||||
if (ref && warnings && warnings.length > 0) {
|
||||
const annotations = await Buildx.convertWarningsToGitHubAnnotations(warnings, [ref]);
|
||||
core.debug(`annotations: ${JSON.stringify(annotations, null, 2)}`);
|
||||
if (annotations && annotations.length > 0) {
|
||||
await core.group(`Generating GitHub annotations (${annotations.length} build checks found)`, async () => {
|
||||
for (const annotation of annotations) {
|
||||
core.warning(annotation.message, annotation);
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
await core.group(`Check build summary support`, async () => {
|
||||
if (!buildSummaryEnabled()) {
|
||||
core.info('Build summary disabled');
|
||||
} else if (inputs.call && inputs.call !== 'build') {
|
||||
core.info(`Build summary skipped for ${inputs.call} subrequest`);
|
||||
} else if (GitHub.isGHES) {
|
||||
core.warning('Build summary is not yet supported on GHES');
|
||||
} else if (!(await toolkit.buildx.versionSatisfies('>=0.13.0'))) {
|
||||
core.warning('Build summary requires Buildx >= 0.13.0');
|
||||
} else if (builder && builder.driver === 'cloud') {
|
||||
core.warning('Build summary is not yet supported with Docker Build Cloud');
|
||||
core.info('Build summary is not yet supported on GHES');
|
||||
} else if (!(await toolkit.buildx.versionSatisfies('>=0.23.0'))) {
|
||||
core.info('Build summary requires Buildx >= 0.23.0');
|
||||
} else if (!ref) {
|
||||
core.warning('Build summary requires a build reference');
|
||||
core.info('Build summary requires a build reference');
|
||||
} else {
|
||||
core.info('Build summary supported!');
|
||||
stateHelper.setSummarySupported();
|
||||
@@ -178,17 +208,18 @@ actionsToolkit.run(
|
||||
|
||||
let uploadRes: UploadArtifactResponse | undefined;
|
||||
if (recordUploadEnabled) {
|
||||
uploadRes = await GitHub.uploadArtifact({
|
||||
uploadRes = await GitHubArtifact.upload({
|
||||
filename: exportRes.dockerbuildFilename,
|
||||
mimeType: 'application/gzip',
|
||||
retentionDays: recordRetentionDays
|
||||
});
|
||||
}
|
||||
|
||||
await GitHub.writeBuildSummary({
|
||||
await GitHubSummary.writeBuildSummary({
|
||||
exportRes: exportRes,
|
||||
uploadRes: uploadRes,
|
||||
inputs: stateHelper.inputs
|
||||
inputs: stateHelper.summaryInputs,
|
||||
driver: stateHelper.builderDriver,
|
||||
endpoint: stateHelper.builderEndpoint
|
||||
});
|
||||
} catch (e) {
|
||||
core.warning(e.message);
|
||||
@@ -197,7 +228,11 @@ actionsToolkit.run(
|
||||
}
|
||||
if (stateHelper.tmpDir.length > 0) {
|
||||
await core.group(`Removing temp folder ${stateHelper.tmpDir}`, async () => {
|
||||
fs.rmSync(stateHelper.tmpDir, {recursive: true});
|
||||
try {
|
||||
fs.rmSync(stateHelper.tmpDir, {recursive: true});
|
||||
} catch {
|
||||
core.warning(`Failed to remove temp folder ${stateHelper.tmpDir}`);
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
@@ -222,11 +257,15 @@ async function buildRef(toolkit: Toolkit, since: Date, builder?: string): Promis
|
||||
return Object.keys(refs).length > 0 ? Object.keys(refs)[0] : '';
|
||||
}
|
||||
|
||||
function buildChecksAnnotationsEnabled(): boolean {
|
||||
if (process.env.DOCKER_BUILD_CHECKS_ANNOTATIONS) {
|
||||
return Util.parseBool(process.env.DOCKER_BUILD_CHECKS_ANNOTATIONS);
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
function buildSummaryEnabled(): boolean {
|
||||
if (process.env.DOCKER_BUILD_NO_SUMMARY) {
|
||||
core.warning('DOCKER_BUILD_NO_SUMMARY is deprecated. Set DOCKER_BUILD_SUMMARY to false instead.');
|
||||
return !Util.parseBool(process.env.DOCKER_BUILD_NO_SUMMARY);
|
||||
} else if (process.env.DOCKER_BUILD_SUMMARY) {
|
||||
if (process.env.DOCKER_BUILD_SUMMARY) {
|
||||
return Util.parseBool(process.env.DOCKER_BUILD_SUMMARY);
|
||||
}
|
||||
return true;
|
||||
@@ -240,17 +279,11 @@ function buildRecordUploadEnabled(): boolean {
|
||||
}
|
||||
|
||||
function buildRecordRetentionDays(): number | undefined {
|
||||
let val: string | undefined;
|
||||
if (process.env.DOCKER_BUILD_EXPORT_RETENTION_DAYS) {
|
||||
core.warning('DOCKER_BUILD_EXPORT_RETENTION_DAYS is deprecated. Use DOCKER_BUILD_RECORD_RETENTION_DAYS instead.');
|
||||
val = process.env.DOCKER_BUILD_EXPORT_RETENTION_DAYS;
|
||||
} else if (process.env.DOCKER_BUILD_RECORD_RETENTION_DAYS) {
|
||||
val = process.env.DOCKER_BUILD_RECORD_RETENTION_DAYS;
|
||||
}
|
||||
const val = process.env.DOCKER_BUILD_RECORD_RETENTION_DAYS;
|
||||
if (val) {
|
||||
const res = parseInt(val);
|
||||
if (isNaN(res)) {
|
||||
throw Error(`Invalid build record retention days: ${val}`);
|
||||
throw new Error(`Invalid build record retention days: ${val}`);
|
||||
}
|
||||
return res;
|
||||
}
|
||||
|
||||
+50
-4
@@ -1,9 +1,15 @@
|
||||
import * as core from '@actions/core';
|
||||
|
||||
import {Inputs, sanitizeInputs} from './context';
|
||||
import {Build} from '@docker/actions-toolkit/lib/buildx/build.js';
|
||||
|
||||
import {Inputs} from './context.js';
|
||||
|
||||
export const tmpDir = process.env['STATE_tmpDir'] || '';
|
||||
export const inputs = process.env['STATE_inputs'] ? JSON.parse(process.env['STATE_inputs']) : undefined;
|
||||
|
||||
export const builderDriver = process.env['STATE_builderDriver'] || '';
|
||||
export const builderEndpoint = process.env['STATE_builderEndpoint'] || '';
|
||||
export const summaryInputs = process.env['STATE_summaryInputs'] ? JSON.parse(process.env['STATE_summaryInputs']) : undefined;
|
||||
|
||||
export const buildRef = process.env['STATE_buildRef'] || '';
|
||||
export const isSummarySupported = !!process.env['STATE_isSummarySupported'];
|
||||
|
||||
@@ -11,8 +17,12 @@ export function setTmpDir(tmpDir: string) {
|
||||
core.saveState('tmpDir', tmpDir);
|
||||
}
|
||||
|
||||
export function setInputs(inputs: Inputs) {
|
||||
core.saveState('inputs', JSON.stringify(sanitizeInputs(inputs)));
|
||||
export function setBuilderDriver(builderDriver: string) {
|
||||
core.saveState('builderDriver', builderDriver);
|
||||
}
|
||||
|
||||
export function setBuilderEndpoint(builderEndpoint: string) {
|
||||
core.saveState('builderEndpoint', builderEndpoint);
|
||||
}
|
||||
|
||||
export function setBuildRef(buildRef: string) {
|
||||
@@ -22,3 +32,39 @@ export function setBuildRef(buildRef: string) {
|
||||
export function setSummarySupported() {
|
||||
core.saveState('isSummarySupported', 'true');
|
||||
}
|
||||
|
||||
export function setSummaryInputs(inputs: Inputs) {
|
||||
const res = {};
|
||||
for (const key of Object.keys(inputs)) {
|
||||
if (key === 'github-token') {
|
||||
continue;
|
||||
}
|
||||
const value: string | string[] | boolean = inputs[key];
|
||||
if (typeof value === 'boolean' && !value) {
|
||||
continue;
|
||||
} else if (Array.isArray(value)) {
|
||||
if (value.length === 0) {
|
||||
continue;
|
||||
} else if (key === 'secrets' && value.length > 0) {
|
||||
const secretKeys: string[] = [];
|
||||
for (const secret of value) {
|
||||
try {
|
||||
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
||||
const [skey, _] = Build.parseSecretKvp(secret, true);
|
||||
secretKeys.push(skey);
|
||||
} catch {
|
||||
// ignore invalid secret
|
||||
}
|
||||
}
|
||||
if (secretKeys.length > 0) {
|
||||
res[key] = secretKeys;
|
||||
}
|
||||
continue;
|
||||
}
|
||||
} else if (!value) {
|
||||
continue;
|
||||
}
|
||||
res[key] = value;
|
||||
}
|
||||
core.saveState('summaryInputs', JSON.stringify(res));
|
||||
}
|
||||
@@ -0,0 +1,12 @@
|
||||
frOM busybox as base
|
||||
cOpy lint.Dockerfile .
|
||||
|
||||
from scratch
|
||||
MAINTAINER moby@example.com
|
||||
COPy --from=base \
|
||||
/lint.Dockerfile \
|
||||
/
|
||||
|
||||
CMD [ "echo", "Hello, Norway!" ]
|
||||
CMD [ "echo", "Hello, Sweden!" ]
|
||||
ENTRYPOINT my-program start
|
||||
@@ -1,5 +1,6 @@
|
||||
# syntax=docker/dockerfile:1
|
||||
FROM --platform=$BUILDPLATFORM golang:alpine AS build
|
||||
|
||||
FROM --platform=$BUILDPLATFORM alpine AS build
|
||||
ARG TARGETPLATFORM
|
||||
ARG BUILDPLATFORM
|
||||
RUN echo "I am running on $BUILDPLATFORM, building for $TARGETPLATFORM" > /log
|
||||
@@ -12,7 +13,7 @@ RUN apk --update --no-cache add \
|
||||
&& rm -rf /tmp/* /var/cache/apk/*
|
||||
|
||||
USER buildx
|
||||
RUN sudo chown buildx. /log
|
||||
RUN sudo chown buildx: /log
|
||||
USER root
|
||||
|
||||
FROM alpine
|
||||
|
||||
@@ -0,0 +1 @@
|
||||
foo
|
||||
+4
-9
@@ -1,9 +1,8 @@
|
||||
{
|
||||
"compilerOptions": {
|
||||
"module": "nodenext",
|
||||
"moduleResolution": "nodenext",
|
||||
"esModuleInterop": true,
|
||||
"target": "es6",
|
||||
"module": "commonjs",
|
||||
"strict": true,
|
||||
"newLine": "lf",
|
||||
"outDir": "./lib",
|
||||
"rootDir": "./src",
|
||||
@@ -12,11 +11,7 @@
|
||||
"resolveJsonModule": true,
|
||||
"useUnknownInCatchVariables": false,
|
||||
},
|
||||
"exclude": [
|
||||
"./__mocks__/**/*",
|
||||
"./__tests__/**/*",
|
||||
"./lib/**/*",
|
||||
"node_modules",
|
||||
"jest.config.ts"
|
||||
"include": [
|
||||
"src/**/*.ts"
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,16 @@
|
||||
import {defineConfig} from 'vitest/config';
|
||||
|
||||
export default defineConfig({
|
||||
test: {
|
||||
clearMocks: true,
|
||||
environment: 'node',
|
||||
setupFiles: ['./__tests__/setup.unit.ts'],
|
||||
include: ['**/*.test.ts'],
|
||||
coverage: {
|
||||
provider: 'v8',
|
||||
reporter: ['clover'],
|
||||
include: ['src/**/*.ts'],
|
||||
exclude: ['src/**/main.ts']
|
||||
}
|
||||
}
|
||||
});
|
||||
Reference in new issue
Block a user