mirror of
https://github.com/astral-sh/setup-uv.git
synced 2026-06-09 11:30:42 +00:00
Compare commits
1 Commits
v6.3.0
...
inline-dis
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
6120bf3e89 |
9
.github/actionlint.yaml
vendored
9
.github/actionlint.yaml
vendored
@@ -1,9 +0,0 @@
|
||||
self-hosted-runner:
|
||||
# Custom labels of self-hosted or large GitHub hosted runners
|
||||
# so that actionlint knows that they are not a typo
|
||||
labels:
|
||||
- selfhosted-ubuntu-arm64
|
||||
# Configuration variables in array of strings defined in your repository or
|
||||
# organization. `null` means disabling configuration variables check.
|
||||
# Empty array means no configuration variable is allowed.
|
||||
config-variables: null
|
||||
2
.github/release-drafter.yml
vendored
2
.github/release-drafter.yml
vendored
@@ -19,7 +19,7 @@ categories:
|
||||
labels:
|
||||
- "maintenance"
|
||||
- "ci"
|
||||
- "update-known-versions"
|
||||
- "update-known-checksums"
|
||||
- title: "📚 Documentation"
|
||||
labels:
|
||||
- "documentation"
|
||||
|
||||
35
.github/scripts/check-all-tests-passed-needs.ts
vendored
35
.github/scripts/check-all-tests-passed-needs.ts
vendored
@@ -1,35 +0,0 @@
|
||||
import * as fs from "node:fs";
|
||||
import * as yaml from "js-yaml";
|
||||
|
||||
interface WorkflowJob {
|
||||
needs?: string[];
|
||||
[key: string]: unknown;
|
||||
}
|
||||
|
||||
interface Workflow {
|
||||
jobs: Record<string, WorkflowJob>;
|
||||
[key: string]: unknown;
|
||||
}
|
||||
|
||||
const workflow = yaml.load(
|
||||
fs.readFileSync("../workflows/test.yml", "utf8"),
|
||||
) as Workflow;
|
||||
const jobs = Object.keys(workflow.jobs);
|
||||
const allTestsPassed = workflow.jobs["all-tests-passed"];
|
||||
const needs: string[] = allTestsPassed.needs || [];
|
||||
|
||||
const expectedNeeds = jobs.filter((j) => j !== "all-tests-passed");
|
||||
const missing = expectedNeeds.filter((j) => !needs.includes(j));
|
||||
|
||||
if (missing.length > 0) {
|
||||
console.error(
|
||||
`Missing jobs in all-tests-passed needs: ${missing.join(", ")}`,
|
||||
);
|
||||
console.info(
|
||||
"Please add the missing jobs to the needs section of all-tests-passed in test.yml.",
|
||||
);
|
||||
process.exit(1);
|
||||
}
|
||||
console.log(
|
||||
"All jobs in test.yml are in the needs section of all-tests-passed.",
|
||||
);
|
||||
5
.github/workflows/release-drafter.yml
vendored
5
.github/workflows/release-drafter.yml
vendored
@@ -11,10 +11,7 @@ on:
|
||||
jobs:
|
||||
update_release_draft:
|
||||
name: ✏️ Draft release
|
||||
runs-on: ubuntu-24.04-arm
|
||||
permissions:
|
||||
contents: write
|
||||
pull-requests: read
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: 🚀 Run Release Drafter
|
||||
uses: release-drafter/release-drafter@v6.1.0
|
||||
|
||||
46
.github/workflows/test-cache-windows.yml
vendored
Normal file
46
.github/workflows/test-cache-windows.yml
vendored
Normal file
@@ -0,0 +1,46 @@
|
||||
name: "test-cache-windows"
|
||||
on:
|
||||
workflow_dispatch:
|
||||
pull_request:
|
||||
branches:
|
||||
- main
|
||||
push:
|
||||
branches:
|
||||
- main
|
||||
|
||||
concurrency:
|
||||
group: ${{ github.workflow }}-${{ github.ref }}
|
||||
cancel-in-progress: true
|
||||
|
||||
jobs:
|
||||
test-setup-cache:
|
||||
runs-on: windows-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
- name: Setup with cache
|
||||
uses: ./
|
||||
with:
|
||||
enable-cache: true
|
||||
cache-suffix: ${{ github.run_id }}-${{ github.run_attempt }}
|
||||
- run: uv sync
|
||||
working-directory: __tests__\fixtures\uv-project
|
||||
test-restore-cache:
|
||||
runs-on: windows-latest
|
||||
needs: test-setup-cache
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
- name: Restore with cache
|
||||
id: restore
|
||||
uses: ./
|
||||
with:
|
||||
enable-cache: true
|
||||
cache-suffix: ${{ github.run_id }}-${{ github.run_attempt }}
|
||||
- name: Cache was hit
|
||||
run: |
|
||||
if ($env:CACHE_HIT -ne "true") {
|
||||
exit 1
|
||||
}
|
||||
env:
|
||||
CACHE_HIT: ${{ steps.restore.outputs.cache-hit }}
|
||||
- run: uv sync
|
||||
working-directory: __tests__\fixtures\uv-project
|
||||
232
.github/workflows/test-cache.yml
vendored
Normal file
232
.github/workflows/test-cache.yml
vendored
Normal file
@@ -0,0 +1,232 @@
|
||||
name: "test-cache"
|
||||
on:
|
||||
workflow_dispatch:
|
||||
pull_request:
|
||||
branches:
|
||||
- main
|
||||
push:
|
||||
branches:
|
||||
- main
|
||||
|
||||
concurrency:
|
||||
group: ${{ github.workflow }}-${{ github.ref }}
|
||||
cancel-in-progress: true
|
||||
|
||||
jobs:
|
||||
test-setup-cache:
|
||||
runs-on: ${{ matrix.os }}
|
||||
strategy:
|
||||
matrix:
|
||||
enable-cache: [ "true", "false", "auto" ]
|
||||
os: ["ubuntu-latest", "selfhosted-ubuntu-arm64"]
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
- name: Setup with cache
|
||||
uses: ./
|
||||
with:
|
||||
enable-cache: ${{ matrix.enable-cache }}
|
||||
cache-suffix: ${{ github.run_id }}-${{ github.run_attempt }}-test-setup-cache-${{ matrix.os }}-${{ matrix.enable-cache }}
|
||||
- run: uv sync
|
||||
working-directory: __tests__/fixtures/uv-project
|
||||
test-restore-cache:
|
||||
runs-on: ${{ matrix.os }}
|
||||
strategy:
|
||||
matrix:
|
||||
enable-cache: [ "true", "false", "auto" ]
|
||||
os: [ "ubuntu-latest", "selfhosted-ubuntu-arm64" ]
|
||||
needs: test-setup-cache
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
- name: Restore with cache
|
||||
id: restore
|
||||
uses: ./
|
||||
with:
|
||||
enable-cache: ${{ matrix.enable-cache }}
|
||||
cache-suffix: ${{ github.run_id }}-${{ github.run_attempt }}-test-setup-cache-${{ matrix.os }}-${{ matrix.enable-cache }}
|
||||
- name: Cache was hit
|
||||
if: ${{ matrix.enable-cache == 'true' || (matrix.enable-cache == 'auto' && matrix.os == 'ubuntu-latest') }}
|
||||
run: |
|
||||
if [ "$CACHE_HIT" != "true" ]; then
|
||||
exit 1
|
||||
fi
|
||||
env:
|
||||
CACHE_HIT: ${{ steps.restore.outputs.cache-hit }}
|
||||
- name: Cache was not hit
|
||||
if: ${{ matrix.enable-cache == 'false' || (matrix.enable-cache == 'auto' && matrix.os == 'selfhosted-ubuntu-arm64') }}
|
||||
run: |
|
||||
if [ "$CACHE_HIT" == "true" ]; then
|
||||
exit 1
|
||||
fi
|
||||
env:
|
||||
CACHE_HIT: ${{ steps.restore.outputs.cache-hit }}
|
||||
- run: uv sync
|
||||
working-directory: __tests__/fixtures/uv-project
|
||||
test-setup-cache-requirements-txt:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
- name: Setup with cache
|
||||
uses: ./
|
||||
with:
|
||||
enable-cache: true
|
||||
cache-suffix: ${{ github.run_id }}-${{ github.run_attempt }}-test-setup-cache-requirements-txt
|
||||
- run: |
|
||||
uv venv
|
||||
uv pip install -r requirements.txt
|
||||
working-directory: __tests__/fixtures/requirements-txt-project
|
||||
test-restore-cache-requirements-txt:
|
||||
runs-on: ubuntu-latest
|
||||
needs: test-setup-cache
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
- name: Restore with cache
|
||||
id: restore
|
||||
uses: ./
|
||||
with:
|
||||
enable-cache: true
|
||||
cache-suffix: ${{ github.run_id }}-${{ github.run_attempt }}-test-setup-cache-requirements-txt
|
||||
- name: Cache was hit
|
||||
run: |
|
||||
if [ "$CACHE_HIT" != "true" ]; then
|
||||
exit 1
|
||||
fi
|
||||
env:
|
||||
CACHE_HIT: ${{ steps.restore.outputs.cache-hit }}
|
||||
- run: |
|
||||
uv venv
|
||||
uv pip install -r requirements.txt
|
||||
working-directory: __tests__/fixtures/requirements-txt-project
|
||||
|
||||
test-setup-cache-dependency-glob:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
- name: Setup with cache
|
||||
uses: ./
|
||||
with:
|
||||
enable-cache: true
|
||||
cache-dependency-glob: |
|
||||
__tests__/fixtures/uv-project/uv.lock
|
||||
**/pyproject.toml
|
||||
cache-suffix: ${{ github.run_id }}-${{ github.run_attempt }}-test-setup-cache-dependency-glob
|
||||
- run: uv sync
|
||||
working-directory: __tests__/fixtures/uv-project
|
||||
test-restore-cache-dependency-glob:
|
||||
runs-on: ubuntu-latest
|
||||
needs: test-setup-cache-dependency-glob
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
- name: Change pyproject.toml
|
||||
run: |
|
||||
echo '[tool.uv]' >> __tests__/fixtures/uv-project/pyproject.toml
|
||||
echo 'dev-dependencies = []' >> __tests__/fixtures/uv-project/pyproject.toml
|
||||
- name: Restore with cache
|
||||
id: restore
|
||||
uses: ./
|
||||
with:
|
||||
enable-cache: true
|
||||
cache-dependency-glob: |
|
||||
__tests__/fixtures/uv-project/uv.lock
|
||||
**/pyproject.toml
|
||||
cache-suffix: ${{ github.run_id }}-${{ github.run_attempt }}-test-setup-cache-dependency-glob
|
||||
ignore-nothing-to-cache: true
|
||||
- name: Cache was not hit
|
||||
run: |
|
||||
if [ "$CACHE_HIT" == "true" ]; then
|
||||
exit 1
|
||||
fi
|
||||
env:
|
||||
CACHE_HIT: ${{ steps.restore.outputs.cache-hit }}
|
||||
|
||||
test-setup-cache-local:
|
||||
runs-on: selfhosted-ubuntu-arm64
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
- name: Setup with cache
|
||||
uses: ./
|
||||
with:
|
||||
enable-cache: true
|
||||
cache-suffix: ${{ github.run_id }}-${{ github.run_attempt }}-test-setup-cache-local
|
||||
cache-local-path: /tmp/uv-cache
|
||||
- run: uv sync
|
||||
working-directory: __tests__/fixtures/uv-project
|
||||
test-restore-cache-local:
|
||||
runs-on: selfhosted-ubuntu-arm64
|
||||
needs: test-setup-cache-local
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
- name: Restore with cache
|
||||
id: restore
|
||||
uses: ./
|
||||
with:
|
||||
enable-cache: true
|
||||
cache-suffix: ${{ github.run_id }}-${{ github.run_attempt }}-test-setup-cache-local
|
||||
cache-local-path: /tmp/uv-cache
|
||||
- name: Cache was hit
|
||||
run: |
|
||||
if [ "$CACHE_HIT" != "true" ]; then
|
||||
exit 1
|
||||
fi
|
||||
env:
|
||||
CACHE_HIT: ${{ steps.restore.outputs.cache-hit }}
|
||||
- run: uv sync
|
||||
working-directory: __tests__/fixtures/uv-project
|
||||
|
||||
test-tilde-expansion-cache-local-path:
|
||||
runs-on: selfhosted-ubuntu-arm64
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
- name: Create cache directory
|
||||
run: mkdir -p ~/uv-cache
|
||||
shell: bash
|
||||
- name: Setup with cache
|
||||
uses: ./
|
||||
with:
|
||||
cache-local-path: ~/uv-cache/cache-local-path
|
||||
- run: uv sync
|
||||
working-directory: __tests__/fixtures/uv-project
|
||||
|
||||
test-tilde-expansion-cache-dependency-glob:
|
||||
runs-on: selfhosted-ubuntu-arm64
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
- name: Create cache directory
|
||||
run: mkdir -p ~/uv-cache
|
||||
shell: bash
|
||||
- name: Create cache dependency glob file
|
||||
run: touch ~/uv-cache.glob
|
||||
shell: bash
|
||||
- name: Setup with cache
|
||||
uses: ./
|
||||
with:
|
||||
enable-cache: true
|
||||
cache-local-path: ~/uv-cache/cache-dependency-glob
|
||||
cache-dependency-glob: "~/uv-cache.glob"
|
||||
- run: uv sync
|
||||
working-directory: __tests__/fixtures/uv-project
|
||||
|
||||
cleanup-tilde-expansion-tests:
|
||||
needs:
|
||||
- test-tilde-expansion-cache-local-path
|
||||
- test-tilde-expansion-cache-dependency-glob
|
||||
runs-on: selfhosted-ubuntu-arm64
|
||||
steps:
|
||||
- name: Remove cache directory
|
||||
run: rm -rf ~/uv-cache
|
||||
shell: bash
|
||||
- name: Remove cache dependency glob file
|
||||
run: rm -f ~/uv-cache.glob
|
||||
shell: bash
|
||||
|
||||
test-no-python-version:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
- name: Fake pyproject.toml at root
|
||||
run: cp __tests__/fixtures/old-python-constraint-project/pyproject.toml pyproject.toml
|
||||
- name: Setup with cache
|
||||
uses: ./
|
||||
with:
|
||||
enable-cache: true
|
||||
- run: uv sync
|
||||
working-directory: __tests__/fixtures/old-python-constraint-project
|
||||
30
.github/workflows/test-windows.yml
vendored
Normal file
30
.github/workflows/test-windows.yml
vendored
Normal file
@@ -0,0 +1,30 @@
|
||||
name: "test-windows"
|
||||
on:
|
||||
workflow_dispatch:
|
||||
pull_request:
|
||||
branches:
|
||||
- main
|
||||
push:
|
||||
branches:
|
||||
- main
|
||||
|
||||
concurrency:
|
||||
group: ${{ github.workflow }}-${{ github.ref }}
|
||||
cancel-in-progress: true
|
||||
|
||||
jobs:
|
||||
test-default-version:
|
||||
runs-on: windows-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
- name: Should not be on path
|
||||
run: |
|
||||
if (!(Get-Command -Name "uv" -ErrorAction SilentlyContinue)) {
|
||||
exit 0
|
||||
} else {
|
||||
exit 1
|
||||
}
|
||||
- name: Setup uv
|
||||
uses: ./
|
||||
- run: uv sync
|
||||
working-directory: __tests__\fixtures\uv-project
|
||||
429
.github/workflows/test.yml
vendored
429
.github/workflows/test.yml
vendored
@@ -12,9 +12,6 @@ concurrency:
|
||||
group: ${{ github.workflow }}-${{ github.ref }}
|
||||
cancel-in-progress: true
|
||||
|
||||
permissions:
|
||||
contents: read
|
||||
|
||||
jobs:
|
||||
lint:
|
||||
runs-on: ubuntu-latest
|
||||
@@ -29,33 +26,20 @@ jobs:
|
||||
npm install
|
||||
- run: |
|
||||
npm run all
|
||||
- name: Check all jobs are in all-tests-passed.needs
|
||||
run: |
|
||||
tsc check-all-tests-passed-needs.ts
|
||||
node check-all-tests-passed-needs.js
|
||||
working-directory: .github/scripts
|
||||
- name: Make sure no changes from linters are detected
|
||||
run: |
|
||||
git diff --exit-code || (echo "::error::Please run 'npm run all' to fix the issues" && exit 1)
|
||||
|
||||
test-default-version:
|
||||
runs-on: ${{ matrix.os }}
|
||||
strategy:
|
||||
matrix:
|
||||
os: [ubuntu-latest, macos-latest, macos-14, windows-latest]
|
||||
os: [ubuntu-latest, macos-latest, macos-14]
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
- name: Install latest version
|
||||
id: setup-uv
|
||||
uses: ./
|
||||
- run: uv sync
|
||||
working-directory: __tests__/fixtures/uv-project
|
||||
shell: bash
|
||||
- name: Check uv-path is set
|
||||
run: ${{ steps.setup-uv.outputs.uv-path }} --version
|
||||
- name: Check uvx-path is set
|
||||
run: ${{ steps.setup-uv.outputs.uvx-path }} --version
|
||||
|
||||
test-specific-version:
|
||||
runs-on: ubuntu-latest
|
||||
strategy:
|
||||
@@ -69,12 +53,8 @@ jobs:
|
||||
version: ${{ matrix.uv-version }}
|
||||
- run: uv sync
|
||||
working-directory: __tests__/fixtures/uv-project
|
||||
|
||||
test-semver-range:
|
||||
strategy:
|
||||
matrix:
|
||||
os: [ ubuntu-latest, selfhosted-ubuntu-arm64 ]
|
||||
runs-on: ${{ matrix.os }}
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
- name: Install version 0.3
|
||||
@@ -83,35 +63,12 @@ jobs:
|
||||
with:
|
||||
version: "0.3"
|
||||
- name: Correct version gets installed
|
||||
run: |
|
||||
if [ "$(uv --version)" != "uv 0.3.5" ]; then
|
||||
echo "Wrong uv version: $(uv --version)"
|
||||
exit 1
|
||||
fi
|
||||
- name: Output has correct version
|
||||
run: |
|
||||
if [ "$UV_VERSION" != "0.3.5" ]; then
|
||||
exit 1
|
||||
fi
|
||||
env:
|
||||
UV_VERSION: ${{ steps.setup-uv.outputs.uv-version }}
|
||||
|
||||
test-pep440-version:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
- name: Install version 0.4.30
|
||||
id: setup-uv
|
||||
uses: ./
|
||||
with:
|
||||
version: ">=0.4.25,<0.5"
|
||||
- name: Correct version gets installed
|
||||
run: |
|
||||
if [ "$(uv --version)" != "uv 0.4.30" ]; then
|
||||
echo "Wrong uv version: $(uv --version)"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
test-pyproject-file-version:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
@@ -120,25 +77,14 @@ jobs:
|
||||
id: setup-uv
|
||||
uses: ./
|
||||
with:
|
||||
working-directory: "__tests__/fixtures/pyproject-toml-project"
|
||||
pyproject-file: "__tests__/fixtures/pyproject-toml-project/pyproject.toml"
|
||||
- name: Correct version gets installed
|
||||
run: |
|
||||
if [ "$(uv --version)" != "uv 0.5.14" ]; then
|
||||
echo "Wrong uv version: $(uv --version)"
|
||||
if [ "$UV_VERSION" != "0.5.14" ]; then
|
||||
exit 1
|
||||
fi
|
||||
|
||||
test-malformed-pyproject-file-fallback:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
- name: Install using malformed pyproject.toml
|
||||
id: setup-uv
|
||||
uses: ./
|
||||
with:
|
||||
working-directory: "__tests__/fixtures/malformed-pyproject-toml-project"
|
||||
- run: uv --help
|
||||
|
||||
env:
|
||||
UV_VERSION: ${{ steps.setup-uv.outputs.uv-version }}
|
||||
test-uv-file-version:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
@@ -147,21 +93,26 @@ jobs:
|
||||
id: setup-uv
|
||||
uses: ./
|
||||
with:
|
||||
working-directory: "__tests__/fixtures/uv-toml-project"
|
||||
pyproject-file: "__tests__/fixtures/uv-toml-project/pyproject.toml"
|
||||
uv-file: "__tests__/fixtures/uv-toml-project/uv.toml"
|
||||
- name: Correct version gets installed
|
||||
run: |
|
||||
if [ "$(uv --version)" != "uv 0.5.15" ]; then
|
||||
echo "Wrong uv version: $(uv --version)"
|
||||
if [ "$UV_VERSION" != "0.5.15" ]; then
|
||||
exit 1
|
||||
fi
|
||||
|
||||
env:
|
||||
UV_VERSION: ${{ steps.setup-uv.outputs.uv-version }}
|
||||
test-checksum:
|
||||
runs-on: ${{ matrix.inputs.os }}
|
||||
runs-on: ${{ matrix.os }}
|
||||
strategy:
|
||||
matrix:
|
||||
inputs:
|
||||
- os: ubuntu-latest
|
||||
os: [ubuntu-latest, macos-latest]
|
||||
checksum:
|
||||
["4d9279ad5ca596b1e2d703901d508430eb07564dc4d8837de9e2fca9c90f8ecd"]
|
||||
exclude:
|
||||
- os: macos-latest
|
||||
checksum: "4d9279ad5ca596b1e2d703901d508430eb07564dc4d8837de9e2fca9c90f8ecd"
|
||||
include:
|
||||
- os: macos-latest
|
||||
checksum: "a70cbfbf3bb5c08b2f84963b4f12c94e08fbb2468ba418a3bfe1066fbe9e7218"
|
||||
steps:
|
||||
@@ -170,10 +121,9 @@ jobs:
|
||||
uses: ./
|
||||
with:
|
||||
version: "0.3.2"
|
||||
checksum: ${{ matrix.inputs.checksum }}
|
||||
checksum: ${{ matrix.checksum }}
|
||||
- run: uv sync
|
||||
working-directory: __tests__/fixtures/uv-project
|
||||
|
||||
test-with-explicit-token:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
@@ -184,7 +134,6 @@ jobs:
|
||||
github-token: ${{ secrets.GITHUB_TOKEN }}
|
||||
- run: uv sync
|
||||
working-directory: __tests__/fixtures/uv-project
|
||||
|
||||
test-uvx:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
@@ -192,7 +141,6 @@ jobs:
|
||||
- name: Install default version
|
||||
uses: ./
|
||||
- run: uvx ruff --version
|
||||
|
||||
test-tool-install:
|
||||
runs-on: ${{ matrix.os }}
|
||||
strategy:
|
||||
@@ -210,7 +158,6 @@ jobs:
|
||||
uses: ./
|
||||
- run: uv tool install ruff
|
||||
- run: ruff --version
|
||||
|
||||
test-tilde-expansion-tool-dirs:
|
||||
runs-on: selfhosted-ubuntu-arm64
|
||||
steps:
|
||||
@@ -230,9 +177,8 @@ jobs:
|
||||
echo "UV_TOOL_DIR does not contain /home/ubuntu/tool-dir: $UV_TOOL_DIR"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
test-python-version:
|
||||
runs-on: ${{ matrix.os }}
|
||||
runs-on: ubuntu-latest
|
||||
strategy:
|
||||
matrix:
|
||||
os: [ubuntu-latest, macos-latest, windows-latest]
|
||||
@@ -249,23 +195,8 @@ jobs:
|
||||
exit 1
|
||||
fi
|
||||
shell: bash
|
||||
- run: uv sync
|
||||
working-directory: __tests__/fixtures/uv-project
|
||||
|
||||
test-activate-environment:
|
||||
runs-on: ${{ matrix.os }}
|
||||
strategy:
|
||||
matrix:
|
||||
os: [ ubuntu-latest, macos-latest, windows-latest ]
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
- name: Install latest version
|
||||
uses: ./
|
||||
with:
|
||||
python-version: 3.13.1t
|
||||
activate-environment: true
|
||||
- name: Verify packages can be installed
|
||||
run: uv pip install pip
|
||||
run: uv pip install --python=3.13.1t pip
|
||||
shell: bash
|
||||
- name: Verify python version is correct
|
||||
run: |
|
||||
@@ -274,7 +205,17 @@ jobs:
|
||||
exit 1
|
||||
fi
|
||||
shell: bash
|
||||
|
||||
test-malformed-pyproject-file-fallback:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
- name: Install using malformed pyproject.toml
|
||||
id: setup-uv
|
||||
uses: ./
|
||||
with:
|
||||
pyproject-file: "__tests__/fixtures/malformed-pyproject-toml-project/pyproject.toml"
|
||||
- run: uv sync
|
||||
working-directory: __tests__/fixtures/uv-project
|
||||
test-musl:
|
||||
runs-on: ubuntu-latest
|
||||
container: alpine
|
||||
@@ -284,309 +225,3 @@ jobs:
|
||||
uses: ./
|
||||
- run: uv sync
|
||||
working-directory: __tests__/fixtures/uv-project
|
||||
|
||||
test-setup-cache:
|
||||
runs-on: ${{ matrix.os }}
|
||||
strategy:
|
||||
matrix:
|
||||
enable-cache: [ "true", "false", "auto" ]
|
||||
os: [ "ubuntu-latest", "selfhosted-ubuntu-arm64", "windows-latest" ]
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
- name: Setup with cache
|
||||
uses: ./
|
||||
with:
|
||||
enable-cache: ${{ matrix.enable-cache }}
|
||||
cache-suffix: ${{ github.run_id }}-${{ github.run_attempt }}-test-setup-cache-${{ matrix.os }}-${{ matrix.enable-cache }}
|
||||
- run: uv sync
|
||||
working-directory: __tests__/fixtures/uv-project
|
||||
shell: bash
|
||||
test-restore-cache:
|
||||
runs-on: ${{ matrix.os }}
|
||||
strategy:
|
||||
matrix:
|
||||
enable-cache: [ "true", "false", "auto" ]
|
||||
os: [ "ubuntu-latest", "selfhosted-ubuntu-arm64", "windows-latest" ]
|
||||
needs: test-setup-cache
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
- name: Restore with cache
|
||||
id: restore
|
||||
uses: ./
|
||||
with:
|
||||
enable-cache: ${{ matrix.enable-cache }}
|
||||
cache-suffix: ${{ github.run_id }}-${{ github.run_attempt }}-test-setup-cache-${{ matrix.os }}-${{ matrix.enable-cache }}
|
||||
- name: Cache was hit
|
||||
if: ${{ matrix.enable-cache == 'true' || (matrix.enable-cache == 'auto' && matrix.os == 'ubuntu-latest') }}
|
||||
run: |
|
||||
if [ "$CACHE_HIT" != "true" ]; then
|
||||
exit 1
|
||||
fi
|
||||
env:
|
||||
CACHE_HIT: ${{ steps.restore.outputs.cache-hit }}
|
||||
shell: bash
|
||||
- name: Cache was not hit
|
||||
if: ${{ matrix.enable-cache == 'false' || (matrix.enable-cache == 'auto' && matrix.os == 'selfhosted-ubuntu-arm64') }}
|
||||
run: |
|
||||
if [ "$CACHE_HIT" == "true" ]; then
|
||||
exit 1
|
||||
fi
|
||||
env:
|
||||
CACHE_HIT: ${{ steps.restore.outputs.cache-hit }}
|
||||
shell: bash
|
||||
- run: uv sync
|
||||
working-directory: __tests__/fixtures/uv-project
|
||||
shell: bash
|
||||
|
||||
test-setup-cache-requirements-txt:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
- name: Setup with cache
|
||||
uses: ./
|
||||
with:
|
||||
enable-cache: true
|
||||
cache-suffix: ${{ github.run_id }}-${{ github.run_attempt }}-test-setup-cache-requirements-txt
|
||||
- run: |
|
||||
uv venv
|
||||
uv pip install -r requirements.txt
|
||||
working-directory: __tests__/fixtures/requirements-txt-project
|
||||
test-restore-cache-requirements-txt:
|
||||
runs-on: ubuntu-latest
|
||||
needs: test-setup-cache
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
- name: Restore with cache
|
||||
id: restore
|
||||
uses: ./
|
||||
with:
|
||||
enable-cache: true
|
||||
cache-suffix: ${{ github.run_id }}-${{ github.run_attempt }}-test-setup-cache-requirements-txt
|
||||
- name: Cache was hit
|
||||
run: |
|
||||
if [ "$CACHE_HIT" != "true" ]; then
|
||||
exit 1
|
||||
fi
|
||||
env:
|
||||
CACHE_HIT: ${{ steps.restore.outputs.cache-hit }}
|
||||
- run: |
|
||||
uv venv
|
||||
uv pip install -r requirements.txt
|
||||
working-directory: __tests__/fixtures/requirements-txt-project
|
||||
|
||||
test-setup-cache-dependency-glob:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
- name: Setup with cache
|
||||
uses: ./
|
||||
with:
|
||||
enable-cache: true
|
||||
cache-dependency-glob: |
|
||||
__tests__/fixtures/uv-project/uv.lock
|
||||
**/pyproject.toml
|
||||
cache-suffix: ${{ github.run_id }}-${{ github.run_attempt }}-test-setup-cache-dependency-glob
|
||||
- run: uv sync
|
||||
working-directory: __tests__/fixtures/uv-project
|
||||
test-restore-cache-dependency-glob:
|
||||
runs-on: ubuntu-latest
|
||||
needs: test-setup-cache-dependency-glob
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
- name: Change pyproject.toml
|
||||
run: |
|
||||
echo '[tool.uv]' >> __tests__/fixtures/uv-project/pyproject.toml
|
||||
echo 'dev-dependencies = []' >> __tests__/fixtures/uv-project/pyproject.toml
|
||||
- name: Restore with cache
|
||||
id: restore
|
||||
uses: ./
|
||||
with:
|
||||
enable-cache: true
|
||||
cache-dependency-glob: |
|
||||
__tests__/fixtures/uv-project/uv.lock
|
||||
**/pyproject.toml
|
||||
cache-suffix: ${{ github.run_id }}-${{ github.run_attempt }}-test-setup-cache-dependency-glob
|
||||
ignore-nothing-to-cache: true
|
||||
- name: Cache was not hit
|
||||
run: |
|
||||
if [ "$CACHE_HIT" == "true" ]; then
|
||||
exit 1
|
||||
fi
|
||||
env:
|
||||
CACHE_HIT: ${{ steps.restore.outputs.cache-hit }}
|
||||
|
||||
test-cache-local:
|
||||
strategy:
|
||||
matrix:
|
||||
inputs:
|
||||
- os: ubuntu-latest
|
||||
expected-cache-dir: "/home/runner/work/_temp/setup-uv-cache"
|
||||
- os: windows-latest
|
||||
expected-cache-dir: "C:\\a\\_temp\\setup-uv-cache"
|
||||
- os: selfhosted-ubuntu-arm64
|
||||
expected-cache-dir: "/home/ubuntu/.cache/uv"
|
||||
runs-on: ${{ matrix.inputs.os }}
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
- name: Setup with cache
|
||||
uses: ./
|
||||
with:
|
||||
cache-suffix: ${{ github.run_id }}-${{ github.run_attempt }}-test-cache-local
|
||||
- run: |
|
||||
if [ "$UV_CACHE_DIR" != "${{ matrix.inputs.expected-cache-dir }}" ]; then
|
||||
echo "UV_CACHE_DIR is not set to the expected value: $UV_CACHE_DIR"
|
||||
exit 1
|
||||
fi
|
||||
shell: bash
|
||||
|
||||
test-setup-cache-local:
|
||||
runs-on: selfhosted-ubuntu-arm64
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
- name: Setup with cache
|
||||
uses: ./
|
||||
with:
|
||||
enable-cache: true
|
||||
cache-suffix: ${{ github.run_id }}-${{ github.run_attempt }}-test-setup-cache-local
|
||||
cache-local-path: /tmp/uv-cache
|
||||
- run: uv sync
|
||||
working-directory: __tests__/fixtures/uv-project
|
||||
test-restore-cache-local:
|
||||
runs-on: selfhosted-ubuntu-arm64
|
||||
needs: test-setup-cache-local
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
- name: Restore with cache
|
||||
id: restore
|
||||
uses: ./
|
||||
with:
|
||||
enable-cache: true
|
||||
cache-suffix: ${{ github.run_id }}-${{ github.run_attempt }}-test-setup-cache-local
|
||||
cache-local-path: /tmp/uv-cache
|
||||
- name: Cache was hit
|
||||
run: |
|
||||
if [ "$CACHE_HIT" != "true" ]; then
|
||||
exit 1
|
||||
fi
|
||||
env:
|
||||
CACHE_HIT: ${{ steps.restore.outputs.cache-hit }}
|
||||
- run: uv sync
|
||||
working-directory: __tests__/fixtures/uv-project
|
||||
|
||||
test-tilde-expansion-cache-local-path:
|
||||
runs-on: selfhosted-ubuntu-arm64
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
- name: Create cache directory
|
||||
run: mkdir -p ~/uv-cache
|
||||
shell: bash
|
||||
- name: Setup with cache
|
||||
uses: ./
|
||||
with:
|
||||
cache-local-path: ~/uv-cache/cache-local-path
|
||||
- run: uv sync
|
||||
working-directory: __tests__/fixtures/uv-project
|
||||
|
||||
test-tilde-expansion-cache-dependency-glob:
|
||||
runs-on: selfhosted-ubuntu-arm64
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
- name: Create cache directory
|
||||
run: mkdir -p ~/uv-cache
|
||||
shell: bash
|
||||
- name: Create cache dependency glob file
|
||||
run: touch ~/uv-cache.glob
|
||||
shell: bash
|
||||
- name: Setup with cache
|
||||
uses: ./
|
||||
with:
|
||||
enable-cache: true
|
||||
cache-local-path: ~/uv-cache/cache-dependency-glob
|
||||
cache-dependency-glob: "~/uv-cache.glob"
|
||||
- run: uv sync
|
||||
working-directory: __tests__/fixtures/uv-project
|
||||
|
||||
cleanup-tilde-expansion-tests:
|
||||
needs:
|
||||
- test-tilde-expansion-cache-local-path
|
||||
- test-tilde-expansion-cache-dependency-glob
|
||||
if: always()
|
||||
runs-on: selfhosted-ubuntu-arm64
|
||||
steps:
|
||||
- name: Remove cache directory
|
||||
run: rm -rf ~/uv-cache
|
||||
shell: bash
|
||||
- name: Remove cache dependency glob file
|
||||
run: rm -f ~/uv-cache.glob
|
||||
shell: bash
|
||||
|
||||
test-no-python-version:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
- name: Fake pyproject.toml at root
|
||||
run: cp __tests__/fixtures/old-python-constraint-project/pyproject.toml pyproject.toml
|
||||
- name: Setup with cache
|
||||
uses: ./
|
||||
with:
|
||||
enable-cache: true
|
||||
- run: uv sync
|
||||
working-directory: __tests__/fixtures/old-python-constraint-project
|
||||
|
||||
test-custom-manifest-file:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
- name: Install from custom manifest file
|
||||
uses: ./
|
||||
with:
|
||||
manifest-file: "https://raw.githubusercontent.com/astral-sh/setup-uv/${{ github.ref }}/__tests__/download/custom-manifest.json"
|
||||
- run: uv sync
|
||||
working-directory: __tests__/fixtures/uv-project
|
||||
- name: Correct version gets installed
|
||||
run: |
|
||||
if [ "$(uv --version)" != "uv 0.7.12-alpha.1" ]; then
|
||||
echo "Wrong uv version: $(uv --version)"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
all-tests-passed:
|
||||
runs-on: ubuntu-latest
|
||||
needs:
|
||||
- lint
|
||||
- test-default-version
|
||||
- test-specific-version
|
||||
- test-semver-range
|
||||
- test-pep440-version
|
||||
- test-pyproject-file-version
|
||||
- test-malformed-pyproject-file-fallback
|
||||
- test-uv-file-version
|
||||
- test-checksum
|
||||
- test-with-explicit-token
|
||||
- test-uvx
|
||||
- test-tool-install
|
||||
- test-tilde-expansion-tool-dirs
|
||||
- test-python-version
|
||||
- test-activate-environment
|
||||
- test-musl
|
||||
- test-cache-local
|
||||
- test-setup-cache
|
||||
- test-restore-cache
|
||||
- test-setup-cache-requirements-txt
|
||||
- test-restore-cache-requirements-txt
|
||||
- test-setup-cache-dependency-glob
|
||||
- test-restore-cache-dependency-glob
|
||||
- test-setup-cache-local
|
||||
- test-restore-cache-local
|
||||
- test-tilde-expansion-cache-local-path
|
||||
- test-tilde-expansion-cache-dependency-glob
|
||||
- cleanup-tilde-expansion-tests
|
||||
- test-no-python-version
|
||||
- test-custom-manifest-file
|
||||
if: always()
|
||||
steps:
|
||||
- name: All tests passed
|
||||
run: |
|
||||
echo "All jobs passed: ${{ !contains(needs.*.result, 'failure') }}"
|
||||
# shellcheck disable=SC2242
|
||||
exit ${{ contains(needs.*.result, 'failure') && 1 || 0 }}
|
||||
|
||||
34
.github/workflows/update-known-checksums.yml
vendored
Normal file
34
.github/workflows/update-known-checksums.yml
vendored
Normal file
@@ -0,0 +1,34 @@
|
||||
name: "Update known checksums"
|
||||
on:
|
||||
workflow_dispatch:
|
||||
schedule:
|
||||
- cron: "0 4 * * *" # Run every day at 4am UTC
|
||||
|
||||
jobs:
|
||||
build:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
- uses: actions/setup-node@v4
|
||||
with:
|
||||
node-version: "20"
|
||||
- name: Update known checksums
|
||||
id: update-known-checksums
|
||||
run:
|
||||
node dist/update-known-checksums/index.js
|
||||
src/download/checksum/known-checksums.ts ${{ secrets.GITHUB_TOKEN }}
|
||||
- run: npm install && npm run all
|
||||
- name: Create Pull Request
|
||||
uses: peter-evans/create-pull-request@271a8d0340265f705b14b6d32b9829c1cb33d45e # v7.0.8
|
||||
with:
|
||||
commit-message: "chore: update known checksums"
|
||||
title:
|
||||
"chore: update known checksums for ${{
|
||||
steps.update-known-checksums.outputs.latest-version }}"
|
||||
body:
|
||||
"chore: update known checksums for ${{
|
||||
steps.update-known-checksums.outputs.latest-version }}"
|
||||
base: main
|
||||
labels: "automated-pr,update-known-checksums"
|
||||
branch: update-known-checksums-pr
|
||||
delete-branch: true
|
||||
39
.github/workflows/update-known-versions.yml
vendored
39
.github/workflows/update-known-versions.yml
vendored
@@ -1,39 +0,0 @@
|
||||
name: "Update known versions"
|
||||
on:
|
||||
workflow_dispatch:
|
||||
schedule:
|
||||
- cron: "0 4 * * *" # Run every day at 4am UTC
|
||||
|
||||
jobs:
|
||||
build:
|
||||
runs-on: ubuntu-24.04-arm
|
||||
permissions:
|
||||
contents: write
|
||||
pull-requests: write
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
- uses: actions/setup-node@v4
|
||||
with:
|
||||
node-version: "20"
|
||||
- name: Update known versions
|
||||
id: update-known-versions
|
||||
run:
|
||||
node dist/update-known-versions/index.js
|
||||
src/download/checksum/known-checksums.ts
|
||||
version-manifest.json
|
||||
${{ secrets.GITHUB_TOKEN }}
|
||||
- run: npm install && npm run all
|
||||
- name: Create Pull Request
|
||||
uses: peter-evans/create-pull-request@271a8d0340265f705b14b6d32b9829c1cb33d45e # v7.0.8
|
||||
with:
|
||||
commit-message: "chore: update known versions"
|
||||
title:
|
||||
"chore: update known versions for ${{
|
||||
steps.update-known-versions.outputs.latest-version }}"
|
||||
body:
|
||||
"chore: update known versions for ${{
|
||||
steps.update-known-versions.outputs.latest-version }}"
|
||||
base: main
|
||||
labels: "automated-pr,update-known-versions"
|
||||
branch: update-known-versions-pr
|
||||
delete-branch: true
|
||||
@@ -11,9 +11,7 @@ on:
|
||||
jobs:
|
||||
update_major_minor_tags:
|
||||
name: Make sure major and minor tags are up to date on a patch release
|
||||
runs-on: ubuntu-24.04-arm
|
||||
permissions:
|
||||
contents: write
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
- name: Update Major Minor Tags
|
||||
|
||||
176
README.md
176
README.md
@@ -14,10 +14,9 @@ Set up your GitHub Actions workflow with a specific version of [uv](https://docs
|
||||
- [Install a required-version or latest (default)](#install-a-required-version-or-latest-default)
|
||||
- [Install the latest version](#install-the-latest-version)
|
||||
- [Install a specific version](#install-a-specific-version)
|
||||
- [Install a version by supplying a semver range or pep440 specifier](#install-a-version-by-supplying-a-semver-range-or-pep440-specifier)
|
||||
- [Install a version by supplying a semver range](#install-a-version-by-supplying-a-semver-range)
|
||||
- [Install a required-version](#install-a-required-version)
|
||||
- [Python version](#python-version)
|
||||
- [Activate environment](#activate-environment)
|
||||
- [Working directory](#working-directory)
|
||||
- [Validate checksum](#validate-checksum)
|
||||
- [Enable Caching](#enable-caching)
|
||||
- [Cache dependency glob](#cache-dependency-glob)
|
||||
@@ -28,7 +27,6 @@ Set up your GitHub Actions workflow with a specific version of [uv](https://docs
|
||||
- [UV_TOOL_DIR](#uv_tool_dir)
|
||||
- [UV_TOOL_BIN_DIR](#uv_tool_bin_dir)
|
||||
- [Tilde Expansion](#tilde-expansion)
|
||||
- [Manifest file](#manifest-file)
|
||||
- [How it works](#how-it-works)
|
||||
- [FAQ](#faq)
|
||||
|
||||
@@ -38,7 +36,7 @@ Set up your GitHub Actions workflow with a specific version of [uv](https://docs
|
||||
|
||||
```yaml
|
||||
- name: Install the latest version of uv
|
||||
uses: astral-sh/setup-uv@v6
|
||||
uses: astral-sh/setup-uv@v5
|
||||
```
|
||||
|
||||
If you do not specify a version, this action will look for a [required-version](https://docs.astral.sh/uv/reference/settings/#required-version)
|
||||
@@ -51,7 +49,7 @@ For an example workflow, see
|
||||
|
||||
```yaml
|
||||
- name: Install the latest version of uv
|
||||
uses: astral-sh/setup-uv@v6
|
||||
uses: astral-sh/setup-uv@v5
|
||||
with:
|
||||
version: "latest"
|
||||
```
|
||||
@@ -60,47 +58,62 @@ For an example workflow, see
|
||||
|
||||
```yaml
|
||||
- name: Install a specific version of uv
|
||||
uses: astral-sh/setup-uv@v6
|
||||
uses: astral-sh/setup-uv@v5
|
||||
with:
|
||||
version: "0.4.4"
|
||||
```
|
||||
|
||||
### Install a version by supplying a semver range or pep440 specifier
|
||||
### Install a version by supplying a semver range
|
||||
|
||||
You can specify a [semver range](https://github.com/npm/node-semver?tab=readme-ov-file#ranges)
|
||||
or [pep440 specifier](https://peps.python.org/pep-0440/#version-specifiers)
|
||||
to install the latest version that satisfies the range.
|
||||
|
||||
```yaml
|
||||
- name: Install a semver range of uv
|
||||
uses: astral-sh/setup-uv@v6
|
||||
uses: astral-sh/setup-uv@v5
|
||||
with:
|
||||
version: ">=0.4.0"
|
||||
```
|
||||
|
||||
```yaml
|
||||
- name: Pinning a minor version of uv
|
||||
uses: astral-sh/setup-uv@v6
|
||||
uses: astral-sh/setup-uv@v5
|
||||
with:
|
||||
version: "0.4.x"
|
||||
```
|
||||
|
||||
### Install a required-version
|
||||
|
||||
You can specify a [required-version](https://docs.astral.sh/uv/reference/settings/#required-version)
|
||||
in either a `uv.toml` or `pyproject.toml` file:
|
||||
|
||||
```yaml
|
||||
- name: Install a pep440-specifier-satisfying version of uv
|
||||
uses: astral-sh/setup-uv@v6
|
||||
- name: Install required-version defined in uv.toml
|
||||
uses: astral-sh/setup-uv@v5
|
||||
with:
|
||||
version: ">=0.4.25,<0.5"
|
||||
uv-file: "path/to/uv.toml"
|
||||
```
|
||||
|
||||
```yaml
|
||||
- name: Install required-version defined in pyproject.toml
|
||||
uses: astral-sh/setup-uv@v5
|
||||
with:
|
||||
pyproject-file: "path/to/pyproject.toml"
|
||||
```
|
||||
|
||||
### Python version
|
||||
|
||||
You can use the input `python-version` to set the environment variable `UV_PYTHON` for the rest of your workflow
|
||||
You can use the input `python-version` to
|
||||
|
||||
- set the environment variable `UV_PYTHON` for the rest of your workflow
|
||||
- create a new virtual environment with the specified python version
|
||||
- activate the virtual environment for the rest of your workflow
|
||||
|
||||
This will override any python version specifications in `pyproject.toml` and `.python-version`
|
||||
|
||||
```yaml
|
||||
- name: Install the latest version of uv and set the python version to 3.13t
|
||||
uses: astral-sh/setup-uv@v6
|
||||
uses: astral-sh/setup-uv@v5
|
||||
with:
|
||||
python-version: 3.13t
|
||||
- run: uv pip install --python=3.13t pip
|
||||
@@ -118,51 +131,13 @@ jobs:
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
- name: Install the latest version of uv and set the python version
|
||||
uses: astral-sh/setup-uv@v6
|
||||
uses: astral-sh/setup-uv@v5
|
||||
with:
|
||||
python-version: ${{ matrix.python-version }}
|
||||
- name: Test with python ${{ matrix.python-version }}
|
||||
run: uv run --frozen pytest
|
||||
```
|
||||
|
||||
### Activate environment
|
||||
|
||||
You can set `activate-environment` to `true` to automatically activate a venv.
|
||||
This allows directly using it in later steps:
|
||||
|
||||
```yaml
|
||||
- name: Install the latest version of uv and activate the environment
|
||||
uses: astral-sh/setup-uv@v6
|
||||
with:
|
||||
activate-environment: true
|
||||
- run: uv pip install pip
|
||||
```
|
||||
|
||||
> [!WARNING]
|
||||
>
|
||||
> Activating the environment adds your dependencies to the `PATH`, which could break some workflows.
|
||||
> For example, if you have a dependency which requires uv, e.g., `hatch`, activating the
|
||||
> environment will shadow the `uv` binary installed by this action and may result in a different uv
|
||||
> version being used.
|
||||
>
|
||||
> We do not recommend using this setting for most use-cases. Instead, use `uv run` to execute
|
||||
> commands in the environment.
|
||||
|
||||
### Working directory
|
||||
|
||||
You can set the working directory with the `working-directory` input.
|
||||
This controls where we look for `pyproject.toml`, `uv.toml` and `.python-version` files
|
||||
which are used to determine the version of uv and python to install.
|
||||
|
||||
It also controls where [the venv gets created](#activate-environment).
|
||||
|
||||
```yaml
|
||||
- name: Install uv based on the config files in the working-directory
|
||||
uses: astral-sh/setup-uv@v6
|
||||
with:
|
||||
working-directory: my/subproject/dir
|
||||
```
|
||||
|
||||
### Validate checksum
|
||||
|
||||
You can specify a checksum to validate the downloaded executable. Checksums up to the default version
|
||||
@@ -171,7 +146,7 @@ are automatically verified by this action. The sha256 hashes can be found on the
|
||||
|
||||
```yaml
|
||||
- name: Install a specific version and validate the checksum
|
||||
uses: astral-sh/setup-uv@v6
|
||||
uses: astral-sh/setup-uv@v5
|
||||
with:
|
||||
version: "0.3.1"
|
||||
checksum: "e11b01402ab645392c7ad6044db63d37e4fd1e745e015306993b07695ea5f9f8"
|
||||
@@ -193,7 +168,7 @@ You can optionally define a custom cache key suffix.
|
||||
```yaml
|
||||
- name: Enable caching and define a custom cache key suffix
|
||||
id: setup-uv
|
||||
uses: astral-sh/setup-uv@v6
|
||||
uses: astral-sh/setup-uv@v5
|
||||
with:
|
||||
enable-cache: true
|
||||
cache-suffix: "optional-suffix"
|
||||
@@ -216,22 +191,16 @@ changes. If you use relative paths, they are relative to the repository root.
|
||||
|
||||
> [!NOTE]
|
||||
>
|
||||
> You can look up supported patterns [here](https://github.com/actions/toolkit/tree/main/packages/glob#patterns)
|
||||
>
|
||||
> The default is
|
||||
> ```yaml
|
||||
> cache-dependency-glob: |
|
||||
> **/*requirements*.txt
|
||||
> **/*requirements*.in
|
||||
> **/*constraints*.txt
|
||||
> **/*constraints*.in
|
||||
> **/pyproject.toml
|
||||
> **/requirements*.txt
|
||||
> **/uv.lock
|
||||
> ```
|
||||
|
||||
```yaml
|
||||
- name: Define a cache dependency glob
|
||||
uses: astral-sh/setup-uv@v6
|
||||
uses: astral-sh/setup-uv@v5
|
||||
with:
|
||||
enable-cache: true
|
||||
cache-dependency-glob: "**/pyproject.toml"
|
||||
@@ -239,7 +208,7 @@ changes. If you use relative paths, they are relative to the repository root.
|
||||
|
||||
```yaml
|
||||
- name: Define a list of cache dependency globs
|
||||
uses: astral-sh/setup-uv@v6
|
||||
uses: astral-sh/setup-uv@v5
|
||||
with:
|
||||
enable-cache: true
|
||||
cache-dependency-glob: |
|
||||
@@ -249,7 +218,7 @@ changes. If you use relative paths, they are relative to the repository root.
|
||||
|
||||
```yaml
|
||||
- name: Define an absolute cache dependency glob
|
||||
uses: astral-sh/setup-uv@v6
|
||||
uses: astral-sh/setup-uv@v5
|
||||
with:
|
||||
enable-cache: true
|
||||
cache-dependency-glob: "/tmp/my-folder/requirements*.txt"
|
||||
@@ -257,7 +226,7 @@ changes. If you use relative paths, they are relative to the repository root.
|
||||
|
||||
```yaml
|
||||
- name: Never invalidate the cache
|
||||
uses: astral-sh/setup-uv@v6
|
||||
uses: astral-sh/setup-uv@v5
|
||||
with:
|
||||
enable-cache: true
|
||||
cache-dependency-glob: ""
|
||||
@@ -272,7 +241,7 @@ It defaults to `setup-uv-cache` in the `TMP` dir, `D:\a\_temp\uv-tool-dir` on Wi
|
||||
|
||||
```yaml
|
||||
- name: Define a custom uv cache path
|
||||
uses: astral-sh/setup-uv@v6
|
||||
uses: astral-sh/setup-uv@v5
|
||||
with:
|
||||
cache-local-path: "/path/to/cache"
|
||||
```
|
||||
@@ -291,7 +260,7 @@ input.
|
||||
|
||||
```yaml
|
||||
- name: Don't prune the cache before saving it
|
||||
uses: astral-sh/setup-uv@v6
|
||||
uses: astral-sh/setup-uv@v5
|
||||
with:
|
||||
enable-cache: true
|
||||
prune-cache: false
|
||||
@@ -304,7 +273,7 @@ If you want to ignore this, set the `ignore-nothing-to-cache` input to `true`.
|
||||
|
||||
```yaml
|
||||
- name: Ignore nothing to cache
|
||||
uses: astral-sh/setup-uv@v6
|
||||
uses: astral-sh/setup-uv@v5
|
||||
with:
|
||||
enable-cache: true
|
||||
ignore-nothing-to-cache: true
|
||||
@@ -319,7 +288,7 @@ If you want to ignore this, set the `ignore-empty-workdir` input to `true`.
|
||||
|
||||
```yaml
|
||||
- name: Ignore empty workdir
|
||||
uses: astral-sh/setup-uv@v6
|
||||
uses: astral-sh/setup-uv@v5
|
||||
with:
|
||||
ignore-empty-workdir: true
|
||||
```
|
||||
@@ -336,7 +305,7 @@ are not sufficient, you can provide a custom GitHub token with the necessary per
|
||||
|
||||
```yaml
|
||||
- name: Install the latest version of uv with a custom GitHub token
|
||||
uses: astral-sh/setup-uv@v6
|
||||
uses: astral-sh/setup-uv@v5
|
||||
with:
|
||||
github-token: ${{ secrets.CUSTOM_GITHUB_TOKEN }}
|
||||
```
|
||||
@@ -354,7 +323,7 @@ input:
|
||||
|
||||
```yaml
|
||||
- name: Install the latest version of uv with a custom tool dir
|
||||
uses: astral-sh/setup-uv@v6
|
||||
uses: astral-sh/setup-uv@v5
|
||||
with:
|
||||
tool-dir: "/path/to/tool/dir"
|
||||
```
|
||||
@@ -373,7 +342,7 @@ If you want to change this behaviour (especially on self-hosted runners) you can
|
||||
|
||||
```yaml
|
||||
- name: Install the latest version of uv with a custom tool bin dir
|
||||
uses: astral-sh/setup-uv@v6
|
||||
uses: astral-sh/setup-uv@v5
|
||||
with:
|
||||
tool-bin-dir: "/path/to/tool-bin/dir"
|
||||
```
|
||||
@@ -389,7 +358,7 @@ This action supports expanding the `~` character to the user's home directory fo
|
||||
|
||||
```yaml
|
||||
- name: Expand the tilde character
|
||||
uses: astral-sh/setup-uv@v6
|
||||
uses: astral-sh/setup-uv@v5
|
||||
with:
|
||||
cache-local-path: "~/path/to/cache"
|
||||
tool-dir: "~/path/to/tool/dir"
|
||||
@@ -397,44 +366,6 @@ This action supports expanding the `~` character to the user's home directory fo
|
||||
cache-dependency-glob: "~/my-cache-buster"
|
||||
```
|
||||
|
||||
### Manifest file
|
||||
|
||||
The `manifest-file` input allows you to specify a JSON manifest that lists available uv versions,
|
||||
architectures, and their download URLs. By default, this action uses the manifest file contained
|
||||
in this repository, which is automatically updated with each release of uv.
|
||||
|
||||
The manifest file contains an array of objects, each describing a version,
|
||||
architecture, platform, and the corresponding download URL. For example:
|
||||
|
||||
```json
|
||||
[
|
||||
{
|
||||
"version": "0.7.13",
|
||||
"artifactName": "uv-aarch64-apple-darwin.tar.gz",
|
||||
"arch": "aarch64",
|
||||
"platform": "apple-darwin",
|
||||
"downloadUrl": "https://github.com/astral-sh/uv/releases/download/0.7.13/uv-aarch64-apple-darwin.tar.gz"
|
||||
},
|
||||
...
|
||||
]
|
||||
```
|
||||
|
||||
You can supply a custom manifest file URL to define additional versions,
|
||||
architectures, or different download URLs.
|
||||
This is useful if you maintain your own uv builds or want to override the default sources.
|
||||
|
||||
```yaml
|
||||
- name: Use a custom manifest file
|
||||
uses: astral-sh/setup-uv@v6
|
||||
with:
|
||||
manifest-file: "https://example.com/my-custom-manifest.json"
|
||||
```
|
||||
|
||||
> [!NOTE]
|
||||
> When you use a custom manifest file and do not set the `version` input, its default value is `latest`.
|
||||
> This means the action will install the latest version available in the custom manifest file.
|
||||
> This is different from the default behavior of installing the latest version from the official uv releases.
|
||||
|
||||
## How it works
|
||||
|
||||
This action downloads uv from the uv repo's official
|
||||
@@ -442,7 +373,7 @@ This action downloads uv from the uv repo's official
|
||||
[GitHub Actions Toolkit](https://github.com/actions/toolkit) to cache it as a tool to speed up
|
||||
consecutive runs on self-hosted runners.
|
||||
|
||||
The installed version of uv is then added to the runner PATH, enabling later steps to invoke it
|
||||
The installed version of uv is then added to the runner PATH, enabling subsequent steps to invoke it
|
||||
by name (`uv`).
|
||||
|
||||
## FAQ
|
||||
@@ -460,7 +391,7 @@ For example:
|
||||
- name: Checkout the repository
|
||||
uses: actions/checkout@main
|
||||
- name: Install the latest version of uv
|
||||
uses: astral-sh/setup-uv@v6
|
||||
uses: astral-sh/setup-uv@v5
|
||||
with:
|
||||
enable-cache: true
|
||||
- name: Test
|
||||
@@ -472,7 +403,7 @@ To install a specific version of Python, use
|
||||
|
||||
```yaml
|
||||
- name: Install the latest version of uv
|
||||
uses: astral-sh/setup-uv@v6
|
||||
uses: astral-sh/setup-uv@v5
|
||||
with:
|
||||
enable-cache: true
|
||||
- name: Install Python 3.12
|
||||
@@ -491,7 +422,7 @@ output:
|
||||
uses: actions/checkout@main
|
||||
- name: Install the default version of uv
|
||||
id: setup-uv
|
||||
uses: astral-sh/setup-uv@v6
|
||||
uses: astral-sh/setup-uv@v5
|
||||
- name: Print the installed version
|
||||
run: echo "Installed uv version is ${{ steps.setup-uv.outputs.uv-version }}"
|
||||
```
|
||||
@@ -517,11 +448,11 @@ because they try to upload with the same cache key.
|
||||
You might see errors like
|
||||
`Failed to save: Failed to CreateCacheEntry: Received non-retryable error: Failed request: (409) Conflict: cache entry with the same key, version, and scope already exists`
|
||||
|
||||
### Why do I see warnings like `No GitHub Actions cache found for key`
|
||||
### Why do I see warnings like `Cache not found for keys`
|
||||
|
||||
When a workflow runs for the first time on a branch and has a new cache key, because the
|
||||
[cache-dependency-glob](#cache-dependency-glob) found changed files (changed dependencies),
|
||||
the cache will not be found and the warning `No GitHub Actions cache found for key` will be printed.
|
||||
the cache will not be found and the warning `Cache not found for keys` will be printed.
|
||||
|
||||
While this might be irritating at first, it is expected behaviour and the cache will be created
|
||||
and reused in later workflows.
|
||||
@@ -537,11 +468,6 @@ Some workflows need uv but do not need to access the repository content.
|
||||
But **if** you need to access the repository content, you have run `actions/checkout` before running `setup-uv`.
|
||||
Running `actions/checkout` after `setup-uv` **is not supported**.
|
||||
|
||||
### Does `setup-uv` also install my project or its dependencies automatically?
|
||||
|
||||
No, `setup-uv` alone wont install any libraries from your `pyproject.toml` or `requirements.txt`, it only sets up `uv`.
|
||||
You should run `uv sync` or `uv pip install .` separately, or use `uv run ...` to ensure necessary dependencies are installed.
|
||||
|
||||
## Acknowledgements
|
||||
|
||||
`setup-uv` was initially written and published by [Kevin Stillhammer](https://github.com/eifinger)
|
||||
|
||||
@@ -1,9 +0,0 @@
|
||||
[
|
||||
{
|
||||
"version": "0.7.12-alpha.1",
|
||||
"artifactName": "uv-x86_64-unknown-linux-gnu.tar.gz",
|
||||
"arch": "x86_64",
|
||||
"platform": "unknown-linux-gnu",
|
||||
"downloadUrl": "https://release.pyx.dev/0.7.12-alpha.1/uv-x86_64-unknown-linux-gnu.tar.gz"
|
||||
}
|
||||
]
|
||||
29
action.yml
29
action.yml
@@ -6,22 +6,18 @@ inputs:
|
||||
version:
|
||||
description: "The version of uv to install e.g., `0.5.0` Defaults to the version in pyproject.toml or 'latest'."
|
||||
default: ""
|
||||
pyproject-file:
|
||||
description: "Path to a pyproject.toml"
|
||||
default: ""
|
||||
uv-file:
|
||||
description: "Path to a uv.toml"
|
||||
default: ""
|
||||
python-version:
|
||||
description: "The version of Python to set UV_PYTHON to"
|
||||
required: false
|
||||
activate-environment:
|
||||
description: "Use uv venv to activate a venv ready to be used by later steps. "
|
||||
default: "false"
|
||||
working-directory:
|
||||
description: "The directory to execute all commands in and look for files such as pyproject.toml"
|
||||
default: ${{ github.workspace }}
|
||||
checksum:
|
||||
description: "The checksum of the uv version to install"
|
||||
required: false
|
||||
server-url:
|
||||
description: "(Deprecated) The server url to use when downloading uv"
|
||||
required: false
|
||||
default: "https://github.com"
|
||||
github-token:
|
||||
description:
|
||||
"Used to increase the rate limit when retrieving versions and downloading uv."
|
||||
@@ -35,12 +31,8 @@ inputs:
|
||||
"Glob pattern to match files relative to the repository root to control
|
||||
the cache."
|
||||
default: |
|
||||
**/*requirements*.txt
|
||||
**/*requirements*.in
|
||||
**/*constraints*.txt
|
||||
**/*constraints*.in
|
||||
**/pyproject.toml
|
||||
**/uv.lock
|
||||
**/requirements*.txt
|
||||
cache-suffix:
|
||||
description: "Suffix for the cache key"
|
||||
required: false
|
||||
@@ -62,16 +54,9 @@ inputs:
|
||||
tool-bin-dir:
|
||||
description: "Custom path to set UV_TOOL_BIN_DIR to."
|
||||
required: false
|
||||
manifest-file:
|
||||
description: "URL to the manifest file containing available versions and download URLs."
|
||||
required: false
|
||||
outputs:
|
||||
uv-version:
|
||||
description: "The installed uv version. Useful when using latest."
|
||||
uv-path:
|
||||
description: "The path to the installed uv binary."
|
||||
uvx-path:
|
||||
description: "The path to the installed uvx binary."
|
||||
cache-hit:
|
||||
description: "A boolean value to indicate a cache entry was found"
|
||||
runs:
|
||||
|
||||
181
dist/save-cache/index.js
generated
vendored
181
dist/save-cache/index.js
generated
vendored
@@ -220,7 +220,7 @@ function restoreCacheV2(paths, primaryKey, restoreKeys, options, enableCrossOsAr
|
||||
};
|
||||
const response = yield twirpClient.GetCacheEntryDownloadURL(request);
|
||||
if (!response.ok) {
|
||||
core.debug(`Cache not found for version ${request.version} of keys: ${keys.join(', ')}`);
|
||||
core.debug(`Cache not found for keys: ${keys.join(', ')}`);
|
||||
return undefined;
|
||||
}
|
||||
core.info(`Cache hit for: ${request.key}`);
|
||||
@@ -2204,7 +2204,6 @@ const cacheUtils_1 = __nccwpck_require__(8299);
|
||||
const auth_1 = __nccwpck_require__(4552);
|
||||
const http_client_1 = __nccwpck_require__(4844);
|
||||
const cache_twirp_client_1 = __nccwpck_require__(1486);
|
||||
const util_1 = __nccwpck_require__(7564);
|
||||
/**
|
||||
* This class is a wrapper around the CacheServiceClientJSON class generated by Twirp.
|
||||
*
|
||||
@@ -2264,7 +2263,6 @@ class CacheServiceClient {
|
||||
(0, core_1.debug)(`[Response] - ${response.message.statusCode}`);
|
||||
(0, core_1.debug)(`Headers: ${JSON.stringify(response.message.headers, null, 2)}`);
|
||||
const body = JSON.parse(rawBody);
|
||||
(0, util_1.maskSecretUrls)(body);
|
||||
(0, core_1.debug)(`Body: ${JSON.stringify(body, null, 2)}`);
|
||||
if (this.isSuccessStatusCode(statusCode)) {
|
||||
return { response, body };
|
||||
@@ -2446,87 +2444,6 @@ exports.getUserAgentString = getUserAgentString;
|
||||
|
||||
/***/ }),
|
||||
|
||||
/***/ 7564:
|
||||
/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => {
|
||||
|
||||
"use strict";
|
||||
|
||||
Object.defineProperty(exports, "__esModule", ({ value: true }));
|
||||
exports.maskSecretUrls = exports.maskSigUrl = void 0;
|
||||
const core_1 = __nccwpck_require__(7484);
|
||||
/**
|
||||
* Masks the `sig` parameter in a URL and sets it as a secret.
|
||||
*
|
||||
* @param url - The URL containing the signature parameter to mask
|
||||
* @remarks
|
||||
* This function attempts to parse the provided URL and identify the 'sig' query parameter.
|
||||
* If found, it registers both the raw and URL-encoded signature values as secrets using
|
||||
* the Actions `setSecret` API, which prevents them from being displayed in logs.
|
||||
*
|
||||
* The function handles errors gracefully if URL parsing fails, logging them as debug messages.
|
||||
*
|
||||
* @example
|
||||
* ```typescript
|
||||
* // Mask a signature in an Azure SAS token URL
|
||||
* maskSigUrl('https://example.blob.core.windows.net/container/file.txt?sig=abc123&se=2023-01-01');
|
||||
* ```
|
||||
*/
|
||||
function maskSigUrl(url) {
|
||||
if (!url)
|
||||
return;
|
||||
try {
|
||||
const parsedUrl = new URL(url);
|
||||
const signature = parsedUrl.searchParams.get('sig');
|
||||
if (signature) {
|
||||
(0, core_1.setSecret)(signature);
|
||||
(0, core_1.setSecret)(encodeURIComponent(signature));
|
||||
}
|
||||
}
|
||||
catch (error) {
|
||||
(0, core_1.debug)(`Failed to parse URL: ${url} ${error instanceof Error ? error.message : String(error)}`);
|
||||
}
|
||||
}
|
||||
exports.maskSigUrl = maskSigUrl;
|
||||
/**
|
||||
* Masks sensitive information in URLs containing signature parameters.
|
||||
* Currently supports masking 'sig' parameters in the 'signed_upload_url'
|
||||
* and 'signed_download_url' properties of the provided object.
|
||||
*
|
||||
* @param body - The object should contain a signature
|
||||
* @remarks
|
||||
* This function extracts URLs from the object properties and calls maskSigUrl
|
||||
* on each one to redact sensitive signature information. The function doesn't
|
||||
* modify the original object; it only marks the signatures as secrets for
|
||||
* logging purposes.
|
||||
*
|
||||
* @example
|
||||
* ```typescript
|
||||
* const responseBody = {
|
||||
* signed_upload_url: 'https://blob.core.windows.net/?sig=abc123',
|
||||
* signed_download_url: 'https://blob.core/windows.net/?sig=def456'
|
||||
* };
|
||||
* maskSecretUrls(responseBody);
|
||||
* ```
|
||||
*/
|
||||
function maskSecretUrls(body) {
|
||||
if (typeof body !== 'object' || body === null) {
|
||||
(0, core_1.debug)('body is not an object or is null');
|
||||
return;
|
||||
}
|
||||
if ('signed_upload_url' in body &&
|
||||
typeof body.signed_upload_url === 'string') {
|
||||
maskSigUrl(body.signed_upload_url);
|
||||
}
|
||||
if ('signed_download_url' in body &&
|
||||
typeof body.signed_download_url === 'string') {
|
||||
maskSigUrl(body.signed_download_url);
|
||||
}
|
||||
}
|
||||
exports.maskSecretUrls = maskSecretUrls;
|
||||
//# sourceMappingURL=util.js.map
|
||||
|
||||
/***/ }),
|
||||
|
||||
/***/ 5321:
|
||||
/***/ (function(__unused_webpack_module, exports, __nccwpck_require__) {
|
||||
|
||||
@@ -13417,7 +13334,7 @@ module.exports = {
|
||||
|
||||
|
||||
const { parseSetCookie } = __nccwpck_require__(7803)
|
||||
const { stringify } = __nccwpck_require__(6338)
|
||||
const { stringify, getHeadersList } = __nccwpck_require__(6338)
|
||||
const { webidl } = __nccwpck_require__(8134)
|
||||
const { Headers } = __nccwpck_require__(9061)
|
||||
|
||||
@@ -13493,13 +13410,14 @@ function getSetCookies (headers) {
|
||||
|
||||
webidl.brandCheck(headers, Headers, { strict: false })
|
||||
|
||||
const cookies = headers.getSetCookie()
|
||||
const cookies = getHeadersList(headers).cookies
|
||||
|
||||
if (!cookies) {
|
||||
return []
|
||||
}
|
||||
|
||||
return cookies.map((pair) => parseSetCookie(pair))
|
||||
// In older versions of undici, cookies is a list of name:value.
|
||||
return cookies.map((pair) => parseSetCookie(Array.isArray(pair) ? pair[1] : pair))
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -13927,15 +13845,14 @@ module.exports = {
|
||||
/***/ }),
|
||||
|
||||
/***/ 6338:
|
||||
/***/ ((module) => {
|
||||
/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {
|
||||
|
||||
"use strict";
|
||||
|
||||
|
||||
/**
|
||||
* @param {string} value
|
||||
* @returns {boolean}
|
||||
*/
|
||||
const assert = __nccwpck_require__(2613)
|
||||
const { kHeadersList } = __nccwpck_require__(9411)
|
||||
|
||||
function isCTLExcludingHtab (value) {
|
||||
if (value.length === 0) {
|
||||
return false
|
||||
@@ -14196,13 +14113,31 @@ function stringify (cookie) {
|
||||
return out.join('; ')
|
||||
}
|
||||
|
||||
let kHeadersListNode
|
||||
|
||||
function getHeadersList (headers) {
|
||||
if (headers[kHeadersList]) {
|
||||
return headers[kHeadersList]
|
||||
}
|
||||
|
||||
if (!kHeadersListNode) {
|
||||
kHeadersListNode = Object.getOwnPropertySymbols(headers).find(
|
||||
(symbol) => symbol.description === 'headers list'
|
||||
)
|
||||
|
||||
assert(kHeadersListNode, 'Headers cannot be parsed')
|
||||
}
|
||||
|
||||
const headersList = headers[kHeadersListNode]
|
||||
assert(headersList)
|
||||
|
||||
return headersList
|
||||
}
|
||||
|
||||
module.exports = {
|
||||
isCTLExcludingHtab,
|
||||
validateCookieName,
|
||||
validateCookiePath,
|
||||
validateCookieValue,
|
||||
toIMFDate,
|
||||
stringify
|
||||
stringify,
|
||||
getHeadersList
|
||||
}
|
||||
|
||||
|
||||
@@ -18206,7 +18141,6 @@ const {
|
||||
isValidHeaderName,
|
||||
isValidHeaderValue
|
||||
} = __nccwpck_require__(555)
|
||||
const util = __nccwpck_require__(9023)
|
||||
const { webidl } = __nccwpck_require__(8134)
|
||||
const assert = __nccwpck_require__(2613)
|
||||
|
||||
@@ -18760,9 +18694,6 @@ Object.defineProperties(Headers.prototype, {
|
||||
[Symbol.toStringTag]: {
|
||||
value: 'Headers',
|
||||
configurable: true
|
||||
},
|
||||
[util.inspect.custom]: {
|
||||
enumerable: false
|
||||
}
|
||||
})
|
||||
|
||||
@@ -27939,20 +27870,6 @@ class Pool extends PoolBase {
|
||||
? { ...options.interceptors }
|
||||
: undefined
|
||||
this[kFactory] = factory
|
||||
|
||||
this.on('connectionError', (origin, targets, error) => {
|
||||
// If a connection error occurs, we remove the client from the pool,
|
||||
// and emit a connectionError event. They will not be re-used.
|
||||
// Fixes https://github.com/nodejs/undici/issues/3895
|
||||
for (const target of targets) {
|
||||
// Do not use kRemoveClient here, as it will close the client,
|
||||
// but the client cannot be closed in this state.
|
||||
const idx = this[kClients].indexOf(target)
|
||||
if (idx !== -1) {
|
||||
this[kClients].splice(idx, 1)
|
||||
}
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
[kGetDispatcher] () {
|
||||
@@ -88715,8 +88632,7 @@ async function computeKeys() {
|
||||
const suffix = inputs_1.cacheSuffix ? `-${inputs_1.cacheSuffix}` : "";
|
||||
const pythonVersion = await getPythonVersion();
|
||||
const platform = await (0, platforms_1.getPlatform)();
|
||||
const pruned = inputs_1.pruneCache ? "-pruned" : "";
|
||||
return `setup-uv-${CACHE_VERSION}-${(0, platforms_1.getArch)()}-${platform}-${pythonVersion}${pruned}${cacheDependencyPathHash}${suffix}`;
|
||||
return `setup-uv-${CACHE_VERSION}-${(0, platforms_1.getArch)()}-${platform}-${pythonVersion}${cacheDependencyPathHash}${suffix}`;
|
||||
}
|
||||
async function getPythonVersion() {
|
||||
if (inputs_1.pythonVersion !== "") {
|
||||
@@ -88732,7 +88648,7 @@ async function getPythonVersion() {
|
||||
},
|
||||
};
|
||||
try {
|
||||
const execArgs = ["python", "find", "--directory", inputs_1.workingDirectory];
|
||||
const execArgs = ["python", "find"];
|
||||
await exec.exec("uv", execArgs, options);
|
||||
const pythonPath = output.trim();
|
||||
output = "";
|
||||
@@ -88998,13 +88914,13 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
||||
return (mod && mod.__esModule) ? mod : { "default": mod };
|
||||
};
|
||||
Object.defineProperty(exports, "__esModule", ({ value: true }));
|
||||
exports.manifestFile = exports.githubToken = exports.serverUrl = exports.toolDir = exports.toolBinDir = exports.ignoreEmptyWorkdir = exports.ignoreNothingToCache = exports.pruneCache = exports.cacheDependencyGlob = exports.cacheLocalPath = exports.cacheSuffix = exports.enableCache = exports.checkSum = exports.workingDirectory = exports.activateEnvironment = exports.pythonVersion = exports.version = void 0;
|
||||
exports.githubToken = exports.toolDir = exports.toolBinDir = exports.ignoreEmptyWorkdir = exports.ignoreNothingToCache = exports.pruneCache = exports.cacheDependencyGlob = exports.cacheLocalPath = exports.cacheSuffix = exports.enableCache = exports.checkSum = exports.pythonVersion = exports.uvFile = exports.pyProjectFile = exports.version = void 0;
|
||||
const core = __importStar(__nccwpck_require__(7484));
|
||||
const node_path_1 = __importDefault(__nccwpck_require__(6760));
|
||||
exports.version = core.getInput("version");
|
||||
exports.pyProjectFile = core.getInput("pyproject-file");
|
||||
exports.uvFile = core.getInput("uv-file");
|
||||
exports.pythonVersion = core.getInput("python-version");
|
||||
exports.activateEnvironment = core.getBooleanInput("activate-environment");
|
||||
exports.workingDirectory = core.getInput("working-directory");
|
||||
exports.checkSum = core.getInput("checksum");
|
||||
exports.enableCache = getEnableCache();
|
||||
exports.cacheSuffix = core.getInput("cache-suffix") || "";
|
||||
@@ -89015,9 +88931,7 @@ exports.ignoreNothingToCache = core.getInput("ignore-nothing-to-cache") === "tru
|
||||
exports.ignoreEmptyWorkdir = core.getInput("ignore-empty-workdir") === "true";
|
||||
exports.toolBinDir = getToolBinDir();
|
||||
exports.toolDir = getToolDir();
|
||||
exports.serverUrl = core.getInput("server-url");
|
||||
exports.githubToken = core.getInput("github-token");
|
||||
exports.manifestFile = getManifestFile();
|
||||
function getEnableCache() {
|
||||
const enableCacheInput = core.getInput("enable-cache");
|
||||
if (enableCacheInput === "auto") {
|
||||
@@ -89056,16 +88970,10 @@ function getCacheLocalPath() {
|
||||
if (cacheLocalPathInput !== "") {
|
||||
return expandTilde(cacheLocalPathInput);
|
||||
}
|
||||
if (process.env.RUNNER_ENVIRONMENT === "github-hosted") {
|
||||
if (process.env.RUNNER_TEMP !== undefined) {
|
||||
return `${process.env.RUNNER_TEMP}${node_path_1.default.sep}setup-uv-cache`;
|
||||
}
|
||||
throw Error("Could not determine UV_CACHE_DIR. Please make sure RUNNER_TEMP is set or provide the cache-local-path input");
|
||||
if (process.env.RUNNER_TEMP !== undefined) {
|
||||
return `${process.env.RUNNER_TEMP}${node_path_1.default.sep}setup-uv-cache`;
|
||||
}
|
||||
if (process.platform === "win32") {
|
||||
return `${process.env.APPDATA}${node_path_1.default.sep}uv${node_path_1.default.sep}cache`;
|
||||
}
|
||||
return `${process.env.HOME}${node_path_1.default.sep}.cache${node_path_1.default.sep}uv`;
|
||||
throw Error("Could not determine UV_CACHE_DIR. Please make sure RUNNER_TEMP is set or provide the cache-local-path input");
|
||||
}
|
||||
function expandTilde(input) {
|
||||
if (input.startsWith("~")) {
|
||||
@@ -89073,13 +88981,6 @@ function expandTilde(input) {
|
||||
}
|
||||
return input;
|
||||
}
|
||||
function getManifestFile() {
|
||||
const manifestFileInput = core.getInput("manifest-file");
|
||||
if (manifestFileInput !== "") {
|
||||
return manifestFileInput;
|
||||
}
|
||||
return undefined;
|
||||
}
|
||||
|
||||
|
||||
/***/ }),
|
||||
@@ -91095,7 +90996,7 @@ module.exports = parseParams
|
||||
/***/ ((module) => {
|
||||
|
||||
"use strict";
|
||||
module.exports = /*#__PURE__*/JSON.parse('{"name":"@actions/cache","version":"4.0.3","preview":true,"description":"Actions cache lib","keywords":["github","actions","cache"],"homepage":"https://github.com/actions/toolkit/tree/main/packages/cache","license":"MIT","main":"lib/cache.js","types":"lib/cache.d.ts","directories":{"lib":"lib","test":"__tests__"},"files":["lib","!.DS_Store"],"publishConfig":{"access":"public"},"repository":{"type":"git","url":"git+https://github.com/actions/toolkit.git","directory":"packages/cache"},"scripts":{"audit-moderate":"npm install && npm audit --json --audit-level=moderate > audit.json","test":"echo \\"Error: run tests from root\\" && exit 1","tsc":"tsc"},"bugs":{"url":"https://github.com/actions/toolkit/issues"},"dependencies":{"@actions/core":"^1.11.1","@actions/exec":"^1.0.1","@actions/glob":"^0.1.0","@actions/http-client":"^2.1.1","@actions/io":"^1.0.1","@azure/abort-controller":"^1.1.0","@azure/ms-rest-js":"^2.6.0","@azure/storage-blob":"^12.13.0","@protobuf-ts/plugin":"^2.9.4","semver":"^6.3.1"},"devDependencies":{"@types/node":"^22.13.9","@types/semver":"^6.0.0","typescript":"^5.2.2"}}');
|
||||
module.exports = /*#__PURE__*/JSON.parse('{"name":"@actions/cache","version":"4.0.2","preview":true,"description":"Actions cache lib","keywords":["github","actions","cache"],"homepage":"https://github.com/actions/toolkit/tree/main/packages/cache","license":"MIT","main":"lib/cache.js","types":"lib/cache.d.ts","directories":{"lib":"lib","test":"__tests__"},"files":["lib","!.DS_Store"],"publishConfig":{"access":"public"},"repository":{"type":"git","url":"git+https://github.com/actions/toolkit.git","directory":"packages/cache"},"scripts":{"audit-moderate":"npm install && npm audit --json --audit-level=moderate > audit.json","test":"echo \\"Error: run tests from root\\" && exit 1","tsc":"tsc"},"bugs":{"url":"https://github.com/actions/toolkit/issues"},"dependencies":{"@actions/core":"^1.11.1","@actions/exec":"^1.0.1","@actions/glob":"^0.1.0","@actions/http-client":"^2.1.1","@actions/io":"^1.0.1","@azure/abort-controller":"^1.1.0","@azure/ms-rest-js":"^2.6.0","@azure/storage-blob":"^12.13.0","@protobuf-ts/plugin":"^2.9.4","semver":"^6.3.1"},"devDependencies":{"@types/semver":"^6.0.0","typescript":"^5.2.2"}}');
|
||||
|
||||
/***/ }),
|
||||
|
||||
|
||||
2767
dist/setup/index.js
generated
vendored
2767
dist/setup/index.js
generated
vendored
@@ -220,7 +220,7 @@ function restoreCacheV2(paths, primaryKey, restoreKeys, options, enableCrossOsAr
|
||||
};
|
||||
const response = yield twirpClient.GetCacheEntryDownloadURL(request);
|
||||
if (!response.ok) {
|
||||
core.debug(`Cache not found for version ${request.version} of keys: ${keys.join(', ')}`);
|
||||
core.debug(`Cache not found for keys: ${keys.join(', ')}`);
|
||||
return undefined;
|
||||
}
|
||||
core.info(`Cache hit for: ${request.key}`);
|
||||
@@ -2204,7 +2204,6 @@ const cacheUtils_1 = __nccwpck_require__(98299);
|
||||
const auth_1 = __nccwpck_require__(44552);
|
||||
const http_client_1 = __nccwpck_require__(54844);
|
||||
const cache_twirp_client_1 = __nccwpck_require__(11486);
|
||||
const util_1 = __nccwpck_require__(27564);
|
||||
/**
|
||||
* This class is a wrapper around the CacheServiceClientJSON class generated by Twirp.
|
||||
*
|
||||
@@ -2264,7 +2263,6 @@ class CacheServiceClient {
|
||||
(0, core_1.debug)(`[Response] - ${response.message.statusCode}`);
|
||||
(0, core_1.debug)(`Headers: ${JSON.stringify(response.message.headers, null, 2)}`);
|
||||
const body = JSON.parse(rawBody);
|
||||
(0, util_1.maskSecretUrls)(body);
|
||||
(0, core_1.debug)(`Body: ${JSON.stringify(body, null, 2)}`);
|
||||
if (this.isSuccessStatusCode(statusCode)) {
|
||||
return { response, body };
|
||||
@@ -2446,87 +2444,6 @@ exports.getUserAgentString = getUserAgentString;
|
||||
|
||||
/***/ }),
|
||||
|
||||
/***/ 27564:
|
||||
/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => {
|
||||
|
||||
"use strict";
|
||||
|
||||
Object.defineProperty(exports, "__esModule", ({ value: true }));
|
||||
exports.maskSecretUrls = exports.maskSigUrl = void 0;
|
||||
const core_1 = __nccwpck_require__(37484);
|
||||
/**
|
||||
* Masks the `sig` parameter in a URL and sets it as a secret.
|
||||
*
|
||||
* @param url - The URL containing the signature parameter to mask
|
||||
* @remarks
|
||||
* This function attempts to parse the provided URL and identify the 'sig' query parameter.
|
||||
* If found, it registers both the raw and URL-encoded signature values as secrets using
|
||||
* the Actions `setSecret` API, which prevents them from being displayed in logs.
|
||||
*
|
||||
* The function handles errors gracefully if URL parsing fails, logging them as debug messages.
|
||||
*
|
||||
* @example
|
||||
* ```typescript
|
||||
* // Mask a signature in an Azure SAS token URL
|
||||
* maskSigUrl('https://example.blob.core.windows.net/container/file.txt?sig=abc123&se=2023-01-01');
|
||||
* ```
|
||||
*/
|
||||
function maskSigUrl(url) {
|
||||
if (!url)
|
||||
return;
|
||||
try {
|
||||
const parsedUrl = new URL(url);
|
||||
const signature = parsedUrl.searchParams.get('sig');
|
||||
if (signature) {
|
||||
(0, core_1.setSecret)(signature);
|
||||
(0, core_1.setSecret)(encodeURIComponent(signature));
|
||||
}
|
||||
}
|
||||
catch (error) {
|
||||
(0, core_1.debug)(`Failed to parse URL: ${url} ${error instanceof Error ? error.message : String(error)}`);
|
||||
}
|
||||
}
|
||||
exports.maskSigUrl = maskSigUrl;
|
||||
/**
|
||||
* Masks sensitive information in URLs containing signature parameters.
|
||||
* Currently supports masking 'sig' parameters in the 'signed_upload_url'
|
||||
* and 'signed_download_url' properties of the provided object.
|
||||
*
|
||||
* @param body - The object should contain a signature
|
||||
* @remarks
|
||||
* This function extracts URLs from the object properties and calls maskSigUrl
|
||||
* on each one to redact sensitive signature information. The function doesn't
|
||||
* modify the original object; it only marks the signatures as secrets for
|
||||
* logging purposes.
|
||||
*
|
||||
* @example
|
||||
* ```typescript
|
||||
* const responseBody = {
|
||||
* signed_upload_url: 'https://blob.core.windows.net/?sig=abc123',
|
||||
* signed_download_url: 'https://blob.core/windows.net/?sig=def456'
|
||||
* };
|
||||
* maskSecretUrls(responseBody);
|
||||
* ```
|
||||
*/
|
||||
function maskSecretUrls(body) {
|
||||
if (typeof body !== 'object' || body === null) {
|
||||
(0, core_1.debug)('body is not an object or is null');
|
||||
return;
|
||||
}
|
||||
if ('signed_upload_url' in body &&
|
||||
typeof body.signed_upload_url === 'string') {
|
||||
maskSigUrl(body.signed_upload_url);
|
||||
}
|
||||
if ('signed_download_url' in body &&
|
||||
typeof body.signed_download_url === 'string') {
|
||||
maskSigUrl(body.signed_download_url);
|
||||
}
|
||||
}
|
||||
exports.maskSecretUrls = maskSecretUrls;
|
||||
//# sourceMappingURL=util.js.map
|
||||
|
||||
/***/ }),
|
||||
|
||||
/***/ 95321:
|
||||
/***/ (function(__unused_webpack_module, exports, __nccwpck_require__) {
|
||||
|
||||
@@ -13417,7 +13334,7 @@ module.exports = {
|
||||
|
||||
|
||||
const { parseSetCookie } = __nccwpck_require__(17803)
|
||||
const { stringify } = __nccwpck_require__(46338)
|
||||
const { stringify, getHeadersList } = __nccwpck_require__(46338)
|
||||
const { webidl } = __nccwpck_require__(8134)
|
||||
const { Headers } = __nccwpck_require__(29061)
|
||||
|
||||
@@ -13493,13 +13410,14 @@ function getSetCookies (headers) {
|
||||
|
||||
webidl.brandCheck(headers, Headers, { strict: false })
|
||||
|
||||
const cookies = headers.getSetCookie()
|
||||
const cookies = getHeadersList(headers).cookies
|
||||
|
||||
if (!cookies) {
|
||||
return []
|
||||
}
|
||||
|
||||
return cookies.map((pair) => parseSetCookie(pair))
|
||||
// In older versions of undici, cookies is a list of name:value.
|
||||
return cookies.map((pair) => parseSetCookie(Array.isArray(pair) ? pair[1] : pair))
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -13927,15 +13845,14 @@ module.exports = {
|
||||
/***/ }),
|
||||
|
||||
/***/ 46338:
|
||||
/***/ ((module) => {
|
||||
/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {
|
||||
|
||||
"use strict";
|
||||
|
||||
|
||||
/**
|
||||
* @param {string} value
|
||||
* @returns {boolean}
|
||||
*/
|
||||
const assert = __nccwpck_require__(42613)
|
||||
const { kHeadersList } = __nccwpck_require__(99411)
|
||||
|
||||
function isCTLExcludingHtab (value) {
|
||||
if (value.length === 0) {
|
||||
return false
|
||||
@@ -14196,13 +14113,31 @@ function stringify (cookie) {
|
||||
return out.join('; ')
|
||||
}
|
||||
|
||||
let kHeadersListNode
|
||||
|
||||
function getHeadersList (headers) {
|
||||
if (headers[kHeadersList]) {
|
||||
return headers[kHeadersList]
|
||||
}
|
||||
|
||||
if (!kHeadersListNode) {
|
||||
kHeadersListNode = Object.getOwnPropertySymbols(headers).find(
|
||||
(symbol) => symbol.description === 'headers list'
|
||||
)
|
||||
|
||||
assert(kHeadersListNode, 'Headers cannot be parsed')
|
||||
}
|
||||
|
||||
const headersList = headers[kHeadersListNode]
|
||||
assert(headersList)
|
||||
|
||||
return headersList
|
||||
}
|
||||
|
||||
module.exports = {
|
||||
isCTLExcludingHtab,
|
||||
validateCookieName,
|
||||
validateCookiePath,
|
||||
validateCookieValue,
|
||||
toIMFDate,
|
||||
stringify
|
||||
stringify,
|
||||
getHeadersList
|
||||
}
|
||||
|
||||
|
||||
@@ -18206,7 +18141,6 @@ const {
|
||||
isValidHeaderName,
|
||||
isValidHeaderValue
|
||||
} = __nccwpck_require__(30555)
|
||||
const util = __nccwpck_require__(39023)
|
||||
const { webidl } = __nccwpck_require__(8134)
|
||||
const assert = __nccwpck_require__(42613)
|
||||
|
||||
@@ -18760,9 +18694,6 @@ Object.defineProperties(Headers.prototype, {
|
||||
[Symbol.toStringTag]: {
|
||||
value: 'Headers',
|
||||
configurable: true
|
||||
},
|
||||
[util.inspect.custom]: {
|
||||
enumerable: false
|
||||
}
|
||||
})
|
||||
|
||||
@@ -27939,20 +27870,6 @@ class Pool extends PoolBase {
|
||||
? { ...options.interceptors }
|
||||
: undefined
|
||||
this[kFactory] = factory
|
||||
|
||||
this.on('connectionError', (origin, targets, error) => {
|
||||
// If a connection error occurs, we remove the client from the pool,
|
||||
// and emit a connectionError event. They will not be re-used.
|
||||
// Fixes https://github.com/nodejs/undici/issues/3895
|
||||
for (const target of targets) {
|
||||
// Do not use kRemoveClient here, as it will close the client,
|
||||
// but the client cannot be closed in this state.
|
||||
const idx = this[kClients].indexOf(target)
|
||||
if (idx !== -1) {
|
||||
this[kClients].splice(idx, 1)
|
||||
}
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
[kGetDispatcher] () {
|
||||
@@ -76630,783 +76547,6 @@ class ReflectionTypeCheck {
|
||||
exports.ReflectionTypeCheck = ReflectionTypeCheck;
|
||||
|
||||
|
||||
/***/ }),
|
||||
|
||||
/***/ 63297:
|
||||
/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {
|
||||
|
||||
const { valid, clean, explain, parse } = __nccwpck_require__(99961);
|
||||
|
||||
const { lt, le, eq, ne, ge, gt, compare, rcompare } = __nccwpck_require__(99469);
|
||||
|
||||
const {
|
||||
filter,
|
||||
maxSatisfying,
|
||||
minSatisfying,
|
||||
RANGE_PATTERN,
|
||||
satisfies,
|
||||
validRange,
|
||||
} = __nccwpck_require__(23185);
|
||||
|
||||
const { major, minor, patch, inc } = __nccwpck_require__(6829);
|
||||
|
||||
module.exports = {
|
||||
// version
|
||||
valid,
|
||||
clean,
|
||||
explain,
|
||||
parse,
|
||||
|
||||
// operator
|
||||
lt,
|
||||
le,
|
||||
lte: le,
|
||||
eq,
|
||||
ne,
|
||||
neq: ne,
|
||||
ge,
|
||||
gte: ge,
|
||||
gt,
|
||||
compare,
|
||||
rcompare,
|
||||
|
||||
// range
|
||||
filter,
|
||||
maxSatisfying,
|
||||
minSatisfying,
|
||||
RANGE_PATTERN,
|
||||
satisfies,
|
||||
validRange,
|
||||
|
||||
// semantic
|
||||
major,
|
||||
minor,
|
||||
patch,
|
||||
inc,
|
||||
};
|
||||
|
||||
|
||||
/***/ }),
|
||||
|
||||
/***/ 99469:
|
||||
/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {
|
||||
|
||||
const { parse } = __nccwpck_require__(99961);
|
||||
|
||||
module.exports = {
|
||||
compare,
|
||||
rcompare,
|
||||
lt,
|
||||
le,
|
||||
eq,
|
||||
ne,
|
||||
ge,
|
||||
gt,
|
||||
'<': lt,
|
||||
'<=': le,
|
||||
'==': eq,
|
||||
'!=': ne,
|
||||
'>=': ge,
|
||||
'>': gt,
|
||||
'===': arbitrary,
|
||||
};
|
||||
|
||||
function lt(version, other) {
|
||||
return compare(version, other) < 0;
|
||||
}
|
||||
|
||||
function le(version, other) {
|
||||
return compare(version, other) <= 0;
|
||||
}
|
||||
|
||||
function eq(version, other) {
|
||||
return compare(version, other) === 0;
|
||||
}
|
||||
|
||||
function ne(version, other) {
|
||||
return compare(version, other) !== 0;
|
||||
}
|
||||
|
||||
function ge(version, other) {
|
||||
return compare(version, other) >= 0;
|
||||
}
|
||||
|
||||
function gt(version, other) {
|
||||
return compare(version, other) > 0;
|
||||
}
|
||||
|
||||
function arbitrary(version, other) {
|
||||
return version.toLowerCase() === other.toLowerCase();
|
||||
}
|
||||
|
||||
function compare(version, other) {
|
||||
const parsedVersion = parse(version);
|
||||
const parsedOther = parse(other);
|
||||
|
||||
const keyVersion = calculateKey(parsedVersion);
|
||||
const keyOther = calculateKey(parsedOther);
|
||||
|
||||
return pyCompare(keyVersion, keyOther);
|
||||
}
|
||||
|
||||
function rcompare(version, other) {
|
||||
return -compare(version, other);
|
||||
}
|
||||
|
||||
// this logic is buitin in python, but we need to port it to js
|
||||
// see https://stackoverflow.com/a/5292332/1438522
|
||||
function pyCompare(elemIn, otherIn) {
|
||||
let elem = elemIn;
|
||||
let other = otherIn;
|
||||
if (elem === other) {
|
||||
return 0;
|
||||
}
|
||||
if (Array.isArray(elem) !== Array.isArray(other)) {
|
||||
elem = Array.isArray(elem) ? elem : [elem];
|
||||
other = Array.isArray(other) ? other : [other];
|
||||
}
|
||||
if (Array.isArray(elem)) {
|
||||
const len = Math.min(elem.length, other.length);
|
||||
for (let i = 0; i < len; i += 1) {
|
||||
const res = pyCompare(elem[i], other[i]);
|
||||
if (res !== 0) {
|
||||
return res;
|
||||
}
|
||||
}
|
||||
return elem.length - other.length;
|
||||
}
|
||||
if (elem === -Infinity || other === Infinity) {
|
||||
return -1;
|
||||
}
|
||||
if (elem === Infinity || other === -Infinity) {
|
||||
return 1;
|
||||
}
|
||||
return elem < other ? -1 : 1;
|
||||
}
|
||||
|
||||
function calculateKey(input) {
|
||||
const { epoch } = input;
|
||||
let { release, pre, post, local, dev } = input;
|
||||
// When we compare a release version, we want to compare it with all of the
|
||||
// trailing zeros removed. So we'll use a reverse the list, drop all the now
|
||||
// leading zeros until we come to something non zero, then take the rest
|
||||
// re-reverse it back into the correct order and make it a tuple and use
|
||||
// that for our sorting key.
|
||||
release = release.concat();
|
||||
release.reverse();
|
||||
while (release.length && release[0] === 0) {
|
||||
release.shift();
|
||||
}
|
||||
release.reverse();
|
||||
|
||||
// We need to "trick" the sorting algorithm to put 1.0.dev0 before 1.0a0.
|
||||
// We'll do this by abusing the pre segment, but we _only_ want to do this
|
||||
// if there is !a pre or a post segment. If we have one of those then
|
||||
// the normal sorting rules will handle this case correctly.
|
||||
if (!pre && !post && dev) pre = -Infinity;
|
||||
// Versions without a pre-release (except as noted above) should sort after
|
||||
// those with one.
|
||||
else if (!pre) pre = Infinity;
|
||||
|
||||
// Versions without a post segment should sort before those with one.
|
||||
if (!post) post = -Infinity;
|
||||
|
||||
// Versions without a development segment should sort after those with one.
|
||||
if (!dev) dev = Infinity;
|
||||
|
||||
if (!local) {
|
||||
// Versions without a local segment should sort before those with one.
|
||||
local = -Infinity;
|
||||
} else {
|
||||
// Versions with a local segment need that segment parsed to implement
|
||||
// the sorting rules in PEP440.
|
||||
// - Alpha numeric segments sort before numeric segments
|
||||
// - Alpha numeric segments sort lexicographically
|
||||
// - Numeric segments sort numerically
|
||||
// - Shorter versions sort before longer versions when the prefixes
|
||||
// match exactly
|
||||
local = local.map((i) =>
|
||||
Number.isNaN(Number(i)) ? [-Infinity, i] : [Number(i), ''],
|
||||
);
|
||||
}
|
||||
|
||||
return [epoch, release, pre, post, dev, local];
|
||||
}
|
||||
|
||||
|
||||
/***/ }),
|
||||
|
||||
/***/ 6829:
|
||||
/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {
|
||||
|
||||
const { explain, parse, stringify } = __nccwpck_require__(99961);
|
||||
|
||||
// those notation are borrowed from semver
|
||||
module.exports = {
|
||||
major,
|
||||
minor,
|
||||
patch,
|
||||
inc,
|
||||
};
|
||||
|
||||
function major(input) {
|
||||
const version = explain(input);
|
||||
if (!version) {
|
||||
throw new TypeError('Invalid Version: ' + input);
|
||||
}
|
||||
return version.release[0];
|
||||
}
|
||||
|
||||
function minor(input) {
|
||||
const version = explain(input);
|
||||
if (!version) {
|
||||
throw new TypeError('Invalid Version: ' + input);
|
||||
}
|
||||
if (version.release.length < 2) {
|
||||
return 0;
|
||||
}
|
||||
return version.release[1];
|
||||
}
|
||||
|
||||
function patch(input) {
|
||||
const version = explain(input);
|
||||
if (!version) {
|
||||
throw new TypeError('Invalid Version: ' + input);
|
||||
}
|
||||
if (version.release.length < 3) {
|
||||
return 0;
|
||||
}
|
||||
return version.release[2];
|
||||
}
|
||||
|
||||
function inc(input, release, preReleaseIdentifier) {
|
||||
let identifier = preReleaseIdentifier || `a`;
|
||||
const version = parse(input);
|
||||
|
||||
if (!version) {
|
||||
return null;
|
||||
}
|
||||
|
||||
if (
|
||||
!['a', 'b', 'c', 'rc', 'alpha', 'beta', 'pre', 'preview'].includes(
|
||||
identifier,
|
||||
)
|
||||
) {
|
||||
return null;
|
||||
}
|
||||
|
||||
switch (release) {
|
||||
case 'premajor':
|
||||
{
|
||||
const [majorVersion] = version.release;
|
||||
version.release.fill(0);
|
||||
version.release[0] = majorVersion + 1;
|
||||
}
|
||||
version.pre = [identifier, 0];
|
||||
delete version.post;
|
||||
delete version.dev;
|
||||
delete version.local;
|
||||
break;
|
||||
case 'preminor':
|
||||
{
|
||||
const [majorVersion, minorVersion = 0] = version.release;
|
||||
version.release.fill(0);
|
||||
version.release[0] = majorVersion;
|
||||
version.release[1] = minorVersion + 1;
|
||||
}
|
||||
version.pre = [identifier, 0];
|
||||
delete version.post;
|
||||
delete version.dev;
|
||||
delete version.local;
|
||||
break;
|
||||
case 'prepatch':
|
||||
{
|
||||
const [majorVersion, minorVersion = 0, patchVersion = 0] =
|
||||
version.release;
|
||||
version.release.fill(0);
|
||||
version.release[0] = majorVersion;
|
||||
version.release[1] = minorVersion;
|
||||
version.release[2] = patchVersion + 1;
|
||||
}
|
||||
version.pre = [identifier, 0];
|
||||
delete version.post;
|
||||
delete version.dev;
|
||||
delete version.local;
|
||||
break;
|
||||
case 'prerelease':
|
||||
if (version.pre === null) {
|
||||
const [majorVersion, minorVersion = 0, patchVersion = 0] =
|
||||
version.release;
|
||||
version.release.fill(0);
|
||||
version.release[0] = majorVersion;
|
||||
version.release[1] = minorVersion;
|
||||
version.release[2] = patchVersion + 1;
|
||||
version.pre = [identifier, 0];
|
||||
} else {
|
||||
if (preReleaseIdentifier === undefined && version.pre !== null) {
|
||||
[identifier] = version.pre;
|
||||
}
|
||||
|
||||
const [letter, number] = version.pre;
|
||||
if (letter === identifier) {
|
||||
version.pre = [letter, number + 1];
|
||||
} else {
|
||||
version.pre = [identifier, 0];
|
||||
}
|
||||
}
|
||||
|
||||
delete version.post;
|
||||
delete version.dev;
|
||||
delete version.local;
|
||||
break;
|
||||
case 'major':
|
||||
if (
|
||||
version.release.slice(1).some((value) => value !== 0) ||
|
||||
version.pre === null
|
||||
) {
|
||||
const [majorVersion] = version.release;
|
||||
version.release.fill(0);
|
||||
version.release[0] = majorVersion + 1;
|
||||
}
|
||||
delete version.pre;
|
||||
delete version.post;
|
||||
delete version.dev;
|
||||
delete version.local;
|
||||
break;
|
||||
case 'minor':
|
||||
if (
|
||||
version.release.slice(2).some((value) => value !== 0) ||
|
||||
version.pre === null
|
||||
) {
|
||||
const [majorVersion, minorVersion = 0] = version.release;
|
||||
version.release.fill(0);
|
||||
version.release[0] = majorVersion;
|
||||
version.release[1] = minorVersion + 1;
|
||||
}
|
||||
delete version.pre;
|
||||
delete version.post;
|
||||
delete version.dev;
|
||||
delete version.local;
|
||||
break;
|
||||
case 'patch':
|
||||
if (
|
||||
version.release.slice(3).some((value) => value !== 0) ||
|
||||
version.pre === null
|
||||
) {
|
||||
const [majorVersion, minorVersion = 0, patchVersion = 0] =
|
||||
version.release;
|
||||
version.release.fill(0);
|
||||
version.release[0] = majorVersion;
|
||||
version.release[1] = minorVersion;
|
||||
version.release[2] = patchVersion + 1;
|
||||
}
|
||||
delete version.pre;
|
||||
delete version.post;
|
||||
delete version.dev;
|
||||
delete version.local;
|
||||
break;
|
||||
default:
|
||||
return null;
|
||||
}
|
||||
|
||||
return stringify(version);
|
||||
}
|
||||
|
||||
|
||||
/***/ }),
|
||||
|
||||
/***/ 23185:
|
||||
/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {
|
||||
|
||||
// This file is dual licensed under the terms of the Apache License, Version
|
||||
// 2.0, and the BSD License. See the LICENSE file in the root of this repository
|
||||
// for complete details.
|
||||
|
||||
const { VERSION_PATTERN, explain: explainVersion } = __nccwpck_require__(99961);
|
||||
|
||||
const Operator = __nccwpck_require__(99469);
|
||||
|
||||
const RANGE_PATTERN = [
|
||||
'(?<operator>(===|~=|==|!=|<=|>=|<|>))',
|
||||
'\\s*',
|
||||
'(',
|
||||
/* */ '(?<version>(?:' + VERSION_PATTERN.replace(/\?<\w+>/g, '?:') + '))',
|
||||
/* */ '(?<prefix>\\.\\*)?',
|
||||
/* */ '|',
|
||||
/* */ '(?<legacy>[^,;\\s)]+)',
|
||||
')',
|
||||
].join('');
|
||||
|
||||
module.exports = {
|
||||
RANGE_PATTERN,
|
||||
parse,
|
||||
satisfies,
|
||||
filter,
|
||||
validRange,
|
||||
maxSatisfying,
|
||||
minSatisfying,
|
||||
};
|
||||
|
||||
const isEqualityOperator = (op) => ['==', '!=', '==='].includes(op);
|
||||
|
||||
const rangeRegex = new RegExp('^' + RANGE_PATTERN + '$', 'i');
|
||||
|
||||
function parse(ranges) {
|
||||
if (!ranges.trim()) {
|
||||
return [];
|
||||
}
|
||||
|
||||
const specifiers = ranges
|
||||
.split(',')
|
||||
.map((range) => rangeRegex.exec(range.trim()) || {})
|
||||
.map(({ groups }) => {
|
||||
if (!groups) {
|
||||
return null;
|
||||
}
|
||||
|
||||
let { ...spec } = groups;
|
||||
const { operator, version, prefix, legacy } = groups;
|
||||
|
||||
if (version) {
|
||||
spec = { ...spec, ...explainVersion(version) };
|
||||
if (operator === '~=') {
|
||||
if (spec.release.length < 2) {
|
||||
return null;
|
||||
}
|
||||
}
|
||||
if (!isEqualityOperator(operator) && spec.local) {
|
||||
return null;
|
||||
}
|
||||
|
||||
if (prefix) {
|
||||
if (!isEqualityOperator(operator) || spec.dev || spec.local) {
|
||||
return null;
|
||||
}
|
||||
}
|
||||
}
|
||||
if (legacy && operator !== '===') {
|
||||
return null;
|
||||
}
|
||||
|
||||
return spec;
|
||||
});
|
||||
|
||||
if (specifiers.filter(Boolean).length !== specifiers.length) {
|
||||
return null;
|
||||
}
|
||||
|
||||
return specifiers;
|
||||
}
|
||||
|
||||
function filter(versions, specifier, options = {}) {
|
||||
const filtered = pick(versions, specifier, options);
|
||||
if (filtered.length === 0 && options.prereleases === undefined) {
|
||||
return pick(versions, specifier, { prereleases: true });
|
||||
}
|
||||
return filtered;
|
||||
}
|
||||
|
||||
function maxSatisfying(versions, range, options) {
|
||||
const found = filter(versions, range, options).sort(Operator.compare);
|
||||
return found.length === 0 ? null : found[found.length - 1];
|
||||
}
|
||||
|
||||
function minSatisfying(versions, range, options) {
|
||||
const found = filter(versions, range, options).sort(Operator.compare);
|
||||
return found.length === 0 ? null : found[0];
|
||||
}
|
||||
|
||||
function pick(versions, specifier, options) {
|
||||
const parsed = parse(specifier);
|
||||
|
||||
if (!parsed) {
|
||||
return [];
|
||||
}
|
||||
|
||||
return versions.filter((version) => {
|
||||
const explained = explainVersion(version);
|
||||
|
||||
if (!parsed.length) {
|
||||
return explained && !(explained.is_prerelease && !options.prereleases);
|
||||
}
|
||||
|
||||
return parsed.reduce((pass, spec) => {
|
||||
if (!pass) {
|
||||
return false;
|
||||
}
|
||||
return contains({ ...spec, ...options }, { version, explained });
|
||||
}, true);
|
||||
});
|
||||
}
|
||||
|
||||
function satisfies(version, specifier, options = {}) {
|
||||
const filtered = pick([version], specifier, options);
|
||||
|
||||
return filtered.length === 1;
|
||||
}
|
||||
|
||||
function arrayStartsWith(array, prefix) {
|
||||
if (prefix.length > array.length) {
|
||||
return false;
|
||||
}
|
||||
|
||||
for (let i = 0; i < prefix.length; i += 1) {
|
||||
if (prefix[i] !== array[i]) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
function contains(specifier, input) {
|
||||
const { explained } = input;
|
||||
let { version } = input;
|
||||
const { ...spec } = specifier;
|
||||
|
||||
if (spec.prereleases === undefined) {
|
||||
spec.prereleases = spec.is_prerelease;
|
||||
}
|
||||
|
||||
if (explained && explained.is_prerelease && !spec.prereleases) {
|
||||
return false;
|
||||
}
|
||||
|
||||
if (spec.operator === '~=') {
|
||||
let compatiblePrefix = spec.release.slice(0, -1).concat('*').join('.');
|
||||
if (spec.epoch) {
|
||||
compatiblePrefix = spec.epoch + '!' + compatiblePrefix;
|
||||
}
|
||||
return satisfies(version, `>=${spec.version}, ==${compatiblePrefix}`);
|
||||
}
|
||||
|
||||
if (spec.prefix) {
|
||||
const isMatching =
|
||||
explained.epoch === spec.epoch &&
|
||||
arrayStartsWith(explained.release, spec.release);
|
||||
const isEquality = spec.operator !== '!=';
|
||||
return isEquality ? isMatching : !isMatching;
|
||||
}
|
||||
|
||||
if (explained)
|
||||
if (explained.local && spec.version) {
|
||||
version = explained.public;
|
||||
spec.version = explainVersion(spec.version).public;
|
||||
}
|
||||
|
||||
if (spec.operator === '<' || spec.operator === '>') {
|
||||
// simplified version of https://www.python.org/dev/peps/pep-0440/#exclusive-ordered-comparison
|
||||
if (Operator.eq(spec.release.join('.'), explained.release.join('.'))) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
const op = Operator[spec.operator];
|
||||
return op(version, spec.version || spec.legacy);
|
||||
}
|
||||
|
||||
function validRange(specifier) {
|
||||
return Boolean(parse(specifier));
|
||||
}
|
||||
|
||||
|
||||
/***/ }),
|
||||
|
||||
/***/ 99961:
|
||||
/***/ ((module) => {
|
||||
|
||||
const VERSION_PATTERN = [
|
||||
'v?',
|
||||
'(?:',
|
||||
/* */ '(?:(?<epoch>[0-9]+)!)?', // epoch
|
||||
/* */ '(?<release>[0-9]+(?:\\.[0-9]+)*)', // release segment
|
||||
/* */ '(?<pre>', // pre-release
|
||||
/* */ '[-_\\.]?',
|
||||
/* */ '(?<pre_l>(a|b|c|rc|alpha|beta|pre|preview))',
|
||||
/* */ '[-_\\.]?',
|
||||
/* */ '(?<pre_n>[0-9]+)?',
|
||||
/* */ ')?',
|
||||
/* */ '(?<post>', // post release
|
||||
/* */ '(?:-(?<post_n1>[0-9]+))',
|
||||
/* */ '|',
|
||||
/* */ '(?:',
|
||||
/* */ '[-_\\.]?',
|
||||
/* */ '(?<post_l>post|rev|r)',
|
||||
/* */ '[-_\\.]?',
|
||||
/* */ '(?<post_n2>[0-9]+)?',
|
||||
/* */ ')',
|
||||
/* */ ')?',
|
||||
/* */ '(?<dev>', // dev release
|
||||
/* */ '[-_\\.]?',
|
||||
/* */ '(?<dev_l>dev)',
|
||||
/* */ '[-_\\.]?',
|
||||
/* */ '(?<dev_n>[0-9]+)?',
|
||||
/* */ ')?',
|
||||
')',
|
||||
'(?:\\+(?<local>[a-z0-9]+(?:[-_\\.][a-z0-9]+)*))?', // local version
|
||||
].join('');
|
||||
|
||||
module.exports = {
|
||||
VERSION_PATTERN,
|
||||
valid,
|
||||
clean,
|
||||
explain,
|
||||
parse,
|
||||
stringify,
|
||||
};
|
||||
|
||||
const validRegex = new RegExp('^' + VERSION_PATTERN + '$', 'i');
|
||||
|
||||
function valid(version) {
|
||||
return validRegex.test(version) ? version : null;
|
||||
}
|
||||
|
||||
const cleanRegex = new RegExp('^\\s*' + VERSION_PATTERN + '\\s*$', 'i');
|
||||
function clean(version) {
|
||||
return stringify(parse(version, cleanRegex));
|
||||
}
|
||||
|
||||
function parse(version, regex) {
|
||||
// Validate the version and parse it into pieces
|
||||
const { groups } = (regex || validRegex).exec(version) || {};
|
||||
if (!groups) {
|
||||
return null;
|
||||
}
|
||||
|
||||
// Store the parsed out pieces of the version
|
||||
const parsed = {
|
||||
epoch: Number(groups.epoch ? groups.epoch : 0),
|
||||
release: groups.release.split('.').map(Number),
|
||||
pre: normalize_letter_version(groups.pre_l, groups.pre_n),
|
||||
post: normalize_letter_version(
|
||||
groups.post_l,
|
||||
groups.post_n1 || groups.post_n2,
|
||||
),
|
||||
dev: normalize_letter_version(groups.dev_l, groups.dev_n),
|
||||
local: parse_local_version(groups.local),
|
||||
};
|
||||
|
||||
return parsed;
|
||||
}
|
||||
|
||||
function stringify(parsed) {
|
||||
if (!parsed) {
|
||||
return null;
|
||||
}
|
||||
const { epoch, release, pre, post, dev, local } = parsed;
|
||||
const parts = [];
|
||||
|
||||
// Epoch
|
||||
if (epoch !== 0) {
|
||||
parts.push(`${epoch}!`);
|
||||
}
|
||||
// Release segment
|
||||
parts.push(release.join('.'));
|
||||
|
||||
// Pre-release
|
||||
if (pre) {
|
||||
parts.push(pre.join(''));
|
||||
}
|
||||
// Post-release
|
||||
if (post) {
|
||||
parts.push('.' + post.join(''));
|
||||
}
|
||||
// Development release
|
||||
if (dev) {
|
||||
parts.push('.' + dev.join(''));
|
||||
}
|
||||
// Local version segment
|
||||
if (local) {
|
||||
parts.push(`+${local}`);
|
||||
}
|
||||
return parts.join('');
|
||||
}
|
||||
|
||||
function normalize_letter_version(letterIn, numberIn) {
|
||||
let letter = letterIn;
|
||||
let number = numberIn;
|
||||
if (letter) {
|
||||
// We consider there to be an implicit 0 in a pre-release if there is
|
||||
// not a numeral associated with it.
|
||||
if (!number) {
|
||||
number = 0;
|
||||
}
|
||||
// We normalize any letters to their lower case form
|
||||
letter = letter.toLowerCase();
|
||||
|
||||
// We consider some words to be alternate spellings of other words and
|
||||
// in those cases we want to normalize the spellings to our preferred
|
||||
// spelling.
|
||||
if (letter === 'alpha') {
|
||||
letter = 'a';
|
||||
} else if (letter === 'beta') {
|
||||
letter = 'b';
|
||||
} else if (['c', 'pre', 'preview'].includes(letter)) {
|
||||
letter = 'rc';
|
||||
} else if (['rev', 'r'].includes(letter)) {
|
||||
letter = 'post';
|
||||
}
|
||||
return [letter, Number(number)];
|
||||
}
|
||||
if (!letter && number) {
|
||||
// We assume if we are given a number, but we are not given a letter
|
||||
// then this is using the implicit post release syntax (e.g. 1.0-1)
|
||||
letter = 'post';
|
||||
|
||||
return [letter, Number(number)];
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
function parse_local_version(local) {
|
||||
/*
|
||||
Takes a string like abc.1.twelve and turns it into("abc", 1, "twelve").
|
||||
*/
|
||||
if (local) {
|
||||
return local
|
||||
.split(/[._-]/)
|
||||
.map((part) =>
|
||||
Number.isNaN(Number(part)) ? part.toLowerCase() : Number(part),
|
||||
);
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
function explain(version) {
|
||||
const parsed = parse(version);
|
||||
if (!parsed) {
|
||||
return parsed;
|
||||
}
|
||||
const { epoch, release, pre, post, dev, local } = parsed;
|
||||
|
||||
let base_version = '';
|
||||
if (epoch !== 0) {
|
||||
base_version += epoch + '!';
|
||||
}
|
||||
base_version += release.join('.');
|
||||
|
||||
const is_prerelease = Boolean(dev || pre);
|
||||
const is_devrelease = Boolean(dev);
|
||||
const is_postrelease = Boolean(post);
|
||||
|
||||
// return
|
||||
|
||||
return {
|
||||
epoch,
|
||||
release,
|
||||
pre,
|
||||
post: post ? post[1] : post,
|
||||
dev: dev ? dev[1] : dev,
|
||||
local: local ? local.join('.') : local,
|
||||
public: stringify(parsed).split('+', 1)[0],
|
||||
base_version,
|
||||
is_prerelease,
|
||||
is_devrelease,
|
||||
is_postrelease,
|
||||
};
|
||||
}
|
||||
|
||||
|
||||
/***/ }),
|
||||
|
||||
/***/ 31324:
|
||||
@@ -83360,7 +82500,6 @@ const Agent = __nccwpck_require__(57405)
|
||||
const ProxyAgent = __nccwpck_require__(76672)
|
||||
const EnvHttpProxyAgent = __nccwpck_require__(53137)
|
||||
const RetryAgent = __nccwpck_require__(30050)
|
||||
const H2CClient = __nccwpck_require__(36815)
|
||||
const errors = __nccwpck_require__(68707)
|
||||
const util = __nccwpck_require__(3440)
|
||||
const { InvalidArgumentError } = errors
|
||||
@@ -83386,7 +82525,6 @@ module.exports.Agent = Agent
|
||||
module.exports.ProxyAgent = ProxyAgent
|
||||
module.exports.EnvHttpProxyAgent = EnvHttpProxyAgent
|
||||
module.exports.RetryAgent = RetryAgent
|
||||
module.exports.H2CClient = H2CClient
|
||||
module.exports.RetryHandler = RetryHandler
|
||||
|
||||
module.exports.DecoratorHandler = DecoratorHandler
|
||||
@@ -85112,7 +84250,6 @@ module.exports = {
|
||||
|
||||
|
||||
const { Writable } = __nccwpck_require__(57075)
|
||||
const { EventEmitter } = __nccwpck_require__(78474)
|
||||
const { assertCacheKey, assertCacheValue } = __nccwpck_require__(47659)
|
||||
|
||||
/**
|
||||
@@ -85124,9 +84261,8 @@ const { assertCacheKey, assertCacheValue } = __nccwpck_require__(47659)
|
||||
|
||||
/**
|
||||
* @implements {CacheStore}
|
||||
* @extends {EventEmitter}
|
||||
*/
|
||||
class MemoryCacheStore extends EventEmitter {
|
||||
class MemoryCacheStore {
|
||||
#maxCount = Infinity
|
||||
#maxSize = Infinity
|
||||
#maxEntrySize = Infinity
|
||||
@@ -85134,13 +84270,11 @@ class MemoryCacheStore extends EventEmitter {
|
||||
#size = 0
|
||||
#count = 0
|
||||
#entries = new Map()
|
||||
#hasEmittedMaxSizeEvent = false
|
||||
|
||||
/**
|
||||
* @param {import('../../types/cache-interceptor.d.ts').default.MemoryCacheStoreOpts | undefined} [opts]
|
||||
*/
|
||||
constructor (opts) {
|
||||
super()
|
||||
if (opts) {
|
||||
if (typeof opts !== 'object') {
|
||||
throw new TypeError('MemoryCacheStore options must be an object')
|
||||
@@ -85181,22 +84315,6 @@ class MemoryCacheStore extends EventEmitter {
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the current size of the cache in bytes
|
||||
* @returns {number} The current size of the cache in bytes
|
||||
*/
|
||||
get size () {
|
||||
return this.#size
|
||||
}
|
||||
|
||||
/**
|
||||
* Check if the cache is full (either max size or max count reached)
|
||||
* @returns {boolean} True if the cache is full, false otherwise
|
||||
*/
|
||||
isFull () {
|
||||
return this.#size >= this.#maxSize || this.#count >= this.#maxCount
|
||||
}
|
||||
|
||||
/**
|
||||
* @param {import('../../types/cache-interceptor.d.ts').default.CacheKey} req
|
||||
* @returns {import('../../types/cache-interceptor.d.ts').default.GetResult | undefined}
|
||||
@@ -85207,9 +84325,17 @@ class MemoryCacheStore extends EventEmitter {
|
||||
const topLevelKey = `${key.origin}:${key.path}`
|
||||
|
||||
const now = Date.now()
|
||||
const entries = this.#entries.get(topLevelKey)
|
||||
const entry = this.#entries.get(topLevelKey)?.find((entry) => (
|
||||
entry.deleteAt > now &&
|
||||
entry.method === key.method &&
|
||||
(entry.vary == null || Object.keys(entry.vary).every(headerName => {
|
||||
if (entry.vary[headerName] === null) {
|
||||
return key.headers[headerName] === undefined
|
||||
}
|
||||
|
||||
const entry = entries ? findEntry(key, entries, now) : null
|
||||
return entry.vary[headerName] === key.headers[headerName]
|
||||
}))
|
||||
))
|
||||
|
||||
return entry == null
|
||||
? undefined
|
||||
@@ -85263,32 +84389,12 @@ class MemoryCacheStore extends EventEmitter {
|
||||
entries = []
|
||||
store.#entries.set(topLevelKey, entries)
|
||||
}
|
||||
const previousEntry = findEntry(key, entries, Date.now())
|
||||
if (previousEntry) {
|
||||
const index = entries.indexOf(previousEntry)
|
||||
entries.splice(index, 1, entry)
|
||||
store.#size -= previousEntry.size
|
||||
} else {
|
||||
entries.push(entry)
|
||||
store.#count += 1
|
||||
}
|
||||
entries.push(entry)
|
||||
|
||||
store.#size += entry.size
|
||||
store.#count += 1
|
||||
|
||||
// Check if cache is full and emit event if needed
|
||||
if (store.#size > store.#maxSize || store.#count > store.#maxCount) {
|
||||
// Emit maxSizeExceeded event if we haven't already
|
||||
if (!store.#hasEmittedMaxSizeEvent) {
|
||||
store.emit('maxSizeExceeded', {
|
||||
size: store.#size,
|
||||
maxSize: store.#maxSize,
|
||||
count: store.#count,
|
||||
maxCount: store.#maxCount
|
||||
})
|
||||
store.#hasEmittedMaxSizeEvent = true
|
||||
}
|
||||
|
||||
// Perform eviction
|
||||
for (const [key, entries] of store.#entries) {
|
||||
for (const entry of entries.splice(0, entries.length / 2)) {
|
||||
store.#size -= entry.size
|
||||
@@ -85298,11 +84404,6 @@ class MemoryCacheStore extends EventEmitter {
|
||||
store.#entries.delete(key)
|
||||
}
|
||||
}
|
||||
|
||||
// Reset the event flag after eviction
|
||||
if (store.#size < store.#maxSize && store.#count < store.#maxCount) {
|
||||
store.#hasEmittedMaxSizeEvent = false
|
||||
}
|
||||
}
|
||||
|
||||
callback(null)
|
||||
@@ -85328,20 +84429,6 @@ class MemoryCacheStore extends EventEmitter {
|
||||
}
|
||||
}
|
||||
|
||||
function findEntry (key, entries, now) {
|
||||
return entries.find((entry) => (
|
||||
entry.deleteAt > now &&
|
||||
entry.method === key.method &&
|
||||
(entry.vary == null || Object.keys(entry.vary).every(headerName => {
|
||||
if (entry.vary[headerName] === null) {
|
||||
return key.headers[headerName] === undefined
|
||||
}
|
||||
|
||||
return entry.vary[headerName] === key.headers[headerName]
|
||||
}))
|
||||
))
|
||||
}
|
||||
|
||||
module.exports = MemoryCacheStore
|
||||
|
||||
|
||||
@@ -85468,11 +84555,6 @@ module.exports = class SqliteCacheStore {
|
||||
this.#db = new DatabaseSync(opts?.location ?? ':memory:')
|
||||
|
||||
this.#db.exec(`
|
||||
PRAGMA journal_mode = WAL;
|
||||
PRAGMA synchronous = NORMAL;
|
||||
PRAGMA temp_store = memory;
|
||||
PRAGMA optimize;
|
||||
|
||||
CREATE TABLE IF NOT EXISTS cacheInterceptorV${VERSION} (
|
||||
-- Data specific to us
|
||||
id INTEGER PRIMARY KEY AUTOINCREMENT,
|
||||
@@ -85492,8 +84574,9 @@ module.exports = class SqliteCacheStore {
|
||||
staleAt INTEGER NOT NULL
|
||||
);
|
||||
|
||||
CREATE INDEX IF NOT EXISTS idx_cacheInterceptorV${VERSION}_getValuesQuery ON cacheInterceptorV${VERSION}(url, method, deleteAt);
|
||||
CREATE INDEX IF NOT EXISTS idx_cacheInterceptorV${VERSION}_deleteByUrlQuery ON cacheInterceptorV${VERSION}(deleteAt);
|
||||
CREATE INDEX IF NOT EXISTS idx_cacheInterceptorV${VERSION}_url ON cacheInterceptorV${VERSION}(url);
|
||||
CREATE INDEX IF NOT EXISTS idx_cacheInterceptorV${VERSION}_method ON cacheInterceptorV${VERSION}(method);
|
||||
CREATE INDEX IF NOT EXISTS idx_cacheInterceptorV${VERSION}_deleteAt ON cacheInterceptorV${VERSION}(deleteAt);
|
||||
`)
|
||||
|
||||
this.#getValuesQuery = this.#db.prepare(`
|
||||
@@ -85703,7 +84786,7 @@ module.exports = class SqliteCacheStore {
|
||||
}
|
||||
|
||||
#prune () {
|
||||
if (Number.isFinite(this.#maxCount) && this.size <= this.#maxCount) {
|
||||
if (this.size <= this.#maxCount) {
|
||||
return 0
|
||||
}
|
||||
|
||||
@@ -85825,7 +84908,10 @@ function headerValueEquals (lhs, rhs) {
|
||||
const net = __nccwpck_require__(77030)
|
||||
const assert = __nccwpck_require__(34589)
|
||||
const util = __nccwpck_require__(3440)
|
||||
const { InvalidArgumentError } = __nccwpck_require__(68707)
|
||||
const { InvalidArgumentError, ConnectTimeoutError } = __nccwpck_require__(68707)
|
||||
const timers = __nccwpck_require__(96603)
|
||||
|
||||
function noop () {}
|
||||
|
||||
let tls // include tls conditionally since it is not always available
|
||||
|
||||
@@ -85925,6 +85011,7 @@ function buildConnector ({ allowH2, maxCachedSessions, socketPath, timeout, sess
|
||||
servername,
|
||||
session,
|
||||
localAddress,
|
||||
// TODO(HTTP/2): Add support for h2c
|
||||
ALPNProtocols: allowH2 ? ['http/1.1', 'h2'] : ['http/1.1'],
|
||||
socket: httpSocket, // upgrade socket connection
|
||||
port,
|
||||
@@ -85956,7 +85043,7 @@ function buildConnector ({ allowH2, maxCachedSessions, socketPath, timeout, sess
|
||||
socket.setKeepAlive(true, keepAliveInitialDelay)
|
||||
}
|
||||
|
||||
const clearConnectTimeout = util.setupConnectTimeout(new WeakRef(socket), { timeout, hostname, port })
|
||||
const clearConnectTimeout = setupConnectTimeout(new WeakRef(socket), { timeout, hostname, port })
|
||||
|
||||
socket
|
||||
.setNoDelay(true)
|
||||
@@ -85983,6 +85070,78 @@ function buildConnector ({ allowH2, maxCachedSessions, socketPath, timeout, sess
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* @param {WeakRef<net.Socket>} socketWeakRef
|
||||
* @param {object} opts
|
||||
* @param {number} opts.timeout
|
||||
* @param {string} opts.hostname
|
||||
* @param {number} opts.port
|
||||
* @returns {() => void}
|
||||
*/
|
||||
const setupConnectTimeout = process.platform === 'win32'
|
||||
? (socketWeakRef, opts) => {
|
||||
if (!opts.timeout) {
|
||||
return noop
|
||||
}
|
||||
|
||||
let s1 = null
|
||||
let s2 = null
|
||||
const fastTimer = timers.setFastTimeout(() => {
|
||||
// setImmediate is added to make sure that we prioritize socket error events over timeouts
|
||||
s1 = setImmediate(() => {
|
||||
// Windows needs an extra setImmediate probably due to implementation differences in the socket logic
|
||||
s2 = setImmediate(() => onConnectTimeout(socketWeakRef.deref(), opts))
|
||||
})
|
||||
}, opts.timeout)
|
||||
return () => {
|
||||
timers.clearFastTimeout(fastTimer)
|
||||
clearImmediate(s1)
|
||||
clearImmediate(s2)
|
||||
}
|
||||
}
|
||||
: (socketWeakRef, opts) => {
|
||||
if (!opts.timeout) {
|
||||
return noop
|
||||
}
|
||||
|
||||
let s1 = null
|
||||
const fastTimer = timers.setFastTimeout(() => {
|
||||
// setImmediate is added to make sure that we prioritize socket error events over timeouts
|
||||
s1 = setImmediate(() => {
|
||||
onConnectTimeout(socketWeakRef.deref(), opts)
|
||||
})
|
||||
}, opts.timeout)
|
||||
return () => {
|
||||
timers.clearFastTimeout(fastTimer)
|
||||
clearImmediate(s1)
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* @param {net.Socket} socket
|
||||
* @param {object} opts
|
||||
* @param {number} opts.timeout
|
||||
* @param {string} opts.hostname
|
||||
* @param {number} opts.port
|
||||
*/
|
||||
function onConnectTimeout (socket, opts) {
|
||||
// The socket could be already garbage collected
|
||||
if (socket == null) {
|
||||
return
|
||||
}
|
||||
|
||||
let message = 'Connect Timeout Error'
|
||||
if (Array.isArray(socket.autoSelectFamilyAttemptedAddresses)) {
|
||||
message += ` (attempted addresses: ${socket.autoSelectFamilyAttemptedAddresses.join(', ')},`
|
||||
} else {
|
||||
message += ` (attempted address: ${opts.hostname}:${opts.port},`
|
||||
}
|
||||
|
||||
message += ` timeout: ${opts.timeout}ms)`
|
||||
|
||||
util.destroy(socket, new ConnectTimeoutError(message))
|
||||
}
|
||||
|
||||
module.exports = buildConnector
|
||||
|
||||
|
||||
@@ -87259,12 +86418,11 @@ const { Blob } = __nccwpck_require__(4573)
|
||||
const nodeUtil = __nccwpck_require__(57975)
|
||||
const { stringify } = __nccwpck_require__(41792)
|
||||
const { EventEmitter: EE } = __nccwpck_require__(78474)
|
||||
const timers = __nccwpck_require__(96603)
|
||||
const { InvalidArgumentError, ConnectTimeoutError } = __nccwpck_require__(68707)
|
||||
const { InvalidArgumentError } = __nccwpck_require__(68707)
|
||||
const { headerNameLowerCasedRecord } = __nccwpck_require__(10735)
|
||||
const { tree } = __nccwpck_require__(67752)
|
||||
|
||||
const [nodeMajor, nodeMinor] = process.versions.node.split('.', 2).map(v => Number(v))
|
||||
const [nodeMajor, nodeMinor] = process.versions.node.split('.').map(v => Number(v))
|
||||
|
||||
class BodyAsyncIterable {
|
||||
constructor (body) {
|
||||
@@ -87279,8 +86437,6 @@ class BodyAsyncIterable {
|
||||
}
|
||||
}
|
||||
|
||||
function noop () {}
|
||||
|
||||
/**
|
||||
* @param {*} body
|
||||
* @returns {*}
|
||||
@@ -88090,78 +87246,6 @@ function errorRequest (client, request, err) {
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* @param {WeakRef<net.Socket>} socketWeakRef
|
||||
* @param {object} opts
|
||||
* @param {number} opts.timeout
|
||||
* @param {string} opts.hostname
|
||||
* @param {number} opts.port
|
||||
* @returns {() => void}
|
||||
*/
|
||||
const setupConnectTimeout = process.platform === 'win32'
|
||||
? (socketWeakRef, opts) => {
|
||||
if (!opts.timeout) {
|
||||
return noop
|
||||
}
|
||||
|
||||
let s1 = null
|
||||
let s2 = null
|
||||
const fastTimer = timers.setFastTimeout(() => {
|
||||
// setImmediate is added to make sure that we prioritize socket error events over timeouts
|
||||
s1 = setImmediate(() => {
|
||||
// Windows needs an extra setImmediate probably due to implementation differences in the socket logic
|
||||
s2 = setImmediate(() => onConnectTimeout(socketWeakRef.deref(), opts))
|
||||
})
|
||||
}, opts.timeout)
|
||||
return () => {
|
||||
timers.clearFastTimeout(fastTimer)
|
||||
clearImmediate(s1)
|
||||
clearImmediate(s2)
|
||||
}
|
||||
}
|
||||
: (socketWeakRef, opts) => {
|
||||
if (!opts.timeout) {
|
||||
return noop
|
||||
}
|
||||
|
||||
let s1 = null
|
||||
const fastTimer = timers.setFastTimeout(() => {
|
||||
// setImmediate is added to make sure that we prioritize socket error events over timeouts
|
||||
s1 = setImmediate(() => {
|
||||
onConnectTimeout(socketWeakRef.deref(), opts)
|
||||
})
|
||||
}, opts.timeout)
|
||||
return () => {
|
||||
timers.clearFastTimeout(fastTimer)
|
||||
clearImmediate(s1)
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* @param {net.Socket} socket
|
||||
* @param {object} opts
|
||||
* @param {number} opts.timeout
|
||||
* @param {string} opts.hostname
|
||||
* @param {number} opts.port
|
||||
*/
|
||||
function onConnectTimeout (socket, opts) {
|
||||
// The socket could be already garbage collected
|
||||
if (socket == null) {
|
||||
return
|
||||
}
|
||||
|
||||
let message = 'Connect Timeout Error'
|
||||
if (Array.isArray(socket.autoSelectFamilyAttemptedAddresses)) {
|
||||
message += ` (attempted addresses: ${socket.autoSelectFamilyAttemptedAddresses.join(', ')},`
|
||||
} else {
|
||||
message += ` (attempted address: ${opts.hostname}:${opts.port},`
|
||||
}
|
||||
|
||||
message += ` timeout: ${opts.timeout}ms)`
|
||||
|
||||
destroy(socket, new ConnectTimeoutError(message))
|
||||
}
|
||||
|
||||
const kEnumerableProperty = Object.create(null)
|
||||
kEnumerableProperty.enumerable = true
|
||||
|
||||
@@ -88233,8 +87317,7 @@ module.exports = {
|
||||
nodeMajor,
|
||||
nodeMinor,
|
||||
safeHTTPMethods: Object.freeze(['GET', 'HEAD', 'OPTIONS', 'TRACE']),
|
||||
wrapRequestBody,
|
||||
setupConnectTimeout
|
||||
wrapRequestBody
|
||||
}
|
||||
|
||||
|
||||
@@ -88247,7 +87330,7 @@ module.exports = {
|
||||
|
||||
|
||||
const { InvalidArgumentError } = __nccwpck_require__(68707)
|
||||
const { kClients, kRunning, kClose, kDestroy, kDispatch, kUrl } = __nccwpck_require__(36443)
|
||||
const { kClients, kRunning, kClose, kDestroy, kDispatch } = __nccwpck_require__(36443)
|
||||
const DispatcherBase = __nccwpck_require__(21841)
|
||||
const Pool = __nccwpck_require__(30628)
|
||||
const Client = __nccwpck_require__(23701)
|
||||
@@ -88291,35 +87374,22 @@ class Agent extends DispatcherBase {
|
||||
}
|
||||
|
||||
this[kOnConnect] = (origin, targets) => {
|
||||
const result = this[kClients].get(origin)
|
||||
if (result) {
|
||||
result.count += 1
|
||||
}
|
||||
this.emit('connect', origin, [this, ...targets])
|
||||
}
|
||||
|
||||
this[kOnDisconnect] = (origin, targets, err) => {
|
||||
const result = this[kClients].get(origin)
|
||||
if (result) {
|
||||
result.count -= 1
|
||||
if (result.count <= 0) {
|
||||
this[kClients].delete(origin)
|
||||
result.dispatcher.destroy()
|
||||
}
|
||||
}
|
||||
this.emit('disconnect', origin, [this, ...targets], err)
|
||||
}
|
||||
|
||||
this[kOnConnectionError] = (origin, targets, err) => {
|
||||
// TODO: should this decrement result.count here?
|
||||
this.emit('connectionError', origin, [this, ...targets], err)
|
||||
}
|
||||
}
|
||||
|
||||
get [kRunning] () {
|
||||
let ret = 0
|
||||
for (const { dispatcher } of this[kClients].values()) {
|
||||
ret += dispatcher[kRunning]
|
||||
for (const client of this[kClients].values()) {
|
||||
ret += client[kRunning]
|
||||
}
|
||||
return ret
|
||||
}
|
||||
@@ -88332,8 +87402,8 @@ class Agent extends DispatcherBase {
|
||||
throw new InvalidArgumentError('opts.origin must be a non-empty string or URL.')
|
||||
}
|
||||
|
||||
const result = this[kClients].get(key)
|
||||
let dispatcher = result && result.dispatcher
|
||||
let dispatcher = this[kClients].get(key)
|
||||
|
||||
if (!dispatcher) {
|
||||
dispatcher = this[kFactory](opts.origin, this[kOptions])
|
||||
.on('drain', this[kOnDrain])
|
||||
@@ -88341,7 +87411,10 @@ class Agent extends DispatcherBase {
|
||||
.on('disconnect', this[kOnDisconnect])
|
||||
.on('connectionError', this[kOnConnectionError])
|
||||
|
||||
this[kClients].set(key, { count: 0, dispatcher })
|
||||
// This introduces a tiny memory leak, as dispatchers are never removed from the map.
|
||||
// TODO(mcollina): remove te timer when the client/pool do not have any more
|
||||
// active connections.
|
||||
this[kClients].set(key, dispatcher)
|
||||
}
|
||||
|
||||
return dispatcher.dispatch(opts, handler)
|
||||
@@ -88349,8 +87422,8 @@ class Agent extends DispatcherBase {
|
||||
|
||||
async [kClose] () {
|
||||
const closePromises = []
|
||||
for (const { dispatcher } of this[kClients].values()) {
|
||||
closePromises.push(dispatcher.close())
|
||||
for (const client of this[kClients].values()) {
|
||||
closePromises.push(client.close())
|
||||
}
|
||||
this[kClients].clear()
|
||||
|
||||
@@ -88359,23 +87432,13 @@ class Agent extends DispatcherBase {
|
||||
|
||||
async [kDestroy] (err) {
|
||||
const destroyPromises = []
|
||||
for (const { dispatcher } of this[kClients].values()) {
|
||||
destroyPromises.push(dispatcher.destroy(err))
|
||||
for (const client of this[kClients].values()) {
|
||||
destroyPromises.push(client.destroy(err))
|
||||
}
|
||||
this[kClients].clear()
|
||||
|
||||
await Promise.all(destroyPromises)
|
||||
}
|
||||
|
||||
get stats () {
|
||||
const allClientStats = {}
|
||||
for (const { dispatcher } of this[kClients].values()) {
|
||||
if (dispatcher.stats) {
|
||||
allClientStats[dispatcher[kUrl].origin] = dispatcher.stats
|
||||
}
|
||||
}
|
||||
return allClientStats
|
||||
}
|
||||
}
|
||||
|
||||
module.exports = Agent
|
||||
@@ -90434,7 +89497,6 @@ function onHttp2SessionGoAway (errorCode) {
|
||||
assert(client[kRunning] === 0)
|
||||
|
||||
client.emit('disconnect', client[kUrl], [client], err)
|
||||
client.emit('connectionError', client[kUrl], [client], err)
|
||||
|
||||
client[kResume]()
|
||||
}
|
||||
@@ -90521,13 +89583,11 @@ function writeH2 (client, request) {
|
||||
if (Array.isArray(val)) {
|
||||
for (let i = 0; i < val.length; i++) {
|
||||
if (headers[key]) {
|
||||
headers[key] += `, ${val[i]}`
|
||||
headers[key] += `,${val[i]}`
|
||||
} else {
|
||||
headers[key] = val[i]
|
||||
}
|
||||
}
|
||||
} else if (headers[key]) {
|
||||
headers[key] += `, ${val}`
|
||||
} else {
|
||||
headers[key] = val
|
||||
}
|
||||
@@ -91036,7 +90096,6 @@ const assert = __nccwpck_require__(34589)
|
||||
const net = __nccwpck_require__(77030)
|
||||
const http = __nccwpck_require__(37067)
|
||||
const util = __nccwpck_require__(3440)
|
||||
const { ClientStats } = __nccwpck_require__(46854)
|
||||
const { channels } = __nccwpck_require__(42414)
|
||||
const Request = __nccwpck_require__(44655)
|
||||
const DispatcherBase = __nccwpck_require__(21841)
|
||||
@@ -91293,10 +90352,6 @@ class Client extends DispatcherBase {
|
||||
this[kResume](true)
|
||||
}
|
||||
|
||||
get stats () {
|
||||
return new ClientStats(this)
|
||||
}
|
||||
|
||||
get [kPending] () {
|
||||
return this[kQueue].length - this[kPendingIdx]
|
||||
}
|
||||
@@ -92197,136 +91252,6 @@ module.exports = class FixedQueue {
|
||||
}
|
||||
|
||||
|
||||
/***/ }),
|
||||
|
||||
/***/ 36815:
|
||||
/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {
|
||||
|
||||
"use strict";
|
||||
|
||||
const { connect } = __nccwpck_require__(77030)
|
||||
|
||||
const { kClose, kDestroy } = __nccwpck_require__(36443)
|
||||
const { InvalidArgumentError } = __nccwpck_require__(68707)
|
||||
const util = __nccwpck_require__(3440)
|
||||
|
||||
const Client = __nccwpck_require__(23701)
|
||||
const DispatcherBase = __nccwpck_require__(21841)
|
||||
|
||||
class H2CClient extends DispatcherBase {
|
||||
#client = null
|
||||
|
||||
constructor (origin, clientOpts) {
|
||||
super()
|
||||
|
||||
if (typeof origin === 'string') {
|
||||
origin = new URL(origin)
|
||||
}
|
||||
|
||||
if (origin.protocol !== 'http:') {
|
||||
throw new InvalidArgumentError(
|
||||
'h2c-client: Only h2c protocol is supported'
|
||||
)
|
||||
}
|
||||
|
||||
const { connect, maxConcurrentStreams, pipelining, ...opts } =
|
||||
clientOpts ?? {}
|
||||
let defaultMaxConcurrentStreams = 100
|
||||
let defaultPipelining = 100
|
||||
|
||||
if (
|
||||
maxConcurrentStreams != null &&
|
||||
Number.isInteger(maxConcurrentStreams) &&
|
||||
maxConcurrentStreams > 0
|
||||
) {
|
||||
defaultMaxConcurrentStreams = maxConcurrentStreams
|
||||
}
|
||||
|
||||
if (pipelining != null && Number.isInteger(pipelining) && pipelining > 0) {
|
||||
defaultPipelining = pipelining
|
||||
}
|
||||
|
||||
if (defaultPipelining > defaultMaxConcurrentStreams) {
|
||||
throw new InvalidArgumentError(
|
||||
'h2c-client: pipelining cannot be greater than maxConcurrentStreams'
|
||||
)
|
||||
}
|
||||
|
||||
this.#client = new Client(origin, {
|
||||
...opts,
|
||||
connect: this.#buildConnector(connect),
|
||||
maxConcurrentStreams: defaultMaxConcurrentStreams,
|
||||
pipelining: defaultPipelining,
|
||||
allowH2: true
|
||||
})
|
||||
}
|
||||
|
||||
#buildConnector (connectOpts) {
|
||||
return (opts, callback) => {
|
||||
const timeout = connectOpts?.connectOpts ?? 10e3
|
||||
const { hostname, port, pathname } = opts
|
||||
const socket = connect({
|
||||
...opts,
|
||||
host: hostname,
|
||||
port,
|
||||
pathname
|
||||
})
|
||||
|
||||
// Set TCP keep alive options on the socket here instead of in connect() for the case of assigning the socket
|
||||
if (opts.keepAlive == null || opts.keepAlive) {
|
||||
const keepAliveInitialDelay =
|
||||
opts.keepAliveInitialDelay == null ? 60e3 : opts.keepAliveInitialDelay
|
||||
socket.setKeepAlive(true, keepAliveInitialDelay)
|
||||
}
|
||||
|
||||
socket.alpnProtocol = 'h2'
|
||||
|
||||
const clearConnectTimeout = util.setupConnectTimeout(
|
||||
new WeakRef(socket),
|
||||
{ timeout, hostname, port }
|
||||
)
|
||||
|
||||
socket
|
||||
.setNoDelay(true)
|
||||
.once('connect', function () {
|
||||
queueMicrotask(clearConnectTimeout)
|
||||
|
||||
if (callback) {
|
||||
const cb = callback
|
||||
callback = null
|
||||
cb(null, this)
|
||||
}
|
||||
})
|
||||
.on('error', function (err) {
|
||||
queueMicrotask(clearConnectTimeout)
|
||||
|
||||
if (callback) {
|
||||
const cb = callback
|
||||
callback = null
|
||||
cb(err)
|
||||
}
|
||||
})
|
||||
|
||||
return socket
|
||||
}
|
||||
}
|
||||
|
||||
dispatch (opts, handler) {
|
||||
return this.#client.dispatch(opts, handler)
|
||||
}
|
||||
|
||||
async [kClose] () {
|
||||
await this.#client.close()
|
||||
}
|
||||
|
||||
async [kDestroy] () {
|
||||
await this.#client.destroy()
|
||||
}
|
||||
}
|
||||
|
||||
module.exports = H2CClient
|
||||
|
||||
|
||||
/***/ }),
|
||||
|
||||
/***/ 42128:
|
||||
@@ -92335,10 +91260,10 @@ module.exports = H2CClient
|
||||
"use strict";
|
||||
|
||||
|
||||
const { PoolStats } = __nccwpck_require__(46854)
|
||||
const DispatcherBase = __nccwpck_require__(21841)
|
||||
const FixedQueue = __nccwpck_require__(64660)
|
||||
const { kConnected, kSize, kRunning, kPending, kQueued, kBusy, kFree, kUrl, kClose, kDestroy, kDispatch } = __nccwpck_require__(36443)
|
||||
const PoolStats = __nccwpck_require__(43246)
|
||||
|
||||
const kClients = Symbol('clients')
|
||||
const kNeedDrain = Symbol('needDrain')
|
||||
@@ -92351,6 +91276,7 @@ const kOnConnectionError = Symbol('onConnectionError')
|
||||
const kGetDispatcher = Symbol('get dispatcher')
|
||||
const kAddClient = Symbol('add client')
|
||||
const kRemoveClient = Symbol('remove client')
|
||||
const kStats = Symbol('stats')
|
||||
|
||||
class PoolBase extends DispatcherBase {
|
||||
constructor () {
|
||||
@@ -92401,6 +91327,8 @@ class PoolBase extends DispatcherBase {
|
||||
this[kOnConnectionError] = (origin, targets, err) => {
|
||||
pool.emit('connectionError', origin, [pool, ...targets], err)
|
||||
}
|
||||
|
||||
this[kStats] = new PoolStats(this)
|
||||
}
|
||||
|
||||
get [kBusy] () {
|
||||
@@ -92440,7 +91368,7 @@ class PoolBase extends DispatcherBase {
|
||||
}
|
||||
|
||||
get stats () {
|
||||
return new PoolStats(this)
|
||||
return this[kStats]
|
||||
}
|
||||
|
||||
async [kClose] () {
|
||||
@@ -92526,6 +91454,50 @@ module.exports = {
|
||||
}
|
||||
|
||||
|
||||
/***/ }),
|
||||
|
||||
/***/ 43246:
|
||||
/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {
|
||||
|
||||
"use strict";
|
||||
|
||||
|
||||
const { kFree, kConnected, kPending, kQueued, kRunning, kSize } = __nccwpck_require__(36443)
|
||||
const kPool = Symbol('pool')
|
||||
|
||||
class PoolStats {
|
||||
constructor (pool) {
|
||||
this[kPool] = pool
|
||||
}
|
||||
|
||||
get connected () {
|
||||
return this[kPool][kConnected]
|
||||
}
|
||||
|
||||
get free () {
|
||||
return this[kPool][kFree]
|
||||
}
|
||||
|
||||
get pending () {
|
||||
return this[kPool][kPending]
|
||||
}
|
||||
|
||||
get queued () {
|
||||
return this[kPool][kQueued]
|
||||
}
|
||||
|
||||
get running () {
|
||||
return this[kPool][kRunning]
|
||||
}
|
||||
|
||||
get size () {
|
||||
return this[kPool][kSize]
|
||||
}
|
||||
}
|
||||
|
||||
module.exports = PoolStats
|
||||
|
||||
|
||||
/***/ }),
|
||||
|
||||
/***/ 30628:
|
||||
@@ -92539,8 +91511,7 @@ const {
|
||||
kClients,
|
||||
kNeedDrain,
|
||||
kAddClient,
|
||||
kGetDispatcher,
|
||||
kRemoveClient
|
||||
kGetDispatcher
|
||||
} = __nccwpck_require__(42128)
|
||||
const Client = __nccwpck_require__(23701)
|
||||
const {
|
||||
@@ -92570,7 +91541,6 @@ class Pool extends PoolBase {
|
||||
autoSelectFamily,
|
||||
autoSelectFamilyAttemptTimeout,
|
||||
allowH2,
|
||||
clientTtl,
|
||||
...options
|
||||
} = {}) {
|
||||
if (connections != null && (!Number.isFinite(connections) || connections < 0)) {
|
||||
@@ -92601,20 +91571,12 @@ class Pool extends PoolBase {
|
||||
|
||||
this[kConnections] = connections || null
|
||||
this[kUrl] = util.parseOrigin(origin)
|
||||
this[kOptions] = { ...util.deepClone(options), connect, allowH2, clientTtl }
|
||||
this[kOptions] = { ...util.deepClone(options), connect, allowH2 }
|
||||
this[kOptions].interceptors = options.interceptors
|
||||
? { ...options.interceptors }
|
||||
: undefined
|
||||
this[kFactory] = factory
|
||||
|
||||
this.on('connect', (origin, targets) => {
|
||||
if (clientTtl != null && clientTtl > 0) {
|
||||
for (const target of targets) {
|
||||
Object.assign(target, { ttl: Date.now() })
|
||||
}
|
||||
}
|
||||
})
|
||||
|
||||
this.on('connectionError', (origin, targets, error) => {
|
||||
// If a connection error occurs, we remove the client from the pool,
|
||||
// and emit a connectionError event. They will not be re-used.
|
||||
@@ -92631,12 +91593,8 @@ class Pool extends PoolBase {
|
||||
}
|
||||
|
||||
[kGetDispatcher] () {
|
||||
const clientTtlOption = this[kOptions].clientTtl
|
||||
for (const client of this[kClients]) {
|
||||
// check ttl of client and if it's stale, remove it from the pool
|
||||
if (clientTtlOption != null && clientTtlOption > 0 && client.ttl && ((Date.now() - client.ttl) > clientTtlOption)) {
|
||||
this[kRemoveClient](client)
|
||||
} else if (!client[kNeedDrain]) {
|
||||
if (!client[kNeedDrain]) {
|
||||
return client
|
||||
}
|
||||
}
|
||||
@@ -92660,14 +91618,13 @@ module.exports = Pool
|
||||
"use strict";
|
||||
|
||||
|
||||
const { kProxy, kClose, kDestroy, kDispatch, kConnector } = __nccwpck_require__(36443)
|
||||
const { kProxy, kClose, kDestroy } = __nccwpck_require__(36443)
|
||||
const { URL } = __nccwpck_require__(73136)
|
||||
const Agent = __nccwpck_require__(57405)
|
||||
const Pool = __nccwpck_require__(30628)
|
||||
const DispatcherBase = __nccwpck_require__(21841)
|
||||
const { InvalidArgumentError, RequestAbortedError, SecureProxyConnectionError } = __nccwpck_require__(68707)
|
||||
const buildConnector = __nccwpck_require__(59136)
|
||||
const Client = __nccwpck_require__(23701)
|
||||
|
||||
const kAgent = Symbol('proxy agent')
|
||||
const kClient = Symbol('proxy client')
|
||||
@@ -92675,7 +91632,6 @@ const kProxyHeaders = Symbol('proxy headers')
|
||||
const kRequestTls = Symbol('request tls settings')
|
||||
const kProxyTls = Symbol('proxy tls settings')
|
||||
const kConnectEndpoint = Symbol('connect endpoint function')
|
||||
const kTunnelProxy = Symbol('tunnel proxy')
|
||||
|
||||
function defaultProtocolPort (protocol) {
|
||||
return protocol === 'https:' ? 443 : 80
|
||||
@@ -92687,61 +91643,6 @@ function defaultFactory (origin, opts) {
|
||||
|
||||
const noop = () => {}
|
||||
|
||||
class ProxyClient extends DispatcherBase {
|
||||
#client = null
|
||||
constructor (origin, opts) {
|
||||
if (typeof origin === 'string') {
|
||||
origin = new URL(origin)
|
||||
}
|
||||
|
||||
if (origin.protocol !== 'http:' && origin.protocol !== 'https:') {
|
||||
throw new InvalidArgumentError('ProxyClient only supports http and https protocols')
|
||||
}
|
||||
|
||||
super()
|
||||
|
||||
this.#client = new Client(origin, opts)
|
||||
}
|
||||
|
||||
async [kClose] () {
|
||||
await this.#client.close()
|
||||
}
|
||||
|
||||
async [kDestroy] () {
|
||||
await this.#client.destroy()
|
||||
}
|
||||
|
||||
async [kDispatch] (opts, handler) {
|
||||
const { method, origin } = opts
|
||||
if (method === 'CONNECT') {
|
||||
this.#client[kConnector]({
|
||||
origin,
|
||||
port: opts.port || defaultProtocolPort(opts.protocol),
|
||||
path: opts.host,
|
||||
signal: opts.signal,
|
||||
headers: {
|
||||
...this[kProxyHeaders],
|
||||
host: opts.host
|
||||
},
|
||||
servername: this[kProxyTls]?.servername || opts.servername
|
||||
},
|
||||
(err, socket) => {
|
||||
if (err) {
|
||||
handler.callback(err)
|
||||
} else {
|
||||
handler.callback(null, { socket, statusCode: 200 })
|
||||
}
|
||||
}
|
||||
)
|
||||
return
|
||||
}
|
||||
if (typeof origin === 'string') {
|
||||
opts.origin = new URL(origin)
|
||||
}
|
||||
|
||||
return this.#client.dispatch(opts, handler)
|
||||
}
|
||||
}
|
||||
class ProxyAgent extends DispatcherBase {
|
||||
constructor (opts) {
|
||||
if (!opts || (typeof opts === 'object' && !(opts instanceof URL) && !opts.uri)) {
|
||||
@@ -92753,8 +91654,6 @@ class ProxyAgent extends DispatcherBase {
|
||||
throw new InvalidArgumentError('Proxy opts.clientFactory must be a function.')
|
||||
}
|
||||
|
||||
const { proxyTunnel = true } = opts
|
||||
|
||||
super()
|
||||
|
||||
const url = this.#getUrl(opts)
|
||||
@@ -92776,19 +91675,9 @@ class ProxyAgent extends DispatcherBase {
|
||||
this[kProxyHeaders]['proxy-authorization'] = `Basic ${Buffer.from(`${decodeURIComponent(username)}:${decodeURIComponent(password)}`).toString('base64')}`
|
||||
}
|
||||
|
||||
const factory = (!proxyTunnel && protocol === 'http:')
|
||||
? (origin, options) => {
|
||||
if (origin.protocol === 'http:') {
|
||||
return new ProxyClient(origin, options)
|
||||
}
|
||||
return new Client(origin, options)
|
||||
}
|
||||
: undefined
|
||||
|
||||
const connect = buildConnector({ ...opts.proxyTls })
|
||||
this[kConnectEndpoint] = buildConnector({ ...opts.requestTls })
|
||||
this[kClient] = clientFactory(url, { connect, factory })
|
||||
this[kTunnelProxy] = proxyTunnel
|
||||
this[kClient] = clientFactory(url, { connect })
|
||||
this[kAgent] = new Agent({
|
||||
...opts,
|
||||
connect: async (opts, callback) => {
|
||||
@@ -92844,10 +91733,6 @@ class ProxyAgent extends DispatcherBase {
|
||||
headers.host = host
|
||||
}
|
||||
|
||||
if (!this.#shouldConnect(new URL(opts.origin))) {
|
||||
opts.path = opts.origin + opts.path
|
||||
}
|
||||
|
||||
return this[kAgent].dispatch(
|
||||
{
|
||||
...opts,
|
||||
@@ -92880,19 +91765,6 @@ class ProxyAgent extends DispatcherBase {
|
||||
await this[kAgent].destroy()
|
||||
await this[kClient].destroy()
|
||||
}
|
||||
|
||||
#shouldConnect (uri) {
|
||||
if (typeof uri === 'string') {
|
||||
uri = new URL(uri)
|
||||
}
|
||||
if (this[kTunnelProxy]) {
|
||||
return true
|
||||
}
|
||||
if (uri.protocol !== 'http:' || this[kProxy].protocol !== 'http:') {
|
||||
return true
|
||||
}
|
||||
return false
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -93491,7 +92363,7 @@ const assert = __nccwpck_require__(34589)
|
||||
* here, which we then just pass on to the next handler (most likely a
|
||||
* CacheHandler). Note that this assumes the proper headers were already
|
||||
* included in the request to tell the origin that we want to revalidate the
|
||||
* response (i.e. if-modified-since or if-none-match).
|
||||
* response (i.e. if-modified-since).
|
||||
*
|
||||
* @see https://www.rfc-editor.org/rfc/rfc9111.html#name-validation
|
||||
*
|
||||
@@ -94487,7 +93359,7 @@ const util = __nccwpck_require__(3440)
|
||||
const CacheHandler = __nccwpck_require__(39976)
|
||||
const MemoryCacheStore = __nccwpck_require__(74889)
|
||||
const CacheRevalidationHandler = __nccwpck_require__(17133)
|
||||
const { assertCacheStore, assertCacheMethods, makeCacheKey, normaliseHeaders, parseCacheControlHeader } = __nccwpck_require__(47659)
|
||||
const { assertCacheStore, assertCacheMethods, makeCacheKey, parseCacheControlHeader } = __nccwpck_require__(47659)
|
||||
const { AbortError } = __nccwpck_require__(68707)
|
||||
|
||||
/**
|
||||
@@ -94501,12 +93373,7 @@ const { AbortError } = __nccwpck_require__(68707)
|
||||
*/
|
||||
function needsRevalidation (result, cacheControlDirectives) {
|
||||
if (cacheControlDirectives?.['no-cache']) {
|
||||
// Always revalidate requests with the no-cache request directive
|
||||
return true
|
||||
}
|
||||
|
||||
if (result.cacheControlDirectives?.['no-cache'] && !Array.isArray(result.cacheControlDirectives['no-cache'])) {
|
||||
// Always revalidate requests with unqualified no-cache response directive
|
||||
// Always revalidate requests with the no-cache directive
|
||||
return true
|
||||
}
|
||||
|
||||
@@ -94707,7 +93574,7 @@ function handleResult (
|
||||
// Check if the response is stale
|
||||
if (needsRevalidation(result, reqCacheControl)) {
|
||||
if (util.isStream(opts.body) && util.bodyLength(opts.body) !== 0) {
|
||||
// If body is a stream we can't revalidate...
|
||||
// If body is is stream we can't revalidate...
|
||||
// TODO (fix): This could be less strict...
|
||||
return dispatch(opts, new CacheHandler(globalOpts, cacheKey, handler))
|
||||
}
|
||||
@@ -94805,11 +93672,6 @@ module.exports = (opts = {}) => {
|
||||
return dispatch(opts, handler)
|
||||
}
|
||||
|
||||
opts = {
|
||||
...opts,
|
||||
headers: normaliseHeaders(opts)
|
||||
}
|
||||
|
||||
const reqCacheControl = opts.headers?.['cache-control']
|
||||
? parseCacheControlHeader(opts.headers['cache-control'])
|
||||
: undefined
|
||||
@@ -96170,12 +95032,11 @@ const {
|
||||
kMockAgentIsCallHistoryEnabled,
|
||||
kMockAgentAddCallHistoryLog,
|
||||
kMockAgentMockCallHistoryInstance,
|
||||
kMockAgentAcceptsNonStandardSearchParameters,
|
||||
kMockCallHistoryAddLog
|
||||
} = __nccwpck_require__(91117)
|
||||
const MockClient = __nccwpck_require__(47365)
|
||||
const MockPool = __nccwpck_require__(94004)
|
||||
const { matchValue, normalizeSearchParams, buildAndValidateMockOptions } = __nccwpck_require__(53397)
|
||||
const { matchValue, buildAndValidateMockOptions } = __nccwpck_require__(53397)
|
||||
const { InvalidArgumentError, UndiciError } = __nccwpck_require__(68707)
|
||||
const Dispatcher = __nccwpck_require__(30883)
|
||||
const PendingInterceptorsFormatter = __nccwpck_require__(56142)
|
||||
@@ -96190,7 +95051,6 @@ class MockAgent extends Dispatcher {
|
||||
this[kNetConnect] = true
|
||||
this[kIsMockActive] = true
|
||||
this[kMockAgentIsCallHistoryEnabled] = mockOptions?.enableCallHistory ?? false
|
||||
this[kMockAgentAcceptsNonStandardSearchParameters] = mockOptions?.acceptNonStandardSearchParameters ?? false
|
||||
|
||||
// Instantiate Agent and encapsulate
|
||||
if (opts?.agent && typeof opts.agent.dispatch !== 'function') {
|
||||
@@ -96223,17 +95083,7 @@ class MockAgent extends Dispatcher {
|
||||
|
||||
this[kMockAgentAddCallHistoryLog](opts)
|
||||
|
||||
const acceptNonStandardSearchParameters = this[kMockAgentAcceptsNonStandardSearchParameters]
|
||||
|
||||
const dispatchOpts = { ...opts }
|
||||
|
||||
if (acceptNonStandardSearchParameters && dispatchOpts.path) {
|
||||
const [path, searchParams] = dispatchOpts.path.split('?')
|
||||
const normalizedSearchParams = normalizeSearchParams(searchParams, acceptNonStandardSearchParameters)
|
||||
dispatchOpts.path = `${path}?${normalizedSearchParams}`
|
||||
}
|
||||
|
||||
return this[kAgent].dispatch(dispatchOpts, handler)
|
||||
return this[kAgent].dispatch(opts, handler)
|
||||
}
|
||||
|
||||
async close () {
|
||||
@@ -96313,7 +95163,7 @@ class MockAgent extends Dispatcher {
|
||||
}
|
||||
|
||||
[kMockAgentSet] (origin, dispatcher) {
|
||||
this[kClients].set(origin, { count: 0, dispatcher })
|
||||
this[kClients].set(origin, dispatcher)
|
||||
}
|
||||
|
||||
[kFactory] (origin) {
|
||||
@@ -96325,9 +95175,9 @@ class MockAgent extends Dispatcher {
|
||||
|
||||
[kMockAgentGet] (origin) {
|
||||
// First check if we can immediately find it
|
||||
const result = this[kClients].get(origin)
|
||||
if (result?.dispatcher) {
|
||||
return result.dispatcher
|
||||
const client = this[kClients].get(origin)
|
||||
if (client) {
|
||||
return client
|
||||
}
|
||||
|
||||
// If the origin is not a string create a dummy parent pool and return to user
|
||||
@@ -96338,11 +95188,11 @@ class MockAgent extends Dispatcher {
|
||||
}
|
||||
|
||||
// If we match, create a pool and assign the same dispatches
|
||||
for (const [keyMatcher, result] of Array.from(this[kClients])) {
|
||||
if (result && typeof keyMatcher !== 'string' && matchValue(keyMatcher, origin)) {
|
||||
for (const [keyMatcher, nonExplicitDispatcher] of Array.from(this[kClients])) {
|
||||
if (nonExplicitDispatcher && typeof keyMatcher !== 'string' && matchValue(keyMatcher, origin)) {
|
||||
const dispatcher = this[kFactory](origin)
|
||||
this[kMockAgentSet](origin, dispatcher)
|
||||
dispatcher[kDispatches] = result.dispatcher[kDispatches]
|
||||
dispatcher[kDispatches] = nonExplicitDispatcher[kDispatches]
|
||||
return dispatcher
|
||||
}
|
||||
}
|
||||
@@ -96356,7 +95206,7 @@ class MockAgent extends Dispatcher {
|
||||
const mockAgentClients = this[kClients]
|
||||
|
||||
return Array.from(mockAgentClients.entries())
|
||||
.flatMap(([origin, result]) => result.dispatcher[kDispatches].map(dispatch => ({ ...dispatch, origin })))
|
||||
.flatMap(([origin, scope]) => scope[kDispatches].map(dispatch => ({ ...dispatch, origin })))
|
||||
.filter(({ pending }) => pending)
|
||||
}
|
||||
|
||||
@@ -97056,7 +95906,6 @@ module.exports = {
|
||||
kMockAgentRegisterCallHistory: Symbol('mock agent register mock call history'),
|
||||
kMockAgentAddCallHistoryLog: Symbol('mock agent add call history log'),
|
||||
kMockAgentIsCallHistoryEnabled: Symbol('mock agent is call history enabled'),
|
||||
kMockAgentAcceptsNonStandardSearchParameters: Symbol('mock agent accepts non standard search parameters'),
|
||||
kMockCallHistoryAddLog: Symbol('mock call history add log')
|
||||
}
|
||||
|
||||
@@ -97161,42 +96010,13 @@ function matchHeaders (mockDispatch, headers) {
|
||||
return true
|
||||
}
|
||||
|
||||
function normalizeSearchParams (query) {
|
||||
if (typeof query !== 'string') {
|
||||
return query
|
||||
}
|
||||
|
||||
const originalQp = new URLSearchParams(query)
|
||||
const normalizedQp = new URLSearchParams()
|
||||
|
||||
for (let [key, value] of originalQp.entries()) {
|
||||
key = key.replace('[]', '')
|
||||
|
||||
const valueRepresentsString = /^(['"]).*\1$/.test(value)
|
||||
if (valueRepresentsString) {
|
||||
normalizedQp.append(key, value)
|
||||
continue
|
||||
}
|
||||
|
||||
if (value.includes(',')) {
|
||||
const values = value.split(',')
|
||||
for (const v of values) {
|
||||
normalizedQp.append(key, v)
|
||||
}
|
||||
continue
|
||||
}
|
||||
|
||||
normalizedQp.append(key, value)
|
||||
}
|
||||
|
||||
return normalizedQp
|
||||
}
|
||||
|
||||
function safeUrl (path) {
|
||||
if (typeof path !== 'string') {
|
||||
return path
|
||||
}
|
||||
const pathSegments = path.split('?', 3)
|
||||
|
||||
const pathSegments = path.split('?')
|
||||
|
||||
if (pathSegments.length !== 2) {
|
||||
return path
|
||||
}
|
||||
@@ -97474,10 +96294,6 @@ function buildAndValidateMockOptions (opts) {
|
||||
throw new InvalidArgumentError('options.enableCallHistory must to be a boolean')
|
||||
}
|
||||
|
||||
if ('acceptNonStandardSearchParameters' in mockOptions && typeof mockOptions.acceptNonStandardSearchParameters !== 'boolean') {
|
||||
throw new InvalidArgumentError('options.acceptNonStandardSearchParameters must to be a boolean')
|
||||
}
|
||||
|
||||
return mockOptions
|
||||
}
|
||||
}
|
||||
@@ -97497,8 +96313,7 @@ module.exports = {
|
||||
checkNetConnect,
|
||||
buildAndValidateMockOptions,
|
||||
getHeaderByName,
|
||||
buildHeadersFromArray,
|
||||
normalizeSearchParams
|
||||
buildHeadersFromArray
|
||||
}
|
||||
|
||||
|
||||
@@ -97573,19 +96388,7 @@ function makeCacheKey (opts) {
|
||||
throw new Error('opts.origin is undefined')
|
||||
}
|
||||
|
||||
return {
|
||||
origin: opts.origin.toString(),
|
||||
method: opts.method,
|
||||
path: opts.path,
|
||||
headers: opts.headers
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* @param {Record<string, string[] | string>}
|
||||
* @return {Record<string, string[] | string>}
|
||||
*/
|
||||
function normaliseHeaders (opts) {
|
||||
/** @type {Record<string, string[] | string>} */
|
||||
let headers
|
||||
if (opts.headers == null) {
|
||||
headers = {}
|
||||
@@ -97611,7 +96414,12 @@ function normaliseHeaders (opts) {
|
||||
throw new Error('opts.headers is not an object')
|
||||
}
|
||||
|
||||
return headers
|
||||
return {
|
||||
origin: opts.origin.toString(),
|
||||
method: opts.method,
|
||||
path: opts.path,
|
||||
headers
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -97918,7 +96726,6 @@ function assertCacheMethods (methods, name = 'CacheMethods') {
|
||||
|
||||
module.exports = {
|
||||
makeCacheKey,
|
||||
normaliseHeaders,
|
||||
assertCacheKey,
|
||||
assertCacheValue,
|
||||
parseCacheControlHeader,
|
||||
@@ -98196,46 +97003,6 @@ module.exports = {
|
||||
}
|
||||
|
||||
|
||||
/***/ }),
|
||||
|
||||
/***/ 46854:
|
||||
/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {
|
||||
|
||||
"use strict";
|
||||
|
||||
|
||||
const {
|
||||
kConnected,
|
||||
kPending,
|
||||
kRunning,
|
||||
kSize,
|
||||
kFree,
|
||||
kQueued
|
||||
} = __nccwpck_require__(36443)
|
||||
|
||||
class ClientStats {
|
||||
constructor (client) {
|
||||
this.connected = client[kConnected]
|
||||
this.pending = client[kPending]
|
||||
this.running = client[kRunning]
|
||||
this.size = client[kSize]
|
||||
}
|
||||
}
|
||||
|
||||
class PoolStats {
|
||||
constructor (pool) {
|
||||
this.connected = pool[kConnected]
|
||||
this.free = pool[kFree]
|
||||
this.pending = pool[kPending]
|
||||
this.queued = pool[kQueued]
|
||||
this.running = pool[kRunning]
|
||||
this.size = pool[kSize]
|
||||
}
|
||||
}
|
||||
|
||||
module.exports = { ClientStats, PoolStats }
|
||||
|
||||
|
||||
/***/ }),
|
||||
|
||||
/***/ 96603:
|
||||
@@ -104898,9 +103665,7 @@ function finalizeAndReportTiming (response, initiatorType = 'other') {
|
||||
originalURL.href,
|
||||
initiatorType,
|
||||
globalThis,
|
||||
cacheState,
|
||||
'', // bodyType
|
||||
response.status
|
||||
cacheState
|
||||
)
|
||||
}
|
||||
|
||||
@@ -105585,7 +104350,7 @@ function fetchFinale (fetchParams, response) {
|
||||
// 3. Set fetchParams’s controller’s report timing steps to the following steps given a global object global:
|
||||
fetchParams.controller.reportTimingSteps = () => {
|
||||
// 1. If fetchParams’s request’s URL’s scheme is not an HTTP(S) scheme, then return.
|
||||
if (!urlIsHttpHttpsScheme(fetchParams.request.url)) {
|
||||
if (fetchParams.request.url.protocol !== 'https:') {
|
||||
return
|
||||
}
|
||||
|
||||
@@ -105627,6 +104392,7 @@ function fetchFinale (fetchParams, response) {
|
||||
// fetchParams’s request’s URL, fetchParams’s request’s initiator type, global, cacheState, bodyInfo,
|
||||
// and responseStatus.
|
||||
if (fetchParams.request.initiatorType != null) {
|
||||
// TODO: update markresourcetiming
|
||||
markResourceTiming(timingInfo, fetchParams.request.url.href, fetchParams.request.initiatorType, globalThis, cacheState, bodyInfo, responseStatus)
|
||||
}
|
||||
}
|
||||
@@ -113543,7 +112309,7 @@ function parseExtensions (extensions) {
|
||||
|
||||
while (position.position < extensions.length) {
|
||||
const pair = collectASequenceOfCodePointsFast(';', extensions, position)
|
||||
const [name, value = ''] = pair.split('=', 2)
|
||||
const [name, value = ''] = pair.split('=')
|
||||
|
||||
extensionList.set(
|
||||
removeHTTPWhitespace(name, true, false),
|
||||
@@ -121420,8 +120186,7 @@ async function computeKeys() {
|
||||
const suffix = inputs_1.cacheSuffix ? `-${inputs_1.cacheSuffix}` : "";
|
||||
const pythonVersion = await getPythonVersion();
|
||||
const platform = await (0, platforms_1.getPlatform)();
|
||||
const pruned = inputs_1.pruneCache ? "-pruned" : "";
|
||||
return `setup-uv-${CACHE_VERSION}-${(0, platforms_1.getArch)()}-${platform}-${pythonVersion}${pruned}${cacheDependencyPathHash}${suffix}`;
|
||||
return `setup-uv-${CACHE_VERSION}-${(0, platforms_1.getArch)()}-${platform}-${pythonVersion}${cacheDependencyPathHash}${suffix}`;
|
||||
}
|
||||
async function getPythonVersion() {
|
||||
if (inputs_1.pythonVersion !== "") {
|
||||
@@ -121437,7 +120202,7 @@ async function getPythonVersion() {
|
||||
},
|
||||
};
|
||||
try {
|
||||
const execArgs = ["python", "find", "--directory", inputs_1.workingDirectory];
|
||||
const execArgs = ["python", "find"];
|
||||
await exec.exec("uv", execArgs, options);
|
||||
const pythonPath = output.trim();
|
||||
output = "";
|
||||
@@ -121563,432 +120328,6 @@ Object.defineProperty(exports, "__esModule", ({ value: true }));
|
||||
exports.KNOWN_CHECKSUMS = void 0;
|
||||
// AUTOGENERATED_DO_NOT_EDIT
|
||||
exports.KNOWN_CHECKSUMS = {
|
||||
"aarch64-apple-darwin-0.7.13": "721f532b73171586574298d4311a91d5ea2c802ef4db3ebafc434239330090c6",
|
||||
"aarch64-pc-windows-msvc-0.7.13": "bb40708ad549ad6a12209cb139dd751bf0ede41deb679ce7513ce197bd9ef234",
|
||||
"aarch64-unknown-linux-gnu-0.7.13": "0b2ad9fe4295881615295add8cc5daa02549d29cc9a61f0578e397efcf12f08f",
|
||||
"aarch64-unknown-linux-musl-0.7.13": "52baba71881c978d32b7c32216ad0cde4546a4dc62e606c9834ec4616c1610eb",
|
||||
"arm-unknown-linux-musleabihf-0.7.13": "ff2b11fff489301f9d55c851b9ebce7ca5530d743d2c0a3861cc45896715ea9b",
|
||||
"armv7-unknown-linux-gnueabihf-0.7.13": "903350811ee31b2b758c8afb853490c27a34382a535b236739705b104bc13894",
|
||||
"armv7-unknown-linux-musleabihf-0.7.13": "7e3b2aa966c54ced0fcd9febea6b913ee7ea12ee85246513895f199ab13296a8",
|
||||
"i686-pc-windows-msvc-0.7.13": "5cf71014fde208ee0833026b3828007f8eaf514ec003784dc1ae92633877179b",
|
||||
"i686-unknown-linux-gnu-0.7.13": "ff031258ff08b3aca46648398e21fe9679744501e3c9a928c8e42d596a708bbc",
|
||||
"i686-unknown-linux-musl-0.7.13": "41851d695bb5401bce5af81a156d63215087cf8e8e1275e69dd96de4bfa30c26",
|
||||
"powerpc64-unknown-linux-gnu-0.7.13": "02a80ce1436bf673b0d7276bb24dea0bbc70958dc91e5fb04ad37ac515be7424",
|
||||
"powerpc64le-unknown-linux-gnu-0.7.13": "60c8907cce089de97dcce732ae363eda0620f7196c25e8bd539f168b93f9e34c",
|
||||
"riscv64gc-unknown-linux-gnu-0.7.13": "521a5235bc5a053dd7f0221c363544cef6d033064cc9d92dbb4ef19771000052",
|
||||
"s390x-unknown-linux-gnu-0.7.13": "41e4b6093dd408b41dffb4c9e08c4aa31424ee4573ce9c95566c2617f7f2d0c6",
|
||||
"x86_64-apple-darwin-0.7.13": "d785753ac092e25316180626aa691c5dfe1fb075290457ba4fdb72c7c5661321",
|
||||
"x86_64-pc-windows-msvc-0.7.13": "e199b10bef1a7cc540014483e7f60f825a174988f41020e9d2a6b01bd60f0669",
|
||||
"x86_64-unknown-linux-gnu-0.7.13": "909278eb197c5ed0e9b5f16317d1255270d1f9ea4196e7179ce934d48c4c2545",
|
||||
"x86_64-unknown-linux-musl-0.7.13": "560bb64e060354e45138d7dd47c8dd48a4f7a349af5520d29cd3c704e79f286c",
|
||||
"aarch64-apple-darwin-0.7.12": "189108cd026c25d40fb086eaaf320aac52c3f7aab63e185bac51305a1576fc7e",
|
||||
"aarch64-pc-windows-msvc-0.7.12": "fbedfb71356d0e63c86b507cf1434a58406afe6eac77aee9d37b8282d4006e14",
|
||||
"aarch64-unknown-linux-gnu-0.7.12": "23233d2e950ed8187858350da5c6803b14cbbeaef780382093bb2f2bc4ba1200",
|
||||
"aarch64-unknown-linux-musl-0.7.12": "0589f6d27bbbe2e205aa6fc25e4cd28ab97e984cdba20842de8d3a00714e13e9",
|
||||
"arm-unknown-linux-musleabihf-0.7.12": "6996e32ac1c37af33a4c6e40ab0126a82d62ccb94edb164b7dae554be4dd8336",
|
||||
"armv7-unknown-linux-gnueabihf-0.7.12": "aee2dc202deed7e15984d71eb59803111052fbe8c0fb3ffad27ae0a6d290d74f",
|
||||
"armv7-unknown-linux-musleabihf-0.7.12": "87bd7676d31858d9e1937ab69d13e30cc93ebb09fb246dde6a8f183e9570a82c",
|
||||
"i686-pc-windows-msvc-0.7.12": "c7ec71ba64d01ef3cdb89553445de94ab4fd7375c8f2a7068353aec7a3a06342",
|
||||
"i686-unknown-linux-gnu-0.7.12": "d1def68ff10b30327a5cacab497664aaf8338e192ba277b76f45dad63208f2e2",
|
||||
"i686-unknown-linux-musl-0.7.12": "f56a0a9c84b35b7e910c4d628c667b843fb3fa1d9dddb0bbf4bf3f21eeaee07f",
|
||||
"powerpc64-unknown-linux-gnu-0.7.12": "6eafb546d1b8642a5c27e4dfda213659fee41b0fd150b4c33ef96c917e595344",
|
||||
"powerpc64le-unknown-linux-gnu-0.7.12": "0d550348d7a0f54352824cd751dc7baea0c23b17d744a5a7784b6b825e5fc909",
|
||||
"s390x-unknown-linux-gnu-0.7.12": "76f5a2c1c13446233312d140136f3f55fa7c162176327830eb109ccaae6c9cea",
|
||||
"x86_64-apple-darwin-0.7.12": "a338354420dba089218c05d4d585e4bcf174a65fe53260592b2af19ceec85835",
|
||||
"x86_64-pc-windows-msvc-0.7.12": "2cf29c8ffaa2549aa0f86927b2510008e8ca3dcd2100277d86faf437382a371b",
|
||||
"x86_64-unknown-linux-gnu-0.7.12": "735891fb553d0be129f3aa39dc8e9c4c49aaa76ec17f7dfb6a732e79a714873a",
|
||||
"x86_64-unknown-linux-musl-0.7.12": "bb493f1e6ae426c06b5a103cb71aa60c678976d2377f0590644538658656c2a7",
|
||||
"aarch64-apple-darwin-0.7.11": "b5f4cb27a3002d6590c3681377c6d826db0b52e2a9529c7144fcd53fec89ba79",
|
||||
"aarch64-pc-windows-msvc-0.7.11": "856bac93344a6980b2703a4143f26fc042c941b02f11ed21f55ec6be3fdfde87",
|
||||
"aarch64-unknown-linux-gnu-0.7.11": "80cf695c4e10b532e9db3c7fbbcfb0f8356f2e70e7a4a5040e005f0fae70923d",
|
||||
"aarch64-unknown-linux-musl-0.7.11": "2ad20d143c74d7f63d1c99db3999f239f045b7be041e23f6ac8b269c99fa54fe",
|
||||
"arm-unknown-linux-musleabihf-0.7.11": "21fec46f09d96cd9f51378fe01ed050dd2032c1fef823f8bd81fa50a2337bbcc",
|
||||
"armv7-unknown-linux-gnueabihf-0.7.11": "1a75aaff4695c07151d5b9abb50232ea9fb6f5ccc82d4b319abd8796605d9db8",
|
||||
"armv7-unknown-linux-musleabihf-0.7.11": "431b3115ab8fb5e2210d01f29b7901e6eb1174ff65545ec49318d6d4adf4c802",
|
||||
"i686-pc-windows-msvc-0.7.11": "985f5eabf42b8ad0166ae6b9f799564220fa932938a8401c890d5e07321ce7c0",
|
||||
"i686-unknown-linux-gnu-0.7.11": "619e205d56594fc530dbde6c6a543dd094c796791a5e2cfcd3bb70fa5767bf9d",
|
||||
"i686-unknown-linux-musl-0.7.11": "838c6336ba8e88818459b10c3520e83601b9c0a9850a209accef9782c050faad",
|
||||
"powerpc64-unknown-linux-gnu-0.7.11": "769c7f32cbc2ad918ccf9ae661d99a6c0d0fd3a0056691832b4a79049a9d06ec",
|
||||
"powerpc64le-unknown-linux-gnu-0.7.11": "c9bbbcc2d4f11c83e0edbff5868d95f07f81455adb6f2f909cdb9b992928101b",
|
||||
"s390x-unknown-linux-gnu-0.7.11": "0e7b9b27e9fef1b42aa052173a2a47a2ec33bad82425237dfac402b7f69bd073",
|
||||
"x86_64-apple-darwin-0.7.11": "97980b067dc3fea16534371b030eaf38554d701de5058004edcfd542a88a2e84",
|
||||
"x86_64-pc-windows-msvc-0.7.11": "0f4ef69fde75bb8bcfba7ecf0a4134d8875578cd2e98c9fcfc21573e746c70ac",
|
||||
"x86_64-unknown-linux-gnu-0.7.11": "df54b274e99b7ef26030dc21d105ce115bc21a644fc6a321bde9222cb1616de6",
|
||||
"x86_64-unknown-linux-musl-0.7.11": "e4e8948645ebea1950a3c77574ce079dfe1c71547ba5a8a141d6e362fa036684",
|
||||
"aarch64-apple-darwin-0.7.10": "316b80c19832ff4085748c3a20a3e05f36e1d19234e8b9399a6fd1c971241bce",
|
||||
"aarch64-pc-windows-msvc-0.7.10": "1eed0f11bca79403648195f8ce257763d956e861cb73de98c480dae15358bb26",
|
||||
"aarch64-unknown-linux-gnu-0.7.10": "8746acb754807050124c6dbcb05fcad2665a3f0cdb2a0fe9de528bd37b092656",
|
||||
"aarch64-unknown-linux-musl-0.7.10": "f9000f08850a5c575d5fe1ddc2ec928ecc9f287ecdcd9fa1ea4e3f405b23d4a3",
|
||||
"arm-unknown-linux-musleabihf-0.7.10": "657b1b8a534f7fe78e63aff56aac5bbcb21f6254df79825fe204d5c7c1219653",
|
||||
"armv7-unknown-linux-gnueabihf-0.7.10": "1cf4a8f40abbd802a7b44fe9695da356701100d267eb3567c17db27e0a24cf69",
|
||||
"armv7-unknown-linux-musleabihf-0.7.10": "5282b825f469295dc2b88c94eccd375a93135a279b0711cb10e615e7a71a0617",
|
||||
"i686-pc-windows-msvc-0.7.10": "f3c62ff935685d9d4312b82d01ed386493b97c3d22bd434d943fc99ce9aef83a",
|
||||
"i686-unknown-linux-gnu-0.7.10": "24a2a3eb0e89b74de6aac492516303747519439775d22254e838d33410ac27b2",
|
||||
"i686-unknown-linux-musl-0.7.10": "e317d35af60b38ad32935390a83d12adc3ed7ffdbc2ccccd3039bf6cef650eb3",
|
||||
"powerpc64-unknown-linux-gnu-0.7.10": "c1ab41ec53cd720179f3351b61b4ded73ec520804413b75051736829a125e4fe",
|
||||
"powerpc64le-unknown-linux-gnu-0.7.10": "ce2c3fdf177facf6c77c5316bb54b9deaf498bee9f664e01a4030ecf27063ab1",
|
||||
"s390x-unknown-linux-gnu-0.7.10": "b7603e3f4494e9093a86ace1103e3fcfa172a952989f0c7dca6eeac7f77be81f",
|
||||
"x86_64-apple-darwin-0.7.10": "9123e8aa944654404787f80731ec08850c4e9b9129c0d0445c9e41438828b8b8",
|
||||
"x86_64-pc-windows-msvc-0.7.10": "1568a71af55e9d9bc4a050ec79134a342a8a3765a73f6b7ec26490c2814f8797",
|
||||
"x86_64-unknown-linux-gnu-0.7.10": "ff2ef46298963fee8104ccb3c0a4ecbc97c057ac6a0bc5fec7636c855384252e",
|
||||
"x86_64-unknown-linux-musl-0.7.10": "b2cf1f63e83a873652ffef032681bbbe1469e3bab617f7e715e09529c30f5689",
|
||||
"aarch64-apple-darwin-0.7.9": "7a8b716a2b5905fb89512371ce6c6dbc0dd0344185bd1cd93a3fe27516eef7ec",
|
||||
"aarch64-pc-windows-msvc-0.7.9": "63c0990b9c49dc9f9a92aaaa27ba627cbf9cf6b2e42766588ef6f880208893de",
|
||||
"aarch64-unknown-linux-gnu-0.7.9": "23242a8051e2191ed8d61f71a6792f2fc069ef18e6cdf07dedac3d3f648643c5",
|
||||
"aarch64-unknown-linux-musl-0.7.9": "60f30508c9002b2b7af55d70db2741cf7ea24c066ced710ad09681a6d2d19b3a",
|
||||
"arm-unknown-linux-musleabihf-0.7.9": "57d8e43e257f0ccd9df2b8581338c5145b9937aba53e9c9bb81b31044b720c61",
|
||||
"armv7-unknown-linux-gnueabihf-0.7.9": "83353ee7e1724083ea94d7f488fa34c9159995a3996f87017fdf72e422c93242",
|
||||
"armv7-unknown-linux-musleabihf-0.7.9": "b2d8d81bc2abbdd857bad7cd3bf0d36c5155c0681aae8ac9fb8f49d54b95b3f2",
|
||||
"i686-pc-windows-msvc-0.7.9": "b5dc0dc10d9dd0dcf5729a94e98538418760d13877d4d4b1bc4efa9926280e78",
|
||||
"i686-unknown-linux-gnu-0.7.9": "fb8f1a7cb593c819c0fff71afa2dc480237ca80a3f5d8d433c8b51d2ae90ffdf",
|
||||
"i686-unknown-linux-musl-0.7.9": "a77592be13fea81ca42b2b7815784e769e1fd9ff476cfab69f2652823f99c55e",
|
||||
"powerpc64-unknown-linux-gnu-0.7.9": "26fee4867c158c04dd3a51ff9a23b4220a9ba69fae2e71be618d2cfa48164d96",
|
||||
"powerpc64le-unknown-linux-gnu-0.7.9": "d588fbb01cacccb7fd6e0f101d34282ebb0569381f967d332f8072055e39840e",
|
||||
"s390x-unknown-linux-gnu-0.7.9": "d823d68ff662b7e59c6791281427bf1019dae791a964ffae31ae1d2d723dfc08",
|
||||
"x86_64-apple-darwin-0.7.9": "a4c084568850588b77e4a34c21b7df5c8cf9e2160b4d614307ed92fa12411742",
|
||||
"x86_64-pc-windows-msvc-0.7.9": "f91d8a3322a10caf257fd416807bd8d2801285b80b46ee37f2d0c6e426b8822c",
|
||||
"x86_64-unknown-linux-gnu-0.7.9": "b8450a419c0bcc85841bbed8511eb59e2a5683ddd3f813f2b98b97babf6b1b8b",
|
||||
"x86_64-unknown-linux-musl-0.7.9": "95918a1e1faf851a39cad402f1a77318e8fc90b7f829833ebaff27de9722d60e",
|
||||
"aarch64-apple-darwin-0.7.8": "ad6b3825ba277de70b9d0a37055f7d828f3f37416aee1cde65000f330efd4587",
|
||||
"aarch64-pc-windows-msvc-0.7.8": "e43448e5e3267dffb6bbdc30ffa291f8db664d1da9d084c44f99dc568f459e0a",
|
||||
"aarch64-unknown-linux-gnu-0.7.8": "da9e1c97f1452b25c8955127c92da7b68be228ad0b43bf50bba4dadb25c8b337",
|
||||
"aarch64-unknown-linux-musl-0.7.8": "4d18efb46f93fa942dc4c212dea3b6b07e3db62fe57d0c3d08de6bf5d9f9bb51",
|
||||
"arm-unknown-linux-musleabihf-0.7.8": "133b1c3fb850ec496bfb4ef84379bfaeff1d2c322114a0984d8a5c2e10e63028",
|
||||
"armv7-unknown-linux-gnueabihf-0.7.8": "7d61c6e18e81447482dc80c090c65a6615a1232512899943566baf2808ca37bb",
|
||||
"armv7-unknown-linux-musleabihf-0.7.8": "0b6d6afcdb7c78e5df42cb2ab0929d2bec2654a350a8efacc6f95e830a31eb6e",
|
||||
"i686-pc-windows-msvc-0.7.8": "0d4b01372ca972543cd40366bb5480bb457e79dcf45b5f662721d709d6932dbd",
|
||||
"i686-unknown-linux-gnu-0.7.8": "db1c60961aea7a7f8c64a098801e0138e761b7556d1c1691fc4f3f771f0e47ae",
|
||||
"i686-unknown-linux-musl-0.7.8": "b765eb1817bc1d545f4860eff0adeb0c7907ea66be14536653192e588386b308",
|
||||
"powerpc64-unknown-linux-gnu-0.7.8": "2c894b104195ab194af05c6ad756ce8746a349a8620c83888207db5fccf29a8f",
|
||||
"powerpc64le-unknown-linux-gnu-0.7.8": "4b0d93385685f756068f76af1871dcb7cc8f427ab6d650afc07493d06dca71db",
|
||||
"s390x-unknown-linux-gnu-0.7.8": "e58fc9f6d846ccbf50d9bcf27920ff4bc061541df8a6a3aa6f13be24981e0772",
|
||||
"x86_64-apple-darwin-0.7.8": "f046249639014eb70b43cbaf83eb6f56aac724ada354f9b9aad65f9960737920",
|
||||
"x86_64-pc-windows-msvc-0.7.8": "355736ddf9a01ab9da918b35470027c12128d7ed1d7f54f54771507d79529679",
|
||||
"x86_64-unknown-linux-gnu-0.7.8": "285981409c746508c1fd125f66a1ea654e487bf1e4d9f45371a062338f788adb",
|
||||
"x86_64-unknown-linux-musl-0.7.8": "8a707e45e0d1a8bdbc5bd1af0ae7d19ffab55f3722c5e73471039561900e3d48",
|
||||
"aarch64-apple-darwin-0.7.7": "6a06eaa8165d5abd89c3dc37ffbe1db60fcf49a87d7c612bfca7e87a1514695d",
|
||||
"aarch64-pc-windows-msvc-0.7.7": "e86cd59f2569f4bf475e5ad944910142c0ab107ad12613429ad8873a6f41087f",
|
||||
"aarch64-unknown-linux-gnu-0.7.7": "013061d4d33385e9a3fc52df18d22334f20f12616970b0d81583d5125ce8d6fa",
|
||||
"aarch64-unknown-linux-musl-0.7.7": "4014dc9dc024bb5a082f16c54adcd5936d47dae664bafa38453b3017ede41aab",
|
||||
"arm-unknown-linux-musleabihf-0.7.7": "c1dc010e3ab855391f3a6906fcffbeac873d136df2b20cfd998105385444e45c",
|
||||
"armv7-unknown-linux-gnueabihf-0.7.7": "e08406cfcc1ccc0c069d22c91008967f662664abdbf8a15779a1944070e0f5b2",
|
||||
"armv7-unknown-linux-musleabihf-0.7.7": "35379428e6d001e63714449c26c9111d1d5ee6f3b6a95559c724ad57df9d8d17",
|
||||
"i686-pc-windows-msvc-0.7.7": "5e47a44df7707b58884cdf5d30527857ec1bf186e8f200517fd11a572669cacc",
|
||||
"i686-unknown-linux-gnu-0.7.7": "fc782a829cccb0201c4a918d9f5a3a114511d734953f7e5e60aed52951264454",
|
||||
"i686-unknown-linux-musl-0.7.7": "10b852326ee48502d6da26c7fe394345b7ce7ca94d76f293dbe4cde9577c3993",
|
||||
"powerpc64-unknown-linux-gnu-0.7.7": "4b26663e0c21289bd21c05a3ba344e6b069c600e5a6333e660ae16eb38027bd5",
|
||||
"powerpc64le-unknown-linux-gnu-0.7.7": "e691d6a8a8c285cd644cf1f6d47c2568740ddca645c860f9bb23799790b54e56",
|
||||
"s390x-unknown-linux-gnu-0.7.7": "b21953a1c6c5475306e64f9ccf721762d2fc6aa572ee5268ed61a3b1531f06c1",
|
||||
"x86_64-apple-darwin-0.7.7": "4b337495ced2a9797357ee853873c2f5a45cc52f6ed68c9feba3c997443452b0",
|
||||
"x86_64-pc-windows-msvc-0.7.7": "a27a1fdf3f6b850dfb45fb009f7ea0fe3db1a59f692ebdc64c24ff8dbd0467d1",
|
||||
"x86_64-unknown-linux-gnu-0.7.7": "d83e2b9c2b251c93985824d9a12d97f5b036b7a9ff0b7d647c9ca7ae5ff2ae1b",
|
||||
"x86_64-unknown-linux-musl-0.7.7": "3876cafbb6599287a78778d2c265fd2050acfc247409ed677a8583f20385a3ae",
|
||||
"aarch64-apple-darwin-0.7.6": "a0e7c0e44ec4b2743e1c1d1f6edca1418687b05084f48c007c6e1c7d3a35bcd2",
|
||||
"aarch64-pc-windows-msvc-0.7.6": "2ada1290e87144726b6a723b38fd34ce64da5a3fe820a21685564924f894408c",
|
||||
"aarch64-unknown-linux-gnu-0.7.6": "4eae30038653bbec528257054fe07495f20c5d4bc663b630258e87d159e282b6",
|
||||
"aarch64-unknown-linux-musl-0.7.6": "9e59f0753383d6a27404be238360165e415605b1504b209349852a27cc01d48f",
|
||||
"arm-unknown-linux-musleabihf-0.7.6": "b81d59deeba1f92aba48aefce2b364530baa1cb8aa4c59fc2a90c9acf98c9a20",
|
||||
"armv7-unknown-linux-gnueabihf-0.7.6": "e9d1b7d52def14fb1ab8af2fa52963ff8e4323934ec2e78720a94d92261fa9fc",
|
||||
"armv7-unknown-linux-musleabihf-0.7.6": "c525ad0f41c67d944e56362adffcda206aef36f3ed84daf90386fcbfa4a62c66",
|
||||
"i686-pc-windows-msvc-0.7.6": "aca45dbdb75cd2c5fdf70bf5ff436306d476352b135fcab544c4a9759d7d1af8",
|
||||
"i686-unknown-linux-gnu-0.7.6": "71448fddb93306b1b67f0c2e711eb79b6ea33d027212259abd7546a48d15b49f",
|
||||
"i686-unknown-linux-musl-0.7.6": "a641ada8b2ca3ec22c24414c2edef8c01370d7d4ac79998eac091b84f743c476",
|
||||
"powerpc64-unknown-linux-gnu-0.7.6": "9f63727933d11b0157ebc3fd640811c1224fe55215acff24e8ec5747fb4f90fc",
|
||||
"powerpc64le-unknown-linux-gnu-0.7.6": "da746e6e809f32ab9709e45c7d5e7c37901478cc610119c08ae335c43ac089b2",
|
||||
"s390x-unknown-linux-gnu-0.7.6": "a07d4303e97f72312f9db8a1a67bae08f02d883f1879fa917b9ae87aec90d933",
|
||||
"x86_64-apple-darwin-0.7.6": "718cfd68b13a1a642fadc53646742785cd33b2e06124a01454ad358617841852",
|
||||
"x86_64-pc-windows-msvc-0.7.6": "4c81818cc89d75ca54762e2641deebad69c0af6594212a9fb24b9849df8ac413",
|
||||
"x86_64-unknown-linux-gnu-0.7.6": "0c5f0935bba35359150774fc5876d72947b863b8173c94dda776e6d88014a0df",
|
||||
"x86_64-unknown-linux-musl-0.7.6": "be755e8503b7e7174f24ad8cdcadab94f0662fe0b60df4fc35e1ddae48b19f35",
|
||||
"aarch64-apple-darwin-0.7.5": "8d82c7f6fcfd79b142c8845f694c8225dd5b401cd720e8e1e2a35a1c4150f516",
|
||||
"aarch64-pc-windows-msvc-0.7.5": "9ec005bf0b472d47ab730e463cc5a156b18ca9a9a6fe1c72bf18d97384d0b717",
|
||||
"aarch64-unknown-linux-gnu-0.7.5": "715bd03f6b2924b8f742b716d0f4b9d31ccbb1ad4a7f8df4ce2f572efff7f2cb",
|
||||
"aarch64-unknown-linux-musl-0.7.5": "ce23f5e1d22f1cdfc0db4358d3b2642c115ad99d404aef15030af31e39ef3484",
|
||||
"arm-unknown-linux-musleabihf-0.7.5": "2e85c3ba3ba461822940bca197198babcb1a8ce620c3d1c624423e68bba49d43",
|
||||
"armv7-unknown-linux-gnueabihf-0.7.5": "cbd7990fb0d06750f7e966a54dc344396e4d605d029aa94a0cf00d695cb283e9",
|
||||
"armv7-unknown-linux-musleabihf-0.7.5": "96d5eb1246e654f4e2c37542797196d94c0d72fe44e470050a9fbf67e356fb10",
|
||||
"i686-pc-windows-msvc-0.7.5": "84e70b46e0f218db9573b0efce085c13e0e5ce7808b3143b990d1a334e5a8ee6",
|
||||
"i686-unknown-linux-gnu-0.7.5": "20efc06bc129d8757e81fdd00cf828a9c1d928a4a30c8c538c6d1ed219b52c5d",
|
||||
"i686-unknown-linux-musl-0.7.5": "3cc8dbcdb230a6abbaa3cd6b918d6150f747f45f8f96b7399d6258c54fab5867",
|
||||
"powerpc64-unknown-linux-gnu-0.7.5": "dab5571d40ce3347fe295b9afec9f560ad709461883ae604d0de827071b8d2f8",
|
||||
"powerpc64le-unknown-linux-gnu-0.7.5": "4c3843068cd0e1bf9e5f68e5487fba28feef3196c025a1b1eaddd533a52b7bd7",
|
||||
"s390x-unknown-linux-gnu-0.7.5": "1b286e386a4d66dd9393caf78888a881cf63202522a6a88262e551bc7b8b3995",
|
||||
"x86_64-apple-darwin-0.7.5": "751ae339c91a6b8eddb868a64222c2533c722042476e4f28466683ddf96fa488",
|
||||
"x86_64-pc-windows-msvc-0.7.5": "e95cb3789b2f80052c80048ff2865e06eae7512d06d304127898c70c4fd3564f",
|
||||
"x86_64-unknown-linux-gnu-0.7.5": "a3d1964080a855e1f8806975b5fa943376045a64852c06ba80540813aa333305",
|
||||
"x86_64-unknown-linux-musl-0.7.5": "be058167ae65f7a2b56f607b070bd4e93dacd09be52511ccb8ebb10fa132709f",
|
||||
"aarch64-apple-darwin-0.7.4": "1af8c353479890b29b75933706890627555bbc07e12a0117ae62da3ec2ee372e",
|
||||
"aarch64-pc-windows-msvc-0.7.4": "3800868f3cc1509d6ea16036e3268ff45fd22a85c922cf3de4fb9535dbb0099e",
|
||||
"aarch64-unknown-linux-gnu-0.7.4": "c407e4c7431ee6cb28deb842edb49fea1ee3f5674a357f11244bfb0fd57e2ae4",
|
||||
"aarch64-unknown-linux-musl-0.7.4": "ff0d9172d2105da526501e01c38ecf0558ea323cfcd25adff9a89cd7fad5c076",
|
||||
"arm-unknown-linux-musleabihf-0.7.4": "4e6b7d15444ae58bc196ee4e7e6e11b451b4e994c0c73968254d3d4ff1c89bca",
|
||||
"armv7-unknown-linux-gnueabihf-0.7.4": "303bac0f866c450fefe7543297fa87563941f924cb13f007dfe7cc02ac64dcd7",
|
||||
"armv7-unknown-linux-musleabihf-0.7.4": "004e22fe946fabec6b5dff668f4bd8f93569dab30efe0f3d4640f266760744bd",
|
||||
"i686-pc-windows-msvc-0.7.4": "113070d23ba1498cf9fff9ae634893a2a1dce42a0baa617c4a82009f61c71fbc",
|
||||
"i686-unknown-linux-gnu-0.7.4": "19f0f19dfe9d722a2fb89bde4771682cf632182d6204cc4ddb11d700d5b34c07",
|
||||
"i686-unknown-linux-musl-0.7.4": "fe281041401b4140a387f6101e64fcf4abb344791c12398c441c7e339510423d",
|
||||
"powerpc64-unknown-linux-gnu-0.7.4": "ef2320254e52234750d9745e6dc6e3b3c990aa51e506057d0869d4d18b55e5e3",
|
||||
"powerpc64le-unknown-linux-gnu-0.7.4": "e143278764aab89b68c6f55dfdfa4242c8f5d5213880b584880a776a5ca1b0dd",
|
||||
"s390x-unknown-linux-gnu-0.7.4": "14dbae76be8999dcc8336fac1f6f86710e7ce4f4c3e1aec01e7ef7f9a3468811",
|
||||
"x86_64-apple-darwin-0.7.4": "a6c5fd8aa67db03447934b14703a2d7bb04b5e5f7ff45630a749760393c5610f",
|
||||
"x86_64-pc-windows-msvc-0.7.4": "966d0dd8d86f02f94128714180cd5ff42cd2ea9b33b86fc197f25cfa066aaea1",
|
||||
"x86_64-unknown-linux-gnu-0.7.4": "5264d9b2bf021fccbaf6edb97bc17ce4863687745f2443460a8ca71e55891614",
|
||||
"x86_64-unknown-linux-musl-0.7.4": "70083140d9efaf82cbb7ffa6231d5de3536d6497ec84d708afaf9b7e2fffbac2",
|
||||
"aarch64-apple-darwin-0.7.3": "162b328fc63e0075d4267688201de91356e1c1b81db50419fa4466cfe2dfdebc",
|
||||
"aarch64-pc-windows-msvc-0.7.3": "542b318c98b0295dd3d620fbcd63388757f382e14c69c569cb3ce793aa75c975",
|
||||
"aarch64-unknown-linux-gnu-0.7.3": "2c2be8bbb83e9bc722f2013de8bb7506cfe6521d0e30b4ad046849d036b3eea6",
|
||||
"aarch64-unknown-linux-musl-0.7.3": "a3f01c3c993b57fa8d13855c5ba60e3847bda4f8e795a52d52879e242e886604",
|
||||
"arm-unknown-linux-musleabihf-0.7.3": "87f72dc1c3b1b598e08c8efc7f9ab8eca23df8549cf4c1fc27a4a6b2524809c1",
|
||||
"armv7-unknown-linux-gnueabihf-0.7.3": "69f285d861cd1809a4bad0f08c2ea8a77ec17cbe20524a4ebbee4c5a7c868520",
|
||||
"armv7-unknown-linux-musleabihf-0.7.3": "1a0071551cd575bbecef3218fb13bf05ab96ceb71b4b1d13a99b8a4af059f99f",
|
||||
"i686-pc-windows-msvc-0.7.3": "1c9becbc63c15dcf43b09c0ba84e0ba6fa533fa799b7baf57a36363ef42fbc52",
|
||||
"i686-unknown-linux-gnu-0.7.3": "a2b56cb262337380aa02b6d131e973d54090c3e655d3e55385d02850454c24de",
|
||||
"i686-unknown-linux-musl-0.7.3": "d6e846079ef38929206079147448c5683a3018116b2b3e6059cf4c26bcfbb290",
|
||||
"powerpc64-unknown-linux-gnu-0.7.3": "a9b94c618a5d5bc992102733a45759e38db9a9e069830c3e94c744d1bfc33c21",
|
||||
"powerpc64le-unknown-linux-gnu-0.7.3": "782e9c343cb7c219b5514e64a799a8b9fa82585f6176b53ed095dc030a22d993",
|
||||
"s390x-unknown-linux-gnu-0.7.3": "ea803eafd6e3414d3a18aed9257f8ded8f7d1f6f182d2572969c4c487faa1986",
|
||||
"x86_64-apple-darwin-0.7.3": "d676940b51bdd5606b218bc2965fed67731f94ad07926045716acbf78626e09b",
|
||||
"x86_64-pc-windows-msvc-0.7.3": "20d3a420abbf2af9699cd9a02225d9325344046af8deb15563cc451e3c4fd059",
|
||||
"x86_64-unknown-linux-gnu-0.7.3": "17fc118ba4d7e9303f84fcabdc0a593fc3480ba76eb6980668fdbbb96fe88562",
|
||||
"x86_64-unknown-linux-musl-0.7.3": "325143825b88e7b0dadd1a8e8d3cbe4791d3cbbb9e2244350d917803fec8b3d1",
|
||||
"aarch64-apple-darwin-0.7.2": "8edc0bea8a9e35409f970b352036326393e79a6039577d8cc9ef63872c178a99",
|
||||
"aarch64-pc-windows-msvc-0.7.2": "a3d7affcd62e617bd2dd2a91fde679dd8d68a84762c8f3aaac294606ec14ffe5",
|
||||
"aarch64-unknown-linux-gnu-0.7.2": "2872fdf4785666575d129ba90590c44e6508e22584735f3e7e8a30d773dfc3db",
|
||||
"aarch64-unknown-linux-musl-0.7.2": "d5b31df40da794dab943c55e67d14fc111146e185b14a6de6eb749ee264a641c",
|
||||
"arm-unknown-linux-musleabihf-0.7.2": "fd203cef8c6cd775c2a5f7da31f69a72020a6c74b6fb808db3217ab04b70a038",
|
||||
"armv7-unknown-linux-gnueabihf-0.7.2": "b69999c29c759f5a47f71c1f328d6e7c489229efa5ce0e84afce026201730abb",
|
||||
"armv7-unknown-linux-musleabihf-0.7.2": "f98a827e198de2d0a7224ecad87eb64c18c9c0ed4f0c768456e9b48482015d2f",
|
||||
"i686-pc-windows-msvc-0.7.2": "8b06489b2cc8814fc23dae4562c5e7d500e782c2b0d2556529f515a4d1e0b8e3",
|
||||
"i686-unknown-linux-gnu-0.7.2": "36f26a496c6dc53703e070761ef96f07acc88eae868f94c4665f5c17a88d8acf",
|
||||
"i686-unknown-linux-musl-0.7.2": "763bf7cd2119c40858cbd0892fd9b2c7102c79e5c590800b2f8e9c2f427cb7d1",
|
||||
"powerpc64-unknown-linux-gnu-0.7.2": "bd4a42ed0b9ab725f0cb565ae29c338ea6ce0689ddb35da632535a47c891e72f",
|
||||
"powerpc64le-unknown-linux-gnu-0.7.2": "9a598869167b7e56ab971614972a2c486c8137681210094009a6fb61ac36699b",
|
||||
"s390x-unknown-linux-gnu-0.7.2": "7dd2240d60b1628869a2348ca0901cceee572bc20116ab04f9484ea0b6d40813",
|
||||
"x86_64-apple-darwin-0.7.2": "7d30b59d54900c97c492f3c07ff21cc3387a9e5bd8ca6db2d502462eaaeefd68",
|
||||
"x86_64-pc-windows-msvc-0.7.2": "35fd793df52fd13773425c9a97cc94cc13c8ee63abec6380b5083c183c688019",
|
||||
"x86_64-unknown-linux-gnu-0.7.2": "cfaab1b5166a6439ff66f020333d3a12bbdf622deee3b510718283e8f06c9de7",
|
||||
"x86_64-unknown-linux-musl-0.7.2": "dd10babf6c531597d246c97e55e32ca17b44fe251405fe539ec8ea2f22fac2d6",
|
||||
"aarch64-apple-darwin-0.7.1": "236d70d7738a5f41b45253d68665fda039fecee579939921e0795680d300f55f",
|
||||
"aarch64-pc-windows-msvc-0.7.1": "5fdbc703e6f22696ac053811e9750ff3cf50814aabf1792b9bc49f2647b836c6",
|
||||
"aarch64-unknown-linux-gnu-0.7.1": "ee8a98f485a22837be9e95eb55e4cd06db6c8deba94b6a2dd63d828fb5ef4226",
|
||||
"aarch64-unknown-linux-musl-0.7.1": "b65409802669913f5fd49ed6656d45c434aa9273fb864aefa0fbbb685b9834b6",
|
||||
"arm-unknown-linux-musleabihf-0.7.1": "96cfceb7716a9003750111c7f1a62aebccf02e0288f95bc670c69062d2ec6e61",
|
||||
"armv7-unknown-linux-gnueabihf-0.7.1": "f156bdedd8a969dc49a5e01f6b38c7e50a63cf69acf3b5982adfaf232dfcb80f",
|
||||
"armv7-unknown-linux-musleabihf-0.7.1": "ae21a9c0b413976a24c51f095603294ca36da9089813022cb9bae0b84f0be6de",
|
||||
"i686-pc-windows-msvc-0.7.1": "38a98c532e463169e8c4f1ae3649dd500c168f6db687e3b29570930c55ffedf7",
|
||||
"i686-unknown-linux-gnu-0.7.1": "133a41ae763d8474cc4ff8e0c24ab8cdaf422f261cbcc284f4b90b57aa60f3fe",
|
||||
"i686-unknown-linux-musl-0.7.1": "6e55fea1ee9a8c5c1d29b3aeb033a8b01d3895a347b27ee108ba94c53d60cfb7",
|
||||
"powerpc64-unknown-linux-gnu-0.7.1": "cd6714a55577d6eb0ecad313646a4ade3c7a4407e1a2a4703a2fbb83c88681d5",
|
||||
"powerpc64le-unknown-linux-gnu-0.7.1": "a354eda3a43323cf5445cfdf0197ebd4b36e967df9537e97910c47dcd9321aaa",
|
||||
"s390x-unknown-linux-gnu-0.7.1": "59d194c544a8a53186c3da6ac26f90ab0f453fae71fd2e0d4d177a8ed8890abb",
|
||||
"x86_64-apple-darwin-0.7.1": "a81e655cc0b6a5ccf9197f2dc0df513171e68804e498c17076d6e56b41234c5d",
|
||||
"x86_64-pc-windows-msvc-0.7.1": "b4d48072e384014ecd04ec5c544aee523ead1faaebcd428ba5f6abf2836096df",
|
||||
"x86_64-unknown-linux-gnu-0.7.1": "cec71afc57276b1857970d6ec96e110989c3e4ed0d81f0c4c11c1231970b7e56",
|
||||
"x86_64-unknown-linux-musl-0.7.1": "9b714ddf470795d5f1aa5c8111ea153139ae202216ffbe4105fb92f202e0b02b",
|
||||
"aarch64-apple-darwin-0.7.0": "964ebe641b563920e0650a60bf5ac21e6c8c56557704e5ecfaaad7ff62c3a73c",
|
||||
"aarch64-pc-windows-msvc-0.7.0": "c00950aa4b243e1043d1ec651fdfd71e5f4e5b80135b30fcf3b70fc201aeb1c4",
|
||||
"aarch64-unknown-linux-gnu-0.7.0": "540fcb8f2f972c82260a8063a6a4b496d7ff858edc42aa0e2c733a7b55ef8dd8",
|
||||
"aarch64-unknown-linux-musl-0.7.0": "f6367e288617021aba6176945ba20a7f8ea3b22a5f8896314a7d0acb863b533e",
|
||||
"arm-unknown-linux-musleabihf-0.7.0": "6fc85b25a4b3cb27b924e1f3181f96197667b7465fe52bf703afb5539d09c09c",
|
||||
"armv7-unknown-linux-gnueabihf-0.7.0": "035b46fde90a7ee4b48292ff9d116cc771b10d9e955d1979b1a1cd6b3998f602",
|
||||
"armv7-unknown-linux-musleabihf-0.7.0": "5f43390685fbb9f29d6075df1d492f9bf39cabb868bf37e0da3cd925c679b068",
|
||||
"i686-pc-windows-msvc-0.7.0": "f045db339b2acecc790d2071598275086978a99262d9c4b0c52189c26cba68a9",
|
||||
"i686-unknown-linux-gnu-0.7.0": "9936acd12616548a04ce6875aa125ea34f3b288181f2188bfb72d914965680be",
|
||||
"i686-unknown-linux-musl-0.7.0": "bfad15225152d9fa8769731b35dd53e0b39cba045900b6d43f90e655652af5b8",
|
||||
"powerpc64-unknown-linux-gnu-0.7.0": "91cfac9b5a9ba844c3ba90944e00bfb79da2983b7c6306bdb054c75ab3fea0fe",
|
||||
"powerpc64le-unknown-linux-gnu-0.7.0": "d690793c993a1a03049b7e7f3f0e41c94ba2c45b0155bdde917d550ecd4ee02d",
|
||||
"s390x-unknown-linux-gnu-0.7.0": "429ffee0dddd8c0c59e246fb89bef721d1ed22a4c051925d7dfafcfc7dce464f",
|
||||
"x86_64-apple-darwin-0.7.0": "dc5037f3ffbf8074b3ee63de7a73aa57421b0da0837a478e26317424dbab16f3",
|
||||
"x86_64-pc-windows-msvc-0.7.0": "62836c9d6e3f346d06c45fee4109be21ca9d1df8d087472dcc8d51815f182332",
|
||||
"x86_64-unknown-linux-gnu-0.7.0": "ca1e8196672bf04ccb926519f2071208a8d6c0ce02fb65bc7d0a85be1b684b0f",
|
||||
"x86_64-unknown-linux-musl-0.7.0": "08e1bb8fdea2c6d5edbe40ab1651de097b884020056c0925a9973582ff669d04",
|
||||
"aarch64-apple-darwin-0.6.17": "e686c73b9314c77a36a6a4c9f94b07c001f0c9157c50c63c764941141c0d0088",
|
||||
"aarch64-pc-windows-msvc-0.6.17": "3a9468e90df970f75759da6caed7dfde2816e0f3842031235c3835fc0c4e7d09",
|
||||
"aarch64-unknown-linux-gnu-0.6.17": "6fb716c36e8ca9cf98b7cb347b0ced41679145837eb22890ee5fa9d8b68ce9f5",
|
||||
"aarch64-unknown-linux-musl-0.6.17": "98750f5c0cd9eb520799d10649efb18441b616150f07e6c1125f616a3fd137e8",
|
||||
"arm-unknown-linux-musleabihf-0.6.17": "649d8d0f37e8365af5aaa012b09dd083d6e71018e569a4d2e78316d5013f18a7",
|
||||
"armv7-unknown-linux-gnueabihf-0.6.17": "efc12955d7a6120ea0be2de5ee03dbb33d0d7d9de9dbe0dce560514f2ee129d3",
|
||||
"armv7-unknown-linux-musleabihf-0.6.17": "0661d97df8262ef83ccdc6a55ed101abfe8f1cf1ff1be879d9b0d7d1e894c970",
|
||||
"i686-pc-windows-msvc-0.6.17": "56dea6c98e1606e95445e77177d7e3cd49bb3d1a63c81b11fe49bf733adb62a2",
|
||||
"i686-unknown-linux-gnu-0.6.17": "4bc37f8303a4a5aae1c309f08166884027f325b6872c418cfbaa2cf20a2b2ac5",
|
||||
"i686-unknown-linux-musl-0.6.17": "8ec08cca0806a9205ccf5758258c617b57e413b33275bcd861fca363e0eaddf7",
|
||||
"powerpc64-unknown-linux-gnu-0.6.17": "d33b70ab206e1ed0663e755506a11db3776787012bfe9d2b2138a90942f506be",
|
||||
"powerpc64le-unknown-linux-gnu-0.6.17": "cd91a579850fc45d3b786a654a2c0343836f007929b2e35de9606082eec5361f",
|
||||
"s390x-unknown-linux-gnu-0.6.17": "3c753a9d3485bbac23403a0b41a9e70ceeb586f3b4df891ced7ed27d4c6c542b",
|
||||
"x86_64-apple-darwin-0.6.17": "61e9bdc02aacdb994da6ea2a477b11b34c23fc09203237aeee8d3817daab012d",
|
||||
"x86_64-pc-windows-msvc-0.6.17": "32882cf98f646cafca003e7a7c471b7ff4ba977b681c9fa3b12cf908ba64af82",
|
||||
"x86_64-unknown-linux-gnu-0.6.17": "720ec28f7a94aa8cd91d3d57dec1434d64b9ae13d1dd6a25f4c0cdb837ba9cf6",
|
||||
"x86_64-unknown-linux-musl-0.6.17": "28bd6b50be068cc09d8a46b76f8c4b72271d471c6673a5bdb47793622e62224d",
|
||||
"aarch64-apple-darwin-0.6.16": "2b1ea0d5cf27375738f5f0f229587bc3590c0f501cb00bc48133a3d122d28364",
|
||||
"aarch64-pc-windows-msvc-0.6.16": "5abca187b8aecbdffef7547cb39a527168e4cb93d8d2e4ce14271f5831a4d902",
|
||||
"aarch64-unknown-linux-gnu-0.6.16": "a82f96ab5f285825f9acee6ac1563683c4940d80df2f08549cad43d37c7ba4a7",
|
||||
"aarch64-unknown-linux-musl-0.6.16": "ae3f793c62fe6ced80483d6c78cb49f06a01088bc5d86f1446a9b5988b2acecc",
|
||||
"arm-unknown-linux-musleabihf-0.6.16": "91f7f5a4eb97b7983a8e5421d5bfea8802064422ce2f535055f373726eb0aa9a",
|
||||
"armv7-unknown-linux-gnueabihf-0.6.16": "a4ffe043952bf4e757a5ca0f546bb83b055b6ee0646dd5c4f5e5f13dbc5ee8f8",
|
||||
"armv7-unknown-linux-musleabihf-0.6.16": "0237c8d9914e0d9fd2f022d6d5f91ce392d13e0ccbb7fa7ebe601296a67c3d6c",
|
||||
"i686-pc-windows-msvc-0.6.16": "f5c6400f07db2014b2b0c66770e1125fa70efe4dd99cc8351838bed0045c34f8",
|
||||
"i686-unknown-linux-gnu-0.6.16": "f46f89efcc599a6695e8378a1201e62cd4afb9a4438d65a89098ab11201f84ab",
|
||||
"i686-unknown-linux-musl-0.6.16": "afe69380a9d3592a87893d6bdc11ff33e4180b98f1e1fd4e626c0307d7598914",
|
||||
"powerpc64-unknown-linux-gnu-0.6.16": "bf455747580dbbf76cbcf616f67f825c40bd1bdec20c9ff993e03485f9eaad44",
|
||||
"powerpc64le-unknown-linux-gnu-0.6.16": "508ec561b1740a551d2b33e96671e0e8435a1bcc0e97080f3d7ba88a096bd360",
|
||||
"s390x-unknown-linux-gnu-0.6.16": "e25c5527826524f51f114388bff47871bf1ca67badbfd72d45427bdba4b46794",
|
||||
"x86_64-apple-darwin-0.6.16": "ce512b5e40a8ad2916a46df2bdba729d5541e4b3649a09aaddff6e525be012e4",
|
||||
"x86_64-pc-windows-msvc-0.6.16": "f1b4c24ec602b6c0b06b6bc64aa447bbe4cf313e93fbec326741961e80ffa8b7",
|
||||
"x86_64-unknown-linux-gnu-0.6.16": "e9ef28b675df68978a60f87192fb8c730b8bfca9bef42b121686b218ea0f6542",
|
||||
"x86_64-unknown-linux-musl-0.6.16": "25024557931d04cc34f80b818c7547c9c62b762ec6df807e30cb52f383fa2615",
|
||||
"aarch64-apple-darwin-0.6.15": "1c5b25f75c6438b6910dbc4c6903debe53f31ee14aee55d02243dfe7bf7c9f72",
|
||||
"aarch64-pc-windows-msvc-0.6.15": "317fe0b29e647aad1e9f02ffe764dcbbc6e2ef189f018c81b673884173ab98ba",
|
||||
"aarch64-unknown-linux-gnu-0.6.15": "3bf650aec162157b7e01461f41c2a9797366b6043452c6e7035c6c926d0a585b",
|
||||
"aarch64-unknown-linux-musl-0.6.15": "183cebae8c9d91bbd48219f9006a5c0c41c90a075d6724aec53a7ea0503c665a",
|
||||
"arm-unknown-linux-musleabihf-0.6.15": "d83c76e130ffb25fb6a4ba8ea5870207d810190733a14ae87084c63a417912f6",
|
||||
"armv7-unknown-linux-gnueabihf-0.6.15": "d661ec44e5fc7553cd8dd5ad5f48848c5a4d5279ba0df0036c0e2422ec9f312b",
|
||||
"armv7-unknown-linux-musleabihf-0.6.15": "6fc86a829965362f99602c47627b269c9b676731586a60ca5bb9d6069677938d",
|
||||
"i686-pc-windows-msvc-0.6.15": "7f15e3377e94fac882b33465cb8cbb24705f5c8d63d9d65c6f1b0816c1d30a0b",
|
||||
"i686-unknown-linux-gnu-0.6.15": "bfedd03be9f579a9bc10e6c25176017e514cca0500cfb9bba43794387a577661",
|
||||
"i686-unknown-linux-musl-0.6.15": "82bf8666c0a57514af4e5403f162314b710e1682e1065ab71a845ebb5d8db0b7",
|
||||
"powerpc64-unknown-linux-gnu-0.6.15": "6e9795344d61ee9ac497d6e03a447d808f2aab13925f30e44c00638abec57deb",
|
||||
"powerpc64le-unknown-linux-gnu-0.6.15": "e38f13284ed8b645b87ef07c8b549d1f1a5b746aa0411c2115dcd5cda0da13fc",
|
||||
"s390x-unknown-linux-gnu-0.6.15": "416f61249b330ea9735cda0c866c9460f87111bc9d4e040c98916fda6a45be09",
|
||||
"x86_64-apple-darwin-0.6.15": "97adf61511c0f6ea42c090443c38d8d71116b78ae626363f9f149924c91ae886",
|
||||
"x86_64-pc-windows-msvc-0.6.15": "10c75d566db1447f3bdcbcb31d6598e4b5f4ea638be5d8b73a7350929389512b",
|
||||
"x86_64-unknown-linux-gnu-0.6.15": "85d98ef282cdbfcb4020922f0c12421ecca4130f0a4570d3b827a15ffd544acc",
|
||||
"x86_64-unknown-linux-musl-0.6.15": "78289c93836cb32b8b24e3216b5b316e7fdf483365de2fc571844d308387e8a4",
|
||||
"aarch64-apple-darwin-0.6.14": "4ea4731010fbd1bc8e790e07f199f55a5c7c2c732e9b77f85e302b0bee61b756",
|
||||
"aarch64-pc-windows-msvc-0.6.14": "7b0b3367c4060c9b47b961201ceb4252e97496c890ad1bd13c664bf5b0744d57",
|
||||
"aarch64-unknown-linux-gnu-0.6.14": "ea25597354af186bdd55aee0de431e16d45d82951a4f41f065a8e4dc27885265",
|
||||
"aarch64-unknown-linux-musl-0.6.14": "94e22c4be44d205def456427639ca5ca1c1a9e29acc31808a7b28fdd5dcf7f17",
|
||||
"arm-unknown-linux-musleabihf-0.6.14": "de00f51ff804c145f9a0a13ead54e1ed08d317fac690477312cf9430ed43e62e",
|
||||
"armv7-unknown-linux-gnueabihf-0.6.14": "d73b09f23c7056b3b5318edf670ebc8d2eac5adfdd4f4ee46796723298f21e18",
|
||||
"armv7-unknown-linux-musleabihf-0.6.14": "f7844b89c77d1d57ca28a25b6b2e16a5bb3605ccf1dd9dc17ce641a2fa2d8b29",
|
||||
"i686-pc-windows-msvc-0.6.14": "4e9f9ccc229a03d923213b8b4c7b373cd8bb941984f421de17fe9dac3d5491e9",
|
||||
"i686-unknown-linux-gnu-0.6.14": "32c967c3dd80ecc9006a30be1a9c8ec77d63aa8080b78787d4ec0f79db12dbe4",
|
||||
"i686-unknown-linux-musl-0.6.14": "c5a484d15049fd2b8ea9a7bbf0f968614819a7eda769f35c202e01e1904f6458",
|
||||
"powerpc64-unknown-linux-gnu-0.6.14": "79abdc4c6e566e98067dc4b612f1fca5cb384b964553a0b8e0f5c40885ff3db8",
|
||||
"powerpc64le-unknown-linux-gnu-0.6.14": "2eae20cf66ba5de1b7ac180458e4f2a889cd705637626e01c400f73f07dd0491",
|
||||
"s390x-unknown-linux-gnu-0.6.14": "a51f8319b2b334c1392d3927e925b46c62ac584eb35b944d384f0af227cf0f36",
|
||||
"x86_64-apple-darwin-0.6.14": "1d8ecb2eb3b68fb50e4249dc96ac9d2458dc24068848f04f4c5b42af2fd26552",
|
||||
"x86_64-pc-windows-msvc-0.6.14": "93b29fc234758e381df461d7638ff73d0f08bdf3a0dc37923b1ee0b9e442ca3f",
|
||||
"x86_64-unknown-linux-gnu-0.6.14": "0aaf451c391d3913823bfb8ed354b446dcfd0553a32ed8266611e4181c61fd51",
|
||||
"x86_64-unknown-linux-musl-0.6.14": "0cac4df0cb3457b154f2039ae471e89cd4e15f3bd790bbb3cb0b8b40d940b93e",
|
||||
"aarch64-apple-darwin-0.6.13": "0ddb8458634cc3a02799b6da839cb546dff9dabc6f3394912c48dd479016683b",
|
||||
"aarch64-pc-windows-msvc-0.6.13": "3f3d6aa73b4859469fa3ad7efca3e5d0dba1112292c91d5c5f740983f16a8d8a",
|
||||
"aarch64-unknown-linux-gnu-0.6.13": "ac0c723663ff76183077cc9aa91dcd0b5100081d87f93e1ba482930e0a584e90",
|
||||
"aarch64-unknown-linux-musl-0.6.13": "379a5c48f6e3eb32c2d16022c0a4fc10cdfcca3543b75e2e9d819d62fead6a75",
|
||||
"arm-unknown-linux-musleabihf-0.6.13": "ba1f630a299cfdd456b93a8b41e20bd2ad37a86aac884aca4efd722a62a26bb8",
|
||||
"armv7-unknown-linux-gnueabihf-0.6.13": "1d55eb46510db8f169bb9be6fbd3a6ff34aa52340dff5eda0acdcb1b834e8bee",
|
||||
"armv7-unknown-linux-musleabihf-0.6.13": "dc86e9d807ac324eed2e4a73fec341618ea288826a27143b8b695565a35f1b70",
|
||||
"i686-pc-windows-msvc-0.6.13": "08367c3a04cf4da1c3ac6784431421de1efb8584ba68b8017efcd5e889d4a2a2",
|
||||
"i686-unknown-linux-gnu-0.6.13": "2896a75940761a2ce90a8a650da02d6766de0b9990dfa6a99cd94fd3d1e6c530",
|
||||
"i686-unknown-linux-musl-0.6.13": "29e64ef33ff2d7dcbbb3167bc7241de3b9d258fb39a6a992dfc847f1b968d32d",
|
||||
"powerpc64-unknown-linux-gnu-0.6.13": "cdd2ba090ce9e3ed66a94bfe95b45a584bd5b9e45626836993f1279290b1a95e",
|
||||
"powerpc64le-unknown-linux-gnu-0.6.13": "88830c596ef2a875a0c73aefda48e8398fdafe4eb4acecbee0b44a7995e9dc13",
|
||||
"s390x-unknown-linux-gnu-0.6.13": "49e494038871006e36b404f0559f1c831b3e68692986b3c67510a675028c9696",
|
||||
"x86_64-apple-darwin-0.6.13": "ed240854d97f7b234082f5a0ce734869a4310d86d46a819860bbce6d7df8b2eb",
|
||||
"x86_64-pc-windows-msvc-0.6.13": "19bb08768fd3b8664068cc45faa633ee110bfef4215e560bc1e5833b1bc6c30e",
|
||||
"x86_64-unknown-linux-gnu-0.6.13": "f6788fd45a25ea1033a671eaa9ece6c9b004ce5c9cf09552effadde567a7d7a5",
|
||||
"x86_64-unknown-linux-musl-0.6.13": "779560faf6a21b5a6dbc2664c2dfbde2b9387b1f486c9197a9f4d143a3b66875",
|
||||
"aarch64-apple-darwin-0.6.12": "fab8db5b62da1e945524b8d1a9d4946fcc6d9b77ec0cab423d953e82159967ac",
|
||||
"aarch64-pc-windows-msvc-0.6.12": "d72d8cf0633dc40198a868e906442bc6bacfa38c3b807c26bcbf3fc364af5d96",
|
||||
"aarch64-unknown-linux-gnu-0.6.12": "d867553e5ea19f9cea08e564179d909c69ecfce5e7e382099d1844dbf1c9878c",
|
||||
"aarch64-unknown-linux-musl-0.6.12": "e999ae0679bfabe8a1e6343b8b204a531a6c851e315caff9b326f34182884af6",
|
||||
"arm-unknown-linux-musleabihf-0.6.12": "da8d0700ec5e0cb0b2f20cc20834b48d5927197042e49bea5eef7fd139d72fe9",
|
||||
"armv7-unknown-linux-gnueabihf-0.6.12": "b5dedaca5fbb46f412c5426102eec7c9f10003a67dd41b943232e4a2b6a5cc16",
|
||||
"armv7-unknown-linux-musleabihf-0.6.12": "8fb6c1b16f8b3c2aa4073cd02729432f9afd9389f110850aed8228464fa37398",
|
||||
"i686-pc-windows-msvc-0.6.12": "23431d1a798aee234bd7b271bce306fbd760c91d98e19a314ddd890a065aff83",
|
||||
"i686-unknown-linux-gnu-0.6.12": "d0774e847de6c0fe6a9c3aba44b7d400261d01171ae32da60c472eb410691785",
|
||||
"i686-unknown-linux-musl-0.6.12": "02e4503b244cbb18d2fa14b3a7e9433fe437e767ffcbfc39c5f0fdff9b8dd65e",
|
||||
"powerpc64-unknown-linux-gnu-0.6.12": "046b43cf8af74d8892e9559e8b3181ec1e4045a4910a4dfdd00b110694c93188",
|
||||
"powerpc64le-unknown-linux-gnu-0.6.12": "e61ba76fa6dfd6041c985881c024385c31d544d6a182d1a050da7594438f073f",
|
||||
"s390x-unknown-linux-gnu-0.6.12": "6eae67730009eb4f8ad7a4e5733ab69b6c4dcb21b482f4567015e3e6d0729357",
|
||||
"x86_64-apple-darwin-0.6.12": "5b6ee08766de11dc49ee9e292333e8b46ef2ceaaa3ebb0388467e114fca2ed8c",
|
||||
"x86_64-pc-windows-msvc-0.6.12": "30fdf26c209f0cb7c97d3b08a26ab4e78ce5ae0e031b88798cbaccc0f24f452b",
|
||||
"x86_64-unknown-linux-gnu-0.6.12": "eec3ccf53616e00905279a302bc043451bd96ca71a159a2ac3199452ac914c26",
|
||||
"x86_64-unknown-linux-musl-0.6.12": "25f055a556576003fefc0f5fd213bf3c6df1824d4c7fc35e6361fbecc420139f",
|
||||
"aarch64-apple-darwin-0.6.11": "a5b14a92448b908d1a5415f2a49522010fef8972695e2f7bbb4e5c5f88024573",
|
||||
"aarch64-pc-windows-msvc-0.6.11": "858e523d9498a332aab093852c30c524bbd94622137dd6f773d19da14ac920b4",
|
||||
"aarch64-unknown-linux-gnu-0.6.11": "5384098938893f060b8b47e606918c271a419b52eedda1546a4d6febae4b0c06",
|
||||
"aarch64-unknown-linux-musl-0.6.11": "de20c247ef6a6bc0948e611ace3f3f321c098d7bf75b737f169c1db06b4f4d69",
|
||||
"arm-unknown-linux-musleabihf-0.6.11": "76a1558e2cb8d0e5e646a0cf8a204b53d3779221bea3af50b204c8d28532daa7",
|
||||
"armv7-unknown-linux-gnueabihf-0.6.11": "5abacc141dabb6071fcc3a19a301874083c6cc4a36d6eb6b0654a276efbfd33b",
|
||||
"armv7-unknown-linux-musleabihf-0.6.11": "cf05ab1fe44494cc490ec5c29578e200a3c195b395e67fe62d45be9a4c897d06",
|
||||
"i686-pc-windows-msvc-0.6.11": "331e94f1db12fa92266f764f63586d8c18e6cea5d37d430af2eb7673f108e874",
|
||||
"i686-unknown-linux-gnu-0.6.11": "b9d193f28736c3166f533c61fc4a2e8e8a4c7961c6bd46e17c3db66f750ef4b6",
|
||||
"i686-unknown-linux-musl-0.6.11": "dfa735baacc13ba9962fb9b7167599407aa733bfc7853824a785773769c58ed5",
|
||||
"powerpc64-unknown-linux-gnu-0.6.11": "b79060dc0726a1fc8a4458a80fb1ce0489198dd3ad334fe54bb7926e473750ed",
|
||||
"powerpc64le-unknown-linux-gnu-0.6.11": "ebd219d0b5f0a60a584ebb88e1379c616e746cabaaf79608d54be5919d742ee3",
|
||||
"s390x-unknown-linux-gnu-0.6.11": "3b5563127303c16e0531c1fd13356763decc0ea91b860eb5f63c3108a275aa2c",
|
||||
"x86_64-apple-darwin-0.6.11": "099b163ce5098558ccdc1df54bdcf8b02eb11364458095e95f8dd54ff8984d96",
|
||||
"x86_64-pc-windows-msvc-0.6.11": "292ade13fc2e1530d0021ec7fd42526df58a8436974b8a5b829685db856e667e",
|
||||
"x86_64-unknown-linux-gnu-0.6.11": "c19b3be7ac26f8b211f7a5f07f01a77fd4d2b6205ff257790770a585f7f5bda4",
|
||||
"x86_64-unknown-linux-musl-0.6.11": "23aabfa5d0bde26d151eaf31a392595a5c88e74e0bc804351b02fbb0328f8aaa",
|
||||
"aarch64-apple-darwin-0.6.10": "82bf2cb3b34ab504eb08486093c9e97cfaf5299da4d4a60e14b6642a2a2e9b8e",
|
||||
"aarch64-pc-windows-msvc-0.6.10": "afc3c1ed78273843417b781fd30b263ba417dcfd05ef9a65be50eec7aa500f20",
|
||||
"aarch64-unknown-linux-gnu-0.6.10": "527f0adc3bcf841a3a0df0d3fef8db277b8afffac588d80948638719b611a8c2",
|
||||
"aarch64-unknown-linux-musl-0.6.10": "36c36aafdf4b2fb8040d0b8db2eaa4b3f44260a689a6e789bc1cd95689e890bc",
|
||||
"arm-unknown-linux-musleabihf-0.6.10": "abef3136f0da26055368df298f3379bbd0d6776ba7e7a0c12275e403136408d8",
|
||||
"armv7-unknown-linux-gnueabihf-0.6.10": "8b776d606b3b9566ae659ab8b2c767e771f1f3e2e632b4c634ff80b26796795f",
|
||||
"armv7-unknown-linux-musleabihf-0.6.10": "d5af6869e1f69753e9ac2b8bacadd6356f84f373b0f6edfda60dc85c194d3a6b",
|
||||
"i686-pc-windows-msvc-0.6.10": "ff6c580750d6bdbca1cb7c64601ebf0f079cc6d8ab79df6472e5fd61e4f89cf9",
|
||||
"i686-unknown-linux-gnu-0.6.10": "978e8d7b495251d842250045a3f15c59e9fe148d09538aa322d4c045db632cc3",
|
||||
"i686-unknown-linux-musl-0.6.10": "432c0609dec5d196f516639de8845fdf9393b4591978a927f6b2bfa92edd0220",
|
||||
"powerpc64-unknown-linux-gnu-0.6.10": "ec4285062cc4bec8aa7f95efba227c4ee3301503938735902fdd896c3ef8ec7f",
|
||||
"powerpc64le-unknown-linux-gnu-0.6.10": "d1dcbdd11b133bcce003aa48be6710a56f1c938eff496eb021dbeac8c09b5c2d",
|
||||
"s390x-unknown-linux-gnu-0.6.10": "4a68f92213c567a8d2bc22ccc10a328f3dd851967f315c517fc1eb52c8f58ed5",
|
||||
"x86_64-apple-darwin-0.6.10": "ddd27652b1a4053b848e35c348500841a8fde38e8ac2b37233464ab91e8f7788",
|
||||
"x86_64-pc-windows-msvc-0.6.10": "c41c4f34782558d3263f7a51e4efd053bc4d074dc46fefa574c4fdb2ed0a00e1",
|
||||
"x86_64-unknown-linux-gnu-0.6.10": "d58885f055fdb726d12cdd1cc54119432a0e4557c8e8ba04ca1d625058b98832",
|
||||
"x86_64-unknown-linux-musl-0.6.10": "1bdeaa0396405a30c4bff35b2d7c9df832836da50eec132ccc0d92657a336c4c",
|
||||
"aarch64-apple-darwin-0.6.9": "a6841484affb3c123313df98bcd8932208bdfb3d9d90a72aec274e8a696caa88",
|
||||
"aarch64-pc-windows-msvc-0.6.9": "bdb7e5eebaa5bb807f2c665b909dbba4bce6f23adf774134924a4a3c6acd4e72",
|
||||
"aarch64-unknown-linux-gnu-0.6.9": "f5032ad47151c7906c0fb25f7c3b00a85ab0bfed2170cbc444e79c438799095b",
|
||||
"aarch64-unknown-linux-musl-0.6.9": "4de15999c38a0e57a3708eccb1fe3295b3d1c0c69410029b16e5e42452d232a9",
|
||||
"arm-unknown-linux-musleabihf-0.6.9": "1a228a1cc86689894c771d0b4635b74708db416c240cfbdc36ddd87c90ae0eb0",
|
||||
"armv7-unknown-linux-gnueabihf-0.6.9": "a9a307d6b3e6a3500aa0102ff7b03cccebe2a9af40130df97382688574afc637",
|
||||
"armv7-unknown-linux-musleabihf-0.6.9": "2cf77dcd0e73b323c5f10120452f6ef34191cab3bb8061ee01d5e62706af7493",
|
||||
"i686-pc-windows-msvc-0.6.9": "709d6d7e6d0e8244b4d51ac9ef0f373d2ac2cb20570e8bdf71c84ccab8c8cba0",
|
||||
"i686-unknown-linux-gnu-0.6.9": "4000a6fd98af6ed84c9a7c2f06019cab5f4a8cfa4e5a9c37b6984e4c7cae1df2",
|
||||
"i686-unknown-linux-musl-0.6.9": "d227586d574264922f344cf98b0f469335ce52d3443619d15448140b44ff8204",
|
||||
"powerpc64-unknown-linux-gnu-0.6.9": "f12b8dbc8ed1ca24dfadbd3969730ab9c2cf797e117cdb508732f49b9fa4b620",
|
||||
"powerpc64le-unknown-linux-gnu-0.6.9": "451cd936bd35405c1cf2d0b63c975d5490e2646f1516b9bcb27af66688946903",
|
||||
"s390x-unknown-linux-gnu-0.6.9": "e25ec6762b68383abfbecb1ec24c1eda52a64dc67866021280c649ef3813726f",
|
||||
"x86_64-apple-darwin-0.6.9": "96eb2bfbe2bb3b74836aa5d6f563ae21bbb9e071148adfda1e67000735a020a3",
|
||||
"x86_64-pc-windows-msvc-0.6.9": "4d959abc2517c38b5527e3368b6755d66ecbb85679a9b2b34b7a78796c6cf7f8",
|
||||
"x86_64-unknown-linux-gnu-0.6.9": "001b87a0c2ea642a3c75a98c6af3e8528aa473d560e653cf213efcc9aaa4a028",
|
||||
"x86_64-unknown-linux-musl-0.6.9": "2b2914da53f9412a1aad7457cee424680da037e6a49c378365c3b5ff5ef0b926",
|
||||
"aarch64-apple-darwin-0.6.8": "e4f83fc42d9735512198c2d86a6fc136e2f5a2b59b3ccc4f104018ed07465499",
|
||||
"aarch64-pc-windows-msvc-0.6.8": "5619c7fbc026544c8cc77ade994ef79e799fc521a050268172aa47826f364834",
|
||||
"aarch64-unknown-linux-gnu-0.6.8": "3ffcaa4f4dba917fa58484a1c3dcb96a958a4baca0204e9c10a4799f81b9ee2f",
|
||||
"aarch64-unknown-linux-musl-0.6.8": "c1d4504ee47d8577761989c9daa4bbd1b93e5d04056215584a0415ad8738b0f9",
|
||||
"arm-unknown-linux-musleabihf-0.6.8": "7280cb1425787faf335bed8e9f2d575bcb179e1b19489ee7984c546d6ef07fff",
|
||||
"armv7-unknown-linux-gnueabihf-0.6.8": "6753d79f3f8e1556a855912f0f859b039b67e591332f6ee794e2c51f2eda1658",
|
||||
"armv7-unknown-linux-musleabihf-0.6.8": "ba73e8503d3ded103cc1fd946bd307f5b986e096d673296eb616f2edb6cf23aa",
|
||||
"i686-pc-windows-msvc-0.6.8": "c28ab471753368b79887fd5cbd12b002704fa7fb2e96b0f5a98277e4f1d8572a",
|
||||
"i686-unknown-linux-gnu-0.6.8": "df60b14b5b6bf29c75c06d8d04b0dd358070bf91f19c6f23afaf738fd05fa271",
|
||||
"i686-unknown-linux-musl-0.6.8": "b1e92aabb97fa356e8f0d4b61f698e0f372b6a5582df949ffbcc60565e7a9c7a",
|
||||
"powerpc64-unknown-linux-gnu-0.6.8": "a18998d2f8f426b1ccf1f6c7ec279dd35ccc1cbe76d90b185e453e6b199df245",
|
||||
"powerpc64le-unknown-linux-gnu-0.6.8": "0d7460fe945a7ed48a9236d50f683a5eb937f22eaa605f4e6eb6a5f9cdf3676e",
|
||||
"s390x-unknown-linux-gnu-0.6.8": "127a7d547be5029b29532f937822332fed690e135d0a97ec9574d43904a4622a",
|
||||
"x86_64-apple-darwin-0.6.8": "e069e79f6e0c430d7beaca3025b398980357b8b5c6faa7191032e20d5ee75970",
|
||||
"x86_64-pc-windows-msvc-0.6.8": "d31c3d01ca3e1a75e15ed9514c135239770b6b40a99cae716661e28e433aa495",
|
||||
"x86_64-unknown-linux-gnu-0.6.8": "2378ea0122bd56a11ee7ae2ad6116c1f22f4657c03b9efb78ac150236bf7974c",
|
||||
"x86_64-unknown-linux-musl-0.6.8": "58902317e1872994b5e707c3c77f4cbf3010104d4b07990a5110bbc09f3e9b8a",
|
||||
"aarch64-apple-darwin-0.6.7": "1a4d04477893c215e3def30149208fabe58a70d031388684d0125f553e3cd74f",
|
||||
"aarch64-pc-windows-msvc-0.6.7": "1c6de0c79ad35baadb61f6be7a014f3114a320809868b4ccb09c4d16b7118b48",
|
||||
"aarch64-unknown-linux-gnu-0.6.7": "b64c4ec32d55bd8e8b726b3162be0dfb3c117c3ca4cd798862497d33fe68e7b9",
|
||||
"aarch64-unknown-linux-musl-0.6.7": "df9e1b9530ad63085b66936e65cca107acc98197856e2ac22b896b1ab3936ac4",
|
||||
"arm-unknown-linux-musleabihf-0.6.7": "03a4b36d50fe4f0e50845559a524ed75610762072075c411f7ed84479e6c736d",
|
||||
"armv7-unknown-linux-gnueabihf-0.6.7": "a877f7697375f6b19d3b537c5152cbb3d86430120b20d957cfa7c084e6b79d6c",
|
||||
"armv7-unknown-linux-musleabihf-0.6.7": "e337a7dd6b86c842dac78041acfa9d9402662d5a8cede1d0ae694c9c17057162",
|
||||
"i686-pc-windows-msvc-0.6.7": "33002d9f1dab894f48254f43b4b882f6c88078d70ace883ed29fcde82616bbb0",
|
||||
"i686-unknown-linux-gnu-0.6.7": "b5f04a274f96aa41e8094b1c4355632f6caa9dfb7e62a45908950ca1c5d3fb38",
|
||||
"i686-unknown-linux-musl-0.6.7": "bd56de94a3ffac99a06fc0d37e7cb45e1c35ba275924b5ed502da833dc712d12",
|
||||
"powerpc64-unknown-linux-gnu-0.6.7": "57c668908878e1b12c726efc0439cd609697892a22e1e43c0ebb520ef2995a27",
|
||||
"powerpc64le-unknown-linux-gnu-0.6.7": "abe3004c0fc468e89ddcf8490991c7fc83abc9d9f6e6a29c59473541265e8bd5",
|
||||
"s390x-unknown-linux-gnu-0.6.7": "b6c60b7b907f871880a9be43294b02f84be5ec3187b1a16d7705f5beb622e01a",
|
||||
"x86_64-apple-darwin-0.6.7": "680be39f40bf00a8c3a6776e9ddaa9c3c18ef2efbb0c1a9a854b333660ca8678",
|
||||
"x86_64-pc-windows-msvc-0.6.7": "11b902b07e98331cef0d648c182c6aa1f279cde688c4411eb9153dc957d48f90",
|
||||
"x86_64-unknown-linux-gnu-0.6.7": "601c2b1147117c4471a154b4cebbdb31c818105f796d5f8115fe42d2526689c8",
|
||||
"x86_64-unknown-linux-musl-0.6.7": "a31bd6916eff780a7a44c84c194f4f8b70a8250b9175b3839ce2d4403fd735de",
|
||||
"aarch64-apple-darwin-0.6.6": "d0fb047593122746c7529960f8efd5d7d10d2cb230302f71158e9765ad37727b",
|
||||
"aarch64-pc-windows-msvc-0.6.6": "6bb6d5a28e8a181fd5b0046778b97a75c3ec1c5117a058e1961e0f6df9ee2925",
|
||||
"aarch64-unknown-linux-gnu-0.6.6": "37a543598cdb7d8fc9b74e6b1fe1fdf8b9a279c6137c7ff8396a88f69ec7a43c",
|
||||
@@ -124676,18 +123015,15 @@ var __importStar = (this && this.__importStar) || (function () {
|
||||
})();
|
||||
Object.defineProperty(exports, "__esModule", ({ value: true }));
|
||||
exports.tryGetFromToolCache = tryGetFromToolCache;
|
||||
exports.downloadVersionFromGithub = downloadVersionFromGithub;
|
||||
exports.downloadVersionFromManifest = downloadVersionFromManifest;
|
||||
exports.downloadVersion = downloadVersion;
|
||||
exports.resolveVersion = resolveVersion;
|
||||
const core = __importStar(__nccwpck_require__(37484));
|
||||
const tc = __importStar(__nccwpck_require__(33472));
|
||||
const path = __importStar(__nccwpck_require__(76760));
|
||||
const pep440 = __importStar(__nccwpck_require__(63297));
|
||||
const node_fs_1 = __nccwpck_require__(73024);
|
||||
const constants_1 = __nccwpck_require__(56156);
|
||||
const checksum_1 = __nccwpck_require__(95391);
|
||||
const octokit_1 = __nccwpck_require__(73352);
|
||||
const version_manifest_1 = __nccwpck_require__(54000);
|
||||
function tryGetFromToolCache(arch, version) {
|
||||
core.debug(`Trying to get uv from tool cache for ${version}...`);
|
||||
const cachedVersions = tc.findAllVersions(constants_1.TOOL_CACHE_NAME, arch);
|
||||
@@ -124699,26 +123035,18 @@ function tryGetFromToolCache(arch, version) {
|
||||
const installedPath = tc.find(constants_1.TOOL_CACHE_NAME, resolvedVersion, arch);
|
||||
return { version: resolvedVersion, installedPath };
|
||||
}
|
||||
async function downloadVersionFromGithub(serverUrl, platform, arch, version, checkSum, githubToken) {
|
||||
async function downloadVersion(platform, arch, version, checkSum, githubToken) {
|
||||
const resolvedVersion = await resolveVersion(version, githubToken);
|
||||
const artifact = `uv-${arch}-${platform}`;
|
||||
const extension = getExtension(platform);
|
||||
const downloadUrl = `${serverUrl}/${constants_1.OWNER}/${constants_1.REPO}/releases/download/${version}/${artifact}${extension}`;
|
||||
return await downloadVersion(downloadUrl, artifact, platform, arch, version, checkSum, githubToken);
|
||||
}
|
||||
async function downloadVersionFromManifest(manifestUrl, platform, arch, version, checkSum, githubToken) {
|
||||
const downloadUrl = await (0, version_manifest_1.getDownloadUrl)(manifestUrl, version, arch, platform);
|
||||
if (!downloadUrl) {
|
||||
core.warning(`manifest-file does not contain version ${version}, arch ${arch}, platform ${platform}. Falling back to GitHub releases.`);
|
||||
return await downloadVersionFromGithub("https://github.com", platform, arch, version, checkSum, githubToken);
|
||||
let extension = ".tar.gz";
|
||||
if (platform === "pc-windows-msvc") {
|
||||
extension = ".zip";
|
||||
}
|
||||
return await downloadVersion(downloadUrl, `uv-${arch}-${platform}`, platform, arch, version, checkSum, githubToken);
|
||||
}
|
||||
async function downloadVersion(downloadUrl, artifactName, platform, arch, version, checkSum, githubToken) {
|
||||
const downloadUrl = `https://github.com/${constants_1.OWNER}/${constants_1.REPO}/releases/download/${resolvedVersion}/${artifact}${extension}`;
|
||||
core.info(`Downloading uv from "${downloadUrl}" ...`);
|
||||
const downloadPath = await tc.downloadTool(downloadUrl, undefined, githubToken);
|
||||
await (0, checksum_1.validateChecksum)(checkSum, downloadPath, arch, platform, version);
|
||||
await (0, checksum_1.validateChecksum)(checkSum, downloadPath, arch, platform, resolvedVersion);
|
||||
let uvDir;
|
||||
const extension = getExtension(platform);
|
||||
if (platform === "pc-windows-msvc") {
|
||||
const fullPathWithExtension = `${downloadPath}${extension}`;
|
||||
await node_fs_1.promises.copyFile(downloadPath, fullPathWithExtension);
|
||||
@@ -124727,37 +123055,24 @@ async function downloadVersion(downloadUrl, artifactName, platform, arch, versio
|
||||
}
|
||||
else {
|
||||
const extractedDir = await tc.extractTar(downloadPath);
|
||||
uvDir = path.join(extractedDir, artifactName);
|
||||
uvDir = path.join(extractedDir, artifact);
|
||||
}
|
||||
const cachedToolDir = await tc.cacheDir(uvDir, constants_1.TOOL_CACHE_NAME, version, arch);
|
||||
return { version: version, cachedToolDir };
|
||||
const cachedToolDir = await tc.cacheDir(uvDir, constants_1.TOOL_CACHE_NAME, resolvedVersion, arch);
|
||||
return { version: resolvedVersion, cachedToolDir };
|
||||
}
|
||||
function getExtension(platform) {
|
||||
return platform === "pc-windows-msvc" ? ".zip" : ".tar.gz";
|
||||
}
|
||||
async function resolveVersion(versionInput, manifestFile, githubToken) {
|
||||
async function resolveVersion(versionInput, githubToken) {
|
||||
core.debug(`Resolving version: ${versionInput}`);
|
||||
let version;
|
||||
if (manifestFile) {
|
||||
version =
|
||||
versionInput === "latest"
|
||||
? await (0, version_manifest_1.getLatestKnownVersion)(manifestFile)
|
||||
: versionInput;
|
||||
}
|
||||
else {
|
||||
version =
|
||||
versionInput === "latest"
|
||||
? await getLatestVersion(githubToken)
|
||||
: versionInput;
|
||||
}
|
||||
const version = versionInput === "latest"
|
||||
? await getLatestVersion(githubToken)
|
||||
: versionInput;
|
||||
if (tc.isExplicitVersion(version)) {
|
||||
core.debug(`Version ${version} is an explicit version.`);
|
||||
return version;
|
||||
}
|
||||
const availableVersions = await getAvailableVersions(githubToken);
|
||||
core.debug(`Available versions: ${availableVersions}`);
|
||||
const resolvedVersion = maxSatisfying(availableVersions, version);
|
||||
if (resolvedVersion === undefined) {
|
||||
const resolvedVersion = tc.evaluateVersions(availableVersions, version);
|
||||
if (resolvedVersion === "") {
|
||||
throw new Error(`No version found for ${version}`);
|
||||
}
|
||||
return resolvedVersion;
|
||||
@@ -124815,123 +123130,6 @@ async function getLatestRelease(octokit) {
|
||||
});
|
||||
return latestRelease;
|
||||
}
|
||||
function maxSatisfying(versions, version) {
|
||||
const maxSemver = tc.evaluateVersions(versions, version);
|
||||
if (maxSemver !== "") {
|
||||
core.debug(`Found a version that satisfies the semver range: ${maxSemver}`);
|
||||
return maxSemver;
|
||||
}
|
||||
const maxPep440 = pep440.maxSatisfying(versions, version);
|
||||
if (maxPep440 !== null) {
|
||||
core.debug(`Found a version that satisfies the pep440 specifier: ${maxPep440}`);
|
||||
return maxPep440;
|
||||
}
|
||||
return undefined;
|
||||
}
|
||||
|
||||
|
||||
/***/ }),
|
||||
|
||||
/***/ 54000:
|
||||
/***/ (function(__unused_webpack_module, exports, __nccwpck_require__) {
|
||||
|
||||
"use strict";
|
||||
|
||||
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
||||
if (k2 === undefined) k2 = k;
|
||||
var desc = Object.getOwnPropertyDescriptor(m, k);
|
||||
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
||||
desc = { enumerable: true, get: function() { return m[k]; } };
|
||||
}
|
||||
Object.defineProperty(o, k2, desc);
|
||||
}) : (function(o, m, k, k2) {
|
||||
if (k2 === undefined) k2 = k;
|
||||
o[k2] = m[k];
|
||||
}));
|
||||
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
||||
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
||||
}) : function(o, v) {
|
||||
o["default"] = v;
|
||||
});
|
||||
var __importStar = (this && this.__importStar) || (function () {
|
||||
var ownKeys = function(o) {
|
||||
ownKeys = Object.getOwnPropertyNames || function (o) {
|
||||
var ar = [];
|
||||
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
||||
return ar;
|
||||
};
|
||||
return ownKeys(o);
|
||||
};
|
||||
return function (mod) {
|
||||
if (mod && mod.__esModule) return mod;
|
||||
var result = {};
|
||||
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
||||
__setModuleDefault(result, mod);
|
||||
return result;
|
||||
};
|
||||
})();
|
||||
Object.defineProperty(exports, "__esModule", ({ value: true }));
|
||||
exports.getLatestKnownVersion = getLatestKnownVersion;
|
||||
exports.getDownloadUrl = getDownloadUrl;
|
||||
exports.updateVersionManifest = updateVersionManifest;
|
||||
const node_fs_1 = __nccwpck_require__(73024);
|
||||
const core = __importStar(__nccwpck_require__(37484));
|
||||
const semver = __importStar(__nccwpck_require__(39318));
|
||||
const fetch_1 = __nccwpck_require__(3385);
|
||||
const node_path_1 = __nccwpck_require__(76760);
|
||||
const localManifestFile = (0, node_path_1.join)(__dirname, "..", "..", "version-manifest.json");
|
||||
async function getLatestKnownVersion(manifestUrl) {
|
||||
const manifestEntries = await getManifestEntries(manifestUrl);
|
||||
return manifestEntries.reduce((a, b) => semver.gt(a.version, b.version) ? a : b).version;
|
||||
}
|
||||
async function getDownloadUrl(manifestUrl, version, arch, platform) {
|
||||
const manifestEntries = await getManifestEntries(manifestUrl);
|
||||
const entry = manifestEntries.find((entry) => entry.version === version &&
|
||||
entry.arch === arch &&
|
||||
entry.platform === platform);
|
||||
return entry ? entry.downloadUrl : undefined;
|
||||
}
|
||||
async function getManifestEntries(manifestUrl) {
|
||||
let data;
|
||||
if (manifestUrl !== undefined) {
|
||||
core.info(`Fetching manifest-file from: ${manifestUrl}`);
|
||||
const response = await (0, fetch_1.fetch)(manifestUrl, {});
|
||||
if (!response.ok) {
|
||||
throw new Error(`Failed to fetch manifest-file: ${response.status} ${response.statusText}`);
|
||||
}
|
||||
data = await response.text();
|
||||
}
|
||||
else {
|
||||
core.info("manifest-file not provided, reading from local file.");
|
||||
const fileContent = await node_fs_1.promises.readFile(localManifestFile);
|
||||
data = fileContent.toString();
|
||||
}
|
||||
return JSON.parse(data);
|
||||
}
|
||||
async function updateVersionManifest(manifestUrl, downloadUrls) {
|
||||
const manifest = [];
|
||||
for (const downloadUrl of downloadUrls) {
|
||||
const urlParts = downloadUrl.split("/");
|
||||
const version = urlParts[urlParts.length - 2];
|
||||
const artifactName = urlParts[urlParts.length - 1];
|
||||
if (!artifactName.startsWith("uv-")) {
|
||||
continue;
|
||||
}
|
||||
if (artifactName.startsWith("uv-installer")) {
|
||||
continue;
|
||||
}
|
||||
const artifactParts = artifactName.split(".")[0].split("-");
|
||||
manifest.push({
|
||||
version: version,
|
||||
artifactName: artifactName,
|
||||
arch: artifactParts[1],
|
||||
platform: artifactName.split(`uv-${artifactParts[1]}-`)[1].split(".")[0],
|
||||
downloadUrl: downloadUrl,
|
||||
});
|
||||
}
|
||||
core.debug(`Updating manifest-file: ${JSON.stringify(manifest)}`);
|
||||
await node_fs_1.promises.writeFile(manifestUrl, JSON.stringify(manifest));
|
||||
}
|
||||
|
||||
|
||||
/***/ }),
|
||||
@@ -125073,7 +123271,7 @@ const platforms_1 = __nccwpck_require__(98361);
|
||||
const inputs_1 = __nccwpck_require__(9612);
|
||||
const exec = __importStar(__nccwpck_require__(95236));
|
||||
const node_fs_1 = __importDefault(__nccwpck_require__(73024));
|
||||
const config_file_1 = __nccwpck_require__(27846);
|
||||
const pyproject_1 = __nccwpck_require__(53929);
|
||||
async function run() {
|
||||
detectEmptyWorkdir();
|
||||
const platform = await (0, platforms_1.getPlatform)();
|
||||
@@ -125086,11 +123284,10 @@ async function run() {
|
||||
throw new Error(`Unsupported architecture: ${process.arch}`);
|
||||
}
|
||||
const setupResult = await setupUv(platform, arch, inputs_1.checkSum, inputs_1.githubToken);
|
||||
addUvToPath(setupResult.uvDir);
|
||||
addToolBinToPath();
|
||||
addUvToPathAndOutput(setupResult.uvDir);
|
||||
setToolDir();
|
||||
setupPython();
|
||||
await activateEnvironment();
|
||||
await setupPython();
|
||||
addMatchers();
|
||||
setCacheDir(inputs_1.cacheLocalPath);
|
||||
core.setOutput("uv-version", setupResult.version);
|
||||
@@ -125115,7 +123312,7 @@ function detectEmptyWorkdir() {
|
||||
}
|
||||
}
|
||||
async function setupUv(platform, arch, checkSum, githubToken) {
|
||||
const resolvedVersion = await determineVersion(inputs_1.manifestFile);
|
||||
const resolvedVersion = await determineVersion();
|
||||
const toolCacheResult = (0, download_version_1.tryGetFromToolCache)(arch, resolvedVersion);
|
||||
if (toolCacheResult.installedPath) {
|
||||
core.info(`Found uv in tool-cache for ${toolCacheResult.version}`);
|
||||
@@ -125124,33 +123321,32 @@ async function setupUv(platform, arch, checkSum, githubToken) {
|
||||
version: toolCacheResult.version,
|
||||
};
|
||||
}
|
||||
let downloadVersionResult;
|
||||
if (inputs_1.serverUrl !== "https://github.com") {
|
||||
core.warning("The input server-url is deprecated. Please use manifest-file instead.");
|
||||
downloadVersionResult = await (0, download_version_1.downloadVersionFromGithub)(inputs_1.serverUrl, platform, arch, resolvedVersion, checkSum, githubToken);
|
||||
}
|
||||
else {
|
||||
downloadVersionResult = await (0, download_version_1.downloadVersionFromManifest)(inputs_1.manifestFile, platform, arch, resolvedVersion, checkSum, githubToken);
|
||||
}
|
||||
const downloadVersionResult = await (0, download_version_1.downloadVersion)(platform, arch, resolvedVersion, checkSum, githubToken);
|
||||
return {
|
||||
uvDir: downloadVersionResult.cachedToolDir,
|
||||
version: downloadVersionResult.version,
|
||||
};
|
||||
}
|
||||
async function determineVersion(manifestFile) {
|
||||
async function determineVersion() {
|
||||
if (inputs_1.version !== "") {
|
||||
return await (0, download_version_1.resolveVersion)(inputs_1.version, manifestFile, inputs_1.githubToken);
|
||||
return await (0, download_version_1.resolveVersion)(inputs_1.version, inputs_1.githubToken);
|
||||
}
|
||||
const versionFromUvToml = (0, config_file_1.getUvVersionFromConfigFile)(`${inputs_1.workingDirectory}${path.sep}uv.toml`);
|
||||
const versionFromPyproject = (0, config_file_1.getUvVersionFromConfigFile)(`${inputs_1.workingDirectory}${path.sep}pyproject.toml`);
|
||||
if (versionFromUvToml === undefined && versionFromPyproject === undefined) {
|
||||
core.info("Could not determine uv version from uv.toml or pyproject.toml. Falling back to latest.");
|
||||
const configFile = inputs_1.uvFile !== "" ? inputs_1.uvFile : inputs_1.pyProjectFile;
|
||||
if (configFile !== "") {
|
||||
const versionFromConfigFile = (0, pyproject_1.getUvVersionFromConfigFile)(configFile);
|
||||
if (versionFromConfigFile === undefined) {
|
||||
core.warning(`Could not find required-version under [tool.uv] in ${configFile}. Falling back to latest`);
|
||||
}
|
||||
return await (0, download_version_1.resolveVersion)(versionFromConfigFile || "latest", inputs_1.githubToken);
|
||||
}
|
||||
return await (0, download_version_1.resolveVersion)(versionFromUvToml || versionFromPyproject || "latest", manifestFile, inputs_1.githubToken);
|
||||
if (!node_fs_1.default.existsSync("uv.toml") && !node_fs_1.default.existsSync("pyproject.toml")) {
|
||||
return await (0, download_version_1.resolveVersion)("latest", inputs_1.githubToken);
|
||||
}
|
||||
const versionFile = node_fs_1.default.existsSync("uv.toml") ? "uv.toml" : "pyproject.toml";
|
||||
const versionFromConfigFile = (0, pyproject_1.getUvVersionFromConfigFile)(versionFile);
|
||||
return await (0, download_version_1.resolveVersion)(versionFromConfigFile || "latest", inputs_1.githubToken);
|
||||
}
|
||||
function addUvToPathAndOutput(cachedPath) {
|
||||
core.setOutput("uv-path", `${cachedPath}${path.sep}uv`);
|
||||
core.setOutput("uvx-path", `${cachedPath}${path.sep}uvx`);
|
||||
function addUvToPath(cachedPath) {
|
||||
core.addPath(cachedPath);
|
||||
core.info(`Added ${cachedPath} to the path`);
|
||||
}
|
||||
@@ -125182,23 +123378,22 @@ function setToolDir() {
|
||||
core.info(`Set UV_TOOL_DIR to ${inputs_1.toolDir}`);
|
||||
}
|
||||
}
|
||||
function setupPython() {
|
||||
async function setupPython() {
|
||||
if (inputs_1.pythonVersion !== "") {
|
||||
core.exportVariable("UV_PYTHON", inputs_1.pythonVersion);
|
||||
core.info(`Set UV_PYTHON to ${inputs_1.pythonVersion}`);
|
||||
}
|
||||
}
|
||||
async function activateEnvironment() {
|
||||
if (inputs_1.activateEnvironment) {
|
||||
const execArgs = ["venv", ".venv", "--directory", inputs_1.workingDirectory];
|
||||
const options = {
|
||||
silent: !core.isDebug(),
|
||||
};
|
||||
const execArgs = ["venv", "--python", inputs_1.pythonVersion];
|
||||
core.info("Activating python venv...");
|
||||
await exec.exec("uv", execArgs);
|
||||
let venvBinPath = `${inputs_1.workingDirectory}${path.sep}.venv${path.sep}bin`;
|
||||
await exec.exec("uv", execArgs, options);
|
||||
let venvBinPath = ".venv/bin";
|
||||
if (process.platform === "win32") {
|
||||
venvBinPath = `${inputs_1.workingDirectory}${path.sep}.venv${path.sep}Scripts`;
|
||||
venvBinPath = ".venv/Scripts";
|
||||
}
|
||||
core.addPath(path.resolve(venvBinPath));
|
||||
core.exportVariable("VIRTUAL_ENV", path.resolve(`${inputs_1.workingDirectory}${path.sep}.venv`));
|
||||
core.exportVariable("VIRTUAL_ENV", path.resolve(".venv"));
|
||||
}
|
||||
}
|
||||
function setCacheDir(cacheLocalPath) {
|
||||
@@ -125212,88 +123407,6 @@ function addMatchers() {
|
||||
run();
|
||||
|
||||
|
||||
/***/ }),
|
||||
|
||||
/***/ 27846:
|
||||
/***/ (function(__unused_webpack_module, exports, __nccwpck_require__) {
|
||||
|
||||
"use strict";
|
||||
|
||||
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
||||
if (k2 === undefined) k2 = k;
|
||||
var desc = Object.getOwnPropertyDescriptor(m, k);
|
||||
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
||||
desc = { enumerable: true, get: function() { return m[k]; } };
|
||||
}
|
||||
Object.defineProperty(o, k2, desc);
|
||||
}) : (function(o, m, k, k2) {
|
||||
if (k2 === undefined) k2 = k;
|
||||
o[k2] = m[k];
|
||||
}));
|
||||
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
||||
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
||||
}) : function(o, v) {
|
||||
o["default"] = v;
|
||||
});
|
||||
var __importStar = (this && this.__importStar) || (function () {
|
||||
var ownKeys = function(o) {
|
||||
ownKeys = Object.getOwnPropertyNames || function (o) {
|
||||
var ar = [];
|
||||
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
||||
return ar;
|
||||
};
|
||||
return ownKeys(o);
|
||||
};
|
||||
return function (mod) {
|
||||
if (mod && mod.__esModule) return mod;
|
||||
var result = {};
|
||||
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
||||
__setModuleDefault(result, mod);
|
||||
return result;
|
||||
};
|
||||
})();
|
||||
var __importDefault = (this && this.__importDefault) || function (mod) {
|
||||
return (mod && mod.__esModule) ? mod : { "default": mod };
|
||||
};
|
||||
Object.defineProperty(exports, "__esModule", ({ value: true }));
|
||||
exports.getUvVersionFromConfigFile = getUvVersionFromConfigFile;
|
||||
const node_fs_1 = __importDefault(__nccwpck_require__(73024));
|
||||
const core = __importStar(__nccwpck_require__(37484));
|
||||
const toml = __importStar(__nccwpck_require__(27106));
|
||||
function getUvVersionFromConfigFile(filePath) {
|
||||
core.info(`Trying to find required-version for uv in: ${filePath}`);
|
||||
if (!node_fs_1.default.existsSync(filePath)) {
|
||||
core.info(`Could not find file: ${filePath}`);
|
||||
return undefined;
|
||||
}
|
||||
let requiredVersion;
|
||||
try {
|
||||
requiredVersion = getRequiredVersion(filePath);
|
||||
}
|
||||
catch (err) {
|
||||
const message = err.message;
|
||||
core.warning(`Error while parsing ${filePath}: ${message}`);
|
||||
return undefined;
|
||||
}
|
||||
if (requiredVersion?.startsWith("==")) {
|
||||
requiredVersion = requiredVersion.slice(2);
|
||||
}
|
||||
if (requiredVersion !== undefined) {
|
||||
core.info(`Found required-version for uv in ${filePath}: ${requiredVersion}`);
|
||||
}
|
||||
return requiredVersion;
|
||||
}
|
||||
function getRequiredVersion(filePath) {
|
||||
const fileContent = node_fs_1.default.readFileSync(filePath, "utf-8");
|
||||
if (filePath.endsWith("pyproject.toml")) {
|
||||
const tomlContent = toml.parse(fileContent);
|
||||
return tomlContent?.tool?.uv?.["required-version"];
|
||||
}
|
||||
const tomlContent = toml.parse(fileContent);
|
||||
return tomlContent["required-version"];
|
||||
}
|
||||
|
||||
|
||||
/***/ }),
|
||||
|
||||
/***/ 56156:
|
||||
@@ -125308,35 +123421,6 @@ exports.OWNER = "astral-sh";
|
||||
exports.TOOL_CACHE_NAME = "uv";
|
||||
|
||||
|
||||
/***/ }),
|
||||
|
||||
/***/ 3385:
|
||||
/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => {
|
||||
|
||||
"use strict";
|
||||
|
||||
Object.defineProperty(exports, "__esModule", ({ value: true }));
|
||||
exports.fetch = void 0;
|
||||
exports.getProxyAgent = getProxyAgent;
|
||||
const undici_1 = __nccwpck_require__(46752);
|
||||
function getProxyAgent() {
|
||||
const httpProxy = process.env.HTTP_PROXY || process.env.http_proxy;
|
||||
if (httpProxy) {
|
||||
return new undici_1.ProxyAgent(httpProxy);
|
||||
}
|
||||
const httpsProxy = process.env.HTTPS_PROXY || process.env.https_proxy;
|
||||
if (httpsProxy) {
|
||||
return new undici_1.ProxyAgent(httpsProxy);
|
||||
}
|
||||
return undefined;
|
||||
}
|
||||
const fetch = async (url, opts) => await (0, undici_1.fetch)(url, {
|
||||
dispatcher: getProxyAgent(),
|
||||
...opts,
|
||||
});
|
||||
exports.fetch = fetch;
|
||||
|
||||
|
||||
/***/ }),
|
||||
|
||||
/***/ 9612:
|
||||
@@ -125381,13 +123465,13 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
||||
return (mod && mod.__esModule) ? mod : { "default": mod };
|
||||
};
|
||||
Object.defineProperty(exports, "__esModule", ({ value: true }));
|
||||
exports.manifestFile = exports.githubToken = exports.serverUrl = exports.toolDir = exports.toolBinDir = exports.ignoreEmptyWorkdir = exports.ignoreNothingToCache = exports.pruneCache = exports.cacheDependencyGlob = exports.cacheLocalPath = exports.cacheSuffix = exports.enableCache = exports.checkSum = exports.workingDirectory = exports.activateEnvironment = exports.pythonVersion = exports.version = void 0;
|
||||
exports.githubToken = exports.toolDir = exports.toolBinDir = exports.ignoreEmptyWorkdir = exports.ignoreNothingToCache = exports.pruneCache = exports.cacheDependencyGlob = exports.cacheLocalPath = exports.cacheSuffix = exports.enableCache = exports.checkSum = exports.pythonVersion = exports.uvFile = exports.pyProjectFile = exports.version = void 0;
|
||||
const core = __importStar(__nccwpck_require__(37484));
|
||||
const node_path_1 = __importDefault(__nccwpck_require__(76760));
|
||||
exports.version = core.getInput("version");
|
||||
exports.pyProjectFile = core.getInput("pyproject-file");
|
||||
exports.uvFile = core.getInput("uv-file");
|
||||
exports.pythonVersion = core.getInput("python-version");
|
||||
exports.activateEnvironment = core.getBooleanInput("activate-environment");
|
||||
exports.workingDirectory = core.getInput("working-directory");
|
||||
exports.checkSum = core.getInput("checksum");
|
||||
exports.enableCache = getEnableCache();
|
||||
exports.cacheSuffix = core.getInput("cache-suffix") || "";
|
||||
@@ -125398,9 +123482,7 @@ exports.ignoreNothingToCache = core.getInput("ignore-nothing-to-cache") === "tru
|
||||
exports.ignoreEmptyWorkdir = core.getInput("ignore-empty-workdir") === "true";
|
||||
exports.toolBinDir = getToolBinDir();
|
||||
exports.toolDir = getToolDir();
|
||||
exports.serverUrl = core.getInput("server-url");
|
||||
exports.githubToken = core.getInput("github-token");
|
||||
exports.manifestFile = getManifestFile();
|
||||
function getEnableCache() {
|
||||
const enableCacheInput = core.getInput("enable-cache");
|
||||
if (enableCacheInput === "auto") {
|
||||
@@ -125439,16 +123521,10 @@ function getCacheLocalPath() {
|
||||
if (cacheLocalPathInput !== "") {
|
||||
return expandTilde(cacheLocalPathInput);
|
||||
}
|
||||
if (process.env.RUNNER_ENVIRONMENT === "github-hosted") {
|
||||
if (process.env.RUNNER_TEMP !== undefined) {
|
||||
return `${process.env.RUNNER_TEMP}${node_path_1.default.sep}setup-uv-cache`;
|
||||
}
|
||||
throw Error("Could not determine UV_CACHE_DIR. Please make sure RUNNER_TEMP is set or provide the cache-local-path input");
|
||||
if (process.env.RUNNER_TEMP !== undefined) {
|
||||
return `${process.env.RUNNER_TEMP}${node_path_1.default.sep}setup-uv-cache`;
|
||||
}
|
||||
if (process.platform === "win32") {
|
||||
return `${process.env.APPDATA}${node_path_1.default.sep}uv${node_path_1.default.sep}cache`;
|
||||
}
|
||||
return `${process.env.HOME}${node_path_1.default.sep}.cache${node_path_1.default.sep}uv`;
|
||||
throw Error("Could not determine UV_CACHE_DIR. Please make sure RUNNER_TEMP is set or provide the cache-local-path input");
|
||||
}
|
||||
function expandTilde(input) {
|
||||
if (input.startsWith("~")) {
|
||||
@@ -125456,13 +123532,6 @@ function expandTilde(input) {
|
||||
}
|
||||
return input;
|
||||
}
|
||||
function getManifestFile() {
|
||||
const manifestFileInput = core.getInput("manifest-file");
|
||||
if (manifestFileInput !== "") {
|
||||
return manifestFileInput;
|
||||
}
|
||||
return undefined;
|
||||
}
|
||||
|
||||
|
||||
/***/ }),
|
||||
@@ -125473,21 +123542,38 @@ function getManifestFile() {
|
||||
"use strict";
|
||||
|
||||
Object.defineProperty(exports, "__esModule", ({ value: true }));
|
||||
exports.Octokit = void 0;
|
||||
exports.Octokit = exports.customFetch = void 0;
|
||||
exports.getProxyAgent = getProxyAgent;
|
||||
const core_1 = __nccwpck_require__(60767);
|
||||
const plugin_paginate_rest_1 = __nccwpck_require__(93779);
|
||||
const plugin_rest_endpoint_methods_1 = __nccwpck_require__(49210);
|
||||
const fetch_1 = __nccwpck_require__(3385);
|
||||
const undici_1 = __nccwpck_require__(46752);
|
||||
const DEFAULTS = {
|
||||
baseUrl: "https://api.github.com",
|
||||
userAgent: "setup-uv",
|
||||
};
|
||||
function getProxyAgent() {
|
||||
const httpProxy = process.env.HTTP_PROXY || process.env.http_prox;
|
||||
if (httpProxy) {
|
||||
return new undici_1.ProxyAgent(httpProxy);
|
||||
}
|
||||
const httpsProxy = process.env.HTTPS_PROXY || process.env.https_proxy;
|
||||
if (httpsProxy) {
|
||||
return new undici_1.ProxyAgent(httpsProxy);
|
||||
}
|
||||
return undefined;
|
||||
}
|
||||
const customFetch = async (url, opts) => await (0, undici_1.fetch)(url, {
|
||||
dispatcher: getProxyAgent(),
|
||||
...opts,
|
||||
});
|
||||
exports.customFetch = customFetch;
|
||||
exports.Octokit = core_1.Octokit.plugin(plugin_paginate_rest_1.paginateRest, plugin_rest_endpoint_methods_1.legacyRestEndpointMethods).defaults(function buildDefaults(options) {
|
||||
return {
|
||||
...DEFAULTS,
|
||||
...options,
|
||||
request: {
|
||||
fetch: fetch_1.fetch,
|
||||
fetch: exports.customFetch,
|
||||
...options.request,
|
||||
},
|
||||
};
|
||||
@@ -125596,6 +123682,88 @@ async function isMuslOs() {
|
||||
}
|
||||
|
||||
|
||||
/***/ }),
|
||||
|
||||
/***/ 53929:
|
||||
/***/ (function(__unused_webpack_module, exports, __nccwpck_require__) {
|
||||
|
||||
"use strict";
|
||||
|
||||
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
||||
if (k2 === undefined) k2 = k;
|
||||
var desc = Object.getOwnPropertyDescriptor(m, k);
|
||||
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
||||
desc = { enumerable: true, get: function() { return m[k]; } };
|
||||
}
|
||||
Object.defineProperty(o, k2, desc);
|
||||
}) : (function(o, m, k, k2) {
|
||||
if (k2 === undefined) k2 = k;
|
||||
o[k2] = m[k];
|
||||
}));
|
||||
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
||||
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
||||
}) : function(o, v) {
|
||||
o["default"] = v;
|
||||
});
|
||||
var __importStar = (this && this.__importStar) || (function () {
|
||||
var ownKeys = function(o) {
|
||||
ownKeys = Object.getOwnPropertyNames || function (o) {
|
||||
var ar = [];
|
||||
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
||||
return ar;
|
||||
};
|
||||
return ownKeys(o);
|
||||
};
|
||||
return function (mod) {
|
||||
if (mod && mod.__esModule) return mod;
|
||||
var result = {};
|
||||
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
||||
__setModuleDefault(result, mod);
|
||||
return result;
|
||||
};
|
||||
})();
|
||||
var __importDefault = (this && this.__importDefault) || function (mod) {
|
||||
return (mod && mod.__esModule) ? mod : { "default": mod };
|
||||
};
|
||||
Object.defineProperty(exports, "__esModule", ({ value: true }));
|
||||
exports.getUvVersionFromConfigFile = getUvVersionFromConfigFile;
|
||||
const node_fs_1 = __importDefault(__nccwpck_require__(73024));
|
||||
const core = __importStar(__nccwpck_require__(37484));
|
||||
const toml = __importStar(__nccwpck_require__(27106));
|
||||
function getUvVersionFromConfigFile(filePath) {
|
||||
core.debug(`Trying to find required-version for uv in: ${filePath}`);
|
||||
if (!node_fs_1.default.existsSync(filePath)) {
|
||||
core.warning(`Could not find file: ${filePath}`);
|
||||
return undefined;
|
||||
}
|
||||
let requiredVersion;
|
||||
try {
|
||||
requiredVersion = getRequiredVersion(filePath);
|
||||
}
|
||||
catch (err) {
|
||||
const message = err.message;
|
||||
core.warning(`Error while parsing ${filePath}: ${message}`);
|
||||
return undefined;
|
||||
}
|
||||
if (requiredVersion?.startsWith("==")) {
|
||||
requiredVersion = requiredVersion.slice(2);
|
||||
}
|
||||
if (requiredVersion !== undefined) {
|
||||
core.info(`Found required-version for uv in ${filePath}: ${requiredVersion}`);
|
||||
}
|
||||
return requiredVersion;
|
||||
}
|
||||
function getRequiredVersion(filePath) {
|
||||
const fileContent = node_fs_1.default.readFileSync(filePath, "utf-8");
|
||||
if (filePath.endsWith("pyproject.toml")) {
|
||||
const tomlContent = toml.parse(fileContent);
|
||||
return tomlContent?.tool?.uv?.["required-version"];
|
||||
}
|
||||
const tomlContent = toml.parse(fileContent);
|
||||
return tomlContent["required-version"];
|
||||
}
|
||||
|
||||
|
||||
/***/ }),
|
||||
|
||||
/***/ 42078:
|
||||
@@ -127841,15 +126009,15 @@ var __copyProps = (to, from, except, desc) => {
|
||||
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
||||
|
||||
// dist/index.js
|
||||
var index_exports = {};
|
||||
__export(index_exports, {
|
||||
var dist_exports = {};
|
||||
__export(dist_exports, {
|
||||
TomlDate: () => TomlDate,
|
||||
TomlError: () => TomlError,
|
||||
default: () => index_default,
|
||||
default: () => dist_default,
|
||||
parse: () => parse,
|
||||
stringify: () => stringify
|
||||
});
|
||||
module.exports = __toCommonJS(index_exports);
|
||||
module.exports = __toCommonJS(dist_exports);
|
||||
|
||||
// dist/error.js
|
||||
function getLineColFromPtr(string, ptr) {
|
||||
@@ -127931,7 +126099,9 @@ function skipUntil(str, ptr, sep, end, banNewLines = false) {
|
||||
i = indexOfNewline(str, i);
|
||||
} else if (c === sep) {
|
||||
return i + 1;
|
||||
} else if (c === end || banNewLines && (c === "\n" || c === "\r" && str[i + 1] === "\n")) {
|
||||
} else if (c === end) {
|
||||
return i;
|
||||
} else if (banNewLines && (c === "\n" || c === "\r" && str[i + 1] === "\n")) {
|
||||
return i;
|
||||
}
|
||||
}
|
||||
@@ -127946,7 +126116,7 @@ function getStringEnd(str, seek) {
|
||||
seek += target.length - 1;
|
||||
do
|
||||
seek = str.indexOf(target, ++seek);
|
||||
while (seek > -1 && first !== "'" && str[seek - 1] === "\\" && (str[seek - 2] !== "\\" || str[seek - 3] === "\\"));
|
||||
while (seek > -1 && first !== "'" && str[seek - 1] === "\\" && str[seek - 2] !== "\\");
|
||||
if (seek > -1) {
|
||||
seek += target.length;
|
||||
if (target.length > 1) {
|
||||
@@ -127977,7 +126147,6 @@ var TomlDate = class _TomlDate extends Date {
|
||||
date = `0000-01-01T${date}`;
|
||||
}
|
||||
hasTime = !!match[2];
|
||||
hasTime && date[10] === " " && (date = date.replace(" ", "T"));
|
||||
if (match[2] && +match[2] > 23) {
|
||||
date = "";
|
||||
} else {
|
||||
@@ -128204,7 +126373,7 @@ function sliceAndTrimEndOf(str, startPtr, endPtr, allowNewLines) {
|
||||
}
|
||||
return [trimmed, commentIdx];
|
||||
}
|
||||
function extractValue(str, ptr, end, depth = -1) {
|
||||
function extractValue(str, ptr, end, depth) {
|
||||
if (depth === 0) {
|
||||
throw new TomlError("document contains excessively nested structures. aborting.", {
|
||||
toml: str,
|
||||
@@ -128214,8 +126383,8 @@ function extractValue(str, ptr, end, depth = -1) {
|
||||
let c = str[ptr];
|
||||
if (c === "[" || c === "{") {
|
||||
let [value, endPtr2] = c === "[" ? parseArray(str, ptr, depth) : parseInlineTable(str, ptr, depth);
|
||||
let newPtr = end ? skipUntil(str, endPtr2, ",", end) : endPtr2;
|
||||
if (endPtr2 - newPtr && end === "}") {
|
||||
let newPtr = skipUntil(str, endPtr2, ",", end);
|
||||
if (end === "}") {
|
||||
let nextNewLine = indexOfNewline(str, endPtr2, newPtr);
|
||||
if (nextNewLine > -1) {
|
||||
throw new TomlError("newlines are not allowed in inline tables", {
|
||||
@@ -128329,7 +126498,7 @@ function parseKey(str, ptr, end = "=") {
|
||||
} while (dot + 1 && dot < endPtr);
|
||||
return [parsed, skipVoid(str, endPtr + 1, true, true)];
|
||||
}
|
||||
function parseInlineTable(str, ptr, depth = -1) {
|
||||
function parseInlineTable(str, ptr, depth) {
|
||||
let res = {};
|
||||
let seen = /* @__PURE__ */ new Set();
|
||||
let c;
|
||||
@@ -128397,7 +126566,7 @@ function parseInlineTable(str, ptr, depth = -1) {
|
||||
}
|
||||
return [res, ptr];
|
||||
}
|
||||
function parseArray(str, ptr, depth = -1) {
|
||||
function parseArray(str, ptr, depth) {
|
||||
let res = [];
|
||||
let c;
|
||||
ptr++;
|
||||
@@ -128689,7 +126858,7 @@ function stringify(obj, opts) {
|
||||
}
|
||||
|
||||
// dist/index.js
|
||||
var index_default = { parse, stringify, TomlDate, TomlError };
|
||||
var dist_default = { parse, stringify, TomlDate, TomlError };
|
||||
// Annotate the CommonJS export names for ESM import in node:
|
||||
0 && (0);
|
||||
/*!
|
||||
@@ -129523,8 +127692,7 @@ var NON_VARIABLE_OPTIONS = [
|
||||
"headers",
|
||||
"request",
|
||||
"query",
|
||||
"mediaType",
|
||||
"operationName"
|
||||
"mediaType"
|
||||
];
|
||||
var FORBIDDEN_VARIABLE_OPTIONS = ["query", "method", "url"];
|
||||
var GHES_V3_SUFFIX_REGEX = /\/api\/v3\/?$/;
|
||||
@@ -129662,7 +127830,7 @@ var createTokenAuth = function createTokenAuth2(token) {
|
||||
|
||||
|
||||
;// CONCATENATED MODULE: ./node_modules/@octokit/core/dist-src/version.js
|
||||
const version_VERSION = "7.0.2";
|
||||
const version_VERSION = "6.1.4";
|
||||
|
||||
|
||||
;// CONCATENATED MODULE: ./node_modules/@octokit/core/dist-src/index.js
|
||||
@@ -129947,10 +128115,8 @@ var paginatingEndpoints = [
|
||||
"GET /notifications",
|
||||
"GET /organizations",
|
||||
"GET /orgs/{org}/actions/cache/usage-by-repository",
|
||||
"GET /orgs/{org}/actions/hosted-runners",
|
||||
"GET /orgs/{org}/actions/permissions/repositories",
|
||||
"GET /orgs/{org}/actions/runner-groups",
|
||||
"GET /orgs/{org}/actions/runner-groups/{runner_group_id}/hosted-runners",
|
||||
"GET /orgs/{org}/actions/runner-groups/{runner_group_id}/repositories",
|
||||
"GET /orgs/{org}/actions/runner-groups/{runner_group_id}/runners",
|
||||
"GET /orgs/{org}/actions/runners",
|
||||
@@ -129960,7 +128126,6 @@ var paginatingEndpoints = [
|
||||
"GET /orgs/{org}/actions/variables/{name}/repositories",
|
||||
"GET /orgs/{org}/attestations/{subject_digest}",
|
||||
"GET /orgs/{org}/blocks",
|
||||
"GET /orgs/{org}/campaigns",
|
||||
"GET /orgs/{org}/code-scanning/alerts",
|
||||
"GET /orgs/{org}/code-security/configurations",
|
||||
"GET /orgs/{org}/code-security/configurations/{configuration_id}/repositories",
|
||||
@@ -129969,6 +128134,7 @@ var paginatingEndpoints = [
|
||||
"GET /orgs/{org}/codespaces/secrets/{secret_name}/repositories",
|
||||
"GET /orgs/{org}/copilot/billing/seats",
|
||||
"GET /orgs/{org}/copilot/metrics",
|
||||
"GET /orgs/{org}/copilot/usage",
|
||||
"GET /orgs/{org}/dependabot/alerts",
|
||||
"GET /orgs/{org}/dependabot/secrets",
|
||||
"GET /orgs/{org}/dependabot/secrets/{secret_name}/repositories",
|
||||
@@ -130003,11 +128169,10 @@ var paginatingEndpoints = [
|
||||
"GET /orgs/{org}/repos",
|
||||
"GET /orgs/{org}/rulesets",
|
||||
"GET /orgs/{org}/rulesets/rule-suites",
|
||||
"GET /orgs/{org}/rulesets/{ruleset_id}/history",
|
||||
"GET /orgs/{org}/secret-scanning/alerts",
|
||||
"GET /orgs/{org}/security-advisories",
|
||||
"GET /orgs/{org}/settings/network-configurations",
|
||||
"GET /orgs/{org}/team/{team_slug}/copilot/metrics",
|
||||
"GET /orgs/{org}/team/{team_slug}/copilot/usage",
|
||||
"GET /orgs/{org}/teams",
|
||||
"GET /orgs/{org}/teams/{team_slug}/discussions",
|
||||
"GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments",
|
||||
@@ -130102,7 +128267,6 @@ var paginatingEndpoints = [
|
||||
"GET /repos/{owner}/{repo}/rules/branches/{branch}",
|
||||
"GET /repos/{owner}/{repo}/rulesets",
|
||||
"GET /repos/{owner}/{repo}/rulesets/rule-suites",
|
||||
"GET /repos/{owner}/{repo}/rulesets/{ruleset_id}/history",
|
||||
"GET /repos/{owner}/{repo}/secret-scanning/alerts",
|
||||
"GET /repos/{owner}/{repo}/secret-scanning/alerts/{alert_number}/locations",
|
||||
"GET /repos/{owner}/{repo}/security-advisories",
|
||||
@@ -130214,7 +128378,7 @@ __nccwpck_require__.d(__webpack_exports__, {
|
||||
});
|
||||
|
||||
;// CONCATENATED MODULE: ./node_modules/@octokit/plugin-rest-endpoint-methods/dist-src/version.js
|
||||
const VERSION = "14.0.0";
|
||||
const VERSION = "13.3.1";
|
||||
|
||||
//# sourceMappingURL=version.js.map
|
||||
|
||||
@@ -130245,7 +128409,6 @@ const Endpoints = {
|
||||
createEnvironmentVariable: [
|
||||
"POST /repos/{owner}/{repo}/environments/{environment_name}/variables"
|
||||
],
|
||||
createHostedRunnerForOrg: ["POST /orgs/{org}/actions/hosted-runners"],
|
||||
createOrUpdateEnvironmentSecret: [
|
||||
"PUT /repos/{owner}/{repo}/environments/{environment_name}/secrets/{secret_name}"
|
||||
],
|
||||
@@ -130283,9 +128446,6 @@ const Endpoints = {
|
||||
deleteEnvironmentVariable: [
|
||||
"DELETE /repos/{owner}/{repo}/environments/{environment_name}/variables/{name}"
|
||||
],
|
||||
deleteHostedRunnerForOrg: [
|
||||
"DELETE /orgs/{org}/actions/hosted-runners/{hosted_runner_id}"
|
||||
],
|
||||
deleteOrgSecret: ["DELETE /orgs/{org}/actions/secrets/{secret_name}"],
|
||||
deleteOrgVariable: ["DELETE /orgs/{org}/actions/variables/{name}"],
|
||||
deleteRepoSecret: [
|
||||
@@ -130374,24 +128534,6 @@ const Endpoints = {
|
||||
getGithubActionsPermissionsRepository: [
|
||||
"GET /repos/{owner}/{repo}/actions/permissions"
|
||||
],
|
||||
getHostedRunnerForOrg: [
|
||||
"GET /orgs/{org}/actions/hosted-runners/{hosted_runner_id}"
|
||||
],
|
||||
getHostedRunnersGithubOwnedImagesForOrg: [
|
||||
"GET /orgs/{org}/actions/hosted-runners/images/github-owned"
|
||||
],
|
||||
getHostedRunnersLimitsForOrg: [
|
||||
"GET /orgs/{org}/actions/hosted-runners/limits"
|
||||
],
|
||||
getHostedRunnersMachineSpecsForOrg: [
|
||||
"GET /orgs/{org}/actions/hosted-runners/machine-sizes"
|
||||
],
|
||||
getHostedRunnersPartnerImagesForOrg: [
|
||||
"GET /orgs/{org}/actions/hosted-runners/images/partner"
|
||||
],
|
||||
getHostedRunnersPlatformsForOrg: [
|
||||
"GET /orgs/{org}/actions/hosted-runners/platforms"
|
||||
],
|
||||
getJobForWorkflowRun: ["GET /repos/{owner}/{repo}/actions/jobs/{job_id}"],
|
||||
getOrgPublicKey: ["GET /orgs/{org}/actions/secrets/public-key"],
|
||||
getOrgSecret: ["GET /orgs/{org}/actions/secrets/{secret_name}"],
|
||||
@@ -130435,10 +128577,6 @@ const Endpoints = {
|
||||
listEnvironmentVariables: [
|
||||
"GET /repos/{owner}/{repo}/environments/{environment_name}/variables"
|
||||
],
|
||||
listGithubHostedRunnersInGroupForOrg: [
|
||||
"GET /orgs/{org}/actions/runner-groups/{runner_group_id}/hosted-runners"
|
||||
],
|
||||
listHostedRunnersForOrg: ["GET /orgs/{org}/actions/hosted-runners"],
|
||||
listJobsForWorkflowRun: [
|
||||
"GET /repos/{owner}/{repo}/actions/runs/{run_id}/jobs"
|
||||
],
|
||||
@@ -130557,9 +128695,6 @@ const Endpoints = {
|
||||
updateEnvironmentVariable: [
|
||||
"PATCH /repos/{owner}/{repo}/environments/{environment_name}/variables/{name}"
|
||||
],
|
||||
updateHostedRunnerForOrg: [
|
||||
"PATCH /orgs/{org}/actions/hosted-runners/{hosted_runner_id}"
|
||||
],
|
||||
updateOrgVariable: ["PATCH /orgs/{org}/actions/variables/{name}"],
|
||||
updateRepoVariable: [
|
||||
"PATCH /repos/{owner}/{repo}/actions/variables/{name}"
|
||||
@@ -130701,13 +128836,6 @@ const Endpoints = {
|
||||
"GET /users/{username}/settings/billing/shared-storage"
|
||||
]
|
||||
},
|
||||
campaigns: {
|
||||
createCampaign: ["POST /orgs/{org}/campaigns"],
|
||||
deleteCampaign: ["DELETE /orgs/{org}/campaigns/{campaign_number}"],
|
||||
getCampaignSummary: ["GET /orgs/{org}/campaigns/{campaign_number}"],
|
||||
listOrgCampaigns: ["GET /orgs/{org}/campaigns"],
|
||||
updateCampaign: ["PATCH /orgs/{org}/campaigns/{campaign_number}"]
|
||||
},
|
||||
checks: {
|
||||
create: ["POST /repos/{owner}/{repo}/check-runs"],
|
||||
createSuite: ["POST /repos/{owner}/{repo}/check-suites"],
|
||||
@@ -130986,7 +129114,9 @@ const Endpoints = {
|
||||
getCopilotSeatDetailsForUser: [
|
||||
"GET /orgs/{org}/members/{username}/copilot"
|
||||
],
|
||||
listCopilotSeats: ["GET /orgs/{org}/copilot/billing/seats"]
|
||||
listCopilotSeats: ["GET /orgs/{org}/copilot/billing/seats"],
|
||||
usageMetricsForOrg: ["GET /orgs/{org}/copilot/usage"],
|
||||
usageMetricsForTeam: ["GET /orgs/{org}/team/{team_slug}/copilot/usage"]
|
||||
},
|
||||
dependabot: {
|
||||
addSelectedRepoToOrgSecret: [
|
||||
@@ -131082,26 +129212,6 @@ const Endpoints = {
|
||||
getAllTemplates: ["GET /gitignore/templates"],
|
||||
getTemplate: ["GET /gitignore/templates/{name}"]
|
||||
},
|
||||
hostedCompute: {
|
||||
createNetworkConfigurationForOrg: [
|
||||
"POST /orgs/{org}/settings/network-configurations"
|
||||
],
|
||||
deleteNetworkConfigurationFromOrg: [
|
||||
"DELETE /orgs/{org}/settings/network-configurations/{network_configuration_id}"
|
||||
],
|
||||
getNetworkConfigurationForOrg: [
|
||||
"GET /orgs/{org}/settings/network-configurations/{network_configuration_id}"
|
||||
],
|
||||
getNetworkSettingsForOrg: [
|
||||
"GET /orgs/{org}/settings/network-settings/{network_settings_id}"
|
||||
],
|
||||
listNetworkConfigurationsForOrg: [
|
||||
"GET /orgs/{org}/settings/network-configurations"
|
||||
],
|
||||
updateNetworkConfigurationForOrg: [
|
||||
"PATCH /orgs/{org}/settings/network-configurations/{network_configuration_id}"
|
||||
]
|
||||
},
|
||||
interactions: {
|
||||
getRestrictionsForAuthenticatedUser: ["GET /user/interaction-limits"],
|
||||
getRestrictionsForOrg: ["GET /orgs/{org}/interaction-limits"],
|
||||
@@ -131293,7 +129403,6 @@ const Endpoints = {
|
||||
"PUT /orgs/{org}/outside_collaborators/{username}"
|
||||
],
|
||||
createInvitation: ["POST /orgs/{org}/invitations"],
|
||||
createIssueType: ["POST /orgs/{org}/issue-types"],
|
||||
createOrUpdateCustomProperties: ["PATCH /orgs/{org}/properties/schema"],
|
||||
createOrUpdateCustomPropertiesValuesForRepos: [
|
||||
"PATCH /orgs/{org}/properties/values"
|
||||
@@ -131303,7 +129412,6 @@ const Endpoints = {
|
||||
],
|
||||
createWebhook: ["POST /orgs/{org}/hooks"],
|
||||
delete: ["DELETE /orgs/{org}"],
|
||||
deleteIssueType: ["DELETE /orgs/{org}/issue-types/{issue_type_id}"],
|
||||
deleteWebhook: ["DELETE /orgs/{org}/hooks/{hook_id}"],
|
||||
enableOrDisableSecurityProductOnAllOrgRepos: [
|
||||
"POST /orgs/{org}/{security_product}/{enablement}",
|
||||
@@ -131320,10 +129428,6 @@ const Endpoints = {
|
||||
getMembershipForAuthenticatedUser: ["GET /user/memberships/orgs/{org}"],
|
||||
getMembershipForUser: ["GET /orgs/{org}/memberships/{username}"],
|
||||
getOrgRole: ["GET /orgs/{org}/organization-roles/{role_id}"],
|
||||
getOrgRulesetHistory: ["GET /orgs/{org}/rulesets/{ruleset_id}/history"],
|
||||
getOrgRulesetVersion: [
|
||||
"GET /orgs/{org}/rulesets/{ruleset_id}/history/{version_id}"
|
||||
],
|
||||
getWebhook: ["GET /orgs/{org}/hooks/{hook_id}"],
|
||||
getWebhookConfigForOrg: ["GET /orgs/{org}/hooks/{hook_id}/config"],
|
||||
getWebhookDelivery: [
|
||||
@@ -131338,7 +129442,6 @@ const Endpoints = {
|
||||
listForAuthenticatedUser: ["GET /user/orgs"],
|
||||
listForUser: ["GET /users/{username}/orgs"],
|
||||
listInvitationTeams: ["GET /orgs/{org}/invitations/{invitation_id}/teams"],
|
||||
listIssueTypes: ["GET /orgs/{org}/issue-types"],
|
||||
listMembers: ["GET /orgs/{org}/members"],
|
||||
listMembershipsForAuthenticatedUser: ["GET /user/memberships/orgs"],
|
||||
listOrgRoleTeams: ["GET /orgs/{org}/organization-roles/{role_id}/teams"],
|
||||
@@ -131413,7 +129516,6 @@ const Endpoints = {
|
||||
],
|
||||
unblockUser: ["DELETE /orgs/{org}/blocks/{username}"],
|
||||
update: ["PATCH /orgs/{org}"],
|
||||
updateIssueType: ["PUT /orgs/{org}/issue-types/{issue_type_id}"],
|
||||
updateMembershipForAuthenticatedUser: [
|
||||
"PATCH /user/memberships/orgs/{org}"
|
||||
],
|
||||
@@ -131526,6 +129628,37 @@ const Endpoints = {
|
||||
"PATCH /orgs/{org}/private-registries/{secret_name}"
|
||||
]
|
||||
},
|
||||
projects: {
|
||||
addCollaborator: ["PUT /projects/{project_id}/collaborators/{username}"],
|
||||
createCard: ["POST /projects/columns/{column_id}/cards"],
|
||||
createColumn: ["POST /projects/{project_id}/columns"],
|
||||
createForAuthenticatedUser: ["POST /user/projects"],
|
||||
createForOrg: ["POST /orgs/{org}/projects"],
|
||||
createForRepo: ["POST /repos/{owner}/{repo}/projects"],
|
||||
delete: ["DELETE /projects/{project_id}"],
|
||||
deleteCard: ["DELETE /projects/columns/cards/{card_id}"],
|
||||
deleteColumn: ["DELETE /projects/columns/{column_id}"],
|
||||
get: ["GET /projects/{project_id}"],
|
||||
getCard: ["GET /projects/columns/cards/{card_id}"],
|
||||
getColumn: ["GET /projects/columns/{column_id}"],
|
||||
getPermissionForUser: [
|
||||
"GET /projects/{project_id}/collaborators/{username}/permission"
|
||||
],
|
||||
listCards: ["GET /projects/columns/{column_id}/cards"],
|
||||
listCollaborators: ["GET /projects/{project_id}/collaborators"],
|
||||
listColumns: ["GET /projects/{project_id}/columns"],
|
||||
listForOrg: ["GET /orgs/{org}/projects"],
|
||||
listForRepo: ["GET /repos/{owner}/{repo}/projects"],
|
||||
listForUser: ["GET /users/{username}/projects"],
|
||||
moveCard: ["POST /projects/columns/cards/{card_id}/moves"],
|
||||
moveColumn: ["POST /projects/columns/{column_id}/moves"],
|
||||
removeCollaborator: [
|
||||
"DELETE /projects/{project_id}/collaborators/{username}"
|
||||
],
|
||||
update: ["PATCH /projects/{project_id}"],
|
||||
updateCard: ["PATCH /projects/columns/cards/{card_id}"],
|
||||
updateColumn: ["PATCH /projects/columns/{column_id}"]
|
||||
},
|
||||
pulls: {
|
||||
checkIfMerged: ["GET /repos/{owner}/{repo}/pulls/{pull_number}/merge"],
|
||||
create: ["POST /repos/{owner}/{repo}/pulls"],
|
||||
@@ -131897,12 +130030,6 @@ const Endpoints = {
|
||||
],
|
||||
getRepoRuleSuites: ["GET /repos/{owner}/{repo}/rulesets/rule-suites"],
|
||||
getRepoRuleset: ["GET /repos/{owner}/{repo}/rulesets/{ruleset_id}"],
|
||||
getRepoRulesetHistory: [
|
||||
"GET /repos/{owner}/{repo}/rulesets/{ruleset_id}/history"
|
||||
],
|
||||
getRepoRulesetVersion: [
|
||||
"GET /repos/{owner}/{repo}/rulesets/{ruleset_id}/history/{version_id}"
|
||||
],
|
||||
getRepoRulesets: ["GET /repos/{owner}/{repo}/rulesets"],
|
||||
getStatusChecksProtection: [
|
||||
"GET /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks"
|
||||
@@ -132076,13 +130203,7 @@ const Endpoints = {
|
||||
search: {
|
||||
code: ["GET /search/code"],
|
||||
commits: ["GET /search/commits"],
|
||||
issuesAndPullRequests: [
|
||||
"GET /search/issues",
|
||||
{},
|
||||
{
|
||||
deprecated: "octokit.rest.search.issuesAndPullRequests() is deprecated, see https://docs.github.com/rest/search/search#search-issues-and-pull-requests"
|
||||
}
|
||||
],
|
||||
issuesAndPullRequests: ["GET /search/issues"],
|
||||
labels: ["GET /search/labels"],
|
||||
repos: ["GET /search/repositories"],
|
||||
topics: ["GET /search/topics"],
|
||||
@@ -132136,9 +130257,15 @@ const Endpoints = {
|
||||
addOrUpdateMembershipForUserInOrg: [
|
||||
"PUT /orgs/{org}/teams/{team_slug}/memberships/{username}"
|
||||
],
|
||||
addOrUpdateProjectPermissionsInOrg: [
|
||||
"PUT /orgs/{org}/teams/{team_slug}/projects/{project_id}"
|
||||
],
|
||||
addOrUpdateRepoPermissionsInOrg: [
|
||||
"PUT /orgs/{org}/teams/{team_slug}/repos/{owner}/{repo}"
|
||||
],
|
||||
checkPermissionsForProjectInOrg: [
|
||||
"GET /orgs/{org}/teams/{team_slug}/projects/{project_id}"
|
||||
],
|
||||
checkPermissionsForRepoInOrg: [
|
||||
"GET /orgs/{org}/teams/{team_slug}/repos/{owner}/{repo}"
|
||||
],
|
||||
@@ -132175,10 +130302,14 @@ const Endpoints = {
|
||||
listPendingInvitationsInOrg: [
|
||||
"GET /orgs/{org}/teams/{team_slug}/invitations"
|
||||
],
|
||||
listProjectsInOrg: ["GET /orgs/{org}/teams/{team_slug}/projects"],
|
||||
listReposInOrg: ["GET /orgs/{org}/teams/{team_slug}/repos"],
|
||||
removeMembershipForUserInOrg: [
|
||||
"DELETE /orgs/{org}/teams/{team_slug}/memberships/{username}"
|
||||
],
|
||||
removeProjectInOrg: [
|
||||
"DELETE /orgs/{org}/teams/{team_slug}/projects/{project_id}"
|
||||
],
|
||||
removeRepoInOrg: [
|
||||
"DELETE /orgs/{org}/teams/{team_slug}/repos/{owner}/{repo}"
|
||||
],
|
||||
@@ -132475,7 +130606,7 @@ legacyRestEndpointMethods.VERSION = VERSION;
|
||||
/***/ ((module) => {
|
||||
|
||||
"use strict";
|
||||
module.exports = /*#__PURE__*/JSON.parse('{"name":"@actions/cache","version":"4.0.3","preview":true,"description":"Actions cache lib","keywords":["github","actions","cache"],"homepage":"https://github.com/actions/toolkit/tree/main/packages/cache","license":"MIT","main":"lib/cache.js","types":"lib/cache.d.ts","directories":{"lib":"lib","test":"__tests__"},"files":["lib","!.DS_Store"],"publishConfig":{"access":"public"},"repository":{"type":"git","url":"git+https://github.com/actions/toolkit.git","directory":"packages/cache"},"scripts":{"audit-moderate":"npm install && npm audit --json --audit-level=moderate > audit.json","test":"echo \\"Error: run tests from root\\" && exit 1","tsc":"tsc"},"bugs":{"url":"https://github.com/actions/toolkit/issues"},"dependencies":{"@actions/core":"^1.11.1","@actions/exec":"^1.0.1","@actions/glob":"^0.1.0","@actions/http-client":"^2.1.1","@actions/io":"^1.0.1","@azure/abort-controller":"^1.1.0","@azure/ms-rest-js":"^2.6.0","@azure/storage-blob":"^12.13.0","@protobuf-ts/plugin":"^2.9.4","semver":"^6.3.1"},"devDependencies":{"@types/node":"^22.13.9","@types/semver":"^6.0.0","typescript":"^5.2.2"}}');
|
||||
module.exports = /*#__PURE__*/JSON.parse('{"name":"@actions/cache","version":"4.0.2","preview":true,"description":"Actions cache lib","keywords":["github","actions","cache"],"homepage":"https://github.com/actions/toolkit/tree/main/packages/cache","license":"MIT","main":"lib/cache.js","types":"lib/cache.d.ts","directories":{"lib":"lib","test":"__tests__"},"files":["lib","!.DS_Store"],"publishConfig":{"access":"public"},"repository":{"type":"git","url":"git+https://github.com/actions/toolkit.git","directory":"packages/cache"},"scripts":{"audit-moderate":"npm install && npm audit --json --audit-level=moderate > audit.json","test":"echo \\"Error: run tests from root\\" && exit 1","tsc":"tsc"},"bugs":{"url":"https://github.com/actions/toolkit/issues"},"dependencies":{"@actions/core":"^1.11.1","@actions/exec":"^1.0.1","@actions/glob":"^0.1.0","@actions/http-client":"^2.1.1","@actions/io":"^1.0.1","@azure/abort-controller":"^1.1.0","@azure/ms-rest-js":"^2.6.0","@azure/storage-blob":"^12.13.0","@protobuf-ts/plugin":"^2.9.4","semver":"^6.3.1"},"devDependencies":{"@types/semver":"^6.0.0","typescript":"^5.2.2"}}');
|
||||
|
||||
/***/ }),
|
||||
|
||||
|
||||
1574
dist/update-known-versions/index.js → dist/update-known-checksums/index.js
generated
vendored
1574
dist/update-known-versions/index.js → dist/update-known-checksums/index.js
generated
vendored
@@ -8018,7 +8018,7 @@ module.exports = {
|
||||
|
||||
|
||||
const { parseSetCookie } = __nccwpck_require__(7803)
|
||||
const { stringify } = __nccwpck_require__(6338)
|
||||
const { stringify, getHeadersList } = __nccwpck_require__(6338)
|
||||
const { webidl } = __nccwpck_require__(8134)
|
||||
const { Headers } = __nccwpck_require__(9061)
|
||||
|
||||
@@ -8094,13 +8094,14 @@ function getSetCookies (headers) {
|
||||
|
||||
webidl.brandCheck(headers, Headers, { strict: false })
|
||||
|
||||
const cookies = headers.getSetCookie()
|
||||
const cookies = getHeadersList(headers).cookies
|
||||
|
||||
if (!cookies) {
|
||||
return []
|
||||
}
|
||||
|
||||
return cookies.map((pair) => parseSetCookie(pair))
|
||||
// In older versions of undici, cookies is a list of name:value.
|
||||
return cookies.map((pair) => parseSetCookie(Array.isArray(pair) ? pair[1] : pair))
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -8528,15 +8529,14 @@ module.exports = {
|
||||
/***/ }),
|
||||
|
||||
/***/ 6338:
|
||||
/***/ ((module) => {
|
||||
/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {
|
||||
|
||||
"use strict";
|
||||
|
||||
|
||||
/**
|
||||
* @param {string} value
|
||||
* @returns {boolean}
|
||||
*/
|
||||
const assert = __nccwpck_require__(2613)
|
||||
const { kHeadersList } = __nccwpck_require__(9411)
|
||||
|
||||
function isCTLExcludingHtab (value) {
|
||||
if (value.length === 0) {
|
||||
return false
|
||||
@@ -8797,13 +8797,31 @@ function stringify (cookie) {
|
||||
return out.join('; ')
|
||||
}
|
||||
|
||||
let kHeadersListNode
|
||||
|
||||
function getHeadersList (headers) {
|
||||
if (headers[kHeadersList]) {
|
||||
return headers[kHeadersList]
|
||||
}
|
||||
|
||||
if (!kHeadersListNode) {
|
||||
kHeadersListNode = Object.getOwnPropertySymbols(headers).find(
|
||||
(symbol) => symbol.description === 'headers list'
|
||||
)
|
||||
|
||||
assert(kHeadersListNode, 'Headers cannot be parsed')
|
||||
}
|
||||
|
||||
const headersList = headers[kHeadersListNode]
|
||||
assert(headersList)
|
||||
|
||||
return headersList
|
||||
}
|
||||
|
||||
module.exports = {
|
||||
isCTLExcludingHtab,
|
||||
validateCookieName,
|
||||
validateCookiePath,
|
||||
validateCookieValue,
|
||||
toIMFDate,
|
||||
stringify
|
||||
stringify,
|
||||
getHeadersList
|
||||
}
|
||||
|
||||
|
||||
@@ -12807,7 +12825,6 @@ const {
|
||||
isValidHeaderName,
|
||||
isValidHeaderValue
|
||||
} = __nccwpck_require__(555)
|
||||
const util = __nccwpck_require__(9023)
|
||||
const { webidl } = __nccwpck_require__(8134)
|
||||
const assert = __nccwpck_require__(2613)
|
||||
|
||||
@@ -13361,9 +13378,6 @@ Object.defineProperties(Headers.prototype, {
|
||||
[Symbol.toStringTag]: {
|
||||
value: 'Headers',
|
||||
configurable: true
|
||||
},
|
||||
[util.inspect.custom]: {
|
||||
enumerable: false
|
||||
}
|
||||
})
|
||||
|
||||
@@ -22540,20 +22554,6 @@ class Pool extends PoolBase {
|
||||
? { ...options.interceptors }
|
||||
: undefined
|
||||
this[kFactory] = factory
|
||||
|
||||
this.on('connectionError', (origin, targets, error) => {
|
||||
// If a connection error occurs, we remove the client from the pool,
|
||||
// and emit a connectionError event. They will not be re-used.
|
||||
// Fixes https://github.com/nodejs/undici/issues/3895
|
||||
for (const target of targets) {
|
||||
// Do not use kRemoveClient here, as it will close the client,
|
||||
// but the client cannot be closed in this state.
|
||||
const idx = this[kClients].indexOf(target)
|
||||
if (idx !== -1) {
|
||||
this[kClients].splice(idx, 1)
|
||||
}
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
[kGetDispatcher] () {
|
||||
@@ -28201,7 +28201,6 @@ const Agent = __nccwpck_require__(7405)
|
||||
const ProxyAgent = __nccwpck_require__(6672)
|
||||
const EnvHttpProxyAgent = __nccwpck_require__(3137)
|
||||
const RetryAgent = __nccwpck_require__(50)
|
||||
const H2CClient = __nccwpck_require__(6815)
|
||||
const errors = __nccwpck_require__(8707)
|
||||
const util = __nccwpck_require__(3440)
|
||||
const { InvalidArgumentError } = errors
|
||||
@@ -28227,7 +28226,6 @@ module.exports.Agent = Agent
|
||||
module.exports.ProxyAgent = ProxyAgent
|
||||
module.exports.EnvHttpProxyAgent = EnvHttpProxyAgent
|
||||
module.exports.RetryAgent = RetryAgent
|
||||
module.exports.H2CClient = H2CClient
|
||||
module.exports.RetryHandler = RetryHandler
|
||||
|
||||
module.exports.DecoratorHandler = DecoratorHandler
|
||||
@@ -29953,7 +29951,6 @@ module.exports = {
|
||||
|
||||
|
||||
const { Writable } = __nccwpck_require__(7075)
|
||||
const { EventEmitter } = __nccwpck_require__(8474)
|
||||
const { assertCacheKey, assertCacheValue } = __nccwpck_require__(7659)
|
||||
|
||||
/**
|
||||
@@ -29965,9 +29962,8 @@ const { assertCacheKey, assertCacheValue } = __nccwpck_require__(7659)
|
||||
|
||||
/**
|
||||
* @implements {CacheStore}
|
||||
* @extends {EventEmitter}
|
||||
*/
|
||||
class MemoryCacheStore extends EventEmitter {
|
||||
class MemoryCacheStore {
|
||||
#maxCount = Infinity
|
||||
#maxSize = Infinity
|
||||
#maxEntrySize = Infinity
|
||||
@@ -29975,13 +29971,11 @@ class MemoryCacheStore extends EventEmitter {
|
||||
#size = 0
|
||||
#count = 0
|
||||
#entries = new Map()
|
||||
#hasEmittedMaxSizeEvent = false
|
||||
|
||||
/**
|
||||
* @param {import('../../types/cache-interceptor.d.ts').default.MemoryCacheStoreOpts | undefined} [opts]
|
||||
*/
|
||||
constructor (opts) {
|
||||
super()
|
||||
if (opts) {
|
||||
if (typeof opts !== 'object') {
|
||||
throw new TypeError('MemoryCacheStore options must be an object')
|
||||
@@ -30022,22 +30016,6 @@ class MemoryCacheStore extends EventEmitter {
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the current size of the cache in bytes
|
||||
* @returns {number} The current size of the cache in bytes
|
||||
*/
|
||||
get size () {
|
||||
return this.#size
|
||||
}
|
||||
|
||||
/**
|
||||
* Check if the cache is full (either max size or max count reached)
|
||||
* @returns {boolean} True if the cache is full, false otherwise
|
||||
*/
|
||||
isFull () {
|
||||
return this.#size >= this.#maxSize || this.#count >= this.#maxCount
|
||||
}
|
||||
|
||||
/**
|
||||
* @param {import('../../types/cache-interceptor.d.ts').default.CacheKey} req
|
||||
* @returns {import('../../types/cache-interceptor.d.ts').default.GetResult | undefined}
|
||||
@@ -30048,9 +30026,17 @@ class MemoryCacheStore extends EventEmitter {
|
||||
const topLevelKey = `${key.origin}:${key.path}`
|
||||
|
||||
const now = Date.now()
|
||||
const entries = this.#entries.get(topLevelKey)
|
||||
const entry = this.#entries.get(topLevelKey)?.find((entry) => (
|
||||
entry.deleteAt > now &&
|
||||
entry.method === key.method &&
|
||||
(entry.vary == null || Object.keys(entry.vary).every(headerName => {
|
||||
if (entry.vary[headerName] === null) {
|
||||
return key.headers[headerName] === undefined
|
||||
}
|
||||
|
||||
const entry = entries ? findEntry(key, entries, now) : null
|
||||
return entry.vary[headerName] === key.headers[headerName]
|
||||
}))
|
||||
))
|
||||
|
||||
return entry == null
|
||||
? undefined
|
||||
@@ -30104,32 +30090,12 @@ class MemoryCacheStore extends EventEmitter {
|
||||
entries = []
|
||||
store.#entries.set(topLevelKey, entries)
|
||||
}
|
||||
const previousEntry = findEntry(key, entries, Date.now())
|
||||
if (previousEntry) {
|
||||
const index = entries.indexOf(previousEntry)
|
||||
entries.splice(index, 1, entry)
|
||||
store.#size -= previousEntry.size
|
||||
} else {
|
||||
entries.push(entry)
|
||||
store.#count += 1
|
||||
}
|
||||
entries.push(entry)
|
||||
|
||||
store.#size += entry.size
|
||||
store.#count += 1
|
||||
|
||||
// Check if cache is full and emit event if needed
|
||||
if (store.#size > store.#maxSize || store.#count > store.#maxCount) {
|
||||
// Emit maxSizeExceeded event if we haven't already
|
||||
if (!store.#hasEmittedMaxSizeEvent) {
|
||||
store.emit('maxSizeExceeded', {
|
||||
size: store.#size,
|
||||
maxSize: store.#maxSize,
|
||||
count: store.#count,
|
||||
maxCount: store.#maxCount
|
||||
})
|
||||
store.#hasEmittedMaxSizeEvent = true
|
||||
}
|
||||
|
||||
// Perform eviction
|
||||
for (const [key, entries] of store.#entries) {
|
||||
for (const entry of entries.splice(0, entries.length / 2)) {
|
||||
store.#size -= entry.size
|
||||
@@ -30139,11 +30105,6 @@ class MemoryCacheStore extends EventEmitter {
|
||||
store.#entries.delete(key)
|
||||
}
|
||||
}
|
||||
|
||||
// Reset the event flag after eviction
|
||||
if (store.#size < store.#maxSize && store.#count < store.#maxCount) {
|
||||
store.#hasEmittedMaxSizeEvent = false
|
||||
}
|
||||
}
|
||||
|
||||
callback(null)
|
||||
@@ -30169,20 +30130,6 @@ class MemoryCacheStore extends EventEmitter {
|
||||
}
|
||||
}
|
||||
|
||||
function findEntry (key, entries, now) {
|
||||
return entries.find((entry) => (
|
||||
entry.deleteAt > now &&
|
||||
entry.method === key.method &&
|
||||
(entry.vary == null || Object.keys(entry.vary).every(headerName => {
|
||||
if (entry.vary[headerName] === null) {
|
||||
return key.headers[headerName] === undefined
|
||||
}
|
||||
|
||||
return entry.vary[headerName] === key.headers[headerName]
|
||||
}))
|
||||
))
|
||||
}
|
||||
|
||||
module.exports = MemoryCacheStore
|
||||
|
||||
|
||||
@@ -30309,11 +30256,6 @@ module.exports = class SqliteCacheStore {
|
||||
this.#db = new DatabaseSync(opts?.location ?? ':memory:')
|
||||
|
||||
this.#db.exec(`
|
||||
PRAGMA journal_mode = WAL;
|
||||
PRAGMA synchronous = NORMAL;
|
||||
PRAGMA temp_store = memory;
|
||||
PRAGMA optimize;
|
||||
|
||||
CREATE TABLE IF NOT EXISTS cacheInterceptorV${VERSION} (
|
||||
-- Data specific to us
|
||||
id INTEGER PRIMARY KEY AUTOINCREMENT,
|
||||
@@ -30333,8 +30275,9 @@ module.exports = class SqliteCacheStore {
|
||||
staleAt INTEGER NOT NULL
|
||||
);
|
||||
|
||||
CREATE INDEX IF NOT EXISTS idx_cacheInterceptorV${VERSION}_getValuesQuery ON cacheInterceptorV${VERSION}(url, method, deleteAt);
|
||||
CREATE INDEX IF NOT EXISTS idx_cacheInterceptorV${VERSION}_deleteByUrlQuery ON cacheInterceptorV${VERSION}(deleteAt);
|
||||
CREATE INDEX IF NOT EXISTS idx_cacheInterceptorV${VERSION}_url ON cacheInterceptorV${VERSION}(url);
|
||||
CREATE INDEX IF NOT EXISTS idx_cacheInterceptorV${VERSION}_method ON cacheInterceptorV${VERSION}(method);
|
||||
CREATE INDEX IF NOT EXISTS idx_cacheInterceptorV${VERSION}_deleteAt ON cacheInterceptorV${VERSION}(deleteAt);
|
||||
`)
|
||||
|
||||
this.#getValuesQuery = this.#db.prepare(`
|
||||
@@ -30544,7 +30487,7 @@ module.exports = class SqliteCacheStore {
|
||||
}
|
||||
|
||||
#prune () {
|
||||
if (Number.isFinite(this.#maxCount) && this.size <= this.#maxCount) {
|
||||
if (this.size <= this.#maxCount) {
|
||||
return 0
|
||||
}
|
||||
|
||||
@@ -30666,7 +30609,10 @@ function headerValueEquals (lhs, rhs) {
|
||||
const net = __nccwpck_require__(7030)
|
||||
const assert = __nccwpck_require__(4589)
|
||||
const util = __nccwpck_require__(3440)
|
||||
const { InvalidArgumentError } = __nccwpck_require__(8707)
|
||||
const { InvalidArgumentError, ConnectTimeoutError } = __nccwpck_require__(8707)
|
||||
const timers = __nccwpck_require__(6603)
|
||||
|
||||
function noop () {}
|
||||
|
||||
let tls // include tls conditionally since it is not always available
|
||||
|
||||
@@ -30766,6 +30712,7 @@ function buildConnector ({ allowH2, maxCachedSessions, socketPath, timeout, sess
|
||||
servername,
|
||||
session,
|
||||
localAddress,
|
||||
// TODO(HTTP/2): Add support for h2c
|
||||
ALPNProtocols: allowH2 ? ['http/1.1', 'h2'] : ['http/1.1'],
|
||||
socket: httpSocket, // upgrade socket connection
|
||||
port,
|
||||
@@ -30797,7 +30744,7 @@ function buildConnector ({ allowH2, maxCachedSessions, socketPath, timeout, sess
|
||||
socket.setKeepAlive(true, keepAliveInitialDelay)
|
||||
}
|
||||
|
||||
const clearConnectTimeout = util.setupConnectTimeout(new WeakRef(socket), { timeout, hostname, port })
|
||||
const clearConnectTimeout = setupConnectTimeout(new WeakRef(socket), { timeout, hostname, port })
|
||||
|
||||
socket
|
||||
.setNoDelay(true)
|
||||
@@ -30824,6 +30771,78 @@ function buildConnector ({ allowH2, maxCachedSessions, socketPath, timeout, sess
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* @param {WeakRef<net.Socket>} socketWeakRef
|
||||
* @param {object} opts
|
||||
* @param {number} opts.timeout
|
||||
* @param {string} opts.hostname
|
||||
* @param {number} opts.port
|
||||
* @returns {() => void}
|
||||
*/
|
||||
const setupConnectTimeout = process.platform === 'win32'
|
||||
? (socketWeakRef, opts) => {
|
||||
if (!opts.timeout) {
|
||||
return noop
|
||||
}
|
||||
|
||||
let s1 = null
|
||||
let s2 = null
|
||||
const fastTimer = timers.setFastTimeout(() => {
|
||||
// setImmediate is added to make sure that we prioritize socket error events over timeouts
|
||||
s1 = setImmediate(() => {
|
||||
// Windows needs an extra setImmediate probably due to implementation differences in the socket logic
|
||||
s2 = setImmediate(() => onConnectTimeout(socketWeakRef.deref(), opts))
|
||||
})
|
||||
}, opts.timeout)
|
||||
return () => {
|
||||
timers.clearFastTimeout(fastTimer)
|
||||
clearImmediate(s1)
|
||||
clearImmediate(s2)
|
||||
}
|
||||
}
|
||||
: (socketWeakRef, opts) => {
|
||||
if (!opts.timeout) {
|
||||
return noop
|
||||
}
|
||||
|
||||
let s1 = null
|
||||
const fastTimer = timers.setFastTimeout(() => {
|
||||
// setImmediate is added to make sure that we prioritize socket error events over timeouts
|
||||
s1 = setImmediate(() => {
|
||||
onConnectTimeout(socketWeakRef.deref(), opts)
|
||||
})
|
||||
}, opts.timeout)
|
||||
return () => {
|
||||
timers.clearFastTimeout(fastTimer)
|
||||
clearImmediate(s1)
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* @param {net.Socket} socket
|
||||
* @param {object} opts
|
||||
* @param {number} opts.timeout
|
||||
* @param {string} opts.hostname
|
||||
* @param {number} opts.port
|
||||
*/
|
||||
function onConnectTimeout (socket, opts) {
|
||||
// The socket could be already garbage collected
|
||||
if (socket == null) {
|
||||
return
|
||||
}
|
||||
|
||||
let message = 'Connect Timeout Error'
|
||||
if (Array.isArray(socket.autoSelectFamilyAttemptedAddresses)) {
|
||||
message += ` (attempted addresses: ${socket.autoSelectFamilyAttemptedAddresses.join(', ')},`
|
||||
} else {
|
||||
message += ` (attempted address: ${opts.hostname}:${opts.port},`
|
||||
}
|
||||
|
||||
message += ` timeout: ${opts.timeout}ms)`
|
||||
|
||||
util.destroy(socket, new ConnectTimeoutError(message))
|
||||
}
|
||||
|
||||
module.exports = buildConnector
|
||||
|
||||
|
||||
@@ -32100,12 +32119,11 @@ const { Blob } = __nccwpck_require__(4573)
|
||||
const nodeUtil = __nccwpck_require__(7975)
|
||||
const { stringify } = __nccwpck_require__(1792)
|
||||
const { EventEmitter: EE } = __nccwpck_require__(8474)
|
||||
const timers = __nccwpck_require__(6603)
|
||||
const { InvalidArgumentError, ConnectTimeoutError } = __nccwpck_require__(8707)
|
||||
const { InvalidArgumentError } = __nccwpck_require__(8707)
|
||||
const { headerNameLowerCasedRecord } = __nccwpck_require__(735)
|
||||
const { tree } = __nccwpck_require__(7752)
|
||||
|
||||
const [nodeMajor, nodeMinor] = process.versions.node.split('.', 2).map(v => Number(v))
|
||||
const [nodeMajor, nodeMinor] = process.versions.node.split('.').map(v => Number(v))
|
||||
|
||||
class BodyAsyncIterable {
|
||||
constructor (body) {
|
||||
@@ -32120,8 +32138,6 @@ class BodyAsyncIterable {
|
||||
}
|
||||
}
|
||||
|
||||
function noop () {}
|
||||
|
||||
/**
|
||||
* @param {*} body
|
||||
* @returns {*}
|
||||
@@ -32931,78 +32947,6 @@ function errorRequest (client, request, err) {
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* @param {WeakRef<net.Socket>} socketWeakRef
|
||||
* @param {object} opts
|
||||
* @param {number} opts.timeout
|
||||
* @param {string} opts.hostname
|
||||
* @param {number} opts.port
|
||||
* @returns {() => void}
|
||||
*/
|
||||
const setupConnectTimeout = process.platform === 'win32'
|
||||
? (socketWeakRef, opts) => {
|
||||
if (!opts.timeout) {
|
||||
return noop
|
||||
}
|
||||
|
||||
let s1 = null
|
||||
let s2 = null
|
||||
const fastTimer = timers.setFastTimeout(() => {
|
||||
// setImmediate is added to make sure that we prioritize socket error events over timeouts
|
||||
s1 = setImmediate(() => {
|
||||
// Windows needs an extra setImmediate probably due to implementation differences in the socket logic
|
||||
s2 = setImmediate(() => onConnectTimeout(socketWeakRef.deref(), opts))
|
||||
})
|
||||
}, opts.timeout)
|
||||
return () => {
|
||||
timers.clearFastTimeout(fastTimer)
|
||||
clearImmediate(s1)
|
||||
clearImmediate(s2)
|
||||
}
|
||||
}
|
||||
: (socketWeakRef, opts) => {
|
||||
if (!opts.timeout) {
|
||||
return noop
|
||||
}
|
||||
|
||||
let s1 = null
|
||||
const fastTimer = timers.setFastTimeout(() => {
|
||||
// setImmediate is added to make sure that we prioritize socket error events over timeouts
|
||||
s1 = setImmediate(() => {
|
||||
onConnectTimeout(socketWeakRef.deref(), opts)
|
||||
})
|
||||
}, opts.timeout)
|
||||
return () => {
|
||||
timers.clearFastTimeout(fastTimer)
|
||||
clearImmediate(s1)
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* @param {net.Socket} socket
|
||||
* @param {object} opts
|
||||
* @param {number} opts.timeout
|
||||
* @param {string} opts.hostname
|
||||
* @param {number} opts.port
|
||||
*/
|
||||
function onConnectTimeout (socket, opts) {
|
||||
// The socket could be already garbage collected
|
||||
if (socket == null) {
|
||||
return
|
||||
}
|
||||
|
||||
let message = 'Connect Timeout Error'
|
||||
if (Array.isArray(socket.autoSelectFamilyAttemptedAddresses)) {
|
||||
message += ` (attempted addresses: ${socket.autoSelectFamilyAttemptedAddresses.join(', ')},`
|
||||
} else {
|
||||
message += ` (attempted address: ${opts.hostname}:${opts.port},`
|
||||
}
|
||||
|
||||
message += ` timeout: ${opts.timeout}ms)`
|
||||
|
||||
destroy(socket, new ConnectTimeoutError(message))
|
||||
}
|
||||
|
||||
const kEnumerableProperty = Object.create(null)
|
||||
kEnumerableProperty.enumerable = true
|
||||
|
||||
@@ -33074,8 +33018,7 @@ module.exports = {
|
||||
nodeMajor,
|
||||
nodeMinor,
|
||||
safeHTTPMethods: Object.freeze(['GET', 'HEAD', 'OPTIONS', 'TRACE']),
|
||||
wrapRequestBody,
|
||||
setupConnectTimeout
|
||||
wrapRequestBody
|
||||
}
|
||||
|
||||
|
||||
@@ -33088,7 +33031,7 @@ module.exports = {
|
||||
|
||||
|
||||
const { InvalidArgumentError } = __nccwpck_require__(8707)
|
||||
const { kClients, kRunning, kClose, kDestroy, kDispatch, kUrl } = __nccwpck_require__(6443)
|
||||
const { kClients, kRunning, kClose, kDestroy, kDispatch } = __nccwpck_require__(6443)
|
||||
const DispatcherBase = __nccwpck_require__(1841)
|
||||
const Pool = __nccwpck_require__(628)
|
||||
const Client = __nccwpck_require__(3701)
|
||||
@@ -33132,35 +33075,22 @@ class Agent extends DispatcherBase {
|
||||
}
|
||||
|
||||
this[kOnConnect] = (origin, targets) => {
|
||||
const result = this[kClients].get(origin)
|
||||
if (result) {
|
||||
result.count += 1
|
||||
}
|
||||
this.emit('connect', origin, [this, ...targets])
|
||||
}
|
||||
|
||||
this[kOnDisconnect] = (origin, targets, err) => {
|
||||
const result = this[kClients].get(origin)
|
||||
if (result) {
|
||||
result.count -= 1
|
||||
if (result.count <= 0) {
|
||||
this[kClients].delete(origin)
|
||||
result.dispatcher.destroy()
|
||||
}
|
||||
}
|
||||
this.emit('disconnect', origin, [this, ...targets], err)
|
||||
}
|
||||
|
||||
this[kOnConnectionError] = (origin, targets, err) => {
|
||||
// TODO: should this decrement result.count here?
|
||||
this.emit('connectionError', origin, [this, ...targets], err)
|
||||
}
|
||||
}
|
||||
|
||||
get [kRunning] () {
|
||||
let ret = 0
|
||||
for (const { dispatcher } of this[kClients].values()) {
|
||||
ret += dispatcher[kRunning]
|
||||
for (const client of this[kClients].values()) {
|
||||
ret += client[kRunning]
|
||||
}
|
||||
return ret
|
||||
}
|
||||
@@ -33173,8 +33103,8 @@ class Agent extends DispatcherBase {
|
||||
throw new InvalidArgumentError('opts.origin must be a non-empty string or URL.')
|
||||
}
|
||||
|
||||
const result = this[kClients].get(key)
|
||||
let dispatcher = result && result.dispatcher
|
||||
let dispatcher = this[kClients].get(key)
|
||||
|
||||
if (!dispatcher) {
|
||||
dispatcher = this[kFactory](opts.origin, this[kOptions])
|
||||
.on('drain', this[kOnDrain])
|
||||
@@ -33182,7 +33112,10 @@ class Agent extends DispatcherBase {
|
||||
.on('disconnect', this[kOnDisconnect])
|
||||
.on('connectionError', this[kOnConnectionError])
|
||||
|
||||
this[kClients].set(key, { count: 0, dispatcher })
|
||||
// This introduces a tiny memory leak, as dispatchers are never removed from the map.
|
||||
// TODO(mcollina): remove te timer when the client/pool do not have any more
|
||||
// active connections.
|
||||
this[kClients].set(key, dispatcher)
|
||||
}
|
||||
|
||||
return dispatcher.dispatch(opts, handler)
|
||||
@@ -33190,8 +33123,8 @@ class Agent extends DispatcherBase {
|
||||
|
||||
async [kClose] () {
|
||||
const closePromises = []
|
||||
for (const { dispatcher } of this[kClients].values()) {
|
||||
closePromises.push(dispatcher.close())
|
||||
for (const client of this[kClients].values()) {
|
||||
closePromises.push(client.close())
|
||||
}
|
||||
this[kClients].clear()
|
||||
|
||||
@@ -33200,23 +33133,13 @@ class Agent extends DispatcherBase {
|
||||
|
||||
async [kDestroy] (err) {
|
||||
const destroyPromises = []
|
||||
for (const { dispatcher } of this[kClients].values()) {
|
||||
destroyPromises.push(dispatcher.destroy(err))
|
||||
for (const client of this[kClients].values()) {
|
||||
destroyPromises.push(client.destroy(err))
|
||||
}
|
||||
this[kClients].clear()
|
||||
|
||||
await Promise.all(destroyPromises)
|
||||
}
|
||||
|
||||
get stats () {
|
||||
const allClientStats = {}
|
||||
for (const { dispatcher } of this[kClients].values()) {
|
||||
if (dispatcher.stats) {
|
||||
allClientStats[dispatcher[kUrl].origin] = dispatcher.stats
|
||||
}
|
||||
}
|
||||
return allClientStats
|
||||
}
|
||||
}
|
||||
|
||||
module.exports = Agent
|
||||
@@ -35275,7 +35198,6 @@ function onHttp2SessionGoAway (errorCode) {
|
||||
assert(client[kRunning] === 0)
|
||||
|
||||
client.emit('disconnect', client[kUrl], [client], err)
|
||||
client.emit('connectionError', client[kUrl], [client], err)
|
||||
|
||||
client[kResume]()
|
||||
}
|
||||
@@ -35362,13 +35284,11 @@ function writeH2 (client, request) {
|
||||
if (Array.isArray(val)) {
|
||||
for (let i = 0; i < val.length; i++) {
|
||||
if (headers[key]) {
|
||||
headers[key] += `, ${val[i]}`
|
||||
headers[key] += `,${val[i]}`
|
||||
} else {
|
||||
headers[key] = val[i]
|
||||
}
|
||||
}
|
||||
} else if (headers[key]) {
|
||||
headers[key] += `, ${val}`
|
||||
} else {
|
||||
headers[key] = val
|
||||
}
|
||||
@@ -35877,7 +35797,6 @@ const assert = __nccwpck_require__(4589)
|
||||
const net = __nccwpck_require__(7030)
|
||||
const http = __nccwpck_require__(7067)
|
||||
const util = __nccwpck_require__(3440)
|
||||
const { ClientStats } = __nccwpck_require__(6854)
|
||||
const { channels } = __nccwpck_require__(2414)
|
||||
const Request = __nccwpck_require__(4655)
|
||||
const DispatcherBase = __nccwpck_require__(1841)
|
||||
@@ -36134,10 +36053,6 @@ class Client extends DispatcherBase {
|
||||
this[kResume](true)
|
||||
}
|
||||
|
||||
get stats () {
|
||||
return new ClientStats(this)
|
||||
}
|
||||
|
||||
get [kPending] () {
|
||||
return this[kQueue].length - this[kPendingIdx]
|
||||
}
|
||||
@@ -37038,136 +36953,6 @@ module.exports = class FixedQueue {
|
||||
}
|
||||
|
||||
|
||||
/***/ }),
|
||||
|
||||
/***/ 6815:
|
||||
/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {
|
||||
|
||||
"use strict";
|
||||
|
||||
const { connect } = __nccwpck_require__(7030)
|
||||
|
||||
const { kClose, kDestroy } = __nccwpck_require__(6443)
|
||||
const { InvalidArgumentError } = __nccwpck_require__(8707)
|
||||
const util = __nccwpck_require__(3440)
|
||||
|
||||
const Client = __nccwpck_require__(3701)
|
||||
const DispatcherBase = __nccwpck_require__(1841)
|
||||
|
||||
class H2CClient extends DispatcherBase {
|
||||
#client = null
|
||||
|
||||
constructor (origin, clientOpts) {
|
||||
super()
|
||||
|
||||
if (typeof origin === 'string') {
|
||||
origin = new URL(origin)
|
||||
}
|
||||
|
||||
if (origin.protocol !== 'http:') {
|
||||
throw new InvalidArgumentError(
|
||||
'h2c-client: Only h2c protocol is supported'
|
||||
)
|
||||
}
|
||||
|
||||
const { connect, maxConcurrentStreams, pipelining, ...opts } =
|
||||
clientOpts ?? {}
|
||||
let defaultMaxConcurrentStreams = 100
|
||||
let defaultPipelining = 100
|
||||
|
||||
if (
|
||||
maxConcurrentStreams != null &&
|
||||
Number.isInteger(maxConcurrentStreams) &&
|
||||
maxConcurrentStreams > 0
|
||||
) {
|
||||
defaultMaxConcurrentStreams = maxConcurrentStreams
|
||||
}
|
||||
|
||||
if (pipelining != null && Number.isInteger(pipelining) && pipelining > 0) {
|
||||
defaultPipelining = pipelining
|
||||
}
|
||||
|
||||
if (defaultPipelining > defaultMaxConcurrentStreams) {
|
||||
throw new InvalidArgumentError(
|
||||
'h2c-client: pipelining cannot be greater than maxConcurrentStreams'
|
||||
)
|
||||
}
|
||||
|
||||
this.#client = new Client(origin, {
|
||||
...opts,
|
||||
connect: this.#buildConnector(connect),
|
||||
maxConcurrentStreams: defaultMaxConcurrentStreams,
|
||||
pipelining: defaultPipelining,
|
||||
allowH2: true
|
||||
})
|
||||
}
|
||||
|
||||
#buildConnector (connectOpts) {
|
||||
return (opts, callback) => {
|
||||
const timeout = connectOpts?.connectOpts ?? 10e3
|
||||
const { hostname, port, pathname } = opts
|
||||
const socket = connect({
|
||||
...opts,
|
||||
host: hostname,
|
||||
port,
|
||||
pathname
|
||||
})
|
||||
|
||||
// Set TCP keep alive options on the socket here instead of in connect() for the case of assigning the socket
|
||||
if (opts.keepAlive == null || opts.keepAlive) {
|
||||
const keepAliveInitialDelay =
|
||||
opts.keepAliveInitialDelay == null ? 60e3 : opts.keepAliveInitialDelay
|
||||
socket.setKeepAlive(true, keepAliveInitialDelay)
|
||||
}
|
||||
|
||||
socket.alpnProtocol = 'h2'
|
||||
|
||||
const clearConnectTimeout = util.setupConnectTimeout(
|
||||
new WeakRef(socket),
|
||||
{ timeout, hostname, port }
|
||||
)
|
||||
|
||||
socket
|
||||
.setNoDelay(true)
|
||||
.once('connect', function () {
|
||||
queueMicrotask(clearConnectTimeout)
|
||||
|
||||
if (callback) {
|
||||
const cb = callback
|
||||
callback = null
|
||||
cb(null, this)
|
||||
}
|
||||
})
|
||||
.on('error', function (err) {
|
||||
queueMicrotask(clearConnectTimeout)
|
||||
|
||||
if (callback) {
|
||||
const cb = callback
|
||||
callback = null
|
||||
cb(err)
|
||||
}
|
||||
})
|
||||
|
||||
return socket
|
||||
}
|
||||
}
|
||||
|
||||
dispatch (opts, handler) {
|
||||
return this.#client.dispatch(opts, handler)
|
||||
}
|
||||
|
||||
async [kClose] () {
|
||||
await this.#client.close()
|
||||
}
|
||||
|
||||
async [kDestroy] () {
|
||||
await this.#client.destroy()
|
||||
}
|
||||
}
|
||||
|
||||
module.exports = H2CClient
|
||||
|
||||
|
||||
/***/ }),
|
||||
|
||||
/***/ 2128:
|
||||
@@ -37176,10 +36961,10 @@ module.exports = H2CClient
|
||||
"use strict";
|
||||
|
||||
|
||||
const { PoolStats } = __nccwpck_require__(6854)
|
||||
const DispatcherBase = __nccwpck_require__(1841)
|
||||
const FixedQueue = __nccwpck_require__(4660)
|
||||
const { kConnected, kSize, kRunning, kPending, kQueued, kBusy, kFree, kUrl, kClose, kDestroy, kDispatch } = __nccwpck_require__(6443)
|
||||
const PoolStats = __nccwpck_require__(3246)
|
||||
|
||||
const kClients = Symbol('clients')
|
||||
const kNeedDrain = Symbol('needDrain')
|
||||
@@ -37192,6 +36977,7 @@ const kOnConnectionError = Symbol('onConnectionError')
|
||||
const kGetDispatcher = Symbol('get dispatcher')
|
||||
const kAddClient = Symbol('add client')
|
||||
const kRemoveClient = Symbol('remove client')
|
||||
const kStats = Symbol('stats')
|
||||
|
||||
class PoolBase extends DispatcherBase {
|
||||
constructor () {
|
||||
@@ -37242,6 +37028,8 @@ class PoolBase extends DispatcherBase {
|
||||
this[kOnConnectionError] = (origin, targets, err) => {
|
||||
pool.emit('connectionError', origin, [pool, ...targets], err)
|
||||
}
|
||||
|
||||
this[kStats] = new PoolStats(this)
|
||||
}
|
||||
|
||||
get [kBusy] () {
|
||||
@@ -37281,7 +37069,7 @@ class PoolBase extends DispatcherBase {
|
||||
}
|
||||
|
||||
get stats () {
|
||||
return new PoolStats(this)
|
||||
return this[kStats]
|
||||
}
|
||||
|
||||
async [kClose] () {
|
||||
@@ -37367,6 +37155,50 @@ module.exports = {
|
||||
}
|
||||
|
||||
|
||||
/***/ }),
|
||||
|
||||
/***/ 3246:
|
||||
/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {
|
||||
|
||||
"use strict";
|
||||
|
||||
|
||||
const { kFree, kConnected, kPending, kQueued, kRunning, kSize } = __nccwpck_require__(6443)
|
||||
const kPool = Symbol('pool')
|
||||
|
||||
class PoolStats {
|
||||
constructor (pool) {
|
||||
this[kPool] = pool
|
||||
}
|
||||
|
||||
get connected () {
|
||||
return this[kPool][kConnected]
|
||||
}
|
||||
|
||||
get free () {
|
||||
return this[kPool][kFree]
|
||||
}
|
||||
|
||||
get pending () {
|
||||
return this[kPool][kPending]
|
||||
}
|
||||
|
||||
get queued () {
|
||||
return this[kPool][kQueued]
|
||||
}
|
||||
|
||||
get running () {
|
||||
return this[kPool][kRunning]
|
||||
}
|
||||
|
||||
get size () {
|
||||
return this[kPool][kSize]
|
||||
}
|
||||
}
|
||||
|
||||
module.exports = PoolStats
|
||||
|
||||
|
||||
/***/ }),
|
||||
|
||||
/***/ 628:
|
||||
@@ -37380,8 +37212,7 @@ const {
|
||||
kClients,
|
||||
kNeedDrain,
|
||||
kAddClient,
|
||||
kGetDispatcher,
|
||||
kRemoveClient
|
||||
kGetDispatcher
|
||||
} = __nccwpck_require__(2128)
|
||||
const Client = __nccwpck_require__(3701)
|
||||
const {
|
||||
@@ -37411,7 +37242,6 @@ class Pool extends PoolBase {
|
||||
autoSelectFamily,
|
||||
autoSelectFamilyAttemptTimeout,
|
||||
allowH2,
|
||||
clientTtl,
|
||||
...options
|
||||
} = {}) {
|
||||
if (connections != null && (!Number.isFinite(connections) || connections < 0)) {
|
||||
@@ -37442,20 +37272,12 @@ class Pool extends PoolBase {
|
||||
|
||||
this[kConnections] = connections || null
|
||||
this[kUrl] = util.parseOrigin(origin)
|
||||
this[kOptions] = { ...util.deepClone(options), connect, allowH2, clientTtl }
|
||||
this[kOptions] = { ...util.deepClone(options), connect, allowH2 }
|
||||
this[kOptions].interceptors = options.interceptors
|
||||
? { ...options.interceptors }
|
||||
: undefined
|
||||
this[kFactory] = factory
|
||||
|
||||
this.on('connect', (origin, targets) => {
|
||||
if (clientTtl != null && clientTtl > 0) {
|
||||
for (const target of targets) {
|
||||
Object.assign(target, { ttl: Date.now() })
|
||||
}
|
||||
}
|
||||
})
|
||||
|
||||
this.on('connectionError', (origin, targets, error) => {
|
||||
// If a connection error occurs, we remove the client from the pool,
|
||||
// and emit a connectionError event. They will not be re-used.
|
||||
@@ -37472,12 +37294,8 @@ class Pool extends PoolBase {
|
||||
}
|
||||
|
||||
[kGetDispatcher] () {
|
||||
const clientTtlOption = this[kOptions].clientTtl
|
||||
for (const client of this[kClients]) {
|
||||
// check ttl of client and if it's stale, remove it from the pool
|
||||
if (clientTtlOption != null && clientTtlOption > 0 && client.ttl && ((Date.now() - client.ttl) > clientTtlOption)) {
|
||||
this[kRemoveClient](client)
|
||||
} else if (!client[kNeedDrain]) {
|
||||
if (!client[kNeedDrain]) {
|
||||
return client
|
||||
}
|
||||
}
|
||||
@@ -37501,14 +37319,13 @@ module.exports = Pool
|
||||
"use strict";
|
||||
|
||||
|
||||
const { kProxy, kClose, kDestroy, kDispatch, kConnector } = __nccwpck_require__(6443)
|
||||
const { kProxy, kClose, kDestroy } = __nccwpck_require__(6443)
|
||||
const { URL } = __nccwpck_require__(3136)
|
||||
const Agent = __nccwpck_require__(7405)
|
||||
const Pool = __nccwpck_require__(628)
|
||||
const DispatcherBase = __nccwpck_require__(1841)
|
||||
const { InvalidArgumentError, RequestAbortedError, SecureProxyConnectionError } = __nccwpck_require__(8707)
|
||||
const buildConnector = __nccwpck_require__(9136)
|
||||
const Client = __nccwpck_require__(3701)
|
||||
|
||||
const kAgent = Symbol('proxy agent')
|
||||
const kClient = Symbol('proxy client')
|
||||
@@ -37516,7 +37333,6 @@ const kProxyHeaders = Symbol('proxy headers')
|
||||
const kRequestTls = Symbol('request tls settings')
|
||||
const kProxyTls = Symbol('proxy tls settings')
|
||||
const kConnectEndpoint = Symbol('connect endpoint function')
|
||||
const kTunnelProxy = Symbol('tunnel proxy')
|
||||
|
||||
function defaultProtocolPort (protocol) {
|
||||
return protocol === 'https:' ? 443 : 80
|
||||
@@ -37528,61 +37344,6 @@ function defaultFactory (origin, opts) {
|
||||
|
||||
const noop = () => {}
|
||||
|
||||
class ProxyClient extends DispatcherBase {
|
||||
#client = null
|
||||
constructor (origin, opts) {
|
||||
if (typeof origin === 'string') {
|
||||
origin = new URL(origin)
|
||||
}
|
||||
|
||||
if (origin.protocol !== 'http:' && origin.protocol !== 'https:') {
|
||||
throw new InvalidArgumentError('ProxyClient only supports http and https protocols')
|
||||
}
|
||||
|
||||
super()
|
||||
|
||||
this.#client = new Client(origin, opts)
|
||||
}
|
||||
|
||||
async [kClose] () {
|
||||
await this.#client.close()
|
||||
}
|
||||
|
||||
async [kDestroy] () {
|
||||
await this.#client.destroy()
|
||||
}
|
||||
|
||||
async [kDispatch] (opts, handler) {
|
||||
const { method, origin } = opts
|
||||
if (method === 'CONNECT') {
|
||||
this.#client[kConnector]({
|
||||
origin,
|
||||
port: opts.port || defaultProtocolPort(opts.protocol),
|
||||
path: opts.host,
|
||||
signal: opts.signal,
|
||||
headers: {
|
||||
...this[kProxyHeaders],
|
||||
host: opts.host
|
||||
},
|
||||
servername: this[kProxyTls]?.servername || opts.servername
|
||||
},
|
||||
(err, socket) => {
|
||||
if (err) {
|
||||
handler.callback(err)
|
||||
} else {
|
||||
handler.callback(null, { socket, statusCode: 200 })
|
||||
}
|
||||
}
|
||||
)
|
||||
return
|
||||
}
|
||||
if (typeof origin === 'string') {
|
||||
opts.origin = new URL(origin)
|
||||
}
|
||||
|
||||
return this.#client.dispatch(opts, handler)
|
||||
}
|
||||
}
|
||||
class ProxyAgent extends DispatcherBase {
|
||||
constructor (opts) {
|
||||
if (!opts || (typeof opts === 'object' && !(opts instanceof URL) && !opts.uri)) {
|
||||
@@ -37594,8 +37355,6 @@ class ProxyAgent extends DispatcherBase {
|
||||
throw new InvalidArgumentError('Proxy opts.clientFactory must be a function.')
|
||||
}
|
||||
|
||||
const { proxyTunnel = true } = opts
|
||||
|
||||
super()
|
||||
|
||||
const url = this.#getUrl(opts)
|
||||
@@ -37617,19 +37376,9 @@ class ProxyAgent extends DispatcherBase {
|
||||
this[kProxyHeaders]['proxy-authorization'] = `Basic ${Buffer.from(`${decodeURIComponent(username)}:${decodeURIComponent(password)}`).toString('base64')}`
|
||||
}
|
||||
|
||||
const factory = (!proxyTunnel && protocol === 'http:')
|
||||
? (origin, options) => {
|
||||
if (origin.protocol === 'http:') {
|
||||
return new ProxyClient(origin, options)
|
||||
}
|
||||
return new Client(origin, options)
|
||||
}
|
||||
: undefined
|
||||
|
||||
const connect = buildConnector({ ...opts.proxyTls })
|
||||
this[kConnectEndpoint] = buildConnector({ ...opts.requestTls })
|
||||
this[kClient] = clientFactory(url, { connect, factory })
|
||||
this[kTunnelProxy] = proxyTunnel
|
||||
this[kClient] = clientFactory(url, { connect })
|
||||
this[kAgent] = new Agent({
|
||||
...opts,
|
||||
connect: async (opts, callback) => {
|
||||
@@ -37685,10 +37434,6 @@ class ProxyAgent extends DispatcherBase {
|
||||
headers.host = host
|
||||
}
|
||||
|
||||
if (!this.#shouldConnect(new URL(opts.origin))) {
|
||||
opts.path = opts.origin + opts.path
|
||||
}
|
||||
|
||||
return this[kAgent].dispatch(
|
||||
{
|
||||
...opts,
|
||||
@@ -37721,19 +37466,6 @@ class ProxyAgent extends DispatcherBase {
|
||||
await this[kAgent].destroy()
|
||||
await this[kClient].destroy()
|
||||
}
|
||||
|
||||
#shouldConnect (uri) {
|
||||
if (typeof uri === 'string') {
|
||||
uri = new URL(uri)
|
||||
}
|
||||
if (this[kTunnelProxy]) {
|
||||
return true
|
||||
}
|
||||
if (uri.protocol !== 'http:' || this[kProxy].protocol !== 'http:') {
|
||||
return true
|
||||
}
|
||||
return false
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -38332,7 +38064,7 @@ const assert = __nccwpck_require__(4589)
|
||||
* here, which we then just pass on to the next handler (most likely a
|
||||
* CacheHandler). Note that this assumes the proper headers were already
|
||||
* included in the request to tell the origin that we want to revalidate the
|
||||
* response (i.e. if-modified-since or if-none-match).
|
||||
* response (i.e. if-modified-since).
|
||||
*
|
||||
* @see https://www.rfc-editor.org/rfc/rfc9111.html#name-validation
|
||||
*
|
||||
@@ -39328,7 +39060,7 @@ const util = __nccwpck_require__(3440)
|
||||
const CacheHandler = __nccwpck_require__(9976)
|
||||
const MemoryCacheStore = __nccwpck_require__(4889)
|
||||
const CacheRevalidationHandler = __nccwpck_require__(7133)
|
||||
const { assertCacheStore, assertCacheMethods, makeCacheKey, normaliseHeaders, parseCacheControlHeader } = __nccwpck_require__(7659)
|
||||
const { assertCacheStore, assertCacheMethods, makeCacheKey, parseCacheControlHeader } = __nccwpck_require__(7659)
|
||||
const { AbortError } = __nccwpck_require__(8707)
|
||||
|
||||
/**
|
||||
@@ -39342,12 +39074,7 @@ const { AbortError } = __nccwpck_require__(8707)
|
||||
*/
|
||||
function needsRevalidation (result, cacheControlDirectives) {
|
||||
if (cacheControlDirectives?.['no-cache']) {
|
||||
// Always revalidate requests with the no-cache request directive
|
||||
return true
|
||||
}
|
||||
|
||||
if (result.cacheControlDirectives?.['no-cache'] && !Array.isArray(result.cacheControlDirectives['no-cache'])) {
|
||||
// Always revalidate requests with unqualified no-cache response directive
|
||||
// Always revalidate requests with the no-cache directive
|
||||
return true
|
||||
}
|
||||
|
||||
@@ -39548,7 +39275,7 @@ function handleResult (
|
||||
// Check if the response is stale
|
||||
if (needsRevalidation(result, reqCacheControl)) {
|
||||
if (util.isStream(opts.body) && util.bodyLength(opts.body) !== 0) {
|
||||
// If body is a stream we can't revalidate...
|
||||
// If body is is stream we can't revalidate...
|
||||
// TODO (fix): This could be less strict...
|
||||
return dispatch(opts, new CacheHandler(globalOpts, cacheKey, handler))
|
||||
}
|
||||
@@ -39646,11 +39373,6 @@ module.exports = (opts = {}) => {
|
||||
return dispatch(opts, handler)
|
||||
}
|
||||
|
||||
opts = {
|
||||
...opts,
|
||||
headers: normaliseHeaders(opts)
|
||||
}
|
||||
|
||||
const reqCacheControl = opts.headers?.['cache-control']
|
||||
? parseCacheControlHeader(opts.headers['cache-control'])
|
||||
: undefined
|
||||
@@ -41011,12 +40733,11 @@ const {
|
||||
kMockAgentIsCallHistoryEnabled,
|
||||
kMockAgentAddCallHistoryLog,
|
||||
kMockAgentMockCallHistoryInstance,
|
||||
kMockAgentAcceptsNonStandardSearchParameters,
|
||||
kMockCallHistoryAddLog
|
||||
} = __nccwpck_require__(1117)
|
||||
const MockClient = __nccwpck_require__(7365)
|
||||
const MockPool = __nccwpck_require__(4004)
|
||||
const { matchValue, normalizeSearchParams, buildAndValidateMockOptions } = __nccwpck_require__(3397)
|
||||
const { matchValue, buildAndValidateMockOptions } = __nccwpck_require__(3397)
|
||||
const { InvalidArgumentError, UndiciError } = __nccwpck_require__(8707)
|
||||
const Dispatcher = __nccwpck_require__(883)
|
||||
const PendingInterceptorsFormatter = __nccwpck_require__(6142)
|
||||
@@ -41031,7 +40752,6 @@ class MockAgent extends Dispatcher {
|
||||
this[kNetConnect] = true
|
||||
this[kIsMockActive] = true
|
||||
this[kMockAgentIsCallHistoryEnabled] = mockOptions?.enableCallHistory ?? false
|
||||
this[kMockAgentAcceptsNonStandardSearchParameters] = mockOptions?.acceptNonStandardSearchParameters ?? false
|
||||
|
||||
// Instantiate Agent and encapsulate
|
||||
if (opts?.agent && typeof opts.agent.dispatch !== 'function') {
|
||||
@@ -41064,17 +40784,7 @@ class MockAgent extends Dispatcher {
|
||||
|
||||
this[kMockAgentAddCallHistoryLog](opts)
|
||||
|
||||
const acceptNonStandardSearchParameters = this[kMockAgentAcceptsNonStandardSearchParameters]
|
||||
|
||||
const dispatchOpts = { ...opts }
|
||||
|
||||
if (acceptNonStandardSearchParameters && dispatchOpts.path) {
|
||||
const [path, searchParams] = dispatchOpts.path.split('?')
|
||||
const normalizedSearchParams = normalizeSearchParams(searchParams, acceptNonStandardSearchParameters)
|
||||
dispatchOpts.path = `${path}?${normalizedSearchParams}`
|
||||
}
|
||||
|
||||
return this[kAgent].dispatch(dispatchOpts, handler)
|
||||
return this[kAgent].dispatch(opts, handler)
|
||||
}
|
||||
|
||||
async close () {
|
||||
@@ -41154,7 +40864,7 @@ class MockAgent extends Dispatcher {
|
||||
}
|
||||
|
||||
[kMockAgentSet] (origin, dispatcher) {
|
||||
this[kClients].set(origin, { count: 0, dispatcher })
|
||||
this[kClients].set(origin, dispatcher)
|
||||
}
|
||||
|
||||
[kFactory] (origin) {
|
||||
@@ -41166,9 +40876,9 @@ class MockAgent extends Dispatcher {
|
||||
|
||||
[kMockAgentGet] (origin) {
|
||||
// First check if we can immediately find it
|
||||
const result = this[kClients].get(origin)
|
||||
if (result?.dispatcher) {
|
||||
return result.dispatcher
|
||||
const client = this[kClients].get(origin)
|
||||
if (client) {
|
||||
return client
|
||||
}
|
||||
|
||||
// If the origin is not a string create a dummy parent pool and return to user
|
||||
@@ -41179,11 +40889,11 @@ class MockAgent extends Dispatcher {
|
||||
}
|
||||
|
||||
// If we match, create a pool and assign the same dispatches
|
||||
for (const [keyMatcher, result] of Array.from(this[kClients])) {
|
||||
if (result && typeof keyMatcher !== 'string' && matchValue(keyMatcher, origin)) {
|
||||
for (const [keyMatcher, nonExplicitDispatcher] of Array.from(this[kClients])) {
|
||||
if (nonExplicitDispatcher && typeof keyMatcher !== 'string' && matchValue(keyMatcher, origin)) {
|
||||
const dispatcher = this[kFactory](origin)
|
||||
this[kMockAgentSet](origin, dispatcher)
|
||||
dispatcher[kDispatches] = result.dispatcher[kDispatches]
|
||||
dispatcher[kDispatches] = nonExplicitDispatcher[kDispatches]
|
||||
return dispatcher
|
||||
}
|
||||
}
|
||||
@@ -41197,7 +40907,7 @@ class MockAgent extends Dispatcher {
|
||||
const mockAgentClients = this[kClients]
|
||||
|
||||
return Array.from(mockAgentClients.entries())
|
||||
.flatMap(([origin, result]) => result.dispatcher[kDispatches].map(dispatch => ({ ...dispatch, origin })))
|
||||
.flatMap(([origin, scope]) => scope[kDispatches].map(dispatch => ({ ...dispatch, origin })))
|
||||
.filter(({ pending }) => pending)
|
||||
}
|
||||
|
||||
@@ -41897,7 +41607,6 @@ module.exports = {
|
||||
kMockAgentRegisterCallHistory: Symbol('mock agent register mock call history'),
|
||||
kMockAgentAddCallHistoryLog: Symbol('mock agent add call history log'),
|
||||
kMockAgentIsCallHistoryEnabled: Symbol('mock agent is call history enabled'),
|
||||
kMockAgentAcceptsNonStandardSearchParameters: Symbol('mock agent accepts non standard search parameters'),
|
||||
kMockCallHistoryAddLog: Symbol('mock call history add log')
|
||||
}
|
||||
|
||||
@@ -42002,42 +41711,13 @@ function matchHeaders (mockDispatch, headers) {
|
||||
return true
|
||||
}
|
||||
|
||||
function normalizeSearchParams (query) {
|
||||
if (typeof query !== 'string') {
|
||||
return query
|
||||
}
|
||||
|
||||
const originalQp = new URLSearchParams(query)
|
||||
const normalizedQp = new URLSearchParams()
|
||||
|
||||
for (let [key, value] of originalQp.entries()) {
|
||||
key = key.replace('[]', '')
|
||||
|
||||
const valueRepresentsString = /^(['"]).*\1$/.test(value)
|
||||
if (valueRepresentsString) {
|
||||
normalizedQp.append(key, value)
|
||||
continue
|
||||
}
|
||||
|
||||
if (value.includes(',')) {
|
||||
const values = value.split(',')
|
||||
for (const v of values) {
|
||||
normalizedQp.append(key, v)
|
||||
}
|
||||
continue
|
||||
}
|
||||
|
||||
normalizedQp.append(key, value)
|
||||
}
|
||||
|
||||
return normalizedQp
|
||||
}
|
||||
|
||||
function safeUrl (path) {
|
||||
if (typeof path !== 'string') {
|
||||
return path
|
||||
}
|
||||
const pathSegments = path.split('?', 3)
|
||||
|
||||
const pathSegments = path.split('?')
|
||||
|
||||
if (pathSegments.length !== 2) {
|
||||
return path
|
||||
}
|
||||
@@ -42315,10 +41995,6 @@ function buildAndValidateMockOptions (opts) {
|
||||
throw new InvalidArgumentError('options.enableCallHistory must to be a boolean')
|
||||
}
|
||||
|
||||
if ('acceptNonStandardSearchParameters' in mockOptions && typeof mockOptions.acceptNonStandardSearchParameters !== 'boolean') {
|
||||
throw new InvalidArgumentError('options.acceptNonStandardSearchParameters must to be a boolean')
|
||||
}
|
||||
|
||||
return mockOptions
|
||||
}
|
||||
}
|
||||
@@ -42338,8 +42014,7 @@ module.exports = {
|
||||
checkNetConnect,
|
||||
buildAndValidateMockOptions,
|
||||
getHeaderByName,
|
||||
buildHeadersFromArray,
|
||||
normalizeSearchParams
|
||||
buildHeadersFromArray
|
||||
}
|
||||
|
||||
|
||||
@@ -42414,19 +42089,7 @@ function makeCacheKey (opts) {
|
||||
throw new Error('opts.origin is undefined')
|
||||
}
|
||||
|
||||
return {
|
||||
origin: opts.origin.toString(),
|
||||
method: opts.method,
|
||||
path: opts.path,
|
||||
headers: opts.headers
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* @param {Record<string, string[] | string>}
|
||||
* @return {Record<string, string[] | string>}
|
||||
*/
|
||||
function normaliseHeaders (opts) {
|
||||
/** @type {Record<string, string[] | string>} */
|
||||
let headers
|
||||
if (opts.headers == null) {
|
||||
headers = {}
|
||||
@@ -42452,7 +42115,12 @@ function normaliseHeaders (opts) {
|
||||
throw new Error('opts.headers is not an object')
|
||||
}
|
||||
|
||||
return headers
|
||||
return {
|
||||
origin: opts.origin.toString(),
|
||||
method: opts.method,
|
||||
path: opts.path,
|
||||
headers
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -42759,7 +42427,6 @@ function assertCacheMethods (methods, name = 'CacheMethods') {
|
||||
|
||||
module.exports = {
|
||||
makeCacheKey,
|
||||
normaliseHeaders,
|
||||
assertCacheKey,
|
||||
assertCacheValue,
|
||||
parseCacheControlHeader,
|
||||
@@ -43037,46 +42704,6 @@ module.exports = {
|
||||
}
|
||||
|
||||
|
||||
/***/ }),
|
||||
|
||||
/***/ 6854:
|
||||
/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {
|
||||
|
||||
"use strict";
|
||||
|
||||
|
||||
const {
|
||||
kConnected,
|
||||
kPending,
|
||||
kRunning,
|
||||
kSize,
|
||||
kFree,
|
||||
kQueued
|
||||
} = __nccwpck_require__(6443)
|
||||
|
||||
class ClientStats {
|
||||
constructor (client) {
|
||||
this.connected = client[kConnected]
|
||||
this.pending = client[kPending]
|
||||
this.running = client[kRunning]
|
||||
this.size = client[kSize]
|
||||
}
|
||||
}
|
||||
|
||||
class PoolStats {
|
||||
constructor (pool) {
|
||||
this.connected = pool[kConnected]
|
||||
this.free = pool[kFree]
|
||||
this.pending = pool[kPending]
|
||||
this.queued = pool[kQueued]
|
||||
this.running = pool[kRunning]
|
||||
this.size = pool[kSize]
|
||||
}
|
||||
}
|
||||
|
||||
module.exports = { ClientStats, PoolStats }
|
||||
|
||||
|
||||
/***/ }),
|
||||
|
||||
/***/ 6603:
|
||||
@@ -49739,9 +49366,7 @@ function finalizeAndReportTiming (response, initiatorType = 'other') {
|
||||
originalURL.href,
|
||||
initiatorType,
|
||||
globalThis,
|
||||
cacheState,
|
||||
'', // bodyType
|
||||
response.status
|
||||
cacheState
|
||||
)
|
||||
}
|
||||
|
||||
@@ -50426,7 +50051,7 @@ function fetchFinale (fetchParams, response) {
|
||||
// 3. Set fetchParams’s controller’s report timing steps to the following steps given a global object global:
|
||||
fetchParams.controller.reportTimingSteps = () => {
|
||||
// 1. If fetchParams’s request’s URL’s scheme is not an HTTP(S) scheme, then return.
|
||||
if (!urlIsHttpHttpsScheme(fetchParams.request.url)) {
|
||||
if (fetchParams.request.url.protocol !== 'https:') {
|
||||
return
|
||||
}
|
||||
|
||||
@@ -50468,6 +50093,7 @@ function fetchFinale (fetchParams, response) {
|
||||
// fetchParams’s request’s URL, fetchParams’s request’s initiator type, global, cacheState, bodyInfo,
|
||||
// and responseStatus.
|
||||
if (fetchParams.request.initiatorType != null) {
|
||||
// TODO: update markresourcetiming
|
||||
markResourceTiming(timingInfo, fetchParams.request.url.href, fetchParams.request.initiatorType, globalThis, cacheState, bodyInfo, responseStatus)
|
||||
}
|
||||
}
|
||||
@@ -58384,7 +58010,7 @@ function parseExtensions (extensions) {
|
||||
|
||||
while (position.position < extensions.length) {
|
||||
const pair = collectASequenceOfCodePointsFast(';', extensions, position)
|
||||
const [name, value = ''] = pair.split('=', 2)
|
||||
const [name, value = ''] = pair.split('=')
|
||||
|
||||
extensionList.set(
|
||||
removeHTTPWhitespace(name, true, false),
|
||||
@@ -59221,432 +58847,6 @@ Object.defineProperty(exports, "__esModule", ({ value: true }));
|
||||
exports.KNOWN_CHECKSUMS = void 0;
|
||||
// AUTOGENERATED_DO_NOT_EDIT
|
||||
exports.KNOWN_CHECKSUMS = {
|
||||
"aarch64-apple-darwin-0.7.13": "721f532b73171586574298d4311a91d5ea2c802ef4db3ebafc434239330090c6",
|
||||
"aarch64-pc-windows-msvc-0.7.13": "bb40708ad549ad6a12209cb139dd751bf0ede41deb679ce7513ce197bd9ef234",
|
||||
"aarch64-unknown-linux-gnu-0.7.13": "0b2ad9fe4295881615295add8cc5daa02549d29cc9a61f0578e397efcf12f08f",
|
||||
"aarch64-unknown-linux-musl-0.7.13": "52baba71881c978d32b7c32216ad0cde4546a4dc62e606c9834ec4616c1610eb",
|
||||
"arm-unknown-linux-musleabihf-0.7.13": "ff2b11fff489301f9d55c851b9ebce7ca5530d743d2c0a3861cc45896715ea9b",
|
||||
"armv7-unknown-linux-gnueabihf-0.7.13": "903350811ee31b2b758c8afb853490c27a34382a535b236739705b104bc13894",
|
||||
"armv7-unknown-linux-musleabihf-0.7.13": "7e3b2aa966c54ced0fcd9febea6b913ee7ea12ee85246513895f199ab13296a8",
|
||||
"i686-pc-windows-msvc-0.7.13": "5cf71014fde208ee0833026b3828007f8eaf514ec003784dc1ae92633877179b",
|
||||
"i686-unknown-linux-gnu-0.7.13": "ff031258ff08b3aca46648398e21fe9679744501e3c9a928c8e42d596a708bbc",
|
||||
"i686-unknown-linux-musl-0.7.13": "41851d695bb5401bce5af81a156d63215087cf8e8e1275e69dd96de4bfa30c26",
|
||||
"powerpc64-unknown-linux-gnu-0.7.13": "02a80ce1436bf673b0d7276bb24dea0bbc70958dc91e5fb04ad37ac515be7424",
|
||||
"powerpc64le-unknown-linux-gnu-0.7.13": "60c8907cce089de97dcce732ae363eda0620f7196c25e8bd539f168b93f9e34c",
|
||||
"riscv64gc-unknown-linux-gnu-0.7.13": "521a5235bc5a053dd7f0221c363544cef6d033064cc9d92dbb4ef19771000052",
|
||||
"s390x-unknown-linux-gnu-0.7.13": "41e4b6093dd408b41dffb4c9e08c4aa31424ee4573ce9c95566c2617f7f2d0c6",
|
||||
"x86_64-apple-darwin-0.7.13": "d785753ac092e25316180626aa691c5dfe1fb075290457ba4fdb72c7c5661321",
|
||||
"x86_64-pc-windows-msvc-0.7.13": "e199b10bef1a7cc540014483e7f60f825a174988f41020e9d2a6b01bd60f0669",
|
||||
"x86_64-unknown-linux-gnu-0.7.13": "909278eb197c5ed0e9b5f16317d1255270d1f9ea4196e7179ce934d48c4c2545",
|
||||
"x86_64-unknown-linux-musl-0.7.13": "560bb64e060354e45138d7dd47c8dd48a4f7a349af5520d29cd3c704e79f286c",
|
||||
"aarch64-apple-darwin-0.7.12": "189108cd026c25d40fb086eaaf320aac52c3f7aab63e185bac51305a1576fc7e",
|
||||
"aarch64-pc-windows-msvc-0.7.12": "fbedfb71356d0e63c86b507cf1434a58406afe6eac77aee9d37b8282d4006e14",
|
||||
"aarch64-unknown-linux-gnu-0.7.12": "23233d2e950ed8187858350da5c6803b14cbbeaef780382093bb2f2bc4ba1200",
|
||||
"aarch64-unknown-linux-musl-0.7.12": "0589f6d27bbbe2e205aa6fc25e4cd28ab97e984cdba20842de8d3a00714e13e9",
|
||||
"arm-unknown-linux-musleabihf-0.7.12": "6996e32ac1c37af33a4c6e40ab0126a82d62ccb94edb164b7dae554be4dd8336",
|
||||
"armv7-unknown-linux-gnueabihf-0.7.12": "aee2dc202deed7e15984d71eb59803111052fbe8c0fb3ffad27ae0a6d290d74f",
|
||||
"armv7-unknown-linux-musleabihf-0.7.12": "87bd7676d31858d9e1937ab69d13e30cc93ebb09fb246dde6a8f183e9570a82c",
|
||||
"i686-pc-windows-msvc-0.7.12": "c7ec71ba64d01ef3cdb89553445de94ab4fd7375c8f2a7068353aec7a3a06342",
|
||||
"i686-unknown-linux-gnu-0.7.12": "d1def68ff10b30327a5cacab497664aaf8338e192ba277b76f45dad63208f2e2",
|
||||
"i686-unknown-linux-musl-0.7.12": "f56a0a9c84b35b7e910c4d628c667b843fb3fa1d9dddb0bbf4bf3f21eeaee07f",
|
||||
"powerpc64-unknown-linux-gnu-0.7.12": "6eafb546d1b8642a5c27e4dfda213659fee41b0fd150b4c33ef96c917e595344",
|
||||
"powerpc64le-unknown-linux-gnu-0.7.12": "0d550348d7a0f54352824cd751dc7baea0c23b17d744a5a7784b6b825e5fc909",
|
||||
"s390x-unknown-linux-gnu-0.7.12": "76f5a2c1c13446233312d140136f3f55fa7c162176327830eb109ccaae6c9cea",
|
||||
"x86_64-apple-darwin-0.7.12": "a338354420dba089218c05d4d585e4bcf174a65fe53260592b2af19ceec85835",
|
||||
"x86_64-pc-windows-msvc-0.7.12": "2cf29c8ffaa2549aa0f86927b2510008e8ca3dcd2100277d86faf437382a371b",
|
||||
"x86_64-unknown-linux-gnu-0.7.12": "735891fb553d0be129f3aa39dc8e9c4c49aaa76ec17f7dfb6a732e79a714873a",
|
||||
"x86_64-unknown-linux-musl-0.7.12": "bb493f1e6ae426c06b5a103cb71aa60c678976d2377f0590644538658656c2a7",
|
||||
"aarch64-apple-darwin-0.7.11": "b5f4cb27a3002d6590c3681377c6d826db0b52e2a9529c7144fcd53fec89ba79",
|
||||
"aarch64-pc-windows-msvc-0.7.11": "856bac93344a6980b2703a4143f26fc042c941b02f11ed21f55ec6be3fdfde87",
|
||||
"aarch64-unknown-linux-gnu-0.7.11": "80cf695c4e10b532e9db3c7fbbcfb0f8356f2e70e7a4a5040e005f0fae70923d",
|
||||
"aarch64-unknown-linux-musl-0.7.11": "2ad20d143c74d7f63d1c99db3999f239f045b7be041e23f6ac8b269c99fa54fe",
|
||||
"arm-unknown-linux-musleabihf-0.7.11": "21fec46f09d96cd9f51378fe01ed050dd2032c1fef823f8bd81fa50a2337bbcc",
|
||||
"armv7-unknown-linux-gnueabihf-0.7.11": "1a75aaff4695c07151d5b9abb50232ea9fb6f5ccc82d4b319abd8796605d9db8",
|
||||
"armv7-unknown-linux-musleabihf-0.7.11": "431b3115ab8fb5e2210d01f29b7901e6eb1174ff65545ec49318d6d4adf4c802",
|
||||
"i686-pc-windows-msvc-0.7.11": "985f5eabf42b8ad0166ae6b9f799564220fa932938a8401c890d5e07321ce7c0",
|
||||
"i686-unknown-linux-gnu-0.7.11": "619e205d56594fc530dbde6c6a543dd094c796791a5e2cfcd3bb70fa5767bf9d",
|
||||
"i686-unknown-linux-musl-0.7.11": "838c6336ba8e88818459b10c3520e83601b9c0a9850a209accef9782c050faad",
|
||||
"powerpc64-unknown-linux-gnu-0.7.11": "769c7f32cbc2ad918ccf9ae661d99a6c0d0fd3a0056691832b4a79049a9d06ec",
|
||||
"powerpc64le-unknown-linux-gnu-0.7.11": "c9bbbcc2d4f11c83e0edbff5868d95f07f81455adb6f2f909cdb9b992928101b",
|
||||
"s390x-unknown-linux-gnu-0.7.11": "0e7b9b27e9fef1b42aa052173a2a47a2ec33bad82425237dfac402b7f69bd073",
|
||||
"x86_64-apple-darwin-0.7.11": "97980b067dc3fea16534371b030eaf38554d701de5058004edcfd542a88a2e84",
|
||||
"x86_64-pc-windows-msvc-0.7.11": "0f4ef69fde75bb8bcfba7ecf0a4134d8875578cd2e98c9fcfc21573e746c70ac",
|
||||
"x86_64-unknown-linux-gnu-0.7.11": "df54b274e99b7ef26030dc21d105ce115bc21a644fc6a321bde9222cb1616de6",
|
||||
"x86_64-unknown-linux-musl-0.7.11": "e4e8948645ebea1950a3c77574ce079dfe1c71547ba5a8a141d6e362fa036684",
|
||||
"aarch64-apple-darwin-0.7.10": "316b80c19832ff4085748c3a20a3e05f36e1d19234e8b9399a6fd1c971241bce",
|
||||
"aarch64-pc-windows-msvc-0.7.10": "1eed0f11bca79403648195f8ce257763d956e861cb73de98c480dae15358bb26",
|
||||
"aarch64-unknown-linux-gnu-0.7.10": "8746acb754807050124c6dbcb05fcad2665a3f0cdb2a0fe9de528bd37b092656",
|
||||
"aarch64-unknown-linux-musl-0.7.10": "f9000f08850a5c575d5fe1ddc2ec928ecc9f287ecdcd9fa1ea4e3f405b23d4a3",
|
||||
"arm-unknown-linux-musleabihf-0.7.10": "657b1b8a534f7fe78e63aff56aac5bbcb21f6254df79825fe204d5c7c1219653",
|
||||
"armv7-unknown-linux-gnueabihf-0.7.10": "1cf4a8f40abbd802a7b44fe9695da356701100d267eb3567c17db27e0a24cf69",
|
||||
"armv7-unknown-linux-musleabihf-0.7.10": "5282b825f469295dc2b88c94eccd375a93135a279b0711cb10e615e7a71a0617",
|
||||
"i686-pc-windows-msvc-0.7.10": "f3c62ff935685d9d4312b82d01ed386493b97c3d22bd434d943fc99ce9aef83a",
|
||||
"i686-unknown-linux-gnu-0.7.10": "24a2a3eb0e89b74de6aac492516303747519439775d22254e838d33410ac27b2",
|
||||
"i686-unknown-linux-musl-0.7.10": "e317d35af60b38ad32935390a83d12adc3ed7ffdbc2ccccd3039bf6cef650eb3",
|
||||
"powerpc64-unknown-linux-gnu-0.7.10": "c1ab41ec53cd720179f3351b61b4ded73ec520804413b75051736829a125e4fe",
|
||||
"powerpc64le-unknown-linux-gnu-0.7.10": "ce2c3fdf177facf6c77c5316bb54b9deaf498bee9f664e01a4030ecf27063ab1",
|
||||
"s390x-unknown-linux-gnu-0.7.10": "b7603e3f4494e9093a86ace1103e3fcfa172a952989f0c7dca6eeac7f77be81f",
|
||||
"x86_64-apple-darwin-0.7.10": "9123e8aa944654404787f80731ec08850c4e9b9129c0d0445c9e41438828b8b8",
|
||||
"x86_64-pc-windows-msvc-0.7.10": "1568a71af55e9d9bc4a050ec79134a342a8a3765a73f6b7ec26490c2814f8797",
|
||||
"x86_64-unknown-linux-gnu-0.7.10": "ff2ef46298963fee8104ccb3c0a4ecbc97c057ac6a0bc5fec7636c855384252e",
|
||||
"x86_64-unknown-linux-musl-0.7.10": "b2cf1f63e83a873652ffef032681bbbe1469e3bab617f7e715e09529c30f5689",
|
||||
"aarch64-apple-darwin-0.7.9": "7a8b716a2b5905fb89512371ce6c6dbc0dd0344185bd1cd93a3fe27516eef7ec",
|
||||
"aarch64-pc-windows-msvc-0.7.9": "63c0990b9c49dc9f9a92aaaa27ba627cbf9cf6b2e42766588ef6f880208893de",
|
||||
"aarch64-unknown-linux-gnu-0.7.9": "23242a8051e2191ed8d61f71a6792f2fc069ef18e6cdf07dedac3d3f648643c5",
|
||||
"aarch64-unknown-linux-musl-0.7.9": "60f30508c9002b2b7af55d70db2741cf7ea24c066ced710ad09681a6d2d19b3a",
|
||||
"arm-unknown-linux-musleabihf-0.7.9": "57d8e43e257f0ccd9df2b8581338c5145b9937aba53e9c9bb81b31044b720c61",
|
||||
"armv7-unknown-linux-gnueabihf-0.7.9": "83353ee7e1724083ea94d7f488fa34c9159995a3996f87017fdf72e422c93242",
|
||||
"armv7-unknown-linux-musleabihf-0.7.9": "b2d8d81bc2abbdd857bad7cd3bf0d36c5155c0681aae8ac9fb8f49d54b95b3f2",
|
||||
"i686-pc-windows-msvc-0.7.9": "b5dc0dc10d9dd0dcf5729a94e98538418760d13877d4d4b1bc4efa9926280e78",
|
||||
"i686-unknown-linux-gnu-0.7.9": "fb8f1a7cb593c819c0fff71afa2dc480237ca80a3f5d8d433c8b51d2ae90ffdf",
|
||||
"i686-unknown-linux-musl-0.7.9": "a77592be13fea81ca42b2b7815784e769e1fd9ff476cfab69f2652823f99c55e",
|
||||
"powerpc64-unknown-linux-gnu-0.7.9": "26fee4867c158c04dd3a51ff9a23b4220a9ba69fae2e71be618d2cfa48164d96",
|
||||
"powerpc64le-unknown-linux-gnu-0.7.9": "d588fbb01cacccb7fd6e0f101d34282ebb0569381f967d332f8072055e39840e",
|
||||
"s390x-unknown-linux-gnu-0.7.9": "d823d68ff662b7e59c6791281427bf1019dae791a964ffae31ae1d2d723dfc08",
|
||||
"x86_64-apple-darwin-0.7.9": "a4c084568850588b77e4a34c21b7df5c8cf9e2160b4d614307ed92fa12411742",
|
||||
"x86_64-pc-windows-msvc-0.7.9": "f91d8a3322a10caf257fd416807bd8d2801285b80b46ee37f2d0c6e426b8822c",
|
||||
"x86_64-unknown-linux-gnu-0.7.9": "b8450a419c0bcc85841bbed8511eb59e2a5683ddd3f813f2b98b97babf6b1b8b",
|
||||
"x86_64-unknown-linux-musl-0.7.9": "95918a1e1faf851a39cad402f1a77318e8fc90b7f829833ebaff27de9722d60e",
|
||||
"aarch64-apple-darwin-0.7.8": "ad6b3825ba277de70b9d0a37055f7d828f3f37416aee1cde65000f330efd4587",
|
||||
"aarch64-pc-windows-msvc-0.7.8": "e43448e5e3267dffb6bbdc30ffa291f8db664d1da9d084c44f99dc568f459e0a",
|
||||
"aarch64-unknown-linux-gnu-0.7.8": "da9e1c97f1452b25c8955127c92da7b68be228ad0b43bf50bba4dadb25c8b337",
|
||||
"aarch64-unknown-linux-musl-0.7.8": "4d18efb46f93fa942dc4c212dea3b6b07e3db62fe57d0c3d08de6bf5d9f9bb51",
|
||||
"arm-unknown-linux-musleabihf-0.7.8": "133b1c3fb850ec496bfb4ef84379bfaeff1d2c322114a0984d8a5c2e10e63028",
|
||||
"armv7-unknown-linux-gnueabihf-0.7.8": "7d61c6e18e81447482dc80c090c65a6615a1232512899943566baf2808ca37bb",
|
||||
"armv7-unknown-linux-musleabihf-0.7.8": "0b6d6afcdb7c78e5df42cb2ab0929d2bec2654a350a8efacc6f95e830a31eb6e",
|
||||
"i686-pc-windows-msvc-0.7.8": "0d4b01372ca972543cd40366bb5480bb457e79dcf45b5f662721d709d6932dbd",
|
||||
"i686-unknown-linux-gnu-0.7.8": "db1c60961aea7a7f8c64a098801e0138e761b7556d1c1691fc4f3f771f0e47ae",
|
||||
"i686-unknown-linux-musl-0.7.8": "b765eb1817bc1d545f4860eff0adeb0c7907ea66be14536653192e588386b308",
|
||||
"powerpc64-unknown-linux-gnu-0.7.8": "2c894b104195ab194af05c6ad756ce8746a349a8620c83888207db5fccf29a8f",
|
||||
"powerpc64le-unknown-linux-gnu-0.7.8": "4b0d93385685f756068f76af1871dcb7cc8f427ab6d650afc07493d06dca71db",
|
||||
"s390x-unknown-linux-gnu-0.7.8": "e58fc9f6d846ccbf50d9bcf27920ff4bc061541df8a6a3aa6f13be24981e0772",
|
||||
"x86_64-apple-darwin-0.7.8": "f046249639014eb70b43cbaf83eb6f56aac724ada354f9b9aad65f9960737920",
|
||||
"x86_64-pc-windows-msvc-0.7.8": "355736ddf9a01ab9da918b35470027c12128d7ed1d7f54f54771507d79529679",
|
||||
"x86_64-unknown-linux-gnu-0.7.8": "285981409c746508c1fd125f66a1ea654e487bf1e4d9f45371a062338f788adb",
|
||||
"x86_64-unknown-linux-musl-0.7.8": "8a707e45e0d1a8bdbc5bd1af0ae7d19ffab55f3722c5e73471039561900e3d48",
|
||||
"aarch64-apple-darwin-0.7.7": "6a06eaa8165d5abd89c3dc37ffbe1db60fcf49a87d7c612bfca7e87a1514695d",
|
||||
"aarch64-pc-windows-msvc-0.7.7": "e86cd59f2569f4bf475e5ad944910142c0ab107ad12613429ad8873a6f41087f",
|
||||
"aarch64-unknown-linux-gnu-0.7.7": "013061d4d33385e9a3fc52df18d22334f20f12616970b0d81583d5125ce8d6fa",
|
||||
"aarch64-unknown-linux-musl-0.7.7": "4014dc9dc024bb5a082f16c54adcd5936d47dae664bafa38453b3017ede41aab",
|
||||
"arm-unknown-linux-musleabihf-0.7.7": "c1dc010e3ab855391f3a6906fcffbeac873d136df2b20cfd998105385444e45c",
|
||||
"armv7-unknown-linux-gnueabihf-0.7.7": "e08406cfcc1ccc0c069d22c91008967f662664abdbf8a15779a1944070e0f5b2",
|
||||
"armv7-unknown-linux-musleabihf-0.7.7": "35379428e6d001e63714449c26c9111d1d5ee6f3b6a95559c724ad57df9d8d17",
|
||||
"i686-pc-windows-msvc-0.7.7": "5e47a44df7707b58884cdf5d30527857ec1bf186e8f200517fd11a572669cacc",
|
||||
"i686-unknown-linux-gnu-0.7.7": "fc782a829cccb0201c4a918d9f5a3a114511d734953f7e5e60aed52951264454",
|
||||
"i686-unknown-linux-musl-0.7.7": "10b852326ee48502d6da26c7fe394345b7ce7ca94d76f293dbe4cde9577c3993",
|
||||
"powerpc64-unknown-linux-gnu-0.7.7": "4b26663e0c21289bd21c05a3ba344e6b069c600e5a6333e660ae16eb38027bd5",
|
||||
"powerpc64le-unknown-linux-gnu-0.7.7": "e691d6a8a8c285cd644cf1f6d47c2568740ddca645c860f9bb23799790b54e56",
|
||||
"s390x-unknown-linux-gnu-0.7.7": "b21953a1c6c5475306e64f9ccf721762d2fc6aa572ee5268ed61a3b1531f06c1",
|
||||
"x86_64-apple-darwin-0.7.7": "4b337495ced2a9797357ee853873c2f5a45cc52f6ed68c9feba3c997443452b0",
|
||||
"x86_64-pc-windows-msvc-0.7.7": "a27a1fdf3f6b850dfb45fb009f7ea0fe3db1a59f692ebdc64c24ff8dbd0467d1",
|
||||
"x86_64-unknown-linux-gnu-0.7.7": "d83e2b9c2b251c93985824d9a12d97f5b036b7a9ff0b7d647c9ca7ae5ff2ae1b",
|
||||
"x86_64-unknown-linux-musl-0.7.7": "3876cafbb6599287a78778d2c265fd2050acfc247409ed677a8583f20385a3ae",
|
||||
"aarch64-apple-darwin-0.7.6": "a0e7c0e44ec4b2743e1c1d1f6edca1418687b05084f48c007c6e1c7d3a35bcd2",
|
||||
"aarch64-pc-windows-msvc-0.7.6": "2ada1290e87144726b6a723b38fd34ce64da5a3fe820a21685564924f894408c",
|
||||
"aarch64-unknown-linux-gnu-0.7.6": "4eae30038653bbec528257054fe07495f20c5d4bc663b630258e87d159e282b6",
|
||||
"aarch64-unknown-linux-musl-0.7.6": "9e59f0753383d6a27404be238360165e415605b1504b209349852a27cc01d48f",
|
||||
"arm-unknown-linux-musleabihf-0.7.6": "b81d59deeba1f92aba48aefce2b364530baa1cb8aa4c59fc2a90c9acf98c9a20",
|
||||
"armv7-unknown-linux-gnueabihf-0.7.6": "e9d1b7d52def14fb1ab8af2fa52963ff8e4323934ec2e78720a94d92261fa9fc",
|
||||
"armv7-unknown-linux-musleabihf-0.7.6": "c525ad0f41c67d944e56362adffcda206aef36f3ed84daf90386fcbfa4a62c66",
|
||||
"i686-pc-windows-msvc-0.7.6": "aca45dbdb75cd2c5fdf70bf5ff436306d476352b135fcab544c4a9759d7d1af8",
|
||||
"i686-unknown-linux-gnu-0.7.6": "71448fddb93306b1b67f0c2e711eb79b6ea33d027212259abd7546a48d15b49f",
|
||||
"i686-unknown-linux-musl-0.7.6": "a641ada8b2ca3ec22c24414c2edef8c01370d7d4ac79998eac091b84f743c476",
|
||||
"powerpc64-unknown-linux-gnu-0.7.6": "9f63727933d11b0157ebc3fd640811c1224fe55215acff24e8ec5747fb4f90fc",
|
||||
"powerpc64le-unknown-linux-gnu-0.7.6": "da746e6e809f32ab9709e45c7d5e7c37901478cc610119c08ae335c43ac089b2",
|
||||
"s390x-unknown-linux-gnu-0.7.6": "a07d4303e97f72312f9db8a1a67bae08f02d883f1879fa917b9ae87aec90d933",
|
||||
"x86_64-apple-darwin-0.7.6": "718cfd68b13a1a642fadc53646742785cd33b2e06124a01454ad358617841852",
|
||||
"x86_64-pc-windows-msvc-0.7.6": "4c81818cc89d75ca54762e2641deebad69c0af6594212a9fb24b9849df8ac413",
|
||||
"x86_64-unknown-linux-gnu-0.7.6": "0c5f0935bba35359150774fc5876d72947b863b8173c94dda776e6d88014a0df",
|
||||
"x86_64-unknown-linux-musl-0.7.6": "be755e8503b7e7174f24ad8cdcadab94f0662fe0b60df4fc35e1ddae48b19f35",
|
||||
"aarch64-apple-darwin-0.7.5": "8d82c7f6fcfd79b142c8845f694c8225dd5b401cd720e8e1e2a35a1c4150f516",
|
||||
"aarch64-pc-windows-msvc-0.7.5": "9ec005bf0b472d47ab730e463cc5a156b18ca9a9a6fe1c72bf18d97384d0b717",
|
||||
"aarch64-unknown-linux-gnu-0.7.5": "715bd03f6b2924b8f742b716d0f4b9d31ccbb1ad4a7f8df4ce2f572efff7f2cb",
|
||||
"aarch64-unknown-linux-musl-0.7.5": "ce23f5e1d22f1cdfc0db4358d3b2642c115ad99d404aef15030af31e39ef3484",
|
||||
"arm-unknown-linux-musleabihf-0.7.5": "2e85c3ba3ba461822940bca197198babcb1a8ce620c3d1c624423e68bba49d43",
|
||||
"armv7-unknown-linux-gnueabihf-0.7.5": "cbd7990fb0d06750f7e966a54dc344396e4d605d029aa94a0cf00d695cb283e9",
|
||||
"armv7-unknown-linux-musleabihf-0.7.5": "96d5eb1246e654f4e2c37542797196d94c0d72fe44e470050a9fbf67e356fb10",
|
||||
"i686-pc-windows-msvc-0.7.5": "84e70b46e0f218db9573b0efce085c13e0e5ce7808b3143b990d1a334e5a8ee6",
|
||||
"i686-unknown-linux-gnu-0.7.5": "20efc06bc129d8757e81fdd00cf828a9c1d928a4a30c8c538c6d1ed219b52c5d",
|
||||
"i686-unknown-linux-musl-0.7.5": "3cc8dbcdb230a6abbaa3cd6b918d6150f747f45f8f96b7399d6258c54fab5867",
|
||||
"powerpc64-unknown-linux-gnu-0.7.5": "dab5571d40ce3347fe295b9afec9f560ad709461883ae604d0de827071b8d2f8",
|
||||
"powerpc64le-unknown-linux-gnu-0.7.5": "4c3843068cd0e1bf9e5f68e5487fba28feef3196c025a1b1eaddd533a52b7bd7",
|
||||
"s390x-unknown-linux-gnu-0.7.5": "1b286e386a4d66dd9393caf78888a881cf63202522a6a88262e551bc7b8b3995",
|
||||
"x86_64-apple-darwin-0.7.5": "751ae339c91a6b8eddb868a64222c2533c722042476e4f28466683ddf96fa488",
|
||||
"x86_64-pc-windows-msvc-0.7.5": "e95cb3789b2f80052c80048ff2865e06eae7512d06d304127898c70c4fd3564f",
|
||||
"x86_64-unknown-linux-gnu-0.7.5": "a3d1964080a855e1f8806975b5fa943376045a64852c06ba80540813aa333305",
|
||||
"x86_64-unknown-linux-musl-0.7.5": "be058167ae65f7a2b56f607b070bd4e93dacd09be52511ccb8ebb10fa132709f",
|
||||
"aarch64-apple-darwin-0.7.4": "1af8c353479890b29b75933706890627555bbc07e12a0117ae62da3ec2ee372e",
|
||||
"aarch64-pc-windows-msvc-0.7.4": "3800868f3cc1509d6ea16036e3268ff45fd22a85c922cf3de4fb9535dbb0099e",
|
||||
"aarch64-unknown-linux-gnu-0.7.4": "c407e4c7431ee6cb28deb842edb49fea1ee3f5674a357f11244bfb0fd57e2ae4",
|
||||
"aarch64-unknown-linux-musl-0.7.4": "ff0d9172d2105da526501e01c38ecf0558ea323cfcd25adff9a89cd7fad5c076",
|
||||
"arm-unknown-linux-musleabihf-0.7.4": "4e6b7d15444ae58bc196ee4e7e6e11b451b4e994c0c73968254d3d4ff1c89bca",
|
||||
"armv7-unknown-linux-gnueabihf-0.7.4": "303bac0f866c450fefe7543297fa87563941f924cb13f007dfe7cc02ac64dcd7",
|
||||
"armv7-unknown-linux-musleabihf-0.7.4": "004e22fe946fabec6b5dff668f4bd8f93569dab30efe0f3d4640f266760744bd",
|
||||
"i686-pc-windows-msvc-0.7.4": "113070d23ba1498cf9fff9ae634893a2a1dce42a0baa617c4a82009f61c71fbc",
|
||||
"i686-unknown-linux-gnu-0.7.4": "19f0f19dfe9d722a2fb89bde4771682cf632182d6204cc4ddb11d700d5b34c07",
|
||||
"i686-unknown-linux-musl-0.7.4": "fe281041401b4140a387f6101e64fcf4abb344791c12398c441c7e339510423d",
|
||||
"powerpc64-unknown-linux-gnu-0.7.4": "ef2320254e52234750d9745e6dc6e3b3c990aa51e506057d0869d4d18b55e5e3",
|
||||
"powerpc64le-unknown-linux-gnu-0.7.4": "e143278764aab89b68c6f55dfdfa4242c8f5d5213880b584880a776a5ca1b0dd",
|
||||
"s390x-unknown-linux-gnu-0.7.4": "14dbae76be8999dcc8336fac1f6f86710e7ce4f4c3e1aec01e7ef7f9a3468811",
|
||||
"x86_64-apple-darwin-0.7.4": "a6c5fd8aa67db03447934b14703a2d7bb04b5e5f7ff45630a749760393c5610f",
|
||||
"x86_64-pc-windows-msvc-0.7.4": "966d0dd8d86f02f94128714180cd5ff42cd2ea9b33b86fc197f25cfa066aaea1",
|
||||
"x86_64-unknown-linux-gnu-0.7.4": "5264d9b2bf021fccbaf6edb97bc17ce4863687745f2443460a8ca71e55891614",
|
||||
"x86_64-unknown-linux-musl-0.7.4": "70083140d9efaf82cbb7ffa6231d5de3536d6497ec84d708afaf9b7e2fffbac2",
|
||||
"aarch64-apple-darwin-0.7.3": "162b328fc63e0075d4267688201de91356e1c1b81db50419fa4466cfe2dfdebc",
|
||||
"aarch64-pc-windows-msvc-0.7.3": "542b318c98b0295dd3d620fbcd63388757f382e14c69c569cb3ce793aa75c975",
|
||||
"aarch64-unknown-linux-gnu-0.7.3": "2c2be8bbb83e9bc722f2013de8bb7506cfe6521d0e30b4ad046849d036b3eea6",
|
||||
"aarch64-unknown-linux-musl-0.7.3": "a3f01c3c993b57fa8d13855c5ba60e3847bda4f8e795a52d52879e242e886604",
|
||||
"arm-unknown-linux-musleabihf-0.7.3": "87f72dc1c3b1b598e08c8efc7f9ab8eca23df8549cf4c1fc27a4a6b2524809c1",
|
||||
"armv7-unknown-linux-gnueabihf-0.7.3": "69f285d861cd1809a4bad0f08c2ea8a77ec17cbe20524a4ebbee4c5a7c868520",
|
||||
"armv7-unknown-linux-musleabihf-0.7.3": "1a0071551cd575bbecef3218fb13bf05ab96ceb71b4b1d13a99b8a4af059f99f",
|
||||
"i686-pc-windows-msvc-0.7.3": "1c9becbc63c15dcf43b09c0ba84e0ba6fa533fa799b7baf57a36363ef42fbc52",
|
||||
"i686-unknown-linux-gnu-0.7.3": "a2b56cb262337380aa02b6d131e973d54090c3e655d3e55385d02850454c24de",
|
||||
"i686-unknown-linux-musl-0.7.3": "d6e846079ef38929206079147448c5683a3018116b2b3e6059cf4c26bcfbb290",
|
||||
"powerpc64-unknown-linux-gnu-0.7.3": "a9b94c618a5d5bc992102733a45759e38db9a9e069830c3e94c744d1bfc33c21",
|
||||
"powerpc64le-unknown-linux-gnu-0.7.3": "782e9c343cb7c219b5514e64a799a8b9fa82585f6176b53ed095dc030a22d993",
|
||||
"s390x-unknown-linux-gnu-0.7.3": "ea803eafd6e3414d3a18aed9257f8ded8f7d1f6f182d2572969c4c487faa1986",
|
||||
"x86_64-apple-darwin-0.7.3": "d676940b51bdd5606b218bc2965fed67731f94ad07926045716acbf78626e09b",
|
||||
"x86_64-pc-windows-msvc-0.7.3": "20d3a420abbf2af9699cd9a02225d9325344046af8deb15563cc451e3c4fd059",
|
||||
"x86_64-unknown-linux-gnu-0.7.3": "17fc118ba4d7e9303f84fcabdc0a593fc3480ba76eb6980668fdbbb96fe88562",
|
||||
"x86_64-unknown-linux-musl-0.7.3": "325143825b88e7b0dadd1a8e8d3cbe4791d3cbbb9e2244350d917803fec8b3d1",
|
||||
"aarch64-apple-darwin-0.7.2": "8edc0bea8a9e35409f970b352036326393e79a6039577d8cc9ef63872c178a99",
|
||||
"aarch64-pc-windows-msvc-0.7.2": "a3d7affcd62e617bd2dd2a91fde679dd8d68a84762c8f3aaac294606ec14ffe5",
|
||||
"aarch64-unknown-linux-gnu-0.7.2": "2872fdf4785666575d129ba90590c44e6508e22584735f3e7e8a30d773dfc3db",
|
||||
"aarch64-unknown-linux-musl-0.7.2": "d5b31df40da794dab943c55e67d14fc111146e185b14a6de6eb749ee264a641c",
|
||||
"arm-unknown-linux-musleabihf-0.7.2": "fd203cef8c6cd775c2a5f7da31f69a72020a6c74b6fb808db3217ab04b70a038",
|
||||
"armv7-unknown-linux-gnueabihf-0.7.2": "b69999c29c759f5a47f71c1f328d6e7c489229efa5ce0e84afce026201730abb",
|
||||
"armv7-unknown-linux-musleabihf-0.7.2": "f98a827e198de2d0a7224ecad87eb64c18c9c0ed4f0c768456e9b48482015d2f",
|
||||
"i686-pc-windows-msvc-0.7.2": "8b06489b2cc8814fc23dae4562c5e7d500e782c2b0d2556529f515a4d1e0b8e3",
|
||||
"i686-unknown-linux-gnu-0.7.2": "36f26a496c6dc53703e070761ef96f07acc88eae868f94c4665f5c17a88d8acf",
|
||||
"i686-unknown-linux-musl-0.7.2": "763bf7cd2119c40858cbd0892fd9b2c7102c79e5c590800b2f8e9c2f427cb7d1",
|
||||
"powerpc64-unknown-linux-gnu-0.7.2": "bd4a42ed0b9ab725f0cb565ae29c338ea6ce0689ddb35da632535a47c891e72f",
|
||||
"powerpc64le-unknown-linux-gnu-0.7.2": "9a598869167b7e56ab971614972a2c486c8137681210094009a6fb61ac36699b",
|
||||
"s390x-unknown-linux-gnu-0.7.2": "7dd2240d60b1628869a2348ca0901cceee572bc20116ab04f9484ea0b6d40813",
|
||||
"x86_64-apple-darwin-0.7.2": "7d30b59d54900c97c492f3c07ff21cc3387a9e5bd8ca6db2d502462eaaeefd68",
|
||||
"x86_64-pc-windows-msvc-0.7.2": "35fd793df52fd13773425c9a97cc94cc13c8ee63abec6380b5083c183c688019",
|
||||
"x86_64-unknown-linux-gnu-0.7.2": "cfaab1b5166a6439ff66f020333d3a12bbdf622deee3b510718283e8f06c9de7",
|
||||
"x86_64-unknown-linux-musl-0.7.2": "dd10babf6c531597d246c97e55e32ca17b44fe251405fe539ec8ea2f22fac2d6",
|
||||
"aarch64-apple-darwin-0.7.1": "236d70d7738a5f41b45253d68665fda039fecee579939921e0795680d300f55f",
|
||||
"aarch64-pc-windows-msvc-0.7.1": "5fdbc703e6f22696ac053811e9750ff3cf50814aabf1792b9bc49f2647b836c6",
|
||||
"aarch64-unknown-linux-gnu-0.7.1": "ee8a98f485a22837be9e95eb55e4cd06db6c8deba94b6a2dd63d828fb5ef4226",
|
||||
"aarch64-unknown-linux-musl-0.7.1": "b65409802669913f5fd49ed6656d45c434aa9273fb864aefa0fbbb685b9834b6",
|
||||
"arm-unknown-linux-musleabihf-0.7.1": "96cfceb7716a9003750111c7f1a62aebccf02e0288f95bc670c69062d2ec6e61",
|
||||
"armv7-unknown-linux-gnueabihf-0.7.1": "f156bdedd8a969dc49a5e01f6b38c7e50a63cf69acf3b5982adfaf232dfcb80f",
|
||||
"armv7-unknown-linux-musleabihf-0.7.1": "ae21a9c0b413976a24c51f095603294ca36da9089813022cb9bae0b84f0be6de",
|
||||
"i686-pc-windows-msvc-0.7.1": "38a98c532e463169e8c4f1ae3649dd500c168f6db687e3b29570930c55ffedf7",
|
||||
"i686-unknown-linux-gnu-0.7.1": "133a41ae763d8474cc4ff8e0c24ab8cdaf422f261cbcc284f4b90b57aa60f3fe",
|
||||
"i686-unknown-linux-musl-0.7.1": "6e55fea1ee9a8c5c1d29b3aeb033a8b01d3895a347b27ee108ba94c53d60cfb7",
|
||||
"powerpc64-unknown-linux-gnu-0.7.1": "cd6714a55577d6eb0ecad313646a4ade3c7a4407e1a2a4703a2fbb83c88681d5",
|
||||
"powerpc64le-unknown-linux-gnu-0.7.1": "a354eda3a43323cf5445cfdf0197ebd4b36e967df9537e97910c47dcd9321aaa",
|
||||
"s390x-unknown-linux-gnu-0.7.1": "59d194c544a8a53186c3da6ac26f90ab0f453fae71fd2e0d4d177a8ed8890abb",
|
||||
"x86_64-apple-darwin-0.7.1": "a81e655cc0b6a5ccf9197f2dc0df513171e68804e498c17076d6e56b41234c5d",
|
||||
"x86_64-pc-windows-msvc-0.7.1": "b4d48072e384014ecd04ec5c544aee523ead1faaebcd428ba5f6abf2836096df",
|
||||
"x86_64-unknown-linux-gnu-0.7.1": "cec71afc57276b1857970d6ec96e110989c3e4ed0d81f0c4c11c1231970b7e56",
|
||||
"x86_64-unknown-linux-musl-0.7.1": "9b714ddf470795d5f1aa5c8111ea153139ae202216ffbe4105fb92f202e0b02b",
|
||||
"aarch64-apple-darwin-0.7.0": "964ebe641b563920e0650a60bf5ac21e6c8c56557704e5ecfaaad7ff62c3a73c",
|
||||
"aarch64-pc-windows-msvc-0.7.0": "c00950aa4b243e1043d1ec651fdfd71e5f4e5b80135b30fcf3b70fc201aeb1c4",
|
||||
"aarch64-unknown-linux-gnu-0.7.0": "540fcb8f2f972c82260a8063a6a4b496d7ff858edc42aa0e2c733a7b55ef8dd8",
|
||||
"aarch64-unknown-linux-musl-0.7.0": "f6367e288617021aba6176945ba20a7f8ea3b22a5f8896314a7d0acb863b533e",
|
||||
"arm-unknown-linux-musleabihf-0.7.0": "6fc85b25a4b3cb27b924e1f3181f96197667b7465fe52bf703afb5539d09c09c",
|
||||
"armv7-unknown-linux-gnueabihf-0.7.0": "035b46fde90a7ee4b48292ff9d116cc771b10d9e955d1979b1a1cd6b3998f602",
|
||||
"armv7-unknown-linux-musleabihf-0.7.0": "5f43390685fbb9f29d6075df1d492f9bf39cabb868bf37e0da3cd925c679b068",
|
||||
"i686-pc-windows-msvc-0.7.0": "f045db339b2acecc790d2071598275086978a99262d9c4b0c52189c26cba68a9",
|
||||
"i686-unknown-linux-gnu-0.7.0": "9936acd12616548a04ce6875aa125ea34f3b288181f2188bfb72d914965680be",
|
||||
"i686-unknown-linux-musl-0.7.0": "bfad15225152d9fa8769731b35dd53e0b39cba045900b6d43f90e655652af5b8",
|
||||
"powerpc64-unknown-linux-gnu-0.7.0": "91cfac9b5a9ba844c3ba90944e00bfb79da2983b7c6306bdb054c75ab3fea0fe",
|
||||
"powerpc64le-unknown-linux-gnu-0.7.0": "d690793c993a1a03049b7e7f3f0e41c94ba2c45b0155bdde917d550ecd4ee02d",
|
||||
"s390x-unknown-linux-gnu-0.7.0": "429ffee0dddd8c0c59e246fb89bef721d1ed22a4c051925d7dfafcfc7dce464f",
|
||||
"x86_64-apple-darwin-0.7.0": "dc5037f3ffbf8074b3ee63de7a73aa57421b0da0837a478e26317424dbab16f3",
|
||||
"x86_64-pc-windows-msvc-0.7.0": "62836c9d6e3f346d06c45fee4109be21ca9d1df8d087472dcc8d51815f182332",
|
||||
"x86_64-unknown-linux-gnu-0.7.0": "ca1e8196672bf04ccb926519f2071208a8d6c0ce02fb65bc7d0a85be1b684b0f",
|
||||
"x86_64-unknown-linux-musl-0.7.0": "08e1bb8fdea2c6d5edbe40ab1651de097b884020056c0925a9973582ff669d04",
|
||||
"aarch64-apple-darwin-0.6.17": "e686c73b9314c77a36a6a4c9f94b07c001f0c9157c50c63c764941141c0d0088",
|
||||
"aarch64-pc-windows-msvc-0.6.17": "3a9468e90df970f75759da6caed7dfde2816e0f3842031235c3835fc0c4e7d09",
|
||||
"aarch64-unknown-linux-gnu-0.6.17": "6fb716c36e8ca9cf98b7cb347b0ced41679145837eb22890ee5fa9d8b68ce9f5",
|
||||
"aarch64-unknown-linux-musl-0.6.17": "98750f5c0cd9eb520799d10649efb18441b616150f07e6c1125f616a3fd137e8",
|
||||
"arm-unknown-linux-musleabihf-0.6.17": "649d8d0f37e8365af5aaa012b09dd083d6e71018e569a4d2e78316d5013f18a7",
|
||||
"armv7-unknown-linux-gnueabihf-0.6.17": "efc12955d7a6120ea0be2de5ee03dbb33d0d7d9de9dbe0dce560514f2ee129d3",
|
||||
"armv7-unknown-linux-musleabihf-0.6.17": "0661d97df8262ef83ccdc6a55ed101abfe8f1cf1ff1be879d9b0d7d1e894c970",
|
||||
"i686-pc-windows-msvc-0.6.17": "56dea6c98e1606e95445e77177d7e3cd49bb3d1a63c81b11fe49bf733adb62a2",
|
||||
"i686-unknown-linux-gnu-0.6.17": "4bc37f8303a4a5aae1c309f08166884027f325b6872c418cfbaa2cf20a2b2ac5",
|
||||
"i686-unknown-linux-musl-0.6.17": "8ec08cca0806a9205ccf5758258c617b57e413b33275bcd861fca363e0eaddf7",
|
||||
"powerpc64-unknown-linux-gnu-0.6.17": "d33b70ab206e1ed0663e755506a11db3776787012bfe9d2b2138a90942f506be",
|
||||
"powerpc64le-unknown-linux-gnu-0.6.17": "cd91a579850fc45d3b786a654a2c0343836f007929b2e35de9606082eec5361f",
|
||||
"s390x-unknown-linux-gnu-0.6.17": "3c753a9d3485bbac23403a0b41a9e70ceeb586f3b4df891ced7ed27d4c6c542b",
|
||||
"x86_64-apple-darwin-0.6.17": "61e9bdc02aacdb994da6ea2a477b11b34c23fc09203237aeee8d3817daab012d",
|
||||
"x86_64-pc-windows-msvc-0.6.17": "32882cf98f646cafca003e7a7c471b7ff4ba977b681c9fa3b12cf908ba64af82",
|
||||
"x86_64-unknown-linux-gnu-0.6.17": "720ec28f7a94aa8cd91d3d57dec1434d64b9ae13d1dd6a25f4c0cdb837ba9cf6",
|
||||
"x86_64-unknown-linux-musl-0.6.17": "28bd6b50be068cc09d8a46b76f8c4b72271d471c6673a5bdb47793622e62224d",
|
||||
"aarch64-apple-darwin-0.6.16": "2b1ea0d5cf27375738f5f0f229587bc3590c0f501cb00bc48133a3d122d28364",
|
||||
"aarch64-pc-windows-msvc-0.6.16": "5abca187b8aecbdffef7547cb39a527168e4cb93d8d2e4ce14271f5831a4d902",
|
||||
"aarch64-unknown-linux-gnu-0.6.16": "a82f96ab5f285825f9acee6ac1563683c4940d80df2f08549cad43d37c7ba4a7",
|
||||
"aarch64-unknown-linux-musl-0.6.16": "ae3f793c62fe6ced80483d6c78cb49f06a01088bc5d86f1446a9b5988b2acecc",
|
||||
"arm-unknown-linux-musleabihf-0.6.16": "91f7f5a4eb97b7983a8e5421d5bfea8802064422ce2f535055f373726eb0aa9a",
|
||||
"armv7-unknown-linux-gnueabihf-0.6.16": "a4ffe043952bf4e757a5ca0f546bb83b055b6ee0646dd5c4f5e5f13dbc5ee8f8",
|
||||
"armv7-unknown-linux-musleabihf-0.6.16": "0237c8d9914e0d9fd2f022d6d5f91ce392d13e0ccbb7fa7ebe601296a67c3d6c",
|
||||
"i686-pc-windows-msvc-0.6.16": "f5c6400f07db2014b2b0c66770e1125fa70efe4dd99cc8351838bed0045c34f8",
|
||||
"i686-unknown-linux-gnu-0.6.16": "f46f89efcc599a6695e8378a1201e62cd4afb9a4438d65a89098ab11201f84ab",
|
||||
"i686-unknown-linux-musl-0.6.16": "afe69380a9d3592a87893d6bdc11ff33e4180b98f1e1fd4e626c0307d7598914",
|
||||
"powerpc64-unknown-linux-gnu-0.6.16": "bf455747580dbbf76cbcf616f67f825c40bd1bdec20c9ff993e03485f9eaad44",
|
||||
"powerpc64le-unknown-linux-gnu-0.6.16": "508ec561b1740a551d2b33e96671e0e8435a1bcc0e97080f3d7ba88a096bd360",
|
||||
"s390x-unknown-linux-gnu-0.6.16": "e25c5527826524f51f114388bff47871bf1ca67badbfd72d45427bdba4b46794",
|
||||
"x86_64-apple-darwin-0.6.16": "ce512b5e40a8ad2916a46df2bdba729d5541e4b3649a09aaddff6e525be012e4",
|
||||
"x86_64-pc-windows-msvc-0.6.16": "f1b4c24ec602b6c0b06b6bc64aa447bbe4cf313e93fbec326741961e80ffa8b7",
|
||||
"x86_64-unknown-linux-gnu-0.6.16": "e9ef28b675df68978a60f87192fb8c730b8bfca9bef42b121686b218ea0f6542",
|
||||
"x86_64-unknown-linux-musl-0.6.16": "25024557931d04cc34f80b818c7547c9c62b762ec6df807e30cb52f383fa2615",
|
||||
"aarch64-apple-darwin-0.6.15": "1c5b25f75c6438b6910dbc4c6903debe53f31ee14aee55d02243dfe7bf7c9f72",
|
||||
"aarch64-pc-windows-msvc-0.6.15": "317fe0b29e647aad1e9f02ffe764dcbbc6e2ef189f018c81b673884173ab98ba",
|
||||
"aarch64-unknown-linux-gnu-0.6.15": "3bf650aec162157b7e01461f41c2a9797366b6043452c6e7035c6c926d0a585b",
|
||||
"aarch64-unknown-linux-musl-0.6.15": "183cebae8c9d91bbd48219f9006a5c0c41c90a075d6724aec53a7ea0503c665a",
|
||||
"arm-unknown-linux-musleabihf-0.6.15": "d83c76e130ffb25fb6a4ba8ea5870207d810190733a14ae87084c63a417912f6",
|
||||
"armv7-unknown-linux-gnueabihf-0.6.15": "d661ec44e5fc7553cd8dd5ad5f48848c5a4d5279ba0df0036c0e2422ec9f312b",
|
||||
"armv7-unknown-linux-musleabihf-0.6.15": "6fc86a829965362f99602c47627b269c9b676731586a60ca5bb9d6069677938d",
|
||||
"i686-pc-windows-msvc-0.6.15": "7f15e3377e94fac882b33465cb8cbb24705f5c8d63d9d65c6f1b0816c1d30a0b",
|
||||
"i686-unknown-linux-gnu-0.6.15": "bfedd03be9f579a9bc10e6c25176017e514cca0500cfb9bba43794387a577661",
|
||||
"i686-unknown-linux-musl-0.6.15": "82bf8666c0a57514af4e5403f162314b710e1682e1065ab71a845ebb5d8db0b7",
|
||||
"powerpc64-unknown-linux-gnu-0.6.15": "6e9795344d61ee9ac497d6e03a447d808f2aab13925f30e44c00638abec57deb",
|
||||
"powerpc64le-unknown-linux-gnu-0.6.15": "e38f13284ed8b645b87ef07c8b549d1f1a5b746aa0411c2115dcd5cda0da13fc",
|
||||
"s390x-unknown-linux-gnu-0.6.15": "416f61249b330ea9735cda0c866c9460f87111bc9d4e040c98916fda6a45be09",
|
||||
"x86_64-apple-darwin-0.6.15": "97adf61511c0f6ea42c090443c38d8d71116b78ae626363f9f149924c91ae886",
|
||||
"x86_64-pc-windows-msvc-0.6.15": "10c75d566db1447f3bdcbcb31d6598e4b5f4ea638be5d8b73a7350929389512b",
|
||||
"x86_64-unknown-linux-gnu-0.6.15": "85d98ef282cdbfcb4020922f0c12421ecca4130f0a4570d3b827a15ffd544acc",
|
||||
"x86_64-unknown-linux-musl-0.6.15": "78289c93836cb32b8b24e3216b5b316e7fdf483365de2fc571844d308387e8a4",
|
||||
"aarch64-apple-darwin-0.6.14": "4ea4731010fbd1bc8e790e07f199f55a5c7c2c732e9b77f85e302b0bee61b756",
|
||||
"aarch64-pc-windows-msvc-0.6.14": "7b0b3367c4060c9b47b961201ceb4252e97496c890ad1bd13c664bf5b0744d57",
|
||||
"aarch64-unknown-linux-gnu-0.6.14": "ea25597354af186bdd55aee0de431e16d45d82951a4f41f065a8e4dc27885265",
|
||||
"aarch64-unknown-linux-musl-0.6.14": "94e22c4be44d205def456427639ca5ca1c1a9e29acc31808a7b28fdd5dcf7f17",
|
||||
"arm-unknown-linux-musleabihf-0.6.14": "de00f51ff804c145f9a0a13ead54e1ed08d317fac690477312cf9430ed43e62e",
|
||||
"armv7-unknown-linux-gnueabihf-0.6.14": "d73b09f23c7056b3b5318edf670ebc8d2eac5adfdd4f4ee46796723298f21e18",
|
||||
"armv7-unknown-linux-musleabihf-0.6.14": "f7844b89c77d1d57ca28a25b6b2e16a5bb3605ccf1dd9dc17ce641a2fa2d8b29",
|
||||
"i686-pc-windows-msvc-0.6.14": "4e9f9ccc229a03d923213b8b4c7b373cd8bb941984f421de17fe9dac3d5491e9",
|
||||
"i686-unknown-linux-gnu-0.6.14": "32c967c3dd80ecc9006a30be1a9c8ec77d63aa8080b78787d4ec0f79db12dbe4",
|
||||
"i686-unknown-linux-musl-0.6.14": "c5a484d15049fd2b8ea9a7bbf0f968614819a7eda769f35c202e01e1904f6458",
|
||||
"powerpc64-unknown-linux-gnu-0.6.14": "79abdc4c6e566e98067dc4b612f1fca5cb384b964553a0b8e0f5c40885ff3db8",
|
||||
"powerpc64le-unknown-linux-gnu-0.6.14": "2eae20cf66ba5de1b7ac180458e4f2a889cd705637626e01c400f73f07dd0491",
|
||||
"s390x-unknown-linux-gnu-0.6.14": "a51f8319b2b334c1392d3927e925b46c62ac584eb35b944d384f0af227cf0f36",
|
||||
"x86_64-apple-darwin-0.6.14": "1d8ecb2eb3b68fb50e4249dc96ac9d2458dc24068848f04f4c5b42af2fd26552",
|
||||
"x86_64-pc-windows-msvc-0.6.14": "93b29fc234758e381df461d7638ff73d0f08bdf3a0dc37923b1ee0b9e442ca3f",
|
||||
"x86_64-unknown-linux-gnu-0.6.14": "0aaf451c391d3913823bfb8ed354b446dcfd0553a32ed8266611e4181c61fd51",
|
||||
"x86_64-unknown-linux-musl-0.6.14": "0cac4df0cb3457b154f2039ae471e89cd4e15f3bd790bbb3cb0b8b40d940b93e",
|
||||
"aarch64-apple-darwin-0.6.13": "0ddb8458634cc3a02799b6da839cb546dff9dabc6f3394912c48dd479016683b",
|
||||
"aarch64-pc-windows-msvc-0.6.13": "3f3d6aa73b4859469fa3ad7efca3e5d0dba1112292c91d5c5f740983f16a8d8a",
|
||||
"aarch64-unknown-linux-gnu-0.6.13": "ac0c723663ff76183077cc9aa91dcd0b5100081d87f93e1ba482930e0a584e90",
|
||||
"aarch64-unknown-linux-musl-0.6.13": "379a5c48f6e3eb32c2d16022c0a4fc10cdfcca3543b75e2e9d819d62fead6a75",
|
||||
"arm-unknown-linux-musleabihf-0.6.13": "ba1f630a299cfdd456b93a8b41e20bd2ad37a86aac884aca4efd722a62a26bb8",
|
||||
"armv7-unknown-linux-gnueabihf-0.6.13": "1d55eb46510db8f169bb9be6fbd3a6ff34aa52340dff5eda0acdcb1b834e8bee",
|
||||
"armv7-unknown-linux-musleabihf-0.6.13": "dc86e9d807ac324eed2e4a73fec341618ea288826a27143b8b695565a35f1b70",
|
||||
"i686-pc-windows-msvc-0.6.13": "08367c3a04cf4da1c3ac6784431421de1efb8584ba68b8017efcd5e889d4a2a2",
|
||||
"i686-unknown-linux-gnu-0.6.13": "2896a75940761a2ce90a8a650da02d6766de0b9990dfa6a99cd94fd3d1e6c530",
|
||||
"i686-unknown-linux-musl-0.6.13": "29e64ef33ff2d7dcbbb3167bc7241de3b9d258fb39a6a992dfc847f1b968d32d",
|
||||
"powerpc64-unknown-linux-gnu-0.6.13": "cdd2ba090ce9e3ed66a94bfe95b45a584bd5b9e45626836993f1279290b1a95e",
|
||||
"powerpc64le-unknown-linux-gnu-0.6.13": "88830c596ef2a875a0c73aefda48e8398fdafe4eb4acecbee0b44a7995e9dc13",
|
||||
"s390x-unknown-linux-gnu-0.6.13": "49e494038871006e36b404f0559f1c831b3e68692986b3c67510a675028c9696",
|
||||
"x86_64-apple-darwin-0.6.13": "ed240854d97f7b234082f5a0ce734869a4310d86d46a819860bbce6d7df8b2eb",
|
||||
"x86_64-pc-windows-msvc-0.6.13": "19bb08768fd3b8664068cc45faa633ee110bfef4215e560bc1e5833b1bc6c30e",
|
||||
"x86_64-unknown-linux-gnu-0.6.13": "f6788fd45a25ea1033a671eaa9ece6c9b004ce5c9cf09552effadde567a7d7a5",
|
||||
"x86_64-unknown-linux-musl-0.6.13": "779560faf6a21b5a6dbc2664c2dfbde2b9387b1f486c9197a9f4d143a3b66875",
|
||||
"aarch64-apple-darwin-0.6.12": "fab8db5b62da1e945524b8d1a9d4946fcc6d9b77ec0cab423d953e82159967ac",
|
||||
"aarch64-pc-windows-msvc-0.6.12": "d72d8cf0633dc40198a868e906442bc6bacfa38c3b807c26bcbf3fc364af5d96",
|
||||
"aarch64-unknown-linux-gnu-0.6.12": "d867553e5ea19f9cea08e564179d909c69ecfce5e7e382099d1844dbf1c9878c",
|
||||
"aarch64-unknown-linux-musl-0.6.12": "e999ae0679bfabe8a1e6343b8b204a531a6c851e315caff9b326f34182884af6",
|
||||
"arm-unknown-linux-musleabihf-0.6.12": "da8d0700ec5e0cb0b2f20cc20834b48d5927197042e49bea5eef7fd139d72fe9",
|
||||
"armv7-unknown-linux-gnueabihf-0.6.12": "b5dedaca5fbb46f412c5426102eec7c9f10003a67dd41b943232e4a2b6a5cc16",
|
||||
"armv7-unknown-linux-musleabihf-0.6.12": "8fb6c1b16f8b3c2aa4073cd02729432f9afd9389f110850aed8228464fa37398",
|
||||
"i686-pc-windows-msvc-0.6.12": "23431d1a798aee234bd7b271bce306fbd760c91d98e19a314ddd890a065aff83",
|
||||
"i686-unknown-linux-gnu-0.6.12": "d0774e847de6c0fe6a9c3aba44b7d400261d01171ae32da60c472eb410691785",
|
||||
"i686-unknown-linux-musl-0.6.12": "02e4503b244cbb18d2fa14b3a7e9433fe437e767ffcbfc39c5f0fdff9b8dd65e",
|
||||
"powerpc64-unknown-linux-gnu-0.6.12": "046b43cf8af74d8892e9559e8b3181ec1e4045a4910a4dfdd00b110694c93188",
|
||||
"powerpc64le-unknown-linux-gnu-0.6.12": "e61ba76fa6dfd6041c985881c024385c31d544d6a182d1a050da7594438f073f",
|
||||
"s390x-unknown-linux-gnu-0.6.12": "6eae67730009eb4f8ad7a4e5733ab69b6c4dcb21b482f4567015e3e6d0729357",
|
||||
"x86_64-apple-darwin-0.6.12": "5b6ee08766de11dc49ee9e292333e8b46ef2ceaaa3ebb0388467e114fca2ed8c",
|
||||
"x86_64-pc-windows-msvc-0.6.12": "30fdf26c209f0cb7c97d3b08a26ab4e78ce5ae0e031b88798cbaccc0f24f452b",
|
||||
"x86_64-unknown-linux-gnu-0.6.12": "eec3ccf53616e00905279a302bc043451bd96ca71a159a2ac3199452ac914c26",
|
||||
"x86_64-unknown-linux-musl-0.6.12": "25f055a556576003fefc0f5fd213bf3c6df1824d4c7fc35e6361fbecc420139f",
|
||||
"aarch64-apple-darwin-0.6.11": "a5b14a92448b908d1a5415f2a49522010fef8972695e2f7bbb4e5c5f88024573",
|
||||
"aarch64-pc-windows-msvc-0.6.11": "858e523d9498a332aab093852c30c524bbd94622137dd6f773d19da14ac920b4",
|
||||
"aarch64-unknown-linux-gnu-0.6.11": "5384098938893f060b8b47e606918c271a419b52eedda1546a4d6febae4b0c06",
|
||||
"aarch64-unknown-linux-musl-0.6.11": "de20c247ef6a6bc0948e611ace3f3f321c098d7bf75b737f169c1db06b4f4d69",
|
||||
"arm-unknown-linux-musleabihf-0.6.11": "76a1558e2cb8d0e5e646a0cf8a204b53d3779221bea3af50b204c8d28532daa7",
|
||||
"armv7-unknown-linux-gnueabihf-0.6.11": "5abacc141dabb6071fcc3a19a301874083c6cc4a36d6eb6b0654a276efbfd33b",
|
||||
"armv7-unknown-linux-musleabihf-0.6.11": "cf05ab1fe44494cc490ec5c29578e200a3c195b395e67fe62d45be9a4c897d06",
|
||||
"i686-pc-windows-msvc-0.6.11": "331e94f1db12fa92266f764f63586d8c18e6cea5d37d430af2eb7673f108e874",
|
||||
"i686-unknown-linux-gnu-0.6.11": "b9d193f28736c3166f533c61fc4a2e8e8a4c7961c6bd46e17c3db66f750ef4b6",
|
||||
"i686-unknown-linux-musl-0.6.11": "dfa735baacc13ba9962fb9b7167599407aa733bfc7853824a785773769c58ed5",
|
||||
"powerpc64-unknown-linux-gnu-0.6.11": "b79060dc0726a1fc8a4458a80fb1ce0489198dd3ad334fe54bb7926e473750ed",
|
||||
"powerpc64le-unknown-linux-gnu-0.6.11": "ebd219d0b5f0a60a584ebb88e1379c616e746cabaaf79608d54be5919d742ee3",
|
||||
"s390x-unknown-linux-gnu-0.6.11": "3b5563127303c16e0531c1fd13356763decc0ea91b860eb5f63c3108a275aa2c",
|
||||
"x86_64-apple-darwin-0.6.11": "099b163ce5098558ccdc1df54bdcf8b02eb11364458095e95f8dd54ff8984d96",
|
||||
"x86_64-pc-windows-msvc-0.6.11": "292ade13fc2e1530d0021ec7fd42526df58a8436974b8a5b829685db856e667e",
|
||||
"x86_64-unknown-linux-gnu-0.6.11": "c19b3be7ac26f8b211f7a5f07f01a77fd4d2b6205ff257790770a585f7f5bda4",
|
||||
"x86_64-unknown-linux-musl-0.6.11": "23aabfa5d0bde26d151eaf31a392595a5c88e74e0bc804351b02fbb0328f8aaa",
|
||||
"aarch64-apple-darwin-0.6.10": "82bf2cb3b34ab504eb08486093c9e97cfaf5299da4d4a60e14b6642a2a2e9b8e",
|
||||
"aarch64-pc-windows-msvc-0.6.10": "afc3c1ed78273843417b781fd30b263ba417dcfd05ef9a65be50eec7aa500f20",
|
||||
"aarch64-unknown-linux-gnu-0.6.10": "527f0adc3bcf841a3a0df0d3fef8db277b8afffac588d80948638719b611a8c2",
|
||||
"aarch64-unknown-linux-musl-0.6.10": "36c36aafdf4b2fb8040d0b8db2eaa4b3f44260a689a6e789bc1cd95689e890bc",
|
||||
"arm-unknown-linux-musleabihf-0.6.10": "abef3136f0da26055368df298f3379bbd0d6776ba7e7a0c12275e403136408d8",
|
||||
"armv7-unknown-linux-gnueabihf-0.6.10": "8b776d606b3b9566ae659ab8b2c767e771f1f3e2e632b4c634ff80b26796795f",
|
||||
"armv7-unknown-linux-musleabihf-0.6.10": "d5af6869e1f69753e9ac2b8bacadd6356f84f373b0f6edfda60dc85c194d3a6b",
|
||||
"i686-pc-windows-msvc-0.6.10": "ff6c580750d6bdbca1cb7c64601ebf0f079cc6d8ab79df6472e5fd61e4f89cf9",
|
||||
"i686-unknown-linux-gnu-0.6.10": "978e8d7b495251d842250045a3f15c59e9fe148d09538aa322d4c045db632cc3",
|
||||
"i686-unknown-linux-musl-0.6.10": "432c0609dec5d196f516639de8845fdf9393b4591978a927f6b2bfa92edd0220",
|
||||
"powerpc64-unknown-linux-gnu-0.6.10": "ec4285062cc4bec8aa7f95efba227c4ee3301503938735902fdd896c3ef8ec7f",
|
||||
"powerpc64le-unknown-linux-gnu-0.6.10": "d1dcbdd11b133bcce003aa48be6710a56f1c938eff496eb021dbeac8c09b5c2d",
|
||||
"s390x-unknown-linux-gnu-0.6.10": "4a68f92213c567a8d2bc22ccc10a328f3dd851967f315c517fc1eb52c8f58ed5",
|
||||
"x86_64-apple-darwin-0.6.10": "ddd27652b1a4053b848e35c348500841a8fde38e8ac2b37233464ab91e8f7788",
|
||||
"x86_64-pc-windows-msvc-0.6.10": "c41c4f34782558d3263f7a51e4efd053bc4d074dc46fefa574c4fdb2ed0a00e1",
|
||||
"x86_64-unknown-linux-gnu-0.6.10": "d58885f055fdb726d12cdd1cc54119432a0e4557c8e8ba04ca1d625058b98832",
|
||||
"x86_64-unknown-linux-musl-0.6.10": "1bdeaa0396405a30c4bff35b2d7c9df832836da50eec132ccc0d92657a336c4c",
|
||||
"aarch64-apple-darwin-0.6.9": "a6841484affb3c123313df98bcd8932208bdfb3d9d90a72aec274e8a696caa88",
|
||||
"aarch64-pc-windows-msvc-0.6.9": "bdb7e5eebaa5bb807f2c665b909dbba4bce6f23adf774134924a4a3c6acd4e72",
|
||||
"aarch64-unknown-linux-gnu-0.6.9": "f5032ad47151c7906c0fb25f7c3b00a85ab0bfed2170cbc444e79c438799095b",
|
||||
"aarch64-unknown-linux-musl-0.6.9": "4de15999c38a0e57a3708eccb1fe3295b3d1c0c69410029b16e5e42452d232a9",
|
||||
"arm-unknown-linux-musleabihf-0.6.9": "1a228a1cc86689894c771d0b4635b74708db416c240cfbdc36ddd87c90ae0eb0",
|
||||
"armv7-unknown-linux-gnueabihf-0.6.9": "a9a307d6b3e6a3500aa0102ff7b03cccebe2a9af40130df97382688574afc637",
|
||||
"armv7-unknown-linux-musleabihf-0.6.9": "2cf77dcd0e73b323c5f10120452f6ef34191cab3bb8061ee01d5e62706af7493",
|
||||
"i686-pc-windows-msvc-0.6.9": "709d6d7e6d0e8244b4d51ac9ef0f373d2ac2cb20570e8bdf71c84ccab8c8cba0",
|
||||
"i686-unknown-linux-gnu-0.6.9": "4000a6fd98af6ed84c9a7c2f06019cab5f4a8cfa4e5a9c37b6984e4c7cae1df2",
|
||||
"i686-unknown-linux-musl-0.6.9": "d227586d574264922f344cf98b0f469335ce52d3443619d15448140b44ff8204",
|
||||
"powerpc64-unknown-linux-gnu-0.6.9": "f12b8dbc8ed1ca24dfadbd3969730ab9c2cf797e117cdb508732f49b9fa4b620",
|
||||
"powerpc64le-unknown-linux-gnu-0.6.9": "451cd936bd35405c1cf2d0b63c975d5490e2646f1516b9bcb27af66688946903",
|
||||
"s390x-unknown-linux-gnu-0.6.9": "e25ec6762b68383abfbecb1ec24c1eda52a64dc67866021280c649ef3813726f",
|
||||
"x86_64-apple-darwin-0.6.9": "96eb2bfbe2bb3b74836aa5d6f563ae21bbb9e071148adfda1e67000735a020a3",
|
||||
"x86_64-pc-windows-msvc-0.6.9": "4d959abc2517c38b5527e3368b6755d66ecbb85679a9b2b34b7a78796c6cf7f8",
|
||||
"x86_64-unknown-linux-gnu-0.6.9": "001b87a0c2ea642a3c75a98c6af3e8528aa473d560e653cf213efcc9aaa4a028",
|
||||
"x86_64-unknown-linux-musl-0.6.9": "2b2914da53f9412a1aad7457cee424680da037e6a49c378365c3b5ff5ef0b926",
|
||||
"aarch64-apple-darwin-0.6.8": "e4f83fc42d9735512198c2d86a6fc136e2f5a2b59b3ccc4f104018ed07465499",
|
||||
"aarch64-pc-windows-msvc-0.6.8": "5619c7fbc026544c8cc77ade994ef79e799fc521a050268172aa47826f364834",
|
||||
"aarch64-unknown-linux-gnu-0.6.8": "3ffcaa4f4dba917fa58484a1c3dcb96a958a4baca0204e9c10a4799f81b9ee2f",
|
||||
"aarch64-unknown-linux-musl-0.6.8": "c1d4504ee47d8577761989c9daa4bbd1b93e5d04056215584a0415ad8738b0f9",
|
||||
"arm-unknown-linux-musleabihf-0.6.8": "7280cb1425787faf335bed8e9f2d575bcb179e1b19489ee7984c546d6ef07fff",
|
||||
"armv7-unknown-linux-gnueabihf-0.6.8": "6753d79f3f8e1556a855912f0f859b039b67e591332f6ee794e2c51f2eda1658",
|
||||
"armv7-unknown-linux-musleabihf-0.6.8": "ba73e8503d3ded103cc1fd946bd307f5b986e096d673296eb616f2edb6cf23aa",
|
||||
"i686-pc-windows-msvc-0.6.8": "c28ab471753368b79887fd5cbd12b002704fa7fb2e96b0f5a98277e4f1d8572a",
|
||||
"i686-unknown-linux-gnu-0.6.8": "df60b14b5b6bf29c75c06d8d04b0dd358070bf91f19c6f23afaf738fd05fa271",
|
||||
"i686-unknown-linux-musl-0.6.8": "b1e92aabb97fa356e8f0d4b61f698e0f372b6a5582df949ffbcc60565e7a9c7a",
|
||||
"powerpc64-unknown-linux-gnu-0.6.8": "a18998d2f8f426b1ccf1f6c7ec279dd35ccc1cbe76d90b185e453e6b199df245",
|
||||
"powerpc64le-unknown-linux-gnu-0.6.8": "0d7460fe945a7ed48a9236d50f683a5eb937f22eaa605f4e6eb6a5f9cdf3676e",
|
||||
"s390x-unknown-linux-gnu-0.6.8": "127a7d547be5029b29532f937822332fed690e135d0a97ec9574d43904a4622a",
|
||||
"x86_64-apple-darwin-0.6.8": "e069e79f6e0c430d7beaca3025b398980357b8b5c6faa7191032e20d5ee75970",
|
||||
"x86_64-pc-windows-msvc-0.6.8": "d31c3d01ca3e1a75e15ed9514c135239770b6b40a99cae716661e28e433aa495",
|
||||
"x86_64-unknown-linux-gnu-0.6.8": "2378ea0122bd56a11ee7ae2ad6116c1f22f4657c03b9efb78ac150236bf7974c",
|
||||
"x86_64-unknown-linux-musl-0.6.8": "58902317e1872994b5e707c3c77f4cbf3010104d4b07990a5110bbc09f3e9b8a",
|
||||
"aarch64-apple-darwin-0.6.7": "1a4d04477893c215e3def30149208fabe58a70d031388684d0125f553e3cd74f",
|
||||
"aarch64-pc-windows-msvc-0.6.7": "1c6de0c79ad35baadb61f6be7a014f3114a320809868b4ccb09c4d16b7118b48",
|
||||
"aarch64-unknown-linux-gnu-0.6.7": "b64c4ec32d55bd8e8b726b3162be0dfb3c117c3ca4cd798862497d33fe68e7b9",
|
||||
"aarch64-unknown-linux-musl-0.6.7": "df9e1b9530ad63085b66936e65cca107acc98197856e2ac22b896b1ab3936ac4",
|
||||
"arm-unknown-linux-musleabihf-0.6.7": "03a4b36d50fe4f0e50845559a524ed75610762072075c411f7ed84479e6c736d",
|
||||
"armv7-unknown-linux-gnueabihf-0.6.7": "a877f7697375f6b19d3b537c5152cbb3d86430120b20d957cfa7c084e6b79d6c",
|
||||
"armv7-unknown-linux-musleabihf-0.6.7": "e337a7dd6b86c842dac78041acfa9d9402662d5a8cede1d0ae694c9c17057162",
|
||||
"i686-pc-windows-msvc-0.6.7": "33002d9f1dab894f48254f43b4b882f6c88078d70ace883ed29fcde82616bbb0",
|
||||
"i686-unknown-linux-gnu-0.6.7": "b5f04a274f96aa41e8094b1c4355632f6caa9dfb7e62a45908950ca1c5d3fb38",
|
||||
"i686-unknown-linux-musl-0.6.7": "bd56de94a3ffac99a06fc0d37e7cb45e1c35ba275924b5ed502da833dc712d12",
|
||||
"powerpc64-unknown-linux-gnu-0.6.7": "57c668908878e1b12c726efc0439cd609697892a22e1e43c0ebb520ef2995a27",
|
||||
"powerpc64le-unknown-linux-gnu-0.6.7": "abe3004c0fc468e89ddcf8490991c7fc83abc9d9f6e6a29c59473541265e8bd5",
|
||||
"s390x-unknown-linux-gnu-0.6.7": "b6c60b7b907f871880a9be43294b02f84be5ec3187b1a16d7705f5beb622e01a",
|
||||
"x86_64-apple-darwin-0.6.7": "680be39f40bf00a8c3a6776e9ddaa9c3c18ef2efbb0c1a9a854b333660ca8678",
|
||||
"x86_64-pc-windows-msvc-0.6.7": "11b902b07e98331cef0d648c182c6aa1f279cde688c4411eb9153dc957d48f90",
|
||||
"x86_64-unknown-linux-gnu-0.6.7": "601c2b1147117c4471a154b4cebbdb31c818105f796d5f8115fe42d2526689c8",
|
||||
"x86_64-unknown-linux-musl-0.6.7": "a31bd6916eff780a7a44c84c194f4f8b70a8250b9175b3839ce2d4403fd735de",
|
||||
"aarch64-apple-darwin-0.6.6": "d0fb047593122746c7529960f8efd5d7d10d2cb230302f71158e9765ad37727b",
|
||||
"aarch64-pc-windows-msvc-0.6.6": "6bb6d5a28e8a181fd5b0046778b97a75c3ec1c5117a058e1961e0f6df9ee2925",
|
||||
"aarch64-unknown-linux-gnu-0.6.6": "37a543598cdb7d8fc9b74e6b1fe1fdf8b9a279c6137c7ff8396a88f69ec7a43c",
|
||||
@@ -62386,111 +61586,7 @@ async function downloadAssetContent(downloadUrl) {
|
||||
|
||||
/***/ }),
|
||||
|
||||
/***/ 4000:
|
||||
/***/ (function(__unused_webpack_module, exports, __nccwpck_require__) {
|
||||
|
||||
"use strict";
|
||||
|
||||
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
||||
if (k2 === undefined) k2 = k;
|
||||
var desc = Object.getOwnPropertyDescriptor(m, k);
|
||||
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
||||
desc = { enumerable: true, get: function() { return m[k]; } };
|
||||
}
|
||||
Object.defineProperty(o, k2, desc);
|
||||
}) : (function(o, m, k, k2) {
|
||||
if (k2 === undefined) k2 = k;
|
||||
o[k2] = m[k];
|
||||
}));
|
||||
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
||||
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
||||
}) : function(o, v) {
|
||||
o["default"] = v;
|
||||
});
|
||||
var __importStar = (this && this.__importStar) || (function () {
|
||||
var ownKeys = function(o) {
|
||||
ownKeys = Object.getOwnPropertyNames || function (o) {
|
||||
var ar = [];
|
||||
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
||||
return ar;
|
||||
};
|
||||
return ownKeys(o);
|
||||
};
|
||||
return function (mod) {
|
||||
if (mod && mod.__esModule) return mod;
|
||||
var result = {};
|
||||
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
||||
__setModuleDefault(result, mod);
|
||||
return result;
|
||||
};
|
||||
})();
|
||||
Object.defineProperty(exports, "__esModule", ({ value: true }));
|
||||
exports.getLatestKnownVersion = getLatestKnownVersion;
|
||||
exports.getDownloadUrl = getDownloadUrl;
|
||||
exports.updateVersionManifest = updateVersionManifest;
|
||||
const node_fs_1 = __nccwpck_require__(3024);
|
||||
const core = __importStar(__nccwpck_require__(7484));
|
||||
const semver = __importStar(__nccwpck_require__(9318));
|
||||
const fetch_1 = __nccwpck_require__(3385);
|
||||
const node_path_1 = __nccwpck_require__(6760);
|
||||
const localManifestFile = (0, node_path_1.join)(__dirname, "..", "..", "version-manifest.json");
|
||||
async function getLatestKnownVersion(manifestUrl) {
|
||||
const manifestEntries = await getManifestEntries(manifestUrl);
|
||||
return manifestEntries.reduce((a, b) => semver.gt(a.version, b.version) ? a : b).version;
|
||||
}
|
||||
async function getDownloadUrl(manifestUrl, version, arch, platform) {
|
||||
const manifestEntries = await getManifestEntries(manifestUrl);
|
||||
const entry = manifestEntries.find((entry) => entry.version === version &&
|
||||
entry.arch === arch &&
|
||||
entry.platform === platform);
|
||||
return entry ? entry.downloadUrl : undefined;
|
||||
}
|
||||
async function getManifestEntries(manifestUrl) {
|
||||
let data;
|
||||
if (manifestUrl !== undefined) {
|
||||
core.info(`Fetching manifest-file from: ${manifestUrl}`);
|
||||
const response = await (0, fetch_1.fetch)(manifestUrl, {});
|
||||
if (!response.ok) {
|
||||
throw new Error(`Failed to fetch manifest-file: ${response.status} ${response.statusText}`);
|
||||
}
|
||||
data = await response.text();
|
||||
}
|
||||
else {
|
||||
core.info("manifest-file not provided, reading from local file.");
|
||||
const fileContent = await node_fs_1.promises.readFile(localManifestFile);
|
||||
data = fileContent.toString();
|
||||
}
|
||||
return JSON.parse(data);
|
||||
}
|
||||
async function updateVersionManifest(manifestUrl, downloadUrls) {
|
||||
const manifest = [];
|
||||
for (const downloadUrl of downloadUrls) {
|
||||
const urlParts = downloadUrl.split("/");
|
||||
const version = urlParts[urlParts.length - 2];
|
||||
const artifactName = urlParts[urlParts.length - 1];
|
||||
if (!artifactName.startsWith("uv-")) {
|
||||
continue;
|
||||
}
|
||||
if (artifactName.startsWith("uv-installer")) {
|
||||
continue;
|
||||
}
|
||||
const artifactParts = artifactName.split(".")[0].split("-");
|
||||
manifest.push({
|
||||
version: version,
|
||||
artifactName: artifactName,
|
||||
arch: artifactParts[1],
|
||||
platform: artifactName.split(`uv-${artifactParts[1]}-`)[1].split(".")[0],
|
||||
downloadUrl: downloadUrl,
|
||||
});
|
||||
}
|
||||
core.debug(`Updating manifest-file: ${JSON.stringify(manifest)}`);
|
||||
await node_fs_1.promises.writeFile(manifestUrl, JSON.stringify(manifest));
|
||||
}
|
||||
|
||||
|
||||
/***/ }),
|
||||
|
||||
/***/ 7416:
|
||||
/***/ 5653:
|
||||
/***/ (function(__unused_webpack_module, exports, __nccwpck_require__) {
|
||||
|
||||
"use strict";
|
||||
@@ -62534,36 +61630,24 @@ const core = __importStar(__nccwpck_require__(7484));
|
||||
const octokit_1 = __nccwpck_require__(3352);
|
||||
const constants_1 = __nccwpck_require__(6156);
|
||||
const update_known_checksums_1 = __nccwpck_require__(6182);
|
||||
const version_manifest_1 = __nccwpck_require__(4000);
|
||||
async function run() {
|
||||
const checksumFilePath = process.argv.slice(2)[0];
|
||||
const versionsManifestFile = process.argv.slice(2)[1];
|
||||
const githubToken = process.argv.slice(2)[2];
|
||||
const github_token = process.argv.slice(2)[1];
|
||||
const octokit = new octokit_1.Octokit({
|
||||
auth: githubToken,
|
||||
auth: github_token,
|
||||
});
|
||||
const { data: latestRelease } = await octokit.rest.repos.getLatestRelease({
|
||||
const response = await octokit.paginate(octokit.rest.repos.listReleases, {
|
||||
owner: constants_1.OWNER,
|
||||
repo: constants_1.REPO,
|
||||
});
|
||||
const latestKnownVersion = await (0, version_manifest_1.getLatestKnownVersion)(undefined);
|
||||
if (semver.lte(latestRelease.tag_name, latestKnownVersion)) {
|
||||
core.info(`Latest release (${latestRelease.tag_name}) is not newer than the latest known version (${latestKnownVersion}). Skipping update.`);
|
||||
return;
|
||||
}
|
||||
const releases = await octokit.paginate(octokit.rest.repos.listReleases, {
|
||||
owner: constants_1.OWNER,
|
||||
repo: constants_1.REPO,
|
||||
});
|
||||
const checksumDownloadUrls = releases.flatMap((release) => release.assets
|
||||
const downloadUrls = response.flatMap((release) => release.assets
|
||||
.filter((asset) => asset.name.endsWith(".sha256"))
|
||||
.map((asset) => asset.browser_download_url));
|
||||
await (0, update_known_checksums_1.updateChecksums)(checksumFilePath, checksumDownloadUrls);
|
||||
const artifactDownloadUrls = releases.flatMap((release) => release.assets
|
||||
.filter((asset) => !asset.name.endsWith(".sha256"))
|
||||
.map((asset) => asset.browser_download_url));
|
||||
await (0, version_manifest_1.updateVersionManifest)(versionsManifestFile, artifactDownloadUrls);
|
||||
core.setOutput("latest-version", latestRelease.tag_name);
|
||||
await (0, update_known_checksums_1.updateChecksums)(checksumFilePath, downloadUrls);
|
||||
const latestVersion = response
|
||||
.map((release) => release.tag_name)
|
||||
.sort(semver.rcompare)[0];
|
||||
core.setOutput("latest-version", latestVersion);
|
||||
}
|
||||
run();
|
||||
|
||||
@@ -62584,17 +61668,24 @@ exports.TOOL_CACHE_NAME = "uv";
|
||||
|
||||
/***/ }),
|
||||
|
||||
/***/ 3385:
|
||||
/***/ 3352:
|
||||
/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => {
|
||||
|
||||
"use strict";
|
||||
|
||||
Object.defineProperty(exports, "__esModule", ({ value: true }));
|
||||
exports.fetch = void 0;
|
||||
exports.Octokit = exports.customFetch = void 0;
|
||||
exports.getProxyAgent = getProxyAgent;
|
||||
const core_1 = __nccwpck_require__(767);
|
||||
const plugin_paginate_rest_1 = __nccwpck_require__(3779);
|
||||
const plugin_rest_endpoint_methods_1 = __nccwpck_require__(9210);
|
||||
const undici_1 = __nccwpck_require__(6752);
|
||||
const DEFAULTS = {
|
||||
baseUrl: "https://api.github.com",
|
||||
userAgent: "setup-uv",
|
||||
};
|
||||
function getProxyAgent() {
|
||||
const httpProxy = process.env.HTTP_PROXY || process.env.http_proxy;
|
||||
const httpProxy = process.env.HTTP_PROXY || process.env.http_prox;
|
||||
if (httpProxy) {
|
||||
return new undici_1.ProxyAgent(httpProxy);
|
||||
}
|
||||
@@ -62604,36 +61695,17 @@ function getProxyAgent() {
|
||||
}
|
||||
return undefined;
|
||||
}
|
||||
const fetch = async (url, opts) => await (0, undici_1.fetch)(url, {
|
||||
const customFetch = async (url, opts) => await (0, undici_1.fetch)(url, {
|
||||
dispatcher: getProxyAgent(),
|
||||
...opts,
|
||||
});
|
||||
exports.fetch = fetch;
|
||||
|
||||
|
||||
/***/ }),
|
||||
|
||||
/***/ 3352:
|
||||
/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => {
|
||||
|
||||
"use strict";
|
||||
|
||||
Object.defineProperty(exports, "__esModule", ({ value: true }));
|
||||
exports.Octokit = void 0;
|
||||
const core_1 = __nccwpck_require__(767);
|
||||
const plugin_paginate_rest_1 = __nccwpck_require__(3779);
|
||||
const plugin_rest_endpoint_methods_1 = __nccwpck_require__(9210);
|
||||
const fetch_1 = __nccwpck_require__(3385);
|
||||
const DEFAULTS = {
|
||||
baseUrl: "https://api.github.com",
|
||||
userAgent: "setup-uv",
|
||||
};
|
||||
exports.customFetch = customFetch;
|
||||
exports.Octokit = core_1.Octokit.plugin(plugin_paginate_rest_1.paginateRest, plugin_rest_endpoint_methods_1.legacyRestEndpointMethods).defaults(function buildDefaults(options) {
|
||||
return {
|
||||
...DEFAULTS,
|
||||
...options,
|
||||
request: {
|
||||
fetch: fetch_1.fetch,
|
||||
fetch: exports.customFetch,
|
||||
...options.request,
|
||||
},
|
||||
};
|
||||
@@ -62842,14 +61914,6 @@ module.exports = require("node:net");
|
||||
|
||||
/***/ }),
|
||||
|
||||
/***/ 6760:
|
||||
/***/ ((module) => {
|
||||
|
||||
"use strict";
|
||||
module.exports = require("node:path");
|
||||
|
||||
/***/ }),
|
||||
|
||||
/***/ 643:
|
||||
/***/ ((module) => {
|
||||
|
||||
@@ -65645,8 +64709,7 @@ var NON_VARIABLE_OPTIONS = [
|
||||
"headers",
|
||||
"request",
|
||||
"query",
|
||||
"mediaType",
|
||||
"operationName"
|
||||
"mediaType"
|
||||
];
|
||||
var FORBIDDEN_VARIABLE_OPTIONS = ["query", "method", "url"];
|
||||
var GHES_V3_SUFFIX_REGEX = /\/api\/v3\/?$/;
|
||||
@@ -65784,7 +64847,7 @@ var createTokenAuth = function createTokenAuth2(token) {
|
||||
|
||||
|
||||
;// CONCATENATED MODULE: ./node_modules/@octokit/core/dist-src/version.js
|
||||
const version_VERSION = "7.0.2";
|
||||
const version_VERSION = "6.1.4";
|
||||
|
||||
|
||||
;// CONCATENATED MODULE: ./node_modules/@octokit/core/dist-src/index.js
|
||||
@@ -66069,10 +65132,8 @@ var paginatingEndpoints = [
|
||||
"GET /notifications",
|
||||
"GET /organizations",
|
||||
"GET /orgs/{org}/actions/cache/usage-by-repository",
|
||||
"GET /orgs/{org}/actions/hosted-runners",
|
||||
"GET /orgs/{org}/actions/permissions/repositories",
|
||||
"GET /orgs/{org}/actions/runner-groups",
|
||||
"GET /orgs/{org}/actions/runner-groups/{runner_group_id}/hosted-runners",
|
||||
"GET /orgs/{org}/actions/runner-groups/{runner_group_id}/repositories",
|
||||
"GET /orgs/{org}/actions/runner-groups/{runner_group_id}/runners",
|
||||
"GET /orgs/{org}/actions/runners",
|
||||
@@ -66082,7 +65143,6 @@ var paginatingEndpoints = [
|
||||
"GET /orgs/{org}/actions/variables/{name}/repositories",
|
||||
"GET /orgs/{org}/attestations/{subject_digest}",
|
||||
"GET /orgs/{org}/blocks",
|
||||
"GET /orgs/{org}/campaigns",
|
||||
"GET /orgs/{org}/code-scanning/alerts",
|
||||
"GET /orgs/{org}/code-security/configurations",
|
||||
"GET /orgs/{org}/code-security/configurations/{configuration_id}/repositories",
|
||||
@@ -66091,6 +65151,7 @@ var paginatingEndpoints = [
|
||||
"GET /orgs/{org}/codespaces/secrets/{secret_name}/repositories",
|
||||
"GET /orgs/{org}/copilot/billing/seats",
|
||||
"GET /orgs/{org}/copilot/metrics",
|
||||
"GET /orgs/{org}/copilot/usage",
|
||||
"GET /orgs/{org}/dependabot/alerts",
|
||||
"GET /orgs/{org}/dependabot/secrets",
|
||||
"GET /orgs/{org}/dependabot/secrets/{secret_name}/repositories",
|
||||
@@ -66125,11 +65186,10 @@ var paginatingEndpoints = [
|
||||
"GET /orgs/{org}/repos",
|
||||
"GET /orgs/{org}/rulesets",
|
||||
"GET /orgs/{org}/rulesets/rule-suites",
|
||||
"GET /orgs/{org}/rulesets/{ruleset_id}/history",
|
||||
"GET /orgs/{org}/secret-scanning/alerts",
|
||||
"GET /orgs/{org}/security-advisories",
|
||||
"GET /orgs/{org}/settings/network-configurations",
|
||||
"GET /orgs/{org}/team/{team_slug}/copilot/metrics",
|
||||
"GET /orgs/{org}/team/{team_slug}/copilot/usage",
|
||||
"GET /orgs/{org}/teams",
|
||||
"GET /orgs/{org}/teams/{team_slug}/discussions",
|
||||
"GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments",
|
||||
@@ -66224,7 +65284,6 @@ var paginatingEndpoints = [
|
||||
"GET /repos/{owner}/{repo}/rules/branches/{branch}",
|
||||
"GET /repos/{owner}/{repo}/rulesets",
|
||||
"GET /repos/{owner}/{repo}/rulesets/rule-suites",
|
||||
"GET /repos/{owner}/{repo}/rulesets/{ruleset_id}/history",
|
||||
"GET /repos/{owner}/{repo}/secret-scanning/alerts",
|
||||
"GET /repos/{owner}/{repo}/secret-scanning/alerts/{alert_number}/locations",
|
||||
"GET /repos/{owner}/{repo}/security-advisories",
|
||||
@@ -66336,7 +65395,7 @@ __nccwpck_require__.d(__webpack_exports__, {
|
||||
});
|
||||
|
||||
;// CONCATENATED MODULE: ./node_modules/@octokit/plugin-rest-endpoint-methods/dist-src/version.js
|
||||
const VERSION = "14.0.0";
|
||||
const VERSION = "13.3.1";
|
||||
|
||||
//# sourceMappingURL=version.js.map
|
||||
|
||||
@@ -66367,7 +65426,6 @@ const Endpoints = {
|
||||
createEnvironmentVariable: [
|
||||
"POST /repos/{owner}/{repo}/environments/{environment_name}/variables"
|
||||
],
|
||||
createHostedRunnerForOrg: ["POST /orgs/{org}/actions/hosted-runners"],
|
||||
createOrUpdateEnvironmentSecret: [
|
||||
"PUT /repos/{owner}/{repo}/environments/{environment_name}/secrets/{secret_name}"
|
||||
],
|
||||
@@ -66405,9 +65463,6 @@ const Endpoints = {
|
||||
deleteEnvironmentVariable: [
|
||||
"DELETE /repos/{owner}/{repo}/environments/{environment_name}/variables/{name}"
|
||||
],
|
||||
deleteHostedRunnerForOrg: [
|
||||
"DELETE /orgs/{org}/actions/hosted-runners/{hosted_runner_id}"
|
||||
],
|
||||
deleteOrgSecret: ["DELETE /orgs/{org}/actions/secrets/{secret_name}"],
|
||||
deleteOrgVariable: ["DELETE /orgs/{org}/actions/variables/{name}"],
|
||||
deleteRepoSecret: [
|
||||
@@ -66496,24 +65551,6 @@ const Endpoints = {
|
||||
getGithubActionsPermissionsRepository: [
|
||||
"GET /repos/{owner}/{repo}/actions/permissions"
|
||||
],
|
||||
getHostedRunnerForOrg: [
|
||||
"GET /orgs/{org}/actions/hosted-runners/{hosted_runner_id}"
|
||||
],
|
||||
getHostedRunnersGithubOwnedImagesForOrg: [
|
||||
"GET /orgs/{org}/actions/hosted-runners/images/github-owned"
|
||||
],
|
||||
getHostedRunnersLimitsForOrg: [
|
||||
"GET /orgs/{org}/actions/hosted-runners/limits"
|
||||
],
|
||||
getHostedRunnersMachineSpecsForOrg: [
|
||||
"GET /orgs/{org}/actions/hosted-runners/machine-sizes"
|
||||
],
|
||||
getHostedRunnersPartnerImagesForOrg: [
|
||||
"GET /orgs/{org}/actions/hosted-runners/images/partner"
|
||||
],
|
||||
getHostedRunnersPlatformsForOrg: [
|
||||
"GET /orgs/{org}/actions/hosted-runners/platforms"
|
||||
],
|
||||
getJobForWorkflowRun: ["GET /repos/{owner}/{repo}/actions/jobs/{job_id}"],
|
||||
getOrgPublicKey: ["GET /orgs/{org}/actions/secrets/public-key"],
|
||||
getOrgSecret: ["GET /orgs/{org}/actions/secrets/{secret_name}"],
|
||||
@@ -66557,10 +65594,6 @@ const Endpoints = {
|
||||
listEnvironmentVariables: [
|
||||
"GET /repos/{owner}/{repo}/environments/{environment_name}/variables"
|
||||
],
|
||||
listGithubHostedRunnersInGroupForOrg: [
|
||||
"GET /orgs/{org}/actions/runner-groups/{runner_group_id}/hosted-runners"
|
||||
],
|
||||
listHostedRunnersForOrg: ["GET /orgs/{org}/actions/hosted-runners"],
|
||||
listJobsForWorkflowRun: [
|
||||
"GET /repos/{owner}/{repo}/actions/runs/{run_id}/jobs"
|
||||
],
|
||||
@@ -66679,9 +65712,6 @@ const Endpoints = {
|
||||
updateEnvironmentVariable: [
|
||||
"PATCH /repos/{owner}/{repo}/environments/{environment_name}/variables/{name}"
|
||||
],
|
||||
updateHostedRunnerForOrg: [
|
||||
"PATCH /orgs/{org}/actions/hosted-runners/{hosted_runner_id}"
|
||||
],
|
||||
updateOrgVariable: ["PATCH /orgs/{org}/actions/variables/{name}"],
|
||||
updateRepoVariable: [
|
||||
"PATCH /repos/{owner}/{repo}/actions/variables/{name}"
|
||||
@@ -66823,13 +65853,6 @@ const Endpoints = {
|
||||
"GET /users/{username}/settings/billing/shared-storage"
|
||||
]
|
||||
},
|
||||
campaigns: {
|
||||
createCampaign: ["POST /orgs/{org}/campaigns"],
|
||||
deleteCampaign: ["DELETE /orgs/{org}/campaigns/{campaign_number}"],
|
||||
getCampaignSummary: ["GET /orgs/{org}/campaigns/{campaign_number}"],
|
||||
listOrgCampaigns: ["GET /orgs/{org}/campaigns"],
|
||||
updateCampaign: ["PATCH /orgs/{org}/campaigns/{campaign_number}"]
|
||||
},
|
||||
checks: {
|
||||
create: ["POST /repos/{owner}/{repo}/check-runs"],
|
||||
createSuite: ["POST /repos/{owner}/{repo}/check-suites"],
|
||||
@@ -67108,7 +66131,9 @@ const Endpoints = {
|
||||
getCopilotSeatDetailsForUser: [
|
||||
"GET /orgs/{org}/members/{username}/copilot"
|
||||
],
|
||||
listCopilotSeats: ["GET /orgs/{org}/copilot/billing/seats"]
|
||||
listCopilotSeats: ["GET /orgs/{org}/copilot/billing/seats"],
|
||||
usageMetricsForOrg: ["GET /orgs/{org}/copilot/usage"],
|
||||
usageMetricsForTeam: ["GET /orgs/{org}/team/{team_slug}/copilot/usage"]
|
||||
},
|
||||
dependabot: {
|
||||
addSelectedRepoToOrgSecret: [
|
||||
@@ -67204,26 +66229,6 @@ const Endpoints = {
|
||||
getAllTemplates: ["GET /gitignore/templates"],
|
||||
getTemplate: ["GET /gitignore/templates/{name}"]
|
||||
},
|
||||
hostedCompute: {
|
||||
createNetworkConfigurationForOrg: [
|
||||
"POST /orgs/{org}/settings/network-configurations"
|
||||
],
|
||||
deleteNetworkConfigurationFromOrg: [
|
||||
"DELETE /orgs/{org}/settings/network-configurations/{network_configuration_id}"
|
||||
],
|
||||
getNetworkConfigurationForOrg: [
|
||||
"GET /orgs/{org}/settings/network-configurations/{network_configuration_id}"
|
||||
],
|
||||
getNetworkSettingsForOrg: [
|
||||
"GET /orgs/{org}/settings/network-settings/{network_settings_id}"
|
||||
],
|
||||
listNetworkConfigurationsForOrg: [
|
||||
"GET /orgs/{org}/settings/network-configurations"
|
||||
],
|
||||
updateNetworkConfigurationForOrg: [
|
||||
"PATCH /orgs/{org}/settings/network-configurations/{network_configuration_id}"
|
||||
]
|
||||
},
|
||||
interactions: {
|
||||
getRestrictionsForAuthenticatedUser: ["GET /user/interaction-limits"],
|
||||
getRestrictionsForOrg: ["GET /orgs/{org}/interaction-limits"],
|
||||
@@ -67415,7 +66420,6 @@ const Endpoints = {
|
||||
"PUT /orgs/{org}/outside_collaborators/{username}"
|
||||
],
|
||||
createInvitation: ["POST /orgs/{org}/invitations"],
|
||||
createIssueType: ["POST /orgs/{org}/issue-types"],
|
||||
createOrUpdateCustomProperties: ["PATCH /orgs/{org}/properties/schema"],
|
||||
createOrUpdateCustomPropertiesValuesForRepos: [
|
||||
"PATCH /orgs/{org}/properties/values"
|
||||
@@ -67425,7 +66429,6 @@ const Endpoints = {
|
||||
],
|
||||
createWebhook: ["POST /orgs/{org}/hooks"],
|
||||
delete: ["DELETE /orgs/{org}"],
|
||||
deleteIssueType: ["DELETE /orgs/{org}/issue-types/{issue_type_id}"],
|
||||
deleteWebhook: ["DELETE /orgs/{org}/hooks/{hook_id}"],
|
||||
enableOrDisableSecurityProductOnAllOrgRepos: [
|
||||
"POST /orgs/{org}/{security_product}/{enablement}",
|
||||
@@ -67442,10 +66445,6 @@ const Endpoints = {
|
||||
getMembershipForAuthenticatedUser: ["GET /user/memberships/orgs/{org}"],
|
||||
getMembershipForUser: ["GET /orgs/{org}/memberships/{username}"],
|
||||
getOrgRole: ["GET /orgs/{org}/organization-roles/{role_id}"],
|
||||
getOrgRulesetHistory: ["GET /orgs/{org}/rulesets/{ruleset_id}/history"],
|
||||
getOrgRulesetVersion: [
|
||||
"GET /orgs/{org}/rulesets/{ruleset_id}/history/{version_id}"
|
||||
],
|
||||
getWebhook: ["GET /orgs/{org}/hooks/{hook_id}"],
|
||||
getWebhookConfigForOrg: ["GET /orgs/{org}/hooks/{hook_id}/config"],
|
||||
getWebhookDelivery: [
|
||||
@@ -67460,7 +66459,6 @@ const Endpoints = {
|
||||
listForAuthenticatedUser: ["GET /user/orgs"],
|
||||
listForUser: ["GET /users/{username}/orgs"],
|
||||
listInvitationTeams: ["GET /orgs/{org}/invitations/{invitation_id}/teams"],
|
||||
listIssueTypes: ["GET /orgs/{org}/issue-types"],
|
||||
listMembers: ["GET /orgs/{org}/members"],
|
||||
listMembershipsForAuthenticatedUser: ["GET /user/memberships/orgs"],
|
||||
listOrgRoleTeams: ["GET /orgs/{org}/organization-roles/{role_id}/teams"],
|
||||
@@ -67535,7 +66533,6 @@ const Endpoints = {
|
||||
],
|
||||
unblockUser: ["DELETE /orgs/{org}/blocks/{username}"],
|
||||
update: ["PATCH /orgs/{org}"],
|
||||
updateIssueType: ["PUT /orgs/{org}/issue-types/{issue_type_id}"],
|
||||
updateMembershipForAuthenticatedUser: [
|
||||
"PATCH /user/memberships/orgs/{org}"
|
||||
],
|
||||
@@ -67648,6 +66645,37 @@ const Endpoints = {
|
||||
"PATCH /orgs/{org}/private-registries/{secret_name}"
|
||||
]
|
||||
},
|
||||
projects: {
|
||||
addCollaborator: ["PUT /projects/{project_id}/collaborators/{username}"],
|
||||
createCard: ["POST /projects/columns/{column_id}/cards"],
|
||||
createColumn: ["POST /projects/{project_id}/columns"],
|
||||
createForAuthenticatedUser: ["POST /user/projects"],
|
||||
createForOrg: ["POST /orgs/{org}/projects"],
|
||||
createForRepo: ["POST /repos/{owner}/{repo}/projects"],
|
||||
delete: ["DELETE /projects/{project_id}"],
|
||||
deleteCard: ["DELETE /projects/columns/cards/{card_id}"],
|
||||
deleteColumn: ["DELETE /projects/columns/{column_id}"],
|
||||
get: ["GET /projects/{project_id}"],
|
||||
getCard: ["GET /projects/columns/cards/{card_id}"],
|
||||
getColumn: ["GET /projects/columns/{column_id}"],
|
||||
getPermissionForUser: [
|
||||
"GET /projects/{project_id}/collaborators/{username}/permission"
|
||||
],
|
||||
listCards: ["GET /projects/columns/{column_id}/cards"],
|
||||
listCollaborators: ["GET /projects/{project_id}/collaborators"],
|
||||
listColumns: ["GET /projects/{project_id}/columns"],
|
||||
listForOrg: ["GET /orgs/{org}/projects"],
|
||||
listForRepo: ["GET /repos/{owner}/{repo}/projects"],
|
||||
listForUser: ["GET /users/{username}/projects"],
|
||||
moveCard: ["POST /projects/columns/cards/{card_id}/moves"],
|
||||
moveColumn: ["POST /projects/columns/{column_id}/moves"],
|
||||
removeCollaborator: [
|
||||
"DELETE /projects/{project_id}/collaborators/{username}"
|
||||
],
|
||||
update: ["PATCH /projects/{project_id}"],
|
||||
updateCard: ["PATCH /projects/columns/cards/{card_id}"],
|
||||
updateColumn: ["PATCH /projects/columns/{column_id}"]
|
||||
},
|
||||
pulls: {
|
||||
checkIfMerged: ["GET /repos/{owner}/{repo}/pulls/{pull_number}/merge"],
|
||||
create: ["POST /repos/{owner}/{repo}/pulls"],
|
||||
@@ -68019,12 +67047,6 @@ const Endpoints = {
|
||||
],
|
||||
getRepoRuleSuites: ["GET /repos/{owner}/{repo}/rulesets/rule-suites"],
|
||||
getRepoRuleset: ["GET /repos/{owner}/{repo}/rulesets/{ruleset_id}"],
|
||||
getRepoRulesetHistory: [
|
||||
"GET /repos/{owner}/{repo}/rulesets/{ruleset_id}/history"
|
||||
],
|
||||
getRepoRulesetVersion: [
|
||||
"GET /repos/{owner}/{repo}/rulesets/{ruleset_id}/history/{version_id}"
|
||||
],
|
||||
getRepoRulesets: ["GET /repos/{owner}/{repo}/rulesets"],
|
||||
getStatusChecksProtection: [
|
||||
"GET /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks"
|
||||
@@ -68198,13 +67220,7 @@ const Endpoints = {
|
||||
search: {
|
||||
code: ["GET /search/code"],
|
||||
commits: ["GET /search/commits"],
|
||||
issuesAndPullRequests: [
|
||||
"GET /search/issues",
|
||||
{},
|
||||
{
|
||||
deprecated: "octokit.rest.search.issuesAndPullRequests() is deprecated, see https://docs.github.com/rest/search/search#search-issues-and-pull-requests"
|
||||
}
|
||||
],
|
||||
issuesAndPullRequests: ["GET /search/issues"],
|
||||
labels: ["GET /search/labels"],
|
||||
repos: ["GET /search/repositories"],
|
||||
topics: ["GET /search/topics"],
|
||||
@@ -68258,9 +67274,15 @@ const Endpoints = {
|
||||
addOrUpdateMembershipForUserInOrg: [
|
||||
"PUT /orgs/{org}/teams/{team_slug}/memberships/{username}"
|
||||
],
|
||||
addOrUpdateProjectPermissionsInOrg: [
|
||||
"PUT /orgs/{org}/teams/{team_slug}/projects/{project_id}"
|
||||
],
|
||||
addOrUpdateRepoPermissionsInOrg: [
|
||||
"PUT /orgs/{org}/teams/{team_slug}/repos/{owner}/{repo}"
|
||||
],
|
||||
checkPermissionsForProjectInOrg: [
|
||||
"GET /orgs/{org}/teams/{team_slug}/projects/{project_id}"
|
||||
],
|
||||
checkPermissionsForRepoInOrg: [
|
||||
"GET /orgs/{org}/teams/{team_slug}/repos/{owner}/{repo}"
|
||||
],
|
||||
@@ -68297,10 +67319,14 @@ const Endpoints = {
|
||||
listPendingInvitationsInOrg: [
|
||||
"GET /orgs/{org}/teams/{team_slug}/invitations"
|
||||
],
|
||||
listProjectsInOrg: ["GET /orgs/{org}/teams/{team_slug}/projects"],
|
||||
listReposInOrg: ["GET /orgs/{org}/teams/{team_slug}/repos"],
|
||||
removeMembershipForUserInOrg: [
|
||||
"DELETE /orgs/{org}/teams/{team_slug}/memberships/{username}"
|
||||
],
|
||||
removeProjectInOrg: [
|
||||
"DELETE /orgs/{org}/teams/{team_slug}/projects/{project_id}"
|
||||
],
|
||||
removeRepoInOrg: [
|
||||
"DELETE /orgs/{org}/teams/{team_slug}/repos/{owner}/{repo}"
|
||||
],
|
||||
@@ -68675,7 +67701,7 @@ legacyRestEndpointMethods.VERSION = VERSION;
|
||||
/******/ // startup
|
||||
/******/ // Load entry module and return exports
|
||||
/******/ // This entry module is referenced by other modules so it can't be inlined
|
||||
/******/ var __webpack_exports__ = __nccwpck_require__(7416);
|
||||
/******/ var __webpack_exports__ = __nccwpck_require__(5653);
|
||||
/******/ module.exports = __webpack_exports__;
|
||||
/******/
|
||||
/******/ })()
|
||||
445
package-lock.json
generated
445
package-lock.json
generated
@@ -9,36 +9,33 @@
|
||||
"version": "1.0.0",
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"@actions/cache": "^4.0.3",
|
||||
"@actions/cache": "^4.0.2",
|
||||
"@actions/core": "^1.11.1",
|
||||
"@actions/exec": "^1.1.1",
|
||||
"@actions/glob": "^0.5.0",
|
||||
"@actions/io": "^1.1.3",
|
||||
"@actions/tool-cache": "^2.0.2",
|
||||
"@octokit/core": "^7.0.2",
|
||||
"@octokit/plugin-paginate-rest": "^12.0.0",
|
||||
"@octokit/plugin-rest-endpoint-methods": "^14.0.0",
|
||||
"@renovatebot/pep440": "^4.1.0",
|
||||
"smol-toml": "^1.3.4",
|
||||
"undici": "^7.10.0"
|
||||
"@octokit/core": "^6.1.4",
|
||||
"@octokit/plugin-paginate-rest": "^11.4.3",
|
||||
"@octokit/plugin-rest-endpoint-methods": "^13.3.1",
|
||||
"smol-toml": "^1.3.1",
|
||||
"undici": "^7.5.0"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@biomejs/biome": "1.9.4",
|
||||
"@types/js-yaml": "^4.0.9",
|
||||
"@types/node": "^22.15.21",
|
||||
"@types/semver": "^7.7.0",
|
||||
"@types/node": "^22.13.10",
|
||||
"@types/semver": "^7.5.8",
|
||||
"@vercel/ncc": "^0.38.3",
|
||||
"jest": "^29.7.0",
|
||||
"js-yaml": "^4.1.0",
|
||||
"ts-jest": "^29.3.2",
|
||||
"typescript": "^5.8.3"
|
||||
"ts-jest": "^29.2.6",
|
||||
"typescript": "^5.8.2"
|
||||
}
|
||||
},
|
||||
"node_modules/@actions/cache": {
|
||||
"version": "4.0.3",
|
||||
"resolved": "https://registry.npmjs.org/@actions/cache/-/cache-4.0.3.tgz",
|
||||
"integrity": "sha512-SvrqFtYJ7I48A/uXNkoJrnukx5weQv1fGquhs3+4nkByZThBH109KTIqj5x/cGV7JGNvb8dLPVywUOqX1fjiXg==",
|
||||
"license": "MIT",
|
||||
"version": "4.0.2",
|
||||
"resolved": "https://registry.npmjs.org/@actions/cache/-/cache-4.0.2.tgz",
|
||||
"integrity": "sha512-cBr7JL1q+JKjbBd3w3SZN5OQ1Xg+/D8QLMcE7MpgpghZlL4biBO0ZEeraoTxCZyfN0YY0dxXlLgsgGv/sT5BTg==",
|
||||
"dependencies": {
|
||||
"@actions/core": "^1.11.1",
|
||||
"@actions/exec": "^1.0.1",
|
||||
@@ -97,10 +94,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@actions/http-client/node_modules/undici": {
|
||||
"version": "5.29.0",
|
||||
"resolved": "https://registry.npmjs.org/undici/-/undici-5.29.0.tgz",
|
||||
"integrity": "sha512-raqeBD6NQK4SkWhQzeYKd1KmIG6dllBOTt55Rmkt4HtI9mwdWtJljnrXjAFUBLTSN67HWrOIZ3EPF4kjUw80Bg==",
|
||||
"license": "MIT",
|
||||
"version": "5.28.5",
|
||||
"resolved": "https://registry.npmjs.org/undici/-/undici-5.28.5.tgz",
|
||||
"integrity": "sha512-zICwjrDrcrUE0pyyJc1I2QzBkLM8FINsgOrt6WjA+BgajVq9Nxu2PbFFXUrAggLfDXlZGZBVZYw7WNV5KiBiBA==",
|
||||
"dependencies": {
|
||||
"@fastify/busboy": "^2.0.0"
|
||||
},
|
||||
@@ -1514,72 +1510,66 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@octokit/auth-token": {
|
||||
"version": "6.0.0",
|
||||
"resolved": "https://registry.npmjs.org/@octokit/auth-token/-/auth-token-6.0.0.tgz",
|
||||
"integrity": "sha512-P4YJBPdPSpWTQ1NU4XYdvHvXJJDxM6YwpS0FZHRgP7YFkdVxsWcpWGy/NVqlAA7PcPCnMacXlRm1y2PFZRWL/w==",
|
||||
"license": "MIT",
|
||||
"version": "5.1.2",
|
||||
"resolved": "https://registry.npmjs.org/@octokit/auth-token/-/auth-token-5.1.2.tgz",
|
||||
"integrity": "sha512-JcQDsBdg49Yky2w2ld20IHAlwr8d/d8N6NiOXbtuoPCqzbsiJgF633mVUw3x4mo0H5ypataQIX7SFu3yy44Mpw==",
|
||||
"engines": {
|
||||
"node": ">= 20"
|
||||
"node": ">= 18"
|
||||
}
|
||||
},
|
||||
"node_modules/@octokit/core": {
|
||||
"version": "7.0.2",
|
||||
"resolved": "https://registry.npmjs.org/@octokit/core/-/core-7.0.2.tgz",
|
||||
"integrity": "sha512-ODsoD39Lq6vR6aBgvjTnA3nZGliknKboc9Gtxr7E4WDNqY24MxANKcuDQSF0jzapvGb3KWOEDrKfve4HoWGK+g==",
|
||||
"license": "MIT",
|
||||
"version": "6.1.4",
|
||||
"resolved": "https://registry.npmjs.org/@octokit/core/-/core-6.1.4.tgz",
|
||||
"integrity": "sha512-lAS9k7d6I0MPN+gb9bKDt7X8SdxknYqAMh44S5L+lNqIN2NuV8nvv3g8rPp7MuRxcOpxpUIATWprO0C34a8Qmg==",
|
||||
"dependencies": {
|
||||
"@octokit/auth-token": "^6.0.0",
|
||||
"@octokit/graphql": "^9.0.1",
|
||||
"@octokit/request": "^10.0.2",
|
||||
"@octokit/request-error": "^7.0.0",
|
||||
"@octokit/types": "^14.0.0",
|
||||
"before-after-hook": "^4.0.0",
|
||||
"@octokit/auth-token": "^5.0.0",
|
||||
"@octokit/graphql": "^8.1.2",
|
||||
"@octokit/request": "^9.2.1",
|
||||
"@octokit/request-error": "^6.1.7",
|
||||
"@octokit/types": "^13.6.2",
|
||||
"before-after-hook": "^3.0.2",
|
||||
"universal-user-agent": "^7.0.0"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">= 20"
|
||||
"node": ">= 18"
|
||||
}
|
||||
},
|
||||
"node_modules/@octokit/endpoint": {
|
||||
"version": "11.0.0",
|
||||
"resolved": "https://registry.npmjs.org/@octokit/endpoint/-/endpoint-11.0.0.tgz",
|
||||
"integrity": "sha512-hoYicJZaqISMAI3JfaDr1qMNi48OctWuOih1m80bkYow/ayPw6Jj52tqWJ6GEoFTk1gBqfanSoI1iY99Z5+ekQ==",
|
||||
"license": "MIT",
|
||||
"version": "10.1.3",
|
||||
"resolved": "https://registry.npmjs.org/@octokit/endpoint/-/endpoint-10.1.3.tgz",
|
||||
"integrity": "sha512-nBRBMpKPhQUxCsQQeW+rCJ/OPSMcj3g0nfHn01zGYZXuNDvvXudF/TYY6APj5THlurerpFN4a/dQAIAaM6BYhA==",
|
||||
"dependencies": {
|
||||
"@octokit/types": "^14.0.0",
|
||||
"@octokit/types": "^13.6.2",
|
||||
"universal-user-agent": "^7.0.2"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">= 20"
|
||||
"node": ">= 18"
|
||||
}
|
||||
},
|
||||
"node_modules/@octokit/graphql": {
|
||||
"version": "9.0.1",
|
||||
"resolved": "https://registry.npmjs.org/@octokit/graphql/-/graphql-9.0.1.tgz",
|
||||
"integrity": "sha512-j1nQNU1ZxNFx2ZtKmL4sMrs4egy5h65OMDmSbVyuCzjOcwsHq6EaYjOTGXPQxgfiN8dJ4CriYHk6zF050WEULg==",
|
||||
"license": "MIT",
|
||||
"version": "8.1.2",
|
||||
"resolved": "https://registry.npmjs.org/@octokit/graphql/-/graphql-8.1.2.tgz",
|
||||
"integrity": "sha512-bdlj/CJVjpaz06NBpfHhp4kGJaRZfz7AzC+6EwUImRtrwIw8dIgJ63Xg0OzV9pRn3rIzrt5c2sa++BL0JJ8GLw==",
|
||||
"dependencies": {
|
||||
"@octokit/request": "^10.0.2",
|
||||
"@octokit/types": "^14.0.0",
|
||||
"@octokit/request": "^9.1.4",
|
||||
"@octokit/types": "^13.6.2",
|
||||
"universal-user-agent": "^7.0.0"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">= 20"
|
||||
"node": ">= 18"
|
||||
}
|
||||
},
|
||||
"node_modules/@octokit/openapi-types": {
|
||||
"version": "25.0.0",
|
||||
"resolved": "https://registry.npmjs.org/@octokit/openapi-types/-/openapi-types-25.0.0.tgz",
|
||||
"integrity": "sha512-FZvktFu7HfOIJf2BScLKIEYjDsw6RKc7rBJCdvCTfKsVnx2GEB/Nbzjr29DUdb7vQhlzS/j8qDzdditP0OC6aw==",
|
||||
"license": "MIT"
|
||||
"version": "23.0.1",
|
||||
"resolved": "https://registry.npmjs.org/@octokit/openapi-types/-/openapi-types-23.0.1.tgz",
|
||||
"integrity": "sha512-izFjMJ1sir0jn0ldEKhZ7xegCTj/ObmEDlEfpFrx4k/JyZSMRHbO3/rBwgE7f3m2DHt+RrNGIVw4wSmwnm3t/g=="
|
||||
},
|
||||
"node_modules/@octokit/plugin-paginate-rest": {
|
||||
"version": "12.0.0",
|
||||
"resolved": "https://registry.npmjs.org/@octokit/plugin-paginate-rest/-/plugin-paginate-rest-12.0.0.tgz",
|
||||
"integrity": "sha512-MPd6WK1VtZ52lFrgZ0R2FlaoiWllzgqFHaSZxvp72NmoDeZ0m8GeJdg4oB6ctqMTYyrnDYp592Xma21mrgiyDA==",
|
||||
"license": "MIT",
|
||||
"version": "11.4.3",
|
||||
"resolved": "https://registry.npmjs.org/@octokit/plugin-paginate-rest/-/plugin-paginate-rest-11.4.3.tgz",
|
||||
"integrity": "sha512-tBXaAbXkqVJlRoA/zQVe9mUdb8rScmivqtpv3ovsC5xhje/a+NOCivs7eUhWBwCApJVsR4G5HMeaLbq7PxqZGA==",
|
||||
"dependencies": {
|
||||
"@octokit/types": "^14.0.0"
|
||||
"@octokit/types": "^13.7.0"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">= 18"
|
||||
@@ -1589,12 +1579,11 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@octokit/plugin-rest-endpoint-methods": {
|
||||
"version": "14.0.0",
|
||||
"resolved": "https://registry.npmjs.org/@octokit/plugin-rest-endpoint-methods/-/plugin-rest-endpoint-methods-14.0.0.tgz",
|
||||
"integrity": "sha512-iQt6ovem4b7zZYZQtdv+PwgbL5VPq37th1m2x2TdkgimIDJpsi2A6Q/OI/23i/hR6z5mL0EgisNR4dcbmckSZQ==",
|
||||
"license": "MIT",
|
||||
"version": "13.3.1",
|
||||
"resolved": "https://registry.npmjs.org/@octokit/plugin-rest-endpoint-methods/-/plugin-rest-endpoint-methods-13.3.1.tgz",
|
||||
"integrity": "sha512-o8uOBdsyR+WR8MK9Cco8dCgvG13H1RlM1nWnK/W7TEACQBFux/vPREgKucxUfuDQ5yi1T3hGf4C5ZmZXAERgwQ==",
|
||||
"dependencies": {
|
||||
"@octokit/types": "^14.0.0"
|
||||
"@octokit/types": "^13.8.0"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">= 18"
|
||||
@@ -1604,40 +1593,37 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@octokit/request": {
|
||||
"version": "10.0.2",
|
||||
"resolved": "https://registry.npmjs.org/@octokit/request/-/request-10.0.2.tgz",
|
||||
"integrity": "sha512-iYj4SJG/2bbhh+iIpFmG5u49DtJ4lipQ+aPakjL9OKpsGY93wM8w06gvFbEQxcMsZcCvk5th5KkIm2m8o14aWA==",
|
||||
"license": "MIT",
|
||||
"version": "9.2.2",
|
||||
"resolved": "https://registry.npmjs.org/@octokit/request/-/request-9.2.2.tgz",
|
||||
"integrity": "sha512-dZl0ZHx6gOQGcffgm1/Sf6JfEpmh34v3Af2Uci02vzUYz6qEN6zepoRtmybWXIGXFIK8K9ylE3b+duCWqhArtg==",
|
||||
"dependencies": {
|
||||
"@octokit/endpoint": "^11.0.0",
|
||||
"@octokit/request-error": "^7.0.0",
|
||||
"@octokit/types": "^14.0.0",
|
||||
"fast-content-type-parse": "^3.0.0",
|
||||
"@octokit/endpoint": "^10.1.3",
|
||||
"@octokit/request-error": "^6.1.7",
|
||||
"@octokit/types": "^13.6.2",
|
||||
"fast-content-type-parse": "^2.0.0",
|
||||
"universal-user-agent": "^7.0.2"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">= 20"
|
||||
"node": ">= 18"
|
||||
}
|
||||
},
|
||||
"node_modules/@octokit/request-error": {
|
||||
"version": "7.0.0",
|
||||
"resolved": "https://registry.npmjs.org/@octokit/request-error/-/request-error-7.0.0.tgz",
|
||||
"integrity": "sha512-KRA7VTGdVyJlh0cP5Tf94hTiYVVqmt2f3I6mnimmaVz4UG3gQV/k4mDJlJv3X67iX6rmN7gSHCF8ssqeMnmhZg==",
|
||||
"license": "MIT",
|
||||
"version": "6.1.7",
|
||||
"resolved": "https://registry.npmjs.org/@octokit/request-error/-/request-error-6.1.7.tgz",
|
||||
"integrity": "sha512-69NIppAwaauwZv6aOzb+VVLwt+0havz9GT5YplkeJv7fG7a40qpLt/yZKyiDxAhgz0EtgNdNcb96Z0u+Zyuy2g==",
|
||||
"dependencies": {
|
||||
"@octokit/types": "^14.0.0"
|
||||
"@octokit/types": "^13.6.2"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">= 20"
|
||||
"node": ">= 18"
|
||||
}
|
||||
},
|
||||
"node_modules/@octokit/types": {
|
||||
"version": "14.0.0",
|
||||
"resolved": "https://registry.npmjs.org/@octokit/types/-/types-14.0.0.tgz",
|
||||
"integrity": "sha512-VVmZP0lEhbo2O1pdq63gZFiGCKkm8PPp8AUOijlwPO6hojEVjspA0MWKP7E4hbvGxzFKNqKr6p0IYtOH/Wf/zA==",
|
||||
"license": "MIT",
|
||||
"version": "13.8.0",
|
||||
"resolved": "https://registry.npmjs.org/@octokit/types/-/types-13.8.0.tgz",
|
||||
"integrity": "sha512-x7DjTIbEpEWXK99DMd01QfWy0hd5h4EN+Q7shkdKds3otGQP+oWE/y0A76i1OvH9fygo4ddvNf7ZvF0t78P98A==",
|
||||
"dependencies": {
|
||||
"@octokit/openapi-types": "^25.0.0"
|
||||
"@octokit/openapi-types": "^23.0.1"
|
||||
}
|
||||
},
|
||||
"node_modules/@opentelemetry/api": {
|
||||
@@ -1718,16 +1704,6 @@
|
||||
"@protobuf-ts/runtime": "^2.9.4"
|
||||
}
|
||||
},
|
||||
"node_modules/@renovatebot/pep440": {
|
||||
"version": "4.1.0",
|
||||
"resolved": "https://registry.npmjs.org/@renovatebot/pep440/-/pep440-4.1.0.tgz",
|
||||
"integrity": "sha512-mo2RxnOSp78Njt1HmgMwjl6FapP4OyIS8HypJlymCvN7AIV2Xf5PmZfl/E3O1WWZ6IjKrfsEAaPWFMi8tnkq3g==",
|
||||
"license": "Apache-2.0",
|
||||
"engines": {
|
||||
"node": "^20.9.0 || ^22.11.0",
|
||||
"pnpm": "^9.0.0"
|
||||
}
|
||||
},
|
||||
"node_modules/@sinclair/typebox": {
|
||||
"version": "0.27.8",
|
||||
"resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.27.8.tgz",
|
||||
@@ -1826,20 +1802,12 @@
|
||||
"@types/istanbul-lib-report": "*"
|
||||
}
|
||||
},
|
||||
"node_modules/@types/js-yaml": {
|
||||
"version": "4.0.9",
|
||||
"resolved": "https://registry.npmjs.org/@types/js-yaml/-/js-yaml-4.0.9.tgz",
|
||||
"integrity": "sha512-k4MGaQl5TGo/iipqb2UDG2UwjXziSWkh0uysQelTlJpX1qGlpUZYm8PnO4DxG1qBomtJUdYJ6qR6xdIah10JLg==",
|
||||
"dev": true,
|
||||
"license": "MIT"
|
||||
},
|
||||
"node_modules/@types/node": {
|
||||
"version": "22.15.21",
|
||||
"resolved": "https://registry.npmjs.org/@types/node/-/node-22.15.21.tgz",
|
||||
"integrity": "sha512-EV/37Td6c+MgKAbkcLG6vqZ2zEYHD7bvSrzqqs2RIhbA6w3x+Dqz8MZM3sP6kGTeLrdoOgKZe+Xja7tUB2DNkQ==",
|
||||
"license": "MIT",
|
||||
"version": "22.13.10",
|
||||
"resolved": "https://registry.npmjs.org/@types/node/-/node-22.13.10.tgz",
|
||||
"integrity": "sha512-I6LPUvlRH+O6VRUqYOcMudhaIdUVWfsjnZavnsraHvpBwaEyMN29ry+0UVJhImYL16xsscu0aske3yA+uPOWfw==",
|
||||
"dependencies": {
|
||||
"undici-types": "~6.21.0"
|
||||
"undici-types": "~6.20.0"
|
||||
}
|
||||
},
|
||||
"node_modules/@types/node-fetch": {
|
||||
@@ -1865,11 +1833,10 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@types/semver": {
|
||||
"version": "7.7.0",
|
||||
"resolved": "https://registry.npmjs.org/@types/semver/-/semver-7.7.0.tgz",
|
||||
"integrity": "sha512-k107IF4+Xr7UHjwDc7Cfd6PRQfbdkiRabXGRjo07b4WyPahFBZCZ1sE+BNxYIJPPg73UkfOsVOLwqVc/6ETrIA==",
|
||||
"dev": true,
|
||||
"license": "MIT"
|
||||
"version": "7.5.8",
|
||||
"resolved": "https://registry.npmjs.org/@types/semver/-/semver-7.5.8.tgz",
|
||||
"integrity": "sha512-I8EUhyrgfLrcTkzV3TSsGyl1tSuPrEDzr0yd5m90UgNxQkyDXULk3b6MlQqTCpZpNtWe1K0hzclnZkTcLBe2UQ==",
|
||||
"dev": true
|
||||
},
|
||||
"node_modules/@types/stack-utils": {
|
||||
"version": "2.0.1",
|
||||
@@ -2098,10 +2065,9 @@
|
||||
"integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c="
|
||||
},
|
||||
"node_modules/before-after-hook": {
|
||||
"version": "4.0.0",
|
||||
"resolved": "https://registry.npmjs.org/before-after-hook/-/before-after-hook-4.0.0.tgz",
|
||||
"integrity": "sha512-q6tR3RPqIB1pMiTRMFcZwuG5T8vwp+vUvEG0vuI6B+Rikh5BfPp2fQ82c925FOs+b0lcFQ8CFrL+KbilfZFhOQ==",
|
||||
"license": "Apache-2.0"
|
||||
"version": "3.0.2",
|
||||
"resolved": "https://registry.npmjs.org/before-after-hook/-/before-after-hook-3.0.2.tgz",
|
||||
"integrity": "sha512-Nik3Sc0ncrMK4UUdXQmAnRtzmNQTAAXmXIopizwZ1W1t8QmfJj+zL4OA2I7XPTPW5z5TDqv4hRo/JzouDJnX3A=="
|
||||
},
|
||||
"node_modules/brace-expansion": {
|
||||
"version": "1.1.11",
|
||||
@@ -2569,9 +2535,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/fast-content-type-parse": {
|
||||
"version": "3.0.0",
|
||||
"resolved": "https://registry.npmjs.org/fast-content-type-parse/-/fast-content-type-parse-3.0.0.tgz",
|
||||
"integrity": "sha512-ZvLdcY8P+N8mGQJahJV5G4U88CSvT1rP8ApL6uETe88MBXrBHAkZlSEySdUlyztF7ccb+Znos3TFqaepHxdhBg==",
|
||||
"version": "2.0.1",
|
||||
"resolved": "https://registry.npmjs.org/fast-content-type-parse/-/fast-content-type-parse-2.0.1.tgz",
|
||||
"integrity": "sha512-nGqtvLrj5w0naR6tDPfB4cUmYCqouzyQiz6C5y/LtcDllJdrcc6WaWW6iXyIIOErTa/XRybj28aasdn4LkVk6Q==",
|
||||
"funding": [
|
||||
{
|
||||
"type": "github",
|
||||
@@ -2581,8 +2547,7 @@
|
||||
"type": "opencollective",
|
||||
"url": "https://opencollective.com/fastify"
|
||||
}
|
||||
],
|
||||
"license": "MIT"
|
||||
]
|
||||
},
|
||||
"node_modules/fast-json-stable-stringify": {
|
||||
"version": "2.1.0",
|
||||
@@ -4205,10 +4170,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/smol-toml": {
|
||||
"version": "1.3.4",
|
||||
"resolved": "https://registry.npmjs.org/smol-toml/-/smol-toml-1.3.4.tgz",
|
||||
"integrity": "sha512-UOPtVuYkzYGee0Bd2Szz8d2G3RfMfJ2t3qVdZUAozZyAk+a0Sxa+QKix0YCwjL/A1RR0ar44nCxaoN9FxdJGwA==",
|
||||
"license": "BSD-3-Clause",
|
||||
"version": "1.3.1",
|
||||
"resolved": "https://registry.npmjs.org/smol-toml/-/smol-toml-1.3.1.tgz",
|
||||
"integrity": "sha512-tEYNll18pPKHroYSmLLrksq233j021G0giwW7P3D24jC54pQ5W5BXMsQ/Mvw1OJCmEYDgY+lrzT+3nNUtoNfXQ==",
|
||||
"engines": {
|
||||
"node": ">= 18"
|
||||
},
|
||||
@@ -4384,11 +4348,10 @@
|
||||
"integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw=="
|
||||
},
|
||||
"node_modules/ts-jest": {
|
||||
"version": "29.3.2",
|
||||
"resolved": "https://registry.npmjs.org/ts-jest/-/ts-jest-29.3.2.tgz",
|
||||
"integrity": "sha512-bJJkrWc6PjFVz5g2DGCNUo8z7oFEYaz1xP1NpeDU7KNLMWPpEyV8Chbpkn8xjzgRDpQhnGMyvyldoL7h8JXyug==",
|
||||
"version": "29.2.6",
|
||||
"resolved": "https://registry.npmjs.org/ts-jest/-/ts-jest-29.2.6.tgz",
|
||||
"integrity": "sha512-yTNZVZqc8lSixm+QGVFcPe6+yj7+TWZwIesuOWvfcn4B9bz5x4NDzVCQQjOs7Hfouu36aEqfEbo9Qpo+gq8dDg==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"bs-logger": "^0.2.6",
|
||||
"ejs": "^3.1.10",
|
||||
@@ -4398,7 +4361,6 @@
|
||||
"lodash.memoize": "^4.1.2",
|
||||
"make-error": "^1.3.6",
|
||||
"semver": "^7.7.1",
|
||||
"type-fest": "^4.39.1",
|
||||
"yargs-parser": "^21.1.1"
|
||||
},
|
||||
"bin": {
|
||||
@@ -4467,25 +4429,11 @@
|
||||
"node": ">=4"
|
||||
}
|
||||
},
|
||||
"node_modules/type-fest": {
|
||||
"version": "4.40.1",
|
||||
"resolved": "https://registry.npmjs.org/type-fest/-/type-fest-4.40.1.tgz",
|
||||
"integrity": "sha512-9YvLNnORDpI+vghLU/Nf+zSv0kL47KbVJ1o3sKgoTefl6i+zebxbiDQWoe/oWWqPhIgQdRZRT1KA9sCPL810SA==",
|
||||
"dev": true,
|
||||
"license": "(MIT OR CC0-1.0)",
|
||||
"engines": {
|
||||
"node": ">=16"
|
||||
},
|
||||
"funding": {
|
||||
"url": "https://github.com/sponsors/sindresorhus"
|
||||
}
|
||||
},
|
||||
"node_modules/typescript": {
|
||||
"version": "5.8.3",
|
||||
"resolved": "https://registry.npmjs.org/typescript/-/typescript-5.8.3.tgz",
|
||||
"integrity": "sha512-p1diW6TqL9L07nNxvRMM7hMMw4c5XOo/1ibL4aAIGmSAt9slTE1Xgw5KWuof2uTOvCg9BY7ZRi+GaF+7sfgPeQ==",
|
||||
"version": "5.8.2",
|
||||
"resolved": "https://registry.npmjs.org/typescript/-/typescript-5.8.2.tgz",
|
||||
"integrity": "sha512-aJn6wq13/afZp/jT9QZmwEjDqqvSGp1VT5GVg+f/t6/oVyrgXM6BY1h9BRh/O5p3PlUPAe+WuiEZOmb/49RqoQ==",
|
||||
"dev": true,
|
||||
"license": "Apache-2.0",
|
||||
"bin": {
|
||||
"tsc": "bin/tsc",
|
||||
"tsserver": "bin/tsserver"
|
||||
@@ -4495,25 +4443,22 @@
|
||||
}
|
||||
},
|
||||
"node_modules/undici": {
|
||||
"version": "7.10.0",
|
||||
"resolved": "https://registry.npmjs.org/undici/-/undici-7.10.0.tgz",
|
||||
"integrity": "sha512-u5otvFBOBZvmdjWLVW+5DAc9Nkq8f24g0O9oY7qw2JVIF1VocIFoyz9JFkuVOS2j41AufeO0xnlweJ2RLT8nGw==",
|
||||
"license": "MIT",
|
||||
"version": "7.5.0",
|
||||
"resolved": "https://registry.npmjs.org/undici/-/undici-7.5.0.tgz",
|
||||
"integrity": "sha512-NFQG741e8mJ0fLQk90xKxFdaSM7z4+IQpAgsFI36bCDY9Z2+aXXZjVy2uUksMouWfMI9+w5ejOq5zYYTBCQJDQ==",
|
||||
"engines": {
|
||||
"node": ">=20.18.1"
|
||||
}
|
||||
},
|
||||
"node_modules/undici-types": {
|
||||
"version": "6.21.0",
|
||||
"resolved": "https://registry.npmjs.org/undici-types/-/undici-types-6.21.0.tgz",
|
||||
"integrity": "sha512-iwDZqg0QAGrg9Rav5H4n0M64c3mkR59cJ6wQp+7C4nI0gsmExaedaYLNO44eT4AtBBwjbTiGPMlt2Md0T9H9JQ==",
|
||||
"license": "MIT"
|
||||
"version": "6.20.0",
|
||||
"resolved": "https://registry.npmjs.org/undici-types/-/undici-types-6.20.0.tgz",
|
||||
"integrity": "sha512-Ny6QZ2Nju20vw1SRHe3d9jVu6gJ+4e3+MMpqu7pqE5HT6WsTSlce++GQmK5UXS8mzV8DSYHrQH+Xrf2jVcuKNg=="
|
||||
},
|
||||
"node_modules/universal-user-agent": {
|
||||
"version": "7.0.3",
|
||||
"resolved": "https://registry.npmjs.org/universal-user-agent/-/universal-user-agent-7.0.3.tgz",
|
||||
"integrity": "sha512-TmnEAEAsBJVZM/AADELsK76llnwcf9vMKuPz8JflO1frO8Lchitr0fNaN9d+Ap0BjKtqWqd/J17qeDnXh8CL2A==",
|
||||
"license": "ISC"
|
||||
"version": "7.0.2",
|
||||
"resolved": "https://registry.npmjs.org/universal-user-agent/-/universal-user-agent-7.0.2.tgz",
|
||||
"integrity": "sha512-0JCqzSKnStlRRQfCdowvqy3cy0Dvtlb8xecj/H8JFZuCze4rwjPZQOgvFvn0Ws/usCHQFGpyr+pB9adaGwXn4Q=="
|
||||
},
|
||||
"node_modules/update-browserslist-db": {
|
||||
"version": "1.0.10",
|
||||
@@ -4712,9 +4657,9 @@
|
||||
},
|
||||
"dependencies": {
|
||||
"@actions/cache": {
|
||||
"version": "4.0.3",
|
||||
"resolved": "https://registry.npmjs.org/@actions/cache/-/cache-4.0.3.tgz",
|
||||
"integrity": "sha512-SvrqFtYJ7I48A/uXNkoJrnukx5weQv1fGquhs3+4nkByZThBH109KTIqj5x/cGV7JGNvb8dLPVywUOqX1fjiXg==",
|
||||
"version": "4.0.2",
|
||||
"resolved": "https://registry.npmjs.org/@actions/cache/-/cache-4.0.2.tgz",
|
||||
"integrity": "sha512-cBr7JL1q+JKjbBd3w3SZN5OQ1Xg+/D8QLMcE7MpgpghZlL4biBO0ZEeraoTxCZyfN0YY0dxXlLgsgGv/sT5BTg==",
|
||||
"requires": {
|
||||
"@actions/core": "^1.11.1",
|
||||
"@actions/exec": "^1.0.1",
|
||||
@@ -4775,9 +4720,9 @@
|
||||
},
|
||||
"dependencies": {
|
||||
"undici": {
|
||||
"version": "5.29.0",
|
||||
"resolved": "https://registry.npmjs.org/undici/-/undici-5.29.0.tgz",
|
||||
"integrity": "sha512-raqeBD6NQK4SkWhQzeYKd1KmIG6dllBOTt55Rmkt4HtI9mwdWtJljnrXjAFUBLTSN67HWrOIZ3EPF4kjUw80Bg==",
|
||||
"version": "5.28.5",
|
||||
"resolved": "https://registry.npmjs.org/undici/-/undici-5.28.5.tgz",
|
||||
"integrity": "sha512-zICwjrDrcrUE0pyyJc1I2QzBkLM8FINsgOrt6WjA+BgajVq9Nxu2PbFFXUrAggLfDXlZGZBVZYw7WNV5KiBiBA==",
|
||||
"requires": {
|
||||
"@fastify/busboy": "^2.0.0"
|
||||
}
|
||||
@@ -5843,90 +5788,90 @@
|
||||
}
|
||||
},
|
||||
"@octokit/auth-token": {
|
||||
"version": "6.0.0",
|
||||
"resolved": "https://registry.npmjs.org/@octokit/auth-token/-/auth-token-6.0.0.tgz",
|
||||
"integrity": "sha512-P4YJBPdPSpWTQ1NU4XYdvHvXJJDxM6YwpS0FZHRgP7YFkdVxsWcpWGy/NVqlAA7PcPCnMacXlRm1y2PFZRWL/w=="
|
||||
"version": "5.1.2",
|
||||
"resolved": "https://registry.npmjs.org/@octokit/auth-token/-/auth-token-5.1.2.tgz",
|
||||
"integrity": "sha512-JcQDsBdg49Yky2w2ld20IHAlwr8d/d8N6NiOXbtuoPCqzbsiJgF633mVUw3x4mo0H5ypataQIX7SFu3yy44Mpw=="
|
||||
},
|
||||
"@octokit/core": {
|
||||
"version": "7.0.2",
|
||||
"resolved": "https://registry.npmjs.org/@octokit/core/-/core-7.0.2.tgz",
|
||||
"integrity": "sha512-ODsoD39Lq6vR6aBgvjTnA3nZGliknKboc9Gtxr7E4WDNqY24MxANKcuDQSF0jzapvGb3KWOEDrKfve4HoWGK+g==",
|
||||
"version": "6.1.4",
|
||||
"resolved": "https://registry.npmjs.org/@octokit/core/-/core-6.1.4.tgz",
|
||||
"integrity": "sha512-lAS9k7d6I0MPN+gb9bKDt7X8SdxknYqAMh44S5L+lNqIN2NuV8nvv3g8rPp7MuRxcOpxpUIATWprO0C34a8Qmg==",
|
||||
"requires": {
|
||||
"@octokit/auth-token": "^6.0.0",
|
||||
"@octokit/graphql": "^9.0.1",
|
||||
"@octokit/request": "^10.0.2",
|
||||
"@octokit/request-error": "^7.0.0",
|
||||
"@octokit/types": "^14.0.0",
|
||||
"before-after-hook": "^4.0.0",
|
||||
"@octokit/auth-token": "^5.0.0",
|
||||
"@octokit/graphql": "^8.1.2",
|
||||
"@octokit/request": "^9.2.1",
|
||||
"@octokit/request-error": "^6.1.7",
|
||||
"@octokit/types": "^13.6.2",
|
||||
"before-after-hook": "^3.0.2",
|
||||
"universal-user-agent": "^7.0.0"
|
||||
}
|
||||
},
|
||||
"@octokit/endpoint": {
|
||||
"version": "11.0.0",
|
||||
"resolved": "https://registry.npmjs.org/@octokit/endpoint/-/endpoint-11.0.0.tgz",
|
||||
"integrity": "sha512-hoYicJZaqISMAI3JfaDr1qMNi48OctWuOih1m80bkYow/ayPw6Jj52tqWJ6GEoFTk1gBqfanSoI1iY99Z5+ekQ==",
|
||||
"version": "10.1.3",
|
||||
"resolved": "https://registry.npmjs.org/@octokit/endpoint/-/endpoint-10.1.3.tgz",
|
||||
"integrity": "sha512-nBRBMpKPhQUxCsQQeW+rCJ/OPSMcj3g0nfHn01zGYZXuNDvvXudF/TYY6APj5THlurerpFN4a/dQAIAaM6BYhA==",
|
||||
"requires": {
|
||||
"@octokit/types": "^14.0.0",
|
||||
"@octokit/types": "^13.6.2",
|
||||
"universal-user-agent": "^7.0.2"
|
||||
}
|
||||
},
|
||||
"@octokit/graphql": {
|
||||
"version": "9.0.1",
|
||||
"resolved": "https://registry.npmjs.org/@octokit/graphql/-/graphql-9.0.1.tgz",
|
||||
"integrity": "sha512-j1nQNU1ZxNFx2ZtKmL4sMrs4egy5h65OMDmSbVyuCzjOcwsHq6EaYjOTGXPQxgfiN8dJ4CriYHk6zF050WEULg==",
|
||||
"version": "8.1.2",
|
||||
"resolved": "https://registry.npmjs.org/@octokit/graphql/-/graphql-8.1.2.tgz",
|
||||
"integrity": "sha512-bdlj/CJVjpaz06NBpfHhp4kGJaRZfz7AzC+6EwUImRtrwIw8dIgJ63Xg0OzV9pRn3rIzrt5c2sa++BL0JJ8GLw==",
|
||||
"requires": {
|
||||
"@octokit/request": "^10.0.2",
|
||||
"@octokit/types": "^14.0.0",
|
||||
"@octokit/request": "^9.1.4",
|
||||
"@octokit/types": "^13.6.2",
|
||||
"universal-user-agent": "^7.0.0"
|
||||
}
|
||||
},
|
||||
"@octokit/openapi-types": {
|
||||
"version": "25.0.0",
|
||||
"resolved": "https://registry.npmjs.org/@octokit/openapi-types/-/openapi-types-25.0.0.tgz",
|
||||
"integrity": "sha512-FZvktFu7HfOIJf2BScLKIEYjDsw6RKc7rBJCdvCTfKsVnx2GEB/Nbzjr29DUdb7vQhlzS/j8qDzdditP0OC6aw=="
|
||||
"version": "23.0.1",
|
||||
"resolved": "https://registry.npmjs.org/@octokit/openapi-types/-/openapi-types-23.0.1.tgz",
|
||||
"integrity": "sha512-izFjMJ1sir0jn0ldEKhZ7xegCTj/ObmEDlEfpFrx4k/JyZSMRHbO3/rBwgE7f3m2DHt+RrNGIVw4wSmwnm3t/g=="
|
||||
},
|
||||
"@octokit/plugin-paginate-rest": {
|
||||
"version": "12.0.0",
|
||||
"resolved": "https://registry.npmjs.org/@octokit/plugin-paginate-rest/-/plugin-paginate-rest-12.0.0.tgz",
|
||||
"integrity": "sha512-MPd6WK1VtZ52lFrgZ0R2FlaoiWllzgqFHaSZxvp72NmoDeZ0m8GeJdg4oB6ctqMTYyrnDYp592Xma21mrgiyDA==",
|
||||
"version": "11.4.3",
|
||||
"resolved": "https://registry.npmjs.org/@octokit/plugin-paginate-rest/-/plugin-paginate-rest-11.4.3.tgz",
|
||||
"integrity": "sha512-tBXaAbXkqVJlRoA/zQVe9mUdb8rScmivqtpv3ovsC5xhje/a+NOCivs7eUhWBwCApJVsR4G5HMeaLbq7PxqZGA==",
|
||||
"requires": {
|
||||
"@octokit/types": "^14.0.0"
|
||||
"@octokit/types": "^13.7.0"
|
||||
}
|
||||
},
|
||||
"@octokit/plugin-rest-endpoint-methods": {
|
||||
"version": "14.0.0",
|
||||
"resolved": "https://registry.npmjs.org/@octokit/plugin-rest-endpoint-methods/-/plugin-rest-endpoint-methods-14.0.0.tgz",
|
||||
"integrity": "sha512-iQt6ovem4b7zZYZQtdv+PwgbL5VPq37th1m2x2TdkgimIDJpsi2A6Q/OI/23i/hR6z5mL0EgisNR4dcbmckSZQ==",
|
||||
"version": "13.3.1",
|
||||
"resolved": "https://registry.npmjs.org/@octokit/plugin-rest-endpoint-methods/-/plugin-rest-endpoint-methods-13.3.1.tgz",
|
||||
"integrity": "sha512-o8uOBdsyR+WR8MK9Cco8dCgvG13H1RlM1nWnK/W7TEACQBFux/vPREgKucxUfuDQ5yi1T3hGf4C5ZmZXAERgwQ==",
|
||||
"requires": {
|
||||
"@octokit/types": "^14.0.0"
|
||||
"@octokit/types": "^13.8.0"
|
||||
}
|
||||
},
|
||||
"@octokit/request": {
|
||||
"version": "10.0.2",
|
||||
"resolved": "https://registry.npmjs.org/@octokit/request/-/request-10.0.2.tgz",
|
||||
"integrity": "sha512-iYj4SJG/2bbhh+iIpFmG5u49DtJ4lipQ+aPakjL9OKpsGY93wM8w06gvFbEQxcMsZcCvk5th5KkIm2m8o14aWA==",
|
||||
"version": "9.2.2",
|
||||
"resolved": "https://registry.npmjs.org/@octokit/request/-/request-9.2.2.tgz",
|
||||
"integrity": "sha512-dZl0ZHx6gOQGcffgm1/Sf6JfEpmh34v3Af2Uci02vzUYz6qEN6zepoRtmybWXIGXFIK8K9ylE3b+duCWqhArtg==",
|
||||
"requires": {
|
||||
"@octokit/endpoint": "^11.0.0",
|
||||
"@octokit/request-error": "^7.0.0",
|
||||
"@octokit/types": "^14.0.0",
|
||||
"fast-content-type-parse": "^3.0.0",
|
||||
"@octokit/endpoint": "^10.1.3",
|
||||
"@octokit/request-error": "^6.1.7",
|
||||
"@octokit/types": "^13.6.2",
|
||||
"fast-content-type-parse": "^2.0.0",
|
||||
"universal-user-agent": "^7.0.2"
|
||||
}
|
||||
},
|
||||
"@octokit/request-error": {
|
||||
"version": "7.0.0",
|
||||
"resolved": "https://registry.npmjs.org/@octokit/request-error/-/request-error-7.0.0.tgz",
|
||||
"integrity": "sha512-KRA7VTGdVyJlh0cP5Tf94hTiYVVqmt2f3I6mnimmaVz4UG3gQV/k4mDJlJv3X67iX6rmN7gSHCF8ssqeMnmhZg==",
|
||||
"version": "6.1.7",
|
||||
"resolved": "https://registry.npmjs.org/@octokit/request-error/-/request-error-6.1.7.tgz",
|
||||
"integrity": "sha512-69NIppAwaauwZv6aOzb+VVLwt+0havz9GT5YplkeJv7fG7a40qpLt/yZKyiDxAhgz0EtgNdNcb96Z0u+Zyuy2g==",
|
||||
"requires": {
|
||||
"@octokit/types": "^14.0.0"
|
||||
"@octokit/types": "^13.6.2"
|
||||
}
|
||||
},
|
||||
"@octokit/types": {
|
||||
"version": "14.0.0",
|
||||
"resolved": "https://registry.npmjs.org/@octokit/types/-/types-14.0.0.tgz",
|
||||
"integrity": "sha512-VVmZP0lEhbo2O1pdq63gZFiGCKkm8PPp8AUOijlwPO6hojEVjspA0MWKP7E4hbvGxzFKNqKr6p0IYtOH/Wf/zA==",
|
||||
"version": "13.8.0",
|
||||
"resolved": "https://registry.npmjs.org/@octokit/types/-/types-13.8.0.tgz",
|
||||
"integrity": "sha512-x7DjTIbEpEWXK99DMd01QfWy0hd5h4EN+Q7shkdKds3otGQP+oWE/y0A76i1OvH9fygo4ddvNf7ZvF0t78P98A==",
|
||||
"requires": {
|
||||
"@octokit/openapi-types": "^25.0.0"
|
||||
"@octokit/openapi-types": "^23.0.1"
|
||||
}
|
||||
},
|
||||
"@opentelemetry/api": {
|
||||
@@ -5987,11 +5932,6 @@
|
||||
"@protobuf-ts/runtime": "^2.9.4"
|
||||
}
|
||||
},
|
||||
"@renovatebot/pep440": {
|
||||
"version": "4.1.0",
|
||||
"resolved": "https://registry.npmjs.org/@renovatebot/pep440/-/pep440-4.1.0.tgz",
|
||||
"integrity": "sha512-mo2RxnOSp78Njt1HmgMwjl6FapP4OyIS8HypJlymCvN7AIV2Xf5PmZfl/E3O1WWZ6IjKrfsEAaPWFMi8tnkq3g=="
|
||||
},
|
||||
"@sinclair/typebox": {
|
||||
"version": "0.27.8",
|
||||
"resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.27.8.tgz",
|
||||
@@ -6090,18 +6030,12 @@
|
||||
"@types/istanbul-lib-report": "*"
|
||||
}
|
||||
},
|
||||
"@types/js-yaml": {
|
||||
"version": "4.0.9",
|
||||
"resolved": "https://registry.npmjs.org/@types/js-yaml/-/js-yaml-4.0.9.tgz",
|
||||
"integrity": "sha512-k4MGaQl5TGo/iipqb2UDG2UwjXziSWkh0uysQelTlJpX1qGlpUZYm8PnO4DxG1qBomtJUdYJ6qR6xdIah10JLg==",
|
||||
"dev": true
|
||||
},
|
||||
"@types/node": {
|
||||
"version": "22.15.21",
|
||||
"resolved": "https://registry.npmjs.org/@types/node/-/node-22.15.21.tgz",
|
||||
"integrity": "sha512-EV/37Td6c+MgKAbkcLG6vqZ2zEYHD7bvSrzqqs2RIhbA6w3x+Dqz8MZM3sP6kGTeLrdoOgKZe+Xja7tUB2DNkQ==",
|
||||
"version": "22.13.10",
|
||||
"resolved": "https://registry.npmjs.org/@types/node/-/node-22.13.10.tgz",
|
||||
"integrity": "sha512-I6LPUvlRH+O6VRUqYOcMudhaIdUVWfsjnZavnsraHvpBwaEyMN29ry+0UVJhImYL16xsscu0aske3yA+uPOWfw==",
|
||||
"requires": {
|
||||
"undici-types": "~6.21.0"
|
||||
"undici-types": "~6.20.0"
|
||||
}
|
||||
},
|
||||
"@types/node-fetch": {
|
||||
@@ -6126,9 +6060,9 @@
|
||||
}
|
||||
},
|
||||
"@types/semver": {
|
||||
"version": "7.7.0",
|
||||
"resolved": "https://registry.npmjs.org/@types/semver/-/semver-7.7.0.tgz",
|
||||
"integrity": "sha512-k107IF4+Xr7UHjwDc7Cfd6PRQfbdkiRabXGRjo07b4WyPahFBZCZ1sE+BNxYIJPPg73UkfOsVOLwqVc/6ETrIA==",
|
||||
"version": "7.5.8",
|
||||
"resolved": "https://registry.npmjs.org/@types/semver/-/semver-7.5.8.tgz",
|
||||
"integrity": "sha512-I8EUhyrgfLrcTkzV3TSsGyl1tSuPrEDzr0yd5m90UgNxQkyDXULk3b6MlQqTCpZpNtWe1K0hzclnZkTcLBe2UQ==",
|
||||
"dev": true
|
||||
},
|
||||
"@types/stack-utils": {
|
||||
@@ -6309,9 +6243,9 @@
|
||||
"integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c="
|
||||
},
|
||||
"before-after-hook": {
|
||||
"version": "4.0.0",
|
||||
"resolved": "https://registry.npmjs.org/before-after-hook/-/before-after-hook-4.0.0.tgz",
|
||||
"integrity": "sha512-q6tR3RPqIB1pMiTRMFcZwuG5T8vwp+vUvEG0vuI6B+Rikh5BfPp2fQ82c925FOs+b0lcFQ8CFrL+KbilfZFhOQ=="
|
||||
"version": "3.0.2",
|
||||
"resolved": "https://registry.npmjs.org/before-after-hook/-/before-after-hook-3.0.2.tgz",
|
||||
"integrity": "sha512-Nik3Sc0ncrMK4UUdXQmAnRtzmNQTAAXmXIopizwZ1W1t8QmfJj+zL4OA2I7XPTPW5z5TDqv4hRo/JzouDJnX3A=="
|
||||
},
|
||||
"brace-expansion": {
|
||||
"version": "1.1.11",
|
||||
@@ -6630,9 +6564,9 @@
|
||||
}
|
||||
},
|
||||
"fast-content-type-parse": {
|
||||
"version": "3.0.0",
|
||||
"resolved": "https://registry.npmjs.org/fast-content-type-parse/-/fast-content-type-parse-3.0.0.tgz",
|
||||
"integrity": "sha512-ZvLdcY8P+N8mGQJahJV5G4U88CSvT1rP8ApL6uETe88MBXrBHAkZlSEySdUlyztF7ccb+Znos3TFqaepHxdhBg=="
|
||||
"version": "2.0.1",
|
||||
"resolved": "https://registry.npmjs.org/fast-content-type-parse/-/fast-content-type-parse-2.0.1.tgz",
|
||||
"integrity": "sha512-nGqtvLrj5w0naR6tDPfB4cUmYCqouzyQiz6C5y/LtcDllJdrcc6WaWW6iXyIIOErTa/XRybj28aasdn4LkVk6Q=="
|
||||
},
|
||||
"fast-json-stable-stringify": {
|
||||
"version": "2.1.0",
|
||||
@@ -7850,9 +7784,9 @@
|
||||
"dev": true
|
||||
},
|
||||
"smol-toml": {
|
||||
"version": "1.3.4",
|
||||
"resolved": "https://registry.npmjs.org/smol-toml/-/smol-toml-1.3.4.tgz",
|
||||
"integrity": "sha512-UOPtVuYkzYGee0Bd2Szz8d2G3RfMfJ2t3qVdZUAozZyAk+a0Sxa+QKix0YCwjL/A1RR0ar44nCxaoN9FxdJGwA=="
|
||||
"version": "1.3.1",
|
||||
"resolved": "https://registry.npmjs.org/smol-toml/-/smol-toml-1.3.1.tgz",
|
||||
"integrity": "sha512-tEYNll18pPKHroYSmLLrksq233j021G0giwW7P3D24jC54pQ5W5BXMsQ/Mvw1OJCmEYDgY+lrzT+3nNUtoNfXQ=="
|
||||
},
|
||||
"source-map": {
|
||||
"version": "0.6.1",
|
||||
@@ -7982,9 +7916,9 @@
|
||||
"integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw=="
|
||||
},
|
||||
"ts-jest": {
|
||||
"version": "29.3.2",
|
||||
"resolved": "https://registry.npmjs.org/ts-jest/-/ts-jest-29.3.2.tgz",
|
||||
"integrity": "sha512-bJJkrWc6PjFVz5g2DGCNUo8z7oFEYaz1xP1NpeDU7KNLMWPpEyV8Chbpkn8xjzgRDpQhnGMyvyldoL7h8JXyug==",
|
||||
"version": "29.2.6",
|
||||
"resolved": "https://registry.npmjs.org/ts-jest/-/ts-jest-29.2.6.tgz",
|
||||
"integrity": "sha512-yTNZVZqc8lSixm+QGVFcPe6+yj7+TWZwIesuOWvfcn4B9bz5x4NDzVCQQjOs7Hfouu36aEqfEbo9Qpo+gq8dDg==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"bs-logger": "^0.2.6",
|
||||
@@ -7995,7 +7929,6 @@
|
||||
"lodash.memoize": "^4.1.2",
|
||||
"make-error": "^1.3.6",
|
||||
"semver": "^7.7.1",
|
||||
"type-fest": "^4.39.1",
|
||||
"yargs-parser": "^21.1.1"
|
||||
},
|
||||
"dependencies": {
|
||||
@@ -8023,32 +7956,26 @@
|
||||
"integrity": "sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==",
|
||||
"dev": true
|
||||
},
|
||||
"type-fest": {
|
||||
"version": "4.40.1",
|
||||
"resolved": "https://registry.npmjs.org/type-fest/-/type-fest-4.40.1.tgz",
|
||||
"integrity": "sha512-9YvLNnORDpI+vghLU/Nf+zSv0kL47KbVJ1o3sKgoTefl6i+zebxbiDQWoe/oWWqPhIgQdRZRT1KA9sCPL810SA==",
|
||||
"dev": true
|
||||
},
|
||||
"typescript": {
|
||||
"version": "5.8.3",
|
||||
"resolved": "https://registry.npmjs.org/typescript/-/typescript-5.8.3.tgz",
|
||||
"integrity": "sha512-p1diW6TqL9L07nNxvRMM7hMMw4c5XOo/1ibL4aAIGmSAt9slTE1Xgw5KWuof2uTOvCg9BY7ZRi+GaF+7sfgPeQ==",
|
||||
"version": "5.8.2",
|
||||
"resolved": "https://registry.npmjs.org/typescript/-/typescript-5.8.2.tgz",
|
||||
"integrity": "sha512-aJn6wq13/afZp/jT9QZmwEjDqqvSGp1VT5GVg+f/t6/oVyrgXM6BY1h9BRh/O5p3PlUPAe+WuiEZOmb/49RqoQ==",
|
||||
"dev": true
|
||||
},
|
||||
"undici": {
|
||||
"version": "7.10.0",
|
||||
"resolved": "https://registry.npmjs.org/undici/-/undici-7.10.0.tgz",
|
||||
"integrity": "sha512-u5otvFBOBZvmdjWLVW+5DAc9Nkq8f24g0O9oY7qw2JVIF1VocIFoyz9JFkuVOS2j41AufeO0xnlweJ2RLT8nGw=="
|
||||
"version": "7.5.0",
|
||||
"resolved": "https://registry.npmjs.org/undici/-/undici-7.5.0.tgz",
|
||||
"integrity": "sha512-NFQG741e8mJ0fLQk90xKxFdaSM7z4+IQpAgsFI36bCDY9Z2+aXXZjVy2uUksMouWfMI9+w5ejOq5zYYTBCQJDQ=="
|
||||
},
|
||||
"undici-types": {
|
||||
"version": "6.21.0",
|
||||
"resolved": "https://registry.npmjs.org/undici-types/-/undici-types-6.21.0.tgz",
|
||||
"integrity": "sha512-iwDZqg0QAGrg9Rav5H4n0M64c3mkR59cJ6wQp+7C4nI0gsmExaedaYLNO44eT4AtBBwjbTiGPMlt2Md0T9H9JQ=="
|
||||
"version": "6.20.0",
|
||||
"resolved": "https://registry.npmjs.org/undici-types/-/undici-types-6.20.0.tgz",
|
||||
"integrity": "sha512-Ny6QZ2Nju20vw1SRHe3d9jVu6gJ+4e3+MMpqu7pqE5HT6WsTSlce++GQmK5UXS8mzV8DSYHrQH+Xrf2jVcuKNg=="
|
||||
},
|
||||
"universal-user-agent": {
|
||||
"version": "7.0.3",
|
||||
"resolved": "https://registry.npmjs.org/universal-user-agent/-/universal-user-agent-7.0.3.tgz",
|
||||
"integrity": "sha512-TmnEAEAsBJVZM/AADELsK76llnwcf9vMKuPz8JflO1frO8Lchitr0fNaN9d+Ap0BjKtqWqd/J17qeDnXh8CL2A=="
|
||||
"version": "7.0.2",
|
||||
"resolved": "https://registry.npmjs.org/universal-user-agent/-/universal-user-agent-7.0.2.tgz",
|
||||
"integrity": "sha512-0JCqzSKnStlRRQfCdowvqy3cy0Dvtlb8xecj/H8JFZuCze4rwjPZQOgvFvn0Ws/usCHQFGpyr+pB9adaGwXn4Q=="
|
||||
},
|
||||
"update-browserslist-db": {
|
||||
"version": "1.0.10",
|
||||
|
||||
26
package.json
26
package.json
@@ -9,10 +9,10 @@
|
||||
"format": "biome format --fix",
|
||||
"format-check": "biome format",
|
||||
"lint": "biome lint --fix",
|
||||
"package": "ncc build -o dist/setup src/setup-uv.ts && ncc build -o dist/save-cache src/save-cache.ts && ncc build -o dist/update-known-versions src/update-known-versions.ts",
|
||||
"package": "ncc build -o dist/setup src/setup-uv.ts && ncc build -o dist/save-cache src/save-cache.ts && ncc build -o dist/update-known-checksums src/update-known-checksums.ts",
|
||||
"test": "jest",
|
||||
"act": "act pull_request -W .github/workflows/test.yml --container-architecture linux/amd64 -s GITHUB_TOKEN=\"$(gh auth token)\"",
|
||||
"update-known-versions": "RUNNER_TEMP=known_versions node dist/update-known-versions/index.js src/download/checksum/known-versions.ts \"$(gh auth token)\"",
|
||||
"update-known-checksums": "RUNNER_TEMP=known_checksums node dist/update-known-checksums/index.js src/download/checksum/known-checksums.ts \"$(gh auth token)\"",
|
||||
"all": "npm run build && npm run format && npm run lint && npm run package && npm test"
|
||||
},
|
||||
"repository": {
|
||||
@@ -23,28 +23,26 @@
|
||||
"author": "@eifinger",
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"@actions/cache": "^4.0.3",
|
||||
"@actions/cache": "^4.0.2",
|
||||
"@actions/core": "^1.11.1",
|
||||
"@actions/exec": "^1.1.1",
|
||||
"@actions/glob": "^0.5.0",
|
||||
"@actions/io": "^1.1.3",
|
||||
"@actions/tool-cache": "^2.0.2",
|
||||
"@octokit/core": "^7.0.2",
|
||||
"@octokit/plugin-paginate-rest": "^12.0.0",
|
||||
"@octokit/plugin-rest-endpoint-methods": "^14.0.0",
|
||||
"@renovatebot/pep440": "^4.1.0",
|
||||
"smol-toml": "^1.3.4",
|
||||
"undici": "^7.10.0"
|
||||
"@octokit/core": "^6.1.4",
|
||||
"@octokit/plugin-paginate-rest": "^11.4.3",
|
||||
"@octokit/plugin-rest-endpoint-methods": "^13.3.1",
|
||||
"undici": "^7.5.0",
|
||||
"smol-toml": "^1.3.1"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@biomejs/biome": "1.9.4",
|
||||
"@types/js-yaml": "^4.0.9",
|
||||
"@types/node": "^22.15.21",
|
||||
"@types/semver": "^7.7.0",
|
||||
"@types/node": "^22.13.10",
|
||||
"@types/semver": "^7.5.8",
|
||||
"@vercel/ncc": "^0.38.3",
|
||||
"jest": "^29.7.0",
|
||||
"js-yaml": "^4.1.0",
|
||||
"ts-jest": "^29.3.2",
|
||||
"typescript": "^5.8.3"
|
||||
"ts-jest": "^29.2.6",
|
||||
"typescript": "^5.8.2"
|
||||
}
|
||||
}
|
||||
|
||||
7
src/cache/restore-cache.ts
vendored
7
src/cache/restore-cache.ts
vendored
@@ -4,9 +4,7 @@ import {
|
||||
cacheDependencyGlob,
|
||||
cacheLocalPath,
|
||||
cacheSuffix,
|
||||
pruneCache,
|
||||
pythonVersion as pythonVersionInput,
|
||||
workingDirectory,
|
||||
} from "../utils/inputs";
|
||||
import { getArch, getPlatform } from "../utils/platforms";
|
||||
import { hashFiles } from "../hash/hash-files";
|
||||
@@ -56,8 +54,7 @@ async function computeKeys(): Promise<string> {
|
||||
const suffix = cacheSuffix ? `-${cacheSuffix}` : "";
|
||||
const pythonVersion = await getPythonVersion();
|
||||
const platform = await getPlatform();
|
||||
const pruned = pruneCache ? "-pruned" : "";
|
||||
return `setup-uv-${CACHE_VERSION}-${getArch()}-${platform}-${pythonVersion}${pruned}${cacheDependencyPathHash}${suffix}`;
|
||||
return `setup-uv-${CACHE_VERSION}-${getArch()}-${platform}-${pythonVersion}${cacheDependencyPathHash}${suffix}`;
|
||||
}
|
||||
|
||||
async function getPythonVersion(): Promise<string> {
|
||||
@@ -76,7 +73,7 @@ async function getPythonVersion(): Promise<string> {
|
||||
};
|
||||
|
||||
try {
|
||||
const execArgs = ["python", "find", "--directory", workingDirectory];
|
||||
const execArgs = ["python", "find"];
|
||||
await exec.exec("uv", execArgs, options);
|
||||
const pythonPath = output.trim();
|
||||
|
||||
|
||||
@@ -1,857 +1,5 @@
|
||||
// AUTOGENERATED_DO_NOT_EDIT
|
||||
export const KNOWN_CHECKSUMS: { [key: string]: string } = {
|
||||
"aarch64-apple-darwin-0.7.13":
|
||||
"721f532b73171586574298d4311a91d5ea2c802ef4db3ebafc434239330090c6",
|
||||
"aarch64-pc-windows-msvc-0.7.13":
|
||||
"bb40708ad549ad6a12209cb139dd751bf0ede41deb679ce7513ce197bd9ef234",
|
||||
"aarch64-unknown-linux-gnu-0.7.13":
|
||||
"0b2ad9fe4295881615295add8cc5daa02549d29cc9a61f0578e397efcf12f08f",
|
||||
"aarch64-unknown-linux-musl-0.7.13":
|
||||
"52baba71881c978d32b7c32216ad0cde4546a4dc62e606c9834ec4616c1610eb",
|
||||
"arm-unknown-linux-musleabihf-0.7.13":
|
||||
"ff2b11fff489301f9d55c851b9ebce7ca5530d743d2c0a3861cc45896715ea9b",
|
||||
"armv7-unknown-linux-gnueabihf-0.7.13":
|
||||
"903350811ee31b2b758c8afb853490c27a34382a535b236739705b104bc13894",
|
||||
"armv7-unknown-linux-musleabihf-0.7.13":
|
||||
"7e3b2aa966c54ced0fcd9febea6b913ee7ea12ee85246513895f199ab13296a8",
|
||||
"i686-pc-windows-msvc-0.7.13":
|
||||
"5cf71014fde208ee0833026b3828007f8eaf514ec003784dc1ae92633877179b",
|
||||
"i686-unknown-linux-gnu-0.7.13":
|
||||
"ff031258ff08b3aca46648398e21fe9679744501e3c9a928c8e42d596a708bbc",
|
||||
"i686-unknown-linux-musl-0.7.13":
|
||||
"41851d695bb5401bce5af81a156d63215087cf8e8e1275e69dd96de4bfa30c26",
|
||||
"powerpc64-unknown-linux-gnu-0.7.13":
|
||||
"02a80ce1436bf673b0d7276bb24dea0bbc70958dc91e5fb04ad37ac515be7424",
|
||||
"powerpc64le-unknown-linux-gnu-0.7.13":
|
||||
"60c8907cce089de97dcce732ae363eda0620f7196c25e8bd539f168b93f9e34c",
|
||||
"riscv64gc-unknown-linux-gnu-0.7.13":
|
||||
"521a5235bc5a053dd7f0221c363544cef6d033064cc9d92dbb4ef19771000052",
|
||||
"s390x-unknown-linux-gnu-0.7.13":
|
||||
"41e4b6093dd408b41dffb4c9e08c4aa31424ee4573ce9c95566c2617f7f2d0c6",
|
||||
"x86_64-apple-darwin-0.7.13":
|
||||
"d785753ac092e25316180626aa691c5dfe1fb075290457ba4fdb72c7c5661321",
|
||||
"x86_64-pc-windows-msvc-0.7.13":
|
||||
"e199b10bef1a7cc540014483e7f60f825a174988f41020e9d2a6b01bd60f0669",
|
||||
"x86_64-unknown-linux-gnu-0.7.13":
|
||||
"909278eb197c5ed0e9b5f16317d1255270d1f9ea4196e7179ce934d48c4c2545",
|
||||
"x86_64-unknown-linux-musl-0.7.13":
|
||||
"560bb64e060354e45138d7dd47c8dd48a4f7a349af5520d29cd3c704e79f286c",
|
||||
"aarch64-apple-darwin-0.7.12":
|
||||
"189108cd026c25d40fb086eaaf320aac52c3f7aab63e185bac51305a1576fc7e",
|
||||
"aarch64-pc-windows-msvc-0.7.12":
|
||||
"fbedfb71356d0e63c86b507cf1434a58406afe6eac77aee9d37b8282d4006e14",
|
||||
"aarch64-unknown-linux-gnu-0.7.12":
|
||||
"23233d2e950ed8187858350da5c6803b14cbbeaef780382093bb2f2bc4ba1200",
|
||||
"aarch64-unknown-linux-musl-0.7.12":
|
||||
"0589f6d27bbbe2e205aa6fc25e4cd28ab97e984cdba20842de8d3a00714e13e9",
|
||||
"arm-unknown-linux-musleabihf-0.7.12":
|
||||
"6996e32ac1c37af33a4c6e40ab0126a82d62ccb94edb164b7dae554be4dd8336",
|
||||
"armv7-unknown-linux-gnueabihf-0.7.12":
|
||||
"aee2dc202deed7e15984d71eb59803111052fbe8c0fb3ffad27ae0a6d290d74f",
|
||||
"armv7-unknown-linux-musleabihf-0.7.12":
|
||||
"87bd7676d31858d9e1937ab69d13e30cc93ebb09fb246dde6a8f183e9570a82c",
|
||||
"i686-pc-windows-msvc-0.7.12":
|
||||
"c7ec71ba64d01ef3cdb89553445de94ab4fd7375c8f2a7068353aec7a3a06342",
|
||||
"i686-unknown-linux-gnu-0.7.12":
|
||||
"d1def68ff10b30327a5cacab497664aaf8338e192ba277b76f45dad63208f2e2",
|
||||
"i686-unknown-linux-musl-0.7.12":
|
||||
"f56a0a9c84b35b7e910c4d628c667b843fb3fa1d9dddb0bbf4bf3f21eeaee07f",
|
||||
"powerpc64-unknown-linux-gnu-0.7.12":
|
||||
"6eafb546d1b8642a5c27e4dfda213659fee41b0fd150b4c33ef96c917e595344",
|
||||
"powerpc64le-unknown-linux-gnu-0.7.12":
|
||||
"0d550348d7a0f54352824cd751dc7baea0c23b17d744a5a7784b6b825e5fc909",
|
||||
"s390x-unknown-linux-gnu-0.7.12":
|
||||
"76f5a2c1c13446233312d140136f3f55fa7c162176327830eb109ccaae6c9cea",
|
||||
"x86_64-apple-darwin-0.7.12":
|
||||
"a338354420dba089218c05d4d585e4bcf174a65fe53260592b2af19ceec85835",
|
||||
"x86_64-pc-windows-msvc-0.7.12":
|
||||
"2cf29c8ffaa2549aa0f86927b2510008e8ca3dcd2100277d86faf437382a371b",
|
||||
"x86_64-unknown-linux-gnu-0.7.12":
|
||||
"735891fb553d0be129f3aa39dc8e9c4c49aaa76ec17f7dfb6a732e79a714873a",
|
||||
"x86_64-unknown-linux-musl-0.7.12":
|
||||
"bb493f1e6ae426c06b5a103cb71aa60c678976d2377f0590644538658656c2a7",
|
||||
"aarch64-apple-darwin-0.7.11":
|
||||
"b5f4cb27a3002d6590c3681377c6d826db0b52e2a9529c7144fcd53fec89ba79",
|
||||
"aarch64-pc-windows-msvc-0.7.11":
|
||||
"856bac93344a6980b2703a4143f26fc042c941b02f11ed21f55ec6be3fdfde87",
|
||||
"aarch64-unknown-linux-gnu-0.7.11":
|
||||
"80cf695c4e10b532e9db3c7fbbcfb0f8356f2e70e7a4a5040e005f0fae70923d",
|
||||
"aarch64-unknown-linux-musl-0.7.11":
|
||||
"2ad20d143c74d7f63d1c99db3999f239f045b7be041e23f6ac8b269c99fa54fe",
|
||||
"arm-unknown-linux-musleabihf-0.7.11":
|
||||
"21fec46f09d96cd9f51378fe01ed050dd2032c1fef823f8bd81fa50a2337bbcc",
|
||||
"armv7-unknown-linux-gnueabihf-0.7.11":
|
||||
"1a75aaff4695c07151d5b9abb50232ea9fb6f5ccc82d4b319abd8796605d9db8",
|
||||
"armv7-unknown-linux-musleabihf-0.7.11":
|
||||
"431b3115ab8fb5e2210d01f29b7901e6eb1174ff65545ec49318d6d4adf4c802",
|
||||
"i686-pc-windows-msvc-0.7.11":
|
||||
"985f5eabf42b8ad0166ae6b9f799564220fa932938a8401c890d5e07321ce7c0",
|
||||
"i686-unknown-linux-gnu-0.7.11":
|
||||
"619e205d56594fc530dbde6c6a543dd094c796791a5e2cfcd3bb70fa5767bf9d",
|
||||
"i686-unknown-linux-musl-0.7.11":
|
||||
"838c6336ba8e88818459b10c3520e83601b9c0a9850a209accef9782c050faad",
|
||||
"powerpc64-unknown-linux-gnu-0.7.11":
|
||||
"769c7f32cbc2ad918ccf9ae661d99a6c0d0fd3a0056691832b4a79049a9d06ec",
|
||||
"powerpc64le-unknown-linux-gnu-0.7.11":
|
||||
"c9bbbcc2d4f11c83e0edbff5868d95f07f81455adb6f2f909cdb9b992928101b",
|
||||
"s390x-unknown-linux-gnu-0.7.11":
|
||||
"0e7b9b27e9fef1b42aa052173a2a47a2ec33bad82425237dfac402b7f69bd073",
|
||||
"x86_64-apple-darwin-0.7.11":
|
||||
"97980b067dc3fea16534371b030eaf38554d701de5058004edcfd542a88a2e84",
|
||||
"x86_64-pc-windows-msvc-0.7.11":
|
||||
"0f4ef69fde75bb8bcfba7ecf0a4134d8875578cd2e98c9fcfc21573e746c70ac",
|
||||
"x86_64-unknown-linux-gnu-0.7.11":
|
||||
"df54b274e99b7ef26030dc21d105ce115bc21a644fc6a321bde9222cb1616de6",
|
||||
"x86_64-unknown-linux-musl-0.7.11":
|
||||
"e4e8948645ebea1950a3c77574ce079dfe1c71547ba5a8a141d6e362fa036684",
|
||||
"aarch64-apple-darwin-0.7.10":
|
||||
"316b80c19832ff4085748c3a20a3e05f36e1d19234e8b9399a6fd1c971241bce",
|
||||
"aarch64-pc-windows-msvc-0.7.10":
|
||||
"1eed0f11bca79403648195f8ce257763d956e861cb73de98c480dae15358bb26",
|
||||
"aarch64-unknown-linux-gnu-0.7.10":
|
||||
"8746acb754807050124c6dbcb05fcad2665a3f0cdb2a0fe9de528bd37b092656",
|
||||
"aarch64-unknown-linux-musl-0.7.10":
|
||||
"f9000f08850a5c575d5fe1ddc2ec928ecc9f287ecdcd9fa1ea4e3f405b23d4a3",
|
||||
"arm-unknown-linux-musleabihf-0.7.10":
|
||||
"657b1b8a534f7fe78e63aff56aac5bbcb21f6254df79825fe204d5c7c1219653",
|
||||
"armv7-unknown-linux-gnueabihf-0.7.10":
|
||||
"1cf4a8f40abbd802a7b44fe9695da356701100d267eb3567c17db27e0a24cf69",
|
||||
"armv7-unknown-linux-musleabihf-0.7.10":
|
||||
"5282b825f469295dc2b88c94eccd375a93135a279b0711cb10e615e7a71a0617",
|
||||
"i686-pc-windows-msvc-0.7.10":
|
||||
"f3c62ff935685d9d4312b82d01ed386493b97c3d22bd434d943fc99ce9aef83a",
|
||||
"i686-unknown-linux-gnu-0.7.10":
|
||||
"24a2a3eb0e89b74de6aac492516303747519439775d22254e838d33410ac27b2",
|
||||
"i686-unknown-linux-musl-0.7.10":
|
||||
"e317d35af60b38ad32935390a83d12adc3ed7ffdbc2ccccd3039bf6cef650eb3",
|
||||
"powerpc64-unknown-linux-gnu-0.7.10":
|
||||
"c1ab41ec53cd720179f3351b61b4ded73ec520804413b75051736829a125e4fe",
|
||||
"powerpc64le-unknown-linux-gnu-0.7.10":
|
||||
"ce2c3fdf177facf6c77c5316bb54b9deaf498bee9f664e01a4030ecf27063ab1",
|
||||
"s390x-unknown-linux-gnu-0.7.10":
|
||||
"b7603e3f4494e9093a86ace1103e3fcfa172a952989f0c7dca6eeac7f77be81f",
|
||||
"x86_64-apple-darwin-0.7.10":
|
||||
"9123e8aa944654404787f80731ec08850c4e9b9129c0d0445c9e41438828b8b8",
|
||||
"x86_64-pc-windows-msvc-0.7.10":
|
||||
"1568a71af55e9d9bc4a050ec79134a342a8a3765a73f6b7ec26490c2814f8797",
|
||||
"x86_64-unknown-linux-gnu-0.7.10":
|
||||
"ff2ef46298963fee8104ccb3c0a4ecbc97c057ac6a0bc5fec7636c855384252e",
|
||||
"x86_64-unknown-linux-musl-0.7.10":
|
||||
"b2cf1f63e83a873652ffef032681bbbe1469e3bab617f7e715e09529c30f5689",
|
||||
"aarch64-apple-darwin-0.7.9":
|
||||
"7a8b716a2b5905fb89512371ce6c6dbc0dd0344185bd1cd93a3fe27516eef7ec",
|
||||
"aarch64-pc-windows-msvc-0.7.9":
|
||||
"63c0990b9c49dc9f9a92aaaa27ba627cbf9cf6b2e42766588ef6f880208893de",
|
||||
"aarch64-unknown-linux-gnu-0.7.9":
|
||||
"23242a8051e2191ed8d61f71a6792f2fc069ef18e6cdf07dedac3d3f648643c5",
|
||||
"aarch64-unknown-linux-musl-0.7.9":
|
||||
"60f30508c9002b2b7af55d70db2741cf7ea24c066ced710ad09681a6d2d19b3a",
|
||||
"arm-unknown-linux-musleabihf-0.7.9":
|
||||
"57d8e43e257f0ccd9df2b8581338c5145b9937aba53e9c9bb81b31044b720c61",
|
||||
"armv7-unknown-linux-gnueabihf-0.7.9":
|
||||
"83353ee7e1724083ea94d7f488fa34c9159995a3996f87017fdf72e422c93242",
|
||||
"armv7-unknown-linux-musleabihf-0.7.9":
|
||||
"b2d8d81bc2abbdd857bad7cd3bf0d36c5155c0681aae8ac9fb8f49d54b95b3f2",
|
||||
"i686-pc-windows-msvc-0.7.9":
|
||||
"b5dc0dc10d9dd0dcf5729a94e98538418760d13877d4d4b1bc4efa9926280e78",
|
||||
"i686-unknown-linux-gnu-0.7.9":
|
||||
"fb8f1a7cb593c819c0fff71afa2dc480237ca80a3f5d8d433c8b51d2ae90ffdf",
|
||||
"i686-unknown-linux-musl-0.7.9":
|
||||
"a77592be13fea81ca42b2b7815784e769e1fd9ff476cfab69f2652823f99c55e",
|
||||
"powerpc64-unknown-linux-gnu-0.7.9":
|
||||
"26fee4867c158c04dd3a51ff9a23b4220a9ba69fae2e71be618d2cfa48164d96",
|
||||
"powerpc64le-unknown-linux-gnu-0.7.9":
|
||||
"d588fbb01cacccb7fd6e0f101d34282ebb0569381f967d332f8072055e39840e",
|
||||
"s390x-unknown-linux-gnu-0.7.9":
|
||||
"d823d68ff662b7e59c6791281427bf1019dae791a964ffae31ae1d2d723dfc08",
|
||||
"x86_64-apple-darwin-0.7.9":
|
||||
"a4c084568850588b77e4a34c21b7df5c8cf9e2160b4d614307ed92fa12411742",
|
||||
"x86_64-pc-windows-msvc-0.7.9":
|
||||
"f91d8a3322a10caf257fd416807bd8d2801285b80b46ee37f2d0c6e426b8822c",
|
||||
"x86_64-unknown-linux-gnu-0.7.9":
|
||||
"b8450a419c0bcc85841bbed8511eb59e2a5683ddd3f813f2b98b97babf6b1b8b",
|
||||
"x86_64-unknown-linux-musl-0.7.9":
|
||||
"95918a1e1faf851a39cad402f1a77318e8fc90b7f829833ebaff27de9722d60e",
|
||||
"aarch64-apple-darwin-0.7.8":
|
||||
"ad6b3825ba277de70b9d0a37055f7d828f3f37416aee1cde65000f330efd4587",
|
||||
"aarch64-pc-windows-msvc-0.7.8":
|
||||
"e43448e5e3267dffb6bbdc30ffa291f8db664d1da9d084c44f99dc568f459e0a",
|
||||
"aarch64-unknown-linux-gnu-0.7.8":
|
||||
"da9e1c97f1452b25c8955127c92da7b68be228ad0b43bf50bba4dadb25c8b337",
|
||||
"aarch64-unknown-linux-musl-0.7.8":
|
||||
"4d18efb46f93fa942dc4c212dea3b6b07e3db62fe57d0c3d08de6bf5d9f9bb51",
|
||||
"arm-unknown-linux-musleabihf-0.7.8":
|
||||
"133b1c3fb850ec496bfb4ef84379bfaeff1d2c322114a0984d8a5c2e10e63028",
|
||||
"armv7-unknown-linux-gnueabihf-0.7.8":
|
||||
"7d61c6e18e81447482dc80c090c65a6615a1232512899943566baf2808ca37bb",
|
||||
"armv7-unknown-linux-musleabihf-0.7.8":
|
||||
"0b6d6afcdb7c78e5df42cb2ab0929d2bec2654a350a8efacc6f95e830a31eb6e",
|
||||
"i686-pc-windows-msvc-0.7.8":
|
||||
"0d4b01372ca972543cd40366bb5480bb457e79dcf45b5f662721d709d6932dbd",
|
||||
"i686-unknown-linux-gnu-0.7.8":
|
||||
"db1c60961aea7a7f8c64a098801e0138e761b7556d1c1691fc4f3f771f0e47ae",
|
||||
"i686-unknown-linux-musl-0.7.8":
|
||||
"b765eb1817bc1d545f4860eff0adeb0c7907ea66be14536653192e588386b308",
|
||||
"powerpc64-unknown-linux-gnu-0.7.8":
|
||||
"2c894b104195ab194af05c6ad756ce8746a349a8620c83888207db5fccf29a8f",
|
||||
"powerpc64le-unknown-linux-gnu-0.7.8":
|
||||
"4b0d93385685f756068f76af1871dcb7cc8f427ab6d650afc07493d06dca71db",
|
||||
"s390x-unknown-linux-gnu-0.7.8":
|
||||
"e58fc9f6d846ccbf50d9bcf27920ff4bc061541df8a6a3aa6f13be24981e0772",
|
||||
"x86_64-apple-darwin-0.7.8":
|
||||
"f046249639014eb70b43cbaf83eb6f56aac724ada354f9b9aad65f9960737920",
|
||||
"x86_64-pc-windows-msvc-0.7.8":
|
||||
"355736ddf9a01ab9da918b35470027c12128d7ed1d7f54f54771507d79529679",
|
||||
"x86_64-unknown-linux-gnu-0.7.8":
|
||||
"285981409c746508c1fd125f66a1ea654e487bf1e4d9f45371a062338f788adb",
|
||||
"x86_64-unknown-linux-musl-0.7.8":
|
||||
"8a707e45e0d1a8bdbc5bd1af0ae7d19ffab55f3722c5e73471039561900e3d48",
|
||||
"aarch64-apple-darwin-0.7.7":
|
||||
"6a06eaa8165d5abd89c3dc37ffbe1db60fcf49a87d7c612bfca7e87a1514695d",
|
||||
"aarch64-pc-windows-msvc-0.7.7":
|
||||
"e86cd59f2569f4bf475e5ad944910142c0ab107ad12613429ad8873a6f41087f",
|
||||
"aarch64-unknown-linux-gnu-0.7.7":
|
||||
"013061d4d33385e9a3fc52df18d22334f20f12616970b0d81583d5125ce8d6fa",
|
||||
"aarch64-unknown-linux-musl-0.7.7":
|
||||
"4014dc9dc024bb5a082f16c54adcd5936d47dae664bafa38453b3017ede41aab",
|
||||
"arm-unknown-linux-musleabihf-0.7.7":
|
||||
"c1dc010e3ab855391f3a6906fcffbeac873d136df2b20cfd998105385444e45c",
|
||||
"armv7-unknown-linux-gnueabihf-0.7.7":
|
||||
"e08406cfcc1ccc0c069d22c91008967f662664abdbf8a15779a1944070e0f5b2",
|
||||
"armv7-unknown-linux-musleabihf-0.7.7":
|
||||
"35379428e6d001e63714449c26c9111d1d5ee6f3b6a95559c724ad57df9d8d17",
|
||||
"i686-pc-windows-msvc-0.7.7":
|
||||
"5e47a44df7707b58884cdf5d30527857ec1bf186e8f200517fd11a572669cacc",
|
||||
"i686-unknown-linux-gnu-0.7.7":
|
||||
"fc782a829cccb0201c4a918d9f5a3a114511d734953f7e5e60aed52951264454",
|
||||
"i686-unknown-linux-musl-0.7.7":
|
||||
"10b852326ee48502d6da26c7fe394345b7ce7ca94d76f293dbe4cde9577c3993",
|
||||
"powerpc64-unknown-linux-gnu-0.7.7":
|
||||
"4b26663e0c21289bd21c05a3ba344e6b069c600e5a6333e660ae16eb38027bd5",
|
||||
"powerpc64le-unknown-linux-gnu-0.7.7":
|
||||
"e691d6a8a8c285cd644cf1f6d47c2568740ddca645c860f9bb23799790b54e56",
|
||||
"s390x-unknown-linux-gnu-0.7.7":
|
||||
"b21953a1c6c5475306e64f9ccf721762d2fc6aa572ee5268ed61a3b1531f06c1",
|
||||
"x86_64-apple-darwin-0.7.7":
|
||||
"4b337495ced2a9797357ee853873c2f5a45cc52f6ed68c9feba3c997443452b0",
|
||||
"x86_64-pc-windows-msvc-0.7.7":
|
||||
"a27a1fdf3f6b850dfb45fb009f7ea0fe3db1a59f692ebdc64c24ff8dbd0467d1",
|
||||
"x86_64-unknown-linux-gnu-0.7.7":
|
||||
"d83e2b9c2b251c93985824d9a12d97f5b036b7a9ff0b7d647c9ca7ae5ff2ae1b",
|
||||
"x86_64-unknown-linux-musl-0.7.7":
|
||||
"3876cafbb6599287a78778d2c265fd2050acfc247409ed677a8583f20385a3ae",
|
||||
"aarch64-apple-darwin-0.7.6":
|
||||
"a0e7c0e44ec4b2743e1c1d1f6edca1418687b05084f48c007c6e1c7d3a35bcd2",
|
||||
"aarch64-pc-windows-msvc-0.7.6":
|
||||
"2ada1290e87144726b6a723b38fd34ce64da5a3fe820a21685564924f894408c",
|
||||
"aarch64-unknown-linux-gnu-0.7.6":
|
||||
"4eae30038653bbec528257054fe07495f20c5d4bc663b630258e87d159e282b6",
|
||||
"aarch64-unknown-linux-musl-0.7.6":
|
||||
"9e59f0753383d6a27404be238360165e415605b1504b209349852a27cc01d48f",
|
||||
"arm-unknown-linux-musleabihf-0.7.6":
|
||||
"b81d59deeba1f92aba48aefce2b364530baa1cb8aa4c59fc2a90c9acf98c9a20",
|
||||
"armv7-unknown-linux-gnueabihf-0.7.6":
|
||||
"e9d1b7d52def14fb1ab8af2fa52963ff8e4323934ec2e78720a94d92261fa9fc",
|
||||
"armv7-unknown-linux-musleabihf-0.7.6":
|
||||
"c525ad0f41c67d944e56362adffcda206aef36f3ed84daf90386fcbfa4a62c66",
|
||||
"i686-pc-windows-msvc-0.7.6":
|
||||
"aca45dbdb75cd2c5fdf70bf5ff436306d476352b135fcab544c4a9759d7d1af8",
|
||||
"i686-unknown-linux-gnu-0.7.6":
|
||||
"71448fddb93306b1b67f0c2e711eb79b6ea33d027212259abd7546a48d15b49f",
|
||||
"i686-unknown-linux-musl-0.7.6":
|
||||
"a641ada8b2ca3ec22c24414c2edef8c01370d7d4ac79998eac091b84f743c476",
|
||||
"powerpc64-unknown-linux-gnu-0.7.6":
|
||||
"9f63727933d11b0157ebc3fd640811c1224fe55215acff24e8ec5747fb4f90fc",
|
||||
"powerpc64le-unknown-linux-gnu-0.7.6":
|
||||
"da746e6e809f32ab9709e45c7d5e7c37901478cc610119c08ae335c43ac089b2",
|
||||
"s390x-unknown-linux-gnu-0.7.6":
|
||||
"a07d4303e97f72312f9db8a1a67bae08f02d883f1879fa917b9ae87aec90d933",
|
||||
"x86_64-apple-darwin-0.7.6":
|
||||
"718cfd68b13a1a642fadc53646742785cd33b2e06124a01454ad358617841852",
|
||||
"x86_64-pc-windows-msvc-0.7.6":
|
||||
"4c81818cc89d75ca54762e2641deebad69c0af6594212a9fb24b9849df8ac413",
|
||||
"x86_64-unknown-linux-gnu-0.7.6":
|
||||
"0c5f0935bba35359150774fc5876d72947b863b8173c94dda776e6d88014a0df",
|
||||
"x86_64-unknown-linux-musl-0.7.6":
|
||||
"be755e8503b7e7174f24ad8cdcadab94f0662fe0b60df4fc35e1ddae48b19f35",
|
||||
"aarch64-apple-darwin-0.7.5":
|
||||
"8d82c7f6fcfd79b142c8845f694c8225dd5b401cd720e8e1e2a35a1c4150f516",
|
||||
"aarch64-pc-windows-msvc-0.7.5":
|
||||
"9ec005bf0b472d47ab730e463cc5a156b18ca9a9a6fe1c72bf18d97384d0b717",
|
||||
"aarch64-unknown-linux-gnu-0.7.5":
|
||||
"715bd03f6b2924b8f742b716d0f4b9d31ccbb1ad4a7f8df4ce2f572efff7f2cb",
|
||||
"aarch64-unknown-linux-musl-0.7.5":
|
||||
"ce23f5e1d22f1cdfc0db4358d3b2642c115ad99d404aef15030af31e39ef3484",
|
||||
"arm-unknown-linux-musleabihf-0.7.5":
|
||||
"2e85c3ba3ba461822940bca197198babcb1a8ce620c3d1c624423e68bba49d43",
|
||||
"armv7-unknown-linux-gnueabihf-0.7.5":
|
||||
"cbd7990fb0d06750f7e966a54dc344396e4d605d029aa94a0cf00d695cb283e9",
|
||||
"armv7-unknown-linux-musleabihf-0.7.5":
|
||||
"96d5eb1246e654f4e2c37542797196d94c0d72fe44e470050a9fbf67e356fb10",
|
||||
"i686-pc-windows-msvc-0.7.5":
|
||||
"84e70b46e0f218db9573b0efce085c13e0e5ce7808b3143b990d1a334e5a8ee6",
|
||||
"i686-unknown-linux-gnu-0.7.5":
|
||||
"20efc06bc129d8757e81fdd00cf828a9c1d928a4a30c8c538c6d1ed219b52c5d",
|
||||
"i686-unknown-linux-musl-0.7.5":
|
||||
"3cc8dbcdb230a6abbaa3cd6b918d6150f747f45f8f96b7399d6258c54fab5867",
|
||||
"powerpc64-unknown-linux-gnu-0.7.5":
|
||||
"dab5571d40ce3347fe295b9afec9f560ad709461883ae604d0de827071b8d2f8",
|
||||
"powerpc64le-unknown-linux-gnu-0.7.5":
|
||||
"4c3843068cd0e1bf9e5f68e5487fba28feef3196c025a1b1eaddd533a52b7bd7",
|
||||
"s390x-unknown-linux-gnu-0.7.5":
|
||||
"1b286e386a4d66dd9393caf78888a881cf63202522a6a88262e551bc7b8b3995",
|
||||
"x86_64-apple-darwin-0.7.5":
|
||||
"751ae339c91a6b8eddb868a64222c2533c722042476e4f28466683ddf96fa488",
|
||||
"x86_64-pc-windows-msvc-0.7.5":
|
||||
"e95cb3789b2f80052c80048ff2865e06eae7512d06d304127898c70c4fd3564f",
|
||||
"x86_64-unknown-linux-gnu-0.7.5":
|
||||
"a3d1964080a855e1f8806975b5fa943376045a64852c06ba80540813aa333305",
|
||||
"x86_64-unknown-linux-musl-0.7.5":
|
||||
"be058167ae65f7a2b56f607b070bd4e93dacd09be52511ccb8ebb10fa132709f",
|
||||
"aarch64-apple-darwin-0.7.4":
|
||||
"1af8c353479890b29b75933706890627555bbc07e12a0117ae62da3ec2ee372e",
|
||||
"aarch64-pc-windows-msvc-0.7.4":
|
||||
"3800868f3cc1509d6ea16036e3268ff45fd22a85c922cf3de4fb9535dbb0099e",
|
||||
"aarch64-unknown-linux-gnu-0.7.4":
|
||||
"c407e4c7431ee6cb28deb842edb49fea1ee3f5674a357f11244bfb0fd57e2ae4",
|
||||
"aarch64-unknown-linux-musl-0.7.4":
|
||||
"ff0d9172d2105da526501e01c38ecf0558ea323cfcd25adff9a89cd7fad5c076",
|
||||
"arm-unknown-linux-musleabihf-0.7.4":
|
||||
"4e6b7d15444ae58bc196ee4e7e6e11b451b4e994c0c73968254d3d4ff1c89bca",
|
||||
"armv7-unknown-linux-gnueabihf-0.7.4":
|
||||
"303bac0f866c450fefe7543297fa87563941f924cb13f007dfe7cc02ac64dcd7",
|
||||
"armv7-unknown-linux-musleabihf-0.7.4":
|
||||
"004e22fe946fabec6b5dff668f4bd8f93569dab30efe0f3d4640f266760744bd",
|
||||
"i686-pc-windows-msvc-0.7.4":
|
||||
"113070d23ba1498cf9fff9ae634893a2a1dce42a0baa617c4a82009f61c71fbc",
|
||||
"i686-unknown-linux-gnu-0.7.4":
|
||||
"19f0f19dfe9d722a2fb89bde4771682cf632182d6204cc4ddb11d700d5b34c07",
|
||||
"i686-unknown-linux-musl-0.7.4":
|
||||
"fe281041401b4140a387f6101e64fcf4abb344791c12398c441c7e339510423d",
|
||||
"powerpc64-unknown-linux-gnu-0.7.4":
|
||||
"ef2320254e52234750d9745e6dc6e3b3c990aa51e506057d0869d4d18b55e5e3",
|
||||
"powerpc64le-unknown-linux-gnu-0.7.4":
|
||||
"e143278764aab89b68c6f55dfdfa4242c8f5d5213880b584880a776a5ca1b0dd",
|
||||
"s390x-unknown-linux-gnu-0.7.4":
|
||||
"14dbae76be8999dcc8336fac1f6f86710e7ce4f4c3e1aec01e7ef7f9a3468811",
|
||||
"x86_64-apple-darwin-0.7.4":
|
||||
"a6c5fd8aa67db03447934b14703a2d7bb04b5e5f7ff45630a749760393c5610f",
|
||||
"x86_64-pc-windows-msvc-0.7.4":
|
||||
"966d0dd8d86f02f94128714180cd5ff42cd2ea9b33b86fc197f25cfa066aaea1",
|
||||
"x86_64-unknown-linux-gnu-0.7.4":
|
||||
"5264d9b2bf021fccbaf6edb97bc17ce4863687745f2443460a8ca71e55891614",
|
||||
"x86_64-unknown-linux-musl-0.7.4":
|
||||
"70083140d9efaf82cbb7ffa6231d5de3536d6497ec84d708afaf9b7e2fffbac2",
|
||||
"aarch64-apple-darwin-0.7.3":
|
||||
"162b328fc63e0075d4267688201de91356e1c1b81db50419fa4466cfe2dfdebc",
|
||||
"aarch64-pc-windows-msvc-0.7.3":
|
||||
"542b318c98b0295dd3d620fbcd63388757f382e14c69c569cb3ce793aa75c975",
|
||||
"aarch64-unknown-linux-gnu-0.7.3":
|
||||
"2c2be8bbb83e9bc722f2013de8bb7506cfe6521d0e30b4ad046849d036b3eea6",
|
||||
"aarch64-unknown-linux-musl-0.7.3":
|
||||
"a3f01c3c993b57fa8d13855c5ba60e3847bda4f8e795a52d52879e242e886604",
|
||||
"arm-unknown-linux-musleabihf-0.7.3":
|
||||
"87f72dc1c3b1b598e08c8efc7f9ab8eca23df8549cf4c1fc27a4a6b2524809c1",
|
||||
"armv7-unknown-linux-gnueabihf-0.7.3":
|
||||
"69f285d861cd1809a4bad0f08c2ea8a77ec17cbe20524a4ebbee4c5a7c868520",
|
||||
"armv7-unknown-linux-musleabihf-0.7.3":
|
||||
"1a0071551cd575bbecef3218fb13bf05ab96ceb71b4b1d13a99b8a4af059f99f",
|
||||
"i686-pc-windows-msvc-0.7.3":
|
||||
"1c9becbc63c15dcf43b09c0ba84e0ba6fa533fa799b7baf57a36363ef42fbc52",
|
||||
"i686-unknown-linux-gnu-0.7.3":
|
||||
"a2b56cb262337380aa02b6d131e973d54090c3e655d3e55385d02850454c24de",
|
||||
"i686-unknown-linux-musl-0.7.3":
|
||||
"d6e846079ef38929206079147448c5683a3018116b2b3e6059cf4c26bcfbb290",
|
||||
"powerpc64-unknown-linux-gnu-0.7.3":
|
||||
"a9b94c618a5d5bc992102733a45759e38db9a9e069830c3e94c744d1bfc33c21",
|
||||
"powerpc64le-unknown-linux-gnu-0.7.3":
|
||||
"782e9c343cb7c219b5514e64a799a8b9fa82585f6176b53ed095dc030a22d993",
|
||||
"s390x-unknown-linux-gnu-0.7.3":
|
||||
"ea803eafd6e3414d3a18aed9257f8ded8f7d1f6f182d2572969c4c487faa1986",
|
||||
"x86_64-apple-darwin-0.7.3":
|
||||
"d676940b51bdd5606b218bc2965fed67731f94ad07926045716acbf78626e09b",
|
||||
"x86_64-pc-windows-msvc-0.7.3":
|
||||
"20d3a420abbf2af9699cd9a02225d9325344046af8deb15563cc451e3c4fd059",
|
||||
"x86_64-unknown-linux-gnu-0.7.3":
|
||||
"17fc118ba4d7e9303f84fcabdc0a593fc3480ba76eb6980668fdbbb96fe88562",
|
||||
"x86_64-unknown-linux-musl-0.7.3":
|
||||
"325143825b88e7b0dadd1a8e8d3cbe4791d3cbbb9e2244350d917803fec8b3d1",
|
||||
"aarch64-apple-darwin-0.7.2":
|
||||
"8edc0bea8a9e35409f970b352036326393e79a6039577d8cc9ef63872c178a99",
|
||||
"aarch64-pc-windows-msvc-0.7.2":
|
||||
"a3d7affcd62e617bd2dd2a91fde679dd8d68a84762c8f3aaac294606ec14ffe5",
|
||||
"aarch64-unknown-linux-gnu-0.7.2":
|
||||
"2872fdf4785666575d129ba90590c44e6508e22584735f3e7e8a30d773dfc3db",
|
||||
"aarch64-unknown-linux-musl-0.7.2":
|
||||
"d5b31df40da794dab943c55e67d14fc111146e185b14a6de6eb749ee264a641c",
|
||||
"arm-unknown-linux-musleabihf-0.7.2":
|
||||
"fd203cef8c6cd775c2a5f7da31f69a72020a6c74b6fb808db3217ab04b70a038",
|
||||
"armv7-unknown-linux-gnueabihf-0.7.2":
|
||||
"b69999c29c759f5a47f71c1f328d6e7c489229efa5ce0e84afce026201730abb",
|
||||
"armv7-unknown-linux-musleabihf-0.7.2":
|
||||
"f98a827e198de2d0a7224ecad87eb64c18c9c0ed4f0c768456e9b48482015d2f",
|
||||
"i686-pc-windows-msvc-0.7.2":
|
||||
"8b06489b2cc8814fc23dae4562c5e7d500e782c2b0d2556529f515a4d1e0b8e3",
|
||||
"i686-unknown-linux-gnu-0.7.2":
|
||||
"36f26a496c6dc53703e070761ef96f07acc88eae868f94c4665f5c17a88d8acf",
|
||||
"i686-unknown-linux-musl-0.7.2":
|
||||
"763bf7cd2119c40858cbd0892fd9b2c7102c79e5c590800b2f8e9c2f427cb7d1",
|
||||
"powerpc64-unknown-linux-gnu-0.7.2":
|
||||
"bd4a42ed0b9ab725f0cb565ae29c338ea6ce0689ddb35da632535a47c891e72f",
|
||||
"powerpc64le-unknown-linux-gnu-0.7.2":
|
||||
"9a598869167b7e56ab971614972a2c486c8137681210094009a6fb61ac36699b",
|
||||
"s390x-unknown-linux-gnu-0.7.2":
|
||||
"7dd2240d60b1628869a2348ca0901cceee572bc20116ab04f9484ea0b6d40813",
|
||||
"x86_64-apple-darwin-0.7.2":
|
||||
"7d30b59d54900c97c492f3c07ff21cc3387a9e5bd8ca6db2d502462eaaeefd68",
|
||||
"x86_64-pc-windows-msvc-0.7.2":
|
||||
"35fd793df52fd13773425c9a97cc94cc13c8ee63abec6380b5083c183c688019",
|
||||
"x86_64-unknown-linux-gnu-0.7.2":
|
||||
"cfaab1b5166a6439ff66f020333d3a12bbdf622deee3b510718283e8f06c9de7",
|
||||
"x86_64-unknown-linux-musl-0.7.2":
|
||||
"dd10babf6c531597d246c97e55e32ca17b44fe251405fe539ec8ea2f22fac2d6",
|
||||
"aarch64-apple-darwin-0.7.1":
|
||||
"236d70d7738a5f41b45253d68665fda039fecee579939921e0795680d300f55f",
|
||||
"aarch64-pc-windows-msvc-0.7.1":
|
||||
"5fdbc703e6f22696ac053811e9750ff3cf50814aabf1792b9bc49f2647b836c6",
|
||||
"aarch64-unknown-linux-gnu-0.7.1":
|
||||
"ee8a98f485a22837be9e95eb55e4cd06db6c8deba94b6a2dd63d828fb5ef4226",
|
||||
"aarch64-unknown-linux-musl-0.7.1":
|
||||
"b65409802669913f5fd49ed6656d45c434aa9273fb864aefa0fbbb685b9834b6",
|
||||
"arm-unknown-linux-musleabihf-0.7.1":
|
||||
"96cfceb7716a9003750111c7f1a62aebccf02e0288f95bc670c69062d2ec6e61",
|
||||
"armv7-unknown-linux-gnueabihf-0.7.1":
|
||||
"f156bdedd8a969dc49a5e01f6b38c7e50a63cf69acf3b5982adfaf232dfcb80f",
|
||||
"armv7-unknown-linux-musleabihf-0.7.1":
|
||||
"ae21a9c0b413976a24c51f095603294ca36da9089813022cb9bae0b84f0be6de",
|
||||
"i686-pc-windows-msvc-0.7.1":
|
||||
"38a98c532e463169e8c4f1ae3649dd500c168f6db687e3b29570930c55ffedf7",
|
||||
"i686-unknown-linux-gnu-0.7.1":
|
||||
"133a41ae763d8474cc4ff8e0c24ab8cdaf422f261cbcc284f4b90b57aa60f3fe",
|
||||
"i686-unknown-linux-musl-0.7.1":
|
||||
"6e55fea1ee9a8c5c1d29b3aeb033a8b01d3895a347b27ee108ba94c53d60cfb7",
|
||||
"powerpc64-unknown-linux-gnu-0.7.1":
|
||||
"cd6714a55577d6eb0ecad313646a4ade3c7a4407e1a2a4703a2fbb83c88681d5",
|
||||
"powerpc64le-unknown-linux-gnu-0.7.1":
|
||||
"a354eda3a43323cf5445cfdf0197ebd4b36e967df9537e97910c47dcd9321aaa",
|
||||
"s390x-unknown-linux-gnu-0.7.1":
|
||||
"59d194c544a8a53186c3da6ac26f90ab0f453fae71fd2e0d4d177a8ed8890abb",
|
||||
"x86_64-apple-darwin-0.7.1":
|
||||
"a81e655cc0b6a5ccf9197f2dc0df513171e68804e498c17076d6e56b41234c5d",
|
||||
"x86_64-pc-windows-msvc-0.7.1":
|
||||
"b4d48072e384014ecd04ec5c544aee523ead1faaebcd428ba5f6abf2836096df",
|
||||
"x86_64-unknown-linux-gnu-0.7.1":
|
||||
"cec71afc57276b1857970d6ec96e110989c3e4ed0d81f0c4c11c1231970b7e56",
|
||||
"x86_64-unknown-linux-musl-0.7.1":
|
||||
"9b714ddf470795d5f1aa5c8111ea153139ae202216ffbe4105fb92f202e0b02b",
|
||||
"aarch64-apple-darwin-0.7.0":
|
||||
"964ebe641b563920e0650a60bf5ac21e6c8c56557704e5ecfaaad7ff62c3a73c",
|
||||
"aarch64-pc-windows-msvc-0.7.0":
|
||||
"c00950aa4b243e1043d1ec651fdfd71e5f4e5b80135b30fcf3b70fc201aeb1c4",
|
||||
"aarch64-unknown-linux-gnu-0.7.0":
|
||||
"540fcb8f2f972c82260a8063a6a4b496d7ff858edc42aa0e2c733a7b55ef8dd8",
|
||||
"aarch64-unknown-linux-musl-0.7.0":
|
||||
"f6367e288617021aba6176945ba20a7f8ea3b22a5f8896314a7d0acb863b533e",
|
||||
"arm-unknown-linux-musleabihf-0.7.0":
|
||||
"6fc85b25a4b3cb27b924e1f3181f96197667b7465fe52bf703afb5539d09c09c",
|
||||
"armv7-unknown-linux-gnueabihf-0.7.0":
|
||||
"035b46fde90a7ee4b48292ff9d116cc771b10d9e955d1979b1a1cd6b3998f602",
|
||||
"armv7-unknown-linux-musleabihf-0.7.0":
|
||||
"5f43390685fbb9f29d6075df1d492f9bf39cabb868bf37e0da3cd925c679b068",
|
||||
"i686-pc-windows-msvc-0.7.0":
|
||||
"f045db339b2acecc790d2071598275086978a99262d9c4b0c52189c26cba68a9",
|
||||
"i686-unknown-linux-gnu-0.7.0":
|
||||
"9936acd12616548a04ce6875aa125ea34f3b288181f2188bfb72d914965680be",
|
||||
"i686-unknown-linux-musl-0.7.0":
|
||||
"bfad15225152d9fa8769731b35dd53e0b39cba045900b6d43f90e655652af5b8",
|
||||
"powerpc64-unknown-linux-gnu-0.7.0":
|
||||
"91cfac9b5a9ba844c3ba90944e00bfb79da2983b7c6306bdb054c75ab3fea0fe",
|
||||
"powerpc64le-unknown-linux-gnu-0.7.0":
|
||||
"d690793c993a1a03049b7e7f3f0e41c94ba2c45b0155bdde917d550ecd4ee02d",
|
||||
"s390x-unknown-linux-gnu-0.7.0":
|
||||
"429ffee0dddd8c0c59e246fb89bef721d1ed22a4c051925d7dfafcfc7dce464f",
|
||||
"x86_64-apple-darwin-0.7.0":
|
||||
"dc5037f3ffbf8074b3ee63de7a73aa57421b0da0837a478e26317424dbab16f3",
|
||||
"x86_64-pc-windows-msvc-0.7.0":
|
||||
"62836c9d6e3f346d06c45fee4109be21ca9d1df8d087472dcc8d51815f182332",
|
||||
"x86_64-unknown-linux-gnu-0.7.0":
|
||||
"ca1e8196672bf04ccb926519f2071208a8d6c0ce02fb65bc7d0a85be1b684b0f",
|
||||
"x86_64-unknown-linux-musl-0.7.0":
|
||||
"08e1bb8fdea2c6d5edbe40ab1651de097b884020056c0925a9973582ff669d04",
|
||||
"aarch64-apple-darwin-0.6.17":
|
||||
"e686c73b9314c77a36a6a4c9f94b07c001f0c9157c50c63c764941141c0d0088",
|
||||
"aarch64-pc-windows-msvc-0.6.17":
|
||||
"3a9468e90df970f75759da6caed7dfde2816e0f3842031235c3835fc0c4e7d09",
|
||||
"aarch64-unknown-linux-gnu-0.6.17":
|
||||
"6fb716c36e8ca9cf98b7cb347b0ced41679145837eb22890ee5fa9d8b68ce9f5",
|
||||
"aarch64-unknown-linux-musl-0.6.17":
|
||||
"98750f5c0cd9eb520799d10649efb18441b616150f07e6c1125f616a3fd137e8",
|
||||
"arm-unknown-linux-musleabihf-0.6.17":
|
||||
"649d8d0f37e8365af5aaa012b09dd083d6e71018e569a4d2e78316d5013f18a7",
|
||||
"armv7-unknown-linux-gnueabihf-0.6.17":
|
||||
"efc12955d7a6120ea0be2de5ee03dbb33d0d7d9de9dbe0dce560514f2ee129d3",
|
||||
"armv7-unknown-linux-musleabihf-0.6.17":
|
||||
"0661d97df8262ef83ccdc6a55ed101abfe8f1cf1ff1be879d9b0d7d1e894c970",
|
||||
"i686-pc-windows-msvc-0.6.17":
|
||||
"56dea6c98e1606e95445e77177d7e3cd49bb3d1a63c81b11fe49bf733adb62a2",
|
||||
"i686-unknown-linux-gnu-0.6.17":
|
||||
"4bc37f8303a4a5aae1c309f08166884027f325b6872c418cfbaa2cf20a2b2ac5",
|
||||
"i686-unknown-linux-musl-0.6.17":
|
||||
"8ec08cca0806a9205ccf5758258c617b57e413b33275bcd861fca363e0eaddf7",
|
||||
"powerpc64-unknown-linux-gnu-0.6.17":
|
||||
"d33b70ab206e1ed0663e755506a11db3776787012bfe9d2b2138a90942f506be",
|
||||
"powerpc64le-unknown-linux-gnu-0.6.17":
|
||||
"cd91a579850fc45d3b786a654a2c0343836f007929b2e35de9606082eec5361f",
|
||||
"s390x-unknown-linux-gnu-0.6.17":
|
||||
"3c753a9d3485bbac23403a0b41a9e70ceeb586f3b4df891ced7ed27d4c6c542b",
|
||||
"x86_64-apple-darwin-0.6.17":
|
||||
"61e9bdc02aacdb994da6ea2a477b11b34c23fc09203237aeee8d3817daab012d",
|
||||
"x86_64-pc-windows-msvc-0.6.17":
|
||||
"32882cf98f646cafca003e7a7c471b7ff4ba977b681c9fa3b12cf908ba64af82",
|
||||
"x86_64-unknown-linux-gnu-0.6.17":
|
||||
"720ec28f7a94aa8cd91d3d57dec1434d64b9ae13d1dd6a25f4c0cdb837ba9cf6",
|
||||
"x86_64-unknown-linux-musl-0.6.17":
|
||||
"28bd6b50be068cc09d8a46b76f8c4b72271d471c6673a5bdb47793622e62224d",
|
||||
"aarch64-apple-darwin-0.6.16":
|
||||
"2b1ea0d5cf27375738f5f0f229587bc3590c0f501cb00bc48133a3d122d28364",
|
||||
"aarch64-pc-windows-msvc-0.6.16":
|
||||
"5abca187b8aecbdffef7547cb39a527168e4cb93d8d2e4ce14271f5831a4d902",
|
||||
"aarch64-unknown-linux-gnu-0.6.16":
|
||||
"a82f96ab5f285825f9acee6ac1563683c4940d80df2f08549cad43d37c7ba4a7",
|
||||
"aarch64-unknown-linux-musl-0.6.16":
|
||||
"ae3f793c62fe6ced80483d6c78cb49f06a01088bc5d86f1446a9b5988b2acecc",
|
||||
"arm-unknown-linux-musleabihf-0.6.16":
|
||||
"91f7f5a4eb97b7983a8e5421d5bfea8802064422ce2f535055f373726eb0aa9a",
|
||||
"armv7-unknown-linux-gnueabihf-0.6.16":
|
||||
"a4ffe043952bf4e757a5ca0f546bb83b055b6ee0646dd5c4f5e5f13dbc5ee8f8",
|
||||
"armv7-unknown-linux-musleabihf-0.6.16":
|
||||
"0237c8d9914e0d9fd2f022d6d5f91ce392d13e0ccbb7fa7ebe601296a67c3d6c",
|
||||
"i686-pc-windows-msvc-0.6.16":
|
||||
"f5c6400f07db2014b2b0c66770e1125fa70efe4dd99cc8351838bed0045c34f8",
|
||||
"i686-unknown-linux-gnu-0.6.16":
|
||||
"f46f89efcc599a6695e8378a1201e62cd4afb9a4438d65a89098ab11201f84ab",
|
||||
"i686-unknown-linux-musl-0.6.16":
|
||||
"afe69380a9d3592a87893d6bdc11ff33e4180b98f1e1fd4e626c0307d7598914",
|
||||
"powerpc64-unknown-linux-gnu-0.6.16":
|
||||
"bf455747580dbbf76cbcf616f67f825c40bd1bdec20c9ff993e03485f9eaad44",
|
||||
"powerpc64le-unknown-linux-gnu-0.6.16":
|
||||
"508ec561b1740a551d2b33e96671e0e8435a1bcc0e97080f3d7ba88a096bd360",
|
||||
"s390x-unknown-linux-gnu-0.6.16":
|
||||
"e25c5527826524f51f114388bff47871bf1ca67badbfd72d45427bdba4b46794",
|
||||
"x86_64-apple-darwin-0.6.16":
|
||||
"ce512b5e40a8ad2916a46df2bdba729d5541e4b3649a09aaddff6e525be012e4",
|
||||
"x86_64-pc-windows-msvc-0.6.16":
|
||||
"f1b4c24ec602b6c0b06b6bc64aa447bbe4cf313e93fbec326741961e80ffa8b7",
|
||||
"x86_64-unknown-linux-gnu-0.6.16":
|
||||
"e9ef28b675df68978a60f87192fb8c730b8bfca9bef42b121686b218ea0f6542",
|
||||
"x86_64-unknown-linux-musl-0.6.16":
|
||||
"25024557931d04cc34f80b818c7547c9c62b762ec6df807e30cb52f383fa2615",
|
||||
"aarch64-apple-darwin-0.6.15":
|
||||
"1c5b25f75c6438b6910dbc4c6903debe53f31ee14aee55d02243dfe7bf7c9f72",
|
||||
"aarch64-pc-windows-msvc-0.6.15":
|
||||
"317fe0b29e647aad1e9f02ffe764dcbbc6e2ef189f018c81b673884173ab98ba",
|
||||
"aarch64-unknown-linux-gnu-0.6.15":
|
||||
"3bf650aec162157b7e01461f41c2a9797366b6043452c6e7035c6c926d0a585b",
|
||||
"aarch64-unknown-linux-musl-0.6.15":
|
||||
"183cebae8c9d91bbd48219f9006a5c0c41c90a075d6724aec53a7ea0503c665a",
|
||||
"arm-unknown-linux-musleabihf-0.6.15":
|
||||
"d83c76e130ffb25fb6a4ba8ea5870207d810190733a14ae87084c63a417912f6",
|
||||
"armv7-unknown-linux-gnueabihf-0.6.15":
|
||||
"d661ec44e5fc7553cd8dd5ad5f48848c5a4d5279ba0df0036c0e2422ec9f312b",
|
||||
"armv7-unknown-linux-musleabihf-0.6.15":
|
||||
"6fc86a829965362f99602c47627b269c9b676731586a60ca5bb9d6069677938d",
|
||||
"i686-pc-windows-msvc-0.6.15":
|
||||
"7f15e3377e94fac882b33465cb8cbb24705f5c8d63d9d65c6f1b0816c1d30a0b",
|
||||
"i686-unknown-linux-gnu-0.6.15":
|
||||
"bfedd03be9f579a9bc10e6c25176017e514cca0500cfb9bba43794387a577661",
|
||||
"i686-unknown-linux-musl-0.6.15":
|
||||
"82bf8666c0a57514af4e5403f162314b710e1682e1065ab71a845ebb5d8db0b7",
|
||||
"powerpc64-unknown-linux-gnu-0.6.15":
|
||||
"6e9795344d61ee9ac497d6e03a447d808f2aab13925f30e44c00638abec57deb",
|
||||
"powerpc64le-unknown-linux-gnu-0.6.15":
|
||||
"e38f13284ed8b645b87ef07c8b549d1f1a5b746aa0411c2115dcd5cda0da13fc",
|
||||
"s390x-unknown-linux-gnu-0.6.15":
|
||||
"416f61249b330ea9735cda0c866c9460f87111bc9d4e040c98916fda6a45be09",
|
||||
"x86_64-apple-darwin-0.6.15":
|
||||
"97adf61511c0f6ea42c090443c38d8d71116b78ae626363f9f149924c91ae886",
|
||||
"x86_64-pc-windows-msvc-0.6.15":
|
||||
"10c75d566db1447f3bdcbcb31d6598e4b5f4ea638be5d8b73a7350929389512b",
|
||||
"x86_64-unknown-linux-gnu-0.6.15":
|
||||
"85d98ef282cdbfcb4020922f0c12421ecca4130f0a4570d3b827a15ffd544acc",
|
||||
"x86_64-unknown-linux-musl-0.6.15":
|
||||
"78289c93836cb32b8b24e3216b5b316e7fdf483365de2fc571844d308387e8a4",
|
||||
"aarch64-apple-darwin-0.6.14":
|
||||
"4ea4731010fbd1bc8e790e07f199f55a5c7c2c732e9b77f85e302b0bee61b756",
|
||||
"aarch64-pc-windows-msvc-0.6.14":
|
||||
"7b0b3367c4060c9b47b961201ceb4252e97496c890ad1bd13c664bf5b0744d57",
|
||||
"aarch64-unknown-linux-gnu-0.6.14":
|
||||
"ea25597354af186bdd55aee0de431e16d45d82951a4f41f065a8e4dc27885265",
|
||||
"aarch64-unknown-linux-musl-0.6.14":
|
||||
"94e22c4be44d205def456427639ca5ca1c1a9e29acc31808a7b28fdd5dcf7f17",
|
||||
"arm-unknown-linux-musleabihf-0.6.14":
|
||||
"de00f51ff804c145f9a0a13ead54e1ed08d317fac690477312cf9430ed43e62e",
|
||||
"armv7-unknown-linux-gnueabihf-0.6.14":
|
||||
"d73b09f23c7056b3b5318edf670ebc8d2eac5adfdd4f4ee46796723298f21e18",
|
||||
"armv7-unknown-linux-musleabihf-0.6.14":
|
||||
"f7844b89c77d1d57ca28a25b6b2e16a5bb3605ccf1dd9dc17ce641a2fa2d8b29",
|
||||
"i686-pc-windows-msvc-0.6.14":
|
||||
"4e9f9ccc229a03d923213b8b4c7b373cd8bb941984f421de17fe9dac3d5491e9",
|
||||
"i686-unknown-linux-gnu-0.6.14":
|
||||
"32c967c3dd80ecc9006a30be1a9c8ec77d63aa8080b78787d4ec0f79db12dbe4",
|
||||
"i686-unknown-linux-musl-0.6.14":
|
||||
"c5a484d15049fd2b8ea9a7bbf0f968614819a7eda769f35c202e01e1904f6458",
|
||||
"powerpc64-unknown-linux-gnu-0.6.14":
|
||||
"79abdc4c6e566e98067dc4b612f1fca5cb384b964553a0b8e0f5c40885ff3db8",
|
||||
"powerpc64le-unknown-linux-gnu-0.6.14":
|
||||
"2eae20cf66ba5de1b7ac180458e4f2a889cd705637626e01c400f73f07dd0491",
|
||||
"s390x-unknown-linux-gnu-0.6.14":
|
||||
"a51f8319b2b334c1392d3927e925b46c62ac584eb35b944d384f0af227cf0f36",
|
||||
"x86_64-apple-darwin-0.6.14":
|
||||
"1d8ecb2eb3b68fb50e4249dc96ac9d2458dc24068848f04f4c5b42af2fd26552",
|
||||
"x86_64-pc-windows-msvc-0.6.14":
|
||||
"93b29fc234758e381df461d7638ff73d0f08bdf3a0dc37923b1ee0b9e442ca3f",
|
||||
"x86_64-unknown-linux-gnu-0.6.14":
|
||||
"0aaf451c391d3913823bfb8ed354b446dcfd0553a32ed8266611e4181c61fd51",
|
||||
"x86_64-unknown-linux-musl-0.6.14":
|
||||
"0cac4df0cb3457b154f2039ae471e89cd4e15f3bd790bbb3cb0b8b40d940b93e",
|
||||
"aarch64-apple-darwin-0.6.13":
|
||||
"0ddb8458634cc3a02799b6da839cb546dff9dabc6f3394912c48dd479016683b",
|
||||
"aarch64-pc-windows-msvc-0.6.13":
|
||||
"3f3d6aa73b4859469fa3ad7efca3e5d0dba1112292c91d5c5f740983f16a8d8a",
|
||||
"aarch64-unknown-linux-gnu-0.6.13":
|
||||
"ac0c723663ff76183077cc9aa91dcd0b5100081d87f93e1ba482930e0a584e90",
|
||||
"aarch64-unknown-linux-musl-0.6.13":
|
||||
"379a5c48f6e3eb32c2d16022c0a4fc10cdfcca3543b75e2e9d819d62fead6a75",
|
||||
"arm-unknown-linux-musleabihf-0.6.13":
|
||||
"ba1f630a299cfdd456b93a8b41e20bd2ad37a86aac884aca4efd722a62a26bb8",
|
||||
"armv7-unknown-linux-gnueabihf-0.6.13":
|
||||
"1d55eb46510db8f169bb9be6fbd3a6ff34aa52340dff5eda0acdcb1b834e8bee",
|
||||
"armv7-unknown-linux-musleabihf-0.6.13":
|
||||
"dc86e9d807ac324eed2e4a73fec341618ea288826a27143b8b695565a35f1b70",
|
||||
"i686-pc-windows-msvc-0.6.13":
|
||||
"08367c3a04cf4da1c3ac6784431421de1efb8584ba68b8017efcd5e889d4a2a2",
|
||||
"i686-unknown-linux-gnu-0.6.13":
|
||||
"2896a75940761a2ce90a8a650da02d6766de0b9990dfa6a99cd94fd3d1e6c530",
|
||||
"i686-unknown-linux-musl-0.6.13":
|
||||
"29e64ef33ff2d7dcbbb3167bc7241de3b9d258fb39a6a992dfc847f1b968d32d",
|
||||
"powerpc64-unknown-linux-gnu-0.6.13":
|
||||
"cdd2ba090ce9e3ed66a94bfe95b45a584bd5b9e45626836993f1279290b1a95e",
|
||||
"powerpc64le-unknown-linux-gnu-0.6.13":
|
||||
"88830c596ef2a875a0c73aefda48e8398fdafe4eb4acecbee0b44a7995e9dc13",
|
||||
"s390x-unknown-linux-gnu-0.6.13":
|
||||
"49e494038871006e36b404f0559f1c831b3e68692986b3c67510a675028c9696",
|
||||
"x86_64-apple-darwin-0.6.13":
|
||||
"ed240854d97f7b234082f5a0ce734869a4310d86d46a819860bbce6d7df8b2eb",
|
||||
"x86_64-pc-windows-msvc-0.6.13":
|
||||
"19bb08768fd3b8664068cc45faa633ee110bfef4215e560bc1e5833b1bc6c30e",
|
||||
"x86_64-unknown-linux-gnu-0.6.13":
|
||||
"f6788fd45a25ea1033a671eaa9ece6c9b004ce5c9cf09552effadde567a7d7a5",
|
||||
"x86_64-unknown-linux-musl-0.6.13":
|
||||
"779560faf6a21b5a6dbc2664c2dfbde2b9387b1f486c9197a9f4d143a3b66875",
|
||||
"aarch64-apple-darwin-0.6.12":
|
||||
"fab8db5b62da1e945524b8d1a9d4946fcc6d9b77ec0cab423d953e82159967ac",
|
||||
"aarch64-pc-windows-msvc-0.6.12":
|
||||
"d72d8cf0633dc40198a868e906442bc6bacfa38c3b807c26bcbf3fc364af5d96",
|
||||
"aarch64-unknown-linux-gnu-0.6.12":
|
||||
"d867553e5ea19f9cea08e564179d909c69ecfce5e7e382099d1844dbf1c9878c",
|
||||
"aarch64-unknown-linux-musl-0.6.12":
|
||||
"e999ae0679bfabe8a1e6343b8b204a531a6c851e315caff9b326f34182884af6",
|
||||
"arm-unknown-linux-musleabihf-0.6.12":
|
||||
"da8d0700ec5e0cb0b2f20cc20834b48d5927197042e49bea5eef7fd139d72fe9",
|
||||
"armv7-unknown-linux-gnueabihf-0.6.12":
|
||||
"b5dedaca5fbb46f412c5426102eec7c9f10003a67dd41b943232e4a2b6a5cc16",
|
||||
"armv7-unknown-linux-musleabihf-0.6.12":
|
||||
"8fb6c1b16f8b3c2aa4073cd02729432f9afd9389f110850aed8228464fa37398",
|
||||
"i686-pc-windows-msvc-0.6.12":
|
||||
"23431d1a798aee234bd7b271bce306fbd760c91d98e19a314ddd890a065aff83",
|
||||
"i686-unknown-linux-gnu-0.6.12":
|
||||
"d0774e847de6c0fe6a9c3aba44b7d400261d01171ae32da60c472eb410691785",
|
||||
"i686-unknown-linux-musl-0.6.12":
|
||||
"02e4503b244cbb18d2fa14b3a7e9433fe437e767ffcbfc39c5f0fdff9b8dd65e",
|
||||
"powerpc64-unknown-linux-gnu-0.6.12":
|
||||
"046b43cf8af74d8892e9559e8b3181ec1e4045a4910a4dfdd00b110694c93188",
|
||||
"powerpc64le-unknown-linux-gnu-0.6.12":
|
||||
"e61ba76fa6dfd6041c985881c024385c31d544d6a182d1a050da7594438f073f",
|
||||
"s390x-unknown-linux-gnu-0.6.12":
|
||||
"6eae67730009eb4f8ad7a4e5733ab69b6c4dcb21b482f4567015e3e6d0729357",
|
||||
"x86_64-apple-darwin-0.6.12":
|
||||
"5b6ee08766de11dc49ee9e292333e8b46ef2ceaaa3ebb0388467e114fca2ed8c",
|
||||
"x86_64-pc-windows-msvc-0.6.12":
|
||||
"30fdf26c209f0cb7c97d3b08a26ab4e78ce5ae0e031b88798cbaccc0f24f452b",
|
||||
"x86_64-unknown-linux-gnu-0.6.12":
|
||||
"eec3ccf53616e00905279a302bc043451bd96ca71a159a2ac3199452ac914c26",
|
||||
"x86_64-unknown-linux-musl-0.6.12":
|
||||
"25f055a556576003fefc0f5fd213bf3c6df1824d4c7fc35e6361fbecc420139f",
|
||||
"aarch64-apple-darwin-0.6.11":
|
||||
"a5b14a92448b908d1a5415f2a49522010fef8972695e2f7bbb4e5c5f88024573",
|
||||
"aarch64-pc-windows-msvc-0.6.11":
|
||||
"858e523d9498a332aab093852c30c524bbd94622137dd6f773d19da14ac920b4",
|
||||
"aarch64-unknown-linux-gnu-0.6.11":
|
||||
"5384098938893f060b8b47e606918c271a419b52eedda1546a4d6febae4b0c06",
|
||||
"aarch64-unknown-linux-musl-0.6.11":
|
||||
"de20c247ef6a6bc0948e611ace3f3f321c098d7bf75b737f169c1db06b4f4d69",
|
||||
"arm-unknown-linux-musleabihf-0.6.11":
|
||||
"76a1558e2cb8d0e5e646a0cf8a204b53d3779221bea3af50b204c8d28532daa7",
|
||||
"armv7-unknown-linux-gnueabihf-0.6.11":
|
||||
"5abacc141dabb6071fcc3a19a301874083c6cc4a36d6eb6b0654a276efbfd33b",
|
||||
"armv7-unknown-linux-musleabihf-0.6.11":
|
||||
"cf05ab1fe44494cc490ec5c29578e200a3c195b395e67fe62d45be9a4c897d06",
|
||||
"i686-pc-windows-msvc-0.6.11":
|
||||
"331e94f1db12fa92266f764f63586d8c18e6cea5d37d430af2eb7673f108e874",
|
||||
"i686-unknown-linux-gnu-0.6.11":
|
||||
"b9d193f28736c3166f533c61fc4a2e8e8a4c7961c6bd46e17c3db66f750ef4b6",
|
||||
"i686-unknown-linux-musl-0.6.11":
|
||||
"dfa735baacc13ba9962fb9b7167599407aa733bfc7853824a785773769c58ed5",
|
||||
"powerpc64-unknown-linux-gnu-0.6.11":
|
||||
"b79060dc0726a1fc8a4458a80fb1ce0489198dd3ad334fe54bb7926e473750ed",
|
||||
"powerpc64le-unknown-linux-gnu-0.6.11":
|
||||
"ebd219d0b5f0a60a584ebb88e1379c616e746cabaaf79608d54be5919d742ee3",
|
||||
"s390x-unknown-linux-gnu-0.6.11":
|
||||
"3b5563127303c16e0531c1fd13356763decc0ea91b860eb5f63c3108a275aa2c",
|
||||
"x86_64-apple-darwin-0.6.11":
|
||||
"099b163ce5098558ccdc1df54bdcf8b02eb11364458095e95f8dd54ff8984d96",
|
||||
"x86_64-pc-windows-msvc-0.6.11":
|
||||
"292ade13fc2e1530d0021ec7fd42526df58a8436974b8a5b829685db856e667e",
|
||||
"x86_64-unknown-linux-gnu-0.6.11":
|
||||
"c19b3be7ac26f8b211f7a5f07f01a77fd4d2b6205ff257790770a585f7f5bda4",
|
||||
"x86_64-unknown-linux-musl-0.6.11":
|
||||
"23aabfa5d0bde26d151eaf31a392595a5c88e74e0bc804351b02fbb0328f8aaa",
|
||||
"aarch64-apple-darwin-0.6.10":
|
||||
"82bf2cb3b34ab504eb08486093c9e97cfaf5299da4d4a60e14b6642a2a2e9b8e",
|
||||
"aarch64-pc-windows-msvc-0.6.10":
|
||||
"afc3c1ed78273843417b781fd30b263ba417dcfd05ef9a65be50eec7aa500f20",
|
||||
"aarch64-unknown-linux-gnu-0.6.10":
|
||||
"527f0adc3bcf841a3a0df0d3fef8db277b8afffac588d80948638719b611a8c2",
|
||||
"aarch64-unknown-linux-musl-0.6.10":
|
||||
"36c36aafdf4b2fb8040d0b8db2eaa4b3f44260a689a6e789bc1cd95689e890bc",
|
||||
"arm-unknown-linux-musleabihf-0.6.10":
|
||||
"abef3136f0da26055368df298f3379bbd0d6776ba7e7a0c12275e403136408d8",
|
||||
"armv7-unknown-linux-gnueabihf-0.6.10":
|
||||
"8b776d606b3b9566ae659ab8b2c767e771f1f3e2e632b4c634ff80b26796795f",
|
||||
"armv7-unknown-linux-musleabihf-0.6.10":
|
||||
"d5af6869e1f69753e9ac2b8bacadd6356f84f373b0f6edfda60dc85c194d3a6b",
|
||||
"i686-pc-windows-msvc-0.6.10":
|
||||
"ff6c580750d6bdbca1cb7c64601ebf0f079cc6d8ab79df6472e5fd61e4f89cf9",
|
||||
"i686-unknown-linux-gnu-0.6.10":
|
||||
"978e8d7b495251d842250045a3f15c59e9fe148d09538aa322d4c045db632cc3",
|
||||
"i686-unknown-linux-musl-0.6.10":
|
||||
"432c0609dec5d196f516639de8845fdf9393b4591978a927f6b2bfa92edd0220",
|
||||
"powerpc64-unknown-linux-gnu-0.6.10":
|
||||
"ec4285062cc4bec8aa7f95efba227c4ee3301503938735902fdd896c3ef8ec7f",
|
||||
"powerpc64le-unknown-linux-gnu-0.6.10":
|
||||
"d1dcbdd11b133bcce003aa48be6710a56f1c938eff496eb021dbeac8c09b5c2d",
|
||||
"s390x-unknown-linux-gnu-0.6.10":
|
||||
"4a68f92213c567a8d2bc22ccc10a328f3dd851967f315c517fc1eb52c8f58ed5",
|
||||
"x86_64-apple-darwin-0.6.10":
|
||||
"ddd27652b1a4053b848e35c348500841a8fde38e8ac2b37233464ab91e8f7788",
|
||||
"x86_64-pc-windows-msvc-0.6.10":
|
||||
"c41c4f34782558d3263f7a51e4efd053bc4d074dc46fefa574c4fdb2ed0a00e1",
|
||||
"x86_64-unknown-linux-gnu-0.6.10":
|
||||
"d58885f055fdb726d12cdd1cc54119432a0e4557c8e8ba04ca1d625058b98832",
|
||||
"x86_64-unknown-linux-musl-0.6.10":
|
||||
"1bdeaa0396405a30c4bff35b2d7c9df832836da50eec132ccc0d92657a336c4c",
|
||||
"aarch64-apple-darwin-0.6.9":
|
||||
"a6841484affb3c123313df98bcd8932208bdfb3d9d90a72aec274e8a696caa88",
|
||||
"aarch64-pc-windows-msvc-0.6.9":
|
||||
"bdb7e5eebaa5bb807f2c665b909dbba4bce6f23adf774134924a4a3c6acd4e72",
|
||||
"aarch64-unknown-linux-gnu-0.6.9":
|
||||
"f5032ad47151c7906c0fb25f7c3b00a85ab0bfed2170cbc444e79c438799095b",
|
||||
"aarch64-unknown-linux-musl-0.6.9":
|
||||
"4de15999c38a0e57a3708eccb1fe3295b3d1c0c69410029b16e5e42452d232a9",
|
||||
"arm-unknown-linux-musleabihf-0.6.9":
|
||||
"1a228a1cc86689894c771d0b4635b74708db416c240cfbdc36ddd87c90ae0eb0",
|
||||
"armv7-unknown-linux-gnueabihf-0.6.9":
|
||||
"a9a307d6b3e6a3500aa0102ff7b03cccebe2a9af40130df97382688574afc637",
|
||||
"armv7-unknown-linux-musleabihf-0.6.9":
|
||||
"2cf77dcd0e73b323c5f10120452f6ef34191cab3bb8061ee01d5e62706af7493",
|
||||
"i686-pc-windows-msvc-0.6.9":
|
||||
"709d6d7e6d0e8244b4d51ac9ef0f373d2ac2cb20570e8bdf71c84ccab8c8cba0",
|
||||
"i686-unknown-linux-gnu-0.6.9":
|
||||
"4000a6fd98af6ed84c9a7c2f06019cab5f4a8cfa4e5a9c37b6984e4c7cae1df2",
|
||||
"i686-unknown-linux-musl-0.6.9":
|
||||
"d227586d574264922f344cf98b0f469335ce52d3443619d15448140b44ff8204",
|
||||
"powerpc64-unknown-linux-gnu-0.6.9":
|
||||
"f12b8dbc8ed1ca24dfadbd3969730ab9c2cf797e117cdb508732f49b9fa4b620",
|
||||
"powerpc64le-unknown-linux-gnu-0.6.9":
|
||||
"451cd936bd35405c1cf2d0b63c975d5490e2646f1516b9bcb27af66688946903",
|
||||
"s390x-unknown-linux-gnu-0.6.9":
|
||||
"e25ec6762b68383abfbecb1ec24c1eda52a64dc67866021280c649ef3813726f",
|
||||
"x86_64-apple-darwin-0.6.9":
|
||||
"96eb2bfbe2bb3b74836aa5d6f563ae21bbb9e071148adfda1e67000735a020a3",
|
||||
"x86_64-pc-windows-msvc-0.6.9":
|
||||
"4d959abc2517c38b5527e3368b6755d66ecbb85679a9b2b34b7a78796c6cf7f8",
|
||||
"x86_64-unknown-linux-gnu-0.6.9":
|
||||
"001b87a0c2ea642a3c75a98c6af3e8528aa473d560e653cf213efcc9aaa4a028",
|
||||
"x86_64-unknown-linux-musl-0.6.9":
|
||||
"2b2914da53f9412a1aad7457cee424680da037e6a49c378365c3b5ff5ef0b926",
|
||||
"aarch64-apple-darwin-0.6.8":
|
||||
"e4f83fc42d9735512198c2d86a6fc136e2f5a2b59b3ccc4f104018ed07465499",
|
||||
"aarch64-pc-windows-msvc-0.6.8":
|
||||
"5619c7fbc026544c8cc77ade994ef79e799fc521a050268172aa47826f364834",
|
||||
"aarch64-unknown-linux-gnu-0.6.8":
|
||||
"3ffcaa4f4dba917fa58484a1c3dcb96a958a4baca0204e9c10a4799f81b9ee2f",
|
||||
"aarch64-unknown-linux-musl-0.6.8":
|
||||
"c1d4504ee47d8577761989c9daa4bbd1b93e5d04056215584a0415ad8738b0f9",
|
||||
"arm-unknown-linux-musleabihf-0.6.8":
|
||||
"7280cb1425787faf335bed8e9f2d575bcb179e1b19489ee7984c546d6ef07fff",
|
||||
"armv7-unknown-linux-gnueabihf-0.6.8":
|
||||
"6753d79f3f8e1556a855912f0f859b039b67e591332f6ee794e2c51f2eda1658",
|
||||
"armv7-unknown-linux-musleabihf-0.6.8":
|
||||
"ba73e8503d3ded103cc1fd946bd307f5b986e096d673296eb616f2edb6cf23aa",
|
||||
"i686-pc-windows-msvc-0.6.8":
|
||||
"c28ab471753368b79887fd5cbd12b002704fa7fb2e96b0f5a98277e4f1d8572a",
|
||||
"i686-unknown-linux-gnu-0.6.8":
|
||||
"df60b14b5b6bf29c75c06d8d04b0dd358070bf91f19c6f23afaf738fd05fa271",
|
||||
"i686-unknown-linux-musl-0.6.8":
|
||||
"b1e92aabb97fa356e8f0d4b61f698e0f372b6a5582df949ffbcc60565e7a9c7a",
|
||||
"powerpc64-unknown-linux-gnu-0.6.8":
|
||||
"a18998d2f8f426b1ccf1f6c7ec279dd35ccc1cbe76d90b185e453e6b199df245",
|
||||
"powerpc64le-unknown-linux-gnu-0.6.8":
|
||||
"0d7460fe945a7ed48a9236d50f683a5eb937f22eaa605f4e6eb6a5f9cdf3676e",
|
||||
"s390x-unknown-linux-gnu-0.6.8":
|
||||
"127a7d547be5029b29532f937822332fed690e135d0a97ec9574d43904a4622a",
|
||||
"x86_64-apple-darwin-0.6.8":
|
||||
"e069e79f6e0c430d7beaca3025b398980357b8b5c6faa7191032e20d5ee75970",
|
||||
"x86_64-pc-windows-msvc-0.6.8":
|
||||
"d31c3d01ca3e1a75e15ed9514c135239770b6b40a99cae716661e28e433aa495",
|
||||
"x86_64-unknown-linux-gnu-0.6.8":
|
||||
"2378ea0122bd56a11ee7ae2ad6116c1f22f4657c03b9efb78ac150236bf7974c",
|
||||
"x86_64-unknown-linux-musl-0.6.8":
|
||||
"58902317e1872994b5e707c3c77f4cbf3010104d4b07990a5110bbc09f3e9b8a",
|
||||
"aarch64-apple-darwin-0.6.7":
|
||||
"1a4d04477893c215e3def30149208fabe58a70d031388684d0125f553e3cd74f",
|
||||
"aarch64-pc-windows-msvc-0.6.7":
|
||||
"1c6de0c79ad35baadb61f6be7a014f3114a320809868b4ccb09c4d16b7118b48",
|
||||
"aarch64-unknown-linux-gnu-0.6.7":
|
||||
"b64c4ec32d55bd8e8b726b3162be0dfb3c117c3ca4cd798862497d33fe68e7b9",
|
||||
"aarch64-unknown-linux-musl-0.6.7":
|
||||
"df9e1b9530ad63085b66936e65cca107acc98197856e2ac22b896b1ab3936ac4",
|
||||
"arm-unknown-linux-musleabihf-0.6.7":
|
||||
"03a4b36d50fe4f0e50845559a524ed75610762072075c411f7ed84479e6c736d",
|
||||
"armv7-unknown-linux-gnueabihf-0.6.7":
|
||||
"a877f7697375f6b19d3b537c5152cbb3d86430120b20d957cfa7c084e6b79d6c",
|
||||
"armv7-unknown-linux-musleabihf-0.6.7":
|
||||
"e337a7dd6b86c842dac78041acfa9d9402662d5a8cede1d0ae694c9c17057162",
|
||||
"i686-pc-windows-msvc-0.6.7":
|
||||
"33002d9f1dab894f48254f43b4b882f6c88078d70ace883ed29fcde82616bbb0",
|
||||
"i686-unknown-linux-gnu-0.6.7":
|
||||
"b5f04a274f96aa41e8094b1c4355632f6caa9dfb7e62a45908950ca1c5d3fb38",
|
||||
"i686-unknown-linux-musl-0.6.7":
|
||||
"bd56de94a3ffac99a06fc0d37e7cb45e1c35ba275924b5ed502da833dc712d12",
|
||||
"powerpc64-unknown-linux-gnu-0.6.7":
|
||||
"57c668908878e1b12c726efc0439cd609697892a22e1e43c0ebb520ef2995a27",
|
||||
"powerpc64le-unknown-linux-gnu-0.6.7":
|
||||
"abe3004c0fc468e89ddcf8490991c7fc83abc9d9f6e6a29c59473541265e8bd5",
|
||||
"s390x-unknown-linux-gnu-0.6.7":
|
||||
"b6c60b7b907f871880a9be43294b02f84be5ec3187b1a16d7705f5beb622e01a",
|
||||
"x86_64-apple-darwin-0.6.7":
|
||||
"680be39f40bf00a8c3a6776e9ddaa9c3c18ef2efbb0c1a9a854b333660ca8678",
|
||||
"x86_64-pc-windows-msvc-0.6.7":
|
||||
"11b902b07e98331cef0d648c182c6aa1f279cde688c4411eb9153dc957d48f90",
|
||||
"x86_64-unknown-linux-gnu-0.6.7":
|
||||
"601c2b1147117c4471a154b4cebbdb31c818105f796d5f8115fe42d2526689c8",
|
||||
"x86_64-unknown-linux-musl-0.6.7":
|
||||
"a31bd6916eff780a7a44c84c194f4f8b70a8250b9175b3839ce2d4403fd735de",
|
||||
"aarch64-apple-darwin-0.6.6":
|
||||
"d0fb047593122746c7529960f8efd5d7d10d2cb230302f71158e9765ad37727b",
|
||||
"aarch64-pc-windows-msvc-0.6.6":
|
||||
|
||||
@@ -1,16 +1,11 @@
|
||||
import * as core from "@actions/core";
|
||||
import * as tc from "@actions/tool-cache";
|
||||
import * as path from "node:path";
|
||||
import * as pep440 from "@renovatebot/pep440";
|
||||
import { promises as fs } from "node:fs";
|
||||
import { OWNER, REPO, TOOL_CACHE_NAME } from "../utils/constants";
|
||||
import type { Architecture, Platform } from "../utils/platforms";
|
||||
import { validateChecksum } from "./checksum/checksum";
|
||||
import { Octokit } from "../utils/octokit";
|
||||
import {
|
||||
getDownloadUrl,
|
||||
getLatestKnownVersion as getLatestVersionInManifest,
|
||||
} from "./version-manifest";
|
||||
|
||||
export function tryGetFromToolCache(
|
||||
arch: Architecture,
|
||||
@@ -27,85 +22,36 @@ export function tryGetFromToolCache(
|
||||
return { version: resolvedVersion, installedPath };
|
||||
}
|
||||
|
||||
export async function downloadVersionFromGithub(
|
||||
serverUrl: string,
|
||||
export async function downloadVersion(
|
||||
platform: Platform,
|
||||
arch: Architecture,
|
||||
version: string,
|
||||
checkSum: string | undefined,
|
||||
githubToken: string,
|
||||
): Promise<{ version: string; cachedToolDir: string }> {
|
||||
const resolvedVersion = await resolveVersion(version, githubToken);
|
||||
const artifact = `uv-${arch}-${platform}`;
|
||||
const extension = getExtension(platform);
|
||||
const downloadUrl = `${serverUrl}/${OWNER}/${REPO}/releases/download/${version}/${artifact}${extension}`;
|
||||
return await downloadVersion(
|
||||
downloadUrl,
|
||||
artifact,
|
||||
platform,
|
||||
arch,
|
||||
version,
|
||||
checkSum,
|
||||
githubToken,
|
||||
);
|
||||
}
|
||||
|
||||
export async function downloadVersionFromManifest(
|
||||
manifestUrl: string | undefined,
|
||||
platform: Platform,
|
||||
arch: Architecture,
|
||||
version: string,
|
||||
checkSum: string | undefined,
|
||||
githubToken: string,
|
||||
): Promise<{ version: string; cachedToolDir: string }> {
|
||||
const downloadUrl = await getDownloadUrl(
|
||||
manifestUrl,
|
||||
version,
|
||||
arch,
|
||||
platform,
|
||||
);
|
||||
if (!downloadUrl) {
|
||||
core.warning(
|
||||
`manifest-file does not contain version ${version}, arch ${arch}, platform ${platform}. Falling back to GitHub releases.`,
|
||||
);
|
||||
return await downloadVersionFromGithub(
|
||||
"https://github.com",
|
||||
platform,
|
||||
arch,
|
||||
version,
|
||||
checkSum,
|
||||
githubToken,
|
||||
);
|
||||
let extension = ".tar.gz";
|
||||
if (platform === "pc-windows-msvc") {
|
||||
extension = ".zip";
|
||||
}
|
||||
return await downloadVersion(
|
||||
downloadUrl,
|
||||
`uv-${arch}-${platform}`,
|
||||
platform,
|
||||
arch,
|
||||
version,
|
||||
checkSum,
|
||||
githubToken,
|
||||
);
|
||||
}
|
||||
|
||||
async function downloadVersion(
|
||||
downloadUrl: string,
|
||||
artifactName: string,
|
||||
platform: Platform,
|
||||
arch: Architecture,
|
||||
version: string,
|
||||
checkSum: string | undefined,
|
||||
githubToken: string,
|
||||
): Promise<{ version: string; cachedToolDir: string }> {
|
||||
const downloadUrl = `https://github.com/${OWNER}/${REPO}/releases/download/${resolvedVersion}/${artifact}${extension}`;
|
||||
core.info(`Downloading uv from "${downloadUrl}" ...`);
|
||||
|
||||
const downloadPath = await tc.downloadTool(
|
||||
downloadUrl,
|
||||
undefined,
|
||||
githubToken,
|
||||
);
|
||||
await validateChecksum(checkSum, downloadPath, arch, platform, version);
|
||||
await validateChecksum(
|
||||
checkSum,
|
||||
downloadPath,
|
||||
arch,
|
||||
platform,
|
||||
resolvedVersion,
|
||||
);
|
||||
|
||||
let uvDir: string;
|
||||
const extension = getExtension(platform);
|
||||
if (platform === "pc-windows-msvc") {
|
||||
const fullPathWithExtension = `${downloadPath}${extension}`;
|
||||
await fs.copyFile(downloadPath, fullPathWithExtension);
|
||||
@@ -113,47 +59,34 @@ async function downloadVersion(
|
||||
// On windows extracting the zip does not create an intermediate directory
|
||||
} else {
|
||||
const extractedDir = await tc.extractTar(downloadPath);
|
||||
uvDir = path.join(extractedDir, artifactName);
|
||||
uvDir = path.join(extractedDir, artifact);
|
||||
}
|
||||
const cachedToolDir = await tc.cacheDir(
|
||||
uvDir,
|
||||
TOOL_CACHE_NAME,
|
||||
version,
|
||||
resolvedVersion,
|
||||
arch,
|
||||
);
|
||||
return { version: version, cachedToolDir };
|
||||
}
|
||||
|
||||
function getExtension(platform: Platform): string {
|
||||
return platform === "pc-windows-msvc" ? ".zip" : ".tar.gz";
|
||||
return { version: resolvedVersion, cachedToolDir };
|
||||
}
|
||||
|
||||
export async function resolveVersion(
|
||||
versionInput: string,
|
||||
manifestFile: string | undefined,
|
||||
githubToken: string,
|
||||
): Promise<string> {
|
||||
core.debug(`Resolving version: ${versionInput}`);
|
||||
let version: string;
|
||||
if (manifestFile) {
|
||||
version =
|
||||
versionInput === "latest"
|
||||
? await getLatestVersionInManifest(manifestFile)
|
||||
: versionInput;
|
||||
} else {
|
||||
version =
|
||||
versionInput === "latest"
|
||||
? await getLatestVersion(githubToken)
|
||||
: versionInput;
|
||||
}
|
||||
const version =
|
||||
versionInput === "latest"
|
||||
? await getLatestVersion(githubToken)
|
||||
: versionInput;
|
||||
if (tc.isExplicitVersion(version)) {
|
||||
core.debug(`Version ${version} is an explicit version.`);
|
||||
return version;
|
||||
}
|
||||
const availableVersions = await getAvailableVersions(githubToken);
|
||||
core.debug(`Available versions: ${availableVersions}`);
|
||||
const resolvedVersion = maxSatisfying(availableVersions, version);
|
||||
if (resolvedVersion === undefined) {
|
||||
const resolvedVersion = tc.evaluateVersions(availableVersions, version);
|
||||
if (resolvedVersion === "") {
|
||||
throw new Error(`No version found for ${version}`);
|
||||
}
|
||||
return resolvedVersion;
|
||||
@@ -221,22 +154,3 @@ async function getLatestRelease(octokit: InstanceType<typeof Octokit>) {
|
||||
});
|
||||
return latestRelease;
|
||||
}
|
||||
|
||||
function maxSatisfying(
|
||||
versions: string[],
|
||||
version: string,
|
||||
): string | undefined {
|
||||
const maxSemver = tc.evaluateVersions(versions, version);
|
||||
if (maxSemver !== "") {
|
||||
core.debug(`Found a version that satisfies the semver range: ${maxSemver}`);
|
||||
return maxSemver;
|
||||
}
|
||||
const maxPep440 = pep440.maxSatisfying(versions, version);
|
||||
if (maxPep440 !== null) {
|
||||
core.debug(
|
||||
`Found a version that satisfies the pep440 specifier: ${maxPep440}`,
|
||||
);
|
||||
return maxPep440;
|
||||
}
|
||||
return undefined;
|
||||
}
|
||||
|
||||
@@ -1,91 +0,0 @@
|
||||
import { promises as fs } from "node:fs";
|
||||
import * as core from "@actions/core";
|
||||
import * as semver from "semver";
|
||||
import { fetch } from "../utils/fetch";
|
||||
import { join } from "node:path";
|
||||
|
||||
const localManifestFile = join(__dirname, "..", "..", "version-manifest.json");
|
||||
|
||||
interface ManifestEntry {
|
||||
version: string;
|
||||
artifactName: string;
|
||||
arch: string;
|
||||
platform: string;
|
||||
downloadUrl: string;
|
||||
}
|
||||
|
||||
export async function getLatestKnownVersion(
|
||||
manifestUrl: string | undefined,
|
||||
): Promise<string> {
|
||||
const manifestEntries = await getManifestEntries(manifestUrl);
|
||||
return manifestEntries.reduce((a, b) =>
|
||||
semver.gt(a.version, b.version) ? a : b,
|
||||
).version;
|
||||
}
|
||||
|
||||
export async function getDownloadUrl(
|
||||
manifestUrl: string | undefined,
|
||||
version: string,
|
||||
arch: string,
|
||||
platform: string,
|
||||
): Promise<string | undefined> {
|
||||
const manifestEntries = await getManifestEntries(manifestUrl);
|
||||
const entry = manifestEntries.find(
|
||||
(entry) =>
|
||||
entry.version === version &&
|
||||
entry.arch === arch &&
|
||||
entry.platform === platform,
|
||||
);
|
||||
return entry ? entry.downloadUrl : undefined;
|
||||
}
|
||||
|
||||
async function getManifestEntries(
|
||||
manifestUrl: string | undefined,
|
||||
): Promise<ManifestEntry[]> {
|
||||
let data: string;
|
||||
if (manifestUrl !== undefined) {
|
||||
core.info(`Fetching manifest-file from: ${manifestUrl}`);
|
||||
const response = await fetch(manifestUrl, {});
|
||||
if (!response.ok) {
|
||||
throw new Error(
|
||||
`Failed to fetch manifest-file: ${response.status} ${response.statusText}`,
|
||||
);
|
||||
}
|
||||
data = await response.text();
|
||||
} else {
|
||||
core.info("manifest-file not provided, reading from local file.");
|
||||
const fileContent = await fs.readFile(localManifestFile);
|
||||
data = fileContent.toString();
|
||||
}
|
||||
|
||||
return JSON.parse(data);
|
||||
}
|
||||
|
||||
export async function updateVersionManifest(
|
||||
manifestUrl: string,
|
||||
downloadUrls: string[],
|
||||
): Promise<void> {
|
||||
const manifest: ManifestEntry[] = [];
|
||||
|
||||
for (const downloadUrl of downloadUrls) {
|
||||
const urlParts = downloadUrl.split("/");
|
||||
const version = urlParts[urlParts.length - 2];
|
||||
const artifactName = urlParts[urlParts.length - 1];
|
||||
if (!artifactName.startsWith("uv-")) {
|
||||
continue;
|
||||
}
|
||||
if (artifactName.startsWith("uv-installer")) {
|
||||
continue;
|
||||
}
|
||||
const artifactParts = artifactName.split(".")[0].split("-");
|
||||
manifest.push({
|
||||
version: version,
|
||||
artifactName: artifactName,
|
||||
arch: artifactParts[1],
|
||||
platform: artifactName.split(`uv-${artifactParts[1]}-`)[1].split(".")[0],
|
||||
downloadUrl: downloadUrl,
|
||||
});
|
||||
}
|
||||
core.debug(`Updating manifest-file: ${JSON.stringify(manifest)}`);
|
||||
await fs.writeFile(manifestUrl, JSON.stringify(manifest));
|
||||
}
|
||||
111
src/setup-uv.ts
111
src/setup-uv.ts
@@ -1,10 +1,9 @@
|
||||
import * as core from "@actions/core";
|
||||
import * as path from "node:path";
|
||||
import {
|
||||
downloadVersion,
|
||||
tryGetFromToolCache,
|
||||
resolveVersion,
|
||||
downloadVersionFromGithub,
|
||||
downloadVersionFromManifest,
|
||||
} from "./download/download-version";
|
||||
import { restoreCache } from "./cache/restore-cache";
|
||||
|
||||
@@ -15,23 +14,21 @@ import {
|
||||
type Platform,
|
||||
} from "./utils/platforms";
|
||||
import {
|
||||
activateEnvironment as activateEnvironmentInput,
|
||||
cacheLocalPath,
|
||||
checkSum,
|
||||
ignoreEmptyWorkdir,
|
||||
enableCache,
|
||||
githubToken,
|
||||
pyProjectFile,
|
||||
pythonVersion,
|
||||
toolBinDir,
|
||||
toolDir,
|
||||
uvFile,
|
||||
version as versionInput,
|
||||
workingDirectory,
|
||||
serverUrl,
|
||||
manifestFile,
|
||||
} from "./utils/inputs";
|
||||
import * as exec from "@actions/exec";
|
||||
import fs from "node:fs";
|
||||
import { getUvVersionFromConfigFile } from "./utils/config-file";
|
||||
import { getUvVersionFromConfigFile } from "./utils/pyproject";
|
||||
|
||||
async function run(): Promise<void> {
|
||||
detectEmptyWorkdir();
|
||||
@@ -47,11 +44,10 @@ async function run(): Promise<void> {
|
||||
}
|
||||
const setupResult = await setupUv(platform, arch, checkSum, githubToken);
|
||||
|
||||
addUvToPath(setupResult.uvDir);
|
||||
addToolBinToPath();
|
||||
addUvToPathAndOutput(setupResult.uvDir);
|
||||
setToolDir();
|
||||
setupPython();
|
||||
await activateEnvironment();
|
||||
await setupPython();
|
||||
addMatchers();
|
||||
setCacheDir(cacheLocalPath);
|
||||
|
||||
@@ -87,7 +83,7 @@ async function setupUv(
|
||||
checkSum: string | undefined,
|
||||
githubToken: string,
|
||||
): Promise<{ uvDir: string; version: string }> {
|
||||
const resolvedVersion = await determineVersion(manifestFile);
|
||||
const resolvedVersion = await determineVersion();
|
||||
const toolCacheResult = tryGetFromToolCache(arch, resolvedVersion);
|
||||
if (toolCacheResult.installedPath) {
|
||||
core.info(`Found uv in tool-cache for ${toolCacheResult.version}`);
|
||||
@@ -97,29 +93,13 @@ async function setupUv(
|
||||
};
|
||||
}
|
||||
|
||||
let downloadVersionResult: { version: string; cachedToolDir: string };
|
||||
if (serverUrl !== "https://github.com") {
|
||||
core.warning(
|
||||
"The input server-url is deprecated. Please use manifest-file instead.",
|
||||
);
|
||||
downloadVersionResult = await downloadVersionFromGithub(
|
||||
serverUrl,
|
||||
platform,
|
||||
arch,
|
||||
resolvedVersion,
|
||||
checkSum,
|
||||
githubToken,
|
||||
);
|
||||
} else {
|
||||
downloadVersionResult = await downloadVersionFromManifest(
|
||||
manifestFile,
|
||||
platform,
|
||||
arch,
|
||||
resolvedVersion,
|
||||
checkSum,
|
||||
githubToken,
|
||||
);
|
||||
}
|
||||
const downloadVersionResult = await downloadVersion(
|
||||
platform,
|
||||
arch,
|
||||
resolvedVersion,
|
||||
checkSum,
|
||||
githubToken,
|
||||
);
|
||||
|
||||
return {
|
||||
uvDir: downloadVersionResult.cachedToolDir,
|
||||
@@ -127,33 +107,29 @@ async function setupUv(
|
||||
};
|
||||
}
|
||||
|
||||
async function determineVersion(
|
||||
manifestFile: string | undefined,
|
||||
): Promise<string> {
|
||||
async function determineVersion(): Promise<string> {
|
||||
if (versionInput !== "") {
|
||||
return await resolveVersion(versionInput, manifestFile, githubToken);
|
||||
return await resolveVersion(versionInput, githubToken);
|
||||
}
|
||||
const versionFromUvToml = getUvVersionFromConfigFile(
|
||||
`${workingDirectory}${path.sep}uv.toml`,
|
||||
);
|
||||
const versionFromPyproject = getUvVersionFromConfigFile(
|
||||
`${workingDirectory}${path.sep}pyproject.toml`,
|
||||
);
|
||||
if (versionFromUvToml === undefined && versionFromPyproject === undefined) {
|
||||
core.info(
|
||||
"Could not determine uv version from uv.toml or pyproject.toml. Falling back to latest.",
|
||||
);
|
||||
const configFile = uvFile !== "" ? uvFile : pyProjectFile;
|
||||
if (configFile !== "") {
|
||||
const versionFromConfigFile = getUvVersionFromConfigFile(configFile);
|
||||
if (versionFromConfigFile === undefined) {
|
||||
core.warning(
|
||||
`Could not find required-version under [tool.uv] in ${configFile}. Falling back to latest`,
|
||||
);
|
||||
}
|
||||
return await resolveVersion(versionFromConfigFile || "latest", githubToken);
|
||||
}
|
||||
return await resolveVersion(
|
||||
versionFromUvToml || versionFromPyproject || "latest",
|
||||
manifestFile,
|
||||
githubToken,
|
||||
);
|
||||
if (!fs.existsSync("uv.toml") && !fs.existsSync("pyproject.toml")) {
|
||||
return await resolveVersion("latest", githubToken);
|
||||
}
|
||||
const versionFile = fs.existsSync("uv.toml") ? "uv.toml" : "pyproject.toml";
|
||||
const versionFromConfigFile = getUvVersionFromConfigFile(versionFile);
|
||||
return await resolveVersion(versionFromConfigFile || "latest", githubToken);
|
||||
}
|
||||
|
||||
function addUvToPathAndOutput(cachedPath: string): void {
|
||||
core.setOutput("uv-path", `${cachedPath}${path.sep}uv`);
|
||||
core.setOutput("uvx-path", `${cachedPath}${path.sep}uvx`);
|
||||
function addUvToPath(cachedPath: string): void {
|
||||
core.addPath(cachedPath);
|
||||
core.info(`Added ${cachedPath} to the path`);
|
||||
}
|
||||
@@ -185,29 +161,24 @@ function setToolDir(): void {
|
||||
}
|
||||
}
|
||||
|
||||
function setupPython(): void {
|
||||
async function setupPython(): Promise<void> {
|
||||
if (pythonVersion !== "") {
|
||||
core.exportVariable("UV_PYTHON", pythonVersion);
|
||||
core.info(`Set UV_PYTHON to ${pythonVersion}`);
|
||||
}
|
||||
}
|
||||
|
||||
async function activateEnvironment(): Promise<void> {
|
||||
if (activateEnvironmentInput) {
|
||||
const execArgs = ["venv", ".venv", "--directory", workingDirectory];
|
||||
const options: exec.ExecOptions = {
|
||||
silent: !core.isDebug(),
|
||||
};
|
||||
const execArgs = ["venv", "--python", pythonVersion];
|
||||
|
||||
core.info("Activating python venv...");
|
||||
await exec.exec("uv", execArgs);
|
||||
await exec.exec("uv", execArgs, options);
|
||||
|
||||
let venvBinPath = `${workingDirectory}${path.sep}.venv${path.sep}bin`;
|
||||
let venvBinPath = ".venv/bin";
|
||||
if (process.platform === "win32") {
|
||||
venvBinPath = `${workingDirectory}${path.sep}.venv${path.sep}Scripts`;
|
||||
venvBinPath = ".venv/Scripts";
|
||||
}
|
||||
core.addPath(path.resolve(venvBinPath));
|
||||
core.exportVariable(
|
||||
"VIRTUAL_ENV",
|
||||
path.resolve(`${workingDirectory}${path.sep}.venv`),
|
||||
);
|
||||
core.exportVariable("VIRTUAL_ENV", path.resolve(".venv"));
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
34
src/update-known-checksums.ts
Normal file
34
src/update-known-checksums.ts
Normal file
@@ -0,0 +1,34 @@
|
||||
import * as semver from "semver";
|
||||
import * as core from "@actions/core";
|
||||
import { Octokit } from "./utils/octokit";
|
||||
|
||||
import { OWNER, REPO } from "./utils/constants";
|
||||
|
||||
import { updateChecksums } from "./download/checksum/update-known-checksums";
|
||||
|
||||
async function run(): Promise<void> {
|
||||
const checksumFilePath = process.argv.slice(2)[0];
|
||||
const github_token = process.argv.slice(2)[1];
|
||||
|
||||
const octokit = new Octokit({
|
||||
auth: github_token,
|
||||
});
|
||||
|
||||
const response = await octokit.paginate(octokit.rest.repos.listReleases, {
|
||||
owner: OWNER,
|
||||
repo: REPO,
|
||||
});
|
||||
const downloadUrls: string[] = response.flatMap((release) =>
|
||||
release.assets
|
||||
.filter((asset) => asset.name.endsWith(".sha256"))
|
||||
.map((asset) => asset.browser_download_url),
|
||||
);
|
||||
await updateChecksums(checksumFilePath, downloadUrls);
|
||||
|
||||
const latestVersion = response
|
||||
.map((release) => release.tag_name)
|
||||
.sort(semver.rcompare)[0];
|
||||
core.setOutput("latest-version", latestVersion);
|
||||
}
|
||||
|
||||
run();
|
||||
@@ -1,58 +0,0 @@
|
||||
import * as semver from "semver";
|
||||
import * as core from "@actions/core";
|
||||
import { Octokit } from "./utils/octokit";
|
||||
|
||||
import { OWNER, REPO } from "./utils/constants";
|
||||
|
||||
import { updateChecksums } from "./download/checksum/update-known-checksums";
|
||||
import {
|
||||
updateVersionManifest,
|
||||
getLatestKnownVersion,
|
||||
} from "./download/version-manifest";
|
||||
|
||||
async function run(): Promise<void> {
|
||||
const checksumFilePath = process.argv.slice(2)[0];
|
||||
const versionsManifestFile = process.argv.slice(2)[1];
|
||||
const githubToken = process.argv.slice(2)[2];
|
||||
|
||||
const octokit = new Octokit({
|
||||
auth: githubToken,
|
||||
});
|
||||
|
||||
const { data: latestRelease } = await octokit.rest.repos.getLatestRelease({
|
||||
owner: OWNER,
|
||||
repo: REPO,
|
||||
});
|
||||
|
||||
const latestKnownVersion = await getLatestKnownVersion(undefined);
|
||||
|
||||
if (semver.lte(latestRelease.tag_name, latestKnownVersion)) {
|
||||
core.info(
|
||||
`Latest release (${latestRelease.tag_name}) is not newer than the latest known version (${latestKnownVersion}). Skipping update.`,
|
||||
);
|
||||
return;
|
||||
}
|
||||
|
||||
const releases = await octokit.paginate(octokit.rest.repos.listReleases, {
|
||||
owner: OWNER,
|
||||
repo: REPO,
|
||||
});
|
||||
const checksumDownloadUrls: string[] = releases.flatMap((release) =>
|
||||
release.assets
|
||||
.filter((asset) => asset.name.endsWith(".sha256"))
|
||||
.map((asset) => asset.browser_download_url),
|
||||
);
|
||||
await updateChecksums(checksumFilePath, checksumDownloadUrls);
|
||||
|
||||
const artifactDownloadUrls: string[] = releases.flatMap((release) =>
|
||||
release.assets
|
||||
.filter((asset) => !asset.name.endsWith(".sha256"))
|
||||
.map((asset) => asset.browser_download_url),
|
||||
);
|
||||
|
||||
await updateVersionManifest(versionsManifestFile, artifactDownloadUrls);
|
||||
|
||||
core.setOutput("latest-version", latestRelease.tag_name);
|
||||
}
|
||||
|
||||
run();
|
||||
@@ -1,21 +0,0 @@
|
||||
import { fetch as undiciFetch, ProxyAgent, type RequestInit } from "undici";
|
||||
|
||||
export function getProxyAgent() {
|
||||
const httpProxy = process.env.HTTP_PROXY || process.env.http_proxy;
|
||||
if (httpProxy) {
|
||||
return new ProxyAgent(httpProxy);
|
||||
}
|
||||
|
||||
const httpsProxy = process.env.HTTPS_PROXY || process.env.https_proxy;
|
||||
if (httpsProxy) {
|
||||
return new ProxyAgent(httpsProxy);
|
||||
}
|
||||
|
||||
return undefined;
|
||||
}
|
||||
|
||||
export const fetch = async (url: string, opts: RequestInit) =>
|
||||
await undiciFetch(url, {
|
||||
dispatcher: getProxyAgent(),
|
||||
...opts,
|
||||
});
|
||||
@@ -1,11 +1,10 @@
|
||||
import * as core from "@actions/core";
|
||||
import path from "node:path";
|
||||
import { getManifestFromRepo } from "@actions/tool-cache";
|
||||
|
||||
export const version = core.getInput("version");
|
||||
export const pyProjectFile = core.getInput("pyproject-file");
|
||||
export const uvFile = core.getInput("uv-file");
|
||||
export const pythonVersion = core.getInput("python-version");
|
||||
export const activateEnvironment = core.getBooleanInput("activate-environment");
|
||||
export const workingDirectory = core.getInput("working-directory");
|
||||
export const checkSum = core.getInput("checksum");
|
||||
export const enableCache = getEnableCache();
|
||||
export const cacheSuffix = core.getInput("cache-suffix") || "";
|
||||
@@ -18,9 +17,7 @@ export const ignoreEmptyWorkdir =
|
||||
core.getInput("ignore-empty-workdir") === "true";
|
||||
export const toolBinDir = getToolBinDir();
|
||||
export const toolDir = getToolDir();
|
||||
export const serverUrl = core.getInput("server-url");
|
||||
export const githubToken = core.getInput("github-token");
|
||||
export const manifestFile = getManifestFile();
|
||||
|
||||
function getEnableCache(): boolean {
|
||||
const enableCacheInput = core.getInput("enable-cache");
|
||||
@@ -67,18 +64,12 @@ function getCacheLocalPath(): string {
|
||||
if (cacheLocalPathInput !== "") {
|
||||
return expandTilde(cacheLocalPathInput);
|
||||
}
|
||||
if (process.env.RUNNER_ENVIRONMENT === "github-hosted") {
|
||||
if (process.env.RUNNER_TEMP !== undefined) {
|
||||
return `${process.env.RUNNER_TEMP}${path.sep}setup-uv-cache`;
|
||||
}
|
||||
throw Error(
|
||||
"Could not determine UV_CACHE_DIR. Please make sure RUNNER_TEMP is set or provide the cache-local-path input",
|
||||
);
|
||||
if (process.env.RUNNER_TEMP !== undefined) {
|
||||
return `${process.env.RUNNER_TEMP}${path.sep}setup-uv-cache`;
|
||||
}
|
||||
if (process.platform === "win32") {
|
||||
return `${process.env.APPDATA}${path.sep}uv${path.sep}cache`;
|
||||
}
|
||||
return `${process.env.HOME}${path.sep}.cache${path.sep}uv`;
|
||||
throw Error(
|
||||
"Could not determine UV_CACHE_DIR. Please make sure RUNNER_TEMP is set or provide the cache-local-path input",
|
||||
);
|
||||
}
|
||||
|
||||
function expandTilde(input: string): string {
|
||||
@@ -87,11 +78,3 @@ function expandTilde(input: string): string {
|
||||
}
|
||||
return input;
|
||||
}
|
||||
|
||||
function getManifestFile(): string | undefined {
|
||||
const manifestFileInput = core.getInput("manifest-file");
|
||||
if (manifestFileInput !== "") {
|
||||
return manifestFileInput;
|
||||
}
|
||||
return undefined;
|
||||
}
|
||||
|
||||
@@ -8,7 +8,7 @@ import {
|
||||
type PaginateInterface,
|
||||
} from "@octokit/plugin-paginate-rest";
|
||||
import { legacyRestEndpointMethods } from "@octokit/plugin-rest-endpoint-methods";
|
||||
import { fetch as customFetch } from "./fetch";
|
||||
import { fetch as undiciFetch, ProxyAgent, type RequestInit } from "undici";
|
||||
|
||||
export type { RestEndpointMethodTypes } from "@octokit/plugin-rest-endpoint-methods";
|
||||
|
||||
@@ -17,6 +17,26 @@ const DEFAULTS = {
|
||||
userAgent: "setup-uv",
|
||||
};
|
||||
|
||||
export function getProxyAgent() {
|
||||
const httpProxy = process.env.HTTP_PROXY || process.env.http_prox;
|
||||
if (httpProxy) {
|
||||
return new ProxyAgent(httpProxy);
|
||||
}
|
||||
|
||||
const httpsProxy = process.env.HTTPS_PROXY || process.env.https_proxy;
|
||||
if (httpsProxy) {
|
||||
return new ProxyAgent(httpsProxy);
|
||||
}
|
||||
|
||||
return undefined;
|
||||
}
|
||||
|
||||
export const customFetch = async (url: string, opts: RequestInit) =>
|
||||
await undiciFetch(url, {
|
||||
dispatcher: getProxyAgent(),
|
||||
...opts,
|
||||
});
|
||||
|
||||
export const Octokit: typeof Core &
|
||||
Constructor<
|
||||
{
|
||||
|
||||
@@ -5,9 +5,9 @@ import * as toml from "smol-toml";
|
||||
export function getUvVersionFromConfigFile(
|
||||
filePath: string,
|
||||
): string | undefined {
|
||||
core.info(`Trying to find required-version for uv in: ${filePath}`);
|
||||
core.debug(`Trying to find required-version for uv in: ${filePath}`);
|
||||
if (!fs.existsSync(filePath)) {
|
||||
core.info(`Could not find file: ${filePath}`);
|
||||
core.warning(`Could not find file: ${filePath}`);
|
||||
return undefined;
|
||||
}
|
||||
let requiredVersion: string | undefined;
|
||||
21604
version-manifest.json
21604
version-manifest.json
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user