mirror of
https://github.com/astral-sh/setup-uv.git
synced 2026-06-09 11:30:42 +00:00
Compare commits
2 Commits
dependabot
...
zb/version
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
8bd9170ab9 | ||
|
|
0a4c5102bd |
@@ -1,49 +0,0 @@
|
|||||||
---
|
|
||||||
name: dependabot-pr-rollup
|
|
||||||
description: Find open Dependabot PRs for the current GitHub repo, compare each PR head to its base branch, replay only the net dependency changes in a fresh worktree and branch, run npm validation, and optionally commit, push, and open a PR. Use when you want to batch or manually replicate active Dependabot updates.
|
|
||||||
license: MIT
|
|
||||||
compatibility: Requires git, git worktree, gh CLI auth, npm, and a GitHub repo with an origin remote.
|
|
||||||
---
|
|
||||||
|
|
||||||
# Dependabot PR Rollup
|
|
||||||
|
|
||||||
## When to use
|
|
||||||
|
|
||||||
Use this skill when the user wants to:
|
|
||||||
- find all open Dependabot PRs in the current repo
|
|
||||||
- reproduce their net effect in one local branch
|
|
||||||
- validate the result with the repo's standard npm checks
|
|
||||||
- optionally commit, push, and open a PR
|
|
||||||
|
|
||||||
## Workflow
|
|
||||||
|
|
||||||
1. Inspect the current checkout state, but do not reuse a dirty worktree.
|
|
||||||
2. List open Dependabot PRs with `gh pr list --state open --author app/dependabot`.
|
|
||||||
3. For each PR, collect the title, base branch, head branch, changed files, and relevant diffs.
|
|
||||||
4. Compare each PR head against `origin/<base>` instead of trusting the PR title. Dependabot PRs can already be partially merged, superseded by newer versions, or have no remaining net effect.
|
|
||||||
5. Create a new worktree and branch from `origin/<base>`.
|
|
||||||
6. Reproduce only the remaining dependency changes in the new worktree.
|
|
||||||
- Inspect `package.json` before editing.
|
|
||||||
- Run `npm ci --ignore-scripts` before applying updates.
|
|
||||||
- Use `npm install ... --ignore-scripts` for direct dependency changes so `package-lock.json` stays in sync.
|
|
||||||
- When updating `@biomejs/biome`, also update the Biome schema URL version in `biome.json` to match the installed Biome version.
|
|
||||||
7. Run `npm run all`.
|
|
||||||
8. If requested, commit the changed source, lockfile, and generated artifacts, then push and open a PR.
|
|
||||||
|
|
||||||
## Repo-specific notes
|
|
||||||
|
|
||||||
- Use `gh` for GitHub operations.
|
|
||||||
- Keep the user's original checkout untouched by working in a separate worktree.
|
|
||||||
- In this repo, `npm run all` is the safest validation command because it runs build, check, package, and test.
|
|
||||||
- If dependency changes affect bundled output, include the regenerated `dist/` files.
|
|
||||||
|
|
||||||
## Report back
|
|
||||||
|
|
||||||
Always report:
|
|
||||||
- open Dependabot PRs found
|
|
||||||
- which PRs required no net changes
|
|
||||||
- new branch name
|
|
||||||
- new worktree path
|
|
||||||
- files changed
|
|
||||||
- `npm run all` result
|
|
||||||
- if applicable, commit SHA and PR URL
|
|
||||||
263
.github/copilot-instructions.md
vendored
Normal file
263
.github/copilot-instructions.md
vendored
Normal file
@@ -0,0 +1,263 @@
|
|||||||
|
# Copilot Instructions for setup-uv
|
||||||
|
|
||||||
|
This document provides essential information for GitHub Copilot coding agents working on the `astral-sh/setup-uv` repository.
|
||||||
|
|
||||||
|
## Repository Overview
|
||||||
|
|
||||||
|
**setup-uv** is a GitHub Action that sets up the [uv](https://docs.astral.sh/uv/)
|
||||||
|
Python package installer in GitHub Actions workflows.
|
||||||
|
It's a TypeScript-based action that downloads uv binaries, manages caching, handles version resolution,
|
||||||
|
and configures the environment for subsequent workflow steps.
|
||||||
|
|
||||||
|
### Key Features
|
||||||
|
|
||||||
|
- Downloads and installs specific uv versions from GitHub releases
|
||||||
|
- Supports version resolution from config files (pyproject.toml, uv.toml, .tool-versions)
|
||||||
|
- Implements intelligent caching for both uv cache and Python installations
|
||||||
|
- Provides cross-platform support (Linux, macOS, Windows, including ARM architectures)
|
||||||
|
- Includes problem matchers for Python error reporting
|
||||||
|
- Supports environment activation and custom tool directories
|
||||||
|
|
||||||
|
## Repository Structure
|
||||||
|
|
||||||
|
**Size**: Small-medium repository (~50 source files, ~400 total files including dependencies)
|
||||||
|
**Languages**: TypeScript (primary), JavaScript (compiled output), JSON (configuration)
|
||||||
|
**Runtime**: Node.js 24 (GitHub Actions runtime)
|
||||||
|
**Key Dependencies**: @actions/core, @actions/cache, @actions/tool-cache
|
||||||
|
|
||||||
|
### Core Architecture
|
||||||
|
|
||||||
|
```
|
||||||
|
src/
|
||||||
|
├── setup-uv.ts # Main entry point and orchestration
|
||||||
|
├── save-cache.ts # Post-action cache saving logic
|
||||||
|
├── update-known-versions.ts # Maintenance script for version updates
|
||||||
|
├── cache/ # Cache management functionality
|
||||||
|
├── download/ # Version resolution and binary downloading
|
||||||
|
├── utils/ # Input parsing, platform detection, configuration
|
||||||
|
└── version/ # Version resolution from various file formats
|
||||||
|
```
|
||||||
|
|
||||||
|
### Key Files and Locations
|
||||||
|
|
||||||
|
- **Action Definition**: `action.yml` - Defines all inputs/outputs and entry points
|
||||||
|
- **Main Source**: `src/setup-uv.ts` - Primary action logic
|
||||||
|
- **Configuration**: `biome.json` (linting), `tsconfig.json` (TypeScript), `jest.config.js` (testing)
|
||||||
|
- **Compiled Output**: `dist/` - Contains compiled Node.js bundles (auto-generated, committed)
|
||||||
|
- **Test Fixtures**: `__tests__/fixtures/` - Sample projects for different configuration scenarios
|
||||||
|
- **Workflows**: `.github/workflows/test.yml` - Comprehensive CI/CD pipeline
|
||||||
|
|
||||||
|
## Build and Development Process
|
||||||
|
|
||||||
|
### Prerequisites
|
||||||
|
|
||||||
|
- Node.js 24+ (matches GitHub Actions runtime)
|
||||||
|
- npm (included with Node.js)
|
||||||
|
|
||||||
|
### Essential Commands (ALWAYS run in this order)
|
||||||
|
|
||||||
|
#### 1. Install Dependencies
|
||||||
|
|
||||||
|
```bash
|
||||||
|
npm ci --ignore-scripts
|
||||||
|
```
|
||||||
|
|
||||||
|
**Timing**: ~20-30 seconds
|
||||||
|
**Note**: Always run this first after cloning or when package.json changes
|
||||||
|
|
||||||
|
#### 2. Build TypeScript
|
||||||
|
|
||||||
|
```bash
|
||||||
|
npm run build
|
||||||
|
```
|
||||||
|
|
||||||
|
**Timing**: ~5-10 seconds
|
||||||
|
**Purpose**: Compiles TypeScript source to JavaScript in `lib/` directory
|
||||||
|
|
||||||
|
#### 3. Lint and Format Code
|
||||||
|
|
||||||
|
```bash
|
||||||
|
npm run check
|
||||||
|
```
|
||||||
|
|
||||||
|
**Timing**: ~2-5 seconds
|
||||||
|
**Tool**: Biome (replaces ESLint/Prettier)
|
||||||
|
**Auto-fixes**: Formatting, import organization, basic linting issues
|
||||||
|
|
||||||
|
#### 4. Package for Distribution
|
||||||
|
|
||||||
|
```bash
|
||||||
|
npm run package
|
||||||
|
```
|
||||||
|
|
||||||
|
**Timing**: ~20-30 seconds
|
||||||
|
**Purpose**: Creates bundled distributions in `dist/` using @vercel/ncc
|
||||||
|
**Critical**: This step MUST be run before committing - the `dist/` files are used by GitHub Actions
|
||||||
|
|
||||||
|
#### 5. Run Tests
|
||||||
|
|
||||||
|
```bash
|
||||||
|
npm test
|
||||||
|
```
|
||||||
|
|
||||||
|
**Timing**: ~10-15 seconds
|
||||||
|
**Framework**: Jest with TypeScript support
|
||||||
|
**Coverage**: Unit tests for version resolution, input parsing, checksum validation
|
||||||
|
|
||||||
|
#### 6. Complete Validation (Recommended)
|
||||||
|
|
||||||
|
```bash
|
||||||
|
npm run all
|
||||||
|
```
|
||||||
|
|
||||||
|
**Timing**: ~60-90 seconds
|
||||||
|
**Purpose**: Runs build → check → package → test in sequence
|
||||||
|
**Use**: Before making pull requests or when unsure about build state
|
||||||
|
|
||||||
|
### Important Build Notes
|
||||||
|
|
||||||
|
**CRITICAL**: Always run `npm run package` after making code changes. The `dist/` directory contains the compiled bundles that GitHub Actions actually executes. Forgetting this step will cause your changes to have no effect.
|
||||||
|
|
||||||
|
**TypeScript Warnings**: You may see ts-jest warnings about "isolatedModules" - these are harmless and don't affect functionality.
|
||||||
|
|
||||||
|
**Biome**: This project uses Biome instead of ESLint/Prettier. Run `npm run check` to fix formatting and linting issues automatically.
|
||||||
|
|
||||||
|
## Testing Strategy
|
||||||
|
|
||||||
|
### Unit Tests
|
||||||
|
|
||||||
|
- **Location**: `__tests__/` directory
|
||||||
|
- **Framework**: Jest with ts-jest transformer
|
||||||
|
- **Coverage**: Version resolution, input parsing, checksum validation, utility functions
|
||||||
|
|
||||||
|
### Integration Tests
|
||||||
|
|
||||||
|
- **Location**: `.github/workflows/test.yml`
|
||||||
|
- **Scope**: Full end-to-end testing across multiple platforms and scenarios
|
||||||
|
- **Key Test Categories**:
|
||||||
|
- Version installation (specific, latest, semver ranges)
|
||||||
|
- Cache behavior (setup, restore, invalidation)
|
||||||
|
- Cross-platform compatibility (Ubuntu, macOS, Windows, ARM)
|
||||||
|
- Configuration file parsing (pyproject.toml, uv.toml, requirements.txt)
|
||||||
|
- Error handling and edge cases
|
||||||
|
|
||||||
|
### Test Fixtures
|
||||||
|
|
||||||
|
Located in `__tests__/fixtures/`, these provide sample projects with different configurations:
|
||||||
|
- `pyproject-toml-project/` - Standard Python project with uv version specification
|
||||||
|
- `uv-toml-project/` - Project using uv.toml configuration
|
||||||
|
- `requirements-txt-project/` - Legacy requirements.txt format
|
||||||
|
- `cache-dir-defined-project/` - Custom cache directory configuration
|
||||||
|
|
||||||
|
## Continuous Integration
|
||||||
|
|
||||||
|
### GitHub Workflows
|
||||||
|
|
||||||
|
#### Primary Test Suite (`.github/workflows/test.yml`)
|
||||||
|
|
||||||
|
- **Triggers**: PRs, pushes to main, manual dispatch
|
||||||
|
- **Matrix**: Multiple OS (Ubuntu, macOS, Windows), architecture (x64, ARM), and configuration combinations
|
||||||
|
- **Duration**: ~5 minutes for full matrix
|
||||||
|
- **Key Validations**:
|
||||||
|
- Cross-platform installation and functionality
|
||||||
|
- Cache behavior and performance
|
||||||
|
- Version resolution from various sources
|
||||||
|
- Tool directory configurations
|
||||||
|
- Problem matcher functionality
|
||||||
|
|
||||||
|
#### Maintenance Workflows
|
||||||
|
|
||||||
|
- **CodeQL Analysis**: Security scanning on pushes/PRs
|
||||||
|
- **Update Known Versions**: Daily job to sync with latest uv releases
|
||||||
|
- **Dependabot**: Automated dependency updates
|
||||||
|
|
||||||
|
### Pre-commit Validation
|
||||||
|
|
||||||
|
The CI runs these checks that you should run locally:
|
||||||
|
1. `npm run all` - Complete build and test suite
|
||||||
|
2. ActionLint - GitHub Actions workflow validation
|
||||||
|
3. Change detection - Ensures no uncommitted build artifacts
|
||||||
|
|
||||||
|
## Key Configuration Files
|
||||||
|
|
||||||
|
### Action Configuration (`action.yml`)
|
||||||
|
|
||||||
|
Defines 20+ inputs including version specifications,
|
||||||
|
cache settings, tool directories, and environment options.
|
||||||
|
This file is the authoritative source for understanding available action parameters.
|
||||||
|
|
||||||
|
### TypeScript Configuration (`tsconfig.json`)
|
||||||
|
|
||||||
|
- Target: ES2024
|
||||||
|
- Module: nodenext (Node.js modules)
|
||||||
|
- Strict mode enabled
|
||||||
|
- Output directory: `lib/`
|
||||||
|
|
||||||
|
### Linting Configuration (`biome.json`)
|
||||||
|
|
||||||
|
- Formatter and linter combined
|
||||||
|
- Enforces consistent code style
|
||||||
|
- Automatically organizes imports and sorts object keys
|
||||||
|
|
||||||
|
## Common Development Patterns
|
||||||
|
|
||||||
|
### Making Code Changes
|
||||||
|
|
||||||
|
1. Edit TypeScript source files in `src/`
|
||||||
|
2. Run `npm run build` to compile
|
||||||
|
3. Run `npm run check` to format and lint
|
||||||
|
4. Run `npm run package` to update distribution bundles
|
||||||
|
5. Run `npm test` to verify functionality
|
||||||
|
6. Commit all changes including `dist/` files
|
||||||
|
|
||||||
|
### Adding New Features
|
||||||
|
|
||||||
|
- Follow existing patterns in `src/utils/inputs.ts` for new action inputs
|
||||||
|
- Update `action.yml` to declare new inputs/outputs
|
||||||
|
- Add corresponding tests in `__tests__/`
|
||||||
|
- Add a test in `.github/workflows/test.yml` if it affects integration
|
||||||
|
- Update README.md with usage examples
|
||||||
|
|
||||||
|
### Cache-Related Changes
|
||||||
|
|
||||||
|
- Cache logic is complex and affects performance significantly
|
||||||
|
- Test with multiple cache scenarios (hit, miss, invalidation)
|
||||||
|
- Consider impact on both GitHub-hosted and self-hosted runners
|
||||||
|
- Validate cache key generation and dependency detection
|
||||||
|
|
||||||
|
### Version Resolution Changes
|
||||||
|
|
||||||
|
- Version resolution supports multiple file formats and precedence rules
|
||||||
|
- Test with fixtures in `__tests__/fixtures/`
|
||||||
|
- Consider backward compatibility with existing projects
|
||||||
|
- Validate semver and PEP 440 specification handling
|
||||||
|
|
||||||
|
## Troubleshooting
|
||||||
|
|
||||||
|
### Build Failures
|
||||||
|
|
||||||
|
- **"Module not found"**: Run `npm ci --ignore-scripts` to ensure dependencies are installed
|
||||||
|
- **TypeScript errors**: Check `tsconfig.json` and ensure all imports are valid
|
||||||
|
- **Test failures**: Check if test fixtures have been modified or if logic changes broke assumptions
|
||||||
|
|
||||||
|
### Action Failures in Workflows
|
||||||
|
|
||||||
|
- **Changes not taking effect**: Ensure `npm run package` was run and `dist/` files committed
|
||||||
|
- **Version resolution issues**: Check version specification format and file existence
|
||||||
|
- **Cache problems**: Verify cache key generation and dependency glob patterns
|
||||||
|
|
||||||
|
### Common Gotchas
|
||||||
|
|
||||||
|
- **Forgetting to package**: Code changes won't work without running `npm run package`
|
||||||
|
- **Platform differences**: Windows paths use backslashes, test cross-platform behavior
|
||||||
|
- **Cache invalidation**: Cache keys are sensitive to dependency file changes
|
||||||
|
- **Tool directory permissions**: Some platforms require specific directory setups
|
||||||
|
|
||||||
|
## Trust These Instructions
|
||||||
|
|
||||||
|
These instructions are comprehensive and current. Only search for additional information if:
|
||||||
|
- You encounter specific error messages not covered here
|
||||||
|
- You need to understand implementation details of specific functions
|
||||||
|
- The instructions appear outdated (check repository commit history)
|
||||||
|
|
||||||
|
For most development tasks, following the build process and development patterns outlined above will be sufficient.
|
||||||
2
.github/release-drafter.yml
vendored
2
.github/release-drafter.yml
vendored
@@ -19,7 +19,7 @@ categories:
|
|||||||
labels:
|
labels:
|
||||||
- "maintenance"
|
- "maintenance"
|
||||||
- "ci"
|
- "ci"
|
||||||
- "update-known-checksums"
|
- "update-known-versions"
|
||||||
- title: "📚 Documentation"
|
- title: "📚 Documentation"
|
||||||
labels:
|
labels:
|
||||||
- "documentation"
|
- "documentation"
|
||||||
|
|||||||
9
.github/scripts/tsconfig.json
vendored
9
.github/scripts/tsconfig.json
vendored
@@ -1,9 +0,0 @@
|
|||||||
{
|
|
||||||
"compilerOptions": {
|
|
||||||
"module": "nodenext",
|
|
||||||
"moduleResolution": "nodenext",
|
|
||||||
"target": "es2022",
|
|
||||||
"types": ["node"]
|
|
||||||
},
|
|
||||||
"include": ["check-all-tests-passed-needs.ts"]
|
|
||||||
}
|
|
||||||
8
.github/workflows/codeql-analysis.yml
vendored
8
.github/workflows/codeql-analysis.yml
vendored
@@ -41,13 +41,13 @@ jobs:
|
|||||||
|
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout repository
|
- name: Checkout repository
|
||||||
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
|
uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
|
||||||
with:
|
with:
|
||||||
persist-credentials: false
|
persist-credentials: false
|
||||||
|
|
||||||
# Initializes the CodeQL tools for scanning.
|
# Initializes the CodeQL tools for scanning.
|
||||||
- name: Initialize CodeQL
|
- name: Initialize CodeQL
|
||||||
uses: github/codeql-action/init@7211b7c8077ea37d8641b6271f6a365a22a5fbfa # v4.36.0
|
uses: github/codeql-action/init@5d4e8d1aca955e8d8589aabd499c5cae939e33c7 # v4.31.9
|
||||||
with:
|
with:
|
||||||
languages: ${{ matrix.language }}
|
languages: ${{ matrix.language }}
|
||||||
source-root: src
|
source-root: src
|
||||||
@@ -59,7 +59,7 @@ jobs:
|
|||||||
# Autobuild attempts to build any compiled languages (C/C++, C#, or Java).
|
# Autobuild attempts to build any compiled languages (C/C++, C#, or Java).
|
||||||
# If this step fails, then you should remove it and run the build manually (see below)
|
# If this step fails, then you should remove it and run the build manually (see below)
|
||||||
- name: Autobuild
|
- name: Autobuild
|
||||||
uses: github/codeql-action/autobuild@7211b7c8077ea37d8641b6271f6a365a22a5fbfa # v4.36.0
|
uses: github/codeql-action/autobuild@5d4e8d1aca955e8d8589aabd499c5cae939e33c7 # v4.31.9
|
||||||
|
|
||||||
# ℹ️ Command-line programs to run using the OS shell.
|
# ℹ️ Command-line programs to run using the OS shell.
|
||||||
# 📚 https://git.io/JvXDl
|
# 📚 https://git.io/JvXDl
|
||||||
@@ -73,4 +73,4 @@ jobs:
|
|||||||
# make release
|
# make release
|
||||||
|
|
||||||
- name: Perform CodeQL Analysis
|
- name: Perform CodeQL Analysis
|
||||||
uses: github/codeql-action/analyze@7211b7c8077ea37d8641b6271f6a365a22a5fbfa # v4.36.0
|
uses: github/codeql-action/analyze@5d4e8d1aca955e8d8589aabd499c5cae939e33c7 # v4.31.9
|
||||||
|
|||||||
4
.github/workflows/release-drafter.yml
vendored
4
.github/workflows/release-drafter.yml
vendored
@@ -19,8 +19,6 @@ jobs:
|
|||||||
pull-requests: read
|
pull-requests: read
|
||||||
steps:
|
steps:
|
||||||
- name: 🚀 Run Release Drafter
|
- name: 🚀 Run Release Drafter
|
||||||
uses: release-drafter/release-drafter@693d20e7c1ce1a81d3a41962f85914253b518449 # v7.3.1
|
uses: release-drafter/release-drafter@b1476f6e6eb133afa41ed8589daba6dc69b4d3f5 # v6.1.0
|
||||||
with:
|
|
||||||
commitish: ${{ github.sha }}
|
|
||||||
env:
|
env:
|
||||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||||
|
|||||||
113
.github/workflows/release.yml
vendored
113
.github/workflows/release.yml
vendored
@@ -1,113 +0,0 @@
|
|||||||
name: Release
|
|
||||||
|
|
||||||
on:
|
|
||||||
workflow_dispatch:
|
|
||||||
inputs:
|
|
||||||
version:
|
|
||||||
description: "Release version (e.g., 8.1.0)"
|
|
||||||
required: true
|
|
||||||
type: string
|
|
||||||
|
|
||||||
permissions: {}
|
|
||||||
|
|
||||||
jobs:
|
|
||||||
validate-release:
|
|
||||||
name: Validate release
|
|
||||||
runs-on: ubuntu-latest
|
|
||||||
permissions:
|
|
||||||
contents: write
|
|
||||||
steps:
|
|
||||||
- name: Validate version and draft release
|
|
||||||
env:
|
|
||||||
GH_REPO: ${{ github.repository }}
|
|
||||||
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
|
||||||
VERSION: ${{ inputs.version }}
|
|
||||||
TAG: v${{ inputs.version }}
|
|
||||||
run: |
|
|
||||||
if [[ ! "$VERSION" =~ ^[0-9]+\.[0-9]+\.[0-9]+(-[a-zA-Z0-9.]+)?$ ]]; then
|
|
||||||
echo "::error::Version must match MAJOR.MINOR.PATCH (e.g., 8.1.0)"
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
|
|
||||||
RELEASE_JSON=$(gh release view "$TAG" --json isDraft,targetCommitish 2>&1) || {
|
|
||||||
echo "::error::No release found for $TAG"
|
|
||||||
exit 1
|
|
||||||
}
|
|
||||||
|
|
||||||
IS_DRAFT=$(echo "$RELEASE_JSON" | jq -r '.isDraft')
|
|
||||||
TARGET=$(echo "$RELEASE_JSON" | jq -r '.targetCommitish')
|
|
||||||
|
|
||||||
if [[ "$IS_DRAFT" != "true" ]]; then
|
|
||||||
echo "::error::Release $TAG already exists and is not a draft"
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
|
|
||||||
if [[ "$TARGET" != "$GITHUB_SHA" ]]; then
|
|
||||||
echo "::error::Draft release target ($TARGET) does not match current commit ($GITHUB_SHA)"
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
|
|
||||||
release-gate:
|
|
||||||
# N.B. This name should not change, it is used for downstream checks.
|
|
||||||
name: release-gate
|
|
||||||
needs:
|
|
||||||
- validate-release
|
|
||||||
runs-on: ubuntu-latest
|
|
||||||
environment:
|
|
||||||
name: release-gate
|
|
||||||
steps:
|
|
||||||
- run: echo "Release approved"
|
|
||||||
|
|
||||||
create-deployment:
|
|
||||||
name: create-deployment
|
|
||||||
needs:
|
|
||||||
- validate-release
|
|
||||||
- release-gate
|
|
||||||
runs-on: ubuntu-latest
|
|
||||||
environment:
|
|
||||||
name: release
|
|
||||||
steps:
|
|
||||||
- run: echo "Release deployment created"
|
|
||||||
|
|
||||||
release:
|
|
||||||
name: Release
|
|
||||||
needs:
|
|
||||||
- validate-release
|
|
||||||
- release-gate
|
|
||||||
- create-deployment
|
|
||||||
runs-on: ubuntu-latest
|
|
||||||
permissions:
|
|
||||||
contents: write
|
|
||||||
steps:
|
|
||||||
- name: Publish release
|
|
||||||
env:
|
|
||||||
GH_REPO: ${{ github.repository }}
|
|
||||||
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
|
||||||
VERSION: ${{ inputs.version }}
|
|
||||||
TAG: v${{ inputs.version }}
|
|
||||||
run: |
|
|
||||||
if [[ ! "$VERSION" =~ ^[0-9]+\.[0-9]+\.[0-9]+(-[a-zA-Z0-9.]+)?$ ]]; then
|
|
||||||
echo "::error::Version must match MAJOR.MINOR.PATCH (e.g., 8.1.0)"
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
|
|
||||||
RELEASE_JSON=$(gh release view "$TAG" --json isDraft,targetCommitish 2>&1) || {
|
|
||||||
echo "::error::No release found for $TAG"
|
|
||||||
exit 1
|
|
||||||
}
|
|
||||||
|
|
||||||
IS_DRAFT=$(echo "$RELEASE_JSON" | jq -r '.isDraft')
|
|
||||||
TARGET=$(echo "$RELEASE_JSON" | jq -r '.targetCommitish')
|
|
||||||
|
|
||||||
if [[ "$IS_DRAFT" != "true" ]]; then
|
|
||||||
echo "::error::Release $TAG already exists and is not a draft"
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
|
|
||||||
if [[ "$TARGET" != "$GITHUB_SHA" ]]; then
|
|
||||||
echo "::error::Draft release target ($TARGET) does not match current commit ($GITHUB_SHA)"
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
|
|
||||||
echo "Publishing draft release $TAG"
|
|
||||||
gh release edit "$TAG" --draft=false
|
|
||||||
390
.github/workflows/test.yml
vendored
390
.github/workflows/test.yml
vendored
@@ -21,14 +21,14 @@ jobs:
|
|||||||
permissions:
|
permissions:
|
||||||
security-events: write # for zizmor
|
security-events: write # for zizmor
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
|
- uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
|
||||||
with:
|
with:
|
||||||
persist-credentials: false
|
persist-credentials: false
|
||||||
- name: Actionlint
|
- name: Actionlint
|
||||||
uses: eifinger/actionlint-action@1fc89649be682d16ec5cf65ea16e269eb88d3982 # v1.10.2
|
uses: eifinger/actionlint-action@213860089b7cf97d640aa67567898fabeb132746 # v1.9.3
|
||||||
- name: Run zizmor
|
- name: Run zizmor
|
||||||
uses: zizmorcore/zizmor-action@5f14fd08f7cf1cb1609c1e344975f152c7ee938d # v0.5.6
|
uses: zizmorcore/zizmor-action@e639db99335bc9038abc0e066dfcd72e23d26fb4 # v0.3.0
|
||||||
- uses: actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e # v6.4.0
|
- uses: actions/setup-node@395ad3262231945c25e8478fd5baf05154b1d79f # v6.1.0
|
||||||
with:
|
with:
|
||||||
node-version-file: .nvmrc
|
node-version-file: .nvmrc
|
||||||
cache: npm
|
cache: npm
|
||||||
@@ -38,7 +38,7 @@ jobs:
|
|||||||
npm run all
|
npm run all
|
||||||
- name: Check all jobs are in all-tests-passed.needs
|
- name: Check all jobs are in all-tests-passed.needs
|
||||||
run: |
|
run: |
|
||||||
tsc -p tsconfig.json
|
tsc check-all-tests-passed-needs.ts
|
||||||
node check-all-tests-passed-needs.js
|
node check-all-tests-passed-needs.js
|
||||||
working-directory: .github/scripts
|
working-directory: .github/scripts
|
||||||
- name: Make sure no changes from linters are detected
|
- name: Make sure no changes from linters are detected
|
||||||
@@ -51,7 +51,7 @@ jobs:
|
|||||||
matrix:
|
matrix:
|
||||||
os: [ubuntu-latest, macos-latest, macos-14, windows-latest]
|
os: [ubuntu-latest, macos-latest, macos-14, windows-latest]
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
|
- uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
|
||||||
with:
|
with:
|
||||||
persist-credentials: false
|
persist-credentials: false
|
||||||
- name: Install latest version
|
- name: Install latest version
|
||||||
@@ -76,7 +76,7 @@ jobs:
|
|||||||
test-uv-no-modify-path:
|
test-uv-no-modify-path:
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
|
- uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
|
||||||
with:
|
with:
|
||||||
persist-credentials: false
|
persist-credentials: false
|
||||||
- name: Install with UV_NO_MODIFY_PATH set
|
- name: Install with UV_NO_MODIFY_PATH set
|
||||||
@@ -125,7 +125,7 @@ jobs:
|
|||||||
expected-version: "0.1.0"
|
expected-version: "0.1.0"
|
||||||
resolution-strategy: "lowest"
|
resolution-strategy: "lowest"
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
|
- uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
|
||||||
with:
|
with:
|
||||||
persist-credentials: false
|
persist-credentials: false
|
||||||
- name: Install version ${{ matrix.input.version-input }} with strategy ${{ matrix.input.resolution-strategy || 'highest' }}
|
- name: Install version ${{ matrix.input.version-input }} with strategy ${{ matrix.input.resolution-strategy || 'highest' }}
|
||||||
@@ -154,7 +154,7 @@ jobs:
|
|||||||
matrix:
|
matrix:
|
||||||
version-input: ["latest", ">=0.8"]
|
version-input: ["latest", ">=0.8"]
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
|
- uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
|
||||||
with:
|
with:
|
||||||
persist-credentials: false
|
persist-credentials: false
|
||||||
- name: Install version ${{ matrix.version-input }}
|
- name: Install version ${{ matrix.version-input }}
|
||||||
@@ -164,21 +164,9 @@ jobs:
|
|||||||
- name: Latest version gets installed
|
- name: Latest version gets installed
|
||||||
run: |
|
run: |
|
||||||
LATEST_VERSION=$(gh api -H "Accept: application/vnd.github+json" -H "X-GitHub-Api-Version: 2022-11-28" /repos/astral-sh/uv/releases/latest | jq -r '.tag_name')
|
LATEST_VERSION=$(gh api -H "Accept: application/vnd.github+json" -H "X-GitHub-Api-Version: 2022-11-28" /repos/astral-sh/uv/releases/latest | jq -r '.tag_name')
|
||||||
UV_VERSION_OUTPUT=$(uv --version)
|
|
||||||
|
|
||||||
if [[ ! "$UV_VERSION_OUTPUT" =~ ^uv[[:space:]]+([^[:space:]]+) ]]; then
|
|
||||||
echo "Could not parse uv version from: $UV_VERSION_OUTPUT"
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
|
|
||||||
UV_VERSION="${BASH_REMATCH[1]}"
|
|
||||||
|
|
||||||
echo "Latest version is $LATEST_VERSION"
|
echo "Latest version is $LATEST_VERSION"
|
||||||
echo "uv --version output is $UV_VERSION_OUTPUT"
|
if [ "$(uv --version)" != "uv $LATEST_VERSION" ]; then
|
||||||
echo "Parsed uv version is $UV_VERSION"
|
echo "Wrong uv version: $(uv --version)"
|
||||||
|
|
||||||
if [ "$UV_VERSION" != "$LATEST_VERSION" ]; then
|
|
||||||
echo "Wrong uv version: $UV_VERSION_OUTPUT"
|
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
env:
|
env:
|
||||||
@@ -194,7 +182,7 @@ jobs:
|
|||||||
- working-directory: "__tests__/fixtures/uv-toml-project"
|
- working-directory: "__tests__/fixtures/uv-toml-project"
|
||||||
expected-version: "0.5.15"
|
expected-version: "0.5.15"
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
|
- uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
|
||||||
with:
|
with:
|
||||||
persist-credentials: false
|
persist-credentials: false
|
||||||
- name: Install version from ${{ matrix.input.working-directory }}
|
- name: Install version from ${{ matrix.input.working-directory }}
|
||||||
@@ -220,7 +208,7 @@ jobs:
|
|||||||
- version-file: "__tests__/fixtures/.tool-versions"
|
- version-file: "__tests__/fixtures/.tool-versions"
|
||||||
expected-version: "0.5.15"
|
expected-version: "0.5.15"
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
|
- uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
|
||||||
with:
|
with:
|
||||||
persist-credentials: false
|
persist-credentials: false
|
||||||
- name: Install version from ${{ matrix.input.version-file }}
|
- name: Install version from ${{ matrix.input.version-file }}
|
||||||
@@ -237,7 +225,7 @@ jobs:
|
|||||||
test-malformed-pyproject-file-fallback:
|
test-malformed-pyproject-file-fallback:
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
|
- uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
|
||||||
with:
|
with:
|
||||||
persist-credentials: false
|
persist-credentials: false
|
||||||
- name: Install using malformed pyproject.toml
|
- name: Install using malformed pyproject.toml
|
||||||
@@ -257,7 +245,7 @@ jobs:
|
|||||||
- os: macos-latest
|
- os: macos-latest
|
||||||
checksum: "a70cbfbf3bb5c08b2f84963b4f12c94e08fbb2468ba418a3bfe1066fbe9e7218"
|
checksum: "a70cbfbf3bb5c08b2f84963b4f12c94e08fbb2468ba418a3bfe1066fbe9e7218"
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
|
- uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
|
||||||
with:
|
with:
|
||||||
persist-credentials: false
|
persist-credentials: false
|
||||||
- name: Checksum matches expected
|
- name: Checksum matches expected
|
||||||
@@ -271,7 +259,7 @@ jobs:
|
|||||||
test-with-explicit-token:
|
test-with-explicit-token:
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
|
- uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
|
||||||
with:
|
with:
|
||||||
persist-credentials: false
|
persist-credentials: false
|
||||||
- name: Install default version
|
- name: Install default version
|
||||||
@@ -284,7 +272,7 @@ jobs:
|
|||||||
test-uvx:
|
test-uvx:
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
|
- uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
|
||||||
with:
|
with:
|
||||||
persist-credentials: false
|
persist-credentials: false
|
||||||
- name: Install default version
|
- name: Install default version
|
||||||
@@ -297,7 +285,7 @@ jobs:
|
|||||||
matrix:
|
matrix:
|
||||||
os: [ubuntu-latest, macos-latest, macos-14, windows-latest]
|
os: [ubuntu-latest, macos-latest, macos-14, windows-latest]
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
|
- uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
|
||||||
with:
|
with:
|
||||||
persist-credentials: false
|
persist-credentials: false
|
||||||
- name: Install default version
|
- name: Install default version
|
||||||
@@ -305,13 +293,35 @@ jobs:
|
|||||||
- run: uv tool install ruff
|
- run: uv tool install ruff
|
||||||
- run: ruff --version
|
- run: ruff --version
|
||||||
|
|
||||||
|
test-tilde-expansion-tool-dirs:
|
||||||
|
runs-on: selfhosted-ubuntu-arm64
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
|
||||||
|
with:
|
||||||
|
persist-credentials: false
|
||||||
|
- name: Setup with cache
|
||||||
|
uses: ./
|
||||||
|
with:
|
||||||
|
tool-bin-dir: "~/tool-bin-dir"
|
||||||
|
tool-dir: "~/tool-dir"
|
||||||
|
- name: "Check if tool dirs are expanded"
|
||||||
|
run: |
|
||||||
|
if ! echo "$PATH" | grep -q "/home/ubuntu/tool-bin-dir"; then
|
||||||
|
echo "PATH does not contain /home/ubuntu/tool-bin-dir: $PATH"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
if [ "$UV_TOOL_DIR" != "/home/ubuntu/tool-dir" ]; then
|
||||||
|
echo "UV_TOOL_DIR does not contain /home/ubuntu/tool-dir: $UV_TOOL_DIR"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
test-python-version:
|
test-python-version:
|
||||||
runs-on: ${{ matrix.os }}
|
runs-on: ${{ matrix.os }}
|
||||||
strategy:
|
strategy:
|
||||||
matrix:
|
matrix:
|
||||||
os: [ubuntu-latest, macos-latest, windows-latest]
|
os: [ubuntu-latest, macos-latest, windows-latest]
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
|
- uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
|
||||||
with:
|
with:
|
||||||
persist-credentials: false
|
persist-credentials: false
|
||||||
- name: Install latest version
|
- name: Install latest version
|
||||||
@@ -343,7 +353,7 @@ jobs:
|
|||||||
matrix:
|
matrix:
|
||||||
os: [ubuntu-latest, macos-latest, windows-latest]
|
os: [ubuntu-latest, macos-latest, windows-latest]
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
|
- uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
|
||||||
with:
|
with:
|
||||||
persist-credentials: false
|
persist-credentials: false
|
||||||
- name: Install latest version
|
- name: Install latest version
|
||||||
@@ -376,122 +386,11 @@ jobs:
|
|||||||
env:
|
env:
|
||||||
UV_VENV: ${{ steps.setup-uv.outputs.venv }}
|
UV_VENV: ${{ steps.setup-uv.outputs.venv }}
|
||||||
|
|
||||||
test-activate-environment-custom-path:
|
|
||||||
runs-on: ${{ matrix.os }}
|
|
||||||
strategy:
|
|
||||||
matrix:
|
|
||||||
os: [ubuntu-latest, macos-latest, windows-latest]
|
|
||||||
steps:
|
|
||||||
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
|
|
||||||
with:
|
|
||||||
persist-credentials: false
|
|
||||||
- name: Install latest version
|
|
||||||
id: setup-uv
|
|
||||||
uses: ./
|
|
||||||
with:
|
|
||||||
python-version: 3.13.1t
|
|
||||||
activate-environment: true
|
|
||||||
venv-path: ${{ runner.temp }}/custom-venv
|
|
||||||
- name: Verify VIRTUAL_ENV matches output
|
|
||||||
run: |
|
|
||||||
if [ "$VIRTUAL_ENV" != "$UV_VENV" ]; then
|
|
||||||
echo "VIRTUAL_ENV does not match venv output: $VIRTUAL_ENV vs $UV_VENV"
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
shell: bash
|
|
||||||
env:
|
|
||||||
UV_VENV: ${{ steps.setup-uv.outputs.venv }}
|
|
||||||
- name: Verify venv location is runner.temp/custom-venv
|
|
||||||
run: |
|
|
||||||
python - <<'PY'
|
|
||||||
import os
|
|
||||||
from pathlib import Path
|
|
||||||
|
|
||||||
venv = Path(os.environ["VIRTUAL_ENV"]).resolve()
|
|
||||||
temp = Path(os.environ["RUNNER_TEMP"]).resolve()
|
|
||||||
|
|
||||||
if venv.name != "custom-venv":
|
|
||||||
raise SystemExit(f"Expected venv name 'custom-venv', got: {venv}")
|
|
||||||
if venv.parent != temp:
|
|
||||||
raise SystemExit(f"Expected venv under {temp}, got: {venv}")
|
|
||||||
if not venv.is_dir():
|
|
||||||
raise SystemExit(f"Venv directory does not exist: {venv}")
|
|
||||||
PY
|
|
||||||
shell: bash
|
|
||||||
- name: Verify packages can be installed
|
|
||||||
run: uv pip install pip
|
|
||||||
shell: bash
|
|
||||||
- name: Verify python runs from custom venv
|
|
||||||
run: |
|
|
||||||
python - <<'PY'
|
|
||||||
import sys
|
|
||||||
if "custom-venv" not in sys.executable:
|
|
||||||
raise SystemExit(f"Python is not running from custom venv: {sys.executable}")
|
|
||||||
PY
|
|
||||||
shell: bash
|
|
||||||
|
|
||||||
test-activate-environment-no-project:
|
|
||||||
runs-on: ubuntu-latest
|
|
||||||
steps:
|
|
||||||
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
|
|
||||||
with:
|
|
||||||
persist-credentials: false
|
|
||||||
- name: Create incompatible pyproject.toml
|
|
||||||
run: |
|
|
||||||
cat > pyproject.toml <<'EOF'
|
|
||||||
[project]
|
|
||||||
name = "test-no-project"
|
|
||||||
version = "0.1.0"
|
|
||||||
|
|
||||||
[dependency-groups]
|
|
||||||
dev = [
|
|
||||||
"-e file:///${PROJECT_ROOT}/projects/pkg",
|
|
||||||
]
|
|
||||||
EOF
|
|
||||||
shell: bash
|
|
||||||
- name: Install latest version with no-project
|
|
||||||
id: setup-uv
|
|
||||||
uses: ./
|
|
||||||
with:
|
|
||||||
python-version: 3.13.1t
|
|
||||||
activate-environment: true
|
|
||||||
no-project: true
|
|
||||||
- name: Verify packages can be installed
|
|
||||||
run: uv pip install pip
|
|
||||||
shell: bash
|
|
||||||
- name: Verify output venv is set
|
|
||||||
run: |
|
|
||||||
if [ -z "$UV_VENV" ]; then
|
|
||||||
echo "output venv is not set"
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
if [ ! -d "$UV_VENV" ]; then
|
|
||||||
echo "output venv not point to a directory: $UV_VENV"
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
shell: bash
|
|
||||||
env:
|
|
||||||
UV_VENV: ${{ steps.setup-uv.outputs.venv }}
|
|
||||||
|
|
||||||
test-debian-unstable:
|
|
||||||
runs-on: ubuntu-latest
|
|
||||||
container: debian:unstable
|
|
||||||
steps:
|
|
||||||
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
|
|
||||||
with:
|
|
||||||
persist-credentials: false
|
|
||||||
- name: Install latest version
|
|
||||||
uses: ./
|
|
||||||
with:
|
|
||||||
enable-cache: true
|
|
||||||
- run: uv sync
|
|
||||||
working-directory: __tests__/fixtures/uv-project
|
|
||||||
|
|
||||||
test-musl:
|
test-musl:
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
container: alpine
|
container: alpine
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
|
- uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
|
||||||
with:
|
with:
|
||||||
persist-credentials: false
|
persist-credentials: false
|
||||||
- name: Install latest version
|
- name: Install latest version
|
||||||
@@ -530,7 +429,7 @@ jobs:
|
|||||||
- os: windows-2025
|
- os: windows-2025
|
||||||
expected-os: "windows-2025"
|
expected-os: "windows-2025"
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
|
- uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
|
||||||
with:
|
with:
|
||||||
persist-credentials: false
|
persist-credentials: false
|
||||||
- name: Setup uv
|
- name: Setup uv
|
||||||
@@ -554,9 +453,9 @@ jobs:
|
|||||||
strategy:
|
strategy:
|
||||||
matrix:
|
matrix:
|
||||||
enable-cache: ["true", "false", "auto"]
|
enable-cache: ["true", "false", "auto"]
|
||||||
os: ["ubuntu-latest", "windows-latest"]
|
os: ["ubuntu-latest", "selfhosted-ubuntu-arm64", "windows-latest"]
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
|
- uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
|
||||||
with:
|
with:
|
||||||
persist-credentials: false
|
persist-credentials: false
|
||||||
- name: Setup with cache
|
- name: Setup with cache
|
||||||
@@ -572,10 +471,10 @@ jobs:
|
|||||||
strategy:
|
strategy:
|
||||||
matrix:
|
matrix:
|
||||||
enable-cache: ["true", "false", "auto"]
|
enable-cache: ["true", "false", "auto"]
|
||||||
os: ["ubuntu-latest", "windows-latest"]
|
os: ["ubuntu-latest", "selfhosted-ubuntu-arm64", "windows-latest"]
|
||||||
needs: test-setup-cache
|
needs: test-setup-cache
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
|
- uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
|
||||||
with:
|
with:
|
||||||
persist-credentials: false
|
persist-credentials: false
|
||||||
- name: Restore with cache
|
- name: Restore with cache
|
||||||
@@ -594,7 +493,7 @@ jobs:
|
|||||||
CACHE_HIT: ${{ steps.restore.outputs.cache-hit }}
|
CACHE_HIT: ${{ steps.restore.outputs.cache-hit }}
|
||||||
shell: bash
|
shell: bash
|
||||||
- name: Cache was not hit
|
- name: Cache was not hit
|
||||||
if: ${{ matrix.enable-cache == 'false' }}
|
if: ${{ matrix.enable-cache == 'false' || (matrix.enable-cache == 'auto' && matrix.os == 'selfhosted-ubuntu-arm64') }}
|
||||||
run: |
|
run: |
|
||||||
if [ "$CACHE_HIT" == "true" ]; then
|
if [ "$CACHE_HIT" == "true" ]; then
|
||||||
exit 1
|
exit 1
|
||||||
@@ -609,7 +508,7 @@ jobs:
|
|||||||
test-setup-cache-requirements-txt:
|
test-setup-cache-requirements-txt:
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
|
- uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
|
||||||
with:
|
with:
|
||||||
persist-credentials: false
|
persist-credentials: false
|
||||||
- name: Setup with cache
|
- name: Setup with cache
|
||||||
@@ -625,7 +524,7 @@ jobs:
|
|||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
needs: test-setup-cache-requirements-txt
|
needs: test-setup-cache-requirements-txt
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
|
- uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
|
||||||
with:
|
with:
|
||||||
persist-credentials: false
|
persist-credentials: false
|
||||||
- name: Restore with cache
|
- name: Restore with cache
|
||||||
@@ -649,7 +548,7 @@ jobs:
|
|||||||
test-setup-cache-dependency-glob:
|
test-setup-cache-dependency-glob:
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
|
- uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
|
||||||
with:
|
with:
|
||||||
persist-credentials: false
|
persist-credentials: false
|
||||||
- name: Setup with cache
|
- name: Setup with cache
|
||||||
@@ -666,7 +565,7 @@ jobs:
|
|||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
needs: test-setup-cache-dependency-glob
|
needs: test-setup-cache-dependency-glob
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
|
- uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
|
||||||
with:
|
with:
|
||||||
persist-credentials: false
|
persist-credentials: false
|
||||||
- name: Change pyproject.toml
|
- name: Change pyproject.toml
|
||||||
@@ -694,7 +593,7 @@ jobs:
|
|||||||
test-setup-cache-save-cache-false:
|
test-setup-cache-save-cache-false:
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
|
- uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
|
||||||
with:
|
with:
|
||||||
persist-credentials: false
|
persist-credentials: false
|
||||||
- name: Setup with cache
|
- name: Setup with cache
|
||||||
@@ -710,7 +609,7 @@ jobs:
|
|||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
needs: test-setup-cache-save-cache-false
|
needs: test-setup-cache-save-cache-false
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
|
- uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
|
||||||
with:
|
with:
|
||||||
persist-credentials: false
|
persist-credentials: false
|
||||||
- name: Restore with cache
|
- name: Restore with cache
|
||||||
@@ -730,7 +629,7 @@ jobs:
|
|||||||
test-setup-cache-restore-cache-false:
|
test-setup-cache-restore-cache-false:
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
|
- uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
|
||||||
with:
|
with:
|
||||||
persist-credentials: false
|
persist-credentials: false
|
||||||
- name: Setup with cache
|
- name: Setup with cache
|
||||||
@@ -745,7 +644,7 @@ jobs:
|
|||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
needs: test-setup-cache-restore-cache-false
|
needs: test-setup-cache-restore-cache-false
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
|
- uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
|
||||||
with:
|
with:
|
||||||
persist-credentials: false
|
persist-credentials: false
|
||||||
- name: Restore with cache
|
- name: Restore with cache
|
||||||
@@ -771,9 +670,11 @@ jobs:
|
|||||||
expected-cache-dir: "/home/runner/work/_temp/setup-uv-cache"
|
expected-cache-dir: "/home/runner/work/_temp/setup-uv-cache"
|
||||||
- os: windows-latest
|
- os: windows-latest
|
||||||
expected-cache-dir: "D:\\a\\_temp\\setup-uv-cache"
|
expected-cache-dir: "D:\\a\\_temp\\setup-uv-cache"
|
||||||
|
- os: selfhosted-ubuntu-arm64
|
||||||
|
expected-cache-dir: "/home/ubuntu/.cache/uv"
|
||||||
runs-on: ${{ matrix.inputs.os }}
|
runs-on: ${{ matrix.inputs.os }}
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
|
- uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
|
||||||
with:
|
with:
|
||||||
persist-credentials: false
|
persist-credentials: false
|
||||||
- name: Setup with cache
|
- name: Setup with cache
|
||||||
@@ -791,7 +692,7 @@ jobs:
|
|||||||
test-cache-local-cache-disabled:
|
test-cache-local-cache-disabled:
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
|
- uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
|
||||||
with:
|
with:
|
||||||
persist-credentials: false
|
persist-credentials: false
|
||||||
- name: Setup without cache
|
- name: Setup without cache
|
||||||
@@ -810,7 +711,7 @@ jobs:
|
|||||||
test-cache-local-cache-disabled-but-explicit-path:
|
test-cache-local-cache-disabled-but-explicit-path:
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
|
- uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
|
||||||
with:
|
with:
|
||||||
persist-credentials: false
|
persist-credentials: false
|
||||||
- name: Setup without cache
|
- name: Setup without cache
|
||||||
@@ -827,10 +728,99 @@ jobs:
|
|||||||
fi
|
fi
|
||||||
shell: bash
|
shell: bash
|
||||||
|
|
||||||
|
test-setup-cache-local:
|
||||||
|
runs-on: selfhosted-ubuntu-arm64
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
|
||||||
|
with:
|
||||||
|
persist-credentials: false
|
||||||
|
- 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@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
|
||||||
|
with:
|
||||||
|
persist-credentials: false
|
||||||
|
- 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@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
|
||||||
|
with:
|
||||||
|
persist-credentials: false
|
||||||
|
- 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@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
|
||||||
|
with:
|
||||||
|
persist-credentials: false
|
||||||
|
- 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:
|
test-no-python-version:
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
|
- uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
|
||||||
with:
|
with:
|
||||||
persist-credentials: false
|
persist-credentials: false
|
||||||
- name: Fake pyproject.toml at root
|
- name: Fake pyproject.toml at root
|
||||||
@@ -845,40 +835,26 @@ jobs:
|
|||||||
test-custom-manifest-file:
|
test-custom-manifest-file:
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
|
- uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
|
||||||
with:
|
with:
|
||||||
persist-credentials: false
|
persist-credentials: false
|
||||||
- name: Install from custom manifest file
|
- name: Install from custom manifest file
|
||||||
uses: ./
|
uses: ./
|
||||||
with:
|
with:
|
||||||
manifest-file: "https://raw.githubusercontent.com/astral-sh/setup-uv/${{ github.ref }}/__tests__/download/custom-manifest.ndjson"
|
manifest-file: "https://raw.githubusercontent.com/astral-sh/setup-uv/${{ github.ref }}/__tests__/download/custom-manifest.json"
|
||||||
- run: uv sync
|
- run: uv sync
|
||||||
working-directory: __tests__/fixtures/uv-project
|
working-directory: __tests__/fixtures/uv-project
|
||||||
- name: Correct version gets installed
|
- name: Correct version gets installed
|
||||||
run: |
|
run: |
|
||||||
if [ "$(uv --version)" != "uv 0.9.26" ]; then
|
if [ "$(uv --version)" != "uv 0.7.12-alpha.1" ]; then
|
||||||
echo "Wrong uv version: $(uv --version)"
|
echo "Wrong uv version: $(uv --version)"
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
test-download-from-astral-mirror-false:
|
|
||||||
runs-on: ubuntu-latest
|
|
||||||
steps:
|
|
||||||
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
|
|
||||||
with:
|
|
||||||
persist-credentials: false
|
|
||||||
- name: Install with download-from-astral-mirror disabled
|
|
||||||
id: setup-uv
|
|
||||||
uses: ./
|
|
||||||
with:
|
|
||||||
download-from-astral-mirror: false
|
|
||||||
- name: Verify uv is installed
|
|
||||||
run: uv --version
|
|
||||||
|
|
||||||
test-absolute-path:
|
test-absolute-path:
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
|
- uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
|
||||||
with:
|
with:
|
||||||
persist-credentials: false
|
persist-credentials: false
|
||||||
- name: Create requirements.txt
|
- name: Create requirements.txt
|
||||||
@@ -898,7 +874,7 @@ jobs:
|
|||||||
test-relative-path:
|
test-relative-path:
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
|
- uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
|
||||||
with:
|
with:
|
||||||
persist-credentials: false
|
persist-credentials: false
|
||||||
- name: mkdir
|
- name: mkdir
|
||||||
@@ -922,7 +898,7 @@ jobs:
|
|||||||
test-cache-prune-force:
|
test-cache-prune-force:
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
|
- uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
|
||||||
with:
|
with:
|
||||||
persist-credentials: false
|
persist-credentials: false
|
||||||
- name: Setup uv
|
- name: Setup uv
|
||||||
@@ -939,7 +915,7 @@ jobs:
|
|||||||
test-cache-dir-from-file:
|
test-cache-dir-from-file:
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
|
- uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
|
||||||
with:
|
with:
|
||||||
persist-credentials: false
|
persist-credentials: false
|
||||||
- name: Verify uv cache dir is not populated
|
- name: Verify uv cache dir is not populated
|
||||||
@@ -961,33 +937,10 @@ jobs:
|
|||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
test-cache-python-missing-managed-install-dir:
|
|
||||||
runs-on: ubuntu-latest
|
|
||||||
env:
|
|
||||||
UV_PYTHON_INSTALL_DIR: /tmp/missing-uv-python
|
|
||||||
steps:
|
|
||||||
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
|
|
||||||
with:
|
|
||||||
persist-credentials: false
|
|
||||||
- name: Setup uv with cache and python cache enabled
|
|
||||||
uses: ./
|
|
||||||
with:
|
|
||||||
enable-cache: true
|
|
||||||
cache-python: true
|
|
||||||
python-version: "3.12"
|
|
||||||
cache-local-path: /tmp/setup-uv-cache
|
|
||||||
cache-suffix: ${{ github.run_id }}-${{ github.run_attempt }}-test-cache-python-missing-managed-install-dir
|
|
||||||
- name: Ensure uv cache dir exists so only python-cache behavior is tested
|
|
||||||
run: uv sync
|
|
||||||
working-directory: __tests__/fixtures/uv-project
|
|
||||||
shell: bash
|
|
||||||
- name: Ensure managed Python install dir does not exist and this does not break caching
|
|
||||||
run: rm -rf "$UV_PYTHON_INSTALL_DIR"
|
|
||||||
|
|
||||||
test-cache-python-installs:
|
test-cache-python-installs:
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
|
- uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
|
||||||
with:
|
with:
|
||||||
persist-credentials: false
|
persist-credentials: false
|
||||||
- name: Verify Python install dir is not populated
|
- name: Verify Python install dir is not populated
|
||||||
@@ -1014,7 +967,7 @@ jobs:
|
|||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
needs: test-cache-python-installs
|
needs: test-cache-python-installs
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
|
- uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
|
||||||
with:
|
with:
|
||||||
persist-credentials: false
|
persist-credentials: false
|
||||||
- name: Verify Python install dir does not exist
|
- name: Verify Python install dir does not exist
|
||||||
@@ -1054,9 +1007,11 @@ jobs:
|
|||||||
expected-python-dir: "/home/runner/work/_temp/uv-python-dir"
|
expected-python-dir: "/home/runner/work/_temp/uv-python-dir"
|
||||||
- os: windows-latest
|
- os: windows-latest
|
||||||
expected-python-dir: "D:\\a\\_temp\\uv-python-dir"
|
expected-python-dir: "D:\\a\\_temp\\uv-python-dir"
|
||||||
|
- os: selfhosted-ubuntu-arm64
|
||||||
|
expected-python-dir: "/home/ubuntu/.local/share/uv/python"
|
||||||
runs-on: ${{ matrix.inputs.os }}
|
runs-on: ${{ matrix.inputs.os }}
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
|
- uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
|
||||||
with:
|
with:
|
||||||
persist-credentials: false
|
persist-credentials: false
|
||||||
- name: Install latest version
|
- name: Install latest version
|
||||||
@@ -1075,7 +1030,7 @@ jobs:
|
|||||||
test-act:
|
test-act:
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
|
- uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
|
||||||
with:
|
with:
|
||||||
persist-credentials: false
|
persist-credentials: false
|
||||||
- name: Install act
|
- name: Install act
|
||||||
@@ -1090,11 +1045,11 @@ jobs:
|
|||||||
validate-typings:
|
validate-typings:
|
||||||
runs-on: "ubuntu-latest"
|
runs-on: "ubuntu-latest"
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
|
- uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
|
||||||
with:
|
with:
|
||||||
persist-credentials: false
|
persist-credentials: false
|
||||||
- name: Validate typings
|
- name: Validate typings
|
||||||
uses: typesafegithub/github-actions-typing@9ddf35b71a482be7d8922b28e8d00df16b77e315 # v2.2.2
|
uses: typesafegithub/github-actions-typing@184d97003b1300f6a10e286eb98c191e416ff02b # v2.2.1
|
||||||
|
|
||||||
all-tests-passed:
|
all-tests-passed:
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
@@ -1111,11 +1066,9 @@ jobs:
|
|||||||
- test-with-explicit-token
|
- test-with-explicit-token
|
||||||
- test-uvx
|
- test-uvx
|
||||||
- test-tool-install
|
- test-tool-install
|
||||||
|
- test-tilde-expansion-tool-dirs
|
||||||
- test-python-version
|
- test-python-version
|
||||||
- test-activate-environment
|
- test-activate-environment
|
||||||
- test-activate-environment-custom-path
|
|
||||||
- test-activate-environment-no-project
|
|
||||||
- test-debian-unstable
|
|
||||||
- test-musl
|
- test-musl
|
||||||
- test-cache-key-os-version
|
- test-cache-key-os-version
|
||||||
- test-cache-local
|
- test-cache-local
|
||||||
@@ -1131,14 +1084,17 @@ jobs:
|
|||||||
- test-restore-cache-save-cache-false
|
- test-restore-cache-save-cache-false
|
||||||
- test-setup-cache-restore-cache-false
|
- test-setup-cache-restore-cache-false
|
||||||
- test-restore-cache-restore-cache-false
|
- test-restore-cache-restore-cache-false
|
||||||
|
- 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-no-python-version
|
||||||
- test-custom-manifest-file
|
- test-custom-manifest-file
|
||||||
- test-download-from-astral-mirror-false
|
|
||||||
- test-absolute-path
|
- test-absolute-path
|
||||||
- test-relative-path
|
- test-relative-path
|
||||||
- test-cache-prune-force
|
- test-cache-prune-force
|
||||||
- test-cache-dir-from-file
|
- test-cache-dir-from-file
|
||||||
- test-cache-python-missing-managed-install-dir
|
|
||||||
- test-cache-python-installs
|
- test-cache-python-installs
|
||||||
- test-restore-python-installs
|
- test-restore-python-installs
|
||||||
- test-python-install-dir
|
- test-python-install-dir
|
||||||
|
|||||||
69
.github/workflows/update-docs.yml
vendored
69
.github/workflows/update-docs.yml
vendored
@@ -1,69 +0,0 @@
|
|||||||
name: "Update docs"
|
|
||||||
on:
|
|
||||||
push:
|
|
||||||
tags:
|
|
||||||
- "v*.*.*"
|
|
||||||
|
|
||||||
permissions: {}
|
|
||||||
|
|
||||||
jobs:
|
|
||||||
update-docs:
|
|
||||||
runs-on: ubuntu-24.04-arm
|
|
||||||
permissions:
|
|
||||||
contents: write
|
|
||||||
pull-requests: write
|
|
||||||
steps:
|
|
||||||
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
|
|
||||||
with:
|
|
||||||
persist-credentials: true
|
|
||||||
- name: Get tag info
|
|
||||||
id: tag-info
|
|
||||||
run: |
|
|
||||||
TAG_NAME="${GITHUB_REF#refs/tags/}"
|
|
||||||
COMMIT_SHA=$(git rev-list -n 1 "$TAG_NAME")
|
|
||||||
echo "tag=$TAG_NAME" >> "$GITHUB_OUTPUT"
|
|
||||||
echo "sha=$COMMIT_SHA" >> "$GITHUB_OUTPUT"
|
|
||||||
- name: Update references in docs
|
|
||||||
run: |
|
|
||||||
OLD_REF=$(grep -oh 'astral-sh/setup-uv@[a-f0-9]\{40\} # v[0-9][^ ]*' README.md docs/*.md | head -1)
|
|
||||||
OLD_SHA=$(echo "$OLD_REF" | sed 's/astral-sh\/setup-uv@\([a-f0-9]*\) # .*/\1/')
|
|
||||||
OLD_VERSION=$(echo "$OLD_REF" | sed 's/astral-sh\/setup-uv@[a-f0-9]* # \(v[^ ]*\)/\1/')
|
|
||||||
echo "Replacing $OLD_SHA # $OLD_VERSION with $NEW_SHA # $NEW_VERSION"
|
|
||||||
find README.md docs/ -type f \( -name "*.md" \) -exec \
|
|
||||||
sed -i "s|$OLD_SHA # $OLD_VERSION|$NEW_SHA # $NEW_VERSION|g" {} +
|
|
||||||
env:
|
|
||||||
NEW_SHA: ${{ steps.tag-info.outputs.sha }}
|
|
||||||
NEW_VERSION: ${{ steps.tag-info.outputs.tag }}
|
|
||||||
- name: Check for changes
|
|
||||||
id: changes-exist
|
|
||||||
run: |
|
|
||||||
if [ -n "$(git status --porcelain)" ]; then
|
|
||||||
echo "changes-exist=true" >> "$GITHUB_OUTPUT"
|
|
||||||
else
|
|
||||||
echo "changes-exist=false" >> "$GITHUB_OUTPUT"
|
|
||||||
fi
|
|
||||||
- name: Commit and push changes
|
|
||||||
if: ${{ steps.changes-exist.outputs.changes-exist == 'true' }}
|
|
||||||
id: commit-and-push
|
|
||||||
continue-on-error: true
|
|
||||||
run: |
|
|
||||||
git config user.name "$GITHUB_ACTOR"
|
|
||||||
git config user.email "$GITHUB_ACTOR@users.noreply.github.com"
|
|
||||||
git add .
|
|
||||||
git commit -m "docs: update version references to $NEW_VERSION"
|
|
||||||
git push origin HEAD:refs/heads/main
|
|
||||||
env:
|
|
||||||
NEW_VERSION: ${{ steps.tag-info.outputs.tag }}
|
|
||||||
- name: Create Pull Request
|
|
||||||
if: ${{ steps.changes-exist.outputs.changes-exist == 'true' && steps.commit-and-push.outcome != 'success' }}
|
|
||||||
uses: peter-evans/create-pull-request@5f6978faf089d4d20b00c7766989d076bb2fc7f1 # v8.1.1
|
|
||||||
with:
|
|
||||||
commit-message: "docs: update version references to ${{ steps.tag-info.outputs.tag }}"
|
|
||||||
title: "docs: update version references to ${{ steps.tag-info.outputs.tag }}"
|
|
||||||
body: |
|
|
||||||
Update `uses: astral-sh/setup-uv@...` references in documentation to
|
|
||||||
`${{ steps.tag-info.outputs.sha }} # ${{ steps.tag-info.outputs.tag }}`.
|
|
||||||
base: main
|
|
||||||
labels: "automated-pr,update-docs"
|
|
||||||
branch: update-docs-${{ steps.tag-info.outputs.tag }}
|
|
||||||
delete-branch: true
|
|
||||||
@@ -1,4 +1,4 @@
|
|||||||
name: "Update known checksums"
|
name: "Update known versions"
|
||||||
on:
|
on:
|
||||||
workflow_dispatch:
|
workflow_dispatch:
|
||||||
schedule:
|
schedule:
|
||||||
@@ -15,18 +15,18 @@ jobs:
|
|||||||
contents: write
|
contents: write
|
||||||
pull-requests: write
|
pull-requests: write
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
|
- uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
|
||||||
with:
|
with:
|
||||||
persist-credentials: true
|
persist-credentials: true
|
||||||
- uses: actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e # v6.4.0
|
- uses: actions/setup-node@395ad3262231945c25e8478fd5baf05154b1d79f # v6.1.0
|
||||||
with:
|
with:
|
||||||
node-version-file: .nvmrc
|
node-version: "20"
|
||||||
cache: npm
|
- name: Update known versions
|
||||||
- name: Update known checksums
|
id: update-known-versions
|
||||||
id: update-known-checksums
|
|
||||||
run:
|
run:
|
||||||
node dist/update-known-checksums/index.cjs
|
node dist/update-known-versions/index.js
|
||||||
src/download/checksum/known-checksums.ts
|
src/download/checksum/known-checksums.ts
|
||||||
|
version-manifest.json
|
||||||
- name: Check for changes
|
- name: Check for changes
|
||||||
id: changes-exist
|
id: changes-exist
|
||||||
run: |
|
run: |
|
||||||
@@ -47,23 +47,23 @@ jobs:
|
|||||||
git config user.name "$GITHUB_ACTOR"
|
git config user.name "$GITHUB_ACTOR"
|
||||||
git config user.email "$GITHUB_ACTOR@users.noreply.github.com"
|
git config user.email "$GITHUB_ACTOR@users.noreply.github.com"
|
||||||
git add .
|
git add .
|
||||||
git commit -m "chore: update known checksums for $LATEST_VERSION"
|
git commit -m "chore: update known versions for $LATEST_VERSION"
|
||||||
git push origin HEAD:refs/heads/main
|
git push origin HEAD:refs/heads/main
|
||||||
env:
|
env:
|
||||||
LATEST_VERSION: ${{ steps.update-known-checksums.outputs.latest-version }}
|
LATEST_VERSION: ${{ steps.update-known-versions.outputs.latest-version }}
|
||||||
|
|
||||||
- name: Create Pull Request
|
- name: Create Pull Request
|
||||||
if: ${{ steps.changes-exist.outputs.changes-exist == 'true' && steps.commit-and-push.outcome != 'success' }}
|
if: ${{ steps.changes-exist.outputs.changes-exist == 'true' && steps.commit-and-push.outcome != 'success' }}
|
||||||
uses: peter-evans/create-pull-request@5f6978faf089d4d20b00c7766989d076bb2fc7f1 # v8.1.1
|
uses: peter-evans/create-pull-request@98357b18bf14b5342f975ff684046ec3b2a07725 # v8.0.0
|
||||||
with:
|
with:
|
||||||
commit-message: "chore: update known checksums"
|
commit-message: "chore: update known checksums"
|
||||||
title:
|
title:
|
||||||
"chore: update known checksums for ${{
|
"chore: update known checksums for ${{
|
||||||
steps.update-known-checksums.outputs.latest-version }}"
|
steps.update-known-versions.outputs.latest-version }}"
|
||||||
body:
|
body:
|
||||||
"chore: update known checksums for ${{
|
"chore: update known checksums for ${{
|
||||||
steps.update-known-checksums.outputs.latest-version }}"
|
steps.update-known-versions.outputs.latest-version }}"
|
||||||
base: main
|
base: main
|
||||||
labels: "automated-pr,update-known-checksums"
|
labels: "automated-pr,update-known-versions"
|
||||||
branch: update-known-checksums-pr
|
branch: update-known-versions-pr
|
||||||
delete-branch: true
|
delete-branch: true
|
||||||
51
.github/workflows/update-major-minor-tags.yml
vendored
Normal file
51
.github/workflows/update-major-minor-tags.yml
vendored
Normal file
@@ -0,0 +1,51 @@
|
|||||||
|
---
|
||||||
|
name: Update Major Minor Tags
|
||||||
|
|
||||||
|
on:
|
||||||
|
push:
|
||||||
|
branches-ignore:
|
||||||
|
- "**"
|
||||||
|
tags:
|
||||||
|
- "v*.*.*"
|
||||||
|
|
||||||
|
permissions: {}
|
||||||
|
|
||||||
|
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
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
|
||||||
|
with:
|
||||||
|
persist-credentials: true # needed for git push below
|
||||||
|
- name: Update Major Minor Tags
|
||||||
|
run: |
|
||||||
|
set -x
|
||||||
|
|
||||||
|
cd "${GITHUB_WORKSPACE}" || exit
|
||||||
|
|
||||||
|
# Set up variables.
|
||||||
|
TAG="${GITHUB_REF#refs/tags/}" # v1.2.3
|
||||||
|
MINOR="${TAG%.*}" # v1.2
|
||||||
|
MAJOR="${MINOR%.*}" # v1
|
||||||
|
|
||||||
|
if [ "${GITHUB_REF}" = "${TAG}" ]; then
|
||||||
|
echo "This workflow is not triggered by tag push: GITHUB_REF=${GITHUB_REF}"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
MESSAGE="Release ${TAG}"
|
||||||
|
|
||||||
|
# Set up Git.
|
||||||
|
git config user.name "${GITHUB_ACTOR}"
|
||||||
|
git config user.email "${GITHUB_ACTOR}@users.noreply.github.com"
|
||||||
|
|
||||||
|
# Update MAJOR/MINOR tag
|
||||||
|
git tag -fa "${MAJOR}" -m "${MESSAGE}"
|
||||||
|
git tag -fa "${MINOR}" -m "${MESSAGE}"
|
||||||
|
|
||||||
|
# Push
|
||||||
|
git push --force origin "${MINOR}"
|
||||||
|
git push --force origin "${MAJOR}"
|
||||||
18
AGENTS.md
18
AGENTS.md
@@ -1,18 +0,0 @@
|
|||||||
# setup-uv agent notes
|
|
||||||
|
|
||||||
This repository is a TypeScript-based GitHub Action for installing `uv` in GitHub Actions workflows. It also supports restoring/saving the `uv` cache and optional managed-Python caching.
|
|
||||||
|
|
||||||
- The published action runs the committed bundles in `dist/`, not the TypeScript in `src/`. After any code change, run `npm run package` and commit the resulting `dist/` updates.
|
|
||||||
- Standard local validation is:
|
|
||||||
1. `npm ci --ignore-scripts`
|
|
||||||
2. `npm run all`
|
|
||||||
- `npm run check` uses Biome (not ESLint/Prettier) and rewrites files in place.
|
|
||||||
- User-facing changes are usually multi-file changes. If you add or change inputs, outputs, or behavior, update `action.yml`, `action-types.yml`, the implementation in `src/`, tests in `__tests__/`, relevant docs/README, and then re-package.
|
|
||||||
- The easiest areas to regress are version resolution and caching. When touching them, add or update tests for precedence, cache invalidation, and cross-platform path behavior.
|
|
||||||
- Workflow edits have extra CI-only checks (`actionlint` and `zizmor`); `npm run all` does not cover them.
|
|
||||||
- Source is authored with bundler-friendly TypeScript, but published action artifacts in `dist/` are bundled as CommonJS for maximum GitHub Actions runtime compatibility with `@actions/*` dependencies.
|
|
||||||
- Keep these concerns separate when changing module formats:
|
|
||||||
- `src/` and tests may use modern ESM-friendly TypeScript patterns.
|
|
||||||
- `dist/` should prioritize runtime reliability over format purity.
|
|
||||||
- Do not switch published bundles to ESM without validating the actual committed artifacts under the target Node runtime.
|
|
||||||
- Before finishing, make sure validation does not leave generated or formatting-only diffs behind.
|
|
||||||
48
README.md
48
README.md
@@ -26,7 +26,7 @@ Set up your GitHub Actions workflow with a specific version of [uv](https://docs
|
|||||||
|
|
||||||
```yaml
|
```yaml
|
||||||
- name: Install the latest version of uv
|
- name: Install the latest version of uv
|
||||||
uses: astral-sh/setup-uv@08807647e7069bb48b6ef5acd8ec9567f424441b # v8.1.0
|
uses: astral-sh/setup-uv@v7
|
||||||
```
|
```
|
||||||
|
|
||||||
If you do not specify a version, this action will look for a [required-version](https://docs.astral.sh/uv/reference/settings/#required-version)
|
If you do not specify a version, this action will look for a [required-version](https://docs.astral.sh/uv/reference/settings/#required-version)
|
||||||
@@ -42,7 +42,7 @@ Have a look under [Advanced Configuration](#advanced-configuration) for detailed
|
|||||||
|
|
||||||
```yaml
|
```yaml
|
||||||
- name: Install uv with all available options
|
- name: Install uv with all available options
|
||||||
uses: astral-sh/setup-uv@08807647e7069bb48b6ef5acd8ec9567f424441b # v8.1.0
|
uses: astral-sh/setup-uv@v7
|
||||||
with:
|
with:
|
||||||
# The version of uv to install (default: searches for version in config files, then latest)
|
# The version of uv to install (default: searches for version in config files, then latest)
|
||||||
version: ""
|
version: ""
|
||||||
@@ -59,19 +59,13 @@ Have a look under [Advanced Configuration](#advanced-configuration) for detailed
|
|||||||
# Use uv venv to activate a venv ready to be used by later steps
|
# Use uv venv to activate a venv ready to be used by later steps
|
||||||
activate-environment: "false"
|
activate-environment: "false"
|
||||||
|
|
||||||
# Custom path for the virtual environment when using activate-environment (default: .venv in the working directory)
|
|
||||||
venv-path: ""
|
|
||||||
|
|
||||||
# Pass --no-project when creating the venv with activate-environment.
|
|
||||||
no-project: "false"
|
|
||||||
|
|
||||||
# The directory to execute all commands in and look for files such as pyproject.toml
|
# The directory to execute all commands in and look for files such as pyproject.toml
|
||||||
working-directory: ""
|
working-directory: ""
|
||||||
|
|
||||||
# The checksum of the uv version to install
|
# The checksum of the uv version to install
|
||||||
checksum: ""
|
checksum: ""
|
||||||
|
|
||||||
# Used when downloading uv from GitHub releases
|
# Used to increase the rate limit when retrieving versions and downloading uv
|
||||||
github-token: ${{ github.token }}
|
github-token: ${{ github.token }}
|
||||||
|
|
||||||
# Enable uploading of the uv cache: true, false, or auto (enabled on GitHub-hosted runners, disabled on self-hosted runners)
|
# Enable uploading of the uv cache: true, false, or auto (enabled on GitHub-hosted runners, disabled on self-hosted runners)
|
||||||
@@ -117,17 +111,11 @@ Have a look under [Advanced Configuration](#advanced-configuration) for detailed
|
|||||||
# Custom path to set UV_TOOL_BIN_DIR to
|
# Custom path to set UV_TOOL_BIN_DIR to
|
||||||
tool-bin-dir: ""
|
tool-bin-dir: ""
|
||||||
|
|
||||||
# URL to a custom manifest file in the astral-sh/versions format
|
# URL to the manifest file containing available versions and download URLs
|
||||||
manifest-file: ""
|
manifest-file: ""
|
||||||
|
|
||||||
# Download uv from the Astral mirror instead of directly from GitHub Releases
|
|
||||||
download-from-astral-mirror: "true"
|
|
||||||
|
|
||||||
# Add problem matchers
|
# Add problem matchers
|
||||||
add-problem-matchers: "true"
|
add-problem-matchers: "true"
|
||||||
|
|
||||||
# Suppress info-level log output. Only warnings and errors are shown
|
|
||||||
quiet: "false"
|
|
||||||
```
|
```
|
||||||
|
|
||||||
### Outputs
|
### Outputs
|
||||||
@@ -148,7 +136,7 @@ This will override any python version specifications in `pyproject.toml` and `.p
|
|||||||
|
|
||||||
```yaml
|
```yaml
|
||||||
- name: Install the latest version of uv and set the python version to 3.13t
|
- name: Install the latest version of uv and set the python version to 3.13t
|
||||||
uses: astral-sh/setup-uv@08807647e7069bb48b6ef5acd8ec9567f424441b # v8.1.0
|
uses: astral-sh/setup-uv@v7
|
||||||
with:
|
with:
|
||||||
python-version: 3.13t
|
python-version: 3.13t
|
||||||
- run: uv pip install --python=3.13t pip
|
- run: uv pip install --python=3.13t pip
|
||||||
@@ -166,7 +154,7 @@ jobs:
|
|||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v5
|
- uses: actions/checkout@v5
|
||||||
- name: Install the latest version of uv and set the python version
|
- name: Install the latest version of uv and set the python version
|
||||||
uses: astral-sh/setup-uv@08807647e7069bb48b6ef5acd8ec9567f424441b # v8.1.0
|
uses: astral-sh/setup-uv@v7
|
||||||
with:
|
with:
|
||||||
python-version: ${{ matrix.python-version }}
|
python-version: ${{ matrix.python-version }}
|
||||||
- name: Test with python ${{ matrix.python-version }}
|
- name: Test with python ${{ matrix.python-version }}
|
||||||
@@ -179,11 +167,11 @@ 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
|
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.
|
which are used to determine the version of uv and python to install.
|
||||||
|
|
||||||
It also controls where [the venv gets created](#activate-environment), unless `venv-path` is set.
|
It also controls where [the venv gets created](#activate-environment).
|
||||||
|
|
||||||
```yaml
|
```yaml
|
||||||
- name: Install uv based on the config files in the working-directory
|
- name: Install uv based on the config files in the working-directory
|
||||||
uses: astral-sh/setup-uv@08807647e7069bb48b6ef5acd8ec9567f424441b # v8.1.0
|
uses: astral-sh/setup-uv@v7
|
||||||
with:
|
with:
|
||||||
working-directory: my/subproject/dir
|
working-directory: my/subproject/dir
|
||||||
```
|
```
|
||||||
@@ -199,12 +187,10 @@ For more advanced configuration options, see our detailed documentation:
|
|||||||
|
|
||||||
## How it works
|
## How it works
|
||||||
|
|
||||||
By default, this action resolves uv versions from the
|
This action downloads uv from the uv repo's official
|
||||||
[`astral-sh/versions`](https://github.com/astral-sh/versions) manifest and downloads uv from the
|
[GitHub Releases](https://github.com/astral-sh/uv) and uses the
|
||||||
official [GitHub Releases](https://github.com/astral-sh/uv).
|
[GitHub Actions Toolkit](https://github.com/actions/toolkit) to cache it as a tool to speed up
|
||||||
|
consecutive runs on self-hosted runners.
|
||||||
It then uses the [GitHub Actions Toolkit](https://github.com/actions/toolkit) to cache uv 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 later steps to invoke it
|
||||||
by name (`uv`).
|
by name (`uv`).
|
||||||
@@ -225,7 +211,7 @@ For example:
|
|||||||
- name: Checkout the repository
|
- name: Checkout the repository
|
||||||
uses: actions/checkout@main
|
uses: actions/checkout@main
|
||||||
- name: Install the latest version of uv
|
- name: Install the latest version of uv
|
||||||
uses: astral-sh/setup-uv@08807647e7069bb48b6ef5acd8ec9567f424441b # v8.1.0
|
uses: astral-sh/setup-uv@v7
|
||||||
with:
|
with:
|
||||||
enable-cache: true
|
enable-cache: true
|
||||||
- name: Test
|
- name: Test
|
||||||
@@ -237,7 +223,7 @@ To install a specific version of Python, use
|
|||||||
|
|
||||||
```yaml
|
```yaml
|
||||||
- name: Install the latest version of uv
|
- name: Install the latest version of uv
|
||||||
uses: astral-sh/setup-uv@08807647e7069bb48b6ef5acd8ec9567f424441b # v8.1.0
|
uses: astral-sh/setup-uv@v7
|
||||||
with:
|
with:
|
||||||
enable-cache: true
|
enable-cache: true
|
||||||
- name: Install Python 3.12
|
- name: Install Python 3.12
|
||||||
@@ -256,7 +242,7 @@ output:
|
|||||||
uses: actions/checkout@main
|
uses: actions/checkout@main
|
||||||
- name: Install the default version of uv
|
- name: Install the default version of uv
|
||||||
id: setup-uv
|
id: setup-uv
|
||||||
uses: astral-sh/setup-uv@08807647e7069bb48b6ef5acd8ec9567f424441b # v8.1.0
|
uses: astral-sh/setup-uv@v7
|
||||||
- name: Print the installed version
|
- name: Print the installed version
|
||||||
run: echo "Installed uv version is ${{ steps.setup-uv.outputs.uv-version }}"
|
run: echo "Installed uv version is ${{ steps.setup-uv.outputs.uv-version }}"
|
||||||
```
|
```
|
||||||
@@ -290,7 +276,7 @@ the cache will not be found and the warning `No GitHub Actions cache found for k
|
|||||||
While this might be irritating at first, it is expected behaviour and the cache will be created
|
While this might be irritating at first, it is expected behaviour and the cache will be created
|
||||||
and reused in later workflows.
|
and reused in later workflows.
|
||||||
|
|
||||||
The reason for the warning is that we have to way to know if this is the first run of a new
|
The reason for the warning is, that we have to way to know if this is the first run of a new
|
||||||
cache key or the user accidentally misconfigured the cache-dependency-glob
|
cache key or the user accidentally misconfigured the cache-dependency-glob
|
||||||
or cache-suffix (see [Caching documentation](docs/caching.md)) and the cache never gets used.
|
or cache-suffix (see [Caching documentation](docs/caching.md)) and the cache never gets used.
|
||||||
|
|
||||||
@@ -303,7 +289,7 @@ Running `actions/checkout` after `setup-uv` **is not supported**.
|
|||||||
|
|
||||||
### Does `setup-uv` also install my project or its dependencies automatically?
|
### Does `setup-uv` also install my project or its dependencies automatically?
|
||||||
|
|
||||||
No, `setup-uv` alone won't install any libraries from your `pyproject.toml` or `requirements.txt`, it only sets up `uv`.
|
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.
|
You should run `uv sync` or `uv pip install .` separately, or use `uv run ...` to ensure necessary dependencies are installed.
|
||||||
|
|
||||||
### Why is a changed cache not detected and not the full cache uploaded?
|
### Why is a changed cache not detected and not the full cache uploaded?
|
||||||
|
|||||||
@@ -4,11 +4,10 @@ import {
|
|||||||
validateChecksum,
|
validateChecksum,
|
||||||
} from "../../../src/download/checksum/checksum";
|
} from "../../../src/download/checksum/checksum";
|
||||||
|
|
||||||
const validChecksum =
|
|
||||||
"f3da96ec7e995debee7f5d52ecd034dfb7074309a1da42f76429ecb814d813a3";
|
|
||||||
const filePath = "__tests__/fixtures/checksumfile";
|
|
||||||
|
|
||||||
test("checksum should match", async () => {
|
test("checksum should match", async () => {
|
||||||
|
const validChecksum =
|
||||||
|
"f3da96ec7e995debee7f5d52ecd034dfb7074309a1da42f76429ecb814d813a3";
|
||||||
|
const filePath = "__tests__/fixtures/checksumfile";
|
||||||
// string params don't matter only test the checksum mechanism, not known checksums
|
// string params don't matter only test the checksum mechanism, not known checksums
|
||||||
await validateChecksum(
|
await validateChecksum(
|
||||||
validChecksum,
|
validChecksum,
|
||||||
@@ -19,16 +18,6 @@ test("checksum should match", async () => {
|
|||||||
);
|
);
|
||||||
});
|
});
|
||||||
|
|
||||||
test("provided checksum beats known checksums", async () => {
|
|
||||||
await validateChecksum(
|
|
||||||
validChecksum,
|
|
||||||
filePath,
|
|
||||||
"x86_64",
|
|
||||||
"unknown-linux-gnu",
|
|
||||||
"0.3.0",
|
|
||||||
);
|
|
||||||
});
|
|
||||||
|
|
||||||
type KnownVersionFixture = { version: string; known: boolean };
|
type KnownVersionFixture = { version: string; known: boolean };
|
||||||
|
|
||||||
it.each<KnownVersionFixture>([
|
it.each<KnownVersionFixture>([
|
||||||
|
|||||||
9
__tests__/download/custom-manifest.json
Normal file
9
__tests__/download/custom-manifest.json
Normal file
@@ -0,0 +1,9 @@
|
|||||||
|
[
|
||||||
|
{
|
||||||
|
"arch": "x86_64",
|
||||||
|
"artifactName": "uv-x86_64-unknown-linux-gnu.tar.gz",
|
||||||
|
"downloadUrl": "https://release.pyx.dev/0.7.12-alpha.1/uv-x86_64-unknown-linux-gnu.tar.gz",
|
||||||
|
"platform": "unknown-linux-gnu",
|
||||||
|
"version": "0.7.12-alpha.1"
|
||||||
|
}
|
||||||
|
]
|
||||||
@@ -1 +0,0 @@
|
|||||||
{"version":"0.9.26","artifacts":[{"platform":"x86_64-unknown-linux-gnu","variant":"default","url":"https://github.com/astral-sh/uv/releases/download/0.9.26/uv-x86_64-unknown-linux-gnu.tar.gz","archive_format":"tar.gz","sha256":"30ccbf0a66dc8727a02b0e245c583ee970bdafecf3a443c1686e1b30ec4939e8"}]}
|
|
||||||
@@ -1,430 +0,0 @@
|
|||||||
import { beforeEach, describe, expect, it, jest } from "@jest/globals";
|
|
||||||
import * as semver from "semver";
|
|
||||||
|
|
||||||
const mockInfo = jest.fn();
|
|
||||||
const mockWarning = jest.fn();
|
|
||||||
|
|
||||||
jest.unstable_mockModule("@actions/core", () => ({
|
|
||||||
debug: jest.fn(),
|
|
||||||
info: mockInfo,
|
|
||||||
warning: mockWarning,
|
|
||||||
}));
|
|
||||||
|
|
||||||
// biome-ignore lint/suspicious/noExplicitAny: Mock requires flexible typing in tests.
|
|
||||||
const mockDownloadTool = jest.fn<any>();
|
|
||||||
// biome-ignore lint/suspicious/noExplicitAny: Mock requires flexible typing in tests.
|
|
||||||
const mockExtractTar = jest.fn<any>();
|
|
||||||
// biome-ignore lint/suspicious/noExplicitAny: Mock requires flexible typing in tests.
|
|
||||||
const mockExtractZip = jest.fn<any>();
|
|
||||||
// biome-ignore lint/suspicious/noExplicitAny: Mock requires flexible typing in tests.
|
|
||||||
const mockCacheDir = jest.fn<any>();
|
|
||||||
|
|
||||||
jest.unstable_mockModule("@actions/tool-cache", () => ({
|
|
||||||
cacheDir: mockCacheDir,
|
|
||||||
downloadTool: mockDownloadTool,
|
|
||||||
evaluateVersions: (versions: string[], range: string) =>
|
|
||||||
semver.maxSatisfying(versions, range) ?? "",
|
|
||||||
extractTar: mockExtractTar,
|
|
||||||
extractZip: mockExtractZip,
|
|
||||||
find: () => "",
|
|
||||||
findAllVersions: () => [],
|
|
||||||
isExplicitVersion: (version: string) => semver.valid(version) !== null,
|
|
||||||
}));
|
|
||||||
|
|
||||||
// biome-ignore lint/suspicious/noExplicitAny: Mock requires flexible typing in tests.
|
|
||||||
const mockGetLatestVersion = jest.fn<any>();
|
|
||||||
// biome-ignore lint/suspicious/noExplicitAny: Mock requires flexible typing in tests.
|
|
||||||
const mockGetAllVersions = jest.fn<any>();
|
|
||||||
// biome-ignore lint/suspicious/noExplicitAny: Mock requires flexible typing in tests.
|
|
||||||
const mockGetArtifact = jest.fn<any>();
|
|
||||||
|
|
||||||
jest.unstable_mockModule("../../src/download/manifest", () => ({
|
|
||||||
getAllVersions: mockGetAllVersions,
|
|
||||||
getArtifact: mockGetArtifact,
|
|
||||||
getLatestVersion: mockGetLatestVersion,
|
|
||||||
}));
|
|
||||||
|
|
||||||
// biome-ignore lint/suspicious/noExplicitAny: Mock requires flexible typing in tests.
|
|
||||||
const mockValidateChecksum = jest.fn<any>();
|
|
||||||
|
|
||||||
jest.unstable_mockModule("../../src/download/checksum/checksum", () => ({
|
|
||||||
validateChecksum: mockValidateChecksum,
|
|
||||||
}));
|
|
||||||
|
|
||||||
const { downloadVersion, resolveVersion, rewriteToMirror } = await import(
|
|
||||||
"../../src/download/download-version"
|
|
||||||
);
|
|
||||||
|
|
||||||
describe("download-version", () => {
|
|
||||||
beforeEach(() => {
|
|
||||||
mockInfo.mockReset();
|
|
||||||
mockWarning.mockReset();
|
|
||||||
mockDownloadTool.mockReset();
|
|
||||||
mockExtractTar.mockReset();
|
|
||||||
mockExtractZip.mockReset();
|
|
||||||
mockCacheDir.mockReset();
|
|
||||||
mockGetLatestVersion.mockReset();
|
|
||||||
mockGetAllVersions.mockReset();
|
|
||||||
mockGetArtifact.mockReset();
|
|
||||||
mockValidateChecksum.mockReset();
|
|
||||||
|
|
||||||
mockDownloadTool.mockResolvedValue("/tmp/downloaded");
|
|
||||||
mockExtractTar.mockResolvedValue("/tmp/extracted");
|
|
||||||
mockExtractZip.mockResolvedValue("/tmp/extracted");
|
|
||||||
mockCacheDir.mockResolvedValue("/tmp/cached");
|
|
||||||
});
|
|
||||||
|
|
||||||
describe("resolveVersion", () => {
|
|
||||||
it("uses the default manifest to resolve latest", async () => {
|
|
||||||
mockGetLatestVersion.mockResolvedValue("0.9.26");
|
|
||||||
|
|
||||||
const version = await resolveVersion("latest", undefined);
|
|
||||||
|
|
||||||
expect(version).toBe("0.9.26");
|
|
||||||
expect(mockGetLatestVersion).toHaveBeenCalledTimes(1);
|
|
||||||
expect(mockGetLatestVersion).toHaveBeenCalledWith(undefined);
|
|
||||||
});
|
|
||||||
|
|
||||||
it("uses the default manifest to resolve available versions", async () => {
|
|
||||||
mockGetAllVersions.mockResolvedValue(["0.9.26", "0.9.25"]);
|
|
||||||
|
|
||||||
const version = await resolveVersion("^0.9.0", undefined);
|
|
||||||
|
|
||||||
expect(version).toBe("0.9.26");
|
|
||||||
expect(mockGetAllVersions).toHaveBeenCalledTimes(1);
|
|
||||||
expect(mockGetAllVersions).toHaveBeenCalledWith(undefined);
|
|
||||||
});
|
|
||||||
|
|
||||||
it("treats == exact pins as explicit versions", async () => {
|
|
||||||
const version = await resolveVersion("==0.9.26", undefined);
|
|
||||||
|
|
||||||
expect(version).toBe("0.9.26");
|
|
||||||
expect(mockGetAllVersions).not.toHaveBeenCalled();
|
|
||||||
expect(mockGetLatestVersion).not.toHaveBeenCalled();
|
|
||||||
});
|
|
||||||
|
|
||||||
it("uses latest for minimum-only ranges when using the highest strategy", async () => {
|
|
||||||
mockGetLatestVersion.mockResolvedValue("0.9.26");
|
|
||||||
|
|
||||||
const version = await resolveVersion(">=0.9.0", undefined, "highest");
|
|
||||||
|
|
||||||
expect(version).toBe("0.9.26");
|
|
||||||
expect(mockGetLatestVersion).toHaveBeenCalledTimes(1);
|
|
||||||
expect(mockGetLatestVersion).toHaveBeenCalledWith(undefined);
|
|
||||||
expect(mockGetAllVersions).not.toHaveBeenCalled();
|
|
||||||
});
|
|
||||||
|
|
||||||
it("uses the lowest compatible version when requested", async () => {
|
|
||||||
mockGetAllVersions.mockResolvedValue(["0.9.26", "0.9.25"]);
|
|
||||||
|
|
||||||
const version = await resolveVersion("^0.9.0", undefined, "lowest");
|
|
||||||
|
|
||||||
expect(version).toBe("0.9.25");
|
|
||||||
expect(mockGetAllVersions).toHaveBeenCalledTimes(1);
|
|
||||||
expect(mockGetAllVersions).toHaveBeenCalledWith(undefined);
|
|
||||||
});
|
|
||||||
|
|
||||||
it("uses manifest-file when provided", async () => {
|
|
||||||
mockGetAllVersions.mockResolvedValue(["0.9.26", "0.9.25"]);
|
|
||||||
|
|
||||||
const version = await resolveVersion(
|
|
||||||
"^0.9.0",
|
|
||||||
"https://example.com/custom.ndjson",
|
|
||||||
);
|
|
||||||
|
|
||||||
expect(version).toBe("0.9.26");
|
|
||||||
expect(mockGetAllVersions).toHaveBeenCalledWith(
|
|
||||||
"https://example.com/custom.ndjson",
|
|
||||||
);
|
|
||||||
});
|
|
||||||
});
|
|
||||||
|
|
||||||
describe("downloadVersion", () => {
|
|
||||||
it("fails when manifest lookup fails", async () => {
|
|
||||||
mockGetArtifact.mockRejectedValue(new Error("manifest unavailable"));
|
|
||||||
|
|
||||||
await expect(
|
|
||||||
downloadVersion(
|
|
||||||
"unknown-linux-gnu",
|
|
||||||
"x86_64",
|
|
||||||
"0.9.26",
|
|
||||||
undefined,
|
|
||||||
"token",
|
|
||||||
),
|
|
||||||
).rejects.toThrow("manifest unavailable");
|
|
||||||
|
|
||||||
expect(mockDownloadTool).not.toHaveBeenCalled();
|
|
||||||
expect(mockValidateChecksum).not.toHaveBeenCalled();
|
|
||||||
});
|
|
||||||
|
|
||||||
it("fails when no matching artifact exists in the default manifest", async () => {
|
|
||||||
mockGetArtifact.mockResolvedValue(undefined);
|
|
||||||
|
|
||||||
await expect(
|
|
||||||
downloadVersion(
|
|
||||||
"unknown-linux-gnu",
|
|
||||||
"x86_64",
|
|
||||||
"0.9.26",
|
|
||||||
undefined,
|
|
||||||
"token",
|
|
||||||
),
|
|
||||||
).rejects.toThrow(
|
|
||||||
"Could not find artifact for version 0.9.26, arch x86_64, platform unknown-linux-gnu in https://raw.githubusercontent.com/astral-sh/versions/main/v1/uv.ndjson .",
|
|
||||||
);
|
|
||||||
|
|
||||||
expect(mockDownloadTool).not.toHaveBeenCalled();
|
|
||||||
expect(mockValidateChecksum).not.toHaveBeenCalled();
|
|
||||||
});
|
|
||||||
|
|
||||||
it("uses built-in checksums for default manifest downloads", async () => {
|
|
||||||
mockGetArtifact.mockResolvedValue({
|
|
||||||
archiveFormat: "tar.gz",
|
|
||||||
checksum: "manifest-checksum-that-should-be-ignored",
|
|
||||||
downloadUrl: "https://example.com/uv.tar.gz",
|
|
||||||
});
|
|
||||||
|
|
||||||
await downloadVersion(
|
|
||||||
"unknown-linux-gnu",
|
|
||||||
"x86_64",
|
|
||||||
"0.9.26",
|
|
||||||
undefined,
|
|
||||||
"token",
|
|
||||||
);
|
|
||||||
|
|
||||||
expect(mockValidateChecksum).toHaveBeenCalledWith(
|
|
||||||
undefined,
|
|
||||||
"/tmp/downloaded",
|
|
||||||
"x86_64",
|
|
||||||
"unknown-linux-gnu",
|
|
||||||
"0.9.26",
|
|
||||||
);
|
|
||||||
});
|
|
||||||
|
|
||||||
it("rewrites GitHub Releases URLs to the Astral mirror", async () => {
|
|
||||||
mockGetArtifact.mockResolvedValue({
|
|
||||||
archiveFormat: "tar.gz",
|
|
||||||
checksum: "abc123",
|
|
||||||
downloadUrl:
|
|
||||||
"https://github.com/astral-sh/uv/releases/download/0.9.26/uv-x86_64-unknown-linux-gnu.tar.gz",
|
|
||||||
});
|
|
||||||
|
|
||||||
await downloadVersion(
|
|
||||||
"unknown-linux-gnu",
|
|
||||||
"x86_64",
|
|
||||||
"0.9.26",
|
|
||||||
undefined,
|
|
||||||
"token",
|
|
||||||
);
|
|
||||||
|
|
||||||
expect(mockDownloadTool).toHaveBeenCalledWith(
|
|
||||||
"https://releases.astral.sh/github/uv/releases/download/0.9.26/uv-x86_64-unknown-linux-gnu.tar.gz",
|
|
||||||
undefined,
|
|
||||||
undefined,
|
|
||||||
);
|
|
||||||
});
|
|
||||||
|
|
||||||
it("does not send the token to non-GitHub URLs from the default manifest", async () => {
|
|
||||||
mockGetArtifact.mockResolvedValue({
|
|
||||||
archiveFormat: "tar.gz",
|
|
||||||
checksum: "abc123",
|
|
||||||
downloadUrl: "https://example.com/uv.tar.gz",
|
|
||||||
});
|
|
||||||
|
|
||||||
await downloadVersion(
|
|
||||||
"unknown-linux-gnu",
|
|
||||||
"x86_64",
|
|
||||||
"0.9.26",
|
|
||||||
undefined,
|
|
||||||
"token",
|
|
||||||
);
|
|
||||||
|
|
||||||
expect(mockDownloadTool).toHaveBeenCalledWith(
|
|
||||||
"https://example.com/uv.tar.gz",
|
|
||||||
undefined,
|
|
||||||
undefined,
|
|
||||||
);
|
|
||||||
});
|
|
||||||
|
|
||||||
it("does not send the token to GitHub lookalike hosts", async () => {
|
|
||||||
mockGetArtifact.mockResolvedValue({
|
|
||||||
archiveFormat: "tar.gz",
|
|
||||||
checksum: "abc123",
|
|
||||||
downloadUrl: "https://github.com.evil.test/uv.tar.gz",
|
|
||||||
});
|
|
||||||
|
|
||||||
await downloadVersion(
|
|
||||||
"unknown-linux-gnu",
|
|
||||||
"x86_64",
|
|
||||||
"0.9.26",
|
|
||||||
undefined,
|
|
||||||
"token",
|
|
||||||
);
|
|
||||||
|
|
||||||
expect(mockDownloadTool).toHaveBeenCalledWith(
|
|
||||||
"https://github.com.evil.test/uv.tar.gz",
|
|
||||||
undefined,
|
|
||||||
undefined,
|
|
||||||
);
|
|
||||||
});
|
|
||||||
|
|
||||||
it("falls back to GitHub Releases when the mirror fails", async () => {
|
|
||||||
mockGetArtifact.mockResolvedValue({
|
|
||||||
archiveFormat: "tar.gz",
|
|
||||||
checksum: "abc123",
|
|
||||||
downloadUrl:
|
|
||||||
"https://github.com/astral-sh/uv/releases/download/0.9.26/uv-x86_64-unknown-linux-gnu.tar.gz",
|
|
||||||
});
|
|
||||||
|
|
||||||
mockDownloadTool
|
|
||||||
.mockRejectedValueOnce(new Error("mirror unavailable"))
|
|
||||||
.mockResolvedValueOnce("/tmp/downloaded");
|
|
||||||
|
|
||||||
await downloadVersion(
|
|
||||||
"unknown-linux-gnu",
|
|
||||||
"x86_64",
|
|
||||||
"0.9.26",
|
|
||||||
undefined,
|
|
||||||
"token",
|
|
||||||
);
|
|
||||||
|
|
||||||
expect(mockDownloadTool).toHaveBeenCalledTimes(2);
|
|
||||||
expect(mockDownloadTool).toHaveBeenNthCalledWith(
|
|
||||||
1,
|
|
||||||
"https://releases.astral.sh/github/uv/releases/download/0.9.26/uv-x86_64-unknown-linux-gnu.tar.gz",
|
|
||||||
undefined,
|
|
||||||
undefined,
|
|
||||||
);
|
|
||||||
expect(mockDownloadTool).toHaveBeenNthCalledWith(
|
|
||||||
2,
|
|
||||||
"https://github.com/astral-sh/uv/releases/download/0.9.26/uv-x86_64-unknown-linux-gnu.tar.gz",
|
|
||||||
undefined,
|
|
||||||
"token",
|
|
||||||
);
|
|
||||||
expect(mockWarning).toHaveBeenCalledWith(
|
|
||||||
"Failed to download from mirror, falling back to GitHub Releases: mirror unavailable",
|
|
||||||
);
|
|
||||||
});
|
|
||||||
|
|
||||||
it("does not fall back for non-GitHub URLs", async () => {
|
|
||||||
mockGetArtifact.mockResolvedValue({
|
|
||||||
archiveFormat: "tar.gz",
|
|
||||||
checksum: "abc123",
|
|
||||||
downloadUrl: "https://example.com/uv.tar.gz",
|
|
||||||
});
|
|
||||||
|
|
||||||
mockDownloadTool.mockRejectedValue(new Error("download failed"));
|
|
||||||
|
|
||||||
await expect(
|
|
||||||
downloadVersion(
|
|
||||||
"unknown-linux-gnu",
|
|
||||||
"x86_64",
|
|
||||||
"0.9.26",
|
|
||||||
undefined,
|
|
||||||
"token",
|
|
||||||
),
|
|
||||||
).rejects.toThrow("download failed");
|
|
||||||
|
|
||||||
expect(mockDownloadTool).toHaveBeenCalledTimes(1);
|
|
||||||
});
|
|
||||||
|
|
||||||
it("uses manifest-file checksum metadata when checksum input is unset", async () => {
|
|
||||||
mockGetArtifact.mockResolvedValue({
|
|
||||||
archiveFormat: "tar.gz",
|
|
||||||
checksum: "manifest-checksum",
|
|
||||||
downloadUrl: "https://example.com/custom-uv.tar.gz",
|
|
||||||
});
|
|
||||||
|
|
||||||
await downloadVersion(
|
|
||||||
"unknown-linux-gnu",
|
|
||||||
"x86_64",
|
|
||||||
"0.9.26",
|
|
||||||
"",
|
|
||||||
"token",
|
|
||||||
"https://example.com/custom.ndjson",
|
|
||||||
);
|
|
||||||
|
|
||||||
expect(mockValidateChecksum).toHaveBeenCalledWith(
|
|
||||||
"manifest-checksum",
|
|
||||||
"/tmp/downloaded",
|
|
||||||
"x86_64",
|
|
||||||
"unknown-linux-gnu",
|
|
||||||
"0.9.26",
|
|
||||||
);
|
|
||||||
});
|
|
||||||
|
|
||||||
it("prefers checksum input over manifest-file checksum metadata", async () => {
|
|
||||||
mockGetArtifact.mockResolvedValue({
|
|
||||||
archiveFormat: "tar.gz",
|
|
||||||
checksum: "manifest-checksum",
|
|
||||||
downloadUrl: "https://example.com/custom-uv.tar.gz",
|
|
||||||
});
|
|
||||||
|
|
||||||
await downloadVersion(
|
|
||||||
"unknown-linux-gnu",
|
|
||||||
"x86_64",
|
|
||||||
"0.9.26",
|
|
||||||
"user-checksum",
|
|
||||||
"token",
|
|
||||||
"https://example.com/custom.ndjson",
|
|
||||||
);
|
|
||||||
|
|
||||||
expect(mockValidateChecksum).toHaveBeenCalledWith(
|
|
||||||
"user-checksum",
|
|
||||||
"/tmp/downloaded",
|
|
||||||
"x86_64",
|
|
||||||
"unknown-linux-gnu",
|
|
||||||
"0.9.26",
|
|
||||||
);
|
|
||||||
});
|
|
||||||
|
|
||||||
it("skips the Astral mirror when downloadFromAstralMirror is false", async () => {
|
|
||||||
mockGetArtifact.mockResolvedValue({
|
|
||||||
archiveFormat: "tar.gz",
|
|
||||||
checksum: "abc123",
|
|
||||||
downloadUrl:
|
|
||||||
"https://github.com/astral-sh/uv/releases/download/0.9.26/uv-x86_64-unknown-linux-gnu.tar.gz",
|
|
||||||
});
|
|
||||||
|
|
||||||
await downloadVersion(
|
|
||||||
"unknown-linux-gnu",
|
|
||||||
"x86_64",
|
|
||||||
"0.9.26",
|
|
||||||
undefined,
|
|
||||||
"token",
|
|
||||||
undefined,
|
|
||||||
false,
|
|
||||||
);
|
|
||||||
|
|
||||||
expect(mockDownloadTool).toHaveBeenCalledWith(
|
|
||||||
"https://github.com/astral-sh/uv/releases/download/0.9.26/uv-x86_64-unknown-linux-gnu.tar.gz",
|
|
||||||
undefined,
|
|
||||||
"token",
|
|
||||||
);
|
|
||||||
expect(mockDownloadTool).toHaveBeenCalledTimes(1);
|
|
||||||
});
|
|
||||||
});
|
|
||||||
|
|
||||||
describe("rewriteToMirror", () => {
|
|
||||||
it("rewrites a GitHub Releases URL to the Astral mirror", () => {
|
|
||||||
expect(
|
|
||||||
rewriteToMirror(
|
|
||||||
"https://github.com/astral-sh/uv/releases/download/0.9.26/uv-x86_64-unknown-linux-gnu.tar.gz",
|
|
||||||
),
|
|
||||||
).toBe(
|
|
||||||
"https://releases.astral.sh/github/uv/releases/download/0.9.26/uv-x86_64-unknown-linux-gnu.tar.gz",
|
|
||||||
);
|
|
||||||
});
|
|
||||||
|
|
||||||
it("returns undefined for non-GitHub URLs", () => {
|
|
||||||
expect(rewriteToMirror("https://example.com/uv.tar.gz")).toBeUndefined();
|
|
||||||
});
|
|
||||||
|
|
||||||
it("returns undefined for a different GitHub repo", () => {
|
|
||||||
expect(
|
|
||||||
rewriteToMirror(
|
|
||||||
"https://github.com/other/repo/releases/download/v1.0/file.tar.gz",
|
|
||||||
),
|
|
||||||
).toBeUndefined();
|
|
||||||
});
|
|
||||||
});
|
|
||||||
});
|
|
||||||
@@ -1,180 +0,0 @@
|
|||||||
import { beforeEach, describe, expect, it, jest } from "@jest/globals";
|
|
||||||
|
|
||||||
// biome-ignore lint/suspicious/noExplicitAny: Mock requires flexible typing in tests.
|
|
||||||
const mockFetch = jest.fn<any>();
|
|
||||||
|
|
||||||
jest.unstable_mockModule("@actions/core", () => ({
|
|
||||||
debug: jest.fn(),
|
|
||||||
info: jest.fn(),
|
|
||||||
}));
|
|
||||||
|
|
||||||
jest.unstable_mockModule("../../src/utils/fetch", () => ({
|
|
||||||
fetch: mockFetch,
|
|
||||||
}));
|
|
||||||
|
|
||||||
const {
|
|
||||||
clearManifestCache,
|
|
||||||
fetchManifest,
|
|
||||||
getAllVersions,
|
|
||||||
getArtifact,
|
|
||||||
getLatestVersion,
|
|
||||||
parseManifest,
|
|
||||||
} = await import("../../src/download/manifest");
|
|
||||||
|
|
||||||
const sampleManifestResponse = `{"version":"0.9.26","artifacts":[{"platform":"aarch64-apple-darwin","variant":"default","url":"https://github.com/astral-sh/uv/releases/download/0.9.26/uv-aarch64-apple-darwin.tar.gz","archive_format":"tar.gz","sha256":"fcf0a9ea6599c6ae28a4c854ac6da76f2c889354d7c36ce136ef071f7ab9721f"},{"platform":"x86_64-pc-windows-msvc","variant":"default","url":"https://github.com/astral-sh/uv/releases/download/0.9.26/uv-x86_64-pc-windows-msvc.zip","archive_format":"zip","sha256":"eb02fd95d8e0eed462b4a67ecdd320d865b38c560bffcda9a0b87ec944bdf036"}]}
|
|
||||||
{"version":"0.9.25","artifacts":[{"platform":"aarch64-apple-darwin","variant":"default","url":"https://github.com/astral-sh/uv/releases/download/0.9.25/uv-aarch64-apple-darwin.tar.gz","archive_format":"tar.gz","sha256":"606b3c6949d971709f2526fa0d9f0fd23ccf60e09f117999b406b424af18a6a6"}]}`;
|
|
||||||
|
|
||||||
const multiVariantManifestResponse = `{"version":"0.9.26","artifacts":[{"platform":"aarch64-apple-darwin","variant":"python-managed","url":"https://github.com/astral-sh/uv/releases/download/0.9.26/uv-aarch64-apple-darwin-managed.tar.gz","archive_format":"tar.gz","sha256":"managed-checksum"},{"platform":"aarch64-apple-darwin","variant":"default","url":"https://github.com/astral-sh/uv/releases/download/0.9.26/uv-aarch64-apple-darwin.zip","archive_format":"zip","sha256":"default-checksum"}]}`;
|
|
||||||
|
|
||||||
function createMockResponse(
|
|
||||||
ok: boolean,
|
|
||||||
status: number,
|
|
||||||
statusText: string,
|
|
||||||
data: string,
|
|
||||||
) {
|
|
||||||
return {
|
|
||||||
ok,
|
|
||||||
status,
|
|
||||||
statusText,
|
|
||||||
text: async () => data,
|
|
||||||
};
|
|
||||||
}
|
|
||||||
|
|
||||||
describe("manifest", () => {
|
|
||||||
beforeEach(() => {
|
|
||||||
clearManifestCache();
|
|
||||||
mockFetch.mockReset();
|
|
||||||
});
|
|
||||||
|
|
||||||
describe("fetchManifest", () => {
|
|
||||||
it("fetches and parses manifest data", async () => {
|
|
||||||
mockFetch.mockResolvedValue(
|
|
||||||
createMockResponse(true, 200, "OK", sampleManifestResponse),
|
|
||||||
);
|
|
||||||
|
|
||||||
const versions = await fetchManifest();
|
|
||||||
|
|
||||||
expect(versions).toHaveLength(2);
|
|
||||||
expect(versions[0]?.version).toBe("0.9.26");
|
|
||||||
expect(versions[1]?.version).toBe("0.9.25");
|
|
||||||
});
|
|
||||||
|
|
||||||
it("throws on a failed fetch", async () => {
|
|
||||||
mockFetch.mockResolvedValue(
|
|
||||||
createMockResponse(false, 500, "Internal Server Error", ""),
|
|
||||||
);
|
|
||||||
|
|
||||||
await expect(fetchManifest()).rejects.toThrow(
|
|
||||||
"Failed to fetch manifest data: 500 Internal Server Error",
|
|
||||||
);
|
|
||||||
});
|
|
||||||
|
|
||||||
it("caches results per URL", async () => {
|
|
||||||
mockFetch.mockResolvedValue(
|
|
||||||
createMockResponse(true, 200, "OK", sampleManifestResponse),
|
|
||||||
);
|
|
||||||
|
|
||||||
await fetchManifest("https://example.com/custom.ndjson");
|
|
||||||
await fetchManifest("https://example.com/custom.ndjson");
|
|
||||||
|
|
||||||
expect(mockFetch).toHaveBeenCalledTimes(1);
|
|
||||||
});
|
|
||||||
});
|
|
||||||
|
|
||||||
describe("getAllVersions", () => {
|
|
||||||
it("returns all version strings", async () => {
|
|
||||||
mockFetch.mockResolvedValue(
|
|
||||||
createMockResponse(true, 200, "OK", sampleManifestResponse),
|
|
||||||
);
|
|
||||||
|
|
||||||
const versions = await getAllVersions(
|
|
||||||
"https://example.com/custom.ndjson",
|
|
||||||
);
|
|
||||||
|
|
||||||
expect(versions).toEqual(["0.9.26", "0.9.25"]);
|
|
||||||
});
|
|
||||||
});
|
|
||||||
|
|
||||||
describe("getLatestVersion", () => {
|
|
||||||
it("returns the first version string", async () => {
|
|
||||||
mockFetch.mockResolvedValue(
|
|
||||||
createMockResponse(true, 200, "OK", sampleManifestResponse),
|
|
||||||
);
|
|
||||||
|
|
||||||
await expect(
|
|
||||||
getLatestVersion("https://example.com/custom.ndjson"),
|
|
||||||
).resolves.toBe("0.9.26");
|
|
||||||
});
|
|
||||||
});
|
|
||||||
|
|
||||||
describe("getArtifact", () => {
|
|
||||||
beforeEach(() => {
|
|
||||||
mockFetch.mockResolvedValue(
|
|
||||||
createMockResponse(true, 200, "OK", sampleManifestResponse),
|
|
||||||
);
|
|
||||||
});
|
|
||||||
|
|
||||||
it("finds an artifact by version and platform", async () => {
|
|
||||||
const artifact = await getArtifact("0.9.26", "aarch64", "apple-darwin");
|
|
||||||
|
|
||||||
expect(artifact).toEqual({
|
|
||||||
archiveFormat: "tar.gz",
|
|
||||||
checksum:
|
|
||||||
"fcf0a9ea6599c6ae28a4c854ac6da76f2c889354d7c36ce136ef071f7ab9721f",
|
|
||||||
downloadUrl:
|
|
||||||
"https://github.com/astral-sh/uv/releases/download/0.9.26/uv-aarch64-apple-darwin.tar.gz",
|
|
||||||
});
|
|
||||||
});
|
|
||||||
|
|
||||||
it("finds a windows artifact", async () => {
|
|
||||||
const artifact = await getArtifact("0.9.26", "x86_64", "pc-windows-msvc");
|
|
||||||
|
|
||||||
expect(artifact).toEqual({
|
|
||||||
archiveFormat: "zip",
|
|
||||||
checksum:
|
|
||||||
"eb02fd95d8e0eed462b4a67ecdd320d865b38c560bffcda9a0b87ec944bdf036",
|
|
||||||
downloadUrl:
|
|
||||||
"https://github.com/astral-sh/uv/releases/download/0.9.26/uv-x86_64-pc-windows-msvc.zip",
|
|
||||||
});
|
|
||||||
});
|
|
||||||
|
|
||||||
it("prefers the default variant when multiple artifacts share a platform", async () => {
|
|
||||||
mockFetch.mockResolvedValue(
|
|
||||||
createMockResponse(true, 200, "OK", multiVariantManifestResponse),
|
|
||||||
);
|
|
||||||
|
|
||||||
const artifact = await getArtifact("0.9.26", "aarch64", "apple-darwin");
|
|
||||||
|
|
||||||
expect(artifact).toEqual({
|
|
||||||
archiveFormat: "zip",
|
|
||||||
checksum: "default-checksum",
|
|
||||||
downloadUrl:
|
|
||||||
"https://github.com/astral-sh/uv/releases/download/0.9.26/uv-aarch64-apple-darwin.zip",
|
|
||||||
});
|
|
||||||
});
|
|
||||||
|
|
||||||
it("returns undefined for an unknown version", async () => {
|
|
||||||
const artifact = await getArtifact("0.0.1", "aarch64", "apple-darwin");
|
|
||||||
|
|
||||||
expect(artifact).toBeUndefined();
|
|
||||||
});
|
|
||||||
|
|
||||||
it("returns undefined for an unknown platform", async () => {
|
|
||||||
const artifact = await getArtifact(
|
|
||||||
"0.9.26",
|
|
||||||
"aarch64",
|
|
||||||
"unknown-linux-musl",
|
|
||||||
);
|
|
||||||
|
|
||||||
expect(artifact).toBeUndefined();
|
|
||||||
});
|
|
||||||
});
|
|
||||||
|
|
||||||
describe("parseManifest", () => {
|
|
||||||
it("throws for malformed manifest data", () => {
|
|
||||||
expect(() => parseManifest('{"version":"0.1.0"', "test-source")).toThrow(
|
|
||||||
"Failed to parse manifest data from test-source",
|
|
||||||
);
|
|
||||||
});
|
|
||||||
});
|
|
||||||
});
|
|
||||||
142
__tests__/download/versions-client.test.ts
Normal file
142
__tests__/download/versions-client.test.ts
Normal file
@@ -0,0 +1,142 @@
|
|||||||
|
import { beforeEach, describe, expect, it, jest } from "@jest/globals";
|
||||||
|
|
||||||
|
// biome-ignore lint/suspicious/noExplicitAny: mock needs flexible typing
|
||||||
|
const mockFetch = jest.fn<any>();
|
||||||
|
jest.mock("../../src/utils/fetch", () => ({
|
||||||
|
fetch: mockFetch,
|
||||||
|
}));
|
||||||
|
|
||||||
|
import {
|
||||||
|
clearCache,
|
||||||
|
fetchVersionData,
|
||||||
|
getAllVersions,
|
||||||
|
getArtifact,
|
||||||
|
getLatestVersion,
|
||||||
|
} from "../../src/download/versions-client";
|
||||||
|
|
||||||
|
const sampleNdjsonResponse = `{"version":"0.9.26","artifacts":[{"platform":"aarch64-apple-darwin","variant":"default","url":"https://github.com/astral-sh/uv/releases/download/0.9.26/uv-aarch64-apple-darwin.tar.gz","archive_format":"tar.gz","sha256":"fcf0a9ea6599c6ae28a4c854ac6da76f2c889354d7c36ce136ef071f7ab9721f"},{"platform":"x86_64-pc-windows-msvc","variant":"default","url":"https://github.com/astral-sh/uv/releases/download/0.9.26/uv-x86_64-pc-windows-msvc.zip","archive_format":"zip","sha256":"eb02fd95d8e0eed462b4a67ecdd320d865b38c560bffcda9a0b87ec944bdf036"}]}
|
||||||
|
{"version":"0.9.25","artifacts":[{"platform":"aarch64-apple-darwin","variant":"default","url":"https://github.com/astral-sh/uv/releases/download/0.9.25/uv-aarch64-apple-darwin.tar.gz","archive_format":"tar.gz","sha256":"606b3c6949d971709f2526fa0d9f0fd23ccf60e09f117999b406b424af18a6a6"}]}`;
|
||||||
|
|
||||||
|
function createMockResponse(
|
||||||
|
ok: boolean,
|
||||||
|
status: number,
|
||||||
|
statusText: string,
|
||||||
|
data: string,
|
||||||
|
) {
|
||||||
|
return {
|
||||||
|
ok,
|
||||||
|
status,
|
||||||
|
statusText,
|
||||||
|
text: async () => data,
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
describe("versions-client", () => {
|
||||||
|
beforeEach(() => {
|
||||||
|
clearCache();
|
||||||
|
mockFetch.mockReset();
|
||||||
|
});
|
||||||
|
|
||||||
|
describe("fetchVersionData", () => {
|
||||||
|
it("should fetch and parse NDJSON data", async () => {
|
||||||
|
mockFetch.mockResolvedValue(
|
||||||
|
createMockResponse(true, 200, "OK", sampleNdjsonResponse),
|
||||||
|
);
|
||||||
|
|
||||||
|
const versions = await fetchVersionData();
|
||||||
|
|
||||||
|
expect(versions).toHaveLength(2);
|
||||||
|
expect(versions[0].version).toBe("0.9.26");
|
||||||
|
expect(versions[1].version).toBe("0.9.25");
|
||||||
|
});
|
||||||
|
|
||||||
|
it("should throw error on failed fetch", async () => {
|
||||||
|
mockFetch.mockResolvedValue(
|
||||||
|
createMockResponse(false, 500, "Internal Server Error", ""),
|
||||||
|
);
|
||||||
|
|
||||||
|
await expect(fetchVersionData()).rejects.toThrow(
|
||||||
|
"Failed to fetch version data: 500 Internal Server Error",
|
||||||
|
);
|
||||||
|
});
|
||||||
|
|
||||||
|
it("should cache results", async () => {
|
||||||
|
mockFetch.mockResolvedValue(
|
||||||
|
createMockResponse(true, 200, "OK", sampleNdjsonResponse),
|
||||||
|
);
|
||||||
|
|
||||||
|
await fetchVersionData();
|
||||||
|
await fetchVersionData();
|
||||||
|
|
||||||
|
expect(mockFetch).toHaveBeenCalledTimes(1);
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
|
describe("getLatestVersion", () => {
|
||||||
|
it("should return the first version (newest)", async () => {
|
||||||
|
mockFetch.mockResolvedValue(
|
||||||
|
createMockResponse(true, 200, "OK", sampleNdjsonResponse),
|
||||||
|
);
|
||||||
|
|
||||||
|
const latest = await getLatestVersion();
|
||||||
|
|
||||||
|
expect(latest).toBe("0.9.26");
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
|
describe("getAllVersions", () => {
|
||||||
|
it("should return all version strings", async () => {
|
||||||
|
mockFetch.mockResolvedValue(
|
||||||
|
createMockResponse(true, 200, "OK", sampleNdjsonResponse),
|
||||||
|
);
|
||||||
|
|
||||||
|
const versions = await getAllVersions();
|
||||||
|
|
||||||
|
expect(versions).toEqual(["0.9.26", "0.9.25"]);
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
|
describe("getArtifact", () => {
|
||||||
|
beforeEach(() => {
|
||||||
|
mockFetch.mockResolvedValue(
|
||||||
|
createMockResponse(true, 200, "OK", sampleNdjsonResponse),
|
||||||
|
);
|
||||||
|
});
|
||||||
|
|
||||||
|
it("should find artifact by version and platform", async () => {
|
||||||
|
const artifact = await getArtifact("0.9.26", "aarch64", "apple-darwin");
|
||||||
|
|
||||||
|
expect(artifact).toEqual({
|
||||||
|
sha256:
|
||||||
|
"fcf0a9ea6599c6ae28a4c854ac6da76f2c889354d7c36ce136ef071f7ab9721f",
|
||||||
|
url: "https://github.com/astral-sh/uv/releases/download/0.9.26/uv-aarch64-apple-darwin.tar.gz",
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
|
it("should find Windows artifact", async () => {
|
||||||
|
const artifact = await getArtifact("0.9.26", "x86_64", "pc-windows-msvc");
|
||||||
|
|
||||||
|
expect(artifact).toEqual({
|
||||||
|
sha256:
|
||||||
|
"eb02fd95d8e0eed462b4a67ecdd320d865b38c560bffcda9a0b87ec944bdf036",
|
||||||
|
url: "https://github.com/astral-sh/uv/releases/download/0.9.26/uv-x86_64-pc-windows-msvc.zip",
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
|
it("should return undefined for unknown version", async () => {
|
||||||
|
const artifact = await getArtifact("0.0.1", "aarch64", "apple-darwin");
|
||||||
|
|
||||||
|
expect(artifact).toBeUndefined();
|
||||||
|
});
|
||||||
|
|
||||||
|
it("should return undefined for unknown platform", async () => {
|
||||||
|
const artifact = await getArtifact(
|
||||||
|
"0.9.26",
|
||||||
|
"aarch64",
|
||||||
|
"unknown-linux-musl",
|
||||||
|
);
|
||||||
|
|
||||||
|
expect(artifact).toBeUndefined();
|
||||||
|
});
|
||||||
|
});
|
||||||
|
});
|
||||||
@@ -1,6 +1,13 @@
|
|||||||
import fs from "node:fs";
|
jest.mock("@actions/core", () => {
|
||||||
import os from "node:os";
|
return {
|
||||||
import path from "node:path";
|
debug: jest.fn(),
|
||||||
|
getBooleanInput: jest.fn(
|
||||||
|
(name: string) => (mockInputs[name] ?? "") === "true",
|
||||||
|
),
|
||||||
|
getInput: jest.fn((name: string) => mockInputs[name] ?? ""),
|
||||||
|
};
|
||||||
|
});
|
||||||
|
|
||||||
import {
|
import {
|
||||||
afterEach,
|
afterEach,
|
||||||
beforeEach,
|
beforeEach,
|
||||||
@@ -10,284 +17,70 @@ import {
|
|||||||
jest,
|
jest,
|
||||||
} from "@jest/globals";
|
} from "@jest/globals";
|
||||||
|
|
||||||
|
// Will be mutated per test before (re-)importing the module under test
|
||||||
let mockInputs: Record<string, string> = {};
|
let mockInputs: Record<string, string> = {};
|
||||||
const tempDirs: string[] = [];
|
|
||||||
const ORIGINAL_HOME = process.env.HOME;
|
const ORIGINAL_HOME = process.env.HOME;
|
||||||
const ORIGINAL_RUNNER_ENVIRONMENT = process.env.RUNNER_ENVIRONMENT;
|
|
||||||
const ORIGINAL_RUNNER_TEMP = process.env.RUNNER_TEMP;
|
|
||||||
const ORIGINAL_UV_CACHE_DIR = process.env.UV_CACHE_DIR;
|
|
||||||
const ORIGINAL_UV_PYTHON_INSTALL_DIR = process.env.UV_PYTHON_INSTALL_DIR;
|
|
||||||
|
|
||||||
const mockDebug = jest.fn();
|
|
||||||
const mockGetBooleanInput = jest.fn(
|
|
||||||
(name: string) => (mockInputs[name] ?? "") === "true",
|
|
||||||
);
|
|
||||||
const mockGetInput = jest.fn((name: string) => mockInputs[name] ?? "");
|
|
||||||
const mockInfo = jest.fn();
|
|
||||||
const mockWarning = jest.fn();
|
|
||||||
|
|
||||||
jest.unstable_mockModule("@actions/core", () => ({
|
|
||||||
debug: mockDebug,
|
|
||||||
getBooleanInput: mockGetBooleanInput,
|
|
||||||
getInput: mockGetInput,
|
|
||||||
info: mockInfo,
|
|
||||||
warning: mockWarning,
|
|
||||||
}));
|
|
||||||
|
|
||||||
const { CacheLocalSource, loadInputs } = await import("../../src/utils/inputs");
|
|
||||||
|
|
||||||
function createTempProject(files: Record<string, string> = {}): string {
|
|
||||||
const dir = fs.mkdtempSync(path.join(os.tmpdir(), "setup-uv-inputs-test-"));
|
|
||||||
tempDirs.push(dir);
|
|
||||||
|
|
||||||
for (const [relativePath, content] of Object.entries(files)) {
|
|
||||||
const filePath = path.join(dir, relativePath);
|
|
||||||
fs.mkdirSync(path.dirname(filePath), { recursive: true });
|
|
||||||
fs.writeFileSync(filePath, content);
|
|
||||||
}
|
|
||||||
|
|
||||||
return dir;
|
|
||||||
}
|
|
||||||
|
|
||||||
function resetEnvironment(): void {
|
|
||||||
jest.clearAllMocks();
|
|
||||||
mockInputs = {};
|
|
||||||
process.env.HOME = "/home/testuser";
|
|
||||||
delete process.env.RUNNER_ENVIRONMENT;
|
|
||||||
delete process.env.RUNNER_TEMP;
|
|
||||||
delete process.env.UV_CACHE_DIR;
|
|
||||||
delete process.env.UV_PYTHON_INSTALL_DIR;
|
|
||||||
}
|
|
||||||
|
|
||||||
function restoreEnvironment(): void {
|
|
||||||
for (const dir of tempDirs.splice(0)) {
|
|
||||||
fs.rmSync(dir, { force: true, recursive: true });
|
|
||||||
}
|
|
||||||
|
|
||||||
process.env.HOME = ORIGINAL_HOME;
|
|
||||||
process.env.RUNNER_ENVIRONMENT = ORIGINAL_RUNNER_ENVIRONMENT;
|
|
||||||
process.env.RUNNER_TEMP = ORIGINAL_RUNNER_TEMP;
|
|
||||||
process.env.UV_CACHE_DIR = ORIGINAL_UV_CACHE_DIR;
|
|
||||||
process.env.UV_PYTHON_INSTALL_DIR = ORIGINAL_UV_PYTHON_INSTALL_DIR;
|
|
||||||
}
|
|
||||||
|
|
||||||
beforeEach(resetEnvironment);
|
|
||||||
afterEach(restoreEnvironment);
|
|
||||||
|
|
||||||
describe("loadInputs", () => {
|
|
||||||
it("loads defaults for a github-hosted runner", () => {
|
|
||||||
mockInputs["working-directory"] = "/workspace";
|
|
||||||
mockInputs["enable-cache"] = "auto";
|
|
||||||
process.env.RUNNER_ENVIRONMENT = "github-hosted";
|
|
||||||
process.env.RUNNER_TEMP = "/runner-temp";
|
|
||||||
|
|
||||||
const inputs = loadInputs();
|
|
||||||
|
|
||||||
expect(inputs.enableCache).toBe(true);
|
|
||||||
expect(inputs.cacheLocalPath).toEqual({
|
|
||||||
path: "/runner-temp/setup-uv-cache",
|
|
||||||
source: CacheLocalSource.Default,
|
|
||||||
});
|
|
||||||
expect(inputs.pythonDir).toBe("/runner-temp/uv-python-dir");
|
|
||||||
expect(inputs.venvPath).toBe("/workspace/.venv");
|
|
||||||
expect(inputs.manifestFile).toBeUndefined();
|
|
||||||
expect(inputs.resolutionStrategy).toBe("highest");
|
|
||||||
});
|
|
||||||
|
|
||||||
it("uses cache-dir from pyproject.toml when present", () => {
|
|
||||||
mockInputs["working-directory"] = createTempProject({
|
|
||||||
"pyproject.toml": `[project]
|
|
||||||
name = "uv-project"
|
|
||||||
version = "0.1.0"
|
|
||||||
|
|
||||||
[tool.uv]
|
|
||||||
cache-dir = "/tmp/pyproject-toml-defined-cache-path"
|
|
||||||
`,
|
|
||||||
});
|
|
||||||
|
|
||||||
const inputs = loadInputs();
|
|
||||||
|
|
||||||
expect(inputs.cacheLocalPath).toEqual({
|
|
||||||
path: "/tmp/pyproject-toml-defined-cache-path",
|
|
||||||
source: CacheLocalSource.Config,
|
|
||||||
});
|
|
||||||
expect(mockInfo).toHaveBeenCalledWith(
|
|
||||||
expect.stringContaining("Found cache-dir in"),
|
|
||||||
);
|
|
||||||
});
|
|
||||||
|
|
||||||
it("uses UV_CACHE_DIR from the environment", () => {
|
|
||||||
mockInputs["working-directory"] = createTempProject();
|
|
||||||
process.env.UV_CACHE_DIR = "/env/cache-dir";
|
|
||||||
|
|
||||||
const inputs = loadInputs();
|
|
||||||
|
|
||||||
expect(inputs.cacheLocalPath).toEqual({
|
|
||||||
path: "/env/cache-dir",
|
|
||||||
source: CacheLocalSource.Env,
|
|
||||||
});
|
|
||||||
expect(mockInfo).toHaveBeenCalledWith(
|
|
||||||
"UV_CACHE_DIR is already set to /env/cache-dir",
|
|
||||||
);
|
|
||||||
});
|
|
||||||
|
|
||||||
it("uses UV_PYTHON_INSTALL_DIR from the environment", () => {
|
|
||||||
mockInputs["working-directory"] = "/workspace";
|
|
||||||
process.env.UV_PYTHON_INSTALL_DIR = "/env/python-dir";
|
|
||||||
|
|
||||||
const inputs = loadInputs();
|
|
||||||
|
|
||||||
expect(inputs.pythonDir).toBe("/env/python-dir");
|
|
||||||
expect(mockInfo).toHaveBeenCalledWith(
|
|
||||||
"UV_PYTHON_INSTALL_DIR is already set to /env/python-dir",
|
|
||||||
);
|
|
||||||
});
|
|
||||||
|
|
||||||
it("warns when parsing a malformed pyproject.toml for cache-dir", () => {
|
|
||||||
mockInputs["working-directory"] = createTempProject({
|
|
||||||
"pyproject.toml": `[project]
|
|
||||||
name = "malformed-pyproject-toml-project"
|
|
||||||
version = "0.1.0"
|
|
||||||
|
|
||||||
[malformed-toml
|
|
||||||
`,
|
|
||||||
});
|
|
||||||
|
|
||||||
const inputs = loadInputs();
|
|
||||||
|
|
||||||
expect(inputs.cacheLocalPath).toBeUndefined();
|
|
||||||
expect(mockWarning).toHaveBeenCalledWith(
|
|
||||||
expect.stringContaining("Error while parsing pyproject.toml:"),
|
|
||||||
);
|
|
||||||
});
|
|
||||||
|
|
||||||
it("throws for an invalid resolution strategy", () => {
|
|
||||||
mockInputs["working-directory"] = "/workspace";
|
|
||||||
mockInputs["resolution-strategy"] = "middle";
|
|
||||||
|
|
||||||
expect(() => loadInputs()).toThrow(
|
|
||||||
"Invalid resolution-strategy: middle. Must be 'highest' or 'lowest'.",
|
|
||||||
);
|
|
||||||
});
|
|
||||||
});
|
|
||||||
|
|
||||||
describe("cacheDependencyGlob", () => {
|
describe("cacheDependencyGlob", () => {
|
||||||
it("returns empty string when input not provided", () => {
|
beforeEach(() => {
|
||||||
mockInputs["working-directory"] = "/workspace";
|
jest.resetModules();
|
||||||
|
mockInputs = {};
|
||||||
const inputs = loadInputs();
|
process.env.HOME = "/home/testuser";
|
||||||
|
|
||||||
expect(inputs.cacheDependencyGlob).toBe("");
|
|
||||||
});
|
});
|
||||||
|
|
||||||
it.each([
|
afterEach(() => {
|
||||||
["requirements.txt", "/workspace/requirements.txt"],
|
process.env.HOME = ORIGINAL_HOME;
|
||||||
["./uv.lock", "/workspace/uv.lock"],
|
|
||||||
])("resolves %s to %s", (globInput, expected) => {
|
|
||||||
mockInputs["working-directory"] = "/workspace";
|
|
||||||
mockInputs["cache-dependency-glob"] = globInput;
|
|
||||||
|
|
||||||
const inputs = loadInputs();
|
|
||||||
|
|
||||||
expect(inputs.cacheDependencyGlob).toBe(expected);
|
|
||||||
});
|
});
|
||||||
|
|
||||||
it("handles multiple lines, trimming whitespace, tilde expansion and absolute paths", () => {
|
it("returns empty string when input not provided", async () => {
|
||||||
|
mockInputs["working-directory"] = "/workspace";
|
||||||
|
const { cacheDependencyGlob } = await import("../../src/utils/inputs");
|
||||||
|
expect(cacheDependencyGlob).toBe("");
|
||||||
|
});
|
||||||
|
|
||||||
|
it("resolves a single relative path", async () => {
|
||||||
|
mockInputs["working-directory"] = "/workspace";
|
||||||
|
mockInputs["cache-dependency-glob"] = "requirements.txt";
|
||||||
|
const { cacheDependencyGlob } = await import("../../src/utils/inputs");
|
||||||
|
expect(cacheDependencyGlob).toBe("/workspace/requirements.txt");
|
||||||
|
});
|
||||||
|
|
||||||
|
it("strips leading ./ from relative path", async () => {
|
||||||
|
mockInputs["working-directory"] = "/workspace";
|
||||||
|
mockInputs["cache-dependency-glob"] = "./uv.lock";
|
||||||
|
const { cacheDependencyGlob } = await import("../../src/utils/inputs");
|
||||||
|
expect(cacheDependencyGlob).toBe("/workspace/uv.lock");
|
||||||
|
});
|
||||||
|
|
||||||
|
it("handles multiple lines, trimming whitespace, tilde expansion and absolute paths", async () => {
|
||||||
mockInputs["working-directory"] = "/workspace";
|
mockInputs["working-directory"] = "/workspace";
|
||||||
mockInputs["cache-dependency-glob"] =
|
mockInputs["cache-dependency-glob"] =
|
||||||
" ~/.cache/file1\n ./rel/file2 \nfile3.txt";
|
" ~/.cache/file1\n ./rel/file2 \nfile3.txt";
|
||||||
|
const { cacheDependencyGlob } = await import("../../src/utils/inputs");
|
||||||
const inputs = loadInputs();
|
expect(cacheDependencyGlob).toBe(
|
||||||
|
|
||||||
expect(inputs.cacheDependencyGlob).toBe(
|
|
||||||
[
|
[
|
||||||
"/home/testuser/.cache/file1",
|
"/home/testuser/.cache/file1", // expanded tilde, absolute path unchanged
|
||||||
"/workspace/rel/file2",
|
"/workspace/rel/file2", // ./ stripped and resolved
|
||||||
"/workspace/file3.txt",
|
"/workspace/file3.txt", // relative path resolved
|
||||||
].join("\n"),
|
].join("\n"),
|
||||||
);
|
);
|
||||||
});
|
});
|
||||||
|
|
||||||
it.each([
|
it("keeps absolute path unchanged in multiline input", async () => {
|
||||||
[
|
mockInputs["working-directory"] = "/workspace";
|
||||||
"/abs/path.lock\nrelative.lock",
|
mockInputs["cache-dependency-glob"] = "/abs/path.lock\nrelative.lock";
|
||||||
|
const { cacheDependencyGlob } = await import("../../src/utils/inputs");
|
||||||
|
expect(cacheDependencyGlob).toBe(
|
||||||
["/abs/path.lock", "/workspace/relative.lock"].join("\n"),
|
["/abs/path.lock", "/workspace/relative.lock"].join("\n"),
|
||||||
],
|
);
|
||||||
[
|
});
|
||||||
"!/abs/path.lock\n!relative.lock",
|
|
||||||
|
it("handles exclusions in relative paths correct", async () => {
|
||||||
|
mockInputs["working-directory"] = "/workspace";
|
||||||
|
mockInputs["cache-dependency-glob"] = "!/abs/path.lock\n!relative.lock";
|
||||||
|
const { cacheDependencyGlob } = await import("../../src/utils/inputs");
|
||||||
|
expect(cacheDependencyGlob).toBe(
|
||||||
["!/abs/path.lock", "!/workspace/relative.lock"].join("\n"),
|
["!/abs/path.lock", "!/workspace/relative.lock"].join("\n"),
|
||||||
],
|
|
||||||
])("normalizes multiline glob %s", (globInput, expected) => {
|
|
||||||
mockInputs["working-directory"] = "/workspace";
|
|
||||||
mockInputs["cache-dependency-glob"] = globInput;
|
|
||||||
|
|
||||||
const inputs = loadInputs();
|
|
||||||
|
|
||||||
expect(inputs.cacheDependencyGlob).toBe(expected);
|
|
||||||
});
|
|
||||||
});
|
|
||||||
|
|
||||||
describe("tool directories", () => {
|
|
||||||
it("expands tilde for tool-bin-dir and tool-dir", () => {
|
|
||||||
mockInputs["working-directory"] = "/workspace";
|
|
||||||
mockInputs["tool-bin-dir"] = "~/tool-bin-dir";
|
|
||||||
mockInputs["tool-dir"] = "~/tool-dir";
|
|
||||||
|
|
||||||
const inputs = loadInputs();
|
|
||||||
|
|
||||||
expect(inputs.toolBinDir).toBe("/home/testuser/tool-bin-dir");
|
|
||||||
expect(inputs.toolDir).toBe("/home/testuser/tool-dir");
|
|
||||||
});
|
|
||||||
});
|
|
||||||
|
|
||||||
describe("cacheLocalPath", () => {
|
|
||||||
it("expands tilde in cache-local-path", () => {
|
|
||||||
mockInputs["working-directory"] = "/workspace";
|
|
||||||
mockInputs["cache-local-path"] = "~/uv-cache/cache-local-path";
|
|
||||||
|
|
||||||
const inputs = loadInputs();
|
|
||||||
|
|
||||||
expect(inputs.cacheLocalPath).toEqual({
|
|
||||||
path: "/home/testuser/uv-cache/cache-local-path",
|
|
||||||
source: CacheLocalSource.Input,
|
|
||||||
});
|
|
||||||
});
|
|
||||||
});
|
|
||||||
|
|
||||||
describe("venvPath", () => {
|
|
||||||
it("defaults to .venv in the working directory", () => {
|
|
||||||
mockInputs["working-directory"] = "/workspace";
|
|
||||||
|
|
||||||
const inputs = loadInputs();
|
|
||||||
|
|
||||||
expect(inputs.venvPath).toBe("/workspace/.venv");
|
|
||||||
});
|
|
||||||
|
|
||||||
it.each([
|
|
||||||
["custom-venv", "/workspace/custom-venv"],
|
|
||||||
["custom-venv/", "/workspace/custom-venv"],
|
|
||||||
["/tmp/custom-venv", "/tmp/custom-venv"],
|
|
||||||
["~/.venv", "/home/testuser/.venv"],
|
|
||||||
])("resolves venv-path %s to %s", (venvPathInput, expected) => {
|
|
||||||
mockInputs["working-directory"] = "/workspace";
|
|
||||||
mockInputs["activate-environment"] = "true";
|
|
||||||
mockInputs["venv-path"] = venvPathInput;
|
|
||||||
|
|
||||||
const inputs = loadInputs();
|
|
||||||
|
|
||||||
expect(inputs.venvPath).toBe(expected);
|
|
||||||
});
|
|
||||||
|
|
||||||
it("warns when venv-path is set but activate-environment is false", () => {
|
|
||||||
mockInputs["working-directory"] = "/workspace";
|
|
||||||
mockInputs["venv-path"] = "custom-venv";
|
|
||||||
|
|
||||||
const inputs = loadInputs();
|
|
||||||
|
|
||||||
expect(inputs.activateEnvironment).toBe(false);
|
|
||||||
expect(inputs.venvPath).toBe("/workspace/custom-venv");
|
|
||||||
expect(mockWarning).toHaveBeenCalledWith(
|
|
||||||
"venv-path is only used when activate-environment is true",
|
|
||||||
);
|
);
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
import { expect, test } from "@jest/globals";
|
import { expect, test } from "@jest/globals";
|
||||||
import { getUvVersionFromFile } from "../../src/version/file-parser";
|
import { getUvVersionFromFile } from "../../src/version/resolve";
|
||||||
|
|
||||||
test("ignores dependencies starting with uv", async () => {
|
test("ignores dependencies starting with uv", async () => {
|
||||||
const parsedVersion = getUvVersionFromFile(
|
const parsedVersion = getUvVersionFromFile(
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
import { expect, test } from "@jest/globals";
|
import { expect, test } from "@jest/globals";
|
||||||
import { getUvVersionFromFile } from "../../src/version/file-parser";
|
import { getUvVersionFromFile } from "../../src/version/resolve";
|
||||||
|
|
||||||
test("ignores dependencies starting with uv", async () => {
|
test("ignores dependencies starting with uv", async () => {
|
||||||
const parsedVersion = getUvVersionFromFile(
|
const parsedVersion = getUvVersionFromFile(
|
||||||
|
|||||||
@@ -1,121 +1,113 @@
|
|||||||
|
jest.mock("node:fs");
|
||||||
|
jest.mock("@actions/core", () => ({
|
||||||
|
warning: jest.fn(),
|
||||||
|
}));
|
||||||
|
|
||||||
|
import fs from "node:fs";
|
||||||
|
import * as core from "@actions/core";
|
||||||
import { beforeEach, describe, expect, it, jest } from "@jest/globals";
|
import { beforeEach, describe, expect, it, jest } from "@jest/globals";
|
||||||
|
import { getUvVersionFromToolVersions } from "../../src/version/tool-versions-file";
|
||||||
|
|
||||||
const mockReadFileSync = jest.fn();
|
const mockedFs = fs as jest.Mocked<typeof fs>;
|
||||||
const mockWarning = jest.fn();
|
const mockedCore = core as jest.Mocked<typeof core>;
|
||||||
|
|
||||||
jest.unstable_mockModule("node:fs", () => ({
|
|
||||||
default: {
|
|
||||||
readFileSync: mockReadFileSync,
|
|
||||||
},
|
|
||||||
}));
|
|
||||||
|
|
||||||
jest.unstable_mockModule("@actions/core", () => ({
|
|
||||||
warning: mockWarning,
|
|
||||||
}));
|
|
||||||
|
|
||||||
async function getVersionFromToolVersions(filePath: string) {
|
|
||||||
const { getUvVersionFromToolVersions } = await import(
|
|
||||||
"../../src/version/tool-versions-file"
|
|
||||||
);
|
|
||||||
|
|
||||||
return getUvVersionFromToolVersions(filePath);
|
|
||||||
}
|
|
||||||
|
|
||||||
describe("getUvVersionFromToolVersions", () => {
|
describe("getUvVersionFromToolVersions", () => {
|
||||||
beforeEach(() => {
|
beforeEach(() => {
|
||||||
jest.resetModules();
|
|
||||||
jest.clearAllMocks();
|
jest.clearAllMocks();
|
||||||
});
|
});
|
||||||
|
|
||||||
it("should return undefined for non-.tool-versions files", async () => {
|
it("should return undefined for non-.tool-versions files", () => {
|
||||||
const result = await getVersionFromToolVersions("package.json");
|
const result = getUvVersionFromToolVersions("package.json");
|
||||||
expect(result).toBeUndefined();
|
expect(result).toBeUndefined();
|
||||||
expect(mockReadFileSync).not.toHaveBeenCalled();
|
expect(mockedFs.readFileSync).not.toHaveBeenCalled();
|
||||||
});
|
});
|
||||||
|
|
||||||
it("should return version for valid uv entry", async () => {
|
it("should return version for valid uv entry", () => {
|
||||||
const fileContent = "python 3.11.0\nuv 0.1.0\nnodejs 18.0.0";
|
const fileContent = "python 3.11.0\nuv 0.1.0\nnodejs 18.0.0";
|
||||||
mockReadFileSync.mockReturnValue(fileContent);
|
mockedFs.readFileSync.mockReturnValue(fileContent);
|
||||||
|
|
||||||
const result = await getVersionFromToolVersions(".tool-versions");
|
const result = getUvVersionFromToolVersions(".tool-versions");
|
||||||
|
|
||||||
expect(result).toBe("0.1.0");
|
expect(result).toBe("0.1.0");
|
||||||
expect(mockReadFileSync).toHaveBeenCalledWith(".tool-versions", "utf8");
|
expect(mockedFs.readFileSync).toHaveBeenCalledWith(
|
||||||
|
".tool-versions",
|
||||||
|
"utf8",
|
||||||
|
);
|
||||||
});
|
});
|
||||||
|
|
||||||
it("should return version for uv entry with v prefix", async () => {
|
it("should return version for uv entry with v prefix", () => {
|
||||||
const fileContent = "uv v0.2.0";
|
const fileContent = "uv v0.2.0";
|
||||||
mockReadFileSync.mockReturnValue(fileContent);
|
mockedFs.readFileSync.mockReturnValue(fileContent);
|
||||||
|
|
||||||
const result = await getVersionFromToolVersions(".tool-versions");
|
const result = getUvVersionFromToolVersions(".tool-versions");
|
||||||
|
|
||||||
expect(result).toBe("0.2.0");
|
expect(result).toBe("0.2.0");
|
||||||
});
|
});
|
||||||
|
|
||||||
it("should handle whitespace around uv entry", async () => {
|
it("should handle whitespace around uv entry", () => {
|
||||||
const fileContent = " uv 0.3.0 ";
|
const fileContent = " uv 0.3.0 ";
|
||||||
mockReadFileSync.mockReturnValue(fileContent);
|
mockedFs.readFileSync.mockReturnValue(fileContent);
|
||||||
|
|
||||||
const result = await getVersionFromToolVersions(".tool-versions");
|
const result = getUvVersionFromToolVersions(".tool-versions");
|
||||||
|
|
||||||
expect(result).toBe("0.3.0");
|
expect(result).toBe("0.3.0");
|
||||||
});
|
});
|
||||||
|
|
||||||
it("should skip commented lines", async () => {
|
it("should skip commented lines", () => {
|
||||||
const fileContent = "# uv 0.1.0\npython 3.11.0\nuv 0.2.0";
|
const fileContent = "# uv 0.1.0\npython 3.11.0\nuv 0.2.0";
|
||||||
mockReadFileSync.mockReturnValue(fileContent);
|
mockedFs.readFileSync.mockReturnValue(fileContent);
|
||||||
|
|
||||||
const result = await getVersionFromToolVersions(".tool-versions");
|
const result = getUvVersionFromToolVersions(".tool-versions");
|
||||||
|
|
||||||
expect(result).toBe("0.2.0");
|
expect(result).toBe("0.2.0");
|
||||||
});
|
});
|
||||||
|
|
||||||
it("should return first matching uv version", async () => {
|
it("should return first matching uv version", () => {
|
||||||
const fileContent = "uv 0.1.0\npython 3.11.0\nuv 0.2.0";
|
const fileContent = "uv 0.1.0\npython 3.11.0\nuv 0.2.0";
|
||||||
mockReadFileSync.mockReturnValue(fileContent);
|
mockedFs.readFileSync.mockReturnValue(fileContent);
|
||||||
|
|
||||||
const result = await getVersionFromToolVersions(".tool-versions");
|
const result = getUvVersionFromToolVersions(".tool-versions");
|
||||||
|
|
||||||
expect(result).toBe("0.1.0");
|
expect(result).toBe("0.1.0");
|
||||||
});
|
});
|
||||||
|
|
||||||
it("should return undefined when no uv entry found", async () => {
|
it("should return undefined when no uv entry found", () => {
|
||||||
const fileContent = "python 3.11.0\nnodejs 18.0.0";
|
const fileContent = "python 3.11.0\nnodejs 18.0.0";
|
||||||
mockReadFileSync.mockReturnValue(fileContent);
|
mockedFs.readFileSync.mockReturnValue(fileContent);
|
||||||
|
|
||||||
const result = await getVersionFromToolVersions(".tool-versions");
|
const result = getUvVersionFromToolVersions(".tool-versions");
|
||||||
|
|
||||||
expect(result).toBeUndefined();
|
expect(result).toBeUndefined();
|
||||||
});
|
});
|
||||||
|
|
||||||
it("should return undefined for empty file", async () => {
|
it("should return undefined for empty file", () => {
|
||||||
mockReadFileSync.mockReturnValue("");
|
mockedFs.readFileSync.mockReturnValue("");
|
||||||
|
|
||||||
const result = await getVersionFromToolVersions(".tool-versions");
|
const result = getUvVersionFromToolVersions(".tool-versions");
|
||||||
|
|
||||||
expect(result).toBeUndefined();
|
expect(result).toBeUndefined();
|
||||||
});
|
});
|
||||||
|
|
||||||
it("should warn and return undefined for ref syntax", async () => {
|
it("should warn and return undefined for ref syntax", () => {
|
||||||
const fileContent = "uv ref:main";
|
const fileContent = "uv ref:main";
|
||||||
mockReadFileSync.mockReturnValue(fileContent);
|
mockedFs.readFileSync.mockReturnValue(fileContent);
|
||||||
|
|
||||||
const result = await getVersionFromToolVersions(".tool-versions");
|
const result = getUvVersionFromToolVersions(".tool-versions");
|
||||||
|
|
||||||
expect(result).toBeUndefined();
|
expect(result).toBeUndefined();
|
||||||
expect(mockWarning).toHaveBeenCalledWith(
|
expect(mockedCore.warning).toHaveBeenCalledWith(
|
||||||
"The ref syntax of .tool-versions is not supported. Please use a released version instead.",
|
"The ref syntax of .tool-versions is not supported. Please use a released version instead.",
|
||||||
);
|
);
|
||||||
});
|
});
|
||||||
|
|
||||||
it("should handle file path with .tool-versions extension", async () => {
|
it("should handle file path with .tool-versions extension", () => {
|
||||||
const fileContent = "uv 0.1.0";
|
const fileContent = "uv 0.1.0";
|
||||||
mockReadFileSync.mockReturnValue(fileContent);
|
mockedFs.readFileSync.mockReturnValue(fileContent);
|
||||||
|
|
||||||
const result = await getVersionFromToolVersions("path/to/.tool-versions");
|
const result = getUvVersionFromToolVersions("path/to/.tool-versions");
|
||||||
|
|
||||||
expect(result).toBe("0.1.0");
|
expect(result).toBe("0.1.0");
|
||||||
expect(mockReadFileSync).toHaveBeenCalledWith(
|
expect(mockedFs.readFileSync).toHaveBeenCalledWith(
|
||||||
"path/to/.tool-versions",
|
"path/to/.tool-versions",
|
||||||
"utf8",
|
"utf8",
|
||||||
);
|
);
|
||||||
|
|||||||
@@ -1,125 +0,0 @@
|
|||||||
import fs from "node:fs";
|
|
||||||
import os from "node:os";
|
|
||||||
import path from "node:path";
|
|
||||||
import { afterEach, describe, expect, it } from "@jest/globals";
|
|
||||||
import { resolveVersionRequest } from "../../src/version/version-request-resolver";
|
|
||||||
|
|
||||||
const tempDirs: string[] = [];
|
|
||||||
|
|
||||||
function createTempProject(files: Record<string, string> = {}): string {
|
|
||||||
const dir = fs.mkdtempSync(path.join(os.tmpdir(), "setup-uv-version-test-"));
|
|
||||||
tempDirs.push(dir);
|
|
||||||
|
|
||||||
for (const [relativePath, content] of Object.entries(files)) {
|
|
||||||
const filePath = path.join(dir, relativePath);
|
|
||||||
fs.mkdirSync(path.dirname(filePath), { recursive: true });
|
|
||||||
fs.writeFileSync(filePath, content);
|
|
||||||
}
|
|
||||||
|
|
||||||
return dir;
|
|
||||||
}
|
|
||||||
|
|
||||||
afterEach(() => {
|
|
||||||
for (const dir of tempDirs.splice(0)) {
|
|
||||||
fs.rmSync(dir, { force: true, recursive: true });
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
describe("resolveVersionRequest", () => {
|
|
||||||
it("prefers explicit input over version-file and workspace config", () => {
|
|
||||||
const workingDirectory = createTempProject({
|
|
||||||
".tool-versions": "uv 0.4.0\n",
|
|
||||||
"pyproject.toml": `[tool.uv]\nrequired-version = "==0.5.14"\n`,
|
|
||||||
"uv.toml": `required-version = "==0.5.15"\n`,
|
|
||||||
});
|
|
||||||
|
|
||||||
const request = resolveVersionRequest({
|
|
||||||
version: "==0.6.0",
|
|
||||||
versionFile: path.join(workingDirectory, ".tool-versions"),
|
|
||||||
workingDirectory,
|
|
||||||
});
|
|
||||||
|
|
||||||
expect(request).toEqual({
|
|
||||||
source: "input",
|
|
||||||
specifier: "0.6.0",
|
|
||||||
});
|
|
||||||
});
|
|
||||||
|
|
||||||
it("uses .tool-versions when it is passed via version-file", () => {
|
|
||||||
const workingDirectory = createTempProject({
|
|
||||||
".tool-versions": "uv 0.5.15\n",
|
|
||||||
});
|
|
||||||
|
|
||||||
const request = resolveVersionRequest({
|
|
||||||
versionFile: path.join(workingDirectory, ".tool-versions"),
|
|
||||||
workingDirectory,
|
|
||||||
});
|
|
||||||
|
|
||||||
expect(request).toEqual({
|
|
||||||
format: ".tool-versions",
|
|
||||||
source: "version-file",
|
|
||||||
sourcePath: path.join(workingDirectory, ".tool-versions"),
|
|
||||||
specifier: "0.5.15",
|
|
||||||
});
|
|
||||||
});
|
|
||||||
|
|
||||||
it("uses requirements.txt when it is passed via version-file", () => {
|
|
||||||
const workingDirectory = createTempProject({
|
|
||||||
"requirements.txt": "uv==0.6.17\nuvicorn==0.35.0\n",
|
|
||||||
});
|
|
||||||
|
|
||||||
const request = resolveVersionRequest({
|
|
||||||
versionFile: path.join(workingDirectory, "requirements.txt"),
|
|
||||||
workingDirectory,
|
|
||||||
});
|
|
||||||
|
|
||||||
expect(request).toEqual({
|
|
||||||
format: "requirements",
|
|
||||||
source: "version-file",
|
|
||||||
sourcePath: path.join(workingDirectory, "requirements.txt"),
|
|
||||||
specifier: "0.6.17",
|
|
||||||
});
|
|
||||||
});
|
|
||||||
|
|
||||||
it("prefers uv.toml over pyproject.toml during workspace discovery", () => {
|
|
||||||
const workingDirectory = createTempProject({
|
|
||||||
"pyproject.toml": `[tool.uv]\nrequired-version = "==0.5.14"\n`,
|
|
||||||
"uv.toml": `required-version = "==0.5.15"\n`,
|
|
||||||
});
|
|
||||||
|
|
||||||
const request = resolveVersionRequest({ workingDirectory });
|
|
||||||
|
|
||||||
expect(request).toEqual({
|
|
||||||
format: "uv.toml",
|
|
||||||
source: "uv.toml",
|
|
||||||
sourcePath: path.join(workingDirectory, "uv.toml"),
|
|
||||||
specifier: "0.5.15",
|
|
||||||
});
|
|
||||||
});
|
|
||||||
|
|
||||||
it("falls back to latest when no version source is found", () => {
|
|
||||||
const workingDirectory = createTempProject({});
|
|
||||||
|
|
||||||
const request = resolveVersionRequest({ workingDirectory });
|
|
||||||
|
|
||||||
expect(request).toEqual({
|
|
||||||
source: "default",
|
|
||||||
specifier: "latest",
|
|
||||||
});
|
|
||||||
});
|
|
||||||
|
|
||||||
it("throws when version-file does not resolve a version", () => {
|
|
||||||
const workingDirectory = createTempProject({
|
|
||||||
"requirements.txt": "uvicorn==0.35.0\n",
|
|
||||||
});
|
|
||||||
|
|
||||||
expect(() =>
|
|
||||||
resolveVersionRequest({
|
|
||||||
versionFile: path.join(workingDirectory, "requirements.txt"),
|
|
||||||
workingDirectory,
|
|
||||||
}),
|
|
||||||
).toThrow(
|
|
||||||
`Could not determine uv version from file: ${path.join(workingDirectory, "requirements.txt")}`,
|
|
||||||
);
|
|
||||||
});
|
|
||||||
});
|
|
||||||
@@ -9,10 +9,6 @@ inputs:
|
|||||||
type: string
|
type: string
|
||||||
activate-environment:
|
activate-environment:
|
||||||
type: boolean
|
type: boolean
|
||||||
venv-path:
|
|
||||||
type: string
|
|
||||||
no-project:
|
|
||||||
type: boolean
|
|
||||||
working-directory:
|
working-directory:
|
||||||
type: string
|
type: string
|
||||||
checksum:
|
checksum:
|
||||||
@@ -52,12 +48,8 @@ inputs:
|
|||||||
type: string
|
type: string
|
||||||
manifest-file:
|
manifest-file:
|
||||||
type: string
|
type: string
|
||||||
download-from-astral-mirror:
|
|
||||||
type: boolean
|
|
||||||
add-problem-matchers:
|
add-problem-matchers:
|
||||||
type: boolean
|
type: boolean
|
||||||
quiet:
|
|
||||||
type: boolean
|
|
||||||
resolution-strategy:
|
resolution-strategy:
|
||||||
type: enum
|
type: enum
|
||||||
allowed-values:
|
allowed-values:
|
||||||
|
|||||||
20
action.yml
20
action.yml
@@ -15,12 +15,6 @@ inputs:
|
|||||||
activate-environment:
|
activate-environment:
|
||||||
description: "Use uv venv to activate a venv ready to be used by later steps. "
|
description: "Use uv venv to activate a venv ready to be used by later steps. "
|
||||||
default: "false"
|
default: "false"
|
||||||
venv-path:
|
|
||||||
description: "Custom path for the virtual environment when using activate-environment. Defaults to '.venv' in the working directory."
|
|
||||||
default: ""
|
|
||||||
no-project:
|
|
||||||
description: "Pass --no-project when creating the venv with activate-environment."
|
|
||||||
default: "false"
|
|
||||||
working-directory:
|
working-directory:
|
||||||
description: "The directory to execute all commands in and look for files such as pyproject.toml"
|
description: "The directory to execute all commands in and look for files such as pyproject.toml"
|
||||||
default: ${{ github.workspace }}
|
default: ${{ github.workspace }}
|
||||||
@@ -29,7 +23,7 @@ inputs:
|
|||||||
required: false
|
required: false
|
||||||
github-token:
|
github-token:
|
||||||
description:
|
description:
|
||||||
"Used when downloading uv from GitHub releases."
|
"Used to increase the rate limit when retrieving versions and downloading uv."
|
||||||
required: false
|
required: false
|
||||||
default: ${{ github.token }}
|
default: ${{ github.token }}
|
||||||
enable-cache:
|
enable-cache:
|
||||||
@@ -78,17 +72,11 @@ inputs:
|
|||||||
description: "Custom path to set UV_TOOL_BIN_DIR to."
|
description: "Custom path to set UV_TOOL_BIN_DIR to."
|
||||||
required: false
|
required: false
|
||||||
manifest-file:
|
manifest-file:
|
||||||
description: "URL to a custom manifest file in the astral-sh/versions format."
|
description: "URL to the manifest file containing available versions and download URLs."
|
||||||
required: false
|
required: false
|
||||||
download-from-astral-mirror:
|
|
||||||
description: "Download uv from the Astral mirror instead of directly from GitHub Releases."
|
|
||||||
default: "true"
|
|
||||||
add-problem-matchers:
|
add-problem-matchers:
|
||||||
description: "Add problem matchers."
|
description: "Add problem matchers."
|
||||||
default: "true"
|
default: "true"
|
||||||
quiet:
|
|
||||||
description: "Suppress info-level log output. Only warnings and errors are shown."
|
|
||||||
default: "false"
|
|
||||||
resolution-strategy:
|
resolution-strategy:
|
||||||
description: "Resolution strategy to use when resolving version ranges. 'highest' uses the latest compatible version, 'lowest' uses the oldest compatible version."
|
description: "Resolution strategy to use when resolving version ranges. 'highest' uses the latest compatible version, 'lowest' uses the oldest compatible version."
|
||||||
default: "highest"
|
default: "highest"
|
||||||
@@ -111,8 +99,8 @@ outputs:
|
|||||||
description: "A boolean value to indicate the Python cache entry was found"
|
description: "A boolean value to indicate the Python cache entry was found"
|
||||||
runs:
|
runs:
|
||||||
using: "node24"
|
using: "node24"
|
||||||
main: "dist/setup/index.cjs"
|
main: "dist/setup/index.js"
|
||||||
post: "dist/save-cache/index.cjs"
|
post: "dist/save-cache/index.js"
|
||||||
post-if: success()
|
post-if: success()
|
||||||
branding:
|
branding:
|
||||||
icon: "package"
|
icon: "package"
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
{
|
{
|
||||||
"$schema": "https://biomejs.dev/schemas/2.4.15/schema.json",
|
"$schema": "https://biomejs.dev/schemas/2.3.7/schema.json",
|
||||||
"assist": {
|
"assist": {
|
||||||
"actions": {
|
"actions": {
|
||||||
"source": {
|
"source": {
|
||||||
|
|||||||
63406
dist/save-cache/index.cjs
generated
vendored
63406
dist/save-cache/index.cjs
generated
vendored
File diff suppressed because one or more lines are too long
94292
dist/save-cache/index.js
generated
vendored
Normal file
94292
dist/save-cache/index.js
generated
vendored
Normal file
File diff suppressed because one or more lines are too long
98469
dist/setup/index.cjs
generated
vendored
98469
dist/setup/index.cjs
generated
vendored
File diff suppressed because one or more lines are too long
100235
dist/setup/index.js
generated
vendored
Normal file
100235
dist/setup/index.js
generated
vendored
Normal file
File diff suppressed because one or more lines are too long
50692
dist/update-known-checksums/index.cjs
generated
vendored
50692
dist/update-known-checksums/index.cjs
generated
vendored
File diff suppressed because one or more lines are too long
29632
dist/update-known-versions/index.js
generated
vendored
Normal file
29632
dist/update-known-versions/index.js
generated
vendored
Normal file
File diff suppressed because one or more lines are too long
@@ -6,7 +6,7 @@ This document covers advanced options for configuring which version of uv to ins
|
|||||||
|
|
||||||
```yaml
|
```yaml
|
||||||
- name: Install the latest version of uv
|
- name: Install the latest version of uv
|
||||||
uses: astral-sh/setup-uv@08807647e7069bb48b6ef5acd8ec9567f424441b # v8.1.0
|
uses: astral-sh/setup-uv@v7
|
||||||
with:
|
with:
|
||||||
version: "latest"
|
version: "latest"
|
||||||
```
|
```
|
||||||
@@ -15,7 +15,7 @@ This document covers advanced options for configuring which version of uv to ins
|
|||||||
|
|
||||||
```yaml
|
```yaml
|
||||||
- name: Install a specific version of uv
|
- name: Install a specific version of uv
|
||||||
uses: astral-sh/setup-uv@08807647e7069bb48b6ef5acd8ec9567f424441b # v8.1.0
|
uses: astral-sh/setup-uv@v7
|
||||||
with:
|
with:
|
||||||
version: "0.4.4"
|
version: "0.4.4"
|
||||||
```
|
```
|
||||||
@@ -28,21 +28,21 @@ to install the latest version that satisfies the range.
|
|||||||
|
|
||||||
```yaml
|
```yaml
|
||||||
- name: Install a semver range of uv
|
- name: Install a semver range of uv
|
||||||
uses: astral-sh/setup-uv@08807647e7069bb48b6ef5acd8ec9567f424441b # v8.1.0
|
uses: astral-sh/setup-uv@v7
|
||||||
with:
|
with:
|
||||||
version: ">=0.4.0"
|
version: ">=0.4.0"
|
||||||
```
|
```
|
||||||
|
|
||||||
```yaml
|
```yaml
|
||||||
- name: Pinning a minor version of uv
|
- name: Pinning a minor version of uv
|
||||||
uses: astral-sh/setup-uv@08807647e7069bb48b6ef5acd8ec9567f424441b # v8.1.0
|
uses: astral-sh/setup-uv@v7
|
||||||
with:
|
with:
|
||||||
version: "0.4.x"
|
version: "0.4.x"
|
||||||
```
|
```
|
||||||
|
|
||||||
```yaml
|
```yaml
|
||||||
- name: Install a pep440-specifier-satisfying version of uv
|
- name: Install a pep440-specifier-satisfying version of uv
|
||||||
uses: astral-sh/setup-uv@08807647e7069bb48b6ef5acd8ec9567f424441b # v8.1.0
|
uses: astral-sh/setup-uv@v7
|
||||||
with:
|
with:
|
||||||
version: ">=0.4.25,<0.5"
|
version: ">=0.4.25,<0.5"
|
||||||
```
|
```
|
||||||
@@ -54,7 +54,7 @@ You can change this behavior using the `resolution-strategy` input:
|
|||||||
|
|
||||||
```yaml
|
```yaml
|
||||||
- name: Install the lowest compatible version of uv
|
- name: Install the lowest compatible version of uv
|
||||||
uses: astral-sh/setup-uv@08807647e7069bb48b6ef5acd8ec9567f424441b # v8.1.0
|
uses: astral-sh/setup-uv@v7
|
||||||
with:
|
with:
|
||||||
version: ">=0.4.0"
|
version: ">=0.4.0"
|
||||||
resolution-strategy: "lowest"
|
resolution-strategy: "lowest"
|
||||||
@@ -76,7 +76,7 @@ uv defined as a dependency in `pyproject.toml` or `requirements.txt`.
|
|||||||
|
|
||||||
```yaml
|
```yaml
|
||||||
- name: Install uv based on the version defined in pyproject.toml
|
- name: Install uv based on the version defined in pyproject.toml
|
||||||
uses: astral-sh/setup-uv@08807647e7069bb48b6ef5acd8ec9567f424441b # v8.1.0
|
uses: astral-sh/setup-uv@v7
|
||||||
with:
|
with:
|
||||||
version-file: "pyproject.toml"
|
version-file: "pyproject.toml"
|
||||||
```
|
```
|
||||||
|
|||||||
@@ -23,7 +23,7 @@ The computed cache key is available as the `cache-key` output:
|
|||||||
```yaml
|
```yaml
|
||||||
- name: Setup uv
|
- name: Setup uv
|
||||||
id: setup-uv
|
id: setup-uv
|
||||||
uses: astral-sh/setup-uv@08807647e7069bb48b6ef5acd8ec9567f424441b # v8.1.0
|
uses: astral-sh/setup-uv@v7
|
||||||
with:
|
with:
|
||||||
enable-cache: true
|
enable-cache: true
|
||||||
- name: Print cache key
|
- name: Print cache key
|
||||||
@@ -50,7 +50,7 @@ You can optionally define a custom cache key suffix.
|
|||||||
```yaml
|
```yaml
|
||||||
- name: Enable caching and define a custom cache key suffix
|
- name: Enable caching and define a custom cache key suffix
|
||||||
id: setup-uv
|
id: setup-uv
|
||||||
uses: astral-sh/setup-uv@08807647e7069bb48b6ef5acd8ec9567f424441b # v8.1.0
|
uses: astral-sh/setup-uv@v7
|
||||||
with:
|
with:
|
||||||
enable-cache: true
|
enable-cache: true
|
||||||
cache-suffix: "optional-suffix"
|
cache-suffix: "optional-suffix"
|
||||||
@@ -89,7 +89,7 @@ changes. If you use relative paths, they are relative to the working directory.
|
|||||||
|
|
||||||
```yaml
|
```yaml
|
||||||
- name: Define a cache dependency glob
|
- name: Define a cache dependency glob
|
||||||
uses: astral-sh/setup-uv@08807647e7069bb48b6ef5acd8ec9567f424441b # v8.1.0
|
uses: astral-sh/setup-uv@v7
|
||||||
with:
|
with:
|
||||||
enable-cache: true
|
enable-cache: true
|
||||||
cache-dependency-glob: "**/pyproject.toml"
|
cache-dependency-glob: "**/pyproject.toml"
|
||||||
@@ -97,7 +97,7 @@ changes. If you use relative paths, they are relative to the working directory.
|
|||||||
|
|
||||||
```yaml
|
```yaml
|
||||||
- name: Define a list of cache dependency globs
|
- name: Define a list of cache dependency globs
|
||||||
uses: astral-sh/setup-uv@08807647e7069bb48b6ef5acd8ec9567f424441b # v8.1.0
|
uses: astral-sh/setup-uv@v7
|
||||||
with:
|
with:
|
||||||
enable-cache: true
|
enable-cache: true
|
||||||
cache-dependency-glob: |
|
cache-dependency-glob: |
|
||||||
@@ -107,7 +107,7 @@ changes. If you use relative paths, they are relative to the working directory.
|
|||||||
|
|
||||||
```yaml
|
```yaml
|
||||||
- name: Define an absolute cache dependency glob
|
- name: Define an absolute cache dependency glob
|
||||||
uses: astral-sh/setup-uv@08807647e7069bb48b6ef5acd8ec9567f424441b # v8.1.0
|
uses: astral-sh/setup-uv@v7
|
||||||
with:
|
with:
|
||||||
enable-cache: true
|
enable-cache: true
|
||||||
cache-dependency-glob: "/tmp/my-folder/requirements*.txt"
|
cache-dependency-glob: "/tmp/my-folder/requirements*.txt"
|
||||||
@@ -115,7 +115,7 @@ changes. If you use relative paths, they are relative to the working directory.
|
|||||||
|
|
||||||
```yaml
|
```yaml
|
||||||
- name: Never invalidate the cache
|
- name: Never invalidate the cache
|
||||||
uses: astral-sh/setup-uv@08807647e7069bb48b6ef5acd8ec9567f424441b # v8.1.0
|
uses: astral-sh/setup-uv@v7
|
||||||
with:
|
with:
|
||||||
enable-cache: true
|
enable-cache: true
|
||||||
cache-dependency-glob: ""
|
cache-dependency-glob: ""
|
||||||
@@ -128,7 +128,7 @@ By default, the cache will be restored.
|
|||||||
|
|
||||||
```yaml
|
```yaml
|
||||||
- name: Don't restore an existing cache
|
- name: Don't restore an existing cache
|
||||||
uses: astral-sh/setup-uv@08807647e7069bb48b6ef5acd8ec9567f424441b # v8.1.0
|
uses: astral-sh/setup-uv@v7
|
||||||
with:
|
with:
|
||||||
enable-cache: true
|
enable-cache: true
|
||||||
restore-cache: false
|
restore-cache: false
|
||||||
@@ -142,7 +142,7 @@ By default, the cache will be saved.
|
|||||||
|
|
||||||
```yaml
|
```yaml
|
||||||
- name: Don't save the cache after the run
|
- name: Don't save the cache after the run
|
||||||
uses: astral-sh/setup-uv@08807647e7069bb48b6ef5acd8ec9567f424441b # v8.1.0
|
uses: astral-sh/setup-uv@v7
|
||||||
with:
|
with:
|
||||||
enable-cache: true
|
enable-cache: true
|
||||||
save-cache: false
|
save-cache: false
|
||||||
@@ -168,7 +168,7 @@ It defaults to `setup-uv-cache` in the `TMP` dir, `D:\a\_temp\setup-uv-cache` on
|
|||||||
|
|
||||||
```yaml
|
```yaml
|
||||||
- name: Define a custom uv cache path
|
- name: Define a custom uv cache path
|
||||||
uses: astral-sh/setup-uv@08807647e7069bb48b6ef5acd8ec9567f424441b # v8.1.0
|
uses: astral-sh/setup-uv@v7
|
||||||
with:
|
with:
|
||||||
cache-local-path: "/path/to/cache"
|
cache-local-path: "/path/to/cache"
|
||||||
```
|
```
|
||||||
@@ -187,7 +187,7 @@ input.
|
|||||||
|
|
||||||
```yaml
|
```yaml
|
||||||
- name: Don't prune the cache before saving it
|
- name: Don't prune the cache before saving it
|
||||||
uses: astral-sh/setup-uv@08807647e7069bb48b6ef5acd8ec9567f424441b # v8.1.0
|
uses: astral-sh/setup-uv@v7
|
||||||
with:
|
with:
|
||||||
enable-cache: true
|
enable-cache: true
|
||||||
prune-cache: false
|
prune-cache: false
|
||||||
@@ -199,13 +199,9 @@ By default, the Python install dir (`uv python dir` / `UV_PYTHON_INSTALL_DIR`) i
|
|||||||
for the same reason that the dependency cache is pruned.
|
for the same reason that the dependency cache is pruned.
|
||||||
If you want to cache Python installs along with your dependencies, set the `cache-python` input to `true`.
|
If you want to cache Python installs along with your dependencies, set the `cache-python` input to `true`.
|
||||||
|
|
||||||
Note that this only caches Python versions that uv actually installs into `UV_PYTHON_INSTALL_DIR`
|
|
||||||
(i.e. managed Python installs). If uv uses a system Python, there may be nothing to cache.
|
|
||||||
To force managed Python installs, set `UV_PYTHON_PREFERENCE=only-managed`.
|
|
||||||
|
|
||||||
```yaml
|
```yaml
|
||||||
- name: Cache Python installs
|
- name: Cache Python installs
|
||||||
uses: astral-sh/setup-uv@08807647e7069bb48b6ef5acd8ec9567f424441b # v8.1.0
|
uses: astral-sh/setup-uv@v7
|
||||||
with:
|
with:
|
||||||
enable-cache: true
|
enable-cache: true
|
||||||
cache-python: true
|
cache-python: true
|
||||||
@@ -213,17 +209,12 @@ To force managed Python installs, set `UV_PYTHON_PREFERENCE=only-managed`.
|
|||||||
|
|
||||||
## Ignore nothing to cache
|
## Ignore nothing to cache
|
||||||
|
|
||||||
By default, the action will fail if caching is enabled but there is nothing to upload (the uv cache directory does not exist) with an error like
|
By default, the action will fail if caching is enabled but there is nothing to upload (the uv cache directory does not exist).
|
||||||
|
|
||||||
```console
|
|
||||||
Error: Cache path /home/runner/.cache/uv does not exist on disk. This likely indicates that there are no dependencies to cache. Consider disabling the cache input if it is not needed.
|
|
||||||
```
|
|
||||||
|
|
||||||
If you want to ignore this, set the `ignore-nothing-to-cache` input to `true`.
|
If you want to ignore this, set the `ignore-nothing-to-cache` input to `true`.
|
||||||
|
|
||||||
```yaml
|
```yaml
|
||||||
- name: Ignore nothing to cache
|
- name: Ignore nothing to cache
|
||||||
uses: astral-sh/setup-uv@08807647e7069bb48b6ef5acd8ec9567f424441b # v8.1.0
|
uses: astral-sh/setup-uv@v7
|
||||||
with:
|
with:
|
||||||
enable-cache: true
|
enable-cache: true
|
||||||
ignore-nothing-to-cache: true
|
ignore-nothing-to-cache: true
|
||||||
|
|||||||
@@ -10,7 +10,7 @@ are automatically verified by this action. The sha256 hashes can be found on the
|
|||||||
|
|
||||||
```yaml
|
```yaml
|
||||||
- name: Install a specific version and validate the checksum
|
- name: Install a specific version and validate the checksum
|
||||||
uses: astral-sh/setup-uv@08807647e7069bb48b6ef5acd8ec9567f424441b # v8.1.0
|
uses: astral-sh/setup-uv@v7
|
||||||
with:
|
with:
|
||||||
version: "0.3.1"
|
version: "0.3.1"
|
||||||
checksum: "e11b01402ab645392c7ad6044db63d37e4fd1e745e015306993b07695ea5f9f8"
|
checksum: "e11b01402ab645392c7ad6044db63d37e4fd1e745e015306993b07695ea5f9f8"
|
||||||
@@ -18,35 +18,41 @@ are automatically verified by this action. The sha256 hashes can be found on the
|
|||||||
|
|
||||||
## Manifest file
|
## Manifest file
|
||||||
|
|
||||||
By default, setup-uv reads version metadata from
|
The `manifest-file` input allows you to specify a JSON manifest that lists available uv versions,
|
||||||
[`astral-sh/versions`](https://github.com/astral-sh/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` input lets you override that source with your own URL, for example to test
|
The manifest file contains an array of objects, each describing a version,
|
||||||
custom uv builds or alternate download locations.
|
architecture, platform, and the corresponding download URL. For example:
|
||||||
|
|
||||||
### Format
|
|
||||||
|
|
||||||
The manifest file must use the same format as `astral-sh/versions`: one JSON object per line, where each object represents a version and its artifacts. The versions must be sorted in descending order. For example:
|
|
||||||
|
|
||||||
```json
|
```json
|
||||||
{"version":"0.10.7","artifacts":[{"platform":"x86_64-unknown-linux-gnu","variant":"default","url":"https://example.com/uv-x86_64-unknown-linux-gnu.tar.gz","archive_format":"tar.gz","sha256":"..."}]}
|
[
|
||||||
{"version":"0.10.6","artifacts":[{"platform":"x86_64-unknown-linux-gnu","variant":"default","url":"https://example.com/uv-x86_64-unknown-linux-gnu.tar.gz","archive_format":"tar.gz","sha256":"..."}]}
|
{
|
||||||
|
"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"
|
||||||
|
},
|
||||||
|
...
|
||||||
|
]
|
||||||
```
|
```
|
||||||
|
|
||||||
setup-uv currently only supports `default` as the `variant`.
|
You can supply a custom manifest file URL to define additional versions,
|
||||||
|
architectures, or different download URLs.
|
||||||
The `archive_format` field is currently ignored.
|
This is useful if you maintain your own uv builds or want to override the default sources.
|
||||||
|
|
||||||
```yaml
|
```yaml
|
||||||
- name: Use a custom manifest file
|
- name: Use a custom manifest file
|
||||||
uses: astral-sh/setup-uv@08807647e7069bb48b6ef5acd8ec9567f424441b # v8.1.0
|
uses: astral-sh/setup-uv@v7
|
||||||
with:
|
with:
|
||||||
manifest-file: "https://example.com/my-custom-manifest.ndjson"
|
manifest-file: "https://example.com/my-custom-manifest.json"
|
||||||
```
|
```
|
||||||
|
|
||||||
> [!NOTE]
|
> [!NOTE]
|
||||||
> When you use a custom manifest file and do not set the `version` input, setup-uv installs the
|
> When you use a custom manifest file and do not set the `version` input, its default value is `latest`.
|
||||||
> latest version from that custom manifest.
|
> 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.
|
||||||
|
|
||||||
## Add problem matchers
|
## Add problem matchers
|
||||||
|
|
||||||
@@ -58,7 +64,7 @@ You can disable this by setting the `add-problem-matchers` input to `false`.
|
|||||||
|
|
||||||
```yaml
|
```yaml
|
||||||
- name: Install the latest version of uv without problem matchers
|
- name: Install the latest version of uv without problem matchers
|
||||||
uses: astral-sh/setup-uv@08807647e7069bb48b6ef5acd8ec9567f424441b # v8.1.0
|
uses: astral-sh/setup-uv@v7
|
||||||
with:
|
with:
|
||||||
add-problem-matchers: false
|
add-problem-matchers: false
|
||||||
```
|
```
|
||||||
|
|||||||
@@ -9,23 +9,12 @@ This allows directly using it in later steps:
|
|||||||
|
|
||||||
```yaml
|
```yaml
|
||||||
- name: Install the latest version of uv and activate the environment
|
- name: Install the latest version of uv and activate the environment
|
||||||
uses: astral-sh/setup-uv@08807647e7069bb48b6ef5acd8ec9567f424441b # v8.1.0
|
uses: astral-sh/setup-uv@v7
|
||||||
with:
|
with:
|
||||||
activate-environment: true
|
activate-environment: true
|
||||||
- run: uv pip install pip
|
- run: uv pip install pip
|
||||||
```
|
```
|
||||||
|
|
||||||
By default, the venv is created at `.venv` inside the `working-directory`.
|
|
||||||
|
|
||||||
You can customize the venv location with `venv-path`, for example to place it in the runner temp directory:
|
|
||||||
|
|
||||||
```yaml
|
|
||||||
- uses: astral-sh/setup-uv@08807647e7069bb48b6ef5acd8ec9567f424441b # v8.1.0
|
|
||||||
with:
|
|
||||||
activate-environment: true
|
|
||||||
venv-path: ${{ runner.temp }}/custom-venv
|
|
||||||
```
|
|
||||||
|
|
||||||
> [!WARNING]
|
> [!WARNING]
|
||||||
>
|
>
|
||||||
> Activating the environment adds your dependencies to the `PATH`, which could break some workflows.
|
> Activating the environment adds your dependencies to the `PATH`, which could break some workflows.
|
||||||
@@ -38,12 +27,9 @@ You can customize the venv location with `venv-path`, for example to place it in
|
|||||||
|
|
||||||
## GitHub authentication token
|
## GitHub authentication token
|
||||||
|
|
||||||
By default, this action resolves available uv versions from
|
This action uses the GitHub API to fetch the uv release artifacts. To avoid hitting the GitHub API
|
||||||
[`astral-sh/versions`](https://github.com/astral-sh/versions), then downloads uv artifacts from
|
rate limit too quickly, an authentication token can be provided via the `github-token` input. By
|
||||||
GitHub Releases.
|
default, the `GITHUB_TOKEN` secret is used, which is automatically provided by GitHub Actions.
|
||||||
|
|
||||||
You can provide a token via `github-token` to authenticate those downloads. By default, the
|
|
||||||
`GITHUB_TOKEN` secret is used, which is automatically provided by GitHub Actions.
|
|
||||||
|
|
||||||
If the default
|
If the default
|
||||||
[permissions for the GitHub token](https://docs.github.com/en/actions/security-for-github-actions/security-guides/automatic-token-authentication#permissions-for-the-github_token)
|
[permissions for the GitHub token](https://docs.github.com/en/actions/security-for-github-actions/security-guides/automatic-token-authentication#permissions-for-the-github_token)
|
||||||
@@ -51,7 +37,7 @@ are not sufficient, you can provide a custom GitHub token with the necessary per
|
|||||||
|
|
||||||
```yaml
|
```yaml
|
||||||
- name: Install the latest version of uv with a custom GitHub token
|
- name: Install the latest version of uv with a custom GitHub token
|
||||||
uses: astral-sh/setup-uv@08807647e7069bb48b6ef5acd8ec9567f424441b # v8.1.0
|
uses: astral-sh/setup-uv@v7
|
||||||
with:
|
with:
|
||||||
github-token: ${{ secrets.CUSTOM_GITHUB_TOKEN }}
|
github-token: ${{ secrets.CUSTOM_GITHUB_TOKEN }}
|
||||||
```
|
```
|
||||||
@@ -69,7 +55,7 @@ input:
|
|||||||
|
|
||||||
```yaml
|
```yaml
|
||||||
- name: Install the latest version of uv with a custom tool dir
|
- name: Install the latest version of uv with a custom tool dir
|
||||||
uses: astral-sh/setup-uv@08807647e7069bb48b6ef5acd8ec9567f424441b # v8.1.0
|
uses: astral-sh/setup-uv@v7
|
||||||
with:
|
with:
|
||||||
tool-dir: "/path/to/tool/dir"
|
tool-dir: "/path/to/tool/dir"
|
||||||
```
|
```
|
||||||
@@ -88,7 +74,7 @@ If you want to change this behaviour (especially on self-hosted runners) you can
|
|||||||
|
|
||||||
```yaml
|
```yaml
|
||||||
- name: Install the latest version of uv with a custom tool bin dir
|
- name: Install the latest version of uv with a custom tool bin dir
|
||||||
uses: astral-sh/setup-uv@08807647e7069bb48b6ef5acd8ec9567f424441b # v8.1.0
|
uses: astral-sh/setup-uv@v7
|
||||||
with:
|
with:
|
||||||
tool-bin-dir: "/path/to/tool-bin/dir"
|
tool-bin-dir: "/path/to/tool-bin/dir"
|
||||||
```
|
```
|
||||||
@@ -105,7 +91,7 @@ This action supports expanding the `~` character to the user's home directory fo
|
|||||||
|
|
||||||
```yaml
|
```yaml
|
||||||
- name: Expand the tilde character
|
- name: Expand the tilde character
|
||||||
uses: astral-sh/setup-uv@08807647e7069bb48b6ef5acd8ec9567f424441b # v8.1.0
|
uses: astral-sh/setup-uv@v7
|
||||||
with:
|
with:
|
||||||
cache-local-path: "~/path/to/cache"
|
cache-local-path: "~/path/to/cache"
|
||||||
tool-dir: "~/path/to/tool/dir"
|
tool-dir: "~/path/to/tool/dir"
|
||||||
@@ -122,7 +108,7 @@ If you want to ignore this, set the `ignore-empty-workdir` input to `true`.
|
|||||||
|
|
||||||
```yaml
|
```yaml
|
||||||
- name: Ignore empty workdir
|
- name: Ignore empty workdir
|
||||||
uses: astral-sh/setup-uv@08807647e7069bb48b6ef5acd8ec9567f424441b # v8.1.0
|
uses: astral-sh/setup-uv@v7
|
||||||
with:
|
with:
|
||||||
ignore-empty-workdir: true
|
ignore-empty-workdir: true
|
||||||
```
|
```
|
||||||
@@ -145,7 +131,7 @@ This action sets several environment variables that influence uv's behavior and
|
|||||||
|
|
||||||
```yaml
|
```yaml
|
||||||
- name: Example using environment variables
|
- name: Example using environment variables
|
||||||
uses: astral-sh/setup-uv@08807647e7069bb48b6ef5acd8ec9567f424441b # v8.1.0
|
uses: astral-sh/setup-uv@v7
|
||||||
with:
|
with:
|
||||||
python-version: "3.12"
|
python-version: "3.12"
|
||||||
tool-dir: "/custom/tool/dir"
|
tool-dir: "/custom/tool/dir"
|
||||||
|
|||||||
9
jest.config.js
Normal file
9
jest.config.js
Normal file
@@ -0,0 +1,9 @@
|
|||||||
|
module.exports = {
|
||||||
|
clearMocks: true,
|
||||||
|
moduleFileExtensions: ["js", "ts"],
|
||||||
|
testMatch: ["**/*.test.ts"],
|
||||||
|
transform: {
|
||||||
|
"^.+\\.ts$": "ts-jest",
|
||||||
|
},
|
||||||
|
verbose: true,
|
||||||
|
};
|
||||||
@@ -1,14 +0,0 @@
|
|||||||
import { createDefaultEsmPreset } from "ts-jest";
|
|
||||||
|
|
||||||
const esmPreset = createDefaultEsmPreset({
|
|
||||||
tsconfig: "./tsconfig.json",
|
|
||||||
});
|
|
||||||
|
|
||||||
export default {
|
|
||||||
...esmPreset,
|
|
||||||
clearMocks: true,
|
|
||||||
moduleFileExtensions: ["js", "mjs", "ts"],
|
|
||||||
testEnvironment: "node",
|
|
||||||
testMatch: ["**/*.test.ts"],
|
|
||||||
verbose: true,
|
|
||||||
};
|
|
||||||
5027
package-lock.json
generated
5027
package-lock.json
generated
@@ -9,135 +9,105 @@
|
|||||||
"version": "1.0.0",
|
"version": "1.0.0",
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@actions/cache": "^6.0.0",
|
"@actions/cache": "^4.1.0",
|
||||||
"@actions/core": "^3.0.0",
|
"@actions/core": "^1.11.1",
|
||||||
"@actions/exec": "^3.0.0",
|
"@actions/exec": "^1.1.1",
|
||||||
"@actions/glob": "^0.6.1",
|
"@actions/glob": "^0.5.0",
|
||||||
"@actions/io": "^3.0.2",
|
"@actions/io": "^1.1.3",
|
||||||
"@actions/tool-cache": "^4.0.0",
|
"@actions/tool-cache": "^2.0.2",
|
||||||
"@renovatebot/pep440": "^4.2.2",
|
"@renovatebot/pep440": "^4.2.1",
|
||||||
"smol-toml": "^1.6.1",
|
"smol-toml": "^1.4.2",
|
||||||
"undici": "^8.3.0"
|
"undici": "5.28.5"
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@biomejs/biome": "^2.4.15",
|
"@biomejs/biome": "2.3.7",
|
||||||
"@types/js-yaml": "^4.0.9",
|
"@types/js-yaml": "^4.0.9",
|
||||||
"@types/node": "^25.5.0",
|
"@types/node": "^24.10.1",
|
||||||
"@types/semver": "^7.7.1",
|
"@types/semver": "^7.7.1",
|
||||||
"@vercel/ncc": "^0.38.4",
|
"@vercel/ncc": "^0.38.4",
|
||||||
"esbuild": "^0.28.0",
|
"jest": "^30.2.0",
|
||||||
"jest": "^30.4.2",
|
"js-yaml": "^4.1.0",
|
||||||
"js-yaml": "^4.1.1",
|
"ts-jest": "^29.4.5",
|
||||||
"ts-jest": "^29.4.11",
|
|
||||||
"typescript": "^5.9.3"
|
"typescript": "^5.9.3"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@actions/cache": {
|
"node_modules/@actions/cache": {
|
||||||
"version": "6.0.0",
|
"version": "4.1.0",
|
||||||
"resolved": "https://registry.npmjs.org/@actions/cache/-/cache-6.0.0.tgz",
|
"resolved": "https://registry.npmjs.org/@actions/cache/-/cache-4.1.0.tgz",
|
||||||
"integrity": "sha512-+tCs634SyGBQJ3KU1rtAVabmN/gYiT9WgzTSJzWwdPCLmM3zWrdbysaErKv8HyI6OozClrxNvDgPjJimbHZZvw==",
|
"integrity": "sha512-z3Opg+P4Y7baq+g1dODXgdtsvPLSewr3ZKpp3U0HQR1A/vWCoJFS52XSezjdngo4SIOdR5oHtyK3a3Arar+X9A==",
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@actions/core": "^3.0.0",
|
"@actions/core": "^1.11.1",
|
||||||
"@actions/exec": "^3.0.0",
|
"@actions/exec": "^1.0.1",
|
||||||
"@actions/glob": "^0.6.1",
|
"@actions/glob": "^0.1.0",
|
||||||
"@actions/http-client": "^4.0.0",
|
"@actions/http-client": "^2.1.1",
|
||||||
"@actions/io": "^3.0.0",
|
"@actions/io": "^1.0.1",
|
||||||
"@azure/core-rest-pipeline": "^1.22.0",
|
"@azure/abort-controller": "^1.1.0",
|
||||||
"@azure/storage-blob": "^12.30.0",
|
"@azure/ms-rest-js": "^2.6.0",
|
||||||
|
"@azure/storage-blob": "^12.13.0",
|
||||||
"@protobuf-ts/runtime-rpc": "^2.11.1",
|
"@protobuf-ts/runtime-rpc": "^2.11.1",
|
||||||
"semver": "^7.7.3"
|
"semver": "^6.3.1"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@actions/cache/node_modules/semver": {
|
"node_modules/@actions/cache/node_modules/@actions/glob": {
|
||||||
"version": "7.7.4",
|
"version": "0.1.2",
|
||||||
"resolved": "https://registry.npmjs.org/semver/-/semver-7.7.4.tgz",
|
"resolved": "https://registry.npmjs.org/@actions/glob/-/glob-0.1.2.tgz",
|
||||||
"integrity": "sha512-vFKC2IEtQnVhpT78h1Yp8wzwrf8CM+MzKMHGJZfBtzhZNycRFnXsHk6E5TxIkkMsgNS7mdX3AGB7x2QM2di4lA==",
|
"integrity": "sha512-SclLR7Ia5sEqjkJTPs7Sd86maMDw43p769YxBOxvPvEWuPEhpAnBsQfENOpXjFYMmhCqd127bmf+YdvJqVqR4A==",
|
||||||
"license": "ISC",
|
"dependencies": {
|
||||||
"bin": {
|
"@actions/core": "^1.2.6",
|
||||||
"semver": "bin/semver.js"
|
"minimatch": "^3.0.4"
|
||||||
},
|
|
||||||
"engines": {
|
|
||||||
"node": ">=10"
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@actions/core": {
|
"node_modules/@actions/core": {
|
||||||
"version": "3.0.0",
|
"version": "1.11.1",
|
||||||
"resolved": "https://registry.npmjs.org/@actions/core/-/core-3.0.0.tgz",
|
"resolved": "https://registry.npmjs.org/@actions/core/-/core-1.11.1.tgz",
|
||||||
"integrity": "sha512-zYt6cz+ivnTmiT/ksRVriMBOiuoUpDCJJlZ5KPl2/FRdvwU3f7MPh9qftvbkXJThragzUZieit2nyHUyw53Seg==",
|
"integrity": "sha512-hXJCSrkwfA46Vd9Z3q4cpEpHB1rL5NG04+/rbqW9d3+CSvtB1tYe8UTpAlixa1vj0m/ULglfEK2UKxMGxCxv5A==",
|
||||||
"license": "MIT",
|
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@actions/exec": "^3.0.0",
|
"@actions/exec": "^1.1.1",
|
||||||
"@actions/http-client": "^4.0.0"
|
"@actions/http-client": "^2.0.1"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@actions/exec": {
|
"node_modules/@actions/exec": {
|
||||||
"version": "3.0.0",
|
"version": "1.1.1",
|
||||||
"resolved": "https://registry.npmjs.org/@actions/exec/-/exec-3.0.0.tgz",
|
"resolved": "https://registry.npmjs.org/@actions/exec/-/exec-1.1.1.tgz",
|
||||||
"integrity": "sha512-6xH/puSoNBXb72VPlZVm7vQ+svQpFyA96qdDBvhB8eNZOE8LtPf9L4oAsfzK/crCL8YZ+19fKYVnM63Sl+Xzlw==",
|
"integrity": "sha512-+sCcHHbVdk93a0XT19ECtO/gIXoxvdsgQLzb2fE2/5sIZmWQuluYyjPQtrtTHdU1YzTZ7bAPN4sITq2xi1679w==",
|
||||||
"license": "MIT",
|
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@actions/io": "^3.0.2"
|
"@actions/io": "^1.0.1"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@actions/glob": {
|
"node_modules/@actions/glob": {
|
||||||
"version": "0.6.1",
|
"version": "0.5.0",
|
||||||
"resolved": "https://registry.npmjs.org/@actions/glob/-/glob-0.6.1.tgz",
|
"resolved": "https://registry.npmjs.org/@actions/glob/-/glob-0.5.0.tgz",
|
||||||
"integrity": "sha512-K4+2Ac5ILcf2ySdJCha+Pop9NcKjxqCL4xL4zI50dgB2PbXgC0+AcP011xfH4Of6b4QEJJg8dyZYv7zl4byTsw==",
|
"integrity": "sha512-tST2rjPvJLRZLuT9NMUtyBjvj9Yo0MiJS3ow004slMvm8GFM+Zv9HvMJ7HWzfUyJnGrJvDsYkWBaaG3YKXRtCw==",
|
||||||
"license": "MIT",
|
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@actions/core": "^3.0.0",
|
"@actions/core": "^1.9.1",
|
||||||
"minimatch": "^3.0.4"
|
"minimatch": "^3.0.4"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@actions/http-client": {
|
"node_modules/@actions/http-client": {
|
||||||
"version": "4.0.0",
|
"version": "2.2.0",
|
||||||
"resolved": "https://registry.npmjs.org/@actions/http-client/-/http-client-4.0.0.tgz",
|
"resolved": "https://registry.npmjs.org/@actions/http-client/-/http-client-2.2.0.tgz",
|
||||||
"integrity": "sha512-QuwPsgVMsD6qaPD57GLZi9sqzAZCtiJT8kVBCDpLtxhL5MydQ4gS+DrejtZZPdIYyB1e95uCK9Luyds7ybHI3g==",
|
"integrity": "sha512-q+epW0trjVUUHboliPb4UF9g2msf+w61b32tAkFEwL/IwP0DQWgbCMM0Hbe3e3WXSKz5VcUXbzJQgy8Hkra/Lg==",
|
||||||
"license": "MIT",
|
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"tunnel": "^0.0.6",
|
"tunnel": "^0.0.6",
|
||||||
"undici": "^6.23.0"
|
"undici": "^5.25.4"
|
||||||
}
|
|
||||||
},
|
|
||||||
"node_modules/@actions/http-client/node_modules/undici": {
|
|
||||||
"version": "6.24.1",
|
|
||||||
"resolved": "https://registry.npmjs.org/undici/-/undici-6.24.1.tgz",
|
|
||||||
"integrity": "sha512-sC+b0tB1whOCzbtlx20fx3WgCXwkW627p4EA9uM+/tNNPkSS+eSEld6pAs9nDv7WbY1UUljBMYPtu9BCOrCWKA==",
|
|
||||||
"license": "MIT",
|
|
||||||
"engines": {
|
|
||||||
"node": ">=18.17"
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@actions/io": {
|
"node_modules/@actions/io": {
|
||||||
"version": "3.0.2",
|
"version": "1.1.3",
|
||||||
"resolved": "https://registry.npmjs.org/@actions/io/-/io-3.0.2.tgz",
|
"resolved": "https://registry.npmjs.org/@actions/io/-/io-1.1.3.tgz",
|
||||||
"integrity": "sha512-nRBchcMM+QK1pdjO7/idu86rbJI5YHUKCvKs0KxnSYbVe3F51UfGxuZX4Qy/fWlp6l7gWFwIkrOzN+oUK03kfw==",
|
"integrity": "sha512-wi9JjgKLYS7U/z8PPbco+PvTb/nRWjeoFlJ1Qer83k/3C5PHQi28hiVdeE2kHXmIL99mQFawx8qt/JPjZilJ8Q=="
|
||||||
"license": "MIT"
|
|
||||||
},
|
},
|
||||||
"node_modules/@actions/tool-cache": {
|
"node_modules/@actions/tool-cache": {
|
||||||
"version": "4.0.0",
|
"version": "2.0.2",
|
||||||
"resolved": "https://registry.npmjs.org/@actions/tool-cache/-/tool-cache-4.0.0.tgz",
|
"resolved": "https://registry.npmjs.org/@actions/tool-cache/-/tool-cache-2.0.2.tgz",
|
||||||
"integrity": "sha512-L8P9HbXvpvqjZDveb/fdsa55IVC0trfPgQ4ZwGo6r5af6YDVdM9vMGPZ7rgY2fAT9gGj4PSYd6bYlg3p3jD78A==",
|
"integrity": "sha512-fBhNNOWxuoLxztQebpOaWu6WeVmuwa77Z+DxIZ1B+OYvGkGQon6kTVg6Z32Cb13WCuw0szqonK+hh03mJV7Z6w==",
|
||||||
"license": "MIT",
|
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@actions/core": "^3.0.0",
|
"@actions/core": "^1.11.1",
|
||||||
"@actions/exec": "^3.0.0",
|
"@actions/exec": "^1.0.0",
|
||||||
"@actions/http-client": "^4.0.0",
|
"@actions/http-client": "^2.0.1",
|
||||||
"@actions/io": "^3.0.0",
|
"@actions/io": "^1.1.1",
|
||||||
"semver": "^7.7.3"
|
"semver": "^6.1.0"
|
||||||
}
|
|
||||||
},
|
|
||||||
"node_modules/@actions/tool-cache/node_modules/semver": {
|
|
||||||
"version": "7.7.4",
|
|
||||||
"resolved": "https://registry.npmjs.org/semver/-/semver-7.7.4.tgz",
|
|
||||||
"integrity": "sha512-vFKC2IEtQnVhpT78h1Yp8wzwrf8CM+MzKMHGJZfBtzhZNycRFnXsHk6E5TxIkkMsgNS7mdX3AGB7x2QM2di4lA==",
|
|
||||||
"license": "ISC",
|
|
||||||
"bin": {
|
|
||||||
"semver": "bin/semver.js"
|
|
||||||
},
|
|
||||||
"engines": {
|
|
||||||
"node": ">=10"
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@ampproject/remapping": {
|
"node_modules/@ampproject/remapping": {
|
||||||
@@ -154,206 +124,259 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@azure/abort-controller": {
|
"node_modules/@azure/abort-controller": {
|
||||||
"version": "2.1.2",
|
"version": "1.1.0",
|
||||||
"resolved": "https://registry.npmjs.org/@azure/abort-controller/-/abort-controller-2.1.2.tgz",
|
"resolved": "https://registry.npmjs.org/@azure/abort-controller/-/abort-controller-1.1.0.tgz",
|
||||||
"integrity": "sha512-nBrLsEWm4J2u5LpAPjxADTlq3trDgVZZXHNKabeXZtpq3d3AbN/KGO82R87rdDz5/lYB024rtEf10/q0urNgsA==",
|
"integrity": "sha512-TrRLIoSQVzfAJX9H1JeFjzAoDGcoK1IYX1UImfceTZpsyYfWr09Ss1aHW1y5TrrR3iq6RZLBwJ3E24uwPhwahw==",
|
||||||
"license": "MIT",
|
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"tslib": "^2.6.2"
|
"tslib": "^2.2.0"
|
||||||
},
|
},
|
||||||
"engines": {
|
"engines": {
|
||||||
"node": ">=18.0.0"
|
"node": ">=12.0.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"node_modules/@azure/abort-controller/node_modules/tslib": {
|
||||||
|
"version": "2.6.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.1.tgz",
|
||||||
|
"integrity": "sha512-t0hLfiEKfMUoqhG+U1oid7Pva4bbDPHYfJNiB7BiIjRkj1pyC++4N3huJfqY6aRH6VTB0rvtzQwjM4K6qpfOig=="
|
||||||
|
},
|
||||||
"node_modules/@azure/core-auth": {
|
"node_modules/@azure/core-auth": {
|
||||||
"version": "1.10.1",
|
"version": "1.4.0",
|
||||||
"resolved": "https://registry.npmjs.org/@azure/core-auth/-/core-auth-1.10.1.tgz",
|
"resolved": "https://registry.npmjs.org/@azure/core-auth/-/core-auth-1.4.0.tgz",
|
||||||
"integrity": "sha512-ykRMW8PjVAn+RS6ww5cmK9U2CyH9p4Q88YJwvUslfuMmN98w/2rdGRLPqJYObapBCdzBVeDgYWdJnFPFb7qzpg==",
|
"integrity": "sha512-HFrcTgmuSuukRf/EdPmqBrc5l6Q5Uu+2TbuhaKbgaCpP2TfAeiNaQPAadxO+CYBRHGUzIDteMAjFspFLDLnKVQ==",
|
||||||
"license": "MIT",
|
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@azure/abort-controller": "^2.1.2",
|
"@azure/abort-controller": "^1.0.0",
|
||||||
"@azure/core-util": "^1.13.0",
|
"tslib": "^2.2.0"
|
||||||
"tslib": "^2.6.2"
|
|
||||||
},
|
},
|
||||||
"engines": {
|
"engines": {
|
||||||
"node": ">=20.0.0"
|
"node": ">=12.0.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@azure/core-client": {
|
"node_modules/@azure/core-auth/node_modules/tslib": {
|
||||||
"version": "1.10.1",
|
"version": "2.6.1",
|
||||||
"resolved": "https://registry.npmjs.org/@azure/core-client/-/core-client-1.10.1.tgz",
|
"resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.1.tgz",
|
||||||
"integrity": "sha512-Nh5PhEOeY6PrnxNPsEHRr9eimxLwgLlpmguQaHKBinFYA/RU9+kOYVOQqOrTsCL+KSxrLLl1gD8Dk5BFW/7l/w==",
|
"integrity": "sha512-t0hLfiEKfMUoqhG+U1oid7Pva4bbDPHYfJNiB7BiIjRkj1pyC++4N3huJfqY6aRH6VTB0rvtzQwjM4K6qpfOig=="
|
||||||
"license": "MIT",
|
},
|
||||||
|
"node_modules/@azure/core-http": {
|
||||||
|
"version": "3.0.2",
|
||||||
|
"resolved": "https://registry.npmjs.org/@azure/core-http/-/core-http-3.0.2.tgz",
|
||||||
|
"integrity": "sha512-o1wR9JrmoM0xEAa0Ue7Sp8j+uJvmqYaGoHOCT5qaVYmvgmnZDC0OvQimPA/JR3u77Sz6D1y3Xmk1y69cDU9q9A==",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@azure/abort-controller": "^2.1.2",
|
"@azure/abort-controller": "^1.0.0",
|
||||||
"@azure/core-auth": "^1.10.0",
|
"@azure/core-auth": "^1.3.0",
|
||||||
"@azure/core-rest-pipeline": "^1.22.0",
|
"@azure/core-tracing": "1.0.0-preview.13",
|
||||||
"@azure/core-tracing": "^1.3.0",
|
"@azure/core-util": "^1.1.1",
|
||||||
"@azure/core-util": "^1.13.0",
|
"@azure/logger": "^1.0.0",
|
||||||
"@azure/logger": "^1.3.0",
|
"@types/node-fetch": "^2.5.0",
|
||||||
"tslib": "^2.6.2"
|
"@types/tunnel": "^0.0.3",
|
||||||
|
"form-data": "^4.0.0",
|
||||||
|
"node-fetch": "^2.6.7",
|
||||||
|
"process": "^0.11.10",
|
||||||
|
"tslib": "^2.2.0",
|
||||||
|
"tunnel": "^0.0.6",
|
||||||
|
"uuid": "^8.3.0",
|
||||||
|
"xml2js": "^0.5.0"
|
||||||
},
|
},
|
||||||
"engines": {
|
"engines": {
|
||||||
"node": ">=20.0.0"
|
"node": ">=14.0.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@azure/core-http-compat": {
|
"node_modules/@azure/core-http/node_modules/form-data": {
|
||||||
"version": "2.3.2",
|
"version": "4.0.4",
|
||||||
"resolved": "https://registry.npmjs.org/@azure/core-http-compat/-/core-http-compat-2.3.2.tgz",
|
"resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.4.tgz",
|
||||||
"integrity": "sha512-Tf6ltdKzOJEgxZeWLCjMxrxbodB/ZeCbzzA1A2qHbhzAjzjHoBVSUeSl/baT/oHAxhc4qdqVaDKnc2+iE932gw==",
|
"integrity": "sha512-KrGhL9Q4zjj0kiUt5OO4Mr/A/jlI2jDYs5eHBpYHPcBEVSiipAvn2Ko2HnPe20rmcuuvMHNdZFp+4IlGTMF0Ow==",
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@azure/abort-controller": "^2.1.2"
|
"asynckit": "^0.4.0",
|
||||||
|
"combined-stream": "^1.0.8",
|
||||||
|
"es-set-tostringtag": "^2.1.0",
|
||||||
|
"hasown": "^2.0.2",
|
||||||
|
"mime-types": "^2.1.12"
|
||||||
},
|
},
|
||||||
"engines": {
|
"engines": {
|
||||||
"node": ">=20.0.0"
|
"node": ">= 6"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/@azure/core-http/node_modules/node-fetch": {
|
||||||
|
"version": "2.6.12",
|
||||||
|
"resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.12.tgz",
|
||||||
|
"integrity": "sha512-C/fGU2E8ToujUivIO0H+tpQ6HWo4eEmchoPIoXtxCrVghxdKq+QOHqEZW7tuP3KlV3bC8FRMO5nMCC7Zm1VP6g==",
|
||||||
|
"dependencies": {
|
||||||
|
"whatwg-url": "^5.0.0"
|
||||||
|
},
|
||||||
|
"engines": {
|
||||||
|
"node": "4.x || >=6.0.0"
|
||||||
},
|
},
|
||||||
"peerDependencies": {
|
"peerDependencies": {
|
||||||
"@azure/core-client": "^1.10.0",
|
"encoding": "^0.1.0"
|
||||||
"@azure/core-rest-pipeline": "^1.22.0"
|
},
|
||||||
|
"peerDependenciesMeta": {
|
||||||
|
"encoding": {
|
||||||
|
"optional": true
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/@azure/core-http/node_modules/tslib": {
|
||||||
|
"version": "2.6.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.1.tgz",
|
||||||
|
"integrity": "sha512-t0hLfiEKfMUoqhG+U1oid7Pva4bbDPHYfJNiB7BiIjRkj1pyC++4N3huJfqY6aRH6VTB0rvtzQwjM4K6qpfOig=="
|
||||||
|
},
|
||||||
|
"node_modules/@azure/core-http/node_modules/uuid": {
|
||||||
|
"version": "8.3.2",
|
||||||
|
"resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz",
|
||||||
|
"integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==",
|
||||||
|
"bin": {
|
||||||
|
"uuid": "dist/bin/uuid"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@azure/core-lro": {
|
"node_modules/@azure/core-lro": {
|
||||||
"version": "2.7.2",
|
"version": "2.5.4",
|
||||||
"resolved": "https://registry.npmjs.org/@azure/core-lro/-/core-lro-2.7.2.tgz",
|
"resolved": "https://registry.npmjs.org/@azure/core-lro/-/core-lro-2.5.4.tgz",
|
||||||
"integrity": "sha512-0YIpccoX8m/k00O7mDDMdJpbr6mf1yWo2dfmxt5A8XVZVVMz2SSKaEbMCeJRvgQ0IaSlqhjT47p4hVIRRy90xw==",
|
"integrity": "sha512-3GJiMVH7/10bulzOKGrrLeG/uCBH/9VtxqaMcB9lIqAeamI/xYQSHJL/KcsLDuH+yTjYpro/u6D/MuRe4dN70Q==",
|
||||||
"license": "MIT",
|
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@azure/abort-controller": "^2.0.0",
|
"@azure/abort-controller": "^1.0.0",
|
||||||
"@azure/core-util": "^1.2.0",
|
"@azure/core-util": "^1.2.0",
|
||||||
"@azure/logger": "^1.0.0",
|
"@azure/logger": "^1.0.0",
|
||||||
"tslib": "^2.6.2"
|
"tslib": "^2.2.0"
|
||||||
},
|
},
|
||||||
"engines": {
|
"engines": {
|
||||||
"node": ">=18.0.0"
|
"node": ">=14.0.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"node_modules/@azure/core-lro/node_modules/tslib": {
|
||||||
|
"version": "2.6.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.1.tgz",
|
||||||
|
"integrity": "sha512-t0hLfiEKfMUoqhG+U1oid7Pva4bbDPHYfJNiB7BiIjRkj1pyC++4N3huJfqY6aRH6VTB0rvtzQwjM4K6qpfOig=="
|
||||||
|
},
|
||||||
"node_modules/@azure/core-paging": {
|
"node_modules/@azure/core-paging": {
|
||||||
"version": "1.6.2",
|
"version": "1.5.0",
|
||||||
"resolved": "https://registry.npmjs.org/@azure/core-paging/-/core-paging-1.6.2.tgz",
|
"resolved": "https://registry.npmjs.org/@azure/core-paging/-/core-paging-1.5.0.tgz",
|
||||||
"integrity": "sha512-YKWi9YuCU04B55h25cnOYZHxXYtEvQEbKST5vqRga7hWY9ydd3FZHdeQF8pyh+acWZvppw13M/LMGx0LABUVMA==",
|
"integrity": "sha512-zqWdVIt+2Z+3wqxEOGzR5hXFZ8MGKK52x4vFLw8n58pR6ZfKRx3EXYTxTaYxYHc/PexPUTyimcTWFJbji9Z6Iw==",
|
||||||
"license": "MIT",
|
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"tslib": "^2.6.2"
|
"tslib": "^2.2.0"
|
||||||
},
|
},
|
||||||
"engines": {
|
"engines": {
|
||||||
"node": ">=18.0.0"
|
"node": ">=14.0.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@azure/core-rest-pipeline": {
|
"node_modules/@azure/core-paging/node_modules/tslib": {
|
||||||
"version": "1.23.0",
|
"version": "2.6.1",
|
||||||
"resolved": "https://registry.npmjs.org/@azure/core-rest-pipeline/-/core-rest-pipeline-1.23.0.tgz",
|
"resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.1.tgz",
|
||||||
"integrity": "sha512-Evs1INHo+jUjwHi1T6SG6Ua/LHOQBCLuKEEE6efIpt4ZOoNonaT1kP32GoOcdNDbfqsD2445CPri3MubBy5DEQ==",
|
"integrity": "sha512-t0hLfiEKfMUoqhG+U1oid7Pva4bbDPHYfJNiB7BiIjRkj1pyC++4N3huJfqY6aRH6VTB0rvtzQwjM4K6qpfOig=="
|
||||||
"license": "MIT",
|
|
||||||
"dependencies": {
|
|
||||||
"@azure/abort-controller": "^2.1.2",
|
|
||||||
"@azure/core-auth": "^1.10.0",
|
|
||||||
"@azure/core-tracing": "^1.3.0",
|
|
||||||
"@azure/core-util": "^1.13.0",
|
|
||||||
"@azure/logger": "^1.3.0",
|
|
||||||
"@typespec/ts-http-runtime": "^0.3.4",
|
|
||||||
"tslib": "^2.6.2"
|
|
||||||
},
|
|
||||||
"engines": {
|
|
||||||
"node": ">=20.0.0"
|
|
||||||
}
|
|
||||||
},
|
},
|
||||||
"node_modules/@azure/core-tracing": {
|
"node_modules/@azure/core-tracing": {
|
||||||
"version": "1.3.1",
|
"version": "1.0.0-preview.13",
|
||||||
"resolved": "https://registry.npmjs.org/@azure/core-tracing/-/core-tracing-1.3.1.tgz",
|
"resolved": "https://registry.npmjs.org/@azure/core-tracing/-/core-tracing-1.0.0-preview.13.tgz",
|
||||||
"integrity": "sha512-9MWKevR7Hz8kNzzPLfX4EAtGM2b8mr50HPDBvio96bURP/9C+HjdH3sBlLSNNrvRAr5/k/svoH457gB5IKpmwQ==",
|
"integrity": "sha512-KxDlhXyMlh2Jhj2ykX6vNEU0Vou4nHr025KoSEiz7cS3BNiHNaZcdECk/DmLkEB0as5T7b/TpRcehJ5yV6NeXQ==",
|
||||||
"license": "MIT",
|
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"tslib": "^2.6.2"
|
"@opentelemetry/api": "^1.0.1",
|
||||||
|
"tslib": "^2.2.0"
|
||||||
},
|
},
|
||||||
"engines": {
|
"engines": {
|
||||||
"node": ">=20.0.0"
|
"node": ">=12.0.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"node_modules/@azure/core-tracing/node_modules/tslib": {
|
||||||
|
"version": "2.6.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.1.tgz",
|
||||||
|
"integrity": "sha512-t0hLfiEKfMUoqhG+U1oid7Pva4bbDPHYfJNiB7BiIjRkj1pyC++4N3huJfqY6aRH6VTB0rvtzQwjM4K6qpfOig=="
|
||||||
|
},
|
||||||
"node_modules/@azure/core-util": {
|
"node_modules/@azure/core-util": {
|
||||||
"version": "1.13.1",
|
"version": "1.3.2",
|
||||||
"resolved": "https://registry.npmjs.org/@azure/core-util/-/core-util-1.13.1.tgz",
|
"resolved": "https://registry.npmjs.org/@azure/core-util/-/core-util-1.3.2.tgz",
|
||||||
"integrity": "sha512-XPArKLzsvl0Hf0CaGyKHUyVgF7oDnhKoP85Xv6M4StF/1AhfORhZudHtOyf2s+FcbuQ9dPRAjB8J2KvRRMUK2A==",
|
"integrity": "sha512-2bECOUh88RvL1pMZTcc6OzfobBeWDBf5oBbhjIhT1MV9otMVWCzpOJkkiKtrnO88y5GGBelgY8At73KGAdbkeQ==",
|
||||||
"license": "MIT",
|
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@azure/abort-controller": "^2.1.2",
|
"@azure/abort-controller": "^1.0.0",
|
||||||
"@typespec/ts-http-runtime": "^0.3.0",
|
"tslib": "^2.2.0"
|
||||||
"tslib": "^2.6.2"
|
|
||||||
},
|
},
|
||||||
"engines": {
|
"engines": {
|
||||||
"node": ">=20.0.0"
|
"node": ">=14.0.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@azure/core-xml": {
|
"node_modules/@azure/core-util/node_modules/tslib": {
|
||||||
"version": "1.5.0",
|
"version": "2.6.1",
|
||||||
"resolved": "https://registry.npmjs.org/@azure/core-xml/-/core-xml-1.5.0.tgz",
|
"resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.1.tgz",
|
||||||
"integrity": "sha512-D/sdlJBMJfx7gqoj66PKVmhDDaU6TKA49ptcolxdas29X7AfvLTmfAGLjAcIMBK7UZ2o4lygHIqVckOlQU3xWw==",
|
"integrity": "sha512-t0hLfiEKfMUoqhG+U1oid7Pva4bbDPHYfJNiB7BiIjRkj1pyC++4N3huJfqY6aRH6VTB0rvtzQwjM4K6qpfOig=="
|
||||||
"license": "MIT",
|
|
||||||
"dependencies": {
|
|
||||||
"fast-xml-parser": "^5.0.7",
|
|
||||||
"tslib": "^2.8.1"
|
|
||||||
},
|
|
||||||
"engines": {
|
|
||||||
"node": ">=20.0.0"
|
|
||||||
}
|
|
||||||
},
|
},
|
||||||
"node_modules/@azure/logger": {
|
"node_modules/@azure/logger": {
|
||||||
"version": "1.3.0",
|
"version": "1.0.4",
|
||||||
"resolved": "https://registry.npmjs.org/@azure/logger/-/logger-1.3.0.tgz",
|
"resolved": "https://registry.npmjs.org/@azure/logger/-/logger-1.0.4.tgz",
|
||||||
"integrity": "sha512-fCqPIfOcLE+CGqGPd66c8bZpwAji98tZ4JI9i/mlTNTlsIWslCfpg48s/ypyLxZTump5sypjrKn2/kY7q8oAbA==",
|
"integrity": "sha512-ustrPY8MryhloQj7OWGe+HrYx+aoiOxzbXTtgblbV3xwCqpzUK36phH3XNHQKj3EPonyFUuDTfR3qFhTEAuZEg==",
|
||||||
"license": "MIT",
|
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@typespec/ts-http-runtime": "^0.3.0",
|
"tslib": "^2.2.0"
|
||||||
"tslib": "^2.6.2"
|
|
||||||
},
|
},
|
||||||
"engines": {
|
"engines": {
|
||||||
"node": ">=20.0.0"
|
"node": ">=14.0.0"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/@azure/logger/node_modules/tslib": {
|
||||||
|
"version": "2.6.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.1.tgz",
|
||||||
|
"integrity": "sha512-t0hLfiEKfMUoqhG+U1oid7Pva4bbDPHYfJNiB7BiIjRkj1pyC++4N3huJfqY6aRH6VTB0rvtzQwjM4K6qpfOig=="
|
||||||
|
},
|
||||||
|
"node_modules/@azure/ms-rest-js": {
|
||||||
|
"version": "2.7.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/@azure/ms-rest-js/-/ms-rest-js-2.7.0.tgz",
|
||||||
|
"integrity": "sha512-ngbzWbqF+NmztDOpLBVDxYM+XLcUj7nKhxGbSU9WtIsXfRB//cf2ZbAG5HkOrhU9/wd/ORRB6lM/d69RKVjiyA==",
|
||||||
|
"dependencies": {
|
||||||
|
"@azure/core-auth": "^1.1.4",
|
||||||
|
"abort-controller": "^3.0.0",
|
||||||
|
"form-data": "^2.5.0",
|
||||||
|
"node-fetch": "^2.6.7",
|
||||||
|
"tslib": "^1.10.0",
|
||||||
|
"tunnel": "0.0.6",
|
||||||
|
"uuid": "^8.3.2",
|
||||||
|
"xml2js": "^0.5.0"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/@azure/ms-rest-js/node_modules/node-fetch": {
|
||||||
|
"version": "2.6.12",
|
||||||
|
"resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.12.tgz",
|
||||||
|
"integrity": "sha512-C/fGU2E8ToujUivIO0H+tpQ6HWo4eEmchoPIoXtxCrVghxdKq+QOHqEZW7tuP3KlV3bC8FRMO5nMCC7Zm1VP6g==",
|
||||||
|
"dependencies": {
|
||||||
|
"whatwg-url": "^5.0.0"
|
||||||
|
},
|
||||||
|
"engines": {
|
||||||
|
"node": "4.x || >=6.0.0"
|
||||||
|
},
|
||||||
|
"peerDependencies": {
|
||||||
|
"encoding": "^0.1.0"
|
||||||
|
},
|
||||||
|
"peerDependenciesMeta": {
|
||||||
|
"encoding": {
|
||||||
|
"optional": true
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/@azure/ms-rest-js/node_modules/uuid": {
|
||||||
|
"version": "8.3.2",
|
||||||
|
"resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz",
|
||||||
|
"integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==",
|
||||||
|
"bin": {
|
||||||
|
"uuid": "dist/bin/uuid"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@azure/storage-blob": {
|
"node_modules/@azure/storage-blob": {
|
||||||
"version": "12.31.0",
|
"version": "12.15.0",
|
||||||
"resolved": "https://registry.npmjs.org/@azure/storage-blob/-/storage-blob-12.31.0.tgz",
|
"resolved": "https://registry.npmjs.org/@azure/storage-blob/-/storage-blob-12.15.0.tgz",
|
||||||
"integrity": "sha512-DBgNv10aCSxopt92DkTDD0o9xScXeBqPKGmR50FPZQaEcH4JLQ+GEOGEDv19V5BMkB7kxr+m4h6il/cCDPvmHg==",
|
"integrity": "sha512-e7JBKLOFi0QVJqqLzrjx1eL3je3/Ug2IQj24cTM9b85CsnnFjLGeGjJVIjbGGZaytewiCEG7r3lRwQX7fKj0/w==",
|
||||||
"license": "MIT",
|
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@azure/abort-controller": "^2.1.2",
|
"@azure/abort-controller": "^1.0.0",
|
||||||
"@azure/core-auth": "^1.9.0",
|
"@azure/core-http": "^3.0.0",
|
||||||
"@azure/core-client": "^1.9.3",
|
|
||||||
"@azure/core-http-compat": "^2.2.0",
|
|
||||||
"@azure/core-lro": "^2.2.0",
|
"@azure/core-lro": "^2.2.0",
|
||||||
"@azure/core-paging": "^1.6.2",
|
"@azure/core-paging": "^1.1.1",
|
||||||
"@azure/core-rest-pipeline": "^1.19.1",
|
"@azure/core-tracing": "1.0.0-preview.13",
|
||||||
"@azure/core-tracing": "^1.2.0",
|
"@azure/logger": "^1.0.0",
|
||||||
"@azure/core-util": "^1.11.0",
|
|
||||||
"@azure/core-xml": "^1.4.5",
|
|
||||||
"@azure/logger": "^1.1.4",
|
|
||||||
"@azure/storage-common": "^12.3.0",
|
|
||||||
"events": "^3.0.0",
|
"events": "^3.0.0",
|
||||||
"tslib": "^2.8.1"
|
"tslib": "^2.2.0"
|
||||||
},
|
},
|
||||||
"engines": {
|
"engines": {
|
||||||
"node": ">=20.0.0"
|
"node": ">=14.0.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@azure/storage-common": {
|
"node_modules/@azure/storage-blob/node_modules/tslib": {
|
||||||
"version": "12.3.0",
|
"version": "2.6.1",
|
||||||
"resolved": "https://registry.npmjs.org/@azure/storage-common/-/storage-common-12.3.0.tgz",
|
"resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.1.tgz",
|
||||||
"integrity": "sha512-/OFHhy86aG5Pe8dP5tsp+BuJ25JOAl9yaMU3WZbkeoiFMHFtJ7tu5ili7qEdBXNW9G5lDB19trwyI6V49F/8iQ==",
|
"integrity": "sha512-t0hLfiEKfMUoqhG+U1oid7Pva4bbDPHYfJNiB7BiIjRkj1pyC++4N3huJfqY6aRH6VTB0rvtzQwjM4K6qpfOig=="
|
||||||
"license": "MIT",
|
|
||||||
"dependencies": {
|
|
||||||
"@azure/abort-controller": "^2.1.2",
|
|
||||||
"@azure/core-auth": "^1.9.0",
|
|
||||||
"@azure/core-http-compat": "^2.2.0",
|
|
||||||
"@azure/core-rest-pipeline": "^1.19.1",
|
|
||||||
"@azure/core-tracing": "^1.2.0",
|
|
||||||
"@azure/core-util": "^1.11.0",
|
|
||||||
"@azure/logger": "^1.1.4",
|
|
||||||
"events": "^3.3.0",
|
|
||||||
"tslib": "^2.8.1"
|
|
||||||
},
|
|
||||||
"engines": {
|
|
||||||
"node": ">=20.0.0"
|
|
||||||
}
|
|
||||||
},
|
},
|
||||||
"node_modules/@babel/code-frame": {
|
"node_modules/@babel/code-frame": {
|
||||||
"version": "7.27.1",
|
"version": "7.27.1",
|
||||||
@@ -499,10 +522,11 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@babel/helper-plugin-utils": {
|
"node_modules/@babel/helper-plugin-utils": {
|
||||||
"version": "7.29.7",
|
"version": "7.27.1",
|
||||||
"resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.29.7.tgz",
|
"resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.27.1.tgz",
|
||||||
"integrity": "sha512-G7sHYigPY17oO5SYWnfD/0MTBwVR781S/JI643e/JhUYgVgWE/61SoW3NH9KWUKyKq5LVh3npif99Wkt6j86Jw==",
|
"integrity": "sha512-1gn1Up5YXka3YYAHGKpbideQ5Yjf1tDa9qYcgysz+cNCXukyLl6DjPXhD3VRwSb8c0J9tA4b2+rHEZtc6R0tlw==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
|
"license": "MIT",
|
||||||
"engines": {
|
"engines": {
|
||||||
"node": ">=6.9.0"
|
"node": ">=6.9.0"
|
||||||
}
|
}
|
||||||
@@ -665,12 +689,13 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@babel/plugin-syntax-jsx": {
|
"node_modules/@babel/plugin-syntax-jsx": {
|
||||||
"version": "7.29.7",
|
"version": "7.27.1",
|
||||||
"resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.29.7.tgz",
|
"resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.27.1.tgz",
|
||||||
"integrity": "sha512-TSu8+mHCoEaaCDEZ0I3+6mvTBYR4PCxQwf2z9/r5Tbztv6NaLR3B9thGTTxX2WGuGHJqRiAbKPeGTJ5XWXVg6A==",
|
"integrity": "sha512-y8YTNIeKoyhGd9O0Jiyzyyqk8gdjnumGTQPsz0xOZOQ2RmkVJeZ1vmmfIvFEKqucBG6axJGBZDE/7iI5suUI/w==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@babel/helper-plugin-utils": "^7.29.7"
|
"@babel/helper-plugin-utils": "^7.27.1"
|
||||||
},
|
},
|
||||||
"engines": {
|
"engines": {
|
||||||
"node": ">=6.9.0"
|
"node": ">=6.9.0"
|
||||||
@@ -790,12 +815,13 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@babel/plugin-syntax-typescript": {
|
"node_modules/@babel/plugin-syntax-typescript": {
|
||||||
"version": "7.29.7",
|
"version": "7.27.1",
|
||||||
"resolved": "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.29.7.tgz",
|
"resolved": "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.27.1.tgz",
|
||||||
"integrity": "sha512-ngr+82Sh0xMz25TPCZi+nC2iTzjfCdWS2ONXTp/PtSCHCgaCNBpdMqgvJ2ccdLlClVZ7sisIgB914j/JFe+RZA==",
|
"integrity": "sha512-xfYCBMxveHrRMnAWl1ZlPXOZjzkN82THFvLhQhFXFt81Z5HnN+EtUkZhv/zcKpmT3fzmWZB0ywiBrbC3vogbwQ==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@babel/helper-plugin-utils": "^7.29.7"
|
"@babel/helper-plugin-utils": "^7.27.1"
|
||||||
},
|
},
|
||||||
"engines": {
|
"engines": {
|
||||||
"node": ">=6.9.0"
|
"node": ">=6.9.0"
|
||||||
@@ -856,12 +882,13 @@
|
|||||||
"version": "0.2.3",
|
"version": "0.2.3",
|
||||||
"resolved": "https://registry.npmjs.org/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz",
|
"resolved": "https://registry.npmjs.org/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz",
|
||||||
"integrity": "sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==",
|
"integrity": "sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==",
|
||||||
"dev": true
|
"dev": true,
|
||||||
|
"license": "MIT"
|
||||||
},
|
},
|
||||||
"node_modules/@biomejs/biome": {
|
"node_modules/@biomejs/biome": {
|
||||||
"version": "2.4.15",
|
"version": "2.3.7",
|
||||||
"resolved": "https://registry.npmjs.org/@biomejs/biome/-/biome-2.4.15.tgz",
|
"resolved": "https://registry.npmjs.org/@biomejs/biome/-/biome-2.3.7.tgz",
|
||||||
"integrity": "sha512-j5VH3a/h/HXTKBM50MDMxRCzkeLv9S2XJcW2WgnZT1+xyisi+0bISrXR82gCX+8S9lvK0skEvHJRN+3Ktr2hlw==",
|
"integrity": "sha512-CTbAS/jNAiUc6rcq94BrTB8z83O9+BsgWj2sBCQg9rD6Wkh2gjfR87usjx0Ncx0zGXP1NKgT7JNglay5Zfs9jw==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"license": "MIT OR Apache-2.0",
|
"license": "MIT OR Apache-2.0",
|
||||||
"bin": {
|
"bin": {
|
||||||
@@ -875,20 +902,20 @@
|
|||||||
"url": "https://opencollective.com/biome"
|
"url": "https://opencollective.com/biome"
|
||||||
},
|
},
|
||||||
"optionalDependencies": {
|
"optionalDependencies": {
|
||||||
"@biomejs/cli-darwin-arm64": "2.4.15",
|
"@biomejs/cli-darwin-arm64": "2.3.7",
|
||||||
"@biomejs/cli-darwin-x64": "2.4.15",
|
"@biomejs/cli-darwin-x64": "2.3.7",
|
||||||
"@biomejs/cli-linux-arm64": "2.4.15",
|
"@biomejs/cli-linux-arm64": "2.3.7",
|
||||||
"@biomejs/cli-linux-arm64-musl": "2.4.15",
|
"@biomejs/cli-linux-arm64-musl": "2.3.7",
|
||||||
"@biomejs/cli-linux-x64": "2.4.15",
|
"@biomejs/cli-linux-x64": "2.3.7",
|
||||||
"@biomejs/cli-linux-x64-musl": "2.4.15",
|
"@biomejs/cli-linux-x64-musl": "2.3.7",
|
||||||
"@biomejs/cli-win32-arm64": "2.4.15",
|
"@biomejs/cli-win32-arm64": "2.3.7",
|
||||||
"@biomejs/cli-win32-x64": "2.4.15"
|
"@biomejs/cli-win32-x64": "2.3.7"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@biomejs/cli-darwin-arm64": {
|
"node_modules/@biomejs/cli-darwin-arm64": {
|
||||||
"version": "2.4.15",
|
"version": "2.3.7",
|
||||||
"resolved": "https://registry.npmjs.org/@biomejs/cli-darwin-arm64/-/cli-darwin-arm64-2.4.15.tgz",
|
"resolved": "https://registry.npmjs.org/@biomejs/cli-darwin-arm64/-/cli-darwin-arm64-2.3.7.tgz",
|
||||||
"integrity": "sha512-rF3PPqLq1yoST79zaQbDjVJwsuIeci/O+9bgNmC5QpgOqz6aqYuzA4abyAGx+mgyiDXn4A049xAN8gijbuR1Qg==",
|
"integrity": "sha512-LirkamEwzIUULhXcf2D5b+NatXKeqhOwilM+5eRkbrnr6daKz9rsBL0kNZ16Hcy4b8RFq22SG4tcLwM+yx/wFA==",
|
||||||
"cpu": [
|
"cpu": [
|
||||||
"arm64"
|
"arm64"
|
||||||
],
|
],
|
||||||
@@ -903,9 +930,9 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@biomejs/cli-darwin-x64": {
|
"node_modules/@biomejs/cli-darwin-x64": {
|
||||||
"version": "2.4.15",
|
"version": "2.3.7",
|
||||||
"resolved": "https://registry.npmjs.org/@biomejs/cli-darwin-x64/-/cli-darwin-x64-2.4.15.tgz",
|
"resolved": "https://registry.npmjs.org/@biomejs/cli-darwin-x64/-/cli-darwin-x64-2.3.7.tgz",
|
||||||
"integrity": "sha512-/5KHXYMfSJs1fNXiX30xFtI8JcCFV6zaVVLxOa0M2sfqBKHkpQhRTv94yxQWxeTY2lzo2OuTlNvPC+hDQt2wcQ==",
|
"integrity": "sha512-Q4TO633kvrMQkKIV7wmf8HXwF0dhdTD9S458LGE24TYgBjSRbuhvio4D5eOQzirEYg6eqxfs53ga/rbdd8nBKg==",
|
||||||
"cpu": [
|
"cpu": [
|
||||||
"x64"
|
"x64"
|
||||||
],
|
],
|
||||||
@@ -920,9 +947,9 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@biomejs/cli-linux-arm64": {
|
"node_modules/@biomejs/cli-linux-arm64": {
|
||||||
"version": "2.4.15",
|
"version": "2.3.7",
|
||||||
"resolved": "https://registry.npmjs.org/@biomejs/cli-linux-arm64/-/cli-linux-arm64-2.4.15.tgz",
|
"resolved": "https://registry.npmjs.org/@biomejs/cli-linux-arm64/-/cli-linux-arm64-2.3.7.tgz",
|
||||||
"integrity": "sha512-owaAMZD/T4LrD0ELNCk0Km3qrRHuM0X6EAyVE1FSqGY0rbLoiDLrO4Us2tllm6cAeB2Ioa9C2C08NZPdr8+0Ug==",
|
"integrity": "sha512-inHOTdlstUBzgjDcx0ge71U4SVTbwAljmkfi3MC5WzsYCRhancqfeL+sa4Ke6v2ND53WIwCFD5hGsYExoI3EZQ==",
|
||||||
"cpu": [
|
"cpu": [
|
||||||
"arm64"
|
"arm64"
|
||||||
],
|
],
|
||||||
@@ -937,9 +964,9 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@biomejs/cli-linux-arm64-musl": {
|
"node_modules/@biomejs/cli-linux-arm64-musl": {
|
||||||
"version": "2.4.15",
|
"version": "2.3.7",
|
||||||
"resolved": "https://registry.npmjs.org/@biomejs/cli-linux-arm64-musl/-/cli-linux-arm64-musl-2.4.15.tgz",
|
"resolved": "https://registry.npmjs.org/@biomejs/cli-linux-arm64-musl/-/cli-linux-arm64-musl-2.3.7.tgz",
|
||||||
"integrity": "sha512-ZPcxznxm0pogHBLZhYntyR3sR+MrZjqJIKEr7ZqVen0Rl+P/4upVmfYXjftizi9RoqZntg33fv/1fbdhbYXpEQ==",
|
"integrity": "sha512-/afy8lto4CB8scWfMdt+NoCZtatBUF62Tk3ilWH2w8ENd5spLhM77zKlFZEvsKJv9AFNHknMl03zO67CiklL2Q==",
|
||||||
"cpu": [
|
"cpu": [
|
||||||
"arm64"
|
"arm64"
|
||||||
],
|
],
|
||||||
@@ -954,9 +981,9 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@biomejs/cli-linux-x64": {
|
"node_modules/@biomejs/cli-linux-x64": {
|
||||||
"version": "2.4.15",
|
"version": "2.3.7",
|
||||||
"resolved": "https://registry.npmjs.org/@biomejs/cli-linux-x64/-/cli-linux-x64-2.4.15.tgz",
|
"resolved": "https://registry.npmjs.org/@biomejs/cli-linux-x64/-/cli-linux-x64-2.3.7.tgz",
|
||||||
"integrity": "sha512-0jj7THz12GbUOLmMibktK6DZjqz2zV64KFxyBtcFTKPiiOIY0a7vns1elpO1dERvxpsZ5ik0oFfz0oGwFde1+g==",
|
"integrity": "sha512-fJMc3ZEuo/NaMYo5rvoWjdSS5/uVSW+HPRQujucpZqm2ZCq71b8MKJ9U4th9yrv2L5+5NjPF0nqqILCl8HY/fg==",
|
||||||
"cpu": [
|
"cpu": [
|
||||||
"x64"
|
"x64"
|
||||||
],
|
],
|
||||||
@@ -971,9 +998,9 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@biomejs/cli-linux-x64-musl": {
|
"node_modules/@biomejs/cli-linux-x64-musl": {
|
||||||
"version": "2.4.15",
|
"version": "2.3.7",
|
||||||
"resolved": "https://registry.npmjs.org/@biomejs/cli-linux-x64-musl/-/cli-linux-x64-musl-2.4.15.tgz",
|
"resolved": "https://registry.npmjs.org/@biomejs/cli-linux-x64-musl/-/cli-linux-x64-musl-2.3.7.tgz",
|
||||||
"integrity": "sha512-CNq/9W38SYSH023lfcQ4KKU8K0YX8T//FZUhcgtMMRABDojx5XsMV7jlweAvGSl389wJQB29Qo6Zb/a+jdvt+w==",
|
"integrity": "sha512-CQUtgH1tIN6e5wiYSJqzSwJumHYolNtaj1dwZGCnZXm2PZU1jOJof9TsyiP3bXNDb+VOR7oo7ZvY01If0W3iFQ==",
|
||||||
"cpu": [
|
"cpu": [
|
||||||
"x64"
|
"x64"
|
||||||
],
|
],
|
||||||
@@ -988,9 +1015,9 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@biomejs/cli-win32-arm64": {
|
"node_modules/@biomejs/cli-win32-arm64": {
|
||||||
"version": "2.4.15",
|
"version": "2.3.7",
|
||||||
"resolved": "https://registry.npmjs.org/@biomejs/cli-win32-arm64/-/cli-win32-arm64-2.4.15.tgz",
|
"resolved": "https://registry.npmjs.org/@biomejs/cli-win32-arm64/-/cli-win32-arm64-2.3.7.tgz",
|
||||||
"integrity": "sha512-ouhkYdlhp/1GghEJPdWwD/Vi3gQ1nFxuSpMolWsbq3Lsq3QUR4jl6UdhhscdCugKU5vOEuMiJhvKj66O0OCq+w==",
|
"integrity": "sha512-aJAE8eCNyRpcfx2JJAtsPtISnELJ0H4xVVSwnxm13bzI8RwbXMyVtxy2r5DV1xT3WiSP+7LxORcApWw0LM8HiA==",
|
||||||
"cpu": [
|
"cpu": [
|
||||||
"arm64"
|
"arm64"
|
||||||
],
|
],
|
||||||
@@ -1005,9 +1032,9 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@biomejs/cli-win32-x64": {
|
"node_modules/@biomejs/cli-win32-x64": {
|
||||||
"version": "2.4.15",
|
"version": "2.3.7",
|
||||||
"resolved": "https://registry.npmjs.org/@biomejs/cli-win32-x64/-/cli-win32-x64-2.4.15.tgz",
|
"resolved": "https://registry.npmjs.org/@biomejs/cli-win32-x64/-/cli-win32-x64-2.3.7.tgz",
|
||||||
"integrity": "sha512-zBrGq5mx5wwpnow4+2BxUvleDM+GNd4sLbPaMapsSLQLD0NGRCquqPBTgN+7XkUteHvj7M+BstuI8tmnV7+HgQ==",
|
"integrity": "sha512-pulzUshqv9Ed//MiE8MOUeeEkbkSHVDVY5Cz5wVAnH1DUqliCQG3j6s1POaITTFqFfo7AVIx2sWdKpx/GS+Nqw==",
|
||||||
"cpu": [
|
"cpu": [
|
||||||
"x64"
|
"x64"
|
||||||
],
|
],
|
||||||
@@ -1022,476 +1049,69 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@emnapi/core": {
|
"node_modules/@emnapi/core": {
|
||||||
"version": "1.10.0",
|
"version": "1.5.0",
|
||||||
"resolved": "https://registry.npmjs.org/@emnapi/core/-/core-1.10.0.tgz",
|
"resolved": "https://registry.npmjs.org/@emnapi/core/-/core-1.5.0.tgz",
|
||||||
"integrity": "sha512-yq6OkJ4p82CAfPl0u9mQebQHKPJkY7WrIuk205cTYnYe+k2Z8YBh11FrbRG/H6ihirqcacOgl2BIO8oyMQLeXw==",
|
"integrity": "sha512-sbP8GzB1WDzacS8fgNPpHlp6C9VZe+SJP3F90W9rLemaQj2PzIuTEl1qDOYQf58YIpyjViI24y9aPWCjEzY2cg==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
|
"license": "MIT",
|
||||||
"optional": true,
|
"optional": true,
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@emnapi/wasi-threads": "1.2.1",
|
"@emnapi/wasi-threads": "1.1.0",
|
||||||
"tslib": "^2.4.0"
|
"tslib": "^2.4.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"node_modules/@emnapi/core/node_modules/tslib": {
|
||||||
|
"version": "2.8.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz",
|
||||||
|
"integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==",
|
||||||
|
"dev": true,
|
||||||
|
"license": "0BSD",
|
||||||
|
"optional": true
|
||||||
|
},
|
||||||
"node_modules/@emnapi/runtime": {
|
"node_modules/@emnapi/runtime": {
|
||||||
"version": "1.10.0",
|
"version": "1.5.0",
|
||||||
"resolved": "https://registry.npmjs.org/@emnapi/runtime/-/runtime-1.10.0.tgz",
|
"resolved": "https://registry.npmjs.org/@emnapi/runtime/-/runtime-1.5.0.tgz",
|
||||||
"integrity": "sha512-ewvYlk86xUoGI0zQRNq/mC+16R1QeDlKQy21Ki3oSYXNgLb45GV1P6A0M+/s6nyCuNDqe5VpaY84BzXGwVbwFA==",
|
"integrity": "sha512-97/BJ3iXHww3djw6hYIfErCZFee7qCtrneuLa20UXFCOTCfBM2cvQHjWJ2EG0s0MtdNwInarqCTz35i4wWXHsQ==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
|
"license": "MIT",
|
||||||
"optional": true,
|
"optional": true,
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"tslib": "^2.4.0"
|
"tslib": "^2.4.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"node_modules/@emnapi/runtime/node_modules/tslib": {
|
||||||
|
"version": "2.8.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz",
|
||||||
|
"integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==",
|
||||||
|
"dev": true,
|
||||||
|
"license": "0BSD",
|
||||||
|
"optional": true
|
||||||
|
},
|
||||||
"node_modules/@emnapi/wasi-threads": {
|
"node_modules/@emnapi/wasi-threads": {
|
||||||
"version": "1.2.1",
|
"version": "1.1.0",
|
||||||
"resolved": "https://registry.npmjs.org/@emnapi/wasi-threads/-/wasi-threads-1.2.1.tgz",
|
"resolved": "https://registry.npmjs.org/@emnapi/wasi-threads/-/wasi-threads-1.1.0.tgz",
|
||||||
"integrity": "sha512-uTII7OYF+/Mes/MrcIOYp5yOtSMLBWSIoLPpcgwipoiKbli6k322tcoFsxoIIxPDqW01SQGAgko4EzZi2BNv2w==",
|
"integrity": "sha512-WI0DdZ8xFSbgMjR1sFsKABJ/C5OnRrjT06JXbZKexJGrDuPTzZdDYfFlsgcCXCyf+suG5QU2e/y1Wo2V/OapLQ==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
|
"license": "MIT",
|
||||||
"optional": true,
|
"optional": true,
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"tslib": "^2.4.0"
|
"tslib": "^2.4.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@esbuild/aix-ppc64": {
|
"node_modules/@emnapi/wasi-threads/node_modules/tslib": {
|
||||||
"version": "0.28.0",
|
"version": "2.8.1",
|
||||||
"resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.28.0.tgz",
|
"resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz",
|
||||||
"integrity": "sha512-lhRUCeuOyJQURhTxl4WkpFTjIsbDayJHih5kZC1giwE+MhIzAb7mEsQMqMf18rHLsrb5qI1tafG20mLxEWcWlA==",
|
"integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==",
|
||||||
"cpu": [
|
|
||||||
"ppc64"
|
|
||||||
],
|
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"license": "MIT",
|
"license": "0BSD",
|
||||||
"optional": true,
|
"optional": true
|
||||||
"os": [
|
|
||||||
"aix"
|
|
||||||
],
|
|
||||||
"engines": {
|
|
||||||
"node": ">=18"
|
|
||||||
}
|
|
||||||
},
|
},
|
||||||
"node_modules/@esbuild/android-arm": {
|
"node_modules/@fastify/busboy": {
|
||||||
"version": "0.28.0",
|
"version": "2.1.1",
|
||||||
"resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.28.0.tgz",
|
"resolved": "https://registry.npmjs.org/@fastify/busboy/-/busboy-2.1.1.tgz",
|
||||||
"integrity": "sha512-wqh0ByljabXLKHeWXYLqoJ5jKC4XBaw6Hk08OfMrCRd2nP2ZQ5eleDZC41XHyCNgktBGYMbqnrJKq/K/lzPMSQ==",
|
"integrity": "sha512-vBZP4NlzfOlerQTnba4aqZoMhE/a9HY7HRqoOPaETQcSQuWEIyZMHGfVu6w9wGtGK5fED5qRs2DteVCjOH60sA==",
|
||||||
"cpu": [
|
|
||||||
"arm"
|
|
||||||
],
|
|
||||||
"dev": true,
|
|
||||||
"license": "MIT",
|
|
||||||
"optional": true,
|
|
||||||
"os": [
|
|
||||||
"android"
|
|
||||||
],
|
|
||||||
"engines": {
|
"engines": {
|
||||||
"node": ">=18"
|
"node": ">=14"
|
||||||
}
|
|
||||||
},
|
|
||||||
"node_modules/@esbuild/android-arm64": {
|
|
||||||
"version": "0.28.0",
|
|
||||||
"resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.28.0.tgz",
|
|
||||||
"integrity": "sha512-+WzIXQOSaGs33tLEgYPYe/yQHf0WTU0X42Jca3y8NWMbUVhp7rUnw+vAsRC/QiDrdD31IszMrZy+qwPOPjd+rw==",
|
|
||||||
"cpu": [
|
|
||||||
"arm64"
|
|
||||||
],
|
|
||||||
"dev": true,
|
|
||||||
"license": "MIT",
|
|
||||||
"optional": true,
|
|
||||||
"os": [
|
|
||||||
"android"
|
|
||||||
],
|
|
||||||
"engines": {
|
|
||||||
"node": ">=18"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"node_modules/@esbuild/android-x64": {
|
|
||||||
"version": "0.28.0",
|
|
||||||
"resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.28.0.tgz",
|
|
||||||
"integrity": "sha512-+VJggoaKhk2VNNqVL7f6S189UzShHC/mR9EE8rDdSkdpN0KflSwWY/gWjDrNxxisg8Fp1ZCD9jLMo4m0OUfeUA==",
|
|
||||||
"cpu": [
|
|
||||||
"x64"
|
|
||||||
],
|
|
||||||
"dev": true,
|
|
||||||
"license": "MIT",
|
|
||||||
"optional": true,
|
|
||||||
"os": [
|
|
||||||
"android"
|
|
||||||
],
|
|
||||||
"engines": {
|
|
||||||
"node": ">=18"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"node_modules/@esbuild/darwin-arm64": {
|
|
||||||
"version": "0.28.0",
|
|
||||||
"resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.28.0.tgz",
|
|
||||||
"integrity": "sha512-0T+A9WZm+bZ84nZBtk1ckYsOvyA3x7e2Acj1KdVfV4/2tdG4fzUp91YHx+GArWLtwqp77pBXVCPn2We7Letr0Q==",
|
|
||||||
"cpu": [
|
|
||||||
"arm64"
|
|
||||||
],
|
|
||||||
"dev": true,
|
|
||||||
"license": "MIT",
|
|
||||||
"optional": true,
|
|
||||||
"os": [
|
|
||||||
"darwin"
|
|
||||||
],
|
|
||||||
"engines": {
|
|
||||||
"node": ">=18"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"node_modules/@esbuild/darwin-x64": {
|
|
||||||
"version": "0.28.0",
|
|
||||||
"resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.28.0.tgz",
|
|
||||||
"integrity": "sha512-fyzLm/DLDl/84OCfp2f/XQ4flmORsjU7VKt8HLjvIXChJoFFOIL6pLJPH4Yhd1n1gGFF9mPwtlN5Wf82DZs+LQ==",
|
|
||||||
"cpu": [
|
|
||||||
"x64"
|
|
||||||
],
|
|
||||||
"dev": true,
|
|
||||||
"license": "MIT",
|
|
||||||
"optional": true,
|
|
||||||
"os": [
|
|
||||||
"darwin"
|
|
||||||
],
|
|
||||||
"engines": {
|
|
||||||
"node": ">=18"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"node_modules/@esbuild/freebsd-arm64": {
|
|
||||||
"version": "0.28.0",
|
|
||||||
"resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.28.0.tgz",
|
|
||||||
"integrity": "sha512-l9GeW5UZBT9k9brBYI+0WDffcRxgHQD8ShN2Ur4xWq/NFzUKm3k5lsH4PdaRgb2w7mI9u61nr2gI2mLI27Nh3Q==",
|
|
||||||
"cpu": [
|
|
||||||
"arm64"
|
|
||||||
],
|
|
||||||
"dev": true,
|
|
||||||
"license": "MIT",
|
|
||||||
"optional": true,
|
|
||||||
"os": [
|
|
||||||
"freebsd"
|
|
||||||
],
|
|
||||||
"engines": {
|
|
||||||
"node": ">=18"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"node_modules/@esbuild/freebsd-x64": {
|
|
||||||
"version": "0.28.0",
|
|
||||||
"resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.28.0.tgz",
|
|
||||||
"integrity": "sha512-BXoQai/A0wPO6Es3yFJ7APCiKGc1tdAEOgeTNy3SsB491S3aHn4S4r3e976eUnPdU+NbdtmBuLncYir2tMU9Nw==",
|
|
||||||
"cpu": [
|
|
||||||
"x64"
|
|
||||||
],
|
|
||||||
"dev": true,
|
|
||||||
"license": "MIT",
|
|
||||||
"optional": true,
|
|
||||||
"os": [
|
|
||||||
"freebsd"
|
|
||||||
],
|
|
||||||
"engines": {
|
|
||||||
"node": ">=18"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"node_modules/@esbuild/linux-arm": {
|
|
||||||
"version": "0.28.0",
|
|
||||||
"resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.28.0.tgz",
|
|
||||||
"integrity": "sha512-CjaaREJagqJp7iTaNQjjidaNbCKYcd4IDkzbwwxtSvjI7NZm79qiHc8HqciMddQ6CKvJT6aBd8lO9kN/ZudLlw==",
|
|
||||||
"cpu": [
|
|
||||||
"arm"
|
|
||||||
],
|
|
||||||
"dev": true,
|
|
||||||
"license": "MIT",
|
|
||||||
"optional": true,
|
|
||||||
"os": [
|
|
||||||
"linux"
|
|
||||||
],
|
|
||||||
"engines": {
|
|
||||||
"node": ">=18"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"node_modules/@esbuild/linux-arm64": {
|
|
||||||
"version": "0.28.0",
|
|
||||||
"resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.28.0.tgz",
|
|
||||||
"integrity": "sha512-RVyzfb3FWsGA55n6WY0MEIEPURL1FcbhFE6BffZEMEekfCzCIMtB5yyDcFnVbTnwk+CLAgTujmV/Lgvih56W+A==",
|
|
||||||
"cpu": [
|
|
||||||
"arm64"
|
|
||||||
],
|
|
||||||
"dev": true,
|
|
||||||
"license": "MIT",
|
|
||||||
"optional": true,
|
|
||||||
"os": [
|
|
||||||
"linux"
|
|
||||||
],
|
|
||||||
"engines": {
|
|
||||||
"node": ">=18"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"node_modules/@esbuild/linux-ia32": {
|
|
||||||
"version": "0.28.0",
|
|
||||||
"resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.28.0.tgz",
|
|
||||||
"integrity": "sha512-KBnSTt1kxl9x70q+ydterVdl+Cn0H18ngRMRCEQfrbqdUuntQQ0LoMZv47uB97NljZFzY6HcfqEZ2SAyIUTQBQ==",
|
|
||||||
"cpu": [
|
|
||||||
"ia32"
|
|
||||||
],
|
|
||||||
"dev": true,
|
|
||||||
"license": "MIT",
|
|
||||||
"optional": true,
|
|
||||||
"os": [
|
|
||||||
"linux"
|
|
||||||
],
|
|
||||||
"engines": {
|
|
||||||
"node": ">=18"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"node_modules/@esbuild/linux-loong64": {
|
|
||||||
"version": "0.28.0",
|
|
||||||
"resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.28.0.tgz",
|
|
||||||
"integrity": "sha512-zpSlUce1mnxzgBADvxKXX5sl8aYQHo2ezvMNI8I0lbblJtp8V4odlm3Yzlj7gPyt3T8ReksE6bK+pT3WD+aJRg==",
|
|
||||||
"cpu": [
|
|
||||||
"loong64"
|
|
||||||
],
|
|
||||||
"dev": true,
|
|
||||||
"license": "MIT",
|
|
||||||
"optional": true,
|
|
||||||
"os": [
|
|
||||||
"linux"
|
|
||||||
],
|
|
||||||
"engines": {
|
|
||||||
"node": ">=18"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"node_modules/@esbuild/linux-mips64el": {
|
|
||||||
"version": "0.28.0",
|
|
||||||
"resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.28.0.tgz",
|
|
||||||
"integrity": "sha512-2jIfP6mmjkdmeTlsX/9vmdmhBmKADrWqN7zcdtHIeNSCH1SqIoNI63cYsjQR8J+wGa4Y5izRcSHSm8K3QWmk3w==",
|
|
||||||
"cpu": [
|
|
||||||
"mips64el"
|
|
||||||
],
|
|
||||||
"dev": true,
|
|
||||||
"license": "MIT",
|
|
||||||
"optional": true,
|
|
||||||
"os": [
|
|
||||||
"linux"
|
|
||||||
],
|
|
||||||
"engines": {
|
|
||||||
"node": ">=18"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"node_modules/@esbuild/linux-ppc64": {
|
|
||||||
"version": "0.28.0",
|
|
||||||
"resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.28.0.tgz",
|
|
||||||
"integrity": "sha512-bc0FE9wWeC0WBm49IQMPSPILRocGTQt3j5KPCA8os6VprfuJ7KD+5PzESSrJ6GmPIPJK965ZJHTUlSA6GNYEhg==",
|
|
||||||
"cpu": [
|
|
||||||
"ppc64"
|
|
||||||
],
|
|
||||||
"dev": true,
|
|
||||||
"license": "MIT",
|
|
||||||
"optional": true,
|
|
||||||
"os": [
|
|
||||||
"linux"
|
|
||||||
],
|
|
||||||
"engines": {
|
|
||||||
"node": ">=18"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"node_modules/@esbuild/linux-riscv64": {
|
|
||||||
"version": "0.28.0",
|
|
||||||
"resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.28.0.tgz",
|
|
||||||
"integrity": "sha512-SQPZOwoTTT/HXFXQJG/vBX8sOFagGqvZyXcgLA3NhIqcBv1BJU1d46c0rGcrij2B56Z2rNiSLaZOYW5cUk7yLQ==",
|
|
||||||
"cpu": [
|
|
||||||
"riscv64"
|
|
||||||
],
|
|
||||||
"dev": true,
|
|
||||||
"license": "MIT",
|
|
||||||
"optional": true,
|
|
||||||
"os": [
|
|
||||||
"linux"
|
|
||||||
],
|
|
||||||
"engines": {
|
|
||||||
"node": ">=18"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"node_modules/@esbuild/linux-s390x": {
|
|
||||||
"version": "0.28.0",
|
|
||||||
"resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.28.0.tgz",
|
|
||||||
"integrity": "sha512-SCfR0HN8CEEjnYnySJTd2cw0k9OHB/YFzt5zgJEwa+wL/T/raGWYMBqwDNAC6dqFKmJYZoQBRfHjgwLHGSrn3Q==",
|
|
||||||
"cpu": [
|
|
||||||
"s390x"
|
|
||||||
],
|
|
||||||
"dev": true,
|
|
||||||
"license": "MIT",
|
|
||||||
"optional": true,
|
|
||||||
"os": [
|
|
||||||
"linux"
|
|
||||||
],
|
|
||||||
"engines": {
|
|
||||||
"node": ">=18"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"node_modules/@esbuild/linux-x64": {
|
|
||||||
"version": "0.28.0",
|
|
||||||
"resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.28.0.tgz",
|
|
||||||
"integrity": "sha512-us0dSb9iFxIi8srnpl931Nvs65it/Jd2a2K3qs7fz2WfGPHqzfzZTfec7oxZJRNPXPnNYZtanmRc4AL/JwVzHQ==",
|
|
||||||
"cpu": [
|
|
||||||
"x64"
|
|
||||||
],
|
|
||||||
"dev": true,
|
|
||||||
"license": "MIT",
|
|
||||||
"optional": true,
|
|
||||||
"os": [
|
|
||||||
"linux"
|
|
||||||
],
|
|
||||||
"engines": {
|
|
||||||
"node": ">=18"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"node_modules/@esbuild/netbsd-arm64": {
|
|
||||||
"version": "0.28.0",
|
|
||||||
"resolved": "https://registry.npmjs.org/@esbuild/netbsd-arm64/-/netbsd-arm64-0.28.0.tgz",
|
|
||||||
"integrity": "sha512-CR/RYotgtCKwtftMwJlUU7xCVNg3lMYZ0RzTmAHSfLCXw3NtZtNpswLEj/Kkf6kEL3Gw+BpOekRX0BYCtklhUw==",
|
|
||||||
"cpu": [
|
|
||||||
"arm64"
|
|
||||||
],
|
|
||||||
"dev": true,
|
|
||||||
"license": "MIT",
|
|
||||||
"optional": true,
|
|
||||||
"os": [
|
|
||||||
"netbsd"
|
|
||||||
],
|
|
||||||
"engines": {
|
|
||||||
"node": ">=18"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"node_modules/@esbuild/netbsd-x64": {
|
|
||||||
"version": "0.28.0",
|
|
||||||
"resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.28.0.tgz",
|
|
||||||
"integrity": "sha512-nU1yhmYutL+fQ71Kxnhg8uEOdC0pwEW9entHykTgEbna2pw2dkbFSMeqjjyHZoCmt8SBkOSvV+yNmm94aUrrqw==",
|
|
||||||
"cpu": [
|
|
||||||
"x64"
|
|
||||||
],
|
|
||||||
"dev": true,
|
|
||||||
"license": "MIT",
|
|
||||||
"optional": true,
|
|
||||||
"os": [
|
|
||||||
"netbsd"
|
|
||||||
],
|
|
||||||
"engines": {
|
|
||||||
"node": ">=18"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"node_modules/@esbuild/openbsd-arm64": {
|
|
||||||
"version": "0.28.0",
|
|
||||||
"resolved": "https://registry.npmjs.org/@esbuild/openbsd-arm64/-/openbsd-arm64-0.28.0.tgz",
|
|
||||||
"integrity": "sha512-cXb5vApOsRsxsEl4mcZ1XY3D4DzcoMxR/nnc4IyqYs0rTI8ZKmW6kyyg+11Z8yvgMfAEldKzP7AdP64HnSC/6g==",
|
|
||||||
"cpu": [
|
|
||||||
"arm64"
|
|
||||||
],
|
|
||||||
"dev": true,
|
|
||||||
"license": "MIT",
|
|
||||||
"optional": true,
|
|
||||||
"os": [
|
|
||||||
"openbsd"
|
|
||||||
],
|
|
||||||
"engines": {
|
|
||||||
"node": ">=18"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"node_modules/@esbuild/openbsd-x64": {
|
|
||||||
"version": "0.28.0",
|
|
||||||
"resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.28.0.tgz",
|
|
||||||
"integrity": "sha512-8wZM2qqtv9UP3mzy7HiGYNH/zjTA355mpeuA+859TyR+e+Tc08IHYpLJuMsfpDJwoLo1ikIJI8jC3GFjnRClzA==",
|
|
||||||
"cpu": [
|
|
||||||
"x64"
|
|
||||||
],
|
|
||||||
"dev": true,
|
|
||||||
"license": "MIT",
|
|
||||||
"optional": true,
|
|
||||||
"os": [
|
|
||||||
"openbsd"
|
|
||||||
],
|
|
||||||
"engines": {
|
|
||||||
"node": ">=18"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"node_modules/@esbuild/openharmony-arm64": {
|
|
||||||
"version": "0.28.0",
|
|
||||||
"resolved": "https://registry.npmjs.org/@esbuild/openharmony-arm64/-/openharmony-arm64-0.28.0.tgz",
|
|
||||||
"integrity": "sha512-FLGfyizszcef5C3YtoyQDACyg95+dndv79i2EekILBofh5wpCa1KuBqOWKrEHZg3zrL3t5ouE5jgr94vA+Wb2w==",
|
|
||||||
"cpu": [
|
|
||||||
"arm64"
|
|
||||||
],
|
|
||||||
"dev": true,
|
|
||||||
"license": "MIT",
|
|
||||||
"optional": true,
|
|
||||||
"os": [
|
|
||||||
"openharmony"
|
|
||||||
],
|
|
||||||
"engines": {
|
|
||||||
"node": ">=18"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"node_modules/@esbuild/sunos-x64": {
|
|
||||||
"version": "0.28.0",
|
|
||||||
"resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.28.0.tgz",
|
|
||||||
"integrity": "sha512-1ZgjUoEdHZZl/YlV76TSCz9Hqj9h9YmMGAgAPYd+q4SicWNX3G5GCyx9uhQWSLcbvPW8Ni7lj4gDa1T40akdlw==",
|
|
||||||
"cpu": [
|
|
||||||
"x64"
|
|
||||||
],
|
|
||||||
"dev": true,
|
|
||||||
"license": "MIT",
|
|
||||||
"optional": true,
|
|
||||||
"os": [
|
|
||||||
"sunos"
|
|
||||||
],
|
|
||||||
"engines": {
|
|
||||||
"node": ">=18"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"node_modules/@esbuild/win32-arm64": {
|
|
||||||
"version": "0.28.0",
|
|
||||||
"resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.28.0.tgz",
|
|
||||||
"integrity": "sha512-Q9StnDmQ/enxnpxCCLSg0oo4+34B9TdXpuyPeTedN/6+iXBJ4J+zwfQI28u/Jl40nOYAxGoNi7mFP40RUtkmUA==",
|
|
||||||
"cpu": [
|
|
||||||
"arm64"
|
|
||||||
],
|
|
||||||
"dev": true,
|
|
||||||
"license": "MIT",
|
|
||||||
"optional": true,
|
|
||||||
"os": [
|
|
||||||
"win32"
|
|
||||||
],
|
|
||||||
"engines": {
|
|
||||||
"node": ">=18"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"node_modules/@esbuild/win32-ia32": {
|
|
||||||
"version": "0.28.0",
|
|
||||||
"resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.28.0.tgz",
|
|
||||||
"integrity": "sha512-zF3ag/gfiCe6U2iczcRzSYJKH1DCI+ByzSENHlM2FcDbEeo5Zd2C86Aq0tKUYAJJ1obRP84ymxIAksZUcdztHA==",
|
|
||||||
"cpu": [
|
|
||||||
"ia32"
|
|
||||||
],
|
|
||||||
"dev": true,
|
|
||||||
"license": "MIT",
|
|
||||||
"optional": true,
|
|
||||||
"os": [
|
|
||||||
"win32"
|
|
||||||
],
|
|
||||||
"engines": {
|
|
||||||
"node": ">=18"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"node_modules/@esbuild/win32-x64": {
|
|
||||||
"version": "0.28.0",
|
|
||||||
"resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.28.0.tgz",
|
|
||||||
"integrity": "sha512-pEl1bO9mfAmIC+tW5btTmrKaujg3zGtUmWNdCw/xs70FBjwAL3o9OEKNHvNmnyylD6ubxUERiEhdsL0xBQ9efw==",
|
|
||||||
"cpu": [
|
|
||||||
"x64"
|
|
||||||
],
|
|
||||||
"dev": true,
|
|
||||||
"license": "MIT",
|
|
||||||
"optional": true,
|
|
||||||
"os": [
|
|
||||||
"win32"
|
|
||||||
],
|
|
||||||
"engines": {
|
|
||||||
"node": ">=18"
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@isaacs/cliui": {
|
"node_modules/@isaacs/cliui": {
|
||||||
@@ -1499,6 +1119,7 @@
|
|||||||
"resolved": "https://registry.npmjs.org/@isaacs/cliui/-/cliui-8.0.2.tgz",
|
"resolved": "https://registry.npmjs.org/@isaacs/cliui/-/cliui-8.0.2.tgz",
|
||||||
"integrity": "sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==",
|
"integrity": "sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
|
"license": "ISC",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"string-width": "^5.1.2",
|
"string-width": "^5.1.2",
|
||||||
"string-width-cjs": "npm:string-width@^4.2.0",
|
"string-width-cjs": "npm:string-width@^4.2.0",
|
||||||
@@ -1562,16 +1183,17 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@jest/console": {
|
"node_modules/@jest/console": {
|
||||||
"version": "30.4.1",
|
"version": "30.2.0",
|
||||||
"resolved": "https://registry.npmjs.org/@jest/console/-/console-30.4.1.tgz",
|
"resolved": "https://registry.npmjs.org/@jest/console/-/console-30.2.0.tgz",
|
||||||
"integrity": "sha512-v3bhyxUh9Hgmo5p6hAOXe14/R3ZxZDOsvHleh4B07z3m/x4/ngPUXEm9XwK4sF4u+f+P2ORb0Ge+MgpaqRMVDA==",
|
"integrity": "sha512-+O1ifRjkvYIkBqASKWgLxrpEhQAAE7hY77ALLUufSk5717KfOShg6IbqLmdsLMPdUiFvA2kTs0R7YZy+l0IzZQ==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@jest/types": "30.4.1",
|
"@jest/types": "30.2.0",
|
||||||
"@types/node": "*",
|
"@types/node": "*",
|
||||||
"chalk": "^4.1.2",
|
"chalk": "^4.1.2",
|
||||||
"jest-message-util": "30.4.1",
|
"jest-message-util": "30.2.0",
|
||||||
"jest-util": "30.4.1",
|
"jest-util": "30.2.0",
|
||||||
"slash": "^3.0.0"
|
"slash": "^3.0.0"
|
||||||
},
|
},
|
||||||
"engines": {
|
"engines": {
|
||||||
@@ -1579,38 +1201,39 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@jest/core": {
|
"node_modules/@jest/core": {
|
||||||
"version": "30.4.2",
|
"version": "30.2.0",
|
||||||
"resolved": "https://registry.npmjs.org/@jest/core/-/core-30.4.2.tgz",
|
"resolved": "https://registry.npmjs.org/@jest/core/-/core-30.2.0.tgz",
|
||||||
"integrity": "sha512-TZJA6cPJUFxoWhxaLo8t0VX/MZX2wPWr0uIDvLSHIvN4gu9h02vSzqI2kBADG1ExqQlC+cY09xKMSreivvrChQ==",
|
"integrity": "sha512-03W6IhuhjqTlpzh/ojut/pDB2LPRygyWX8ExpgHtQA8H/3K7+1vKmcINx5UzeOX1se6YEsBsOHQ1CRzf3fOwTQ==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@jest/console": "30.4.1",
|
"@jest/console": "30.2.0",
|
||||||
"@jest/pattern": "30.4.0",
|
"@jest/pattern": "30.0.1",
|
||||||
"@jest/reporters": "30.4.1",
|
"@jest/reporters": "30.2.0",
|
||||||
"@jest/test-result": "30.4.1",
|
"@jest/test-result": "30.2.0",
|
||||||
"@jest/transform": "30.4.1",
|
"@jest/transform": "30.2.0",
|
||||||
"@jest/types": "30.4.1",
|
"@jest/types": "30.2.0",
|
||||||
"@types/node": "*",
|
"@types/node": "*",
|
||||||
"ansi-escapes": "^4.3.2",
|
"ansi-escapes": "^4.3.2",
|
||||||
"chalk": "^4.1.2",
|
"chalk": "^4.1.2",
|
||||||
"ci-info": "^4.2.0",
|
"ci-info": "^4.2.0",
|
||||||
"exit-x": "^0.2.2",
|
"exit-x": "^0.2.2",
|
||||||
"fast-json-stable-stringify": "^2.1.0",
|
|
||||||
"graceful-fs": "^4.2.11",
|
"graceful-fs": "^4.2.11",
|
||||||
"jest-changed-files": "30.4.1",
|
"jest-changed-files": "30.2.0",
|
||||||
"jest-config": "30.4.2",
|
"jest-config": "30.2.0",
|
||||||
"jest-haste-map": "30.4.1",
|
"jest-haste-map": "30.2.0",
|
||||||
"jest-message-util": "30.4.1",
|
"jest-message-util": "30.2.0",
|
||||||
"jest-regex-util": "30.4.0",
|
"jest-regex-util": "30.0.1",
|
||||||
"jest-resolve": "30.4.1",
|
"jest-resolve": "30.2.0",
|
||||||
"jest-resolve-dependencies": "30.4.2",
|
"jest-resolve-dependencies": "30.2.0",
|
||||||
"jest-runner": "30.4.2",
|
"jest-runner": "30.2.0",
|
||||||
"jest-runtime": "30.4.2",
|
"jest-runtime": "30.2.0",
|
||||||
"jest-snapshot": "30.4.1",
|
"jest-snapshot": "30.2.0",
|
||||||
"jest-util": "30.4.1",
|
"jest-util": "30.2.0",
|
||||||
"jest-validate": "30.4.1",
|
"jest-validate": "30.2.0",
|
||||||
"jest-watcher": "30.4.1",
|
"jest-watcher": "30.2.0",
|
||||||
"pretty-format": "30.4.1",
|
"micromatch": "^4.0.8",
|
||||||
|
"pretty-format": "30.2.0",
|
||||||
"slash": "^3.0.0"
|
"slash": "^3.0.0"
|
||||||
},
|
},
|
||||||
"engines": {
|
"engines": {
|
||||||
@@ -1626,47 +1249,51 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@jest/diff-sequences": {
|
"node_modules/@jest/diff-sequences": {
|
||||||
"version": "30.4.0",
|
"version": "30.0.1",
|
||||||
"resolved": "https://registry.npmjs.org/@jest/diff-sequences/-/diff-sequences-30.4.0.tgz",
|
"resolved": "https://registry.npmjs.org/@jest/diff-sequences/-/diff-sequences-30.0.1.tgz",
|
||||||
"integrity": "sha512-zOpzlfUs45l6u7jm39qr87JCHUDsaeCtvL+kQe/Vn9jSnRB4/5IPXISm0h9I1vZW/o00Kn4UTJ2MOlhnUGwv3g==",
|
"integrity": "sha512-n5H8QLDJ47QqbCNn5SuFjCRDrOLEZ0h8vAHCK5RL9Ls7Xa8AQLa/YxAc9UjFqoEDM48muwtBGjtMY5cr0PLDCw==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
|
"license": "MIT",
|
||||||
"engines": {
|
"engines": {
|
||||||
"node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0"
|
"node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@jest/environment": {
|
"node_modules/@jest/environment": {
|
||||||
"version": "30.4.1",
|
"version": "30.2.0",
|
||||||
"resolved": "https://registry.npmjs.org/@jest/environment/-/environment-30.4.1.tgz",
|
"resolved": "https://registry.npmjs.org/@jest/environment/-/environment-30.2.0.tgz",
|
||||||
"integrity": "sha512-AK9yNRqgKxiabqMoe4oW+3/TSSeV8vkdC7BGaxZdU0AFXfOpofTLqdru2GXKZghP3sdgwE9XXpnVwfZ8JnFV4w==",
|
"integrity": "sha512-/QPTL7OBJQ5ac09UDRa3EQes4gt1FTEG/8jZ/4v5IVzx+Cv7dLxlVIvfvSVRiiX2drWyXeBjkMSR8hvOWSog5g==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@jest/fake-timers": "30.4.1",
|
"@jest/fake-timers": "30.2.0",
|
||||||
"@jest/types": "30.4.1",
|
"@jest/types": "30.2.0",
|
||||||
"@types/node": "*",
|
"@types/node": "*",
|
||||||
"jest-mock": "30.4.1"
|
"jest-mock": "30.2.0"
|
||||||
},
|
},
|
||||||
"engines": {
|
"engines": {
|
||||||
"node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0"
|
"node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@jest/expect": {
|
"node_modules/@jest/expect": {
|
||||||
"version": "30.4.1",
|
"version": "30.2.0",
|
||||||
"resolved": "https://registry.npmjs.org/@jest/expect/-/expect-30.4.1.tgz",
|
"resolved": "https://registry.npmjs.org/@jest/expect/-/expect-30.2.0.tgz",
|
||||||
"integrity": "sha512-ginrj6TMgh2GshLUGCjO94Ptx9HhdZA/I6A9iUfyeLKFtdAjnKzHDgzgP9HYQgbxM1lbXScQ2eUBz2lGeVDPWA==",
|
"integrity": "sha512-V9yxQK5erfzx99Sf+7LbhBwNWEZ9eZay8qQ9+JSC0TrMR1pMDHLMY+BnVPacWU6Jamrh252/IKo4F1Xn/zfiqA==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"expect": "30.4.1",
|
"expect": "30.2.0",
|
||||||
"jest-snapshot": "30.4.1"
|
"jest-snapshot": "30.2.0"
|
||||||
},
|
},
|
||||||
"engines": {
|
"engines": {
|
||||||
"node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0"
|
"node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@jest/expect-utils": {
|
"node_modules/@jest/expect-utils": {
|
||||||
"version": "30.4.1",
|
"version": "30.2.0",
|
||||||
"resolved": "https://registry.npmjs.org/@jest/expect-utils/-/expect-utils-30.4.1.tgz",
|
"resolved": "https://registry.npmjs.org/@jest/expect-utils/-/expect-utils-30.2.0.tgz",
|
||||||
"integrity": "sha512-ZBn5CglH8fBsQsvs4VWNzD4aWfUYks+IdOOQU3MEK71ol/BcVm+P+rtb1KpiFBpSWSCE27uOahyyf1vfqOVbcQ==",
|
"integrity": "sha512-1JnRfhqpD8HGpOmQp180Fo9Zt69zNtC+9lR+kT7NVL05tNXIi+QC8Csz7lfidMoVLPD3FnOtcmp0CEFnxExGEA==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@jest/get-type": "30.1.0"
|
"@jest/get-type": "30.1.0"
|
||||||
},
|
},
|
||||||
@@ -1675,17 +1302,18 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@jest/fake-timers": {
|
"node_modules/@jest/fake-timers": {
|
||||||
"version": "30.4.1",
|
"version": "30.2.0",
|
||||||
"resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-30.4.1.tgz",
|
"resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-30.2.0.tgz",
|
||||||
"integrity": "sha512-iW5umdmfPeWzehrVhugFQZqCchSCud5S1l2YT0O9ZhjRR0ExclANDZkiSBwzqtnlOn0J1JXvO+HZ6rkuyOVOgQ==",
|
"integrity": "sha512-HI3tRLjRxAbBy0VO8dqqm7Hb2mIa8d5bg/NJkyQcOk7V118ObQML8RC5luTF/Zsg4474a+gDvhce7eTnP4GhYw==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@jest/types": "30.4.1",
|
"@jest/types": "30.2.0",
|
||||||
"@sinonjs/fake-timers": "^15.4.0",
|
"@sinonjs/fake-timers": "^13.0.0",
|
||||||
"@types/node": "*",
|
"@types/node": "*",
|
||||||
"jest-message-util": "30.4.1",
|
"jest-message-util": "30.2.0",
|
||||||
"jest-mock": "30.4.1",
|
"jest-mock": "30.2.0",
|
||||||
"jest-util": "30.4.1"
|
"jest-util": "30.2.0"
|
||||||
},
|
},
|
||||||
"engines": {
|
"engines": {
|
||||||
"node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0"
|
"node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0"
|
||||||
@@ -1696,64 +1324,68 @@
|
|||||||
"resolved": "https://registry.npmjs.org/@jest/get-type/-/get-type-30.1.0.tgz",
|
"resolved": "https://registry.npmjs.org/@jest/get-type/-/get-type-30.1.0.tgz",
|
||||||
"integrity": "sha512-eMbZE2hUnx1WV0pmURZY9XoXPkUYjpc55mb0CrhtdWLtzMQPFvu/rZkTLZFTsdaVQa+Tr4eWAteqcUzoawq/uA==",
|
"integrity": "sha512-eMbZE2hUnx1WV0pmURZY9XoXPkUYjpc55mb0CrhtdWLtzMQPFvu/rZkTLZFTsdaVQa+Tr4eWAteqcUzoawq/uA==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
|
"license": "MIT",
|
||||||
"engines": {
|
"engines": {
|
||||||
"node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0"
|
"node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@jest/globals": {
|
"node_modules/@jest/globals": {
|
||||||
"version": "30.4.1",
|
"version": "30.2.0",
|
||||||
"resolved": "https://registry.npmjs.org/@jest/globals/-/globals-30.4.1.tgz",
|
"resolved": "https://registry.npmjs.org/@jest/globals/-/globals-30.2.0.tgz",
|
||||||
"integrity": "sha512-ZbuY4cmXC8DkxYjfvT2DbcHWL2T6vmsMhXCDcmTB2T0y0gaezBI77ufq5ZAIdcRkYZ7NEQEDg1xFeKbxUJ5v5Q==",
|
"integrity": "sha512-b63wmnKPaK+6ZZfpYhz9K61oybvbI1aMcIs80++JI1O1rR1vaxHUCNqo3ITu6NU0d4V34yZFoHMn/uoKr/Rwfw==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@jest/environment": "30.4.1",
|
"@jest/environment": "30.2.0",
|
||||||
"@jest/expect": "30.4.1",
|
"@jest/expect": "30.2.0",
|
||||||
"@jest/types": "30.4.1",
|
"@jest/types": "30.2.0",
|
||||||
"jest-mock": "30.4.1"
|
"jest-mock": "30.2.0"
|
||||||
},
|
},
|
||||||
"engines": {
|
"engines": {
|
||||||
"node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0"
|
"node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@jest/pattern": {
|
"node_modules/@jest/pattern": {
|
||||||
"version": "30.4.0",
|
"version": "30.0.1",
|
||||||
"resolved": "https://registry.npmjs.org/@jest/pattern/-/pattern-30.4.0.tgz",
|
"resolved": "https://registry.npmjs.org/@jest/pattern/-/pattern-30.0.1.tgz",
|
||||||
"integrity": "sha512-RAWn3+f9u8BsHijKJ71uHcFp6vmyEt6VvoWXkl6hKF3qVIuWNmudVjg12DlBPGup/frIl5UcUlH5HfEuvHpEXg==",
|
"integrity": "sha512-gWp7NfQW27LaBQz3TITS8L7ZCQ0TLvtmI//4OwlQRx4rnWxcPNIYjxZpDcN4+UlGxgm3jS5QPz8IPTCkb59wZA==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@types/node": "*",
|
"@types/node": "*",
|
||||||
"jest-regex-util": "30.4.0"
|
"jest-regex-util": "30.0.1"
|
||||||
},
|
},
|
||||||
"engines": {
|
"engines": {
|
||||||
"node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0"
|
"node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@jest/reporters": {
|
"node_modules/@jest/reporters": {
|
||||||
"version": "30.4.1",
|
"version": "30.2.0",
|
||||||
"resolved": "https://registry.npmjs.org/@jest/reporters/-/reporters-30.4.1.tgz",
|
"resolved": "https://registry.npmjs.org/@jest/reporters/-/reporters-30.2.0.tgz",
|
||||||
"integrity": "sha512-/SnkPCzEQpUaBH81kjdEdDdo2WZl5hxw+BmLDGWjRkm8o7XlhjwsU36cqwe5PGBE5WYpBvDzRSdXx9rbGuJtNA==",
|
"integrity": "sha512-DRyW6baWPqKMa9CzeiBjHwjd8XeAyco2Vt8XbcLFjiwCOEKOvy82GJ8QQnJE9ofsxCMPjH4MfH8fCWIHHDKpAQ==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@bcoe/v8-coverage": "^0.2.3",
|
"@bcoe/v8-coverage": "^0.2.3",
|
||||||
"@jest/console": "30.4.1",
|
"@jest/console": "30.2.0",
|
||||||
"@jest/test-result": "30.4.1",
|
"@jest/test-result": "30.2.0",
|
||||||
"@jest/transform": "30.4.1",
|
"@jest/transform": "30.2.0",
|
||||||
"@jest/types": "30.4.1",
|
"@jest/types": "30.2.0",
|
||||||
"@jridgewell/trace-mapping": "^0.3.25",
|
"@jridgewell/trace-mapping": "^0.3.25",
|
||||||
"@types/node": "*",
|
"@types/node": "*",
|
||||||
"chalk": "^4.1.2",
|
"chalk": "^4.1.2",
|
||||||
"collect-v8-coverage": "^1.0.2",
|
"collect-v8-coverage": "^1.0.2",
|
||||||
"exit-x": "^0.2.2",
|
"exit-x": "^0.2.2",
|
||||||
"glob": "^10.5.0",
|
"glob": "^10.3.10",
|
||||||
"graceful-fs": "^4.2.11",
|
"graceful-fs": "^4.2.11",
|
||||||
"istanbul-lib-coverage": "^3.0.0",
|
"istanbul-lib-coverage": "^3.0.0",
|
||||||
"istanbul-lib-instrument": "^6.0.0",
|
"istanbul-lib-instrument": "^6.0.0",
|
||||||
"istanbul-lib-report": "^3.0.0",
|
"istanbul-lib-report": "^3.0.0",
|
||||||
"istanbul-lib-source-maps": "^5.0.0",
|
"istanbul-lib-source-maps": "^5.0.0",
|
||||||
"istanbul-reports": "^3.1.3",
|
"istanbul-reports": "^3.1.3",
|
||||||
"jest-message-util": "30.4.1",
|
"jest-message-util": "30.2.0",
|
||||||
"jest-util": "30.4.1",
|
"jest-util": "30.2.0",
|
||||||
"jest-worker": "30.4.1",
|
"jest-worker": "30.2.0",
|
||||||
"slash": "^3.0.0",
|
"slash": "^3.0.0",
|
||||||
"string-length": "^4.0.2",
|
"string-length": "^4.0.2",
|
||||||
"v8-to-istanbul": "^9.0.1"
|
"v8-to-istanbul": "^9.0.1"
|
||||||
@@ -1771,10 +1403,11 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@jest/schemas": {
|
"node_modules/@jest/schemas": {
|
||||||
"version": "30.4.1",
|
"version": "30.0.5",
|
||||||
"resolved": "https://registry.npmjs.org/@jest/schemas/-/schemas-30.4.1.tgz",
|
"resolved": "https://registry.npmjs.org/@jest/schemas/-/schemas-30.0.5.tgz",
|
||||||
"integrity": "sha512-i6b4qw5qnP8c5FEeBJg/uZQ4ddrkN6Ca8qISJh0pr7a5hfn3h3v5x60BEbOC7OYAGZNMs1LfFLwnW2CuK8F57Q==",
|
"integrity": "sha512-DmdYgtezMkh3cpU8/1uyXakv3tJRcmcXxBOcO0tbaozPwpmh4YMsnWrQm9ZmZMfa5ocbxzbFk6O4bDPEc/iAnA==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@sinclair/typebox": "^0.34.0"
|
"@sinclair/typebox": "^0.34.0"
|
||||||
},
|
},
|
||||||
@@ -1783,12 +1416,13 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@jest/snapshot-utils": {
|
"node_modules/@jest/snapshot-utils": {
|
||||||
"version": "30.4.1",
|
"version": "30.2.0",
|
||||||
"resolved": "https://registry.npmjs.org/@jest/snapshot-utils/-/snapshot-utils-30.4.1.tgz",
|
"resolved": "https://registry.npmjs.org/@jest/snapshot-utils/-/snapshot-utils-30.2.0.tgz",
|
||||||
"integrity": "sha512-ObY4ljvQ95mt6iwKtVLetR/4yXiAgl3H4nJxhztr0MTjrN97TwDYrnCp/kF60Ec9HdhkWTHSu+Hg05aXfngpOA==",
|
"integrity": "sha512-0aVxM3RH6DaiLcjj/b0KrIBZhSX1373Xci4l3cW5xiUWPctZ59zQ7jj4rqcJQ/Z8JuN/4wX3FpJSa3RssVvCug==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@jest/types": "30.4.1",
|
"@jest/types": "30.2.0",
|
||||||
"chalk": "^4.1.2",
|
"chalk": "^4.1.2",
|
||||||
"graceful-fs": "^4.2.11",
|
"graceful-fs": "^4.2.11",
|
||||||
"natural-compare": "^1.4.0"
|
"natural-compare": "^1.4.0"
|
||||||
@@ -1802,6 +1436,7 @@
|
|||||||
"resolved": "https://registry.npmjs.org/@jest/source-map/-/source-map-30.0.1.tgz",
|
"resolved": "https://registry.npmjs.org/@jest/source-map/-/source-map-30.0.1.tgz",
|
||||||
"integrity": "sha512-MIRWMUUR3sdbP36oyNyhbThLHyJ2eEDClPCiHVbrYAe5g3CHRArIVpBw7cdSB5fr+ofSfIb2Tnsw8iEHL0PYQg==",
|
"integrity": "sha512-MIRWMUUR3sdbP36oyNyhbThLHyJ2eEDClPCiHVbrYAe5g3CHRArIVpBw7cdSB5fr+ofSfIb2Tnsw8iEHL0PYQg==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@jridgewell/trace-mapping": "^0.3.25",
|
"@jridgewell/trace-mapping": "^0.3.25",
|
||||||
"callsites": "^3.1.0",
|
"callsites": "^3.1.0",
|
||||||
@@ -1812,13 +1447,14 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@jest/test-result": {
|
"node_modules/@jest/test-result": {
|
||||||
"version": "30.4.1",
|
"version": "30.2.0",
|
||||||
"resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-30.4.1.tgz",
|
"resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-30.2.0.tgz",
|
||||||
"integrity": "sha512-/ZG7pgEiOmmWkN9TplKbOu4id2N5lh7FHwRwlkgBVAzGdRH+OkkQ8wX/kIxg4zmd3ZQvAL1RwL2yWsvNYYECTw==",
|
"integrity": "sha512-RF+Z+0CCHkARz5HT9mcQCBulb1wgCP3FBvl9VFokMX27acKphwyQsNuWH3c+ojd1LeWBLoTYoxF0zm6S/66mjg==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@jest/console": "30.4.1",
|
"@jest/console": "30.2.0",
|
||||||
"@jest/types": "30.4.1",
|
"@jest/types": "30.2.0",
|
||||||
"@types/istanbul-lib-coverage": "^2.0.6",
|
"@types/istanbul-lib-coverage": "^2.0.6",
|
||||||
"collect-v8-coverage": "^1.0.2"
|
"collect-v8-coverage": "^1.0.2"
|
||||||
},
|
},
|
||||||
@@ -1827,14 +1463,15 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@jest/test-sequencer": {
|
"node_modules/@jest/test-sequencer": {
|
||||||
"version": "30.4.1",
|
"version": "30.2.0",
|
||||||
"resolved": "https://registry.npmjs.org/@jest/test-sequencer/-/test-sequencer-30.4.1.tgz",
|
"resolved": "https://registry.npmjs.org/@jest/test-sequencer/-/test-sequencer-30.2.0.tgz",
|
||||||
"integrity": "sha512-PeYE+4td5rKjoRPxztObrXU+H8hsjZfxKMXOcmrr34JerSyB/ROOxbbicz8B7A5j9R9VayDnVPvBmedqCsFCdw==",
|
"integrity": "sha512-wXKgU/lk8fKXMu/l5Hog1R61bL4q5GCdT6OJvdAFz1P+QrpoFuLU68eoKuVc4RbrTtNnTL5FByhWdLgOPSph+Q==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@jest/test-result": "30.4.1",
|
"@jest/test-result": "30.2.0",
|
||||||
"graceful-fs": "^4.2.11",
|
"graceful-fs": "^4.2.11",
|
||||||
"jest-haste-map": "30.4.1",
|
"jest-haste-map": "30.2.0",
|
||||||
"slash": "^3.0.0"
|
"slash": "^3.0.0"
|
||||||
},
|
},
|
||||||
"engines": {
|
"engines": {
|
||||||
@@ -1842,22 +1479,24 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@jest/transform": {
|
"node_modules/@jest/transform": {
|
||||||
"version": "30.4.1",
|
"version": "30.2.0",
|
||||||
"resolved": "https://registry.npmjs.org/@jest/transform/-/transform-30.4.1.tgz",
|
"resolved": "https://registry.npmjs.org/@jest/transform/-/transform-30.2.0.tgz",
|
||||||
"integrity": "sha512-Wz0LyktlTvRefoymh+n64hQ84KNXsRGcwdoZ8CSa0Ea+fgYcHZlnk+hDP7v2MS7il2bQ5uTEIxf4/NNfhMN4KQ==",
|
"integrity": "sha512-XsauDV82o5qXbhalKxD7p4TZYYdwcaEXC77PPD2HixEFF+6YGppjrAAQurTl2ECWcEomHBMMNS9AH3kcCFx8jA==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@babel/core": "^7.27.4",
|
"@babel/core": "^7.27.4",
|
||||||
"@jest/types": "30.4.1",
|
"@jest/types": "30.2.0",
|
||||||
"@jridgewell/trace-mapping": "^0.3.25",
|
"@jridgewell/trace-mapping": "^0.3.25",
|
||||||
"babel-plugin-istanbul": "^7.0.1",
|
"babel-plugin-istanbul": "^7.0.1",
|
||||||
"chalk": "^4.1.2",
|
"chalk": "^4.1.2",
|
||||||
"convert-source-map": "^2.0.0",
|
"convert-source-map": "^2.0.0",
|
||||||
"fast-json-stable-stringify": "^2.1.0",
|
"fast-json-stable-stringify": "^2.1.0",
|
||||||
"graceful-fs": "^4.2.11",
|
"graceful-fs": "^4.2.11",
|
||||||
"jest-haste-map": "30.4.1",
|
"jest-haste-map": "30.2.0",
|
||||||
"jest-regex-util": "30.4.0",
|
"jest-regex-util": "30.0.1",
|
||||||
"jest-util": "30.4.1",
|
"jest-util": "30.2.0",
|
||||||
|
"micromatch": "^4.0.8",
|
||||||
"pirates": "^4.0.7",
|
"pirates": "^4.0.7",
|
||||||
"slash": "^3.0.0",
|
"slash": "^3.0.0",
|
||||||
"write-file-atomic": "^5.0.1"
|
"write-file-atomic": "^5.0.1"
|
||||||
@@ -1867,13 +1506,14 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@jest/types": {
|
"node_modules/@jest/types": {
|
||||||
"version": "30.4.1",
|
"version": "30.2.0",
|
||||||
"resolved": "https://registry.npmjs.org/@jest/types/-/types-30.4.1.tgz",
|
"resolved": "https://registry.npmjs.org/@jest/types/-/types-30.2.0.tgz",
|
||||||
"integrity": "sha512-f1x/vJXIfjOlEmejYpbkbgw1gOqpPECwMvMEtBqe47j7H2Hg8h8w3o3ikhSXq3MI15kg+oQ0exWO0uCtTNJLoQ==",
|
"integrity": "sha512-H9xg1/sfVvyfU7o3zMfBEjQ1gcsdeTMgqHoYdN79tuLqfTtuu7WckRA1R5whDwOzxaZAeMKTYWqP+WCAi0CHsg==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@jest/pattern": "30.4.0",
|
"@jest/pattern": "30.0.1",
|
||||||
"@jest/schemas": "30.4.1",
|
"@jest/schemas": "30.0.5",
|
||||||
"@types/istanbul-lib-coverage": "^2.0.6",
|
"@types/istanbul-lib-coverage": "^2.0.6",
|
||||||
"@types/istanbul-reports": "^3.0.4",
|
"@types/istanbul-reports": "^3.0.4",
|
||||||
"@types/node": "*",
|
"@types/node": "*",
|
||||||
@@ -1934,21 +1574,24 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@napi-rs/wasm-runtime": {
|
"node_modules/@napi-rs/wasm-runtime": {
|
||||||
"version": "1.1.4",
|
"version": "0.2.12",
|
||||||
"resolved": "https://registry.npmjs.org/@napi-rs/wasm-runtime/-/wasm-runtime-1.1.4.tgz",
|
"resolved": "https://registry.npmjs.org/@napi-rs/wasm-runtime/-/wasm-runtime-0.2.12.tgz",
|
||||||
"integrity": "sha512-3NQNNgA1YSlJb/kMH1ildASP9HW7/7kYnRI2szWJaofaS1hWmbGI4H+d3+22aGzXXN9IJ+n+GiFVcGipJP18ow==",
|
"integrity": "sha512-ZVWUcfwY4E/yPitQJl481FjFo3K22D6qF0DuFH6Y/nbnE11GY5uguDxZMGXPQ8WQ0128MXQD7TnfHyK4oWoIJQ==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
|
"license": "MIT",
|
||||||
"optional": true,
|
"optional": true,
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@tybys/wasm-util": "^0.10.1"
|
"@emnapi/core": "^1.4.3",
|
||||||
|
"@emnapi/runtime": "^1.4.3",
|
||||||
|
"@tybys/wasm-util": "^0.10.0"
|
||||||
|
}
|
||||||
},
|
},
|
||||||
"funding": {
|
"node_modules/@opentelemetry/api": {
|
||||||
"type": "github",
|
"version": "1.4.1",
|
||||||
"url": "https://github.com/sponsors/Brooooooklyn"
|
"resolved": "https://registry.npmjs.org/@opentelemetry/api/-/api-1.4.1.tgz",
|
||||||
},
|
"integrity": "sha512-O2yRJce1GOc6PAy3QxFM4NzFiWzvScDC1/5ihYBL6BUEVdq0XMWN01sppE+H6bBXbaFYipjwFLEWLg5PaSOThA==",
|
||||||
"peerDependencies": {
|
"engines": {
|
||||||
"@emnapi/core": "^1.7.1",
|
"node": ">=8.0.0"
|
||||||
"@emnapi/runtime": "^1.7.1"
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@pkgjs/parseargs": {
|
"node_modules/@pkgjs/parseargs": {
|
||||||
@@ -1956,18 +1599,20 @@
|
|||||||
"resolved": "https://registry.npmjs.org/@pkgjs/parseargs/-/parseargs-0.11.0.tgz",
|
"resolved": "https://registry.npmjs.org/@pkgjs/parseargs/-/parseargs-0.11.0.tgz",
|
||||||
"integrity": "sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==",
|
"integrity": "sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
|
"license": "MIT",
|
||||||
"optional": true,
|
"optional": true,
|
||||||
"engines": {
|
"engines": {
|
||||||
"node": ">=14"
|
"node": ">=14"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@pkgr/core": {
|
"node_modules/@pkgr/core": {
|
||||||
"version": "0.3.6",
|
"version": "0.2.9",
|
||||||
"resolved": "https://registry.npmjs.org/@pkgr/core/-/core-0.3.6.tgz",
|
"resolved": "https://registry.npmjs.org/@pkgr/core/-/core-0.2.9.tgz",
|
||||||
"integrity": "sha512-SEeaJLb3qBNF/OaXnaR1NmmBbFYk1zC0ZH/52fATcRPLFg/p791YrcyFFy44Bo9sLaGuSuLp5Q6axbb/O+v/RA==",
|
"integrity": "sha512-QNqXyfVS2wm9hweSYD2O7F0G06uurj9kZ96TRQE5Y9hU7+tgdZwIkbAKc5Ocy1HxEY2kuDQa6cQ1WRs/O5LFKA==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
|
"license": "MIT",
|
||||||
"engines": {
|
"engines": {
|
||||||
"node": "^14.18.0 || >=16.0.0"
|
"node": "^12.20.0 || ^14.18.0 || >=16.0.0"
|
||||||
},
|
},
|
||||||
"funding": {
|
"funding": {
|
||||||
"url": "https://opencollective.com/pkgr"
|
"url": "https://opencollective.com/pkgr"
|
||||||
@@ -1989,54 +1634,66 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@renovatebot/pep440": {
|
"node_modules/@renovatebot/pep440": {
|
||||||
"version": "4.2.2",
|
"version": "4.2.1",
|
||||||
"resolved": "https://registry.npmjs.org/@renovatebot/pep440/-/pep440-4.2.2.tgz",
|
"resolved": "https://registry.npmjs.org/@renovatebot/pep440/-/pep440-4.2.1.tgz",
|
||||||
"integrity": "sha512-dSbrkSS9/NfNwhOgQ0rpKA9KNiKSFhgK707Wi+oX8SZLqvu8dvsVuzORbKOYq5eX4nSiwrHApWisecw0cZhjVQ==",
|
"integrity": "sha512-2FK1hF93Fuf1laSdfiEmJvSJPVIDHEUTz68D3Fi9s0IZrrpaEcj6pTFBTbYvsgC5du4ogrtf5re7yMMvrKNgkw==",
|
||||||
"license": "Apache-2.0",
|
|
||||||
"engines": {
|
"engines": {
|
||||||
"node": "^20.9.0 || ^22.11.0 || ^24",
|
"node": "^20.9.0 || ^22.11.0 || ^24",
|
||||||
"pnpm": "^10.0.0"
|
"pnpm": "^10.0.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@sinclair/typebox": {
|
"node_modules/@sinclair/typebox": {
|
||||||
"version": "0.34.49",
|
"version": "0.34.38",
|
||||||
"resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.34.49.tgz",
|
"resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.34.38.tgz",
|
||||||
"integrity": "sha512-brySQQs7Jtn0joV8Xh9ZV/hZb9Ozb0pmazDIASBkYKCjXrXU3mpcFahmK/z4YDhGkQvP9mWJbVyahdtU5wQA+A==",
|
"integrity": "sha512-HpkxMmc2XmZKhvaKIZZThlHmx1L0I/V1hWK1NubtlFnr6ZqdiOpV72TKudZUNQjZNsyDBay72qFEhEvb+bcwcA==",
|
||||||
"dev": true
|
"dev": true,
|
||||||
|
"license": "MIT"
|
||||||
},
|
},
|
||||||
"node_modules/@sinonjs/commons": {
|
"node_modules/@sinonjs/commons": {
|
||||||
"version": "3.0.1",
|
"version": "3.0.1",
|
||||||
"resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-3.0.1.tgz",
|
"resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-3.0.1.tgz",
|
||||||
"integrity": "sha512-K3mCHKQ9sVh8o1C9cxkwxaOmXoAMlDxC1mYyHrjqOWEcBjYr76t96zL2zlj5dUGZ3HSw240X1qgH3Mjf1yJWpQ==",
|
"integrity": "sha512-K3mCHKQ9sVh8o1C9cxkwxaOmXoAMlDxC1mYyHrjqOWEcBjYr76t96zL2zlj5dUGZ3HSw240X1qgH3Mjf1yJWpQ==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
|
"license": "BSD-3-Clause",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"type-detect": "4.0.8"
|
"type-detect": "4.0.8"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@sinonjs/fake-timers": {
|
"node_modules/@sinonjs/fake-timers": {
|
||||||
"version": "15.4.0",
|
"version": "13.0.5",
|
||||||
"resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-15.4.0.tgz",
|
"resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-13.0.5.tgz",
|
||||||
"integrity": "sha512-DsG+8/LscQIQg68J6Ef3dv10u6nVyetYn923s3/sus5eaGfTo1of5WMZSLf0UJc9KDuKPilPH0UDJCjvNbDNCA==",
|
"integrity": "sha512-36/hTbH2uaWuGVERyC6da9YwGWnzUZXuPro/F2LfsdOsLnCojz/iSH8MxUt/FD2S5XBSVPhmArFUXcpCQ2Hkiw==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
|
"license": "BSD-3-Clause",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@sinonjs/commons": "^3.0.1"
|
"@sinonjs/commons": "^3.0.1"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@tybys/wasm-util": {
|
"node_modules/@tybys/wasm-util": {
|
||||||
"version": "0.10.2",
|
"version": "0.10.1",
|
||||||
"resolved": "https://registry.npmjs.org/@tybys/wasm-util/-/wasm-util-0.10.2.tgz",
|
"resolved": "https://registry.npmjs.org/@tybys/wasm-util/-/wasm-util-0.10.1.tgz",
|
||||||
"integrity": "sha512-RoBvJ2X0wuKlWFIjrwffGw1IqZHKQqzIchKaadZZfnNpsAYp2mM0h36JtPCjNDAHGgYez/15uMBpfGwchhiMgg==",
|
"integrity": "sha512-9tTaPJLSiejZKx+Bmog4uSubteqTvFrVrURwkmHixBo0G4seD0zUxp98E1DzUBJxLQ3NPwXrGKDiVjwx/DpPsg==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
|
"license": "MIT",
|
||||||
"optional": true,
|
"optional": true,
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"tslib": "^2.4.0"
|
"tslib": "^2.4.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"node_modules/@tybys/wasm-util/node_modules/tslib": {
|
||||||
|
"version": "2.8.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz",
|
||||||
|
"integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==",
|
||||||
|
"dev": true,
|
||||||
|
"license": "0BSD",
|
||||||
|
"optional": true
|
||||||
|
},
|
||||||
"node_modules/@types/babel__core": {
|
"node_modules/@types/babel__core": {
|
||||||
"version": "7.20.5",
|
"version": "7.20.5",
|
||||||
"resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.20.5.tgz",
|
"resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.20.5.tgz",
|
||||||
"integrity": "sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA==",
|
"integrity": "sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@babel/parser": "^7.20.7",
|
"@babel/parser": "^7.20.7",
|
||||||
"@babel/types": "^7.20.7",
|
"@babel/types": "^7.20.7",
|
||||||
@@ -2050,6 +1707,7 @@
|
|||||||
"resolved": "https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.27.0.tgz",
|
"resolved": "https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.27.0.tgz",
|
||||||
"integrity": "sha512-ufFd2Xi92OAVPYsy+P4n7/U7e68fex0+Ee8gSG9KX7eo084CWiQ4sdxktvdl0bOPupXtVJPY19zk6EwWqUQ8lg==",
|
"integrity": "sha512-ufFd2Xi92OAVPYsy+P4n7/U7e68fex0+Ee8gSG9KX7eo084CWiQ4sdxktvdl0bOPupXtVJPY19zk6EwWqUQ8lg==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@babel/types": "^7.0.0"
|
"@babel/types": "^7.0.0"
|
||||||
}
|
}
|
||||||
@@ -2059,6 +1717,7 @@
|
|||||||
"resolved": "https://registry.npmjs.org/@types/babel__template/-/babel__template-7.4.4.tgz",
|
"resolved": "https://registry.npmjs.org/@types/babel__template/-/babel__template-7.4.4.tgz",
|
||||||
"integrity": "sha512-h/NUaSyG5EyxBIp8YRxo4RMe2/qQgvyowRwVMzhYhBCONbW8PUsg4lkFMrhgZhUe5z3L3MiLDuvyJ/CaPa2A8A==",
|
"integrity": "sha512-h/NUaSyG5EyxBIp8YRxo4RMe2/qQgvyowRwVMzhYhBCONbW8PUsg4lkFMrhgZhUe5z3L3MiLDuvyJ/CaPa2A8A==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@babel/parser": "^7.1.0",
|
"@babel/parser": "^7.1.0",
|
||||||
"@babel/types": "^7.0.0"
|
"@babel/types": "^7.0.0"
|
||||||
@@ -2069,6 +1728,7 @@
|
|||||||
"resolved": "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.28.0.tgz",
|
"resolved": "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.28.0.tgz",
|
||||||
"integrity": "sha512-8PvcXf70gTDZBgt9ptxJ8elBeBjcLOAcOtoO/mPJjtji1+CdGbHgm77om1GrsPxsiE+uXIpNSK64UYaIwQXd4Q==",
|
"integrity": "sha512-8PvcXf70gTDZBgt9ptxJ8elBeBjcLOAcOtoO/mPJjtji1+CdGbHgm77om1GrsPxsiE+uXIpNSK64UYaIwQXd4Q==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@babel/types": "^7.28.2"
|
"@babel/types": "^7.28.2"
|
||||||
}
|
}
|
||||||
@@ -2108,13 +1768,37 @@
|
|||||||
"license": "MIT"
|
"license": "MIT"
|
||||||
},
|
},
|
||||||
"node_modules/@types/node": {
|
"node_modules/@types/node": {
|
||||||
"version": "25.5.0",
|
"version": "24.10.1",
|
||||||
"resolved": "https://registry.npmjs.org/@types/node/-/node-25.5.0.tgz",
|
"resolved": "https://registry.npmjs.org/@types/node/-/node-24.10.1.tgz",
|
||||||
"integrity": "sha512-jp2P3tQMSxWugkCUKLRPVUpGaL5MVFwF8RDuSRztfwgN1wmqJeMSbKlnEtQqU8UrhTmzEmZdu2I6v2dpp7XIxw==",
|
"integrity": "sha512-GNWcUTRBgIRJD5zj+Tq0fKOJ5XZajIiBroOF0yvj2bSU1WvNdYS/dn9UxwsujGW4JX06dnHyjV2y9rRaybH0iQ==",
|
||||||
"dev": true,
|
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"undici-types": "~7.18.0"
|
"undici-types": "~7.16.0"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/@types/node-fetch": {
|
||||||
|
"version": "2.6.4",
|
||||||
|
"resolved": "https://registry.npmjs.org/@types/node-fetch/-/node-fetch-2.6.4.tgz",
|
||||||
|
"integrity": "sha512-1ZX9fcN4Rvkvgv4E6PAY5WXUFWFcRWxZa3EW83UjycOB9ljJCedb2CupIP4RZMEwF/M3eTcCihbBRgwtGbg5Rg==",
|
||||||
|
"dependencies": {
|
||||||
|
"@types/node": "*",
|
||||||
|
"form-data": "^3.0.0"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/@types/node-fetch/node_modules/form-data": {
|
||||||
|
"version": "3.0.4",
|
||||||
|
"resolved": "https://registry.npmjs.org/form-data/-/form-data-3.0.4.tgz",
|
||||||
|
"integrity": "sha512-f0cRzm6dkyVYV3nPoooP8XlccPQukegwhAnpoLcXy+X+A8KfpGOoXwDr9FLZd3wzgLaBGQBE3lY93Zm/i1JvIQ==",
|
||||||
|
"license": "MIT",
|
||||||
|
"dependencies": {
|
||||||
|
"asynckit": "^0.4.0",
|
||||||
|
"combined-stream": "^1.0.8",
|
||||||
|
"es-set-tostringtag": "^2.1.0",
|
||||||
|
"hasown": "^2.0.2",
|
||||||
|
"mime-types": "^2.1.35"
|
||||||
|
},
|
||||||
|
"engines": {
|
||||||
|
"node": ">= 6"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@types/semver": {
|
"node_modules/@types/semver": {
|
||||||
@@ -2128,7 +1812,16 @@
|
|||||||
"version": "2.0.3",
|
"version": "2.0.3",
|
||||||
"resolved": "https://registry.npmjs.org/@types/stack-utils/-/stack-utils-2.0.3.tgz",
|
"resolved": "https://registry.npmjs.org/@types/stack-utils/-/stack-utils-2.0.3.tgz",
|
||||||
"integrity": "sha512-9aEbYZ3TbYMznPdcdr3SmIrLXwC/AKZXQeCf9Pgao5CKb8CyHuEX5jzWPTkvregvhRJHcpRO6BFoGW9ycaOkYw==",
|
"integrity": "sha512-9aEbYZ3TbYMznPdcdr3SmIrLXwC/AKZXQeCf9Pgao5CKb8CyHuEX5jzWPTkvregvhRJHcpRO6BFoGW9ycaOkYw==",
|
||||||
"dev": true
|
"dev": true,
|
||||||
|
"license": "MIT"
|
||||||
|
},
|
||||||
|
"node_modules/@types/tunnel": {
|
||||||
|
"version": "0.0.3",
|
||||||
|
"resolved": "https://registry.npmjs.org/@types/tunnel/-/tunnel-0.0.3.tgz",
|
||||||
|
"integrity": "sha512-sOUTGn6h1SfQ+gbgqC364jLFBw2lnFqkgF3q0WovEHRLMrVD1sd5aufqi/aJObLekJO+Aq5z646U4Oxy6shXMA==",
|
||||||
|
"dependencies": {
|
||||||
|
"@types/node": "*"
|
||||||
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@types/yargs": {
|
"node_modules/@types/yargs": {
|
||||||
"version": "17.0.33",
|
"version": "17.0.33",
|
||||||
@@ -2147,20 +1840,6 @@
|
|||||||
"dev": true,
|
"dev": true,
|
||||||
"license": "MIT"
|
"license": "MIT"
|
||||||
},
|
},
|
||||||
"node_modules/@typespec/ts-http-runtime": {
|
|
||||||
"version": "0.3.4",
|
|
||||||
"resolved": "https://registry.npmjs.org/@typespec/ts-http-runtime/-/ts-http-runtime-0.3.4.tgz",
|
|
||||||
"integrity": "sha512-CI0NhTrz4EBaa0U+HaaUZrJhPoso8sG7ZFya8uQoBA57fjzrjRSv87ekCjLZOFExN+gXE/z0xuN2QfH4H2HrLQ==",
|
|
||||||
"license": "MIT",
|
|
||||||
"dependencies": {
|
|
||||||
"http-proxy-agent": "^7.0.0",
|
|
||||||
"https-proxy-agent": "^7.0.0",
|
|
||||||
"tslib": "^2.6.2"
|
|
||||||
},
|
|
||||||
"engines": {
|
|
||||||
"node": ">=20.0.0"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"node_modules/@ungap/structured-clone": {
|
"node_modules/@ungap/structured-clone": {
|
||||||
"version": "1.3.0",
|
"version": "1.3.0",
|
||||||
"resolved": "https://registry.npmjs.org/@ungap/structured-clone/-/structured-clone-1.3.0.tgz",
|
"resolved": "https://registry.npmjs.org/@ungap/structured-clone/-/structured-clone-1.3.0.tgz",
|
||||||
@@ -2169,291 +1848,269 @@
|
|||||||
"license": "ISC"
|
"license": "ISC"
|
||||||
},
|
},
|
||||||
"node_modules/@unrs/resolver-binding-android-arm-eabi": {
|
"node_modules/@unrs/resolver-binding-android-arm-eabi": {
|
||||||
"version": "1.12.2",
|
"version": "1.11.1",
|
||||||
"resolved": "https://registry.npmjs.org/@unrs/resolver-binding-android-arm-eabi/-/resolver-binding-android-arm-eabi-1.12.2.tgz",
|
"resolved": "https://registry.npmjs.org/@unrs/resolver-binding-android-arm-eabi/-/resolver-binding-android-arm-eabi-1.11.1.tgz",
|
||||||
"integrity": "sha512-g5T90pqg1bo/7mytQx6F4iBNC0Wsh9cu+z9veDbFjc7HjpesJFWD7QMS0NGStXM075+7dJPPVvBbpZlnrdpi/w==",
|
"integrity": "sha512-ppLRUgHVaGRWUx0R0Ut06Mjo9gBaBkg3v/8AxusGLhsIotbBLuRk51rAzqLC8gq6NyyAojEXglNjzf6R948DNw==",
|
||||||
"cpu": [
|
"cpu": [
|
||||||
"arm"
|
"arm"
|
||||||
],
|
],
|
||||||
"dev": true,
|
"dev": true,
|
||||||
|
"license": "MIT",
|
||||||
"optional": true,
|
"optional": true,
|
||||||
"os": [
|
"os": [
|
||||||
"android"
|
"android"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"node_modules/@unrs/resolver-binding-android-arm64": {
|
"node_modules/@unrs/resolver-binding-android-arm64": {
|
||||||
"version": "1.12.2",
|
"version": "1.11.1",
|
||||||
"resolved": "https://registry.npmjs.org/@unrs/resolver-binding-android-arm64/-/resolver-binding-android-arm64-1.12.2.tgz",
|
"resolved": "https://registry.npmjs.org/@unrs/resolver-binding-android-arm64/-/resolver-binding-android-arm64-1.11.1.tgz",
|
||||||
"integrity": "sha512-YGCRZv/9GLhwmz6mYDeTsm/92BAyR28l6c2ReweVW5pWgfsitWLY8upvfRlGdoyD8HjeTHSYJWyZGD4KJA/nFQ==",
|
"integrity": "sha512-lCxkVtb4wp1v+EoN+HjIG9cIIzPkX5OtM03pQYkG+U5O/wL53LC4QbIeazgiKqluGeVEeBlZahHalCaBvU1a2g==",
|
||||||
"cpu": [
|
"cpu": [
|
||||||
"arm64"
|
"arm64"
|
||||||
],
|
],
|
||||||
"dev": true,
|
"dev": true,
|
||||||
|
"license": "MIT",
|
||||||
"optional": true,
|
"optional": true,
|
||||||
"os": [
|
"os": [
|
||||||
"android"
|
"android"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"node_modules/@unrs/resolver-binding-darwin-arm64": {
|
"node_modules/@unrs/resolver-binding-darwin-arm64": {
|
||||||
"version": "1.12.2",
|
"version": "1.11.1",
|
||||||
"resolved": "https://registry.npmjs.org/@unrs/resolver-binding-darwin-arm64/-/resolver-binding-darwin-arm64-1.12.2.tgz",
|
"resolved": "https://registry.npmjs.org/@unrs/resolver-binding-darwin-arm64/-/resolver-binding-darwin-arm64-1.11.1.tgz",
|
||||||
"integrity": "sha512-u9DiNT1auQMO20A9SyTuG3wUgQWB9Z7KjAg0uFuCDR1FsAY8A0CG2S6JpHS1xwm/w1G08bjXZDcyOCjv1WAm2w==",
|
"integrity": "sha512-gPVA1UjRu1Y/IsB/dQEsp2V1pm44Of6+LWvbLc9SDk1c2KhhDRDBUkQCYVWe6f26uJb3fOK8saWMgtX8IrMk3g==",
|
||||||
"cpu": [
|
"cpu": [
|
||||||
"arm64"
|
"arm64"
|
||||||
],
|
],
|
||||||
"dev": true,
|
"dev": true,
|
||||||
|
"license": "MIT",
|
||||||
"optional": true,
|
"optional": true,
|
||||||
"os": [
|
"os": [
|
||||||
"darwin"
|
"darwin"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"node_modules/@unrs/resolver-binding-darwin-x64": {
|
"node_modules/@unrs/resolver-binding-darwin-x64": {
|
||||||
"version": "1.12.2",
|
"version": "1.11.1",
|
||||||
"resolved": "https://registry.npmjs.org/@unrs/resolver-binding-darwin-x64/-/resolver-binding-darwin-x64-1.12.2.tgz",
|
"resolved": "https://registry.npmjs.org/@unrs/resolver-binding-darwin-x64/-/resolver-binding-darwin-x64-1.11.1.tgz",
|
||||||
"integrity": "sha512-f7rPLi/T1HVKZu/u6t87lroib16n8vrSzcyxI7lg4BGO9UF26KhQL44sd9eOUgrTYhvRXtWOIZT5PejdPyJfUA==",
|
"integrity": "sha512-cFzP7rWKd3lZaCsDze07QX1SC24lO8mPty9vdP+YVa3MGdVgPmFc59317b2ioXtgCMKGiCLxJ4HQs62oz6GfRQ==",
|
||||||
"cpu": [
|
"cpu": [
|
||||||
"x64"
|
"x64"
|
||||||
],
|
],
|
||||||
"dev": true,
|
"dev": true,
|
||||||
|
"license": "MIT",
|
||||||
"optional": true,
|
"optional": true,
|
||||||
"os": [
|
"os": [
|
||||||
"darwin"
|
"darwin"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"node_modules/@unrs/resolver-binding-freebsd-x64": {
|
"node_modules/@unrs/resolver-binding-freebsd-x64": {
|
||||||
"version": "1.12.2",
|
"version": "1.11.1",
|
||||||
"resolved": "https://registry.npmjs.org/@unrs/resolver-binding-freebsd-x64/-/resolver-binding-freebsd-x64-1.12.2.tgz",
|
"resolved": "https://registry.npmjs.org/@unrs/resolver-binding-freebsd-x64/-/resolver-binding-freebsd-x64-1.11.1.tgz",
|
||||||
"integrity": "sha512-BpcOjWCJub6nRZUS2zA20pmLvjtqAtGejETaIyRLiZiQf++cbrjltLA5NN/xaXfqeOBOSlMFbemIl5/S5tljmg==",
|
"integrity": "sha512-fqtGgak3zX4DCB6PFpsH5+Kmt/8CIi4Bry4rb1ho6Av2QHTREM+47y282Uqiu3ZRF5IQioJQ5qWRV6jduA+iGw==",
|
||||||
"cpu": [
|
"cpu": [
|
||||||
"x64"
|
"x64"
|
||||||
],
|
],
|
||||||
"dev": true,
|
"dev": true,
|
||||||
|
"license": "MIT",
|
||||||
"optional": true,
|
"optional": true,
|
||||||
"os": [
|
"os": [
|
||||||
"freebsd"
|
"freebsd"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"node_modules/@unrs/resolver-binding-linux-arm-gnueabihf": {
|
"node_modules/@unrs/resolver-binding-linux-arm-gnueabihf": {
|
||||||
"version": "1.12.2",
|
"version": "1.11.1",
|
||||||
"resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-arm-gnueabihf/-/resolver-binding-linux-arm-gnueabihf-1.12.2.tgz",
|
"resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-arm-gnueabihf/-/resolver-binding-linux-arm-gnueabihf-1.11.1.tgz",
|
||||||
"integrity": "sha512-vZTDvdSISZjJx66OzJqtsOhzifbqRjbmI1Mnu49fQDwog5GtDI4QidRiEAYbZCRj9C8YZEW+3ZjqsyS9GR4k2A==",
|
"integrity": "sha512-u92mvlcYtp9MRKmP+ZvMmtPN34+/3lMHlyMj7wXJDeXxuM0Vgzz0+PPJNsro1m3IZPYChIkn944wW8TYgGKFHw==",
|
||||||
"cpu": [
|
"cpu": [
|
||||||
"arm"
|
"arm"
|
||||||
],
|
],
|
||||||
"dev": true,
|
"dev": true,
|
||||||
|
"license": "MIT",
|
||||||
"optional": true,
|
"optional": true,
|
||||||
"os": [
|
"os": [
|
||||||
"linux"
|
"linux"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"node_modules/@unrs/resolver-binding-linux-arm-musleabihf": {
|
"node_modules/@unrs/resolver-binding-linux-arm-musleabihf": {
|
||||||
"version": "1.12.2",
|
"version": "1.11.1",
|
||||||
"resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-arm-musleabihf/-/resolver-binding-linux-arm-musleabihf-1.12.2.tgz",
|
"resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-arm-musleabihf/-/resolver-binding-linux-arm-musleabihf-1.11.1.tgz",
|
||||||
"integrity": "sha512-BiPI+IrIlwcW4nLLMM21+B1dFPzd55yAVgVGrdgDjNef+ch03GdxrcyaIz8X9SsQirh/kCQ7mviyWlMxdh2D7g==",
|
"integrity": "sha512-cINaoY2z7LVCrfHkIcmvj7osTOtm6VVT16b5oQdS4beibX2SYBwgYLmqhBjA1t51CarSaBuX5YNsWLjsqfW5Cw==",
|
||||||
"cpu": [
|
"cpu": [
|
||||||
"arm"
|
"arm"
|
||||||
],
|
],
|
||||||
"dev": true,
|
"dev": true,
|
||||||
|
"license": "MIT",
|
||||||
"optional": true,
|
"optional": true,
|
||||||
"os": [
|
"os": [
|
||||||
"linux"
|
"linux"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"node_modules/@unrs/resolver-binding-linux-arm64-gnu": {
|
"node_modules/@unrs/resolver-binding-linux-arm64-gnu": {
|
||||||
"version": "1.12.2",
|
"version": "1.11.1",
|
||||||
"resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-arm64-gnu/-/resolver-binding-linux-arm64-gnu-1.12.2.tgz",
|
"resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-arm64-gnu/-/resolver-binding-linux-arm64-gnu-1.11.1.tgz",
|
||||||
"integrity": "sha512-zJc0H99FEPoFfSrNpa91HYfxzfAJCr502oxNK1cfdC9hlaFI43RT+JFCann9JUgZmLzzntChHyn13Sgn9ljHNg==",
|
"integrity": "sha512-34gw7PjDGB9JgePJEmhEqBhWvCiiWCuXsL9hYphDF7crW7UgI05gyBAi6MF58uGcMOiOqSJ2ybEeCvHcq0BCmQ==",
|
||||||
"cpu": [
|
"cpu": [
|
||||||
"arm64"
|
"arm64"
|
||||||
],
|
],
|
||||||
"dev": true,
|
"dev": true,
|
||||||
|
"license": "MIT",
|
||||||
"optional": true,
|
"optional": true,
|
||||||
"os": [
|
"os": [
|
||||||
"linux"
|
"linux"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"node_modules/@unrs/resolver-binding-linux-arm64-musl": {
|
"node_modules/@unrs/resolver-binding-linux-arm64-musl": {
|
||||||
"version": "1.12.2",
|
"version": "1.11.1",
|
||||||
"resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-arm64-musl/-/resolver-binding-linux-arm64-musl-1.12.2.tgz",
|
"resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-arm64-musl/-/resolver-binding-linux-arm64-musl-1.11.1.tgz",
|
||||||
"integrity": "sha512-KQ3Lki6l+Pz1k/eBipN41ES+YUK30beLGb9YqcB1O542cyLCNE6GaxrfcY3T6EezmGGk84wb5XyO9loTM9tkcA==",
|
"integrity": "sha512-RyMIx6Uf53hhOtJDIamSbTskA99sPHS96wxVE/bJtePJJtpdKGXO1wY90oRdXuYOGOTuqjT8ACccMc4K6QmT3w==",
|
||||||
"cpu": [
|
"cpu": [
|
||||||
"arm64"
|
"arm64"
|
||||||
],
|
],
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"optional": true,
|
"license": "MIT",
|
||||||
"os": [
|
|
||||||
"linux"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"node_modules/@unrs/resolver-binding-linux-loong64-gnu": {
|
|
||||||
"version": "1.12.2",
|
|
||||||
"resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-loong64-gnu/-/resolver-binding-linux-loong64-gnu-1.12.2.tgz",
|
|
||||||
"integrity": "sha512-3SJGEh1DborhG6pyxvhPzCT4bbSIVihsvgJc13P1bHG7KLdNDaF9T3gsTwFc7Jw/5Y5/iWOjkEx7Zy0NvCGX3Q==",
|
|
||||||
"cpu": [
|
|
||||||
"loong64"
|
|
||||||
],
|
|
||||||
"dev": true,
|
|
||||||
"optional": true,
|
|
||||||
"os": [
|
|
||||||
"linux"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"node_modules/@unrs/resolver-binding-linux-loong64-musl": {
|
|
||||||
"version": "1.12.2",
|
|
||||||
"resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-loong64-musl/-/resolver-binding-linux-loong64-musl-1.12.2.tgz",
|
|
||||||
"integrity": "sha512-jiuG/Obbel7uw1PwHNFfrkiKhLAF6mnyZ6aWlOAVN9WqKm8v0OFGnciJIHu8+CMvXLQ8AD51LPzAoUfT21D5Ew==",
|
|
||||||
"cpu": [
|
|
||||||
"loong64"
|
|
||||||
],
|
|
||||||
"dev": true,
|
|
||||||
"optional": true,
|
"optional": true,
|
||||||
"os": [
|
"os": [
|
||||||
"linux"
|
"linux"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"node_modules/@unrs/resolver-binding-linux-ppc64-gnu": {
|
"node_modules/@unrs/resolver-binding-linux-ppc64-gnu": {
|
||||||
"version": "1.12.2",
|
"version": "1.11.1",
|
||||||
"resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-ppc64-gnu/-/resolver-binding-linux-ppc64-gnu-1.12.2.tgz",
|
"resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-ppc64-gnu/-/resolver-binding-linux-ppc64-gnu-1.11.1.tgz",
|
||||||
"integrity": "sha512-q7xRvVpmcfeL+LlZg8Pbbo6QaTZwDU5BaGZbwfhkEsXJn3Was8xYfE0RBH266xZt0rM6B7i8xAYIvjthuUIWHg==",
|
"integrity": "sha512-D8Vae74A4/a+mZH0FbOkFJL9DSK2R6TFPC9M+jCWYia/q2einCubX10pecpDiTmkJVUH+y8K3BZClycD8nCShA==",
|
||||||
"cpu": [
|
"cpu": [
|
||||||
"ppc64"
|
"ppc64"
|
||||||
],
|
],
|
||||||
"dev": true,
|
"dev": true,
|
||||||
|
"license": "MIT",
|
||||||
"optional": true,
|
"optional": true,
|
||||||
"os": [
|
"os": [
|
||||||
"linux"
|
"linux"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"node_modules/@unrs/resolver-binding-linux-riscv64-gnu": {
|
"node_modules/@unrs/resolver-binding-linux-riscv64-gnu": {
|
||||||
"version": "1.12.2",
|
"version": "1.11.1",
|
||||||
"resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-riscv64-gnu/-/resolver-binding-linux-riscv64-gnu-1.12.2.tgz",
|
"resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-riscv64-gnu/-/resolver-binding-linux-riscv64-gnu-1.11.1.tgz",
|
||||||
"integrity": "sha512-0CVdx6lcnT3Q9inOH8tsMIOJ6ImndllMjqJHg8RLVdB7Vq4SfkEXl9mCSsVNuNA4MCYycRicCUxPCabVHJRr6A==",
|
"integrity": "sha512-frxL4OrzOWVVsOc96+V3aqTIQl1O2TjgExV4EKgRY09AJ9leZpEg8Ak9phadbuX0BA4k8U5qtvMSQQGGmaJqcQ==",
|
||||||
"cpu": [
|
"cpu": [
|
||||||
"riscv64"
|
"riscv64"
|
||||||
],
|
],
|
||||||
"dev": true,
|
"dev": true,
|
||||||
|
"license": "MIT",
|
||||||
"optional": true,
|
"optional": true,
|
||||||
"os": [
|
"os": [
|
||||||
"linux"
|
"linux"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"node_modules/@unrs/resolver-binding-linux-riscv64-musl": {
|
"node_modules/@unrs/resolver-binding-linux-riscv64-musl": {
|
||||||
"version": "1.12.2",
|
"version": "1.11.1",
|
||||||
"resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-riscv64-musl/-/resolver-binding-linux-riscv64-musl-1.12.2.tgz",
|
"resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-riscv64-musl/-/resolver-binding-linux-riscv64-musl-1.11.1.tgz",
|
||||||
"integrity": "sha512-iOwlRo9vnp6R6ohHQS11n0NnfdXx/omhkocmIfaPRpQhKZ+3BDMkkdRVh53qjkFkpPddf+FETA28NwGN7l5l+w==",
|
"integrity": "sha512-mJ5vuDaIZ+l/acv01sHoXfpnyrNKOk/3aDoEdLO/Xtn9HuZlDD6jKxHlkN8ZhWyLJsRBxfv9GYM2utQ1SChKew==",
|
||||||
"cpu": [
|
"cpu": [
|
||||||
"riscv64"
|
"riscv64"
|
||||||
],
|
],
|
||||||
"dev": true,
|
"dev": true,
|
||||||
|
"license": "MIT",
|
||||||
"optional": true,
|
"optional": true,
|
||||||
"os": [
|
"os": [
|
||||||
"linux"
|
"linux"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"node_modules/@unrs/resolver-binding-linux-s390x-gnu": {
|
"node_modules/@unrs/resolver-binding-linux-s390x-gnu": {
|
||||||
"version": "1.12.2",
|
"version": "1.11.1",
|
||||||
"resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-s390x-gnu/-/resolver-binding-linux-s390x-gnu-1.12.2.tgz",
|
"resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-s390x-gnu/-/resolver-binding-linux-s390x-gnu-1.11.1.tgz",
|
||||||
"integrity": "sha512-HYJtLfXq94q8iZNFT1lknx258wlkkWhZeUXJRqzKBBUJ00CvZ+N33zgbCqimLjsyw5Va6uUxhVa12mI+kaveEw==",
|
"integrity": "sha512-kELo8ebBVtb9sA7rMe1Cph4QHreByhaZ2QEADd9NzIQsYNQpt9UkM9iqr2lhGr5afh885d/cB5QeTXSbZHTYPg==",
|
||||||
"cpu": [
|
"cpu": [
|
||||||
"s390x"
|
"s390x"
|
||||||
],
|
],
|
||||||
"dev": true,
|
"dev": true,
|
||||||
|
"license": "MIT",
|
||||||
"optional": true,
|
"optional": true,
|
||||||
"os": [
|
"os": [
|
||||||
"linux"
|
"linux"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"node_modules/@unrs/resolver-binding-linux-x64-gnu": {
|
"node_modules/@unrs/resolver-binding-linux-x64-gnu": {
|
||||||
"version": "1.12.2",
|
"version": "1.11.1",
|
||||||
"resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-x64-gnu/-/resolver-binding-linux-x64-gnu-1.12.2.tgz",
|
"resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-x64-gnu/-/resolver-binding-linux-x64-gnu-1.11.1.tgz",
|
||||||
"integrity": "sha512-mPsUhunKKDih5O96Y6enDQyHc1SqBPlY1E/SfMWDM3EdJ95Z9CArPeCVwCCqbP45ljvivdEk8Fxn+SIb1rDAJQ==",
|
"integrity": "sha512-C3ZAHugKgovV5YvAMsxhq0gtXuwESUKc5MhEtjBpLoHPLYM+iuwSj3lflFwK3DPm68660rZ7G8BMcwSro7hD5w==",
|
||||||
"cpu": [
|
"cpu": [
|
||||||
"x64"
|
"x64"
|
||||||
],
|
],
|
||||||
"dev": true,
|
"dev": true,
|
||||||
|
"license": "MIT",
|
||||||
"optional": true,
|
"optional": true,
|
||||||
"os": [
|
"os": [
|
||||||
"linux"
|
"linux"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"node_modules/@unrs/resolver-binding-linux-x64-musl": {
|
"node_modules/@unrs/resolver-binding-linux-x64-musl": {
|
||||||
"version": "1.12.2",
|
"version": "1.11.1",
|
||||||
"resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-x64-musl/-/resolver-binding-linux-x64-musl-1.12.2.tgz",
|
"resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-x64-musl/-/resolver-binding-linux-x64-musl-1.11.1.tgz",
|
||||||
"integrity": "sha512-azrt6+5ydLd8Vt210AAFis/lZevSfPw93EJRIJG+xPu4WCJ8K0kppCTpMyLPcKT7H15M4Jnt2tMp5bOvCkRC6A==",
|
"integrity": "sha512-rV0YSoyhK2nZ4vEswT/QwqzqQXw5I6CjoaYMOX0TqBlWhojUf8P94mvI7nuJTeaCkkds3QE4+zS8Ko+GdXuZtA==",
|
||||||
"cpu": [
|
"cpu": [
|
||||||
"x64"
|
"x64"
|
||||||
],
|
],
|
||||||
"dev": true,
|
"dev": true,
|
||||||
|
"license": "MIT",
|
||||||
"optional": true,
|
"optional": true,
|
||||||
"os": [
|
"os": [
|
||||||
"linux"
|
"linux"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"node_modules/@unrs/resolver-binding-openharmony-arm64": {
|
|
||||||
"version": "1.12.2",
|
|
||||||
"resolved": "https://registry.npmjs.org/@unrs/resolver-binding-openharmony-arm64/-/resolver-binding-openharmony-arm64-1.12.2.tgz",
|
|
||||||
"integrity": "sha512-YZ9hP4O0X9PQb8eO980qmLNGH4zT3I9+SZTdt0Pr0YyuGQhYKoOZkV02VzrzyOZJ5xIJ3UFIenKkUkGg8GjgWQ==",
|
|
||||||
"cpu": [
|
|
||||||
"arm64"
|
|
||||||
],
|
|
||||||
"dev": true,
|
|
||||||
"optional": true,
|
|
||||||
"os": [
|
|
||||||
"openharmony"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"node_modules/@unrs/resolver-binding-wasm32-wasi": {
|
"node_modules/@unrs/resolver-binding-wasm32-wasi": {
|
||||||
"version": "1.12.2",
|
"version": "1.11.1",
|
||||||
"resolved": "https://registry.npmjs.org/@unrs/resolver-binding-wasm32-wasi/-/resolver-binding-wasm32-wasi-1.12.2.tgz",
|
"resolved": "https://registry.npmjs.org/@unrs/resolver-binding-wasm32-wasi/-/resolver-binding-wasm32-wasi-1.11.1.tgz",
|
||||||
"integrity": "sha512-tYFDIkMxSflfEc/h92ZWNsZlHSwgimbNHSO3PL2JWQHfCuC2q316jMyYU9TIWZsFK2bQwyK5VAdYgn8ygPj69A==",
|
"integrity": "sha512-5u4RkfxJm+Ng7IWgkzi3qrFOvLvQYnPBmjmZQ8+szTK/b31fQCnleNl1GgEt7nIsZRIf5PLhPwT0WM+q45x/UQ==",
|
||||||
"cpu": [
|
"cpu": [
|
||||||
"wasm32"
|
"wasm32"
|
||||||
],
|
],
|
||||||
"dev": true,
|
"dev": true,
|
||||||
|
"license": "MIT",
|
||||||
"optional": true,
|
"optional": true,
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@emnapi/core": "1.10.0",
|
"@napi-rs/wasm-runtime": "^0.2.11"
|
||||||
"@emnapi/runtime": "1.10.0",
|
|
||||||
"@napi-rs/wasm-runtime": "^1.1.4"
|
|
||||||
},
|
},
|
||||||
"engines": {
|
"engines": {
|
||||||
"node": ">=14.0.0"
|
"node": ">=14.0.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@unrs/resolver-binding-win32-arm64-msvc": {
|
"node_modules/@unrs/resolver-binding-win32-arm64-msvc": {
|
||||||
"version": "1.12.2",
|
"version": "1.11.1",
|
||||||
"resolved": "https://registry.npmjs.org/@unrs/resolver-binding-win32-arm64-msvc/-/resolver-binding-win32-arm64-msvc-1.12.2.tgz",
|
"resolved": "https://registry.npmjs.org/@unrs/resolver-binding-win32-arm64-msvc/-/resolver-binding-win32-arm64-msvc-1.11.1.tgz",
|
||||||
"integrity": "sha512-qzNyg3xL0VPQmCaUh+N5jSitce6k+uCBfMDesWRnlULOZaqUkaJ0ybdT+UqlAWJoQjuqfIU/0Ptx9bteN4D82g==",
|
"integrity": "sha512-nRcz5Il4ln0kMhfL8S3hLkxI85BXs3o8EYoattsJNdsX4YUU89iOkVn7g0VHSRxFuVMdM4Q1jEpIId1Ihim/Uw==",
|
||||||
"cpu": [
|
"cpu": [
|
||||||
"arm64"
|
"arm64"
|
||||||
],
|
],
|
||||||
"dev": true,
|
"dev": true,
|
||||||
|
"license": "MIT",
|
||||||
"optional": true,
|
"optional": true,
|
||||||
"os": [
|
"os": [
|
||||||
"win32"
|
"win32"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"node_modules/@unrs/resolver-binding-win32-ia32-msvc": {
|
"node_modules/@unrs/resolver-binding-win32-ia32-msvc": {
|
||||||
"version": "1.12.2",
|
"version": "1.11.1",
|
||||||
"resolved": "https://registry.npmjs.org/@unrs/resolver-binding-win32-ia32-msvc/-/resolver-binding-win32-ia32-msvc-1.12.2.tgz",
|
"resolved": "https://registry.npmjs.org/@unrs/resolver-binding-win32-ia32-msvc/-/resolver-binding-win32-ia32-msvc-1.11.1.tgz",
|
||||||
"integrity": "sha512-WD9sY00OfpHVGfsnHZoA8jVT+esS/Bg8z8jzxp5BnDCjjwsuKsPQrzswwpFy4J1AUJbXPRfkpcX0mXrzeXW79g==",
|
"integrity": "sha512-DCEI6t5i1NmAZp6pFonpD5m7i6aFrpofcp4LA2i8IIq60Jyo28hamKBxNrZcyOwVOZkgsRp9O2sXWBWP8MnvIQ==",
|
||||||
"cpu": [
|
"cpu": [
|
||||||
"ia32"
|
"ia32"
|
||||||
],
|
],
|
||||||
"dev": true,
|
"dev": true,
|
||||||
|
"license": "MIT",
|
||||||
"optional": true,
|
"optional": true,
|
||||||
"os": [
|
"os": [
|
||||||
"win32"
|
"win32"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"node_modules/@unrs/resolver-binding-win32-x64-msvc": {
|
"node_modules/@unrs/resolver-binding-win32-x64-msvc": {
|
||||||
"version": "1.12.2",
|
"version": "1.11.1",
|
||||||
"resolved": "https://registry.npmjs.org/@unrs/resolver-binding-win32-x64-msvc/-/resolver-binding-win32-x64-msvc-1.12.2.tgz",
|
"resolved": "https://registry.npmjs.org/@unrs/resolver-binding-win32-x64-msvc/-/resolver-binding-win32-x64-msvc-1.11.1.tgz",
|
||||||
"integrity": "sha512-nAB74NfSNKknqQ1RrYj6uz8FcXEomu/MATJZxh/x+BArzN2U3JbOYC0APYzUIGhVY3m5hRxA8VPNdPBoG8txlA==",
|
"integrity": "sha512-lrW200hZdbfRtztbygyaq/6jP6AKE8qQN2KvPcJ+x7wiD038YtnYtZ82IMNJ69GJibV7bwL3y9FgK+5w/pYt6g==",
|
||||||
"cpu": [
|
"cpu": [
|
||||||
"x64"
|
"x64"
|
||||||
],
|
],
|
||||||
"dev": true,
|
"dev": true,
|
||||||
|
"license": "MIT",
|
||||||
"optional": true,
|
"optional": true,
|
||||||
"os": [
|
"os": [
|
||||||
"win32"
|
"win32"
|
||||||
@@ -2469,13 +2126,15 @@
|
|||||||
"ncc": "dist/ncc/cli.js"
|
"ncc": "dist/ncc/cli.js"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/agent-base": {
|
"node_modules/abort-controller": {
|
||||||
"version": "7.1.4",
|
"version": "3.0.0",
|
||||||
"resolved": "https://registry.npmjs.org/agent-base/-/agent-base-7.1.4.tgz",
|
"resolved": "https://registry.npmjs.org/abort-controller/-/abort-controller-3.0.0.tgz",
|
||||||
"integrity": "sha512-MnA+YT8fwfJPgBx3m60MNqakm30XOkyIoH1y6huTQvC0PwZG7ki8NacLBcrPbNoo8vEZy7Jpuk7+jMO+CUovTQ==",
|
"integrity": "sha512-h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg==",
|
||||||
"license": "MIT",
|
"dependencies": {
|
||||||
|
"event-target-shim": "^5.0.0"
|
||||||
|
},
|
||||||
"engines": {
|
"engines": {
|
||||||
"node": ">= 14"
|
"node": ">=6.5"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/ansi-escapes": {
|
"node_modules/ansi-escapes": {
|
||||||
@@ -2483,6 +2142,7 @@
|
|||||||
"resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz",
|
"resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz",
|
||||||
"integrity": "sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==",
|
"integrity": "sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"type-fest": "^0.21.3"
|
"type-fest": "^0.21.3"
|
||||||
},
|
},
|
||||||
@@ -2498,6 +2158,7 @@
|
|||||||
"resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz",
|
"resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz",
|
||||||
"integrity": "sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==",
|
"integrity": "sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
|
"license": "(MIT OR CC0-1.0)",
|
||||||
"engines": {
|
"engines": {
|
||||||
"node": ">=10"
|
"node": ">=10"
|
||||||
},
|
},
|
||||||
@@ -2510,6 +2171,7 @@
|
|||||||
"resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.2.2.tgz",
|
"resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.2.2.tgz",
|
||||||
"integrity": "sha512-Bq3SmSpyFHaWjPk8If9yc6svM8c56dB5BAtW4Qbw5jHTwwXXcTLoRMkpDJp6VL0XzlWaCHTXrkFURMYmD0sLqg==",
|
"integrity": "sha512-Bq3SmSpyFHaWjPk8If9yc6svM8c56dB5BAtW4Qbw5jHTwwXXcTLoRMkpDJp6VL0XzlWaCHTXrkFURMYmD0sLqg==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
|
"license": "MIT",
|
||||||
"engines": {
|
"engines": {
|
||||||
"node": ">=12"
|
"node": ">=12"
|
||||||
},
|
},
|
||||||
@@ -2551,16 +2213,22 @@
|
|||||||
"integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==",
|
"integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==",
|
||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
|
"node_modules/asynckit": {
|
||||||
|
"version": "0.4.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz",
|
||||||
|
"integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q=="
|
||||||
|
},
|
||||||
"node_modules/babel-jest": {
|
"node_modules/babel-jest": {
|
||||||
"version": "30.4.1",
|
"version": "30.2.0",
|
||||||
"resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-30.4.1.tgz",
|
"resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-30.2.0.tgz",
|
||||||
"integrity": "sha512-fATAbM8piYxkiXQp3RBXmZHxZVNJZAVXXfyeyCN2Tida3+qJ8ea9UxhiJ2y4fLO90ZImKt6k9FlcH2+rLkJGhw==",
|
"integrity": "sha512-0YiBEOxWqKkSQWL9nNGGEgndoeL0ZpWrbLMNL5u/Kaxrli3Eaxlt3ZtIDktEvXt4L/R9r3ODr2zKwGM/2BjxVw==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@jest/transform": "30.4.1",
|
"@jest/transform": "30.2.0",
|
||||||
"@types/babel__core": "^7.20.5",
|
"@types/babel__core": "^7.20.5",
|
||||||
"babel-plugin-istanbul": "^7.0.1",
|
"babel-plugin-istanbul": "^7.0.1",
|
||||||
"babel-preset-jest": "30.4.0",
|
"babel-preset-jest": "30.2.0",
|
||||||
"chalk": "^4.1.2",
|
"chalk": "^4.1.2",
|
||||||
"graceful-fs": "^4.2.11",
|
"graceful-fs": "^4.2.11",
|
||||||
"slash": "^3.0.0"
|
"slash": "^3.0.0"
|
||||||
@@ -2593,10 +2261,11 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/babel-plugin-jest-hoist": {
|
"node_modules/babel-plugin-jest-hoist": {
|
||||||
"version": "30.4.0",
|
"version": "30.2.0",
|
||||||
"resolved": "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-30.4.0.tgz",
|
"resolved": "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-30.2.0.tgz",
|
||||||
"integrity": "sha512-9EdtWM/sSfXLOGLwSn+GS6pIXyBnL07/8gyJlwFXjWy4DxMOyItqyUT29d4lQiS380EZwYlX7/At4PgBS+m2aA==",
|
"integrity": "sha512-ftzhzSGMUnOzcCXd6WHdBGMyuwy15Wnn0iyyWGKgBDLxf9/s5ABuraCSpBX2uG0jUg4rqJnxsLc5+oYBqoxVaA==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@types/babel__core": "^7.20.5"
|
"@types/babel__core": "^7.20.5"
|
||||||
},
|
},
|
||||||
@@ -2632,12 +2301,13 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/babel-preset-jest": {
|
"node_modules/babel-preset-jest": {
|
||||||
"version": "30.4.0",
|
"version": "30.2.0",
|
||||||
"resolved": "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-30.4.0.tgz",
|
"resolved": "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-30.2.0.tgz",
|
||||||
"integrity": "sha512-lBY4jxsNmCnSiu7kquw8ZC9F4+XLMOKypT3RnNHPvU2Kpd4W0xaPuLr5ZkRyOsvLYAY4yaW1ZwTW4xB7NIiZzg==",
|
"integrity": "sha512-US4Z3NOieAQumwFnYdUWKvUKh8+YSnS/gB3t6YBiz0bskpu7Pine8pPCheNxlPEW4wnUkma2a94YuW2q3guvCQ==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"babel-plugin-jest-hoist": "30.4.0",
|
"babel-plugin-jest-hoist": "30.2.0",
|
||||||
"babel-preset-current-node-syntax": "^1.2.0"
|
"babel-preset-current-node-syntax": "^1.2.0"
|
||||||
},
|
},
|
||||||
"engines": {
|
"engines": {
|
||||||
@@ -2662,6 +2332,18 @@
|
|||||||
"concat-map": "0.0.1"
|
"concat-map": "0.0.1"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"node_modules/braces": {
|
||||||
|
"version": "3.0.3",
|
||||||
|
"resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz",
|
||||||
|
"integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==",
|
||||||
|
"dev": true,
|
||||||
|
"dependencies": {
|
||||||
|
"fill-range": "^7.1.1"
|
||||||
|
},
|
||||||
|
"engines": {
|
||||||
|
"node": ">=8"
|
||||||
|
}
|
||||||
|
},
|
||||||
"node_modules/browserslist": {
|
"node_modules/browserslist": {
|
||||||
"version": "4.25.2",
|
"version": "4.25.2",
|
||||||
"resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.25.2.tgz",
|
"resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.25.2.tgz",
|
||||||
@@ -2720,13 +2402,28 @@
|
|||||||
"version": "1.1.2",
|
"version": "1.1.2",
|
||||||
"resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz",
|
"resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz",
|
||||||
"integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==",
|
"integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==",
|
||||||
"dev": true
|
"dev": true,
|
||||||
|
"license": "MIT"
|
||||||
|
},
|
||||||
|
"node_modules/call-bind-apply-helpers": {
|
||||||
|
"version": "1.0.2",
|
||||||
|
"resolved": "https://registry.npmjs.org/call-bind-apply-helpers/-/call-bind-apply-helpers-1.0.2.tgz",
|
||||||
|
"integrity": "sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ==",
|
||||||
|
"license": "MIT",
|
||||||
|
"dependencies": {
|
||||||
|
"es-errors": "^1.3.0",
|
||||||
|
"function-bind": "^1.1.2"
|
||||||
|
},
|
||||||
|
"engines": {
|
||||||
|
"node": ">= 0.4"
|
||||||
|
}
|
||||||
},
|
},
|
||||||
"node_modules/callsites": {
|
"node_modules/callsites": {
|
||||||
"version": "3.1.0",
|
"version": "3.1.0",
|
||||||
"resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz",
|
"resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz",
|
||||||
"integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==",
|
"integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
|
"license": "MIT",
|
||||||
"engines": {
|
"engines": {
|
||||||
"node": ">=6"
|
"node": ">=6"
|
||||||
}
|
}
|
||||||
@@ -2783,6 +2480,7 @@
|
|||||||
"resolved": "https://registry.npmjs.org/char-regex/-/char-regex-1.0.2.tgz",
|
"resolved": "https://registry.npmjs.org/char-regex/-/char-regex-1.0.2.tgz",
|
||||||
"integrity": "sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw==",
|
"integrity": "sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
|
"license": "MIT",
|
||||||
"engines": {
|
"engines": {
|
||||||
"node": ">=10"
|
"node": ">=10"
|
||||||
}
|
}
|
||||||
@@ -2804,16 +2502,18 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/cjs-module-lexer": {
|
"node_modules/cjs-module-lexer": {
|
||||||
"version": "2.2.0",
|
"version": "2.1.0",
|
||||||
"resolved": "https://registry.npmjs.org/cjs-module-lexer/-/cjs-module-lexer-2.2.0.tgz",
|
"resolved": "https://registry.npmjs.org/cjs-module-lexer/-/cjs-module-lexer-2.1.0.tgz",
|
||||||
"integrity": "sha512-4bHTS2YuzUvtoLjdy+98ykbNB5jS0+07EvFNXerqZQJ89F7DI6ET7OQo/HJuW6K0aVsKA9hj9/RVb2kQVOrPDQ==",
|
"integrity": "sha512-UX0OwmYRYQQetfrLEZeewIFFI+wSTofC+pMBLNuH3RUuu/xzG1oz84UCEDOSoQlN3fZ4+AzmV50ZYvGqkMh9yA==",
|
||||||
"dev": true
|
"dev": true,
|
||||||
|
"license": "MIT"
|
||||||
},
|
},
|
||||||
"node_modules/cliui": {
|
"node_modules/cliui": {
|
||||||
"version": "8.0.1",
|
"version": "8.0.1",
|
||||||
"resolved": "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz",
|
"resolved": "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz",
|
||||||
"integrity": "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==",
|
"integrity": "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
|
"license": "ISC",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"string-width": "^4.2.0",
|
"string-width": "^4.2.0",
|
||||||
"strip-ansi": "^6.0.1",
|
"strip-ansi": "^6.0.1",
|
||||||
@@ -2828,6 +2528,7 @@
|
|||||||
"resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz",
|
"resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz",
|
||||||
"integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==",
|
"integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
|
"license": "MIT",
|
||||||
"engines": {
|
"engines": {
|
||||||
"node": ">=8"
|
"node": ">=8"
|
||||||
}
|
}
|
||||||
@@ -2836,13 +2537,15 @@
|
|||||||
"version": "8.0.0",
|
"version": "8.0.0",
|
||||||
"resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz",
|
"resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz",
|
||||||
"integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==",
|
"integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==",
|
||||||
"dev": true
|
"dev": true,
|
||||||
|
"license": "MIT"
|
||||||
},
|
},
|
||||||
"node_modules/cliui/node_modules/string-width": {
|
"node_modules/cliui/node_modules/string-width": {
|
||||||
"version": "4.2.3",
|
"version": "4.2.3",
|
||||||
"resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz",
|
"resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz",
|
||||||
"integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==",
|
"integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"emoji-regex": "^8.0.0",
|
"emoji-regex": "^8.0.0",
|
||||||
"is-fullwidth-code-point": "^3.0.0",
|
"is-fullwidth-code-point": "^3.0.0",
|
||||||
@@ -2857,6 +2560,7 @@
|
|||||||
"resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz",
|
"resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz",
|
||||||
"integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==",
|
"integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"ansi-regex": "^5.0.1"
|
"ansi-regex": "^5.0.1"
|
||||||
},
|
},
|
||||||
@@ -2869,6 +2573,7 @@
|
|||||||
"resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz",
|
"resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz",
|
||||||
"integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==",
|
"integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"ansi-styles": "^4.0.0",
|
"ansi-styles": "^4.0.0",
|
||||||
"string-width": "^4.1.0",
|
"string-width": "^4.1.0",
|
||||||
@@ -2886,16 +2591,18 @@
|
|||||||
"resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz",
|
"resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz",
|
||||||
"integrity": "sha512-QVb0dM5HvG+uaxitm8wONl7jltx8dqhfU33DcqtOZcLSVIKSDDLDi7+0LbAKiyI8hD9u42m2YxXSkMGWThaecQ==",
|
"integrity": "sha512-QVb0dM5HvG+uaxitm8wONl7jltx8dqhfU33DcqtOZcLSVIKSDDLDi7+0LbAKiyI8hD9u42m2YxXSkMGWThaecQ==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
|
"license": "MIT",
|
||||||
"engines": {
|
"engines": {
|
||||||
"iojs": ">= 1.0.0",
|
"iojs": ">= 1.0.0",
|
||||||
"node": ">= 0.12.0"
|
"node": ">= 0.12.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/collect-v8-coverage": {
|
"node_modules/collect-v8-coverage": {
|
||||||
"version": "1.0.3",
|
"version": "1.0.2",
|
||||||
"resolved": "https://registry.npmjs.org/collect-v8-coverage/-/collect-v8-coverage-1.0.3.tgz",
|
"resolved": "https://registry.npmjs.org/collect-v8-coverage/-/collect-v8-coverage-1.0.2.tgz",
|
||||||
"integrity": "sha512-1L5aqIkwPfiodaMgQunkF1zRhNqifHBmtbbbxcr6yVxxBnliw4TDOW6NxpO8DJLgJ16OT+Y4ztZqP6p/FtXnAw==",
|
"integrity": "sha512-lHl4d5/ONEbLlJvaJNtsF/Lz+WvB07u2ycqTYbdrq7UypDXailES4valYb2eWiJFxZlVmpGekfqoxQhzyFdT4Q==",
|
||||||
"dev": true
|
"dev": true,
|
||||||
|
"license": "MIT"
|
||||||
},
|
},
|
||||||
"node_modules/color-convert": {
|
"node_modules/color-convert": {
|
||||||
"version": "2.0.1",
|
"version": "2.0.1",
|
||||||
@@ -2915,6 +2622,17 @@
|
|||||||
"integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
|
"integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
|
||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
|
"node_modules/combined-stream": {
|
||||||
|
"version": "1.0.8",
|
||||||
|
"resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz",
|
||||||
|
"integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==",
|
||||||
|
"dependencies": {
|
||||||
|
"delayed-stream": "~1.0.0"
|
||||||
|
},
|
||||||
|
"engines": {
|
||||||
|
"node": ">= 0.8"
|
||||||
|
}
|
||||||
|
},
|
||||||
"node_modules/concat-map": {
|
"node_modules/concat-map": {
|
||||||
"version": "0.0.1",
|
"version": "0.0.1",
|
||||||
"resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz",
|
"resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz",
|
||||||
@@ -2931,6 +2649,7 @@
|
|||||||
"resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz",
|
"resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz",
|
||||||
"integrity": "sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==",
|
"integrity": "sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"path-key": "^3.1.0",
|
"path-key": "^3.1.0",
|
||||||
"shebang-command": "^2.0.0",
|
"shebang-command": "^2.0.0",
|
||||||
@@ -2944,6 +2663,7 @@
|
|||||||
"version": "4.3.4",
|
"version": "4.3.4",
|
||||||
"resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz",
|
"resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz",
|
||||||
"integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==",
|
"integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==",
|
||||||
|
"dev": true,
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"ms": "2.1.2"
|
"ms": "2.1.2"
|
||||||
},
|
},
|
||||||
@@ -2957,10 +2677,11 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/dedent": {
|
"node_modules/dedent": {
|
||||||
"version": "1.7.2",
|
"version": "1.7.0",
|
||||||
"resolved": "https://registry.npmjs.org/dedent/-/dedent-1.7.2.tgz",
|
"resolved": "https://registry.npmjs.org/dedent/-/dedent-1.7.0.tgz",
|
||||||
"integrity": "sha512-WzMx3mW98SN+zn3hgemf4OzdmyNhhhKz5Ay0pUfQiMQ3e1g+xmTJWp/pKdwKVXhdSkAEGIIzqeuWrL3mV/AXbA==",
|
"integrity": "sha512-HGFtf8yhuhGhqO07SV79tRp+br4MnbdjeVxotpn1QBl30pcLLCQjX5b2295ll0fv8RKDKsmWYrl05usHM9CewQ==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
|
"license": "MIT",
|
||||||
"peerDependencies": {
|
"peerDependencies": {
|
||||||
"babel-plugin-macros": "^3.1.0"
|
"babel-plugin-macros": "^3.1.0"
|
||||||
},
|
},
|
||||||
@@ -2975,24 +2696,49 @@
|
|||||||
"resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.3.1.tgz",
|
"resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.3.1.tgz",
|
||||||
"integrity": "sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==",
|
"integrity": "sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
|
"license": "MIT",
|
||||||
"engines": {
|
"engines": {
|
||||||
"node": ">=0.10.0"
|
"node": ">=0.10.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"node_modules/delayed-stream": {
|
||||||
|
"version": "1.0.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz",
|
||||||
|
"integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==",
|
||||||
|
"engines": {
|
||||||
|
"node": ">=0.4.0"
|
||||||
|
}
|
||||||
|
},
|
||||||
"node_modules/detect-newline": {
|
"node_modules/detect-newline": {
|
||||||
"version": "3.1.0",
|
"version": "3.1.0",
|
||||||
"resolved": "https://registry.npmjs.org/detect-newline/-/detect-newline-3.1.0.tgz",
|
"resolved": "https://registry.npmjs.org/detect-newline/-/detect-newline-3.1.0.tgz",
|
||||||
"integrity": "sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA==",
|
"integrity": "sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
|
"license": "MIT",
|
||||||
"engines": {
|
"engines": {
|
||||||
"node": ">=8"
|
"node": ">=8"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"node_modules/dunder-proto": {
|
||||||
|
"version": "1.0.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/dunder-proto/-/dunder-proto-1.0.1.tgz",
|
||||||
|
"integrity": "sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==",
|
||||||
|
"license": "MIT",
|
||||||
|
"dependencies": {
|
||||||
|
"call-bind-apply-helpers": "^1.0.1",
|
||||||
|
"es-errors": "^1.3.0",
|
||||||
|
"gopd": "^1.2.0"
|
||||||
|
},
|
||||||
|
"engines": {
|
||||||
|
"node": ">= 0.4"
|
||||||
|
}
|
||||||
|
},
|
||||||
"node_modules/eastasianwidth": {
|
"node_modules/eastasianwidth": {
|
||||||
"version": "0.2.0",
|
"version": "0.2.0",
|
||||||
"resolved": "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz",
|
"resolved": "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz",
|
||||||
"integrity": "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==",
|
"integrity": "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==",
|
||||||
"dev": true
|
"dev": true,
|
||||||
|
"license": "MIT"
|
||||||
},
|
},
|
||||||
"node_modules/electron-to-chromium": {
|
"node_modules/electron-to-chromium": {
|
||||||
"version": "1.5.200",
|
"version": "1.5.200",
|
||||||
@@ -3006,6 +2752,7 @@
|
|||||||
"resolved": "https://registry.npmjs.org/emittery/-/emittery-0.13.1.tgz",
|
"resolved": "https://registry.npmjs.org/emittery/-/emittery-0.13.1.tgz",
|
||||||
"integrity": "sha512-DeWwawk6r5yR9jFgnDKYt4sLS0LmHJJi3ZOnb5/JdbYwj3nW+FxQnHIjhBKz8YLC7oRNPVM9NQ47I3CVx34eqQ==",
|
"integrity": "sha512-DeWwawk6r5yR9jFgnDKYt4sLS0LmHJJi3ZOnb5/JdbYwj3nW+FxQnHIjhBKz8YLC7oRNPVM9NQ47I3CVx34eqQ==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
|
"license": "MIT",
|
||||||
"engines": {
|
"engines": {
|
||||||
"node": ">=12"
|
"node": ">=12"
|
||||||
},
|
},
|
||||||
@@ -3017,57 +2764,62 @@
|
|||||||
"version": "9.2.2",
|
"version": "9.2.2",
|
||||||
"resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz",
|
"resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz",
|
||||||
"integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==",
|
"integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==",
|
||||||
"dev": true
|
"dev": true,
|
||||||
|
"license": "MIT"
|
||||||
},
|
},
|
||||||
"node_modules/error-ex": {
|
"node_modules/error-ex": {
|
||||||
"version": "1.3.4",
|
"version": "1.3.4",
|
||||||
"resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.4.tgz",
|
"resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.4.tgz",
|
||||||
"integrity": "sha512-sqQamAnR14VgCr1A618A3sGrygcpK+HEbenA/HiEAkkUwcZIIB/tgWqHFxWgOyDh4nB4JCRimh79dR5Ywc9MDQ==",
|
"integrity": "sha512-sqQamAnR14VgCr1A618A3sGrygcpK+HEbenA/HiEAkkUwcZIIB/tgWqHFxWgOyDh4nB4JCRimh79dR5Ywc9MDQ==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"is-arrayish": "^0.2.1"
|
"is-arrayish": "^0.2.1"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/esbuild": {
|
"node_modules/es-define-property": {
|
||||||
"version": "0.28.0",
|
"version": "1.0.1",
|
||||||
"resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.28.0.tgz",
|
"resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.1.tgz",
|
||||||
"integrity": "sha512-sNR9MHpXSUV/XB4zmsFKN+QgVG82Cc7+/aaxJ8Adi8hyOac+EXptIp45QBPaVyX3N70664wRbTcLTOemCAnyqw==",
|
"integrity": "sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g==",
|
||||||
"dev": true,
|
|
||||||
"hasInstallScript": true,
|
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"bin": {
|
"engines": {
|
||||||
"esbuild": "bin/esbuild"
|
"node": ">= 0.4"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/es-errors": {
|
||||||
|
"version": "1.3.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/es-errors/-/es-errors-1.3.0.tgz",
|
||||||
|
"integrity": "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==",
|
||||||
|
"license": "MIT",
|
||||||
|
"engines": {
|
||||||
|
"node": ">= 0.4"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/es-object-atoms": {
|
||||||
|
"version": "1.1.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/es-object-atoms/-/es-object-atoms-1.1.1.tgz",
|
||||||
|
"integrity": "sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA==",
|
||||||
|
"license": "MIT",
|
||||||
|
"dependencies": {
|
||||||
|
"es-errors": "^1.3.0"
|
||||||
},
|
},
|
||||||
"engines": {
|
"engines": {
|
||||||
"node": ">=18"
|
"node": ">= 0.4"
|
||||||
|
}
|
||||||
},
|
},
|
||||||
"optionalDependencies": {
|
"node_modules/es-set-tostringtag": {
|
||||||
"@esbuild/aix-ppc64": "0.28.0",
|
"version": "2.1.0",
|
||||||
"@esbuild/android-arm": "0.28.0",
|
"resolved": "https://registry.npmjs.org/es-set-tostringtag/-/es-set-tostringtag-2.1.0.tgz",
|
||||||
"@esbuild/android-arm64": "0.28.0",
|
"integrity": "sha512-j6vWzfrGVfyXxge+O0x5sh6cvxAog0a/4Rdd2K36zCMV5eJ+/+tOAngRO8cODMNWbVRdVlmGZQL2YS3yR8bIUA==",
|
||||||
"@esbuild/android-x64": "0.28.0",
|
"license": "MIT",
|
||||||
"@esbuild/darwin-arm64": "0.28.0",
|
"dependencies": {
|
||||||
"@esbuild/darwin-x64": "0.28.0",
|
"es-errors": "^1.3.0",
|
||||||
"@esbuild/freebsd-arm64": "0.28.0",
|
"get-intrinsic": "^1.2.6",
|
||||||
"@esbuild/freebsd-x64": "0.28.0",
|
"has-tostringtag": "^1.0.2",
|
||||||
"@esbuild/linux-arm": "0.28.0",
|
"hasown": "^2.0.2"
|
||||||
"@esbuild/linux-arm64": "0.28.0",
|
},
|
||||||
"@esbuild/linux-ia32": "0.28.0",
|
"engines": {
|
||||||
"@esbuild/linux-loong64": "0.28.0",
|
"node": ">= 0.4"
|
||||||
"@esbuild/linux-mips64el": "0.28.0",
|
|
||||||
"@esbuild/linux-ppc64": "0.28.0",
|
|
||||||
"@esbuild/linux-riscv64": "0.28.0",
|
|
||||||
"@esbuild/linux-s390x": "0.28.0",
|
|
||||||
"@esbuild/linux-x64": "0.28.0",
|
|
||||||
"@esbuild/netbsd-arm64": "0.28.0",
|
|
||||||
"@esbuild/netbsd-x64": "0.28.0",
|
|
||||||
"@esbuild/openbsd-arm64": "0.28.0",
|
|
||||||
"@esbuild/openbsd-x64": "0.28.0",
|
|
||||||
"@esbuild/openharmony-arm64": "0.28.0",
|
|
||||||
"@esbuild/sunos-x64": "0.28.0",
|
|
||||||
"@esbuild/win32-arm64": "0.28.0",
|
|
||||||
"@esbuild/win32-ia32": "0.28.0",
|
|
||||||
"@esbuild/win32-x64": "0.28.0"
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/escalade": {
|
"node_modules/escalade": {
|
||||||
@@ -3085,6 +2837,7 @@
|
|||||||
"resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz",
|
"resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz",
|
||||||
"integrity": "sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==",
|
"integrity": "sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
|
"license": "MIT",
|
||||||
"engines": {
|
"engines": {
|
||||||
"node": ">=8"
|
"node": ">=8"
|
||||||
}
|
}
|
||||||
@@ -3103,11 +2856,18 @@
|
|||||||
"node": ">=4"
|
"node": ">=4"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"node_modules/event-target-shim": {
|
||||||
|
"version": "5.0.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/event-target-shim/-/event-target-shim-5.0.1.tgz",
|
||||||
|
"integrity": "sha512-i/2XbnSz/uxRCU6+NdVJgKWDTM427+MqYbkQzD321DuCQJUqOuJKIA0IM2+W2xtYHdKOmZ4dR6fExsd4SXL+WQ==",
|
||||||
|
"engines": {
|
||||||
|
"node": ">=6"
|
||||||
|
}
|
||||||
|
},
|
||||||
"node_modules/events": {
|
"node_modules/events": {
|
||||||
"version": "3.3.0",
|
"version": "3.3.0",
|
||||||
"resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz",
|
"resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz",
|
||||||
"integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==",
|
"integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==",
|
||||||
"license": "MIT",
|
|
||||||
"engines": {
|
"engines": {
|
||||||
"node": ">=0.8.x"
|
"node": ">=0.8.x"
|
||||||
}
|
}
|
||||||
@@ -3117,6 +2877,7 @@
|
|||||||
"resolved": "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz",
|
"resolved": "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz",
|
||||||
"integrity": "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==",
|
"integrity": "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"cross-spawn": "^7.0.3",
|
"cross-spawn": "^7.0.3",
|
||||||
"get-stream": "^6.0.0",
|
"get-stream": "^6.0.0",
|
||||||
@@ -3139,29 +2900,32 @@
|
|||||||
"version": "3.0.7",
|
"version": "3.0.7",
|
||||||
"resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz",
|
"resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz",
|
||||||
"integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==",
|
"integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==",
|
||||||
"dev": true
|
"dev": true,
|
||||||
|
"license": "ISC"
|
||||||
},
|
},
|
||||||
"node_modules/exit-x": {
|
"node_modules/exit-x": {
|
||||||
"version": "0.2.2",
|
"version": "0.2.2",
|
||||||
"resolved": "https://registry.npmjs.org/exit-x/-/exit-x-0.2.2.tgz",
|
"resolved": "https://registry.npmjs.org/exit-x/-/exit-x-0.2.2.tgz",
|
||||||
"integrity": "sha512-+I6B/IkJc1o/2tiURyz/ivu/O0nKNEArIUB5O7zBrlDVJr22SCLH3xTeEry428LvFhRzIA1g8izguxJ/gbNcVQ==",
|
"integrity": "sha512-+I6B/IkJc1o/2tiURyz/ivu/O0nKNEArIUB5O7zBrlDVJr22SCLH3xTeEry428LvFhRzIA1g8izguxJ/gbNcVQ==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
|
"license": "MIT",
|
||||||
"engines": {
|
"engines": {
|
||||||
"node": ">= 0.8.0"
|
"node": ">= 0.8.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/expect": {
|
"node_modules/expect": {
|
||||||
"version": "30.4.1",
|
"version": "30.2.0",
|
||||||
"resolved": "https://registry.npmjs.org/expect/-/expect-30.4.1.tgz",
|
"resolved": "https://registry.npmjs.org/expect/-/expect-30.2.0.tgz",
|
||||||
"integrity": "sha512-PMARsyh/JtqC20HoGqlFcIlQAyqUtW4PlI1rup1uhYJtKuwAjbvWi3GQMAn+STdHum/dk8xrKfUM1+5SAwpolA==",
|
"integrity": "sha512-u/feCi0GPsI+988gU2FLcsHyAHTU0MX1Wg68NhAnN7z/+C5wqG+CY8J53N9ioe8RXgaoz0nBR/TYMf3AycUuPw==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@jest/expect-utils": "30.4.1",
|
"@jest/expect-utils": "30.2.0",
|
||||||
"@jest/get-type": "30.1.0",
|
"@jest/get-type": "30.1.0",
|
||||||
"jest-matcher-utils": "30.4.1",
|
"jest-matcher-utils": "30.2.0",
|
||||||
"jest-message-util": "30.4.1",
|
"jest-message-util": "30.2.0",
|
||||||
"jest-mock": "30.4.1",
|
"jest-mock": "30.2.0",
|
||||||
"jest-util": "30.4.1"
|
"jest-util": "30.2.0"
|
||||||
},
|
},
|
||||||
"engines": {
|
"engines": {
|
||||||
"node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0"
|
"node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0"
|
||||||
@@ -3173,41 +2937,6 @@
|
|||||||
"integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==",
|
"integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==",
|
||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
"node_modules/fast-xml-builder": {
|
|
||||||
"version": "1.1.3",
|
|
||||||
"resolved": "https://registry.npmjs.org/fast-xml-builder/-/fast-xml-builder-1.1.3.tgz",
|
|
||||||
"integrity": "sha512-1o60KoFw2+LWKQu3IdcfcFlGTW4dpqEWmjhYec6H82AYZU2TVBXep6tMl8Z1Y+wM+ZrzCwe3BZ9Vyd9N2rIvmg==",
|
|
||||||
"funding": [
|
|
||||||
{
|
|
||||||
"type": "github",
|
|
||||||
"url": "https://github.com/sponsors/NaturalIntelligence"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"license": "MIT",
|
|
||||||
"dependencies": {
|
|
||||||
"path-expression-matcher": "^1.1.3"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"node_modules/fast-xml-parser": {
|
|
||||||
"version": "5.5.5",
|
|
||||||
"resolved": "https://registry.npmjs.org/fast-xml-parser/-/fast-xml-parser-5.5.5.tgz",
|
|
||||||
"integrity": "sha512-NLY+V5NNbdmiEszx9n14mZBseJTC50bRq1VHsaxOmR72JDuZt+5J1Co+dC/4JPnyq+WrIHNM69r0sqf7BMb3Mg==",
|
|
||||||
"funding": [
|
|
||||||
{
|
|
||||||
"type": "github",
|
|
||||||
"url": "https://github.com/sponsors/NaturalIntelligence"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"license": "MIT",
|
|
||||||
"dependencies": {
|
|
||||||
"fast-xml-builder": "^1.1.3",
|
|
||||||
"path-expression-matcher": "^1.1.3",
|
|
||||||
"strnum": "^2.1.2"
|
|
||||||
},
|
|
||||||
"bin": {
|
|
||||||
"fxparser": "src/cli/cli.js"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"node_modules/fb-watchman": {
|
"node_modules/fb-watchman": {
|
||||||
"version": "2.0.2",
|
"version": "2.0.2",
|
||||||
"resolved": "https://registry.npmjs.org/fb-watchman/-/fb-watchman-2.0.2.tgz",
|
"resolved": "https://registry.npmjs.org/fb-watchman/-/fb-watchman-2.0.2.tgz",
|
||||||
@@ -3217,6 +2946,18 @@
|
|||||||
"bser": "2.1.1"
|
"bser": "2.1.1"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"node_modules/fill-range": {
|
||||||
|
"version": "7.1.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz",
|
||||||
|
"integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==",
|
||||||
|
"dev": true,
|
||||||
|
"dependencies": {
|
||||||
|
"to-regex-range": "^5.0.1"
|
||||||
|
},
|
||||||
|
"engines": {
|
||||||
|
"node": ">=8"
|
||||||
|
}
|
||||||
|
},
|
||||||
"node_modules/find-up": {
|
"node_modules/find-up": {
|
||||||
"version": "4.1.0",
|
"version": "4.1.0",
|
||||||
"resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz",
|
"resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz",
|
||||||
@@ -3236,6 +2977,7 @@
|
|||||||
"resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-3.3.1.tgz",
|
"resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-3.3.1.tgz",
|
||||||
"integrity": "sha512-gIXjKqtFuWEgzFRJA9WCQeSJLZDjgJUOMCMzxtvFq/37KojM1BFGufqsCy0r4qSQmYLsZYMeyRqzIWOMup03sw==",
|
"integrity": "sha512-gIXjKqtFuWEgzFRJA9WCQeSJLZDjgJUOMCMzxtvFq/37KojM1BFGufqsCy0r4qSQmYLsZYMeyRqzIWOMup03sw==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
|
"license": "ISC",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"cross-spawn": "^7.0.6",
|
"cross-spawn": "^7.0.6",
|
||||||
"signal-exit": "^4.0.1"
|
"signal-exit": "^4.0.1"
|
||||||
@@ -3247,6 +2989,23 @@
|
|||||||
"url": "https://github.com/sponsors/isaacs"
|
"url": "https://github.com/sponsors/isaacs"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"node_modules/form-data": {
|
||||||
|
"version": "2.5.5",
|
||||||
|
"resolved": "https://registry.npmjs.org/form-data/-/form-data-2.5.5.tgz",
|
||||||
|
"integrity": "sha512-jqdObeR2rxZZbPSGL+3VckHMYtu+f9//KXBsVny6JSX/pa38Fy+bGjuG8eW/H6USNQWhLi8Num++cU2yOCNz4A==",
|
||||||
|
"license": "MIT",
|
||||||
|
"dependencies": {
|
||||||
|
"asynckit": "^0.4.0",
|
||||||
|
"combined-stream": "^1.0.8",
|
||||||
|
"es-set-tostringtag": "^2.1.0",
|
||||||
|
"hasown": "^2.0.2",
|
||||||
|
"mime-types": "^2.1.35",
|
||||||
|
"safe-buffer": "^5.2.1"
|
||||||
|
},
|
||||||
|
"engines": {
|
||||||
|
"node": ">= 0.12"
|
||||||
|
}
|
||||||
|
},
|
||||||
"node_modules/fs.realpath": {
|
"node_modules/fs.realpath": {
|
||||||
"version": "1.0.0",
|
"version": "1.0.0",
|
||||||
"resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz",
|
"resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz",
|
||||||
@@ -3268,6 +3027,14 @@
|
|||||||
"node": "^8.16.0 || ^10.6.0 || >=11.0.0"
|
"node": "^8.16.0 || ^10.6.0 || >=11.0.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"node_modules/function-bind": {
|
||||||
|
"version": "1.1.2",
|
||||||
|
"resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz",
|
||||||
|
"integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==",
|
||||||
|
"funding": {
|
||||||
|
"url": "https://github.com/sponsors/ljharb"
|
||||||
|
}
|
||||||
|
},
|
||||||
"node_modules/gensync": {
|
"node_modules/gensync": {
|
||||||
"version": "1.0.0-beta.2",
|
"version": "1.0.0-beta.2",
|
||||||
"resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz",
|
"resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz",
|
||||||
@@ -3282,10 +3049,35 @@
|
|||||||
"resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz",
|
"resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz",
|
||||||
"integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==",
|
"integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
|
"license": "ISC",
|
||||||
"engines": {
|
"engines": {
|
||||||
"node": "6.* || 8.* || >= 10.*"
|
"node": "6.* || 8.* || >= 10.*"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"node_modules/get-intrinsic": {
|
||||||
|
"version": "1.3.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.3.0.tgz",
|
||||||
|
"integrity": "sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ==",
|
||||||
|
"license": "MIT",
|
||||||
|
"dependencies": {
|
||||||
|
"call-bind-apply-helpers": "^1.0.2",
|
||||||
|
"es-define-property": "^1.0.1",
|
||||||
|
"es-errors": "^1.3.0",
|
||||||
|
"es-object-atoms": "^1.1.1",
|
||||||
|
"function-bind": "^1.1.2",
|
||||||
|
"get-proto": "^1.0.1",
|
||||||
|
"gopd": "^1.2.0",
|
||||||
|
"has-symbols": "^1.1.0",
|
||||||
|
"hasown": "^2.0.2",
|
||||||
|
"math-intrinsics": "^1.1.0"
|
||||||
|
},
|
||||||
|
"engines": {
|
||||||
|
"node": ">= 0.4"
|
||||||
|
},
|
||||||
|
"funding": {
|
||||||
|
"url": "https://github.com/sponsors/ljharb"
|
||||||
|
}
|
||||||
|
},
|
||||||
"node_modules/get-package-type": {
|
"node_modules/get-package-type": {
|
||||||
"version": "0.1.0",
|
"version": "0.1.0",
|
||||||
"resolved": "https://registry.npmjs.org/get-package-type/-/get-package-type-0.1.0.tgz",
|
"resolved": "https://registry.npmjs.org/get-package-type/-/get-package-type-0.1.0.tgz",
|
||||||
@@ -3296,11 +3088,25 @@
|
|||||||
"node": ">=8.0.0"
|
"node": ">=8.0.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"node_modules/get-proto": {
|
||||||
|
"version": "1.0.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/get-proto/-/get-proto-1.0.1.tgz",
|
||||||
|
"integrity": "sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==",
|
||||||
|
"license": "MIT",
|
||||||
|
"dependencies": {
|
||||||
|
"dunder-proto": "^1.0.1",
|
||||||
|
"es-object-atoms": "^1.0.0"
|
||||||
|
},
|
||||||
|
"engines": {
|
||||||
|
"node": ">= 0.4"
|
||||||
|
}
|
||||||
|
},
|
||||||
"node_modules/get-stream": {
|
"node_modules/get-stream": {
|
||||||
"version": "6.0.1",
|
"version": "6.0.1",
|
||||||
"resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz",
|
"resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz",
|
||||||
"integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==",
|
"integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
|
"license": "MIT",
|
||||||
"engines": {
|
"engines": {
|
||||||
"node": ">=10"
|
"node": ">=10"
|
||||||
},
|
},
|
||||||
@@ -3312,8 +3118,8 @@
|
|||||||
"version": "10.5.0",
|
"version": "10.5.0",
|
||||||
"resolved": "https://registry.npmjs.org/glob/-/glob-10.5.0.tgz",
|
"resolved": "https://registry.npmjs.org/glob/-/glob-10.5.0.tgz",
|
||||||
"integrity": "sha512-DfXN8DfhJ7NH3Oe7cFmu3NCu1wKbkReJ8TorzSAFbSKrlNaQSKfIzqYqVY8zlbs2NLBbWpRiU52GX2PbaBVNkg==",
|
"integrity": "sha512-DfXN8DfhJ7NH3Oe7cFmu3NCu1wKbkReJ8TorzSAFbSKrlNaQSKfIzqYqVY8zlbs2NLBbWpRiU52GX2PbaBVNkg==",
|
||||||
"deprecated": "Old versions of glob are not supported, and contain widely publicized security vulnerabilities, which have been fixed in the current version. Please update. Support for old versions may be purchased (at exorbitant rates) by contacting i@izs.me",
|
|
||||||
"dev": true,
|
"dev": true,
|
||||||
|
"license": "ISC",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"foreground-child": "^3.1.0",
|
"foreground-child": "^3.1.0",
|
||||||
"jackspeak": "^3.1.2",
|
"jackspeak": "^3.1.2",
|
||||||
@@ -3330,21 +3136,23 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/glob/node_modules/brace-expansion": {
|
"node_modules/glob/node_modules/brace-expansion": {
|
||||||
"version": "2.1.1",
|
"version": "2.0.2",
|
||||||
"resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.1.1.tgz",
|
"resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.2.tgz",
|
||||||
"integrity": "sha512-WR1cURNjuvBLMZBMbqM0UoE+WAfdUcEV1ccD8PVBVOI+Z3ND4+SZbN8RsfT2bMuG1qwz5RFvPukSZm5fF2D5eA==",
|
"integrity": "sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"balanced-match": "^1.0.0"
|
"balanced-match": "^1.0.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/glob/node_modules/minimatch": {
|
"node_modules/glob/node_modules/minimatch": {
|
||||||
"version": "9.0.9",
|
"version": "9.0.5",
|
||||||
"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.9.tgz",
|
"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz",
|
||||||
"integrity": "sha512-OBwBN9AL4dqmETlpS2zasx+vTeWclWzkblfZk7KTA5j3jeOONz/tRCnZomUyvNg83wL5Zv9Ss6HMJXAgL8R2Yg==",
|
"integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
|
"license": "ISC",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"brace-expansion": "^2.0.2"
|
"brace-expansion": "^2.0.1"
|
||||||
},
|
},
|
||||||
"engines": {
|
"engines": {
|
||||||
"node": ">=16 || 14 >=14.17"
|
"node": ">=16 || 14 >=14.17"
|
||||||
@@ -3353,6 +3161,18 @@
|
|||||||
"url": "https://github.com/sponsors/isaacs"
|
"url": "https://github.com/sponsors/isaacs"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"node_modules/gopd": {
|
||||||
|
"version": "1.2.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/gopd/-/gopd-1.2.0.tgz",
|
||||||
|
"integrity": "sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==",
|
||||||
|
"license": "MIT",
|
||||||
|
"engines": {
|
||||||
|
"node": ">= 0.4"
|
||||||
|
},
|
||||||
|
"funding": {
|
||||||
|
"url": "https://github.com/sponsors/ljharb"
|
||||||
|
}
|
||||||
|
},
|
||||||
"node_modules/graceful-fs": {
|
"node_modules/graceful-fs": {
|
||||||
"version": "4.2.11",
|
"version": "4.2.11",
|
||||||
"resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz",
|
"resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz",
|
||||||
@@ -3360,9 +3180,9 @@
|
|||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
"node_modules/handlebars": {
|
"node_modules/handlebars": {
|
||||||
"version": "4.7.9",
|
"version": "4.7.8",
|
||||||
"resolved": "https://registry.npmjs.org/handlebars/-/handlebars-4.7.9.tgz",
|
"resolved": "https://registry.npmjs.org/handlebars/-/handlebars-4.7.8.tgz",
|
||||||
"integrity": "sha512-4E71E0rpOaQuJR2A3xDZ+GM1HyWYv1clR58tC8emQNeQe3RH7MAzSbat+V0wG78LQBo6m6bzSG/L4pBuCsgnUQ==",
|
"integrity": "sha512-vafaFqs8MZkRrSX7sFVUdo3ap/eNiLnb4IakshzvP56X5Nr1iGKAIqdX6tMlm6HcNRIkr6AxO5jFEoJzzpT8aQ==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
@@ -3390,43 +3210,57 @@
|
|||||||
"node": ">=8"
|
"node": ">=8"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"node_modules/has-symbols": {
|
||||||
|
"version": "1.1.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.1.0.tgz",
|
||||||
|
"integrity": "sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ==",
|
||||||
|
"license": "MIT",
|
||||||
|
"engines": {
|
||||||
|
"node": ">= 0.4"
|
||||||
|
},
|
||||||
|
"funding": {
|
||||||
|
"url": "https://github.com/sponsors/ljharb"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/has-tostringtag": {
|
||||||
|
"version": "1.0.2",
|
||||||
|
"resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.2.tgz",
|
||||||
|
"integrity": "sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==",
|
||||||
|
"license": "MIT",
|
||||||
|
"dependencies": {
|
||||||
|
"has-symbols": "^1.0.3"
|
||||||
|
},
|
||||||
|
"engines": {
|
||||||
|
"node": ">= 0.4"
|
||||||
|
},
|
||||||
|
"funding": {
|
||||||
|
"url": "https://github.com/sponsors/ljharb"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/hasown": {
|
||||||
|
"version": "2.0.2",
|
||||||
|
"resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz",
|
||||||
|
"integrity": "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==",
|
||||||
|
"dependencies": {
|
||||||
|
"function-bind": "^1.1.2"
|
||||||
|
},
|
||||||
|
"engines": {
|
||||||
|
"node": ">= 0.4"
|
||||||
|
}
|
||||||
|
},
|
||||||
"node_modules/html-escaper": {
|
"node_modules/html-escaper": {
|
||||||
"version": "2.0.2",
|
"version": "2.0.2",
|
||||||
"resolved": "https://registry.npmjs.org/html-escaper/-/html-escaper-2.0.2.tgz",
|
"resolved": "https://registry.npmjs.org/html-escaper/-/html-escaper-2.0.2.tgz",
|
||||||
"integrity": "sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==",
|
"integrity": "sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==",
|
||||||
"dev": true
|
"dev": true,
|
||||||
},
|
"license": "MIT"
|
||||||
"node_modules/http-proxy-agent": {
|
|
||||||
"version": "7.0.2",
|
|
||||||
"resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-7.0.2.tgz",
|
|
||||||
"integrity": "sha512-T1gkAiYYDWYx3V5Bmyu7HcfcvL7mUrTWiM6yOfa3PIphViJ/gFPbvidQ+veqSOHci/PxBcDabeUNCzpOODJZig==",
|
|
||||||
"license": "MIT",
|
|
||||||
"dependencies": {
|
|
||||||
"agent-base": "^7.1.0",
|
|
||||||
"debug": "^4.3.4"
|
|
||||||
},
|
|
||||||
"engines": {
|
|
||||||
"node": ">= 14"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"node_modules/https-proxy-agent": {
|
|
||||||
"version": "7.0.6",
|
|
||||||
"resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-7.0.6.tgz",
|
|
||||||
"integrity": "sha512-vK9P5/iUfdl95AI+JVyUuIcVtd4ofvtrOr3HNtM2yxC9bnMbEdp3x01OhQNnjb8IJYi38VlTE3mBXwcfvywuSw==",
|
|
||||||
"license": "MIT",
|
|
||||||
"dependencies": {
|
|
||||||
"agent-base": "^7.1.2",
|
|
||||||
"debug": "4"
|
|
||||||
},
|
|
||||||
"engines": {
|
|
||||||
"node": ">= 14"
|
|
||||||
}
|
|
||||||
},
|
},
|
||||||
"node_modules/human-signals": {
|
"node_modules/human-signals": {
|
||||||
"version": "2.1.0",
|
"version": "2.1.0",
|
||||||
"resolved": "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz",
|
"resolved": "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz",
|
||||||
"integrity": "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==",
|
"integrity": "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
|
"license": "Apache-2.0",
|
||||||
"engines": {
|
"engines": {
|
||||||
"node": ">=10.17.0"
|
"node": ">=10.17.0"
|
||||||
}
|
}
|
||||||
@@ -3436,6 +3270,7 @@
|
|||||||
"resolved": "https://registry.npmjs.org/import-local/-/import-local-3.2.0.tgz",
|
"resolved": "https://registry.npmjs.org/import-local/-/import-local-3.2.0.tgz",
|
||||||
"integrity": "sha512-2SPlun1JUPWoM6t3F0dw0FkCF/jWY8kttcY4f599GLTSjh2OCuuhdTkJQsEcZzBqbXZGKMK2OqW1oZsjtf/gQA==",
|
"integrity": "sha512-2SPlun1JUPWoM6t3F0dw0FkCF/jWY8kttcY4f599GLTSjh2OCuuhdTkJQsEcZzBqbXZGKMK2OqW1oZsjtf/gQA==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"pkg-dir": "^4.2.0",
|
"pkg-dir": "^4.2.0",
|
||||||
"resolve-cwd": "^3.0.0"
|
"resolve-cwd": "^3.0.0"
|
||||||
@@ -3483,13 +3318,15 @@
|
|||||||
"version": "0.2.1",
|
"version": "0.2.1",
|
||||||
"resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz",
|
"resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz",
|
||||||
"integrity": "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==",
|
"integrity": "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==",
|
||||||
"dev": true
|
"dev": true,
|
||||||
|
"license": "MIT"
|
||||||
},
|
},
|
||||||
"node_modules/is-fullwidth-code-point": {
|
"node_modules/is-fullwidth-code-point": {
|
||||||
"version": "3.0.0",
|
"version": "3.0.0",
|
||||||
"resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz",
|
"resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz",
|
||||||
"integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==",
|
"integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
|
"license": "MIT",
|
||||||
"engines": {
|
"engines": {
|
||||||
"node": ">=8"
|
"node": ">=8"
|
||||||
}
|
}
|
||||||
@@ -3499,15 +3336,26 @@
|
|||||||
"resolved": "https://registry.npmjs.org/is-generator-fn/-/is-generator-fn-2.1.0.tgz",
|
"resolved": "https://registry.npmjs.org/is-generator-fn/-/is-generator-fn-2.1.0.tgz",
|
||||||
"integrity": "sha512-cTIB4yPYL/Grw0EaSzASzg6bBy9gqCofvWN8okThAYIxKJZC+udlRAmGbM0XLeniEJSs8uEgHPGuHSe1XsOLSQ==",
|
"integrity": "sha512-cTIB4yPYL/Grw0EaSzASzg6bBy9gqCofvWN8okThAYIxKJZC+udlRAmGbM0XLeniEJSs8uEgHPGuHSe1XsOLSQ==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
|
"license": "MIT",
|
||||||
"engines": {
|
"engines": {
|
||||||
"node": ">=6"
|
"node": ">=6"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"node_modules/is-number": {
|
||||||
|
"version": "7.0.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz",
|
||||||
|
"integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==",
|
||||||
|
"dev": true,
|
||||||
|
"engines": {
|
||||||
|
"node": ">=0.12.0"
|
||||||
|
}
|
||||||
|
},
|
||||||
"node_modules/is-stream": {
|
"node_modules/is-stream": {
|
||||||
"version": "2.0.1",
|
"version": "2.0.1",
|
||||||
"resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz",
|
"resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz",
|
||||||
"integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==",
|
"integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
|
"license": "MIT",
|
||||||
"engines": {
|
"engines": {
|
||||||
"node": ">=8"
|
"node": ">=8"
|
||||||
},
|
},
|
||||||
@@ -3519,7 +3367,8 @@
|
|||||||
"version": "2.0.0",
|
"version": "2.0.0",
|
||||||
"resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz",
|
"resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz",
|
||||||
"integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==",
|
"integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==",
|
||||||
"dev": true
|
"dev": true,
|
||||||
|
"license": "ISC"
|
||||||
},
|
},
|
||||||
"node_modules/istanbul-lib-coverage": {
|
"node_modules/istanbul-lib-coverage": {
|
||||||
"version": "3.2.0",
|
"version": "3.2.0",
|
||||||
@@ -3565,6 +3414,7 @@
|
|||||||
"resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-3.0.1.tgz",
|
"resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-3.0.1.tgz",
|
||||||
"integrity": "sha512-GCfE1mtsHGOELCU8e/Z7YWzpmybrx/+dSTfLrvY8qRmaY6zXTKWn6WQIjaAFw069icm6GVMNkgu0NzI4iPZUNw==",
|
"integrity": "sha512-GCfE1mtsHGOELCU8e/Z7YWzpmybrx/+dSTfLrvY8qRmaY6zXTKWn6WQIjaAFw069icm6GVMNkgu0NzI4iPZUNw==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
|
"license": "BSD-3-Clause",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"istanbul-lib-coverage": "^3.0.0",
|
"istanbul-lib-coverage": "^3.0.0",
|
||||||
"make-dir": "^4.0.0",
|
"make-dir": "^4.0.0",
|
||||||
@@ -3579,6 +3429,7 @@
|
|||||||
"resolved": "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-5.0.6.tgz",
|
"resolved": "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-5.0.6.tgz",
|
||||||
"integrity": "sha512-yg2d+Em4KizZC5niWhQaIomgf5WlL4vOOjZ5xGCmF8SnPE/mDWWXgvRExdcpCgh9lLRRa1/fSYp2ymmbJ1pI+A==",
|
"integrity": "sha512-yg2d+Em4KizZC5niWhQaIomgf5WlL4vOOjZ5xGCmF8SnPE/mDWWXgvRExdcpCgh9lLRRa1/fSYp2ymmbJ1pI+A==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
|
"license": "BSD-3-Clause",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@jridgewell/trace-mapping": "^0.3.23",
|
"@jridgewell/trace-mapping": "^0.3.23",
|
||||||
"debug": "^4.1.1",
|
"debug": "^4.1.1",
|
||||||
@@ -3593,6 +3444,7 @@
|
|||||||
"resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.2.0.tgz",
|
"resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.2.0.tgz",
|
||||||
"integrity": "sha512-HGYWWS/ehqTV3xN10i23tkPkpH46MLCIMFNCaaKNavAXTF1RkqxawEPtnjnGZ6XKSInBKkiOA5BKS+aZiY3AvA==",
|
"integrity": "sha512-HGYWWS/ehqTV3xN10i23tkPkpH46MLCIMFNCaaKNavAXTF1RkqxawEPtnjnGZ6XKSInBKkiOA5BKS+aZiY3AvA==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
|
"license": "BSD-3-Clause",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"html-escaper": "^2.0.0",
|
"html-escaper": "^2.0.0",
|
||||||
"istanbul-lib-report": "^3.0.0"
|
"istanbul-lib-report": "^3.0.0"
|
||||||
@@ -3606,6 +3458,7 @@
|
|||||||
"resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-3.4.3.tgz",
|
"resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-3.4.3.tgz",
|
||||||
"integrity": "sha512-OGlZQpz2yfahA/Rd1Y8Cd9SIEsqvXkLVoSw/cgwhnhFMDbsQFeZYoJJ7bIZBS9BcamUW96asq/npPWugM+RQBw==",
|
"integrity": "sha512-OGlZQpz2yfahA/Rd1Y8Cd9SIEsqvXkLVoSw/cgwhnhFMDbsQFeZYoJJ7bIZBS9BcamUW96asq/npPWugM+RQBw==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
|
"license": "BlueOak-1.0.0",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@isaacs/cliui": "^8.0.2"
|
"@isaacs/cliui": "^8.0.2"
|
||||||
},
|
},
|
||||||
@@ -3617,15 +3470,16 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/jest": {
|
"node_modules/jest": {
|
||||||
"version": "30.4.2",
|
"version": "30.2.0",
|
||||||
"resolved": "https://registry.npmjs.org/jest/-/jest-30.4.2.tgz",
|
"resolved": "https://registry.npmjs.org/jest/-/jest-30.2.0.tgz",
|
||||||
"integrity": "sha512-Yi1jqNC/Oq0N4hBgNH/YvBpP1P57QqundgytzYqy3yqAa7NZPNjSoi4SGbRAXDMdBzNE6xBCi5U7RgfrvMEUVQ==",
|
"integrity": "sha512-F26gjC0yWN8uAA5m5Ss8ZQf5nDHWGlN/xWZIh8S5SRbsEKBovwZhxGd6LJlbZYxBgCYOtreSUyb8hpXyGC5O4A==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@jest/core": "30.4.2",
|
"@jest/core": "30.2.0",
|
||||||
"@jest/types": "30.4.1",
|
"@jest/types": "30.2.0",
|
||||||
"import-local": "^3.2.0",
|
"import-local": "^3.2.0",
|
||||||
"jest-cli": "30.4.2"
|
"jest-cli": "30.2.0"
|
||||||
},
|
},
|
||||||
"bin": {
|
"bin": {
|
||||||
"jest": "bin/jest.js"
|
"jest": "bin/jest.js"
|
||||||
@@ -3643,13 +3497,14 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/jest-changed-files": {
|
"node_modules/jest-changed-files": {
|
||||||
"version": "30.4.1",
|
"version": "30.2.0",
|
||||||
"resolved": "https://registry.npmjs.org/jest-changed-files/-/jest-changed-files-30.4.1.tgz",
|
"resolved": "https://registry.npmjs.org/jest-changed-files/-/jest-changed-files-30.2.0.tgz",
|
||||||
"integrity": "sha512-IuctmYrxi21iOSOaIXpJWalHyPAsVv0GeBHKDn8C1CA4W5htHn7INL+wdnL4Bo0+olEndvAFkmb++tIQJG+vvg==",
|
"integrity": "sha512-L8lR1ChrRnSdfeOvTrwZMlnWV8G/LLjQ0nG9MBclwWZidA2N5FviRki0Bvh20WRMOX31/JYvzdqTJrk5oBdydQ==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"execa": "^5.1.1",
|
"execa": "^5.1.1",
|
||||||
"jest-util": "30.4.1",
|
"jest-util": "30.2.0",
|
||||||
"p-limit": "^3.1.0"
|
"p-limit": "^3.1.0"
|
||||||
},
|
},
|
||||||
"engines": {
|
"engines": {
|
||||||
@@ -3657,28 +3512,29 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/jest-circus": {
|
"node_modules/jest-circus": {
|
||||||
"version": "30.4.2",
|
"version": "30.2.0",
|
||||||
"resolved": "https://registry.npmjs.org/jest-circus/-/jest-circus-30.4.2.tgz",
|
"resolved": "https://registry.npmjs.org/jest-circus/-/jest-circus-30.2.0.tgz",
|
||||||
"integrity": "sha512-rvHH7VlY6LgbJXJTQ87GW62g1FntOtbhh0zT+v04kC+pgL6aBKyYINXxWukCpj3dcIBMw5/XUbtDS9dU9JTXeQ==",
|
"integrity": "sha512-Fh0096NC3ZkFx05EP2OXCxJAREVxj1BcW/i6EWqqymcgYKWjyyDpral3fMxVcHXg6oZM7iULer9wGRFvfpl+Tg==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@jest/environment": "30.4.1",
|
"@jest/environment": "30.2.0",
|
||||||
"@jest/expect": "30.4.1",
|
"@jest/expect": "30.2.0",
|
||||||
"@jest/test-result": "30.4.1",
|
"@jest/test-result": "30.2.0",
|
||||||
"@jest/types": "30.4.1",
|
"@jest/types": "30.2.0",
|
||||||
"@types/node": "*",
|
"@types/node": "*",
|
||||||
"chalk": "^4.1.2",
|
"chalk": "^4.1.2",
|
||||||
"co": "^4.6.0",
|
"co": "^4.6.0",
|
||||||
"dedent": "^1.6.0",
|
"dedent": "^1.6.0",
|
||||||
"is-generator-fn": "^2.1.0",
|
"is-generator-fn": "^2.1.0",
|
||||||
"jest-each": "30.4.1",
|
"jest-each": "30.2.0",
|
||||||
"jest-matcher-utils": "30.4.1",
|
"jest-matcher-utils": "30.2.0",
|
||||||
"jest-message-util": "30.4.1",
|
"jest-message-util": "30.2.0",
|
||||||
"jest-runtime": "30.4.2",
|
"jest-runtime": "30.2.0",
|
||||||
"jest-snapshot": "30.4.1",
|
"jest-snapshot": "30.2.0",
|
||||||
"jest-util": "30.4.1",
|
"jest-util": "30.2.0",
|
||||||
"p-limit": "^3.1.0",
|
"p-limit": "^3.1.0",
|
||||||
"pretty-format": "30.4.1",
|
"pretty-format": "30.2.0",
|
||||||
"pure-rand": "^7.0.0",
|
"pure-rand": "^7.0.0",
|
||||||
"slash": "^3.0.0",
|
"slash": "^3.0.0",
|
||||||
"stack-utils": "^2.0.6"
|
"stack-utils": "^2.0.6"
|
||||||
@@ -3688,20 +3544,21 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/jest-cli": {
|
"node_modules/jest-cli": {
|
||||||
"version": "30.4.2",
|
"version": "30.2.0",
|
||||||
"resolved": "https://registry.npmjs.org/jest-cli/-/jest-cli-30.4.2.tgz",
|
"resolved": "https://registry.npmjs.org/jest-cli/-/jest-cli-30.2.0.tgz",
|
||||||
"integrity": "sha512-jfA2ocvVHMXS2QijrJ0d31ektP+d/W0T5RpcTX2Pq+3sVqHlsXVCM2+FmwpL+bdY8OfHpIg9xMxLF17Zg0U49Q==",
|
"integrity": "sha512-Os9ukIvADX/A9sLt6Zse3+nmHtHaE6hqOsjQtNiugFTbKRHYIYtZXNGNK9NChseXy7djFPjndX1tL0sCTlfpAA==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@jest/core": "30.4.2",
|
"@jest/core": "30.2.0",
|
||||||
"@jest/test-result": "30.4.1",
|
"@jest/test-result": "30.2.0",
|
||||||
"@jest/types": "30.4.1",
|
"@jest/types": "30.2.0",
|
||||||
"chalk": "^4.1.2",
|
"chalk": "^4.1.2",
|
||||||
"exit-x": "^0.2.2",
|
"exit-x": "^0.2.2",
|
||||||
"import-local": "^3.2.0",
|
"import-local": "^3.2.0",
|
||||||
"jest-config": "30.4.2",
|
"jest-config": "30.2.0",
|
||||||
"jest-util": "30.4.1",
|
"jest-util": "30.2.0",
|
||||||
"jest-validate": "30.4.1",
|
"jest-validate": "30.2.0",
|
||||||
"yargs": "^17.7.2"
|
"yargs": "^17.7.2"
|
||||||
},
|
},
|
||||||
"bin": {
|
"bin": {
|
||||||
@@ -3720,32 +3577,34 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/jest-config": {
|
"node_modules/jest-config": {
|
||||||
"version": "30.4.2",
|
"version": "30.2.0",
|
||||||
"resolved": "https://registry.npmjs.org/jest-config/-/jest-config-30.4.2.tgz",
|
"resolved": "https://registry.npmjs.org/jest-config/-/jest-config-30.2.0.tgz",
|
||||||
"integrity": "sha512-rNHAShJQqQwFNoL0hbf3BphSBOWnpOUAKvidLS/AjNVLPfoj5mSf4jQMfW3cYOs6hXeZC7nF7mDHaBnbxELOzg==",
|
"integrity": "sha512-g4WkyzFQVWHtu6uqGmQR4CQxz/CH3yDSlhzXMWzNjDx843gYjReZnMRanjRCq5XZFuQrGDxgUaiYWE8BRfVckA==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@babel/core": "^7.27.4",
|
"@babel/core": "^7.27.4",
|
||||||
"@jest/get-type": "30.1.0",
|
"@jest/get-type": "30.1.0",
|
||||||
"@jest/pattern": "30.4.0",
|
"@jest/pattern": "30.0.1",
|
||||||
"@jest/test-sequencer": "30.4.1",
|
"@jest/test-sequencer": "30.2.0",
|
||||||
"@jest/types": "30.4.1",
|
"@jest/types": "30.2.0",
|
||||||
"babel-jest": "30.4.1",
|
"babel-jest": "30.2.0",
|
||||||
"chalk": "^4.1.2",
|
"chalk": "^4.1.2",
|
||||||
"ci-info": "^4.2.0",
|
"ci-info": "^4.2.0",
|
||||||
"deepmerge": "^4.3.1",
|
"deepmerge": "^4.3.1",
|
||||||
"glob": "^10.5.0",
|
"glob": "^10.3.10",
|
||||||
"graceful-fs": "^4.2.11",
|
"graceful-fs": "^4.2.11",
|
||||||
"jest-circus": "30.4.2",
|
"jest-circus": "30.2.0",
|
||||||
"jest-docblock": "30.4.0",
|
"jest-docblock": "30.2.0",
|
||||||
"jest-environment-node": "30.4.1",
|
"jest-environment-node": "30.2.0",
|
||||||
"jest-regex-util": "30.4.0",
|
"jest-regex-util": "30.0.1",
|
||||||
"jest-resolve": "30.4.1",
|
"jest-resolve": "30.2.0",
|
||||||
"jest-runner": "30.4.2",
|
"jest-runner": "30.2.0",
|
||||||
"jest-util": "30.4.1",
|
"jest-util": "30.2.0",
|
||||||
"jest-validate": "30.4.1",
|
"jest-validate": "30.2.0",
|
||||||
|
"micromatch": "^4.0.8",
|
||||||
"parse-json": "^5.2.0",
|
"parse-json": "^5.2.0",
|
||||||
"pretty-format": "30.4.1",
|
"pretty-format": "30.2.0",
|
||||||
"slash": "^3.0.0",
|
"slash": "^3.0.0",
|
||||||
"strip-json-comments": "^3.1.1"
|
"strip-json-comments": "^3.1.1"
|
||||||
},
|
},
|
||||||
@@ -3770,25 +3629,27 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/jest-diff": {
|
"node_modules/jest-diff": {
|
||||||
"version": "30.4.1",
|
"version": "30.2.0",
|
||||||
"resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-30.4.1.tgz",
|
"resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-30.2.0.tgz",
|
||||||
"integrity": "sha512-CRpFK0RtLriVDGcPPAnR6HMVI8bSR2jnUIgralhauzYQZIb4RH9AtEInTuQr65LmmGggGcRT6HIASxwqsVsmlA==",
|
"integrity": "sha512-dQHFo3Pt4/NLlG5z4PxZ/3yZTZ1C7s9hveiOj+GCN+uT109NC2QgsoVZsVOAvbJ3RgKkvyLGXZV9+piDpWbm6A==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@jest/diff-sequences": "30.4.0",
|
"@jest/diff-sequences": "30.0.1",
|
||||||
"@jest/get-type": "30.1.0",
|
"@jest/get-type": "30.1.0",
|
||||||
"chalk": "^4.1.2",
|
"chalk": "^4.1.2",
|
||||||
"pretty-format": "30.4.1"
|
"pretty-format": "30.2.0"
|
||||||
},
|
},
|
||||||
"engines": {
|
"engines": {
|
||||||
"node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0"
|
"node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/jest-docblock": {
|
"node_modules/jest-docblock": {
|
||||||
"version": "30.4.0",
|
"version": "30.2.0",
|
||||||
"resolved": "https://registry.npmjs.org/jest-docblock/-/jest-docblock-30.4.0.tgz",
|
"resolved": "https://registry.npmjs.org/jest-docblock/-/jest-docblock-30.2.0.tgz",
|
||||||
"integrity": "sha512-ZPMabUZCx5MpbZ2eBYSvZ0J8fvo3dR9oM+eeUpb3aKNQFuS2tu3Duw1TNlMoP8k3WQgKGJuhcMFvwcVuq6T7oA==",
|
"integrity": "sha512-tR/FFgZKS1CXluOQzZvNH3+0z9jXr3ldGSD8bhyuxvlVUwbeLOGynkunvlTMxchC5urrKndYiwCFC0DLVjpOCA==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"detect-newline": "^3.1.0"
|
"detect-newline": "^3.1.0"
|
||||||
},
|
},
|
||||||
@@ -3797,54 +3658,57 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/jest-each": {
|
"node_modules/jest-each": {
|
||||||
"version": "30.4.1",
|
"version": "30.2.0",
|
||||||
"resolved": "https://registry.npmjs.org/jest-each/-/jest-each-30.4.1.tgz",
|
"resolved": "https://registry.npmjs.org/jest-each/-/jest-each-30.2.0.tgz",
|
||||||
"integrity": "sha512-/8MJbH6fuj48TstjrMf+u/pd06Qezz5xOXvZA6442heNOWr8bdeoGZX2d9fCn028CoMgYmroH9//zky5GfyYmA==",
|
"integrity": "sha512-lpWlJlM7bCUf1mfmuqTA8+j2lNURW9eNafOy99knBM01i5CQeY5UH1vZjgT9071nDJac1M4XsbyI44oNOdhlDQ==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@jest/get-type": "30.1.0",
|
"@jest/get-type": "30.1.0",
|
||||||
"@jest/types": "30.4.1",
|
"@jest/types": "30.2.0",
|
||||||
"chalk": "^4.1.2",
|
"chalk": "^4.1.2",
|
||||||
"jest-util": "30.4.1",
|
"jest-util": "30.2.0",
|
||||||
"pretty-format": "30.4.1"
|
"pretty-format": "30.2.0"
|
||||||
},
|
},
|
||||||
"engines": {
|
"engines": {
|
||||||
"node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0"
|
"node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/jest-environment-node": {
|
"node_modules/jest-environment-node": {
|
||||||
"version": "30.4.1",
|
"version": "30.2.0",
|
||||||
"resolved": "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-30.4.1.tgz",
|
"resolved": "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-30.2.0.tgz",
|
||||||
"integrity": "sha512-4FZYVOk85hz2AyT6BbarKy9u37g6DbrDyCdFhsnDdXqyrueYQvB+0zO4f/kqLCRD0BsPRXPMNJeQwihKZV8naw==",
|
"integrity": "sha512-ElU8v92QJ9UrYsKrxDIKCxu6PfNj4Hdcktcn0JX12zqNdqWHB0N+hwOnnBBXvjLd2vApZtuLUGs1QSY+MsXoNA==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@jest/environment": "30.4.1",
|
"@jest/environment": "30.2.0",
|
||||||
"@jest/fake-timers": "30.4.1",
|
"@jest/fake-timers": "30.2.0",
|
||||||
"@jest/types": "30.4.1",
|
"@jest/types": "30.2.0",
|
||||||
"@types/node": "*",
|
"@types/node": "*",
|
||||||
"jest-mock": "30.4.1",
|
"jest-mock": "30.2.0",
|
||||||
"jest-util": "30.4.1",
|
"jest-util": "30.2.0",
|
||||||
"jest-validate": "30.4.1"
|
"jest-validate": "30.2.0"
|
||||||
},
|
},
|
||||||
"engines": {
|
"engines": {
|
||||||
"node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0"
|
"node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/jest-haste-map": {
|
"node_modules/jest-haste-map": {
|
||||||
"version": "30.4.1",
|
"version": "30.2.0",
|
||||||
"resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-30.4.1.tgz",
|
"resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-30.2.0.tgz",
|
||||||
"integrity": "sha512-rFrcONd8jeFsyw+Z9CrScJgglRf2+NFmNam8dKu7n+SoHqNYT47mn0DdEcVUZJpvh7Iz6/si7f7yUH7GJHVgnw==",
|
"integrity": "sha512-sQA/jCb9kNt+neM0anSj6eZhLZUIhQgwDt7cPGjumgLM4rXsfb9kpnlacmvZz3Q5tb80nS+oG/if+NBKrHC+Xw==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@jest/types": "30.4.1",
|
"@jest/types": "30.2.0",
|
||||||
"@types/node": "*",
|
"@types/node": "*",
|
||||||
"anymatch": "^3.1.3",
|
"anymatch": "^3.1.3",
|
||||||
"fb-watchman": "^2.0.2",
|
"fb-watchman": "^2.0.2",
|
||||||
"graceful-fs": "^4.2.11",
|
"graceful-fs": "^4.2.11",
|
||||||
"jest-regex-util": "30.4.0",
|
"jest-regex-util": "30.0.1",
|
||||||
"jest-util": "30.4.1",
|
"jest-util": "30.2.0",
|
||||||
"jest-worker": "30.4.1",
|
"jest-worker": "30.2.0",
|
||||||
"picomatch": "^4.0.3",
|
"micromatch": "^4.0.8",
|
||||||
"walker": "^1.0.8"
|
"walker": "^1.0.8"
|
||||||
},
|
},
|
||||||
"engines": {
|
"engines": {
|
||||||
@@ -3854,60 +3718,50 @@
|
|||||||
"fsevents": "^2.3.3"
|
"fsevents": "^2.3.3"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/jest-haste-map/node_modules/picomatch": {
|
|
||||||
"version": "4.0.4",
|
|
||||||
"resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.4.tgz",
|
|
||||||
"integrity": "sha512-QP88BAKvMam/3NxH6vj2o21R6MjxZUAd6nlwAS/pnGvN9IVLocLHxGYIzFhg6fUQ+5th6P4dv4eW9jX3DSIj7A==",
|
|
||||||
"dev": true,
|
|
||||||
"engines": {
|
|
||||||
"node": ">=12"
|
|
||||||
},
|
|
||||||
"funding": {
|
|
||||||
"url": "https://github.com/sponsors/jonschlinkert"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"node_modules/jest-leak-detector": {
|
"node_modules/jest-leak-detector": {
|
||||||
"version": "30.4.1",
|
"version": "30.2.0",
|
||||||
"resolved": "https://registry.npmjs.org/jest-leak-detector/-/jest-leak-detector-30.4.1.tgz",
|
"resolved": "https://registry.npmjs.org/jest-leak-detector/-/jest-leak-detector-30.2.0.tgz",
|
||||||
"integrity": "sha512-IpmyiioeHxiWDhesHnUFmOxcTzwCwKpgACgWajtAP+nYQXiY7DakTxB6Bx9JFiRMljr0AX1PvnQdaU1KFoz6NQ==",
|
"integrity": "sha512-M6jKAjyzjHG0SrQgwhgZGy9hFazcudwCNovY/9HPIicmNSBuockPSedAP9vlPK6ONFJ1zfyH/M2/YYJxOz5cdQ==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@jest/get-type": "30.1.0",
|
"@jest/get-type": "30.1.0",
|
||||||
"pretty-format": "30.4.1"
|
"pretty-format": "30.2.0"
|
||||||
},
|
},
|
||||||
"engines": {
|
"engines": {
|
||||||
"node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0"
|
"node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/jest-matcher-utils": {
|
"node_modules/jest-matcher-utils": {
|
||||||
"version": "30.4.1",
|
"version": "30.2.0",
|
||||||
"resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-30.4.1.tgz",
|
"resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-30.2.0.tgz",
|
||||||
"integrity": "sha512-zvYfX5CaeEkFrrLS9suWe9rvJrm9J1Iv3ua8kIBv9GEPzcnsfBf0bob37la7s67fs0nlBC3EuvkOLnXQKxtx4A==",
|
"integrity": "sha512-dQ94Nq4dbzmUWkQ0ANAWS9tBRfqCrn0bV9AMYdOi/MHW726xn7eQmMeRTpX2ViC00bpNaWXq+7o4lIQ3AX13Hg==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@jest/get-type": "30.1.0",
|
"@jest/get-type": "30.1.0",
|
||||||
"chalk": "^4.1.2",
|
"chalk": "^4.1.2",
|
||||||
"jest-diff": "30.4.1",
|
"jest-diff": "30.2.0",
|
||||||
"pretty-format": "30.4.1"
|
"pretty-format": "30.2.0"
|
||||||
},
|
},
|
||||||
"engines": {
|
"engines": {
|
||||||
"node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0"
|
"node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/jest-message-util": {
|
"node_modules/jest-message-util": {
|
||||||
"version": "30.4.1",
|
"version": "30.2.0",
|
||||||
"resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-30.4.1.tgz",
|
"resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-30.2.0.tgz",
|
||||||
"integrity": "sha512-kwCKIvq0MCW1HzLoGola9Te6JUdzgV0loyKJ3Qghrkz9i5/RRIHsL95BMQc2HBBhlBKC4j22K9p11TGHH8RBpQ==",
|
"integrity": "sha512-y4DKFLZ2y6DxTWD4cDe07RglV88ZiNEdlRfGtqahfbIjfsw1nMCPx49Uev4IA/hWn3sDKyAnSPwoYSsAEdcimw==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@babel/code-frame": "^7.27.1",
|
"@babel/code-frame": "^7.27.1",
|
||||||
"@jest/types": "30.4.1",
|
"@jest/types": "30.2.0",
|
||||||
"@types/stack-utils": "^2.0.3",
|
"@types/stack-utils": "^2.0.3",
|
||||||
"chalk": "^4.1.2",
|
"chalk": "^4.1.2",
|
||||||
"graceful-fs": "^4.2.11",
|
"graceful-fs": "^4.2.11",
|
||||||
"jest-util": "30.4.1",
|
"micromatch": "^4.0.8",
|
||||||
"picomatch": "^4.0.3",
|
"pretty-format": "30.2.0",
|
||||||
"pretty-format": "30.4.1",
|
|
||||||
"slash": "^3.0.0",
|
"slash": "^3.0.0",
|
||||||
"stack-utils": "^2.0.6"
|
"stack-utils": "^2.0.6"
|
||||||
},
|
},
|
||||||
@@ -3915,27 +3769,16 @@
|
|||||||
"node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0"
|
"node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/jest-message-util/node_modules/picomatch": {
|
|
||||||
"version": "4.0.4",
|
|
||||||
"resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.4.tgz",
|
|
||||||
"integrity": "sha512-QP88BAKvMam/3NxH6vj2o21R6MjxZUAd6nlwAS/pnGvN9IVLocLHxGYIzFhg6fUQ+5th6P4dv4eW9jX3DSIj7A==",
|
|
||||||
"dev": true,
|
|
||||||
"engines": {
|
|
||||||
"node": ">=12"
|
|
||||||
},
|
|
||||||
"funding": {
|
|
||||||
"url": "https://github.com/sponsors/jonschlinkert"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"node_modules/jest-mock": {
|
"node_modules/jest-mock": {
|
||||||
"version": "30.4.1",
|
"version": "30.2.0",
|
||||||
"resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-30.4.1.tgz",
|
"resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-30.2.0.tgz",
|
||||||
"integrity": "sha512-/i8SVb8/NSB7RfNi8gfqu8gxLV23KaL5EpAttyb9iz8qWRIqXRLflycz/32wXsYkOnaUlx8NAKnJYtpsmXUmfw==",
|
"integrity": "sha512-JNNNl2rj4b5ICpmAcq+WbLH83XswjPbjH4T7yvGzfAGCPh1rw+xVNbtk+FnRslvt9lkCcdn9i1oAoKUuFsOxRw==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@jest/types": "30.4.1",
|
"@jest/types": "30.2.0",
|
||||||
"@types/node": "*",
|
"@types/node": "*",
|
||||||
"jest-util": "30.4.1"
|
"jest-util": "30.2.0"
|
||||||
},
|
},
|
||||||
"engines": {
|
"engines": {
|
||||||
"node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0"
|
"node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0"
|
||||||
@@ -3946,6 +3789,7 @@
|
|||||||
"resolved": "https://registry.npmjs.org/jest-pnp-resolver/-/jest-pnp-resolver-1.2.3.tgz",
|
"resolved": "https://registry.npmjs.org/jest-pnp-resolver/-/jest-pnp-resolver-1.2.3.tgz",
|
||||||
"integrity": "sha512-+3NpwQEnRoIBtx4fyhblQDPgJI0H1IEIkX7ShLUjPGA7TtUTvI1oiKi3SR4oBR0hQhQR80l4WAe5RrXBwWMA8w==",
|
"integrity": "sha512-+3NpwQEnRoIBtx4fyhblQDPgJI0H1IEIkX7ShLUjPGA7TtUTvI1oiKi3SR4oBR0hQhQR80l4WAe5RrXBwWMA8w==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
|
"license": "MIT",
|
||||||
"engines": {
|
"engines": {
|
||||||
"node": ">=6"
|
"node": ">=6"
|
||||||
},
|
},
|
||||||
@@ -3959,26 +3803,28 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/jest-regex-util": {
|
"node_modules/jest-regex-util": {
|
||||||
"version": "30.4.0",
|
"version": "30.0.1",
|
||||||
"resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-30.4.0.tgz",
|
"resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-30.0.1.tgz",
|
||||||
"integrity": "sha512-mWlvLviKIgIQ8VCuM1xRdD0TWp3zlzionlmDBjuXVBs+VkmXq6FgW9T4Emr7oGz/Rk6feDCGyiugolcQEyp3mg==",
|
"integrity": "sha512-jHEQgBXAgc+Gh4g0p3bCevgRCVRkB4VB70zhoAE48gxeSr1hfUOsM/C2WoJgVL7Eyg//hudYENbm3Ne+/dRVVA==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
|
"license": "MIT",
|
||||||
"engines": {
|
"engines": {
|
||||||
"node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0"
|
"node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/jest-resolve": {
|
"node_modules/jest-resolve": {
|
||||||
"version": "30.4.1",
|
"version": "30.2.0",
|
||||||
"resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-30.4.1.tgz",
|
"resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-30.2.0.tgz",
|
||||||
"integrity": "sha512-Zry8Yq/yJcNAZ7dJ5F2heic8AheXvbFZ7XI5V+h28nrYZ7Qoyy4dItq8OodjnYD270mvX+ZudmrNV9cysqhW5Q==",
|
"integrity": "sha512-TCrHSxPlx3tBY3hWNtRQKbtgLhsXa1WmbJEqBlTBrGafd5fiQFByy2GNCEoGR+Tns8d15GaL9cxEzKOO3GEb2A==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"chalk": "^4.1.2",
|
"chalk": "^4.1.2",
|
||||||
"graceful-fs": "^4.2.11",
|
"graceful-fs": "^4.2.11",
|
||||||
"jest-haste-map": "30.4.1",
|
"jest-haste-map": "30.2.0",
|
||||||
"jest-pnp-resolver": "^1.2.3",
|
"jest-pnp-resolver": "^1.2.3",
|
||||||
"jest-util": "30.4.1",
|
"jest-util": "30.2.0",
|
||||||
"jest-validate": "30.4.1",
|
"jest-validate": "30.2.0",
|
||||||
"slash": "^3.0.0",
|
"slash": "^3.0.0",
|
||||||
"unrs-resolver": "^1.7.11"
|
"unrs-resolver": "^1.7.11"
|
||||||
},
|
},
|
||||||
@@ -3987,44 +3833,46 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/jest-resolve-dependencies": {
|
"node_modules/jest-resolve-dependencies": {
|
||||||
"version": "30.4.2",
|
"version": "30.2.0",
|
||||||
"resolved": "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-30.4.2.tgz",
|
"resolved": "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-30.2.0.tgz",
|
||||||
"integrity": "sha512-gDiVh1I+GxYzz9oXlyw+1wv6VOYX1WYxMOfjsA3iGKePV2oxmbHhwxfkALxNxYy1ciw6APWwkW2zZONwP97aEQ==",
|
"integrity": "sha512-xTOIGug/0RmIe3mmCqCT95yO0vj6JURrn1TKWlNbhiAefJRWINNPgwVkrVgt/YaerPzY3iItufd80v3lOrFJ2w==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"jest-regex-util": "30.4.0",
|
"jest-regex-util": "30.0.1",
|
||||||
"jest-snapshot": "30.4.1"
|
"jest-snapshot": "30.2.0"
|
||||||
},
|
},
|
||||||
"engines": {
|
"engines": {
|
||||||
"node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0"
|
"node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/jest-runner": {
|
"node_modules/jest-runner": {
|
||||||
"version": "30.4.2",
|
"version": "30.2.0",
|
||||||
"resolved": "https://registry.npmjs.org/jest-runner/-/jest-runner-30.4.2.tgz",
|
"resolved": "https://registry.npmjs.org/jest-runner/-/jest-runner-30.2.0.tgz",
|
||||||
"integrity": "sha512-2dw0PslVYXxffXGpLo+Ejad+KcI1Qkjn7f4X4619gf21oCUmL+SPfjqIa/losUem3yEOvfNZe/F1HWUcNpODcg==",
|
"integrity": "sha512-PqvZ2B2XEyPEbclp+gV6KO/F1FIFSbIwewRgmROCMBo/aZ6J1w8Qypoj2pEOcg3G2HzLlaP6VUtvwCI8dM3oqQ==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@jest/console": "30.4.1",
|
"@jest/console": "30.2.0",
|
||||||
"@jest/environment": "30.4.1",
|
"@jest/environment": "30.2.0",
|
||||||
"@jest/test-result": "30.4.1",
|
"@jest/test-result": "30.2.0",
|
||||||
"@jest/transform": "30.4.1",
|
"@jest/transform": "30.2.0",
|
||||||
"@jest/types": "30.4.1",
|
"@jest/types": "30.2.0",
|
||||||
"@types/node": "*",
|
"@types/node": "*",
|
||||||
"chalk": "^4.1.2",
|
"chalk": "^4.1.2",
|
||||||
"emittery": "^0.13.1",
|
"emittery": "^0.13.1",
|
||||||
"exit-x": "^0.2.2",
|
"exit-x": "^0.2.2",
|
||||||
"graceful-fs": "^4.2.11",
|
"graceful-fs": "^4.2.11",
|
||||||
"jest-docblock": "30.4.0",
|
"jest-docblock": "30.2.0",
|
||||||
"jest-environment-node": "30.4.1",
|
"jest-environment-node": "30.2.0",
|
||||||
"jest-haste-map": "30.4.1",
|
"jest-haste-map": "30.2.0",
|
||||||
"jest-leak-detector": "30.4.1",
|
"jest-leak-detector": "30.2.0",
|
||||||
"jest-message-util": "30.4.1",
|
"jest-message-util": "30.2.0",
|
||||||
"jest-resolve": "30.4.1",
|
"jest-resolve": "30.2.0",
|
||||||
"jest-runtime": "30.4.2",
|
"jest-runtime": "30.2.0",
|
||||||
"jest-util": "30.4.1",
|
"jest-util": "30.2.0",
|
||||||
"jest-watcher": "30.4.1",
|
"jest-watcher": "30.2.0",
|
||||||
"jest-worker": "30.4.1",
|
"jest-worker": "30.2.0",
|
||||||
"p-limit": "^3.1.0",
|
"p-limit": "^3.1.0",
|
||||||
"source-map-support": "0.5.13"
|
"source-map-support": "0.5.13"
|
||||||
},
|
},
|
||||||
@@ -4033,31 +3881,32 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/jest-runtime": {
|
"node_modules/jest-runtime": {
|
||||||
"version": "30.4.2",
|
"version": "30.2.0",
|
||||||
"resolved": "https://registry.npmjs.org/jest-runtime/-/jest-runtime-30.4.2.tgz",
|
"resolved": "https://registry.npmjs.org/jest-runtime/-/jest-runtime-30.2.0.tgz",
|
||||||
"integrity": "sha512-3/5e8iPz2k/VLqlr8DgTftYyLUv8Su3FkCAO2/Od81UsUTpSxOrS6O5x5KkoQwyUjmpYyDJKeyAvg2T2nvpNkQ==",
|
"integrity": "sha512-p1+GVX/PJqTucvsmERPMgCPvQJpFt4hFbM+VN3n8TMo47decMUcJbt+rgzwrEme0MQUA/R+1de2axftTHkKckg==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@jest/environment": "30.4.1",
|
"@jest/environment": "30.2.0",
|
||||||
"@jest/fake-timers": "30.4.1",
|
"@jest/fake-timers": "30.2.0",
|
||||||
"@jest/globals": "30.4.1",
|
"@jest/globals": "30.2.0",
|
||||||
"@jest/source-map": "30.0.1",
|
"@jest/source-map": "30.0.1",
|
||||||
"@jest/test-result": "30.4.1",
|
"@jest/test-result": "30.2.0",
|
||||||
"@jest/transform": "30.4.1",
|
"@jest/transform": "30.2.0",
|
||||||
"@jest/types": "30.4.1",
|
"@jest/types": "30.2.0",
|
||||||
"@types/node": "*",
|
"@types/node": "*",
|
||||||
"chalk": "^4.1.2",
|
"chalk": "^4.1.2",
|
||||||
"cjs-module-lexer": "^2.1.0",
|
"cjs-module-lexer": "^2.1.0",
|
||||||
"collect-v8-coverage": "^1.0.2",
|
"collect-v8-coverage": "^1.0.2",
|
||||||
"glob": "^10.5.0",
|
"glob": "^10.3.10",
|
||||||
"graceful-fs": "^4.2.11",
|
"graceful-fs": "^4.2.11",
|
||||||
"jest-haste-map": "30.4.1",
|
"jest-haste-map": "30.2.0",
|
||||||
"jest-message-util": "30.4.1",
|
"jest-message-util": "30.2.0",
|
||||||
"jest-mock": "30.4.1",
|
"jest-mock": "30.2.0",
|
||||||
"jest-regex-util": "30.4.0",
|
"jest-regex-util": "30.0.1",
|
||||||
"jest-resolve": "30.4.1",
|
"jest-resolve": "30.2.0",
|
||||||
"jest-snapshot": "30.4.1",
|
"jest-snapshot": "30.2.0",
|
||||||
"jest-util": "30.4.1",
|
"jest-util": "30.2.0",
|
||||||
"slash": "^3.0.0",
|
"slash": "^3.0.0",
|
||||||
"strip-bom": "^4.0.0"
|
"strip-bom": "^4.0.0"
|
||||||
},
|
},
|
||||||
@@ -4066,30 +3915,31 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/jest-snapshot": {
|
"node_modules/jest-snapshot": {
|
||||||
"version": "30.4.1",
|
"version": "30.2.0",
|
||||||
"resolved": "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-30.4.1.tgz",
|
"resolved": "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-30.2.0.tgz",
|
||||||
"integrity": "sha512-tEOkkfOMppUyeiHwjZswOQ3lcnoTnws/q5FnGIaeIh/jmoU0ZlgMYRR8sTlTj+nNGCoJ0RDq6SfxGxCsyMTPmw==",
|
"integrity": "sha512-5WEtTy2jXPFypadKNpbNkZ72puZCa6UjSr/7djeecHWOu7iYhSXSnHScT8wBz3Rn8Ena5d5RYRcsyKIeqG1IyA==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@babel/core": "^7.27.4",
|
"@babel/core": "^7.27.4",
|
||||||
"@babel/generator": "^7.27.5",
|
"@babel/generator": "^7.27.5",
|
||||||
"@babel/plugin-syntax-jsx": "^7.27.1",
|
"@babel/plugin-syntax-jsx": "^7.27.1",
|
||||||
"@babel/plugin-syntax-typescript": "^7.27.1",
|
"@babel/plugin-syntax-typescript": "^7.27.1",
|
||||||
"@babel/types": "^7.27.3",
|
"@babel/types": "^7.27.3",
|
||||||
"@jest/expect-utils": "30.4.1",
|
"@jest/expect-utils": "30.2.0",
|
||||||
"@jest/get-type": "30.1.0",
|
"@jest/get-type": "30.1.0",
|
||||||
"@jest/snapshot-utils": "30.4.1",
|
"@jest/snapshot-utils": "30.2.0",
|
||||||
"@jest/transform": "30.4.1",
|
"@jest/transform": "30.2.0",
|
||||||
"@jest/types": "30.4.1",
|
"@jest/types": "30.2.0",
|
||||||
"babel-preset-current-node-syntax": "^1.2.0",
|
"babel-preset-current-node-syntax": "^1.2.0",
|
||||||
"chalk": "^4.1.2",
|
"chalk": "^4.1.2",
|
||||||
"expect": "30.4.1",
|
"expect": "30.2.0",
|
||||||
"graceful-fs": "^4.2.11",
|
"graceful-fs": "^4.2.11",
|
||||||
"jest-diff": "30.4.1",
|
"jest-diff": "30.2.0",
|
||||||
"jest-matcher-utils": "30.4.1",
|
"jest-matcher-utils": "30.2.0",
|
||||||
"jest-message-util": "30.4.1",
|
"jest-message-util": "30.2.0",
|
||||||
"jest-util": "30.4.1",
|
"jest-util": "30.2.0",
|
||||||
"pretty-format": "30.4.1",
|
"pretty-format": "30.2.0",
|
||||||
"semver": "^7.7.2",
|
"semver": "^7.7.2",
|
||||||
"synckit": "^0.11.8"
|
"synckit": "^0.11.8"
|
||||||
},
|
},
|
||||||
@@ -4098,10 +3948,11 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/jest-snapshot/node_modules/semver": {
|
"node_modules/jest-snapshot/node_modules/semver": {
|
||||||
"version": "7.8.1",
|
"version": "7.7.3",
|
||||||
"resolved": "https://registry.npmjs.org/semver/-/semver-7.8.1.tgz",
|
"resolved": "https://registry.npmjs.org/semver/-/semver-7.7.3.tgz",
|
||||||
"integrity": "sha512-rkVq3IXh+4FDGch+KwzX3aV9W3kO54GyEgpvBzSyctDA6Xtd7RJQV1xmXbeQp5v7+VzLOfVqiutSE6GICgPFvg==",
|
"integrity": "sha512-SdsKMrI9TdgjdweUSR9MweHA4EJ8YxHn8DFaDisvhVlUOe4BF1tLD7GAj0lIqWVl+dPb/rExr0Btby5loQm20Q==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
|
"license": "ISC",
|
||||||
"bin": {
|
"bin": {
|
||||||
"semver": "bin/semver.js"
|
"semver": "bin/semver.js"
|
||||||
},
|
},
|
||||||
@@ -4110,17 +3961,18 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/jest-util": {
|
"node_modules/jest-util": {
|
||||||
"version": "30.4.1",
|
"version": "30.2.0",
|
||||||
"resolved": "https://registry.npmjs.org/jest-util/-/jest-util-30.4.1.tgz",
|
"resolved": "https://registry.npmjs.org/jest-util/-/jest-util-30.2.0.tgz",
|
||||||
"integrity": "sha512-vjQb1sACEiv13DKJMDToJpzVW0joCsIQrmbg0fi7CyOOt+g9jTuQl2A216pWRBYhOVt53XbL/2LbMKg1BECWOw==",
|
"integrity": "sha512-QKNsM0o3Xe6ISQU869e+DhG+4CK/48aHYdJZGlFQVTjnbvgpcKyxpzk29fGiO7i/J8VENZ+d2iGnSsvmuHywlA==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@jest/types": "30.4.1",
|
"@jest/types": "30.2.0",
|
||||||
"@types/node": "*",
|
"@types/node": "*",
|
||||||
"chalk": "^4.1.2",
|
"chalk": "^4.1.2",
|
||||||
"ci-info": "^4.2.0",
|
"ci-info": "^4.2.0",
|
||||||
"graceful-fs": "^4.2.11",
|
"graceful-fs": "^4.2.11",
|
||||||
"picomatch": "^4.0.3"
|
"picomatch": "^4.0.2"
|
||||||
},
|
},
|
||||||
"engines": {
|
"engines": {
|
||||||
"node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0"
|
"node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0"
|
||||||
@@ -4140,17 +3992,18 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/jest-validate": {
|
"node_modules/jest-validate": {
|
||||||
"version": "30.4.1",
|
"version": "30.2.0",
|
||||||
"resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-30.4.1.tgz",
|
"resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-30.2.0.tgz",
|
||||||
"integrity": "sha512-PDWi4SOwLnwqNDfHZjOcsEFyZ4fc/2W2gVL3DEoyqnB6jCQMLRtfBong8s6omIw3lI0HWOus12xfnFmQtjW3fw==",
|
"integrity": "sha512-FBGWi7dP2hpdi8nBoWxSsLvBFewKAg0+uSQwBaof4Y4DPgBabXgpSYC5/lR7VmnIlSpASmCi/ntRWPbv7089Pw==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@jest/get-type": "30.1.0",
|
"@jest/get-type": "30.1.0",
|
||||||
"@jest/types": "30.4.1",
|
"@jest/types": "30.2.0",
|
||||||
"camelcase": "^6.3.0",
|
"camelcase": "^6.3.0",
|
||||||
"chalk": "^4.1.2",
|
"chalk": "^4.1.2",
|
||||||
"leven": "^3.1.0",
|
"leven": "^3.1.0",
|
||||||
"pretty-format": "30.4.1"
|
"pretty-format": "30.2.0"
|
||||||
},
|
},
|
||||||
"engines": {
|
"engines": {
|
||||||
"node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0"
|
"node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0"
|
||||||
@@ -4161,6 +4014,7 @@
|
|||||||
"resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz",
|
"resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz",
|
||||||
"integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==",
|
"integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
|
"license": "MIT",
|
||||||
"engines": {
|
"engines": {
|
||||||
"node": ">=10"
|
"node": ">=10"
|
||||||
},
|
},
|
||||||
@@ -4169,18 +4023,19 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/jest-watcher": {
|
"node_modules/jest-watcher": {
|
||||||
"version": "30.4.1",
|
"version": "30.2.0",
|
||||||
"resolved": "https://registry.npmjs.org/jest-watcher/-/jest-watcher-30.4.1.tgz",
|
"resolved": "https://registry.npmjs.org/jest-watcher/-/jest-watcher-30.2.0.tgz",
|
||||||
"integrity": "sha512-/l9UonmvCwjHH7d2h3iAwIloLc1H0S8mJZ/LNK3i86hqwPAz8otUJjP9MfYtz9Tt77Su5FD2xGjZn8d31IZHlw==",
|
"integrity": "sha512-PYxa28dxJ9g777pGm/7PrbnMeA0Jr7osHP9bS7eJy9DuAjMgdGtxgf0uKMyoIsTWAkIbUW5hSDdJ3urmgXBqxg==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@jest/test-result": "30.4.1",
|
"@jest/test-result": "30.2.0",
|
||||||
"@jest/types": "30.4.1",
|
"@jest/types": "30.2.0",
|
||||||
"@types/node": "*",
|
"@types/node": "*",
|
||||||
"ansi-escapes": "^4.3.2",
|
"ansi-escapes": "^4.3.2",
|
||||||
"chalk": "^4.1.2",
|
"chalk": "^4.1.2",
|
||||||
"emittery": "^0.13.1",
|
"emittery": "^0.13.1",
|
||||||
"jest-util": "30.4.1",
|
"jest-util": "30.2.0",
|
||||||
"string-length": "^4.0.2"
|
"string-length": "^4.0.2"
|
||||||
},
|
},
|
||||||
"engines": {
|
"engines": {
|
||||||
@@ -4188,14 +4043,15 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/jest-worker": {
|
"node_modules/jest-worker": {
|
||||||
"version": "30.4.1",
|
"version": "30.2.0",
|
||||||
"resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-30.4.1.tgz",
|
"resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-30.2.0.tgz",
|
||||||
"integrity": "sha512-SHynN/q/QD++iNyvMdy+WMmbCGk8jIsNcRxycXbWubSOhvo6T+j2afcfUSl+3hYsiBebOTo0cT7c2H7CXugu1g==",
|
"integrity": "sha512-0Q4Uk8WF7BUwqXHuAjc23vmopWJw5WH7w2tqBoUOZpOjW/ZnR44GXXd1r82RvnmI2GZge3ivrYXk/BE2+VtW2g==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@types/node": "*",
|
"@types/node": "*",
|
||||||
"@ungap/structured-clone": "^1.3.0",
|
"@ungap/structured-clone": "^1.3.0",
|
||||||
"jest-util": "30.4.1",
|
"jest-util": "30.2.0",
|
||||||
"merge-stream": "^2.0.0",
|
"merge-stream": "^2.0.0",
|
||||||
"supports-color": "^8.1.1"
|
"supports-color": "^8.1.1"
|
||||||
},
|
},
|
||||||
@@ -4208,6 +4064,7 @@
|
|||||||
"resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz",
|
"resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz",
|
||||||
"integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==",
|
"integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"has-flag": "^4.0.0"
|
"has-flag": "^4.0.0"
|
||||||
},
|
},
|
||||||
@@ -4255,7 +4112,8 @@
|
|||||||
"version": "2.3.1",
|
"version": "2.3.1",
|
||||||
"resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz",
|
"resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz",
|
||||||
"integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==",
|
"integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==",
|
||||||
"dev": true
|
"dev": true,
|
||||||
|
"license": "MIT"
|
||||||
},
|
},
|
||||||
"node_modules/json5": {
|
"node_modules/json5": {
|
||||||
"version": "2.2.3",
|
"version": "2.2.3",
|
||||||
@@ -4274,6 +4132,7 @@
|
|||||||
"resolved": "https://registry.npmjs.org/leven/-/leven-3.1.0.tgz",
|
"resolved": "https://registry.npmjs.org/leven/-/leven-3.1.0.tgz",
|
||||||
"integrity": "sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==",
|
"integrity": "sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
|
"license": "MIT",
|
||||||
"engines": {
|
"engines": {
|
||||||
"node": ">=6"
|
"node": ">=6"
|
||||||
}
|
}
|
||||||
@@ -4282,7 +4141,8 @@
|
|||||||
"version": "1.2.4",
|
"version": "1.2.4",
|
||||||
"resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz",
|
"resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz",
|
||||||
"integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==",
|
"integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==",
|
||||||
"dev": true
|
"dev": true,
|
||||||
|
"license": "MIT"
|
||||||
},
|
},
|
||||||
"node_modules/locate-path": {
|
"node_modules/locate-path": {
|
||||||
"version": "5.0.0",
|
"version": "5.0.0",
|
||||||
@@ -4318,6 +4178,7 @@
|
|||||||
"resolved": "https://registry.npmjs.org/make-dir/-/make-dir-4.0.0.tgz",
|
"resolved": "https://registry.npmjs.org/make-dir/-/make-dir-4.0.0.tgz",
|
||||||
"integrity": "sha512-hXdUTZYIVOt1Ex//jAQi+wTZZpUpwBj/0QsOzqegb3rGMMeJiSEu5xLHnYfBrRV4RH2+OCSOO95Is/7x1WJ4bw==",
|
"integrity": "sha512-hXdUTZYIVOt1Ex//jAQi+wTZZpUpwBj/0QsOzqegb3rGMMeJiSEu5xLHnYfBrRV4RH2+OCSOO95Is/7x1WJ4bw==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"semver": "^7.5.3"
|
"semver": "^7.5.3"
|
||||||
},
|
},
|
||||||
@@ -4329,10 +4190,11 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/make-dir/node_modules/semver": {
|
"node_modules/make-dir/node_modules/semver": {
|
||||||
"version": "7.8.1",
|
"version": "7.7.3",
|
||||||
"resolved": "https://registry.npmjs.org/semver/-/semver-7.8.1.tgz",
|
"resolved": "https://registry.npmjs.org/semver/-/semver-7.7.3.tgz",
|
||||||
"integrity": "sha512-rkVq3IXh+4FDGch+KwzX3aV9W3kO54GyEgpvBzSyctDA6Xtd7RJQV1xmXbeQp5v7+VzLOfVqiutSE6GICgPFvg==",
|
"integrity": "sha512-SdsKMrI9TdgjdweUSR9MweHA4EJ8YxHn8DFaDisvhVlUOe4BF1tLD7GAj0lIqWVl+dPb/rExr0Btby5loQm20Q==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
|
"license": "ISC",
|
||||||
"bin": {
|
"bin": {
|
||||||
"semver": "bin/semver.js"
|
"semver": "bin/semver.js"
|
||||||
},
|
},
|
||||||
@@ -4355,17 +4217,59 @@
|
|||||||
"tmpl": "1.0.5"
|
"tmpl": "1.0.5"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"node_modules/math-intrinsics": {
|
||||||
|
"version": "1.1.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/math-intrinsics/-/math-intrinsics-1.1.0.tgz",
|
||||||
|
"integrity": "sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==",
|
||||||
|
"license": "MIT",
|
||||||
|
"engines": {
|
||||||
|
"node": ">= 0.4"
|
||||||
|
}
|
||||||
|
},
|
||||||
"node_modules/merge-stream": {
|
"node_modules/merge-stream": {
|
||||||
"version": "2.0.0",
|
"version": "2.0.0",
|
||||||
"resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz",
|
"resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz",
|
||||||
"integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==",
|
"integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==",
|
||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
|
"node_modules/micromatch": {
|
||||||
|
"version": "4.0.8",
|
||||||
|
"resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.8.tgz",
|
||||||
|
"integrity": "sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==",
|
||||||
|
"dev": true,
|
||||||
|
"dependencies": {
|
||||||
|
"braces": "^3.0.3",
|
||||||
|
"picomatch": "^2.3.1"
|
||||||
|
},
|
||||||
|
"engines": {
|
||||||
|
"node": ">=8.6"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/mime-db": {
|
||||||
|
"version": "1.52.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz",
|
||||||
|
"integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==",
|
||||||
|
"engines": {
|
||||||
|
"node": ">= 0.6"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/mime-types": {
|
||||||
|
"version": "2.1.35",
|
||||||
|
"resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz",
|
||||||
|
"integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==",
|
||||||
|
"dependencies": {
|
||||||
|
"mime-db": "1.52.0"
|
||||||
|
},
|
||||||
|
"engines": {
|
||||||
|
"node": ">= 0.6"
|
||||||
|
}
|
||||||
|
},
|
||||||
"node_modules/mimic-fn": {
|
"node_modules/mimic-fn": {
|
||||||
"version": "2.1.0",
|
"version": "2.1.0",
|
||||||
"resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz",
|
"resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz",
|
||||||
"integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==",
|
"integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
|
"license": "MIT",
|
||||||
"engines": {
|
"engines": {
|
||||||
"node": ">=6"
|
"node": ">=6"
|
||||||
}
|
}
|
||||||
@@ -4392,10 +4296,11 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/minipass": {
|
"node_modules/minipass": {
|
||||||
"version": "7.1.3",
|
"version": "7.1.2",
|
||||||
"resolved": "https://registry.npmjs.org/minipass/-/minipass-7.1.3.tgz",
|
"resolved": "https://registry.npmjs.org/minipass/-/minipass-7.1.2.tgz",
|
||||||
"integrity": "sha512-tEBHqDnIoM/1rXME1zgka9g6Q2lcoCkxHLuc7ODJ5BxbP5d4c2Z5cGgtXAku59200Cx7diuHTOYfSBD8n6mm8A==",
|
"integrity": "sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
|
"license": "ISC",
|
||||||
"engines": {
|
"engines": {
|
||||||
"node": ">=16 || 14 >=14.17"
|
"node": ">=16 || 14 >=14.17"
|
||||||
}
|
}
|
||||||
@@ -4403,13 +4308,15 @@
|
|||||||
"node_modules/ms": {
|
"node_modules/ms": {
|
||||||
"version": "2.1.2",
|
"version": "2.1.2",
|
||||||
"resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
|
"resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
|
||||||
"integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w=="
|
"integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==",
|
||||||
|
"dev": true
|
||||||
},
|
},
|
||||||
"node_modules/napi-postinstall": {
|
"node_modules/napi-postinstall": {
|
||||||
"version": "0.3.4",
|
"version": "0.3.4",
|
||||||
"resolved": "https://registry.npmjs.org/napi-postinstall/-/napi-postinstall-0.3.4.tgz",
|
"resolved": "https://registry.npmjs.org/napi-postinstall/-/napi-postinstall-0.3.4.tgz",
|
||||||
"integrity": "sha512-PHI5f1O0EP5xJ9gQmFGMS6IZcrVvTjpXjz7Na41gTE7eE2hK11lg04CECCYEEjdc17EV4DO+fkGEtt7TpTaTiQ==",
|
"integrity": "sha512-PHI5f1O0EP5xJ9gQmFGMS6IZcrVvTjpXjz7Na41gTE7eE2hK11lg04CECCYEEjdc17EV4DO+fkGEtt7TpTaTiQ==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
|
"license": "MIT",
|
||||||
"bin": {
|
"bin": {
|
||||||
"napi-postinstall": "lib/cli.js"
|
"napi-postinstall": "lib/cli.js"
|
||||||
},
|
},
|
||||||
@@ -4424,7 +4331,8 @@
|
|||||||
"version": "1.4.0",
|
"version": "1.4.0",
|
||||||
"resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz",
|
"resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz",
|
||||||
"integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==",
|
"integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==",
|
||||||
"dev": true
|
"dev": true,
|
||||||
|
"license": "MIT"
|
||||||
},
|
},
|
||||||
"node_modules/neo-async": {
|
"node_modules/neo-async": {
|
||||||
"version": "2.6.2",
|
"version": "2.6.2",
|
||||||
@@ -4460,6 +4368,7 @@
|
|||||||
"resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz",
|
"resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz",
|
||||||
"integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==",
|
"integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"path-key": "^3.0.0"
|
"path-key": "^3.0.0"
|
||||||
},
|
},
|
||||||
@@ -4482,6 +4391,7 @@
|
|||||||
"resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz",
|
"resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz",
|
||||||
"integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==",
|
"integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"mimic-fn": "^2.1.0"
|
"mimic-fn": "^2.1.0"
|
||||||
},
|
},
|
||||||
@@ -4497,6 +4407,7 @@
|
|||||||
"resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz",
|
"resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz",
|
||||||
"integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==",
|
"integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"yocto-queue": "^0.1.0"
|
"yocto-queue": "^0.1.0"
|
||||||
},
|
},
|
||||||
@@ -4550,13 +4461,15 @@
|
|||||||
"version": "1.0.1",
|
"version": "1.0.1",
|
||||||
"resolved": "https://registry.npmjs.org/package-json-from-dist/-/package-json-from-dist-1.0.1.tgz",
|
"resolved": "https://registry.npmjs.org/package-json-from-dist/-/package-json-from-dist-1.0.1.tgz",
|
||||||
"integrity": "sha512-UEZIS3/by4OC8vL3P2dTXRETpebLI2NiI5vIrjaD/5UtrkFX/tNbwjTSRAGC/+7CAo2pIcBaRgWmcBBHcsaCIw==",
|
"integrity": "sha512-UEZIS3/by4OC8vL3P2dTXRETpebLI2NiI5vIrjaD/5UtrkFX/tNbwjTSRAGC/+7CAo2pIcBaRgWmcBBHcsaCIw==",
|
||||||
"dev": true
|
"dev": true,
|
||||||
|
"license": "BlueOak-1.0.0"
|
||||||
},
|
},
|
||||||
"node_modules/parse-json": {
|
"node_modules/parse-json": {
|
||||||
"version": "5.2.0",
|
"version": "5.2.0",
|
||||||
"resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz",
|
"resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz",
|
||||||
"integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==",
|
"integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@babel/code-frame": "^7.0.0",
|
"@babel/code-frame": "^7.0.0",
|
||||||
"error-ex": "^1.3.1",
|
"error-ex": "^1.3.1",
|
||||||
@@ -4580,21 +4493,6 @@
|
|||||||
"node": ">=8"
|
"node": ">=8"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/path-expression-matcher": {
|
|
||||||
"version": "1.1.3",
|
|
||||||
"resolved": "https://registry.npmjs.org/path-expression-matcher/-/path-expression-matcher-1.1.3.tgz",
|
|
||||||
"integrity": "sha512-qdVgY8KXmVdJZRSS1JdEPOKPdTiEK/pi0RkcT2sw1RhXxohdujUlJFPuS1TSkevZ9vzd3ZlL7ULl1MHGTApKzQ==",
|
|
||||||
"funding": [
|
|
||||||
{
|
|
||||||
"type": "github",
|
|
||||||
"url": "https://github.com/sponsors/NaturalIntelligence"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"license": "MIT",
|
|
||||||
"engines": {
|
|
||||||
"node": ">=14.0.0"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"node_modules/path-is-absolute": {
|
"node_modules/path-is-absolute": {
|
||||||
"version": "1.0.1",
|
"version": "1.0.1",
|
||||||
"resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz",
|
"resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz",
|
||||||
@@ -4610,6 +4508,7 @@
|
|||||||
"resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz",
|
"resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz",
|
||||||
"integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==",
|
"integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
|
"license": "MIT",
|
||||||
"engines": {
|
"engines": {
|
||||||
"node": ">=8"
|
"node": ">=8"
|
||||||
}
|
}
|
||||||
@@ -4619,6 +4518,7 @@
|
|||||||
"resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-1.11.1.tgz",
|
"resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-1.11.1.tgz",
|
||||||
"integrity": "sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA==",
|
"integrity": "sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
|
"license": "BlueOak-1.0.0",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"lru-cache": "^10.2.0",
|
"lru-cache": "^10.2.0",
|
||||||
"minipass": "^5.0.0 || ^6.0.2 || ^7.0.0"
|
"minipass": "^5.0.0 || ^6.0.2 || ^7.0.0"
|
||||||
@@ -4634,7 +4534,8 @@
|
|||||||
"version": "10.4.3",
|
"version": "10.4.3",
|
||||||
"resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.4.3.tgz",
|
"resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.4.3.tgz",
|
||||||
"integrity": "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==",
|
"integrity": "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==",
|
||||||
"dev": true
|
"dev": true,
|
||||||
|
"license": "ISC"
|
||||||
},
|
},
|
||||||
"node_modules/picocolors": {
|
"node_modules/picocolors": {
|
||||||
"version": "1.1.1",
|
"version": "1.1.1",
|
||||||
@@ -4670,6 +4571,7 @@
|
|||||||
"resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz",
|
"resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz",
|
||||||
"integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==",
|
"integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"find-up": "^4.0.0"
|
"find-up": "^4.0.0"
|
||||||
},
|
},
|
||||||
@@ -4678,15 +4580,15 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/pretty-format": {
|
"node_modules/pretty-format": {
|
||||||
"version": "30.4.1",
|
"version": "30.2.0",
|
||||||
"resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-30.4.1.tgz",
|
"resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-30.2.0.tgz",
|
||||||
"integrity": "sha512-K6KiKMHTL4jjX4u3Kir2EW07nRfcqVTXIImx50wbjHQTcZPgg+gjVeNTIT3l3L1Rd4UefxfogquC9J37SoFyyw==",
|
"integrity": "sha512-9uBdv/B4EefsuAL+pWqueZyZS2Ba+LxfFeQ9DN14HU4bN8bhaxKdkpjpB6fs9+pSjIBu+FXQHImEg8j/Lw0+vA==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@jest/schemas": "30.4.1",
|
"@jest/schemas": "30.0.5",
|
||||||
"ansi-styles": "^5.2.0",
|
"ansi-styles": "^5.2.0",
|
||||||
"react-is-18": "npm:react-is@^18.3.1",
|
"react-is": "^18.3.1"
|
||||||
"react-is-19": "npm:react-is@^19.2.5"
|
|
||||||
},
|
},
|
||||||
"engines": {
|
"engines": {
|
||||||
"node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0"
|
"node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0"
|
||||||
@@ -4697,6 +4599,7 @@
|
|||||||
"resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz",
|
"resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz",
|
||||||
"integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==",
|
"integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
|
"license": "MIT",
|
||||||
"engines": {
|
"engines": {
|
||||||
"node": ">=10"
|
"node": ">=10"
|
||||||
},
|
},
|
||||||
@@ -4704,6 +4607,14 @@
|
|||||||
"url": "https://github.com/chalk/ansi-styles?sponsor=1"
|
"url": "https://github.com/chalk/ansi-styles?sponsor=1"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"node_modules/process": {
|
||||||
|
"version": "0.11.10",
|
||||||
|
"resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz",
|
||||||
|
"integrity": "sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A==",
|
||||||
|
"engines": {
|
||||||
|
"node": ">= 0.6.0"
|
||||||
|
}
|
||||||
|
},
|
||||||
"node_modules/pure-rand": {
|
"node_modules/pure-rand": {
|
||||||
"version": "7.0.1",
|
"version": "7.0.1",
|
||||||
"resolved": "https://registry.npmjs.org/pure-rand/-/pure-rand-7.0.1.tgz",
|
"resolved": "https://registry.npmjs.org/pure-rand/-/pure-rand-7.0.1.tgz",
|
||||||
@@ -4718,27 +4629,22 @@
|
|||||||
"type": "opencollective",
|
"type": "opencollective",
|
||||||
"url": "https://opencollective.com/fast-check"
|
"url": "https://opencollective.com/fast-check"
|
||||||
}
|
}
|
||||||
]
|
],
|
||||||
|
"license": "MIT"
|
||||||
},
|
},
|
||||||
"node_modules/react-is-18": {
|
"node_modules/react-is": {
|
||||||
"name": "react-is",
|
|
||||||
"version": "18.3.1",
|
"version": "18.3.1",
|
||||||
"resolved": "https://registry.npmjs.org/react-is/-/react-is-18.3.1.tgz",
|
"resolved": "https://registry.npmjs.org/react-is/-/react-is-18.3.1.tgz",
|
||||||
"integrity": "sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg==",
|
"integrity": "sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg==",
|
||||||
"dev": true
|
"dev": true,
|
||||||
},
|
"license": "MIT"
|
||||||
"node_modules/react-is-19": {
|
|
||||||
"name": "react-is",
|
|
||||||
"version": "19.2.7",
|
|
||||||
"resolved": "https://registry.npmjs.org/react-is/-/react-is-19.2.7.tgz",
|
|
||||||
"integrity": "sha512-kZFnouyVv7eP/Phmrlo9FK+zcAdriZJvzxXHF1Sl1P377WSGe2G/JxVolhTrB/jeV47lKImhNUsijjHAAbcl/A==",
|
|
||||||
"dev": true
|
|
||||||
},
|
},
|
||||||
"node_modules/require-directory": {
|
"node_modules/require-directory": {
|
||||||
"version": "2.1.1",
|
"version": "2.1.1",
|
||||||
"resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz",
|
"resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz",
|
||||||
"integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==",
|
"integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
|
"license": "MIT",
|
||||||
"engines": {
|
"engines": {
|
||||||
"node": ">=0.10.0"
|
"node": ">=0.10.0"
|
||||||
}
|
}
|
||||||
@@ -4748,6 +4654,7 @@
|
|||||||
"resolved": "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-3.0.0.tgz",
|
"resolved": "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-3.0.0.tgz",
|
||||||
"integrity": "sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg==",
|
"integrity": "sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"resolve-from": "^5.0.0"
|
"resolve-from": "^5.0.0"
|
||||||
},
|
},
|
||||||
@@ -4765,11 +4672,35 @@
|
|||||||
"node": ">=8"
|
"node": ">=8"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"node_modules/safe-buffer": {
|
||||||
|
"version": "5.2.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz",
|
||||||
|
"integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==",
|
||||||
|
"funding": [
|
||||||
|
{
|
||||||
|
"type": "github",
|
||||||
|
"url": "https://github.com/sponsors/feross"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "patreon",
|
||||||
|
"url": "https://www.patreon.com/feross"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "consulting",
|
||||||
|
"url": "https://feross.org/support"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"license": "MIT"
|
||||||
|
},
|
||||||
|
"node_modules/sax": {
|
||||||
|
"version": "1.2.4",
|
||||||
|
"resolved": "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz",
|
||||||
|
"integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw=="
|
||||||
|
},
|
||||||
"node_modules/semver": {
|
"node_modules/semver": {
|
||||||
"version": "6.3.1",
|
"version": "6.3.1",
|
||||||
"resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz",
|
"resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz",
|
||||||
"integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==",
|
"integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==",
|
||||||
"dev": true,
|
|
||||||
"bin": {
|
"bin": {
|
||||||
"semver": "bin/semver.js"
|
"semver": "bin/semver.js"
|
||||||
}
|
}
|
||||||
@@ -4779,6 +4710,7 @@
|
|||||||
"resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz",
|
"resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz",
|
||||||
"integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==",
|
"integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"shebang-regex": "^3.0.0"
|
"shebang-regex": "^3.0.0"
|
||||||
},
|
},
|
||||||
@@ -4791,6 +4723,7 @@
|
|||||||
"resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz",
|
"resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz",
|
||||||
"integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==",
|
"integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
|
"license": "MIT",
|
||||||
"engines": {
|
"engines": {
|
||||||
"node": ">=8"
|
"node": ">=8"
|
||||||
}
|
}
|
||||||
@@ -4818,9 +4751,9 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/smol-toml": {
|
"node_modules/smol-toml": {
|
||||||
"version": "1.6.1",
|
"version": "1.4.2",
|
||||||
"resolved": "https://registry.npmjs.org/smol-toml/-/smol-toml-1.6.1.tgz",
|
"resolved": "https://registry.npmjs.org/smol-toml/-/smol-toml-1.4.2.tgz",
|
||||||
"integrity": "sha512-dWUG8F5sIIARXih1DTaQAX4SsiTXhInKf1buxdY9DIg4ZYPZK5nGM1VRIYmEbDbsHt7USo99xSLFu5Q1IqTmsg==",
|
"integrity": "sha512-rInDH6lCNiEyn3+hH8KVGFdbjc099j47+OSgbMrfDYX1CmXLfdKd7qi6IfcWj2wFxvSVkuI46M+wPGYfEOEj6g==",
|
||||||
"license": "BSD-3-Clause",
|
"license": "BSD-3-Clause",
|
||||||
"engines": {
|
"engines": {
|
||||||
"node": ">= 18"
|
"node": ">= 18"
|
||||||
@@ -4844,6 +4777,7 @@
|
|||||||
"resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.13.tgz",
|
"resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.13.tgz",
|
||||||
"integrity": "sha512-SHSKFHadjVA5oR4PPqhtAVdcBWwRYVd6g6cAXnIbRiIwc2EhPrTuKUBdSLvlEKyIP3GCf89fltvcZiP9MMFA1w==",
|
"integrity": "sha512-SHSKFHadjVA5oR4PPqhtAVdcBWwRYVd6g6cAXnIbRiIwc2EhPrTuKUBdSLvlEKyIP3GCf89fltvcZiP9MMFA1w==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"buffer-from": "^1.0.0",
|
"buffer-from": "^1.0.0",
|
||||||
"source-map": "^0.6.0"
|
"source-map": "^0.6.0"
|
||||||
@@ -4861,6 +4795,7 @@
|
|||||||
"resolved": "https://registry.npmjs.org/stack-utils/-/stack-utils-2.0.6.tgz",
|
"resolved": "https://registry.npmjs.org/stack-utils/-/stack-utils-2.0.6.tgz",
|
||||||
"integrity": "sha512-XlkWvfIm6RmsWtNJx+uqtKLS8eqFbxUg0ZzLXqY0caEy9l7hruX8IpiDnjsLavoBgqCCR71TqWO8MaXYheJ3RQ==",
|
"integrity": "sha512-XlkWvfIm6RmsWtNJx+uqtKLS8eqFbxUg0ZzLXqY0caEy9l7hruX8IpiDnjsLavoBgqCCR71TqWO8MaXYheJ3RQ==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"escape-string-regexp": "^2.0.0"
|
"escape-string-regexp": "^2.0.0"
|
||||||
},
|
},
|
||||||
@@ -4873,6 +4808,7 @@
|
|||||||
"resolved": "https://registry.npmjs.org/string-length/-/string-length-4.0.2.tgz",
|
"resolved": "https://registry.npmjs.org/string-length/-/string-length-4.0.2.tgz",
|
||||||
"integrity": "sha512-+l6rNN5fYHNhZZy41RXsYptCjA2Igmq4EG7kZAYFQI1E1VTXarr6ZPXBg6eq7Y6eK4FEhY6AJlyuFIb/v/S0VQ==",
|
"integrity": "sha512-+l6rNN5fYHNhZZy41RXsYptCjA2Igmq4EG7kZAYFQI1E1VTXarr6ZPXBg6eq7Y6eK4FEhY6AJlyuFIb/v/S0VQ==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"char-regex": "^1.0.2",
|
"char-regex": "^1.0.2",
|
||||||
"strip-ansi": "^6.0.0"
|
"strip-ansi": "^6.0.0"
|
||||||
@@ -4886,6 +4822,7 @@
|
|||||||
"resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz",
|
"resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz",
|
||||||
"integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==",
|
"integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
|
"license": "MIT",
|
||||||
"engines": {
|
"engines": {
|
||||||
"node": ">=8"
|
"node": ">=8"
|
||||||
}
|
}
|
||||||
@@ -4895,6 +4832,7 @@
|
|||||||
"resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz",
|
"resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz",
|
||||||
"integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==",
|
"integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"ansi-regex": "^5.0.1"
|
"ansi-regex": "^5.0.1"
|
||||||
},
|
},
|
||||||
@@ -4907,6 +4845,7 @@
|
|||||||
"resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz",
|
"resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz",
|
||||||
"integrity": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==",
|
"integrity": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"eastasianwidth": "^0.2.0",
|
"eastasianwidth": "^0.2.0",
|
||||||
"emoji-regex": "^9.2.2",
|
"emoji-regex": "^9.2.2",
|
||||||
@@ -4925,6 +4864,7 @@
|
|||||||
"resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz",
|
"resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz",
|
||||||
"integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==",
|
"integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"emoji-regex": "^8.0.0",
|
"emoji-regex": "^8.0.0",
|
||||||
"is-fullwidth-code-point": "^3.0.0",
|
"is-fullwidth-code-point": "^3.0.0",
|
||||||
@@ -4939,6 +4879,7 @@
|
|||||||
"resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz",
|
"resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz",
|
||||||
"integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==",
|
"integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
|
"license": "MIT",
|
||||||
"engines": {
|
"engines": {
|
||||||
"node": ">=8"
|
"node": ">=8"
|
||||||
}
|
}
|
||||||
@@ -4947,13 +4888,15 @@
|
|||||||
"version": "8.0.0",
|
"version": "8.0.0",
|
||||||
"resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz",
|
"resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz",
|
||||||
"integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==",
|
"integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==",
|
||||||
"dev": true
|
"dev": true,
|
||||||
|
"license": "MIT"
|
||||||
},
|
},
|
||||||
"node_modules/string-width-cjs/node_modules/strip-ansi": {
|
"node_modules/string-width-cjs/node_modules/strip-ansi": {
|
||||||
"version": "6.0.1",
|
"version": "6.0.1",
|
||||||
"resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz",
|
"resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz",
|
||||||
"integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==",
|
"integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"ansi-regex": "^5.0.1"
|
"ansi-regex": "^5.0.1"
|
||||||
},
|
},
|
||||||
@@ -4962,12 +4905,13 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/strip-ansi": {
|
"node_modules/strip-ansi": {
|
||||||
"version": "7.2.0",
|
"version": "7.1.2",
|
||||||
"resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.2.0.tgz",
|
"resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.2.tgz",
|
||||||
"integrity": "sha512-yDPMNjp4WyfYBkHnjIRLfca1i6KMyGCtsVgoKe/z1+6vukgaENdgGBZt+ZmKPc4gavvEZ5OgHfHdrazhgNyG7w==",
|
"integrity": "sha512-gmBGslpoQJtgnMAvOVqGZpEz9dyoKTCzy2nfz/n8aIFhN/jCE/rCmcxabB6jOOHV+0WNnylOxaxBQPSvcWklhA==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"ansi-regex": "^6.2.2"
|
"ansi-regex": "^6.0.1"
|
||||||
},
|
},
|
||||||
"engines": {
|
"engines": {
|
||||||
"node": ">=12"
|
"node": ">=12"
|
||||||
@@ -4982,6 +4926,7 @@
|
|||||||
"resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz",
|
"resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz",
|
||||||
"integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==",
|
"integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"ansi-regex": "^5.0.1"
|
"ansi-regex": "^5.0.1"
|
||||||
},
|
},
|
||||||
@@ -4994,6 +4939,7 @@
|
|||||||
"resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz",
|
"resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz",
|
||||||
"integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==",
|
"integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
|
"license": "MIT",
|
||||||
"engines": {
|
"engines": {
|
||||||
"node": ">=8"
|
"node": ">=8"
|
||||||
}
|
}
|
||||||
@@ -5003,6 +4949,7 @@
|
|||||||
"resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-4.0.0.tgz",
|
"resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-4.0.0.tgz",
|
||||||
"integrity": "sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==",
|
"integrity": "sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
|
"license": "MIT",
|
||||||
"engines": {
|
"engines": {
|
||||||
"node": ">=8"
|
"node": ">=8"
|
||||||
}
|
}
|
||||||
@@ -5012,6 +4959,7 @@
|
|||||||
"resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz",
|
"resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz",
|
||||||
"integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==",
|
"integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
|
"license": "MIT",
|
||||||
"engines": {
|
"engines": {
|
||||||
"node": ">=6"
|
"node": ">=6"
|
||||||
}
|
}
|
||||||
@@ -5021,6 +4969,7 @@
|
|||||||
"resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz",
|
"resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz",
|
||||||
"integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==",
|
"integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
|
"license": "MIT",
|
||||||
"engines": {
|
"engines": {
|
||||||
"node": ">=8"
|
"node": ">=8"
|
||||||
},
|
},
|
||||||
@@ -5028,18 +4977,6 @@
|
|||||||
"url": "https://github.com/sponsors/sindresorhus"
|
"url": "https://github.com/sponsors/sindresorhus"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/strnum": {
|
|
||||||
"version": "2.2.0",
|
|
||||||
"resolved": "https://registry.npmjs.org/strnum/-/strnum-2.2.0.tgz",
|
|
||||||
"integrity": "sha512-Y7Bj8XyJxnPAORMZj/xltsfo55uOiyHcU2tnAVzHUnSJR/KsEX+9RoDeXEnsXtl/CX4fAcrt64gZ13aGaWPeBg==",
|
|
||||||
"funding": [
|
|
||||||
{
|
|
||||||
"type": "github",
|
|
||||||
"url": "https://github.com/sponsors/NaturalIntelligence"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"license": "MIT"
|
|
||||||
},
|
|
||||||
"node_modules/supports-color": {
|
"node_modules/supports-color": {
|
||||||
"version": "7.2.0",
|
"version": "7.2.0",
|
||||||
"resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
|
"resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
|
||||||
@@ -5053,12 +4990,13 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/synckit": {
|
"node_modules/synckit": {
|
||||||
"version": "0.11.13",
|
"version": "0.11.11",
|
||||||
"resolved": "https://registry.npmjs.org/synckit/-/synckit-0.11.13.tgz",
|
"resolved": "https://registry.npmjs.org/synckit/-/synckit-0.11.11.tgz",
|
||||||
"integrity": "sha512-eNRKgb3z66Yp3D2CixVujOUvXLFUTij/zVnV8KRyvFdQwpz7I5DS8UfRkTeLzb64u+dkzDSdelE24izu+zSSUg==",
|
"integrity": "sha512-MeQTA1r0litLUf0Rp/iisCaL8761lKAZHaimlbGK4j0HysC4PLfqygQj9srcs0m2RdtDYnF8UuYyKpbjHYp7Jw==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@pkgr/core": "^0.3.6"
|
"@pkgr/core": "^0.2.9"
|
||||||
},
|
},
|
||||||
"engines": {
|
"engines": {
|
||||||
"node": "^14.18.0 || >=16.0.0"
|
"node": "^14.18.0 || >=16.0.0"
|
||||||
@@ -5110,20 +5048,37 @@
|
|||||||
"integrity": "sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw==",
|
"integrity": "sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw==",
|
||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
|
"node_modules/to-regex-range": {
|
||||||
|
"version": "5.0.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz",
|
||||||
|
"integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==",
|
||||||
|
"dev": true,
|
||||||
|
"dependencies": {
|
||||||
|
"is-number": "^7.0.0"
|
||||||
|
},
|
||||||
|
"engines": {
|
||||||
|
"node": ">=8.0"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/tr46": {
|
||||||
|
"version": "0.0.3",
|
||||||
|
"resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz",
|
||||||
|
"integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw=="
|
||||||
|
},
|
||||||
"node_modules/ts-jest": {
|
"node_modules/ts-jest": {
|
||||||
"version": "29.4.11",
|
"version": "29.4.5",
|
||||||
"resolved": "https://registry.npmjs.org/ts-jest/-/ts-jest-29.4.11.tgz",
|
"resolved": "https://registry.npmjs.org/ts-jest/-/ts-jest-29.4.5.tgz",
|
||||||
"integrity": "sha512-IrFl7l9AuB/qrNw5quqvAv/hmKMb8dhWOH4jQOGo0Oq8tCeo1O86/iTFG1FaRimgUkF13l4PcepO8ATFT6Ns4g==",
|
"integrity": "sha512-HO3GyiWn2qvTQA4kTgjDcXiMwYQt68a1Y8+JuLRVpdIzm+UOLSHgl/XqR4c6nzJkq5rOkjc02O2I7P7l/Yof0Q==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"bs-logger": "^0.2.6",
|
"bs-logger": "^0.2.6",
|
||||||
"fast-json-stable-stringify": "^2.1.0",
|
"fast-json-stable-stringify": "^2.1.0",
|
||||||
"handlebars": "^4.7.9",
|
"handlebars": "^4.7.8",
|
||||||
"json5": "^2.2.3",
|
"json5": "^2.2.3",
|
||||||
"lodash.memoize": "^4.1.2",
|
"lodash.memoize": "^4.1.2",
|
||||||
"make-error": "^1.3.6",
|
"make-error": "^1.3.6",
|
||||||
"semver": "^7.8.0",
|
"semver": "^7.7.3",
|
||||||
"type-fest": "^4.41.0",
|
"type-fest": "^4.41.0",
|
||||||
"yargs-parser": "^21.1.1"
|
"yargs-parser": "^21.1.1"
|
||||||
},
|
},
|
||||||
@@ -5140,7 +5095,7 @@
|
|||||||
"babel-jest": "^29.0.0 || ^30.0.0",
|
"babel-jest": "^29.0.0 || ^30.0.0",
|
||||||
"jest": "^29.0.0 || ^30.0.0",
|
"jest": "^29.0.0 || ^30.0.0",
|
||||||
"jest-util": "^29.0.0 || ^30.0.0",
|
"jest-util": "^29.0.0 || ^30.0.0",
|
||||||
"typescript": ">=4.3 <7"
|
"typescript": ">=4.3 <6"
|
||||||
},
|
},
|
||||||
"peerDependenciesMeta": {
|
"peerDependenciesMeta": {
|
||||||
"@babel/core": {
|
"@babel/core": {
|
||||||
@@ -5164,9 +5119,9 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/ts-jest/node_modules/semver": {
|
"node_modules/ts-jest/node_modules/semver": {
|
||||||
"version": "7.8.1",
|
"version": "7.7.3",
|
||||||
"resolved": "https://registry.npmjs.org/semver/-/semver-7.8.1.tgz",
|
"resolved": "https://registry.npmjs.org/semver/-/semver-7.7.3.tgz",
|
||||||
"integrity": "sha512-rkVq3IXh+4FDGch+KwzX3aV9W3kO54GyEgpvBzSyctDA6Xtd7RJQV1xmXbeQp5v7+VzLOfVqiutSE6GICgPFvg==",
|
"integrity": "sha512-SdsKMrI9TdgjdweUSR9MweHA4EJ8YxHn8DFaDisvhVlUOe4BF1tLD7GAj0lIqWVl+dPb/rExr0Btby5loQm20Q==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"license": "ISC",
|
"license": "ISC",
|
||||||
"bin": {
|
"bin": {
|
||||||
@@ -5177,16 +5132,14 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/tslib": {
|
"node_modules/tslib": {
|
||||||
"version": "2.8.1",
|
"version": "1.10.0",
|
||||||
"resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz",
|
"resolved": "https://registry.npmjs.org/tslib/-/tslib-1.10.0.tgz",
|
||||||
"integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==",
|
"integrity": "sha512-qOebF53frne81cf0S9B41ByenJ3/IuH8yJKngAX35CmiZySA0khhkovshKK+jGCaMnVomla7gVlIcc3EvKPbTQ=="
|
||||||
"license": "0BSD"
|
|
||||||
},
|
},
|
||||||
"node_modules/tunnel": {
|
"node_modules/tunnel": {
|
||||||
"version": "0.0.6",
|
"version": "0.0.6",
|
||||||
"resolved": "https://registry.npmjs.org/tunnel/-/tunnel-0.0.6.tgz",
|
"resolved": "https://registry.npmjs.org/tunnel/-/tunnel-0.0.6.tgz",
|
||||||
"integrity": "sha512-1h/Lnq9yajKY2PEbBadPXj3VxsDDu844OnaAo52UVmIzIvwwtBPIuNvkjuzBlTWpfJyUbG3ez0KSBibQkj4ojg==",
|
"integrity": "sha512-1h/Lnq9yajKY2PEbBadPXj3VxsDDu844OnaAo52UVmIzIvwwtBPIuNvkjuzBlTWpfJyUbG3ez0KSBibQkj4ojg==",
|
||||||
"license": "MIT",
|
|
||||||
"engines": {
|
"engines": {
|
||||||
"node": ">=0.6.11 <=0.7.0 || >=0.7.3"
|
"node": ">=0.6.11 <=0.7.0 || >=0.7.3"
|
||||||
}
|
}
|
||||||
@@ -5196,6 +5149,7 @@
|
|||||||
"resolved": "https://registry.npmjs.org/type-detect/-/type-detect-4.0.8.tgz",
|
"resolved": "https://registry.npmjs.org/type-detect/-/type-detect-4.0.8.tgz",
|
||||||
"integrity": "sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==",
|
"integrity": "sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
|
"license": "MIT",
|
||||||
"engines": {
|
"engines": {
|
||||||
"node": ">=4"
|
"node": ">=4"
|
||||||
}
|
}
|
||||||
@@ -5242,56 +5196,56 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/undici": {
|
"node_modules/undici": {
|
||||||
"version": "8.3.0",
|
"version": "5.28.5",
|
||||||
"resolved": "https://registry.npmjs.org/undici/-/undici-8.3.0.tgz",
|
"resolved": "https://registry.npmjs.org/undici/-/undici-5.28.5.tgz",
|
||||||
"integrity": "sha512-TkUDgb6tl7KOGZ+7e8E3d2FYgUQgF6z5YypqjWmixVQSQERFcVrVg0ySADm2LVLRh5ljAaHTCR5Fmz3Q34rB7Q==",
|
"integrity": "sha512-zICwjrDrcrUE0pyyJc1I2QzBkLM8FINsgOrt6WjA+BgajVq9Nxu2PbFFXUrAggLfDXlZGZBVZYw7WNV5KiBiBA==",
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
|
"dependencies": {
|
||||||
|
"@fastify/busboy": "^2.0.0"
|
||||||
|
},
|
||||||
"engines": {
|
"engines": {
|
||||||
"node": ">=22.19.0"
|
"node": ">=14.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/undici-types": {
|
"node_modules/undici-types": {
|
||||||
"version": "7.18.2",
|
"version": "7.16.0",
|
||||||
"resolved": "https://registry.npmjs.org/undici-types/-/undici-types-7.18.2.tgz",
|
"resolved": "https://registry.npmjs.org/undici-types/-/undici-types-7.16.0.tgz",
|
||||||
"integrity": "sha512-AsuCzffGHJybSaRrmr5eHr81mwJU3kjw6M+uprWvCXiNeN9SOGwQ3Jn8jb8m3Z6izVgknn1R0FTCEAP2QrLY/w==",
|
"integrity": "sha512-Zz+aZWSj8LE6zoxD+xrjh4VfkIG8Ya6LvYkZqtUQGJPZjYl53ypCaUwWqo7eI0x66KBGeRo+mlBEkMSeSZ38Nw==",
|
||||||
"dev": true,
|
|
||||||
"license": "MIT"
|
"license": "MIT"
|
||||||
},
|
},
|
||||||
"node_modules/unrs-resolver": {
|
"node_modules/unrs-resolver": {
|
||||||
"version": "1.12.2",
|
"version": "1.11.1",
|
||||||
"resolved": "https://registry.npmjs.org/unrs-resolver/-/unrs-resolver-1.12.2.tgz",
|
"resolved": "https://registry.npmjs.org/unrs-resolver/-/unrs-resolver-1.11.1.tgz",
|
||||||
"integrity": "sha512-dmlRxBJJayXjqTwC+JtF1HhJmgf3ftQ3YejFcZrf4+KKtJv0qDsK1pjqaaVjG7wJ5NJ6UVP1OqRMQ71Z4C3rxQ==",
|
"integrity": "sha512-bSjt9pjaEBnNiGgc9rUiHGKv5l4/TGzDmYw3RhnkJGtLhbnnA/5qJj7x3dNDCRx/PJxu774LlH8lCOlB4hEfKg==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"hasInstallScript": true,
|
"hasInstallScript": true,
|
||||||
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"napi-postinstall": "^0.3.4"
|
"napi-postinstall": "^0.3.0"
|
||||||
},
|
},
|
||||||
"funding": {
|
"funding": {
|
||||||
"url": "https://opencollective.com/unrs-resolver"
|
"url": "https://opencollective.com/unrs-resolver"
|
||||||
},
|
},
|
||||||
"optionalDependencies": {
|
"optionalDependencies": {
|
||||||
"@unrs/resolver-binding-android-arm-eabi": "1.12.2",
|
"@unrs/resolver-binding-android-arm-eabi": "1.11.1",
|
||||||
"@unrs/resolver-binding-android-arm64": "1.12.2",
|
"@unrs/resolver-binding-android-arm64": "1.11.1",
|
||||||
"@unrs/resolver-binding-darwin-arm64": "1.12.2",
|
"@unrs/resolver-binding-darwin-arm64": "1.11.1",
|
||||||
"@unrs/resolver-binding-darwin-x64": "1.12.2",
|
"@unrs/resolver-binding-darwin-x64": "1.11.1",
|
||||||
"@unrs/resolver-binding-freebsd-x64": "1.12.2",
|
"@unrs/resolver-binding-freebsd-x64": "1.11.1",
|
||||||
"@unrs/resolver-binding-linux-arm-gnueabihf": "1.12.2",
|
"@unrs/resolver-binding-linux-arm-gnueabihf": "1.11.1",
|
||||||
"@unrs/resolver-binding-linux-arm-musleabihf": "1.12.2",
|
"@unrs/resolver-binding-linux-arm-musleabihf": "1.11.1",
|
||||||
"@unrs/resolver-binding-linux-arm64-gnu": "1.12.2",
|
"@unrs/resolver-binding-linux-arm64-gnu": "1.11.1",
|
||||||
"@unrs/resolver-binding-linux-arm64-musl": "1.12.2",
|
"@unrs/resolver-binding-linux-arm64-musl": "1.11.1",
|
||||||
"@unrs/resolver-binding-linux-loong64-gnu": "1.12.2",
|
"@unrs/resolver-binding-linux-ppc64-gnu": "1.11.1",
|
||||||
"@unrs/resolver-binding-linux-loong64-musl": "1.12.2",
|
"@unrs/resolver-binding-linux-riscv64-gnu": "1.11.1",
|
||||||
"@unrs/resolver-binding-linux-ppc64-gnu": "1.12.2",
|
"@unrs/resolver-binding-linux-riscv64-musl": "1.11.1",
|
||||||
"@unrs/resolver-binding-linux-riscv64-gnu": "1.12.2",
|
"@unrs/resolver-binding-linux-s390x-gnu": "1.11.1",
|
||||||
"@unrs/resolver-binding-linux-riscv64-musl": "1.12.2",
|
"@unrs/resolver-binding-linux-x64-gnu": "1.11.1",
|
||||||
"@unrs/resolver-binding-linux-s390x-gnu": "1.12.2",
|
"@unrs/resolver-binding-linux-x64-musl": "1.11.1",
|
||||||
"@unrs/resolver-binding-linux-x64-gnu": "1.12.2",
|
"@unrs/resolver-binding-wasm32-wasi": "1.11.1",
|
||||||
"@unrs/resolver-binding-linux-x64-musl": "1.12.2",
|
"@unrs/resolver-binding-win32-arm64-msvc": "1.11.1",
|
||||||
"@unrs/resolver-binding-openharmony-arm64": "1.12.2",
|
"@unrs/resolver-binding-win32-ia32-msvc": "1.11.1",
|
||||||
"@unrs/resolver-binding-wasm32-wasi": "1.12.2",
|
"@unrs/resolver-binding-win32-x64-msvc": "1.11.1"
|
||||||
"@unrs/resolver-binding-win32-arm64-msvc": "1.12.2",
|
|
||||||
"@unrs/resolver-binding-win32-ia32-msvc": "1.12.2",
|
|
||||||
"@unrs/resolver-binding-win32-x64-msvc": "1.12.2"
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/update-browserslist-db": {
|
"node_modules/update-browserslist-db": {
|
||||||
@@ -5330,6 +5284,7 @@
|
|||||||
"resolved": "https://registry.npmjs.org/v8-to-istanbul/-/v8-to-istanbul-9.3.0.tgz",
|
"resolved": "https://registry.npmjs.org/v8-to-istanbul/-/v8-to-istanbul-9.3.0.tgz",
|
||||||
"integrity": "sha512-kiGUalWN+rgBJ/1OHZsBtU4rXZOfj/7rKQxULKlIzwzQSvMJUUNgPwJEEh7gU6xEVxC0ahoOBvN2YI8GH6FNgA==",
|
"integrity": "sha512-kiGUalWN+rgBJ/1OHZsBtU4rXZOfj/7rKQxULKlIzwzQSvMJUUNgPwJEEh7gU6xEVxC0ahoOBvN2YI8GH6FNgA==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
|
"license": "ISC",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@jridgewell/trace-mapping": "^0.3.12",
|
"@jridgewell/trace-mapping": "^0.3.12",
|
||||||
"@types/istanbul-lib-coverage": "^2.0.1",
|
"@types/istanbul-lib-coverage": "^2.0.1",
|
||||||
@@ -5348,11 +5303,26 @@
|
|||||||
"makeerror": "1.0.12"
|
"makeerror": "1.0.12"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"node_modules/webidl-conversions": {
|
||||||
|
"version": "3.0.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz",
|
||||||
|
"integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ=="
|
||||||
|
},
|
||||||
|
"node_modules/whatwg-url": {
|
||||||
|
"version": "5.0.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz",
|
||||||
|
"integrity": "sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==",
|
||||||
|
"dependencies": {
|
||||||
|
"tr46": "~0.0.3",
|
||||||
|
"webidl-conversions": "^3.0.0"
|
||||||
|
}
|
||||||
|
},
|
||||||
"node_modules/which": {
|
"node_modules/which": {
|
||||||
"version": "2.0.2",
|
"version": "2.0.2",
|
||||||
"resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz",
|
"resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz",
|
||||||
"integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==",
|
"integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
|
"license": "ISC",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"isexe": "^2.0.0"
|
"isexe": "^2.0.0"
|
||||||
},
|
},
|
||||||
@@ -5375,6 +5345,7 @@
|
|||||||
"resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-8.1.0.tgz",
|
"resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-8.1.0.tgz",
|
||||||
"integrity": "sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==",
|
"integrity": "sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"ansi-styles": "^6.1.0",
|
"ansi-styles": "^6.1.0",
|
||||||
"string-width": "^5.0.1",
|
"string-width": "^5.0.1",
|
||||||
@@ -5393,6 +5364,7 @@
|
|||||||
"resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz",
|
"resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz",
|
||||||
"integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==",
|
"integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"ansi-styles": "^4.0.0",
|
"ansi-styles": "^4.0.0",
|
||||||
"string-width": "^4.1.0",
|
"string-width": "^4.1.0",
|
||||||
@@ -5410,6 +5382,7 @@
|
|||||||
"resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz",
|
"resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz",
|
||||||
"integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==",
|
"integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
|
"license": "MIT",
|
||||||
"engines": {
|
"engines": {
|
||||||
"node": ">=8"
|
"node": ">=8"
|
||||||
}
|
}
|
||||||
@@ -5418,13 +5391,15 @@
|
|||||||
"version": "8.0.0",
|
"version": "8.0.0",
|
||||||
"resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz",
|
"resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz",
|
||||||
"integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==",
|
"integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==",
|
||||||
"dev": true
|
"dev": true,
|
||||||
|
"license": "MIT"
|
||||||
},
|
},
|
||||||
"node_modules/wrap-ansi-cjs/node_modules/string-width": {
|
"node_modules/wrap-ansi-cjs/node_modules/string-width": {
|
||||||
"version": "4.2.3",
|
"version": "4.2.3",
|
||||||
"resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz",
|
"resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz",
|
||||||
"integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==",
|
"integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"emoji-regex": "^8.0.0",
|
"emoji-regex": "^8.0.0",
|
||||||
"is-fullwidth-code-point": "^3.0.0",
|
"is-fullwidth-code-point": "^3.0.0",
|
||||||
@@ -5439,6 +5414,7 @@
|
|||||||
"resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz",
|
"resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz",
|
||||||
"integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==",
|
"integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"ansi-regex": "^5.0.1"
|
"ansi-regex": "^5.0.1"
|
||||||
},
|
},
|
||||||
@@ -5451,6 +5427,7 @@
|
|||||||
"resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.3.tgz",
|
"resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.3.tgz",
|
||||||
"integrity": "sha512-4Dj6M28JB+oAH8kFkTLUo+a2jwOFkuqb3yucU0CANcRRUbxS0cP0nZYCGjcc3BNXwRIsUVmDGgzawme7zvJHvg==",
|
"integrity": "sha512-4Dj6M28JB+oAH8kFkTLUo+a2jwOFkuqb3yucU0CANcRRUbxS0cP0nZYCGjcc3BNXwRIsUVmDGgzawme7zvJHvg==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
|
"license": "MIT",
|
||||||
"engines": {
|
"engines": {
|
||||||
"node": ">=12"
|
"node": ">=12"
|
||||||
},
|
},
|
||||||
@@ -5479,11 +5456,32 @@
|
|||||||
"node": "^14.17.0 || ^16.13.0 || >=18.0.0"
|
"node": "^14.17.0 || ^16.13.0 || >=18.0.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"node_modules/xml2js": {
|
||||||
|
"version": "0.5.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/xml2js/-/xml2js-0.5.0.tgz",
|
||||||
|
"integrity": "sha512-drPFnkQJik/O+uPKpqSgr22mpuFHqKdbS835iAQrUC73L2F5WkboIRd63ai/2Yg6I1jzifPFKH2NTK+cfglkIA==",
|
||||||
|
"dependencies": {
|
||||||
|
"sax": ">=0.6.0",
|
||||||
|
"xmlbuilder": "~11.0.0"
|
||||||
|
},
|
||||||
|
"engines": {
|
||||||
|
"node": ">=4.0.0"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/xmlbuilder": {
|
||||||
|
"version": "11.0.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-11.0.1.tgz",
|
||||||
|
"integrity": "sha512-fDlsI/kFEx7gLvbecc0/ohLG50fugQp8ryHzMTuW9vSa1GJ0XYWKnhsUx7oie3G98+r56aTQIUB4kht42R3JvA==",
|
||||||
|
"engines": {
|
||||||
|
"node": ">=4.0"
|
||||||
|
}
|
||||||
|
},
|
||||||
"node_modules/y18n": {
|
"node_modules/y18n": {
|
||||||
"version": "5.0.8",
|
"version": "5.0.8",
|
||||||
"resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz",
|
"resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz",
|
||||||
"integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==",
|
"integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
|
"license": "ISC",
|
||||||
"engines": {
|
"engines": {
|
||||||
"node": ">=10"
|
"node": ">=10"
|
||||||
}
|
}
|
||||||
@@ -5500,6 +5498,7 @@
|
|||||||
"resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz",
|
"resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz",
|
||||||
"integrity": "sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==",
|
"integrity": "sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"cliui": "^8.0.1",
|
"cliui": "^8.0.1",
|
||||||
"escalade": "^3.1.1",
|
"escalade": "^3.1.1",
|
||||||
@@ -5527,6 +5526,7 @@
|
|||||||
"resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz",
|
"resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz",
|
||||||
"integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==",
|
"integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
|
"license": "MIT",
|
||||||
"engines": {
|
"engines": {
|
||||||
"node": ">=8"
|
"node": ">=8"
|
||||||
}
|
}
|
||||||
@@ -5535,13 +5535,15 @@
|
|||||||
"version": "8.0.0",
|
"version": "8.0.0",
|
||||||
"resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz",
|
"resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz",
|
||||||
"integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==",
|
"integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==",
|
||||||
"dev": true
|
"dev": true,
|
||||||
|
"license": "MIT"
|
||||||
},
|
},
|
||||||
"node_modules/yargs/node_modules/string-width": {
|
"node_modules/yargs/node_modules/string-width": {
|
||||||
"version": "4.2.3",
|
"version": "4.2.3",
|
||||||
"resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz",
|
"resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz",
|
||||||
"integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==",
|
"integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"emoji-regex": "^8.0.0",
|
"emoji-regex": "^8.0.0",
|
||||||
"is-fullwidth-code-point": "^3.0.0",
|
"is-fullwidth-code-point": "^3.0.0",
|
||||||
@@ -5556,6 +5558,7 @@
|
|||||||
"resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz",
|
"resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz",
|
||||||
"integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==",
|
"integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"ansi-regex": "^5.0.1"
|
"ansi-regex": "^5.0.1"
|
||||||
},
|
},
|
||||||
@@ -5568,6 +5571,7 @@
|
|||||||
"resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz",
|
"resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz",
|
||||||
"integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==",
|
"integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
|
"license": "MIT",
|
||||||
"engines": {
|
"engines": {
|
||||||
"node": ">=10"
|
"node": ">=10"
|
||||||
},
|
},
|
||||||
@@ -5578,92 +5582,83 @@
|
|||||||
},
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@actions/cache": {
|
"@actions/cache": {
|
||||||
"version": "6.0.0",
|
"version": "4.1.0",
|
||||||
"resolved": "https://registry.npmjs.org/@actions/cache/-/cache-6.0.0.tgz",
|
"resolved": "https://registry.npmjs.org/@actions/cache/-/cache-4.1.0.tgz",
|
||||||
"integrity": "sha512-+tCs634SyGBQJ3KU1rtAVabmN/gYiT9WgzTSJzWwdPCLmM3zWrdbysaErKv8HyI6OozClrxNvDgPjJimbHZZvw==",
|
"integrity": "sha512-z3Opg+P4Y7baq+g1dODXgdtsvPLSewr3ZKpp3U0HQR1A/vWCoJFS52XSezjdngo4SIOdR5oHtyK3a3Arar+X9A==",
|
||||||
"requires": {
|
"requires": {
|
||||||
"@actions/core": "^3.0.0",
|
"@actions/core": "^1.11.1",
|
||||||
"@actions/exec": "^3.0.0",
|
"@actions/exec": "^1.0.1",
|
||||||
"@actions/glob": "^0.6.1",
|
"@actions/glob": "^0.1.0",
|
||||||
"@actions/http-client": "^4.0.0",
|
"@actions/http-client": "^2.1.1",
|
||||||
"@actions/io": "^3.0.0",
|
"@actions/io": "^1.0.1",
|
||||||
"@azure/core-rest-pipeline": "^1.22.0",
|
"@azure/abort-controller": "^1.1.0",
|
||||||
"@azure/storage-blob": "^12.30.0",
|
"@azure/ms-rest-js": "^2.6.0",
|
||||||
|
"@azure/storage-blob": "^12.13.0",
|
||||||
"@protobuf-ts/runtime-rpc": "^2.11.1",
|
"@protobuf-ts/runtime-rpc": "^2.11.1",
|
||||||
"semver": "^7.7.3"
|
"semver": "^6.3.1"
|
||||||
},
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"semver": {
|
"@actions/glob": {
|
||||||
"version": "7.7.4",
|
"version": "0.1.2",
|
||||||
"resolved": "https://registry.npmjs.org/semver/-/semver-7.7.4.tgz",
|
"resolved": "https://registry.npmjs.org/@actions/glob/-/glob-0.1.2.tgz",
|
||||||
"integrity": "sha512-vFKC2IEtQnVhpT78h1Yp8wzwrf8CM+MzKMHGJZfBtzhZNycRFnXsHk6E5TxIkkMsgNS7mdX3AGB7x2QM2di4lA=="
|
"integrity": "sha512-SclLR7Ia5sEqjkJTPs7Sd86maMDw43p769YxBOxvPvEWuPEhpAnBsQfENOpXjFYMmhCqd127bmf+YdvJqVqR4A==",
|
||||||
|
"requires": {
|
||||||
|
"@actions/core": "^1.2.6",
|
||||||
|
"minimatch": "^3.0.4"
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"@actions/core": {
|
"@actions/core": {
|
||||||
"version": "3.0.0",
|
"version": "1.11.1",
|
||||||
"resolved": "https://registry.npmjs.org/@actions/core/-/core-3.0.0.tgz",
|
"resolved": "https://registry.npmjs.org/@actions/core/-/core-1.11.1.tgz",
|
||||||
"integrity": "sha512-zYt6cz+ivnTmiT/ksRVriMBOiuoUpDCJJlZ5KPl2/FRdvwU3f7MPh9qftvbkXJThragzUZieit2nyHUyw53Seg==",
|
"integrity": "sha512-hXJCSrkwfA46Vd9Z3q4cpEpHB1rL5NG04+/rbqW9d3+CSvtB1tYe8UTpAlixa1vj0m/ULglfEK2UKxMGxCxv5A==",
|
||||||
"requires": {
|
"requires": {
|
||||||
"@actions/exec": "^3.0.0",
|
"@actions/exec": "^1.1.1",
|
||||||
"@actions/http-client": "^4.0.0"
|
"@actions/http-client": "^2.0.1"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"@actions/exec": {
|
"@actions/exec": {
|
||||||
"version": "3.0.0",
|
"version": "1.1.1",
|
||||||
"resolved": "https://registry.npmjs.org/@actions/exec/-/exec-3.0.0.tgz",
|
"resolved": "https://registry.npmjs.org/@actions/exec/-/exec-1.1.1.tgz",
|
||||||
"integrity": "sha512-6xH/puSoNBXb72VPlZVm7vQ+svQpFyA96qdDBvhB8eNZOE8LtPf9L4oAsfzK/crCL8YZ+19fKYVnM63Sl+Xzlw==",
|
"integrity": "sha512-+sCcHHbVdk93a0XT19ECtO/gIXoxvdsgQLzb2fE2/5sIZmWQuluYyjPQtrtTHdU1YzTZ7bAPN4sITq2xi1679w==",
|
||||||
"requires": {
|
"requires": {
|
||||||
"@actions/io": "^3.0.2"
|
"@actions/io": "^1.0.1"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"@actions/glob": {
|
"@actions/glob": {
|
||||||
"version": "0.6.1",
|
"version": "0.5.0",
|
||||||
"resolved": "https://registry.npmjs.org/@actions/glob/-/glob-0.6.1.tgz",
|
"resolved": "https://registry.npmjs.org/@actions/glob/-/glob-0.5.0.tgz",
|
||||||
"integrity": "sha512-K4+2Ac5ILcf2ySdJCha+Pop9NcKjxqCL4xL4zI50dgB2PbXgC0+AcP011xfH4Of6b4QEJJg8dyZYv7zl4byTsw==",
|
"integrity": "sha512-tST2rjPvJLRZLuT9NMUtyBjvj9Yo0MiJS3ow004slMvm8GFM+Zv9HvMJ7HWzfUyJnGrJvDsYkWBaaG3YKXRtCw==",
|
||||||
"requires": {
|
"requires": {
|
||||||
"@actions/core": "^3.0.0",
|
"@actions/core": "^1.9.1",
|
||||||
"minimatch": "^3.0.4"
|
"minimatch": "^3.0.4"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"@actions/http-client": {
|
"@actions/http-client": {
|
||||||
"version": "4.0.0",
|
"version": "2.2.0",
|
||||||
"resolved": "https://registry.npmjs.org/@actions/http-client/-/http-client-4.0.0.tgz",
|
"resolved": "https://registry.npmjs.org/@actions/http-client/-/http-client-2.2.0.tgz",
|
||||||
"integrity": "sha512-QuwPsgVMsD6qaPD57GLZi9sqzAZCtiJT8kVBCDpLtxhL5MydQ4gS+DrejtZZPdIYyB1e95uCK9Luyds7ybHI3g==",
|
"integrity": "sha512-q+epW0trjVUUHboliPb4UF9g2msf+w61b32tAkFEwL/IwP0DQWgbCMM0Hbe3e3WXSKz5VcUXbzJQgy8Hkra/Lg==",
|
||||||
"requires": {
|
"requires": {
|
||||||
"tunnel": "^0.0.6",
|
"tunnel": "^0.0.6",
|
||||||
"undici": "^6.23.0"
|
"undici": "^5.25.4"
|
||||||
},
|
|
||||||
"dependencies": {
|
|
||||||
"undici": {
|
|
||||||
"version": "6.24.1",
|
|
||||||
"resolved": "https://registry.npmjs.org/undici/-/undici-6.24.1.tgz",
|
|
||||||
"integrity": "sha512-sC+b0tB1whOCzbtlx20fx3WgCXwkW627p4EA9uM+/tNNPkSS+eSEld6pAs9nDv7WbY1UUljBMYPtu9BCOrCWKA=="
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"@actions/io": {
|
"@actions/io": {
|
||||||
"version": "3.0.2",
|
"version": "1.1.3",
|
||||||
"resolved": "https://registry.npmjs.org/@actions/io/-/io-3.0.2.tgz",
|
"resolved": "https://registry.npmjs.org/@actions/io/-/io-1.1.3.tgz",
|
||||||
"integrity": "sha512-nRBchcMM+QK1pdjO7/idu86rbJI5YHUKCvKs0KxnSYbVe3F51UfGxuZX4Qy/fWlp6l7gWFwIkrOzN+oUK03kfw=="
|
"integrity": "sha512-wi9JjgKLYS7U/z8PPbco+PvTb/nRWjeoFlJ1Qer83k/3C5PHQi28hiVdeE2kHXmIL99mQFawx8qt/JPjZilJ8Q=="
|
||||||
},
|
},
|
||||||
"@actions/tool-cache": {
|
"@actions/tool-cache": {
|
||||||
"version": "4.0.0",
|
"version": "2.0.2",
|
||||||
"resolved": "https://registry.npmjs.org/@actions/tool-cache/-/tool-cache-4.0.0.tgz",
|
"resolved": "https://registry.npmjs.org/@actions/tool-cache/-/tool-cache-2.0.2.tgz",
|
||||||
"integrity": "sha512-L8P9HbXvpvqjZDveb/fdsa55IVC0trfPgQ4ZwGo6r5af6YDVdM9vMGPZ7rgY2fAT9gGj4PSYd6bYlg3p3jD78A==",
|
"integrity": "sha512-fBhNNOWxuoLxztQebpOaWu6WeVmuwa77Z+DxIZ1B+OYvGkGQon6kTVg6Z32Cb13WCuw0szqonK+hh03mJV7Z6w==",
|
||||||
"requires": {
|
"requires": {
|
||||||
"@actions/core": "^3.0.0",
|
"@actions/core": "^1.11.1",
|
||||||
"@actions/exec": "^3.0.0",
|
"@actions/exec": "^1.0.0",
|
||||||
"@actions/http-client": "^4.0.0",
|
"@actions/http-client": "^2.0.1",
|
||||||
"@actions/io": "^3.0.0",
|
"@actions/io": "^1.1.1",
|
||||||
"semver": "^7.7.3"
|
"semver": "^6.1.0"
|
||||||
},
|
|
||||||
"dependencies": {
|
|
||||||
"semver": {
|
|
||||||
"version": "7.7.4",
|
|
||||||
"resolved": "https://registry.npmjs.org/semver/-/semver-7.7.4.tgz",
|
|
||||||
"integrity": "sha512-vFKC2IEtQnVhpT78h1Yp8wzwrf8CM+MzKMHGJZfBtzhZNycRFnXsHk6E5TxIkkMsgNS7mdX3AGB7x2QM2di4lA=="
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"@ampproject/remapping": {
|
"@ampproject/remapping": {
|
||||||
@@ -5677,149 +5672,219 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"@azure/abort-controller": {
|
"@azure/abort-controller": {
|
||||||
"version": "2.1.2",
|
"version": "1.1.0",
|
||||||
"resolved": "https://registry.npmjs.org/@azure/abort-controller/-/abort-controller-2.1.2.tgz",
|
"resolved": "https://registry.npmjs.org/@azure/abort-controller/-/abort-controller-1.1.0.tgz",
|
||||||
"integrity": "sha512-nBrLsEWm4J2u5LpAPjxADTlq3trDgVZZXHNKabeXZtpq3d3AbN/KGO82R87rdDz5/lYB024rtEf10/q0urNgsA==",
|
"integrity": "sha512-TrRLIoSQVzfAJX9H1JeFjzAoDGcoK1IYX1UImfceTZpsyYfWr09Ss1aHW1y5TrrR3iq6RZLBwJ3E24uwPhwahw==",
|
||||||
"requires": {
|
"requires": {
|
||||||
"tslib": "^2.6.2"
|
"tslib": "^2.2.0"
|
||||||
|
},
|
||||||
|
"dependencies": {
|
||||||
|
"tslib": {
|
||||||
|
"version": "2.6.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.1.tgz",
|
||||||
|
"integrity": "sha512-t0hLfiEKfMUoqhG+U1oid7Pva4bbDPHYfJNiB7BiIjRkj1pyC++4N3huJfqY6aRH6VTB0rvtzQwjM4K6qpfOig=="
|
||||||
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"@azure/core-auth": {
|
"@azure/core-auth": {
|
||||||
"version": "1.10.1",
|
"version": "1.4.0",
|
||||||
"resolved": "https://registry.npmjs.org/@azure/core-auth/-/core-auth-1.10.1.tgz",
|
"resolved": "https://registry.npmjs.org/@azure/core-auth/-/core-auth-1.4.0.tgz",
|
||||||
"integrity": "sha512-ykRMW8PjVAn+RS6ww5cmK9U2CyH9p4Q88YJwvUslfuMmN98w/2rdGRLPqJYObapBCdzBVeDgYWdJnFPFb7qzpg==",
|
"integrity": "sha512-HFrcTgmuSuukRf/EdPmqBrc5l6Q5Uu+2TbuhaKbgaCpP2TfAeiNaQPAadxO+CYBRHGUzIDteMAjFspFLDLnKVQ==",
|
||||||
"requires": {
|
"requires": {
|
||||||
"@azure/abort-controller": "^2.1.2",
|
"@azure/abort-controller": "^1.0.0",
|
||||||
"@azure/core-util": "^1.13.0",
|
"tslib": "^2.2.0"
|
||||||
"tslib": "^2.6.2"
|
},
|
||||||
|
"dependencies": {
|
||||||
|
"tslib": {
|
||||||
|
"version": "2.6.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.1.tgz",
|
||||||
|
"integrity": "sha512-t0hLfiEKfMUoqhG+U1oid7Pva4bbDPHYfJNiB7BiIjRkj1pyC++4N3huJfqY6aRH6VTB0rvtzQwjM4K6qpfOig=="
|
||||||
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"@azure/core-client": {
|
"@azure/core-http": {
|
||||||
"version": "1.10.1",
|
"version": "3.0.2",
|
||||||
"resolved": "https://registry.npmjs.org/@azure/core-client/-/core-client-1.10.1.tgz",
|
"resolved": "https://registry.npmjs.org/@azure/core-http/-/core-http-3.0.2.tgz",
|
||||||
"integrity": "sha512-Nh5PhEOeY6PrnxNPsEHRr9eimxLwgLlpmguQaHKBinFYA/RU9+kOYVOQqOrTsCL+KSxrLLl1gD8Dk5BFW/7l/w==",
|
"integrity": "sha512-o1wR9JrmoM0xEAa0Ue7Sp8j+uJvmqYaGoHOCT5qaVYmvgmnZDC0OvQimPA/JR3u77Sz6D1y3Xmk1y69cDU9q9A==",
|
||||||
"requires": {
|
"requires": {
|
||||||
"@azure/abort-controller": "^2.1.2",
|
"@azure/abort-controller": "^1.0.0",
|
||||||
"@azure/core-auth": "^1.10.0",
|
"@azure/core-auth": "^1.3.0",
|
||||||
"@azure/core-rest-pipeline": "^1.22.0",
|
"@azure/core-tracing": "1.0.0-preview.13",
|
||||||
"@azure/core-tracing": "^1.3.0",
|
"@azure/core-util": "^1.1.1",
|
||||||
"@azure/core-util": "^1.13.0",
|
"@azure/logger": "^1.0.0",
|
||||||
"@azure/logger": "^1.3.0",
|
"@types/node-fetch": "^2.5.0",
|
||||||
"tslib": "^2.6.2"
|
"@types/tunnel": "^0.0.3",
|
||||||
|
"form-data": "^4.0.0",
|
||||||
|
"node-fetch": "^2.6.7",
|
||||||
|
"process": "^0.11.10",
|
||||||
|
"tslib": "^2.2.0",
|
||||||
|
"tunnel": "^0.0.6",
|
||||||
|
"uuid": "^8.3.0",
|
||||||
|
"xml2js": "^0.5.0"
|
||||||
|
},
|
||||||
|
"dependencies": {
|
||||||
|
"form-data": {
|
||||||
|
"version": "4.0.4",
|
||||||
|
"resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.4.tgz",
|
||||||
|
"integrity": "sha512-KrGhL9Q4zjj0kiUt5OO4Mr/A/jlI2jDYs5eHBpYHPcBEVSiipAvn2Ko2HnPe20rmcuuvMHNdZFp+4IlGTMF0Ow==",
|
||||||
|
"requires": {
|
||||||
|
"asynckit": "^0.4.0",
|
||||||
|
"combined-stream": "^1.0.8",
|
||||||
|
"es-set-tostringtag": "^2.1.0",
|
||||||
|
"hasown": "^2.0.2",
|
||||||
|
"mime-types": "^2.1.12"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"@azure/core-http-compat": {
|
"node-fetch": {
|
||||||
"version": "2.3.2",
|
"version": "2.6.12",
|
||||||
"resolved": "https://registry.npmjs.org/@azure/core-http-compat/-/core-http-compat-2.3.2.tgz",
|
"resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.12.tgz",
|
||||||
"integrity": "sha512-Tf6ltdKzOJEgxZeWLCjMxrxbodB/ZeCbzzA1A2qHbhzAjzjHoBVSUeSl/baT/oHAxhc4qdqVaDKnc2+iE932gw==",
|
"integrity": "sha512-C/fGU2E8ToujUivIO0H+tpQ6HWo4eEmchoPIoXtxCrVghxdKq+QOHqEZW7tuP3KlV3bC8FRMO5nMCC7Zm1VP6g==",
|
||||||
"requires": {
|
"requires": {
|
||||||
"@azure/abort-controller": "^2.1.2"
|
"whatwg-url": "^5.0.0"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"tslib": {
|
||||||
|
"version": "2.6.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.1.tgz",
|
||||||
|
"integrity": "sha512-t0hLfiEKfMUoqhG+U1oid7Pva4bbDPHYfJNiB7BiIjRkj1pyC++4N3huJfqY6aRH6VTB0rvtzQwjM4K6qpfOig=="
|
||||||
|
},
|
||||||
|
"uuid": {
|
||||||
|
"version": "8.3.2",
|
||||||
|
"resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz",
|
||||||
|
"integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg=="
|
||||||
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"@azure/core-lro": {
|
"@azure/core-lro": {
|
||||||
"version": "2.7.2",
|
"version": "2.5.4",
|
||||||
"resolved": "https://registry.npmjs.org/@azure/core-lro/-/core-lro-2.7.2.tgz",
|
"resolved": "https://registry.npmjs.org/@azure/core-lro/-/core-lro-2.5.4.tgz",
|
||||||
"integrity": "sha512-0YIpccoX8m/k00O7mDDMdJpbr6mf1yWo2dfmxt5A8XVZVVMz2SSKaEbMCeJRvgQ0IaSlqhjT47p4hVIRRy90xw==",
|
"integrity": "sha512-3GJiMVH7/10bulzOKGrrLeG/uCBH/9VtxqaMcB9lIqAeamI/xYQSHJL/KcsLDuH+yTjYpro/u6D/MuRe4dN70Q==",
|
||||||
"requires": {
|
"requires": {
|
||||||
"@azure/abort-controller": "^2.0.0",
|
"@azure/abort-controller": "^1.0.0",
|
||||||
"@azure/core-util": "^1.2.0",
|
"@azure/core-util": "^1.2.0",
|
||||||
"@azure/logger": "^1.0.0",
|
"@azure/logger": "^1.0.0",
|
||||||
"tslib": "^2.6.2"
|
"tslib": "^2.2.0"
|
||||||
|
},
|
||||||
|
"dependencies": {
|
||||||
|
"tslib": {
|
||||||
|
"version": "2.6.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.1.tgz",
|
||||||
|
"integrity": "sha512-t0hLfiEKfMUoqhG+U1oid7Pva4bbDPHYfJNiB7BiIjRkj1pyC++4N3huJfqY6aRH6VTB0rvtzQwjM4K6qpfOig=="
|
||||||
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"@azure/core-paging": {
|
"@azure/core-paging": {
|
||||||
"version": "1.6.2",
|
"version": "1.5.0",
|
||||||
"resolved": "https://registry.npmjs.org/@azure/core-paging/-/core-paging-1.6.2.tgz",
|
"resolved": "https://registry.npmjs.org/@azure/core-paging/-/core-paging-1.5.0.tgz",
|
||||||
"integrity": "sha512-YKWi9YuCU04B55h25cnOYZHxXYtEvQEbKST5vqRga7hWY9ydd3FZHdeQF8pyh+acWZvppw13M/LMGx0LABUVMA==",
|
"integrity": "sha512-zqWdVIt+2Z+3wqxEOGzR5hXFZ8MGKK52x4vFLw8n58pR6ZfKRx3EXYTxTaYxYHc/PexPUTyimcTWFJbji9Z6Iw==",
|
||||||
"requires": {
|
"requires": {
|
||||||
"tslib": "^2.6.2"
|
"tslib": "^2.2.0"
|
||||||
}
|
|
||||||
},
|
},
|
||||||
"@azure/core-rest-pipeline": {
|
"dependencies": {
|
||||||
"version": "1.23.0",
|
"tslib": {
|
||||||
"resolved": "https://registry.npmjs.org/@azure/core-rest-pipeline/-/core-rest-pipeline-1.23.0.tgz",
|
"version": "2.6.1",
|
||||||
"integrity": "sha512-Evs1INHo+jUjwHi1T6SG6Ua/LHOQBCLuKEEE6efIpt4ZOoNonaT1kP32GoOcdNDbfqsD2445CPri3MubBy5DEQ==",
|
"resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.1.tgz",
|
||||||
"requires": {
|
"integrity": "sha512-t0hLfiEKfMUoqhG+U1oid7Pva4bbDPHYfJNiB7BiIjRkj1pyC++4N3huJfqY6aRH6VTB0rvtzQwjM4K6qpfOig=="
|
||||||
"@azure/abort-controller": "^2.1.2",
|
}
|
||||||
"@azure/core-auth": "^1.10.0",
|
|
||||||
"@azure/core-tracing": "^1.3.0",
|
|
||||||
"@azure/core-util": "^1.13.0",
|
|
||||||
"@azure/logger": "^1.3.0",
|
|
||||||
"@typespec/ts-http-runtime": "^0.3.4",
|
|
||||||
"tslib": "^2.6.2"
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"@azure/core-tracing": {
|
"@azure/core-tracing": {
|
||||||
"version": "1.3.1",
|
"version": "1.0.0-preview.13",
|
||||||
"resolved": "https://registry.npmjs.org/@azure/core-tracing/-/core-tracing-1.3.1.tgz",
|
"resolved": "https://registry.npmjs.org/@azure/core-tracing/-/core-tracing-1.0.0-preview.13.tgz",
|
||||||
"integrity": "sha512-9MWKevR7Hz8kNzzPLfX4EAtGM2b8mr50HPDBvio96bURP/9C+HjdH3sBlLSNNrvRAr5/k/svoH457gB5IKpmwQ==",
|
"integrity": "sha512-KxDlhXyMlh2Jhj2ykX6vNEU0Vou4nHr025KoSEiz7cS3BNiHNaZcdECk/DmLkEB0as5T7b/TpRcehJ5yV6NeXQ==",
|
||||||
"requires": {
|
"requires": {
|
||||||
"tslib": "^2.6.2"
|
"@opentelemetry/api": "^1.0.1",
|
||||||
|
"tslib": "^2.2.0"
|
||||||
|
},
|
||||||
|
"dependencies": {
|
||||||
|
"tslib": {
|
||||||
|
"version": "2.6.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.1.tgz",
|
||||||
|
"integrity": "sha512-t0hLfiEKfMUoqhG+U1oid7Pva4bbDPHYfJNiB7BiIjRkj1pyC++4N3huJfqY6aRH6VTB0rvtzQwjM4K6qpfOig=="
|
||||||
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"@azure/core-util": {
|
"@azure/core-util": {
|
||||||
"version": "1.13.1",
|
"version": "1.3.2",
|
||||||
"resolved": "https://registry.npmjs.org/@azure/core-util/-/core-util-1.13.1.tgz",
|
"resolved": "https://registry.npmjs.org/@azure/core-util/-/core-util-1.3.2.tgz",
|
||||||
"integrity": "sha512-XPArKLzsvl0Hf0CaGyKHUyVgF7oDnhKoP85Xv6M4StF/1AhfORhZudHtOyf2s+FcbuQ9dPRAjB8J2KvRRMUK2A==",
|
"integrity": "sha512-2bECOUh88RvL1pMZTcc6OzfobBeWDBf5oBbhjIhT1MV9otMVWCzpOJkkiKtrnO88y5GGBelgY8At73KGAdbkeQ==",
|
||||||
"requires": {
|
"requires": {
|
||||||
"@azure/abort-controller": "^2.1.2",
|
"@azure/abort-controller": "^1.0.0",
|
||||||
"@typespec/ts-http-runtime": "^0.3.0",
|
"tslib": "^2.2.0"
|
||||||
"tslib": "^2.6.2"
|
|
||||||
}
|
|
||||||
},
|
},
|
||||||
"@azure/core-xml": {
|
"dependencies": {
|
||||||
"version": "1.5.0",
|
"tslib": {
|
||||||
"resolved": "https://registry.npmjs.org/@azure/core-xml/-/core-xml-1.5.0.tgz",
|
"version": "2.6.1",
|
||||||
"integrity": "sha512-D/sdlJBMJfx7gqoj66PKVmhDDaU6TKA49ptcolxdas29X7AfvLTmfAGLjAcIMBK7UZ2o4lygHIqVckOlQU3xWw==",
|
"resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.1.tgz",
|
||||||
"requires": {
|
"integrity": "sha512-t0hLfiEKfMUoqhG+U1oid7Pva4bbDPHYfJNiB7BiIjRkj1pyC++4N3huJfqY6aRH6VTB0rvtzQwjM4K6qpfOig=="
|
||||||
"fast-xml-parser": "^5.0.7",
|
}
|
||||||
"tslib": "^2.8.1"
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"@azure/logger": {
|
"@azure/logger": {
|
||||||
"version": "1.3.0",
|
"version": "1.0.4",
|
||||||
"resolved": "https://registry.npmjs.org/@azure/logger/-/logger-1.3.0.tgz",
|
"resolved": "https://registry.npmjs.org/@azure/logger/-/logger-1.0.4.tgz",
|
||||||
"integrity": "sha512-fCqPIfOcLE+CGqGPd66c8bZpwAji98tZ4JI9i/mlTNTlsIWslCfpg48s/ypyLxZTump5sypjrKn2/kY7q8oAbA==",
|
"integrity": "sha512-ustrPY8MryhloQj7OWGe+HrYx+aoiOxzbXTtgblbV3xwCqpzUK36phH3XNHQKj3EPonyFUuDTfR3qFhTEAuZEg==",
|
||||||
"requires": {
|
"requires": {
|
||||||
"@typespec/ts-http-runtime": "^0.3.0",
|
"tslib": "^2.2.0"
|
||||||
"tslib": "^2.6.2"
|
},
|
||||||
|
"dependencies": {
|
||||||
|
"tslib": {
|
||||||
|
"version": "2.6.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.1.tgz",
|
||||||
|
"integrity": "sha512-t0hLfiEKfMUoqhG+U1oid7Pva4bbDPHYfJNiB7BiIjRkj1pyC++4N3huJfqY6aRH6VTB0rvtzQwjM4K6qpfOig=="
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"@azure/ms-rest-js": {
|
||||||
|
"version": "2.7.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/@azure/ms-rest-js/-/ms-rest-js-2.7.0.tgz",
|
||||||
|
"integrity": "sha512-ngbzWbqF+NmztDOpLBVDxYM+XLcUj7nKhxGbSU9WtIsXfRB//cf2ZbAG5HkOrhU9/wd/ORRB6lM/d69RKVjiyA==",
|
||||||
|
"requires": {
|
||||||
|
"@azure/core-auth": "^1.1.4",
|
||||||
|
"abort-controller": "^3.0.0",
|
||||||
|
"form-data": "^2.5.0",
|
||||||
|
"node-fetch": "^2.6.7",
|
||||||
|
"tslib": "^1.10.0",
|
||||||
|
"tunnel": "0.0.6",
|
||||||
|
"uuid": "^8.3.2",
|
||||||
|
"xml2js": "^0.5.0"
|
||||||
|
},
|
||||||
|
"dependencies": {
|
||||||
|
"node-fetch": {
|
||||||
|
"version": "2.6.12",
|
||||||
|
"resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.12.tgz",
|
||||||
|
"integrity": "sha512-C/fGU2E8ToujUivIO0H+tpQ6HWo4eEmchoPIoXtxCrVghxdKq+QOHqEZW7tuP3KlV3bC8FRMO5nMCC7Zm1VP6g==",
|
||||||
|
"requires": {
|
||||||
|
"whatwg-url": "^5.0.0"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"uuid": {
|
||||||
|
"version": "8.3.2",
|
||||||
|
"resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz",
|
||||||
|
"integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg=="
|
||||||
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"@azure/storage-blob": {
|
"@azure/storage-blob": {
|
||||||
"version": "12.31.0",
|
"version": "12.15.0",
|
||||||
"resolved": "https://registry.npmjs.org/@azure/storage-blob/-/storage-blob-12.31.0.tgz",
|
"resolved": "https://registry.npmjs.org/@azure/storage-blob/-/storage-blob-12.15.0.tgz",
|
||||||
"integrity": "sha512-DBgNv10aCSxopt92DkTDD0o9xScXeBqPKGmR50FPZQaEcH4JLQ+GEOGEDv19V5BMkB7kxr+m4h6il/cCDPvmHg==",
|
"integrity": "sha512-e7JBKLOFi0QVJqqLzrjx1eL3je3/Ug2IQj24cTM9b85CsnnFjLGeGjJVIjbGGZaytewiCEG7r3lRwQX7fKj0/w==",
|
||||||
"requires": {
|
"requires": {
|
||||||
"@azure/abort-controller": "^2.1.2",
|
"@azure/abort-controller": "^1.0.0",
|
||||||
"@azure/core-auth": "^1.9.0",
|
"@azure/core-http": "^3.0.0",
|
||||||
"@azure/core-client": "^1.9.3",
|
|
||||||
"@azure/core-http-compat": "^2.2.0",
|
|
||||||
"@azure/core-lro": "^2.2.0",
|
"@azure/core-lro": "^2.2.0",
|
||||||
"@azure/core-paging": "^1.6.2",
|
"@azure/core-paging": "^1.1.1",
|
||||||
"@azure/core-rest-pipeline": "^1.19.1",
|
"@azure/core-tracing": "1.0.0-preview.13",
|
||||||
"@azure/core-tracing": "^1.2.0",
|
"@azure/logger": "^1.0.0",
|
||||||
"@azure/core-util": "^1.11.0",
|
|
||||||
"@azure/core-xml": "^1.4.5",
|
|
||||||
"@azure/logger": "^1.1.4",
|
|
||||||
"@azure/storage-common": "^12.3.0",
|
|
||||||
"events": "^3.0.0",
|
"events": "^3.0.0",
|
||||||
"tslib": "^2.8.1"
|
"tslib": "^2.2.0"
|
||||||
}
|
|
||||||
},
|
},
|
||||||
"@azure/storage-common": {
|
"dependencies": {
|
||||||
"version": "12.3.0",
|
"tslib": {
|
||||||
"resolved": "https://registry.npmjs.org/@azure/storage-common/-/storage-common-12.3.0.tgz",
|
"version": "2.6.1",
|
||||||
"integrity": "sha512-/OFHhy86aG5Pe8dP5tsp+BuJ25JOAl9yaMU3WZbkeoiFMHFtJ7tu5ili7qEdBXNW9G5lDB19trwyI6V49F/8iQ==",
|
"resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.1.tgz",
|
||||||
"requires": {
|
"integrity": "sha512-t0hLfiEKfMUoqhG+U1oid7Pva4bbDPHYfJNiB7BiIjRkj1pyC++4N3huJfqY6aRH6VTB0rvtzQwjM4K6qpfOig=="
|
||||||
"@azure/abort-controller": "^2.1.2",
|
}
|
||||||
"@azure/core-auth": "^1.9.0",
|
|
||||||
"@azure/core-http-compat": "^2.2.0",
|
|
||||||
"@azure/core-rest-pipeline": "^1.19.1",
|
|
||||||
"@azure/core-tracing": "^1.2.0",
|
|
||||||
"@azure/core-util": "^1.11.0",
|
|
||||||
"@azure/logger": "^1.1.4",
|
|
||||||
"events": "^3.3.0",
|
|
||||||
"tslib": "^2.8.1"
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"@babel/code-frame": {
|
"@babel/code-frame": {
|
||||||
@@ -5928,9 +5993,9 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"@babel/helper-plugin-utils": {
|
"@babel/helper-plugin-utils": {
|
||||||
"version": "7.29.7",
|
"version": "7.27.1",
|
||||||
"resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.29.7.tgz",
|
"resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.27.1.tgz",
|
||||||
"integrity": "sha512-G7sHYigPY17oO5SYWnfD/0MTBwVR781S/JI643e/JhUYgVgWE/61SoW3NH9KWUKyKq5LVh3npif99Wkt6j86Jw==",
|
"integrity": "sha512-1gn1Up5YXka3YYAHGKpbideQ5Yjf1tDa9qYcgysz+cNCXukyLl6DjPXhD3VRwSb8c0J9tA4b2+rHEZtc6R0tlw==",
|
||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
"@babel/helper-string-parser": {
|
"@babel/helper-string-parser": {
|
||||||
@@ -6034,12 +6099,12 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"@babel/plugin-syntax-jsx": {
|
"@babel/plugin-syntax-jsx": {
|
||||||
"version": "7.29.7",
|
"version": "7.27.1",
|
||||||
"resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.29.7.tgz",
|
"resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.27.1.tgz",
|
||||||
"integrity": "sha512-TSu8+mHCoEaaCDEZ0I3+6mvTBYR4PCxQwf2z9/r5Tbztv6NaLR3B9thGTTxX2WGuGHJqRiAbKPeGTJ5XWXVg6A==",
|
"integrity": "sha512-y8YTNIeKoyhGd9O0Jiyzyyqk8gdjnumGTQPsz0xOZOQ2RmkVJeZ1vmmfIvFEKqucBG6axJGBZDE/7iI5suUI/w==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"requires": {
|
"requires": {
|
||||||
"@babel/helper-plugin-utils": "^7.29.7"
|
"@babel/helper-plugin-utils": "^7.27.1"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"@babel/plugin-syntax-logical-assignment-operators": {
|
"@babel/plugin-syntax-logical-assignment-operators": {
|
||||||
@@ -6115,12 +6180,12 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"@babel/plugin-syntax-typescript": {
|
"@babel/plugin-syntax-typescript": {
|
||||||
"version": "7.29.7",
|
"version": "7.27.1",
|
||||||
"resolved": "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.29.7.tgz",
|
"resolved": "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.27.1.tgz",
|
||||||
"integrity": "sha512-ngr+82Sh0xMz25TPCZi+nC2iTzjfCdWS2ONXTp/PtSCHCgaCNBpdMqgvJ2ccdLlClVZ7sisIgB914j/JFe+RZA==",
|
"integrity": "sha512-xfYCBMxveHrRMnAWl1ZlPXOZjzkN82THFvLhQhFXFt81Z5HnN+EtUkZhv/zcKpmT3fzmWZB0ywiBrbC3vogbwQ==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"requires": {
|
"requires": {
|
||||||
"@babel/helper-plugin-utils": "^7.29.7"
|
"@babel/helper-plugin-utils": "^7.27.1"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"@babel/template": {
|
"@babel/template": {
|
||||||
@@ -6166,289 +6231,139 @@
|
|||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
"@biomejs/biome": {
|
"@biomejs/biome": {
|
||||||
"version": "2.4.15",
|
"version": "2.3.7",
|
||||||
"resolved": "https://registry.npmjs.org/@biomejs/biome/-/biome-2.4.15.tgz",
|
"resolved": "https://registry.npmjs.org/@biomejs/biome/-/biome-2.3.7.tgz",
|
||||||
"integrity": "sha512-j5VH3a/h/HXTKBM50MDMxRCzkeLv9S2XJcW2WgnZT1+xyisi+0bISrXR82gCX+8S9lvK0skEvHJRN+3Ktr2hlw==",
|
"integrity": "sha512-CTbAS/jNAiUc6rcq94BrTB8z83O9+BsgWj2sBCQg9rD6Wkh2gjfR87usjx0Ncx0zGXP1NKgT7JNglay5Zfs9jw==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"requires": {
|
"requires": {
|
||||||
"@biomejs/cli-darwin-arm64": "2.4.15",
|
"@biomejs/cli-darwin-arm64": "2.3.7",
|
||||||
"@biomejs/cli-darwin-x64": "2.4.15",
|
"@biomejs/cli-darwin-x64": "2.3.7",
|
||||||
"@biomejs/cli-linux-arm64": "2.4.15",
|
"@biomejs/cli-linux-arm64": "2.3.7",
|
||||||
"@biomejs/cli-linux-arm64-musl": "2.4.15",
|
"@biomejs/cli-linux-arm64-musl": "2.3.7",
|
||||||
"@biomejs/cli-linux-x64": "2.4.15",
|
"@biomejs/cli-linux-x64": "2.3.7",
|
||||||
"@biomejs/cli-linux-x64-musl": "2.4.15",
|
"@biomejs/cli-linux-x64-musl": "2.3.7",
|
||||||
"@biomejs/cli-win32-arm64": "2.4.15",
|
"@biomejs/cli-win32-arm64": "2.3.7",
|
||||||
"@biomejs/cli-win32-x64": "2.4.15"
|
"@biomejs/cli-win32-x64": "2.3.7"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"@biomejs/cli-darwin-arm64": {
|
"@biomejs/cli-darwin-arm64": {
|
||||||
"version": "2.4.15",
|
"version": "2.3.7",
|
||||||
"resolved": "https://registry.npmjs.org/@biomejs/cli-darwin-arm64/-/cli-darwin-arm64-2.4.15.tgz",
|
"resolved": "https://registry.npmjs.org/@biomejs/cli-darwin-arm64/-/cli-darwin-arm64-2.3.7.tgz",
|
||||||
"integrity": "sha512-rF3PPqLq1yoST79zaQbDjVJwsuIeci/O+9bgNmC5QpgOqz6aqYuzA4abyAGx+mgyiDXn4A049xAN8gijbuR1Qg==",
|
"integrity": "sha512-LirkamEwzIUULhXcf2D5b+NatXKeqhOwilM+5eRkbrnr6daKz9rsBL0kNZ16Hcy4b8RFq22SG4tcLwM+yx/wFA==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"optional": true
|
"optional": true
|
||||||
},
|
},
|
||||||
"@biomejs/cli-darwin-x64": {
|
"@biomejs/cli-darwin-x64": {
|
||||||
"version": "2.4.15",
|
"version": "2.3.7",
|
||||||
"resolved": "https://registry.npmjs.org/@biomejs/cli-darwin-x64/-/cli-darwin-x64-2.4.15.tgz",
|
"resolved": "https://registry.npmjs.org/@biomejs/cli-darwin-x64/-/cli-darwin-x64-2.3.7.tgz",
|
||||||
"integrity": "sha512-/5KHXYMfSJs1fNXiX30xFtI8JcCFV6zaVVLxOa0M2sfqBKHkpQhRTv94yxQWxeTY2lzo2OuTlNvPC+hDQt2wcQ==",
|
"integrity": "sha512-Q4TO633kvrMQkKIV7wmf8HXwF0dhdTD9S458LGE24TYgBjSRbuhvio4D5eOQzirEYg6eqxfs53ga/rbdd8nBKg==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"optional": true
|
"optional": true
|
||||||
},
|
},
|
||||||
"@biomejs/cli-linux-arm64": {
|
"@biomejs/cli-linux-arm64": {
|
||||||
"version": "2.4.15",
|
"version": "2.3.7",
|
||||||
"resolved": "https://registry.npmjs.org/@biomejs/cli-linux-arm64/-/cli-linux-arm64-2.4.15.tgz",
|
"resolved": "https://registry.npmjs.org/@biomejs/cli-linux-arm64/-/cli-linux-arm64-2.3.7.tgz",
|
||||||
"integrity": "sha512-owaAMZD/T4LrD0ELNCk0Km3qrRHuM0X6EAyVE1FSqGY0rbLoiDLrO4Us2tllm6cAeB2Ioa9C2C08NZPdr8+0Ug==",
|
"integrity": "sha512-inHOTdlstUBzgjDcx0ge71U4SVTbwAljmkfi3MC5WzsYCRhancqfeL+sa4Ke6v2ND53WIwCFD5hGsYExoI3EZQ==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"optional": true
|
"optional": true
|
||||||
},
|
},
|
||||||
"@biomejs/cli-linux-arm64-musl": {
|
"@biomejs/cli-linux-arm64-musl": {
|
||||||
"version": "2.4.15",
|
"version": "2.3.7",
|
||||||
"resolved": "https://registry.npmjs.org/@biomejs/cli-linux-arm64-musl/-/cli-linux-arm64-musl-2.4.15.tgz",
|
"resolved": "https://registry.npmjs.org/@biomejs/cli-linux-arm64-musl/-/cli-linux-arm64-musl-2.3.7.tgz",
|
||||||
"integrity": "sha512-ZPcxznxm0pogHBLZhYntyR3sR+MrZjqJIKEr7ZqVen0Rl+P/4upVmfYXjftizi9RoqZntg33fv/1fbdhbYXpEQ==",
|
"integrity": "sha512-/afy8lto4CB8scWfMdt+NoCZtatBUF62Tk3ilWH2w8ENd5spLhM77zKlFZEvsKJv9AFNHknMl03zO67CiklL2Q==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"optional": true
|
"optional": true
|
||||||
},
|
},
|
||||||
"@biomejs/cli-linux-x64": {
|
"@biomejs/cli-linux-x64": {
|
||||||
"version": "2.4.15",
|
"version": "2.3.7",
|
||||||
"resolved": "https://registry.npmjs.org/@biomejs/cli-linux-x64/-/cli-linux-x64-2.4.15.tgz",
|
"resolved": "https://registry.npmjs.org/@biomejs/cli-linux-x64/-/cli-linux-x64-2.3.7.tgz",
|
||||||
"integrity": "sha512-0jj7THz12GbUOLmMibktK6DZjqz2zV64KFxyBtcFTKPiiOIY0a7vns1elpO1dERvxpsZ5ik0oFfz0oGwFde1+g==",
|
"integrity": "sha512-fJMc3ZEuo/NaMYo5rvoWjdSS5/uVSW+HPRQujucpZqm2ZCq71b8MKJ9U4th9yrv2L5+5NjPF0nqqILCl8HY/fg==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"optional": true
|
"optional": true
|
||||||
},
|
},
|
||||||
"@biomejs/cli-linux-x64-musl": {
|
"@biomejs/cli-linux-x64-musl": {
|
||||||
"version": "2.4.15",
|
"version": "2.3.7",
|
||||||
"resolved": "https://registry.npmjs.org/@biomejs/cli-linux-x64-musl/-/cli-linux-x64-musl-2.4.15.tgz",
|
"resolved": "https://registry.npmjs.org/@biomejs/cli-linux-x64-musl/-/cli-linux-x64-musl-2.3.7.tgz",
|
||||||
"integrity": "sha512-CNq/9W38SYSH023lfcQ4KKU8K0YX8T//FZUhcgtMMRABDojx5XsMV7jlweAvGSl389wJQB29Qo6Zb/a+jdvt+w==",
|
"integrity": "sha512-CQUtgH1tIN6e5wiYSJqzSwJumHYolNtaj1dwZGCnZXm2PZU1jOJof9TsyiP3bXNDb+VOR7oo7ZvY01If0W3iFQ==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"optional": true
|
"optional": true
|
||||||
},
|
},
|
||||||
"@biomejs/cli-win32-arm64": {
|
"@biomejs/cli-win32-arm64": {
|
||||||
"version": "2.4.15",
|
"version": "2.3.7",
|
||||||
"resolved": "https://registry.npmjs.org/@biomejs/cli-win32-arm64/-/cli-win32-arm64-2.4.15.tgz",
|
"resolved": "https://registry.npmjs.org/@biomejs/cli-win32-arm64/-/cli-win32-arm64-2.3.7.tgz",
|
||||||
"integrity": "sha512-ouhkYdlhp/1GghEJPdWwD/Vi3gQ1nFxuSpMolWsbq3Lsq3QUR4jl6UdhhscdCugKU5vOEuMiJhvKj66O0OCq+w==",
|
"integrity": "sha512-aJAE8eCNyRpcfx2JJAtsPtISnELJ0H4xVVSwnxm13bzI8RwbXMyVtxy2r5DV1xT3WiSP+7LxORcApWw0LM8HiA==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"optional": true
|
"optional": true
|
||||||
},
|
},
|
||||||
"@biomejs/cli-win32-x64": {
|
"@biomejs/cli-win32-x64": {
|
||||||
"version": "2.4.15",
|
"version": "2.3.7",
|
||||||
"resolved": "https://registry.npmjs.org/@biomejs/cli-win32-x64/-/cli-win32-x64-2.4.15.tgz",
|
"resolved": "https://registry.npmjs.org/@biomejs/cli-win32-x64/-/cli-win32-x64-2.3.7.tgz",
|
||||||
"integrity": "sha512-zBrGq5mx5wwpnow4+2BxUvleDM+GNd4sLbPaMapsSLQLD0NGRCquqPBTgN+7XkUteHvj7M+BstuI8tmnV7+HgQ==",
|
"integrity": "sha512-pulzUshqv9Ed//MiE8MOUeeEkbkSHVDVY5Cz5wVAnH1DUqliCQG3j6s1POaITTFqFfo7AVIx2sWdKpx/GS+Nqw==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"optional": true
|
"optional": true
|
||||||
},
|
},
|
||||||
"@emnapi/core": {
|
"@emnapi/core": {
|
||||||
"version": "1.10.0",
|
"version": "1.5.0",
|
||||||
"resolved": "https://registry.npmjs.org/@emnapi/core/-/core-1.10.0.tgz",
|
"resolved": "https://registry.npmjs.org/@emnapi/core/-/core-1.5.0.tgz",
|
||||||
"integrity": "sha512-yq6OkJ4p82CAfPl0u9mQebQHKPJkY7WrIuk205cTYnYe+k2Z8YBh11FrbRG/H6ihirqcacOgl2BIO8oyMQLeXw==",
|
"integrity": "sha512-sbP8GzB1WDzacS8fgNPpHlp6C9VZe+SJP3F90W9rLemaQj2PzIuTEl1qDOYQf58YIpyjViI24y9aPWCjEzY2cg==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"optional": true,
|
"optional": true,
|
||||||
"requires": {
|
"requires": {
|
||||||
"@emnapi/wasi-threads": "1.2.1",
|
"@emnapi/wasi-threads": "1.1.0",
|
||||||
"tslib": "^2.4.0"
|
"tslib": "^2.4.0"
|
||||||
|
},
|
||||||
|
"dependencies": {
|
||||||
|
"tslib": {
|
||||||
|
"version": "2.8.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz",
|
||||||
|
"integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==",
|
||||||
|
"dev": true,
|
||||||
|
"optional": true
|
||||||
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"@emnapi/runtime": {
|
"@emnapi/runtime": {
|
||||||
"version": "1.10.0",
|
"version": "1.5.0",
|
||||||
"resolved": "https://registry.npmjs.org/@emnapi/runtime/-/runtime-1.10.0.tgz",
|
"resolved": "https://registry.npmjs.org/@emnapi/runtime/-/runtime-1.5.0.tgz",
|
||||||
"integrity": "sha512-ewvYlk86xUoGI0zQRNq/mC+16R1QeDlKQy21Ki3oSYXNgLb45GV1P6A0M+/s6nyCuNDqe5VpaY84BzXGwVbwFA==",
|
"integrity": "sha512-97/BJ3iXHww3djw6hYIfErCZFee7qCtrneuLa20UXFCOTCfBM2cvQHjWJ2EG0s0MtdNwInarqCTz35i4wWXHsQ==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"optional": true,
|
"optional": true,
|
||||||
"requires": {
|
"requires": {
|
||||||
"tslib": "^2.4.0"
|
"tslib": "^2.4.0"
|
||||||
|
},
|
||||||
|
"dependencies": {
|
||||||
|
"tslib": {
|
||||||
|
"version": "2.8.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz",
|
||||||
|
"integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==",
|
||||||
|
"dev": true,
|
||||||
|
"optional": true
|
||||||
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"@emnapi/wasi-threads": {
|
"@emnapi/wasi-threads": {
|
||||||
"version": "1.2.1",
|
"version": "1.1.0",
|
||||||
"resolved": "https://registry.npmjs.org/@emnapi/wasi-threads/-/wasi-threads-1.2.1.tgz",
|
"resolved": "https://registry.npmjs.org/@emnapi/wasi-threads/-/wasi-threads-1.1.0.tgz",
|
||||||
"integrity": "sha512-uTII7OYF+/Mes/MrcIOYp5yOtSMLBWSIoLPpcgwipoiKbli6k322tcoFsxoIIxPDqW01SQGAgko4EzZi2BNv2w==",
|
"integrity": "sha512-WI0DdZ8xFSbgMjR1sFsKABJ/C5OnRrjT06JXbZKexJGrDuPTzZdDYfFlsgcCXCyf+suG5QU2e/y1Wo2V/OapLQ==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"optional": true,
|
"optional": true,
|
||||||
"requires": {
|
"requires": {
|
||||||
"tslib": "^2.4.0"
|
"tslib": "^2.4.0"
|
||||||
|
},
|
||||||
|
"dependencies": {
|
||||||
|
"tslib": {
|
||||||
|
"version": "2.8.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz",
|
||||||
|
"integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==",
|
||||||
|
"dev": true,
|
||||||
|
"optional": true
|
||||||
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"@esbuild/aix-ppc64": {
|
"@fastify/busboy": {
|
||||||
"version": "0.28.0",
|
"version": "2.1.1",
|
||||||
"resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.28.0.tgz",
|
"resolved": "https://registry.npmjs.org/@fastify/busboy/-/busboy-2.1.1.tgz",
|
||||||
"integrity": "sha512-lhRUCeuOyJQURhTxl4WkpFTjIsbDayJHih5kZC1giwE+MhIzAb7mEsQMqMf18rHLsrb5qI1tafG20mLxEWcWlA==",
|
"integrity": "sha512-vBZP4NlzfOlerQTnba4aqZoMhE/a9HY7HRqoOPaETQcSQuWEIyZMHGfVu6w9wGtGK5fED5qRs2DteVCjOH60sA=="
|
||||||
"dev": true,
|
|
||||||
"optional": true
|
|
||||||
},
|
|
||||||
"@esbuild/android-arm": {
|
|
||||||
"version": "0.28.0",
|
|
||||||
"resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.28.0.tgz",
|
|
||||||
"integrity": "sha512-wqh0ByljabXLKHeWXYLqoJ5jKC4XBaw6Hk08OfMrCRd2nP2ZQ5eleDZC41XHyCNgktBGYMbqnrJKq/K/lzPMSQ==",
|
|
||||||
"dev": true,
|
|
||||||
"optional": true
|
|
||||||
},
|
|
||||||
"@esbuild/android-arm64": {
|
|
||||||
"version": "0.28.0",
|
|
||||||
"resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.28.0.tgz",
|
|
||||||
"integrity": "sha512-+WzIXQOSaGs33tLEgYPYe/yQHf0WTU0X42Jca3y8NWMbUVhp7rUnw+vAsRC/QiDrdD31IszMrZy+qwPOPjd+rw==",
|
|
||||||
"dev": true,
|
|
||||||
"optional": true
|
|
||||||
},
|
|
||||||
"@esbuild/android-x64": {
|
|
||||||
"version": "0.28.0",
|
|
||||||
"resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.28.0.tgz",
|
|
||||||
"integrity": "sha512-+VJggoaKhk2VNNqVL7f6S189UzShHC/mR9EE8rDdSkdpN0KflSwWY/gWjDrNxxisg8Fp1ZCD9jLMo4m0OUfeUA==",
|
|
||||||
"dev": true,
|
|
||||||
"optional": true
|
|
||||||
},
|
|
||||||
"@esbuild/darwin-arm64": {
|
|
||||||
"version": "0.28.0",
|
|
||||||
"resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.28.0.tgz",
|
|
||||||
"integrity": "sha512-0T+A9WZm+bZ84nZBtk1ckYsOvyA3x7e2Acj1KdVfV4/2tdG4fzUp91YHx+GArWLtwqp77pBXVCPn2We7Letr0Q==",
|
|
||||||
"dev": true,
|
|
||||||
"optional": true
|
|
||||||
},
|
|
||||||
"@esbuild/darwin-x64": {
|
|
||||||
"version": "0.28.0",
|
|
||||||
"resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.28.0.tgz",
|
|
||||||
"integrity": "sha512-fyzLm/DLDl/84OCfp2f/XQ4flmORsjU7VKt8HLjvIXChJoFFOIL6pLJPH4Yhd1n1gGFF9mPwtlN5Wf82DZs+LQ==",
|
|
||||||
"dev": true,
|
|
||||||
"optional": true
|
|
||||||
},
|
|
||||||
"@esbuild/freebsd-arm64": {
|
|
||||||
"version": "0.28.0",
|
|
||||||
"resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.28.0.tgz",
|
|
||||||
"integrity": "sha512-l9GeW5UZBT9k9brBYI+0WDffcRxgHQD8ShN2Ur4xWq/NFzUKm3k5lsH4PdaRgb2w7mI9u61nr2gI2mLI27Nh3Q==",
|
|
||||||
"dev": true,
|
|
||||||
"optional": true
|
|
||||||
},
|
|
||||||
"@esbuild/freebsd-x64": {
|
|
||||||
"version": "0.28.0",
|
|
||||||
"resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.28.0.tgz",
|
|
||||||
"integrity": "sha512-BXoQai/A0wPO6Es3yFJ7APCiKGc1tdAEOgeTNy3SsB491S3aHn4S4r3e976eUnPdU+NbdtmBuLncYir2tMU9Nw==",
|
|
||||||
"dev": true,
|
|
||||||
"optional": true
|
|
||||||
},
|
|
||||||
"@esbuild/linux-arm": {
|
|
||||||
"version": "0.28.0",
|
|
||||||
"resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.28.0.tgz",
|
|
||||||
"integrity": "sha512-CjaaREJagqJp7iTaNQjjidaNbCKYcd4IDkzbwwxtSvjI7NZm79qiHc8HqciMddQ6CKvJT6aBd8lO9kN/ZudLlw==",
|
|
||||||
"dev": true,
|
|
||||||
"optional": true
|
|
||||||
},
|
|
||||||
"@esbuild/linux-arm64": {
|
|
||||||
"version": "0.28.0",
|
|
||||||
"resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.28.0.tgz",
|
|
||||||
"integrity": "sha512-RVyzfb3FWsGA55n6WY0MEIEPURL1FcbhFE6BffZEMEekfCzCIMtB5yyDcFnVbTnwk+CLAgTujmV/Lgvih56W+A==",
|
|
||||||
"dev": true,
|
|
||||||
"optional": true
|
|
||||||
},
|
|
||||||
"@esbuild/linux-ia32": {
|
|
||||||
"version": "0.28.0",
|
|
||||||
"resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.28.0.tgz",
|
|
||||||
"integrity": "sha512-KBnSTt1kxl9x70q+ydterVdl+Cn0H18ngRMRCEQfrbqdUuntQQ0LoMZv47uB97NljZFzY6HcfqEZ2SAyIUTQBQ==",
|
|
||||||
"dev": true,
|
|
||||||
"optional": true
|
|
||||||
},
|
|
||||||
"@esbuild/linux-loong64": {
|
|
||||||
"version": "0.28.0",
|
|
||||||
"resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.28.0.tgz",
|
|
||||||
"integrity": "sha512-zpSlUce1mnxzgBADvxKXX5sl8aYQHo2ezvMNI8I0lbblJtp8V4odlm3Yzlj7gPyt3T8ReksE6bK+pT3WD+aJRg==",
|
|
||||||
"dev": true,
|
|
||||||
"optional": true
|
|
||||||
},
|
|
||||||
"@esbuild/linux-mips64el": {
|
|
||||||
"version": "0.28.0",
|
|
||||||
"resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.28.0.tgz",
|
|
||||||
"integrity": "sha512-2jIfP6mmjkdmeTlsX/9vmdmhBmKADrWqN7zcdtHIeNSCH1SqIoNI63cYsjQR8J+wGa4Y5izRcSHSm8K3QWmk3w==",
|
|
||||||
"dev": true,
|
|
||||||
"optional": true
|
|
||||||
},
|
|
||||||
"@esbuild/linux-ppc64": {
|
|
||||||
"version": "0.28.0",
|
|
||||||
"resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.28.0.tgz",
|
|
||||||
"integrity": "sha512-bc0FE9wWeC0WBm49IQMPSPILRocGTQt3j5KPCA8os6VprfuJ7KD+5PzESSrJ6GmPIPJK965ZJHTUlSA6GNYEhg==",
|
|
||||||
"dev": true,
|
|
||||||
"optional": true
|
|
||||||
},
|
|
||||||
"@esbuild/linux-riscv64": {
|
|
||||||
"version": "0.28.0",
|
|
||||||
"resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.28.0.tgz",
|
|
||||||
"integrity": "sha512-SQPZOwoTTT/HXFXQJG/vBX8sOFagGqvZyXcgLA3NhIqcBv1BJU1d46c0rGcrij2B56Z2rNiSLaZOYW5cUk7yLQ==",
|
|
||||||
"dev": true,
|
|
||||||
"optional": true
|
|
||||||
},
|
|
||||||
"@esbuild/linux-s390x": {
|
|
||||||
"version": "0.28.0",
|
|
||||||
"resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.28.0.tgz",
|
|
||||||
"integrity": "sha512-SCfR0HN8CEEjnYnySJTd2cw0k9OHB/YFzt5zgJEwa+wL/T/raGWYMBqwDNAC6dqFKmJYZoQBRfHjgwLHGSrn3Q==",
|
|
||||||
"dev": true,
|
|
||||||
"optional": true
|
|
||||||
},
|
|
||||||
"@esbuild/linux-x64": {
|
|
||||||
"version": "0.28.0",
|
|
||||||
"resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.28.0.tgz",
|
|
||||||
"integrity": "sha512-us0dSb9iFxIi8srnpl931Nvs65it/Jd2a2K3qs7fz2WfGPHqzfzZTfec7oxZJRNPXPnNYZtanmRc4AL/JwVzHQ==",
|
|
||||||
"dev": true,
|
|
||||||
"optional": true
|
|
||||||
},
|
|
||||||
"@esbuild/netbsd-arm64": {
|
|
||||||
"version": "0.28.0",
|
|
||||||
"resolved": "https://registry.npmjs.org/@esbuild/netbsd-arm64/-/netbsd-arm64-0.28.0.tgz",
|
|
||||||
"integrity": "sha512-CR/RYotgtCKwtftMwJlUU7xCVNg3lMYZ0RzTmAHSfLCXw3NtZtNpswLEj/Kkf6kEL3Gw+BpOekRX0BYCtklhUw==",
|
|
||||||
"dev": true,
|
|
||||||
"optional": true
|
|
||||||
},
|
|
||||||
"@esbuild/netbsd-x64": {
|
|
||||||
"version": "0.28.0",
|
|
||||||
"resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.28.0.tgz",
|
|
||||||
"integrity": "sha512-nU1yhmYutL+fQ71Kxnhg8uEOdC0pwEW9entHykTgEbna2pw2dkbFSMeqjjyHZoCmt8SBkOSvV+yNmm94aUrrqw==",
|
|
||||||
"dev": true,
|
|
||||||
"optional": true
|
|
||||||
},
|
|
||||||
"@esbuild/openbsd-arm64": {
|
|
||||||
"version": "0.28.0",
|
|
||||||
"resolved": "https://registry.npmjs.org/@esbuild/openbsd-arm64/-/openbsd-arm64-0.28.0.tgz",
|
|
||||||
"integrity": "sha512-cXb5vApOsRsxsEl4mcZ1XY3D4DzcoMxR/nnc4IyqYs0rTI8ZKmW6kyyg+11Z8yvgMfAEldKzP7AdP64HnSC/6g==",
|
|
||||||
"dev": true,
|
|
||||||
"optional": true
|
|
||||||
},
|
|
||||||
"@esbuild/openbsd-x64": {
|
|
||||||
"version": "0.28.0",
|
|
||||||
"resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.28.0.tgz",
|
|
||||||
"integrity": "sha512-8wZM2qqtv9UP3mzy7HiGYNH/zjTA355mpeuA+859TyR+e+Tc08IHYpLJuMsfpDJwoLo1ikIJI8jC3GFjnRClzA==",
|
|
||||||
"dev": true,
|
|
||||||
"optional": true
|
|
||||||
},
|
|
||||||
"@esbuild/openharmony-arm64": {
|
|
||||||
"version": "0.28.0",
|
|
||||||
"resolved": "https://registry.npmjs.org/@esbuild/openharmony-arm64/-/openharmony-arm64-0.28.0.tgz",
|
|
||||||
"integrity": "sha512-FLGfyizszcef5C3YtoyQDACyg95+dndv79i2EekILBofh5wpCa1KuBqOWKrEHZg3zrL3t5ouE5jgr94vA+Wb2w==",
|
|
||||||
"dev": true,
|
|
||||||
"optional": true
|
|
||||||
},
|
|
||||||
"@esbuild/sunos-x64": {
|
|
||||||
"version": "0.28.0",
|
|
||||||
"resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.28.0.tgz",
|
|
||||||
"integrity": "sha512-1ZgjUoEdHZZl/YlV76TSCz9Hqj9h9YmMGAgAPYd+q4SicWNX3G5GCyx9uhQWSLcbvPW8Ni7lj4gDa1T40akdlw==",
|
|
||||||
"dev": true,
|
|
||||||
"optional": true
|
|
||||||
},
|
|
||||||
"@esbuild/win32-arm64": {
|
|
||||||
"version": "0.28.0",
|
|
||||||
"resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.28.0.tgz",
|
|
||||||
"integrity": "sha512-Q9StnDmQ/enxnpxCCLSg0oo4+34B9TdXpuyPeTedN/6+iXBJ4J+zwfQI28u/Jl40nOYAxGoNi7mFP40RUtkmUA==",
|
|
||||||
"dev": true,
|
|
||||||
"optional": true
|
|
||||||
},
|
|
||||||
"@esbuild/win32-ia32": {
|
|
||||||
"version": "0.28.0",
|
|
||||||
"resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.28.0.tgz",
|
|
||||||
"integrity": "sha512-zF3ag/gfiCe6U2iczcRzSYJKH1DCI+ByzSENHlM2FcDbEeo5Zd2C86Aq0tKUYAJJ1obRP84ymxIAksZUcdztHA==",
|
|
||||||
"dev": true,
|
|
||||||
"optional": true
|
|
||||||
},
|
|
||||||
"@esbuild/win32-x64": {
|
|
||||||
"version": "0.28.0",
|
|
||||||
"resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.28.0.tgz",
|
|
||||||
"integrity": "sha512-pEl1bO9mfAmIC+tW5btTmrKaujg3zGtUmWNdCw/xs70FBjwAL3o9OEKNHvNmnyylD6ubxUERiEhdsL0xBQ9efw==",
|
|
||||||
"dev": true,
|
|
||||||
"optional": true
|
|
||||||
},
|
},
|
||||||
"@isaacs/cliui": {
|
"@isaacs/cliui": {
|
||||||
"version": "8.0.2",
|
"version": "8.0.2",
|
||||||
@@ -6505,104 +6420,104 @@
|
|||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
"@jest/console": {
|
"@jest/console": {
|
||||||
"version": "30.4.1",
|
"version": "30.2.0",
|
||||||
"resolved": "https://registry.npmjs.org/@jest/console/-/console-30.4.1.tgz",
|
"resolved": "https://registry.npmjs.org/@jest/console/-/console-30.2.0.tgz",
|
||||||
"integrity": "sha512-v3bhyxUh9Hgmo5p6hAOXe14/R3ZxZDOsvHleh4B07z3m/x4/ngPUXEm9XwK4sF4u+f+P2ORb0Ge+MgpaqRMVDA==",
|
"integrity": "sha512-+O1ifRjkvYIkBqASKWgLxrpEhQAAE7hY77ALLUufSk5717KfOShg6IbqLmdsLMPdUiFvA2kTs0R7YZy+l0IzZQ==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"requires": {
|
"requires": {
|
||||||
"@jest/types": "30.4.1",
|
"@jest/types": "30.2.0",
|
||||||
"@types/node": "*",
|
"@types/node": "*",
|
||||||
"chalk": "^4.1.2",
|
"chalk": "^4.1.2",
|
||||||
"jest-message-util": "30.4.1",
|
"jest-message-util": "30.2.0",
|
||||||
"jest-util": "30.4.1",
|
"jest-util": "30.2.0",
|
||||||
"slash": "^3.0.0"
|
"slash": "^3.0.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"@jest/core": {
|
"@jest/core": {
|
||||||
"version": "30.4.2",
|
"version": "30.2.0",
|
||||||
"resolved": "https://registry.npmjs.org/@jest/core/-/core-30.4.2.tgz",
|
"resolved": "https://registry.npmjs.org/@jest/core/-/core-30.2.0.tgz",
|
||||||
"integrity": "sha512-TZJA6cPJUFxoWhxaLo8t0VX/MZX2wPWr0uIDvLSHIvN4gu9h02vSzqI2kBADG1ExqQlC+cY09xKMSreivvrChQ==",
|
"integrity": "sha512-03W6IhuhjqTlpzh/ojut/pDB2LPRygyWX8ExpgHtQA8H/3K7+1vKmcINx5UzeOX1se6YEsBsOHQ1CRzf3fOwTQ==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"requires": {
|
"requires": {
|
||||||
"@jest/console": "30.4.1",
|
"@jest/console": "30.2.0",
|
||||||
"@jest/pattern": "30.4.0",
|
"@jest/pattern": "30.0.1",
|
||||||
"@jest/reporters": "30.4.1",
|
"@jest/reporters": "30.2.0",
|
||||||
"@jest/test-result": "30.4.1",
|
"@jest/test-result": "30.2.0",
|
||||||
"@jest/transform": "30.4.1",
|
"@jest/transform": "30.2.0",
|
||||||
"@jest/types": "30.4.1",
|
"@jest/types": "30.2.0",
|
||||||
"@types/node": "*",
|
"@types/node": "*",
|
||||||
"ansi-escapes": "^4.3.2",
|
"ansi-escapes": "^4.3.2",
|
||||||
"chalk": "^4.1.2",
|
"chalk": "^4.1.2",
|
||||||
"ci-info": "^4.2.0",
|
"ci-info": "^4.2.0",
|
||||||
"exit-x": "^0.2.2",
|
"exit-x": "^0.2.2",
|
||||||
"fast-json-stable-stringify": "^2.1.0",
|
|
||||||
"graceful-fs": "^4.2.11",
|
"graceful-fs": "^4.2.11",
|
||||||
"jest-changed-files": "30.4.1",
|
"jest-changed-files": "30.2.0",
|
||||||
"jest-config": "30.4.2",
|
"jest-config": "30.2.0",
|
||||||
"jest-haste-map": "30.4.1",
|
"jest-haste-map": "30.2.0",
|
||||||
"jest-message-util": "30.4.1",
|
"jest-message-util": "30.2.0",
|
||||||
"jest-regex-util": "30.4.0",
|
"jest-regex-util": "30.0.1",
|
||||||
"jest-resolve": "30.4.1",
|
"jest-resolve": "30.2.0",
|
||||||
"jest-resolve-dependencies": "30.4.2",
|
"jest-resolve-dependencies": "30.2.0",
|
||||||
"jest-runner": "30.4.2",
|
"jest-runner": "30.2.0",
|
||||||
"jest-runtime": "30.4.2",
|
"jest-runtime": "30.2.0",
|
||||||
"jest-snapshot": "30.4.1",
|
"jest-snapshot": "30.2.0",
|
||||||
"jest-util": "30.4.1",
|
"jest-util": "30.2.0",
|
||||||
"jest-validate": "30.4.1",
|
"jest-validate": "30.2.0",
|
||||||
"jest-watcher": "30.4.1",
|
"jest-watcher": "30.2.0",
|
||||||
"pretty-format": "30.4.1",
|
"micromatch": "^4.0.8",
|
||||||
|
"pretty-format": "30.2.0",
|
||||||
"slash": "^3.0.0"
|
"slash": "^3.0.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"@jest/diff-sequences": {
|
"@jest/diff-sequences": {
|
||||||
"version": "30.4.0",
|
"version": "30.0.1",
|
||||||
"resolved": "https://registry.npmjs.org/@jest/diff-sequences/-/diff-sequences-30.4.0.tgz",
|
"resolved": "https://registry.npmjs.org/@jest/diff-sequences/-/diff-sequences-30.0.1.tgz",
|
||||||
"integrity": "sha512-zOpzlfUs45l6u7jm39qr87JCHUDsaeCtvL+kQe/Vn9jSnRB4/5IPXISm0h9I1vZW/o00Kn4UTJ2MOlhnUGwv3g==",
|
"integrity": "sha512-n5H8QLDJ47QqbCNn5SuFjCRDrOLEZ0h8vAHCK5RL9Ls7Xa8AQLa/YxAc9UjFqoEDM48muwtBGjtMY5cr0PLDCw==",
|
||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
"@jest/environment": {
|
"@jest/environment": {
|
||||||
"version": "30.4.1",
|
"version": "30.2.0",
|
||||||
"resolved": "https://registry.npmjs.org/@jest/environment/-/environment-30.4.1.tgz",
|
"resolved": "https://registry.npmjs.org/@jest/environment/-/environment-30.2.0.tgz",
|
||||||
"integrity": "sha512-AK9yNRqgKxiabqMoe4oW+3/TSSeV8vkdC7BGaxZdU0AFXfOpofTLqdru2GXKZghP3sdgwE9XXpnVwfZ8JnFV4w==",
|
"integrity": "sha512-/QPTL7OBJQ5ac09UDRa3EQes4gt1FTEG/8jZ/4v5IVzx+Cv7dLxlVIvfvSVRiiX2drWyXeBjkMSR8hvOWSog5g==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"requires": {
|
"requires": {
|
||||||
"@jest/fake-timers": "30.4.1",
|
"@jest/fake-timers": "30.2.0",
|
||||||
"@jest/types": "30.4.1",
|
"@jest/types": "30.2.0",
|
||||||
"@types/node": "*",
|
"@types/node": "*",
|
||||||
"jest-mock": "30.4.1"
|
"jest-mock": "30.2.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"@jest/expect": {
|
"@jest/expect": {
|
||||||
"version": "30.4.1",
|
"version": "30.2.0",
|
||||||
"resolved": "https://registry.npmjs.org/@jest/expect/-/expect-30.4.1.tgz",
|
"resolved": "https://registry.npmjs.org/@jest/expect/-/expect-30.2.0.tgz",
|
||||||
"integrity": "sha512-ginrj6TMgh2GshLUGCjO94Ptx9HhdZA/I6A9iUfyeLKFtdAjnKzHDgzgP9HYQgbxM1lbXScQ2eUBz2lGeVDPWA==",
|
"integrity": "sha512-V9yxQK5erfzx99Sf+7LbhBwNWEZ9eZay8qQ9+JSC0TrMR1pMDHLMY+BnVPacWU6Jamrh252/IKo4F1Xn/zfiqA==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"requires": {
|
"requires": {
|
||||||
"expect": "30.4.1",
|
"expect": "30.2.0",
|
||||||
"jest-snapshot": "30.4.1"
|
"jest-snapshot": "30.2.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"@jest/expect-utils": {
|
"@jest/expect-utils": {
|
||||||
"version": "30.4.1",
|
"version": "30.2.0",
|
||||||
"resolved": "https://registry.npmjs.org/@jest/expect-utils/-/expect-utils-30.4.1.tgz",
|
"resolved": "https://registry.npmjs.org/@jest/expect-utils/-/expect-utils-30.2.0.tgz",
|
||||||
"integrity": "sha512-ZBn5CglH8fBsQsvs4VWNzD4aWfUYks+IdOOQU3MEK71ol/BcVm+P+rtb1KpiFBpSWSCE27uOahyyf1vfqOVbcQ==",
|
"integrity": "sha512-1JnRfhqpD8HGpOmQp180Fo9Zt69zNtC+9lR+kT7NVL05tNXIi+QC8Csz7lfidMoVLPD3FnOtcmp0CEFnxExGEA==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"requires": {
|
"requires": {
|
||||||
"@jest/get-type": "30.1.0"
|
"@jest/get-type": "30.1.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"@jest/fake-timers": {
|
"@jest/fake-timers": {
|
||||||
"version": "30.4.1",
|
"version": "30.2.0",
|
||||||
"resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-30.4.1.tgz",
|
"resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-30.2.0.tgz",
|
||||||
"integrity": "sha512-iW5umdmfPeWzehrVhugFQZqCchSCud5S1l2YT0O9ZhjRR0ExclANDZkiSBwzqtnlOn0J1JXvO+HZ6rkuyOVOgQ==",
|
"integrity": "sha512-HI3tRLjRxAbBy0VO8dqqm7Hb2mIa8d5bg/NJkyQcOk7V118ObQML8RC5luTF/Zsg4474a+gDvhce7eTnP4GhYw==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"requires": {
|
"requires": {
|
||||||
"@jest/types": "30.4.1",
|
"@jest/types": "30.2.0",
|
||||||
"@sinonjs/fake-timers": "^15.4.0",
|
"@sinonjs/fake-timers": "^13.0.0",
|
||||||
"@types/node": "*",
|
"@types/node": "*",
|
||||||
"jest-message-util": "30.4.1",
|
"jest-message-util": "30.2.0",
|
||||||
"jest-mock": "30.4.1",
|
"jest-mock": "30.2.0",
|
||||||
"jest-util": "30.4.1"
|
"jest-util": "30.2.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"@jest/get-type": {
|
"@jest/get-type": {
|
||||||
@@ -6612,74 +6527,74 @@
|
|||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
"@jest/globals": {
|
"@jest/globals": {
|
||||||
"version": "30.4.1",
|
"version": "30.2.0",
|
||||||
"resolved": "https://registry.npmjs.org/@jest/globals/-/globals-30.4.1.tgz",
|
"resolved": "https://registry.npmjs.org/@jest/globals/-/globals-30.2.0.tgz",
|
||||||
"integrity": "sha512-ZbuY4cmXC8DkxYjfvT2DbcHWL2T6vmsMhXCDcmTB2T0y0gaezBI77ufq5ZAIdcRkYZ7NEQEDg1xFeKbxUJ5v5Q==",
|
"integrity": "sha512-b63wmnKPaK+6ZZfpYhz9K61oybvbI1aMcIs80++JI1O1rR1vaxHUCNqo3ITu6NU0d4V34yZFoHMn/uoKr/Rwfw==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"requires": {
|
"requires": {
|
||||||
"@jest/environment": "30.4.1",
|
"@jest/environment": "30.2.0",
|
||||||
"@jest/expect": "30.4.1",
|
"@jest/expect": "30.2.0",
|
||||||
"@jest/types": "30.4.1",
|
"@jest/types": "30.2.0",
|
||||||
"jest-mock": "30.4.1"
|
"jest-mock": "30.2.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"@jest/pattern": {
|
"@jest/pattern": {
|
||||||
"version": "30.4.0",
|
"version": "30.0.1",
|
||||||
"resolved": "https://registry.npmjs.org/@jest/pattern/-/pattern-30.4.0.tgz",
|
"resolved": "https://registry.npmjs.org/@jest/pattern/-/pattern-30.0.1.tgz",
|
||||||
"integrity": "sha512-RAWn3+f9u8BsHijKJ71uHcFp6vmyEt6VvoWXkl6hKF3qVIuWNmudVjg12DlBPGup/frIl5UcUlH5HfEuvHpEXg==",
|
"integrity": "sha512-gWp7NfQW27LaBQz3TITS8L7ZCQ0TLvtmI//4OwlQRx4rnWxcPNIYjxZpDcN4+UlGxgm3jS5QPz8IPTCkb59wZA==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"requires": {
|
"requires": {
|
||||||
"@types/node": "*",
|
"@types/node": "*",
|
||||||
"jest-regex-util": "30.4.0"
|
"jest-regex-util": "30.0.1"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"@jest/reporters": {
|
"@jest/reporters": {
|
||||||
"version": "30.4.1",
|
"version": "30.2.0",
|
||||||
"resolved": "https://registry.npmjs.org/@jest/reporters/-/reporters-30.4.1.tgz",
|
"resolved": "https://registry.npmjs.org/@jest/reporters/-/reporters-30.2.0.tgz",
|
||||||
"integrity": "sha512-/SnkPCzEQpUaBH81kjdEdDdo2WZl5hxw+BmLDGWjRkm8o7XlhjwsU36cqwe5PGBE5WYpBvDzRSdXx9rbGuJtNA==",
|
"integrity": "sha512-DRyW6baWPqKMa9CzeiBjHwjd8XeAyco2Vt8XbcLFjiwCOEKOvy82GJ8QQnJE9ofsxCMPjH4MfH8fCWIHHDKpAQ==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"requires": {
|
"requires": {
|
||||||
"@bcoe/v8-coverage": "^0.2.3",
|
"@bcoe/v8-coverage": "^0.2.3",
|
||||||
"@jest/console": "30.4.1",
|
"@jest/console": "30.2.0",
|
||||||
"@jest/test-result": "30.4.1",
|
"@jest/test-result": "30.2.0",
|
||||||
"@jest/transform": "30.4.1",
|
"@jest/transform": "30.2.0",
|
||||||
"@jest/types": "30.4.1",
|
"@jest/types": "30.2.0",
|
||||||
"@jridgewell/trace-mapping": "^0.3.25",
|
"@jridgewell/trace-mapping": "^0.3.25",
|
||||||
"@types/node": "*",
|
"@types/node": "*",
|
||||||
"chalk": "^4.1.2",
|
"chalk": "^4.1.2",
|
||||||
"collect-v8-coverage": "^1.0.2",
|
"collect-v8-coverage": "^1.0.2",
|
||||||
"exit-x": "^0.2.2",
|
"exit-x": "^0.2.2",
|
||||||
"glob": "^10.5.0",
|
"glob": "^10.3.10",
|
||||||
"graceful-fs": "^4.2.11",
|
"graceful-fs": "^4.2.11",
|
||||||
"istanbul-lib-coverage": "^3.0.0",
|
"istanbul-lib-coverage": "^3.0.0",
|
||||||
"istanbul-lib-instrument": "^6.0.0",
|
"istanbul-lib-instrument": "^6.0.0",
|
||||||
"istanbul-lib-report": "^3.0.0",
|
"istanbul-lib-report": "^3.0.0",
|
||||||
"istanbul-lib-source-maps": "^5.0.0",
|
"istanbul-lib-source-maps": "^5.0.0",
|
||||||
"istanbul-reports": "^3.1.3",
|
"istanbul-reports": "^3.1.3",
|
||||||
"jest-message-util": "30.4.1",
|
"jest-message-util": "30.2.0",
|
||||||
"jest-util": "30.4.1",
|
"jest-util": "30.2.0",
|
||||||
"jest-worker": "30.4.1",
|
"jest-worker": "30.2.0",
|
||||||
"slash": "^3.0.0",
|
"slash": "^3.0.0",
|
||||||
"string-length": "^4.0.2",
|
"string-length": "^4.0.2",
|
||||||
"v8-to-istanbul": "^9.0.1"
|
"v8-to-istanbul": "^9.0.1"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"@jest/schemas": {
|
"@jest/schemas": {
|
||||||
"version": "30.4.1",
|
"version": "30.0.5",
|
||||||
"resolved": "https://registry.npmjs.org/@jest/schemas/-/schemas-30.4.1.tgz",
|
"resolved": "https://registry.npmjs.org/@jest/schemas/-/schemas-30.0.5.tgz",
|
||||||
"integrity": "sha512-i6b4qw5qnP8c5FEeBJg/uZQ4ddrkN6Ca8qISJh0pr7a5hfn3h3v5x60BEbOC7OYAGZNMs1LfFLwnW2CuK8F57Q==",
|
"integrity": "sha512-DmdYgtezMkh3cpU8/1uyXakv3tJRcmcXxBOcO0tbaozPwpmh4YMsnWrQm9ZmZMfa5ocbxzbFk6O4bDPEc/iAnA==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"requires": {
|
"requires": {
|
||||||
"@sinclair/typebox": "^0.34.0"
|
"@sinclair/typebox": "^0.34.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"@jest/snapshot-utils": {
|
"@jest/snapshot-utils": {
|
||||||
"version": "30.4.1",
|
"version": "30.2.0",
|
||||||
"resolved": "https://registry.npmjs.org/@jest/snapshot-utils/-/snapshot-utils-30.4.1.tgz",
|
"resolved": "https://registry.npmjs.org/@jest/snapshot-utils/-/snapshot-utils-30.2.0.tgz",
|
||||||
"integrity": "sha512-ObY4ljvQ95mt6iwKtVLetR/4yXiAgl3H4nJxhztr0MTjrN97TwDYrnCp/kF60Ec9HdhkWTHSu+Hg05aXfngpOA==",
|
"integrity": "sha512-0aVxM3RH6DaiLcjj/b0KrIBZhSX1373Xci4l3cW5xiUWPctZ59zQ7jj4rqcJQ/Z8JuN/4wX3FpJSa3RssVvCug==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"requires": {
|
"requires": {
|
||||||
"@jest/types": "30.4.1",
|
"@jest/types": "30.2.0",
|
||||||
"chalk": "^4.1.2",
|
"chalk": "^4.1.2",
|
||||||
"graceful-fs": "^4.2.11",
|
"graceful-fs": "^4.2.11",
|
||||||
"natural-compare": "^1.4.0"
|
"natural-compare": "^1.4.0"
|
||||||
@@ -6697,59 +6612,60 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"@jest/test-result": {
|
"@jest/test-result": {
|
||||||
"version": "30.4.1",
|
"version": "30.2.0",
|
||||||
"resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-30.4.1.tgz",
|
"resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-30.2.0.tgz",
|
||||||
"integrity": "sha512-/ZG7pgEiOmmWkN9TplKbOu4id2N5lh7FHwRwlkgBVAzGdRH+OkkQ8wX/kIxg4zmd3ZQvAL1RwL2yWsvNYYECTw==",
|
"integrity": "sha512-RF+Z+0CCHkARz5HT9mcQCBulb1wgCP3FBvl9VFokMX27acKphwyQsNuWH3c+ojd1LeWBLoTYoxF0zm6S/66mjg==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"requires": {
|
"requires": {
|
||||||
"@jest/console": "30.4.1",
|
"@jest/console": "30.2.0",
|
||||||
"@jest/types": "30.4.1",
|
"@jest/types": "30.2.0",
|
||||||
"@types/istanbul-lib-coverage": "^2.0.6",
|
"@types/istanbul-lib-coverage": "^2.0.6",
|
||||||
"collect-v8-coverage": "^1.0.2"
|
"collect-v8-coverage": "^1.0.2"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"@jest/test-sequencer": {
|
"@jest/test-sequencer": {
|
||||||
"version": "30.4.1",
|
"version": "30.2.0",
|
||||||
"resolved": "https://registry.npmjs.org/@jest/test-sequencer/-/test-sequencer-30.4.1.tgz",
|
"resolved": "https://registry.npmjs.org/@jest/test-sequencer/-/test-sequencer-30.2.0.tgz",
|
||||||
"integrity": "sha512-PeYE+4td5rKjoRPxztObrXU+H8hsjZfxKMXOcmrr34JerSyB/ROOxbbicz8B7A5j9R9VayDnVPvBmedqCsFCdw==",
|
"integrity": "sha512-wXKgU/lk8fKXMu/l5Hog1R61bL4q5GCdT6OJvdAFz1P+QrpoFuLU68eoKuVc4RbrTtNnTL5FByhWdLgOPSph+Q==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"requires": {
|
"requires": {
|
||||||
"@jest/test-result": "30.4.1",
|
"@jest/test-result": "30.2.0",
|
||||||
"graceful-fs": "^4.2.11",
|
"graceful-fs": "^4.2.11",
|
||||||
"jest-haste-map": "30.4.1",
|
"jest-haste-map": "30.2.0",
|
||||||
"slash": "^3.0.0"
|
"slash": "^3.0.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"@jest/transform": {
|
"@jest/transform": {
|
||||||
"version": "30.4.1",
|
"version": "30.2.0",
|
||||||
"resolved": "https://registry.npmjs.org/@jest/transform/-/transform-30.4.1.tgz",
|
"resolved": "https://registry.npmjs.org/@jest/transform/-/transform-30.2.0.tgz",
|
||||||
"integrity": "sha512-Wz0LyktlTvRefoymh+n64hQ84KNXsRGcwdoZ8CSa0Ea+fgYcHZlnk+hDP7v2MS7il2bQ5uTEIxf4/NNfhMN4KQ==",
|
"integrity": "sha512-XsauDV82o5qXbhalKxD7p4TZYYdwcaEXC77PPD2HixEFF+6YGppjrAAQurTl2ECWcEomHBMMNS9AH3kcCFx8jA==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"requires": {
|
"requires": {
|
||||||
"@babel/core": "^7.27.4",
|
"@babel/core": "^7.27.4",
|
||||||
"@jest/types": "30.4.1",
|
"@jest/types": "30.2.0",
|
||||||
"@jridgewell/trace-mapping": "^0.3.25",
|
"@jridgewell/trace-mapping": "^0.3.25",
|
||||||
"babel-plugin-istanbul": "^7.0.1",
|
"babel-plugin-istanbul": "^7.0.1",
|
||||||
"chalk": "^4.1.2",
|
"chalk": "^4.1.2",
|
||||||
"convert-source-map": "^2.0.0",
|
"convert-source-map": "^2.0.0",
|
||||||
"fast-json-stable-stringify": "^2.1.0",
|
"fast-json-stable-stringify": "^2.1.0",
|
||||||
"graceful-fs": "^4.2.11",
|
"graceful-fs": "^4.2.11",
|
||||||
"jest-haste-map": "30.4.1",
|
"jest-haste-map": "30.2.0",
|
||||||
"jest-regex-util": "30.4.0",
|
"jest-regex-util": "30.0.1",
|
||||||
"jest-util": "30.4.1",
|
"jest-util": "30.2.0",
|
||||||
|
"micromatch": "^4.0.8",
|
||||||
"pirates": "^4.0.7",
|
"pirates": "^4.0.7",
|
||||||
"slash": "^3.0.0",
|
"slash": "^3.0.0",
|
||||||
"write-file-atomic": "^5.0.1"
|
"write-file-atomic": "^5.0.1"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"@jest/types": {
|
"@jest/types": {
|
||||||
"version": "30.4.1",
|
"version": "30.2.0",
|
||||||
"resolved": "https://registry.npmjs.org/@jest/types/-/types-30.4.1.tgz",
|
"resolved": "https://registry.npmjs.org/@jest/types/-/types-30.2.0.tgz",
|
||||||
"integrity": "sha512-f1x/vJXIfjOlEmejYpbkbgw1gOqpPECwMvMEtBqe47j7H2Hg8h8w3o3ikhSXq3MI15kg+oQ0exWO0uCtTNJLoQ==",
|
"integrity": "sha512-H9xg1/sfVvyfU7o3zMfBEjQ1gcsdeTMgqHoYdN79tuLqfTtuu7WckRA1R5whDwOzxaZAeMKTYWqP+WCAi0CHsg==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"requires": {
|
"requires": {
|
||||||
"@jest/pattern": "30.4.0",
|
"@jest/pattern": "30.0.1",
|
||||||
"@jest/schemas": "30.4.1",
|
"@jest/schemas": "30.0.5",
|
||||||
"@types/istanbul-lib-coverage": "^2.0.6",
|
"@types/istanbul-lib-coverage": "^2.0.6",
|
||||||
"@types/istanbul-reports": "^3.0.4",
|
"@types/istanbul-reports": "^3.0.4",
|
||||||
"@types/node": "*",
|
"@types/node": "*",
|
||||||
@@ -6796,15 +6712,22 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"@napi-rs/wasm-runtime": {
|
"@napi-rs/wasm-runtime": {
|
||||||
"version": "1.1.4",
|
"version": "0.2.12",
|
||||||
"resolved": "https://registry.npmjs.org/@napi-rs/wasm-runtime/-/wasm-runtime-1.1.4.tgz",
|
"resolved": "https://registry.npmjs.org/@napi-rs/wasm-runtime/-/wasm-runtime-0.2.12.tgz",
|
||||||
"integrity": "sha512-3NQNNgA1YSlJb/kMH1ildASP9HW7/7kYnRI2szWJaofaS1hWmbGI4H+d3+22aGzXXN9IJ+n+GiFVcGipJP18ow==",
|
"integrity": "sha512-ZVWUcfwY4E/yPitQJl481FjFo3K22D6qF0DuFH6Y/nbnE11GY5uguDxZMGXPQ8WQ0128MXQD7TnfHyK4oWoIJQ==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"optional": true,
|
"optional": true,
|
||||||
"requires": {
|
"requires": {
|
||||||
"@tybys/wasm-util": "^0.10.1"
|
"@emnapi/core": "^1.4.3",
|
||||||
|
"@emnapi/runtime": "^1.4.3",
|
||||||
|
"@tybys/wasm-util": "^0.10.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"@opentelemetry/api": {
|
||||||
|
"version": "1.4.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/@opentelemetry/api/-/api-1.4.1.tgz",
|
||||||
|
"integrity": "sha512-O2yRJce1GOc6PAy3QxFM4NzFiWzvScDC1/5ihYBL6BUEVdq0XMWN01sppE+H6bBXbaFYipjwFLEWLg5PaSOThA=="
|
||||||
|
},
|
||||||
"@pkgjs/parseargs": {
|
"@pkgjs/parseargs": {
|
||||||
"version": "0.11.0",
|
"version": "0.11.0",
|
||||||
"resolved": "https://registry.npmjs.org/@pkgjs/parseargs/-/parseargs-0.11.0.tgz",
|
"resolved": "https://registry.npmjs.org/@pkgjs/parseargs/-/parseargs-0.11.0.tgz",
|
||||||
@@ -6813,9 +6736,9 @@
|
|||||||
"optional": true
|
"optional": true
|
||||||
},
|
},
|
||||||
"@pkgr/core": {
|
"@pkgr/core": {
|
||||||
"version": "0.3.6",
|
"version": "0.2.9",
|
||||||
"resolved": "https://registry.npmjs.org/@pkgr/core/-/core-0.3.6.tgz",
|
"resolved": "https://registry.npmjs.org/@pkgr/core/-/core-0.2.9.tgz",
|
||||||
"integrity": "sha512-SEeaJLb3qBNF/OaXnaR1NmmBbFYk1zC0ZH/52fATcRPLFg/p791YrcyFFy44Bo9sLaGuSuLp5Q6axbb/O+v/RA==",
|
"integrity": "sha512-QNqXyfVS2wm9hweSYD2O7F0G06uurj9kZ96TRQE5Y9hU7+tgdZwIkbAKc5Ocy1HxEY2kuDQa6cQ1WRs/O5LFKA==",
|
||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
"@protobuf-ts/runtime": {
|
"@protobuf-ts/runtime": {
|
||||||
@@ -6832,14 +6755,14 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"@renovatebot/pep440": {
|
"@renovatebot/pep440": {
|
||||||
"version": "4.2.2",
|
"version": "4.2.1",
|
||||||
"resolved": "https://registry.npmjs.org/@renovatebot/pep440/-/pep440-4.2.2.tgz",
|
"resolved": "https://registry.npmjs.org/@renovatebot/pep440/-/pep440-4.2.1.tgz",
|
||||||
"integrity": "sha512-dSbrkSS9/NfNwhOgQ0rpKA9KNiKSFhgK707Wi+oX8SZLqvu8dvsVuzORbKOYq5eX4nSiwrHApWisecw0cZhjVQ=="
|
"integrity": "sha512-2FK1hF93Fuf1laSdfiEmJvSJPVIDHEUTz68D3Fi9s0IZrrpaEcj6pTFBTbYvsgC5du4ogrtf5re7yMMvrKNgkw=="
|
||||||
},
|
},
|
||||||
"@sinclair/typebox": {
|
"@sinclair/typebox": {
|
||||||
"version": "0.34.49",
|
"version": "0.34.38",
|
||||||
"resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.34.49.tgz",
|
"resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.34.38.tgz",
|
||||||
"integrity": "sha512-brySQQs7Jtn0joV8Xh9ZV/hZb9Ozb0pmazDIASBkYKCjXrXU3mpcFahmK/z4YDhGkQvP9mWJbVyahdtU5wQA+A==",
|
"integrity": "sha512-HpkxMmc2XmZKhvaKIZZThlHmx1L0I/V1hWK1NubtlFnr6ZqdiOpV72TKudZUNQjZNsyDBay72qFEhEvb+bcwcA==",
|
||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
"@sinonjs/commons": {
|
"@sinonjs/commons": {
|
||||||
@@ -6852,22 +6775,31 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"@sinonjs/fake-timers": {
|
"@sinonjs/fake-timers": {
|
||||||
"version": "15.4.0",
|
"version": "13.0.5",
|
||||||
"resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-15.4.0.tgz",
|
"resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-13.0.5.tgz",
|
||||||
"integrity": "sha512-DsG+8/LscQIQg68J6Ef3dv10u6nVyetYn923s3/sus5eaGfTo1of5WMZSLf0UJc9KDuKPilPH0UDJCjvNbDNCA==",
|
"integrity": "sha512-36/hTbH2uaWuGVERyC6da9YwGWnzUZXuPro/F2LfsdOsLnCojz/iSH8MxUt/FD2S5XBSVPhmArFUXcpCQ2Hkiw==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"requires": {
|
"requires": {
|
||||||
"@sinonjs/commons": "^3.0.1"
|
"@sinonjs/commons": "^3.0.1"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"@tybys/wasm-util": {
|
"@tybys/wasm-util": {
|
||||||
"version": "0.10.2",
|
"version": "0.10.1",
|
||||||
"resolved": "https://registry.npmjs.org/@tybys/wasm-util/-/wasm-util-0.10.2.tgz",
|
"resolved": "https://registry.npmjs.org/@tybys/wasm-util/-/wasm-util-0.10.1.tgz",
|
||||||
"integrity": "sha512-RoBvJ2X0wuKlWFIjrwffGw1IqZHKQqzIchKaadZZfnNpsAYp2mM0h36JtPCjNDAHGgYez/15uMBpfGwchhiMgg==",
|
"integrity": "sha512-9tTaPJLSiejZKx+Bmog4uSubteqTvFrVrURwkmHixBo0G4seD0zUxp98E1DzUBJxLQ3NPwXrGKDiVjwx/DpPsg==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"optional": true,
|
"optional": true,
|
||||||
"requires": {
|
"requires": {
|
||||||
"tslib": "^2.4.0"
|
"tslib": "^2.4.0"
|
||||||
|
},
|
||||||
|
"dependencies": {
|
||||||
|
"tslib": {
|
||||||
|
"version": "2.8.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz",
|
||||||
|
"integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==",
|
||||||
|
"dev": true,
|
||||||
|
"optional": true
|
||||||
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"@types/babel__core": {
|
"@types/babel__core": {
|
||||||
@@ -6942,12 +6874,34 @@
|
|||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
"@types/node": {
|
"@types/node": {
|
||||||
"version": "25.5.0",
|
"version": "24.10.1",
|
||||||
"resolved": "https://registry.npmjs.org/@types/node/-/node-25.5.0.tgz",
|
"resolved": "https://registry.npmjs.org/@types/node/-/node-24.10.1.tgz",
|
||||||
"integrity": "sha512-jp2P3tQMSxWugkCUKLRPVUpGaL5MVFwF8RDuSRztfwgN1wmqJeMSbKlnEtQqU8UrhTmzEmZdu2I6v2dpp7XIxw==",
|
"integrity": "sha512-GNWcUTRBgIRJD5zj+Tq0fKOJ5XZajIiBroOF0yvj2bSU1WvNdYS/dn9UxwsujGW4JX06dnHyjV2y9rRaybH0iQ==",
|
||||||
"dev": true,
|
|
||||||
"requires": {
|
"requires": {
|
||||||
"undici-types": "~7.18.0"
|
"undici-types": "~7.16.0"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"@types/node-fetch": {
|
||||||
|
"version": "2.6.4",
|
||||||
|
"resolved": "https://registry.npmjs.org/@types/node-fetch/-/node-fetch-2.6.4.tgz",
|
||||||
|
"integrity": "sha512-1ZX9fcN4Rvkvgv4E6PAY5WXUFWFcRWxZa3EW83UjycOB9ljJCedb2CupIP4RZMEwF/M3eTcCihbBRgwtGbg5Rg==",
|
||||||
|
"requires": {
|
||||||
|
"@types/node": "*",
|
||||||
|
"form-data": "^3.0.0"
|
||||||
|
},
|
||||||
|
"dependencies": {
|
||||||
|
"form-data": {
|
||||||
|
"version": "3.0.4",
|
||||||
|
"resolved": "https://registry.npmjs.org/form-data/-/form-data-3.0.4.tgz",
|
||||||
|
"integrity": "sha512-f0cRzm6dkyVYV3nPoooP8XlccPQukegwhAnpoLcXy+X+A8KfpGOoXwDr9FLZd3wzgLaBGQBE3lY93Zm/i1JvIQ==",
|
||||||
|
"requires": {
|
||||||
|
"asynckit": "^0.4.0",
|
||||||
|
"combined-stream": "^1.0.8",
|
||||||
|
"es-set-tostringtag": "^2.1.0",
|
||||||
|
"hasown": "^2.0.2",
|
||||||
|
"mime-types": "^2.1.35"
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"@types/semver": {
|
"@types/semver": {
|
||||||
@@ -6962,6 +6916,14 @@
|
|||||||
"integrity": "sha512-9aEbYZ3TbYMznPdcdr3SmIrLXwC/AKZXQeCf9Pgao5CKb8CyHuEX5jzWPTkvregvhRJHcpRO6BFoGW9ycaOkYw==",
|
"integrity": "sha512-9aEbYZ3TbYMznPdcdr3SmIrLXwC/AKZXQeCf9Pgao5CKb8CyHuEX5jzWPTkvregvhRJHcpRO6BFoGW9ycaOkYw==",
|
||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
|
"@types/tunnel": {
|
||||||
|
"version": "0.0.3",
|
||||||
|
"resolved": "https://registry.npmjs.org/@types/tunnel/-/tunnel-0.0.3.tgz",
|
||||||
|
"integrity": "sha512-sOUTGn6h1SfQ+gbgqC364jLFBw2lnFqkgF3q0WovEHRLMrVD1sd5aufqi/aJObLekJO+Aq5z646U4Oxy6shXMA==",
|
||||||
|
"requires": {
|
||||||
|
"@types/node": "*"
|
||||||
|
}
|
||||||
|
},
|
||||||
"@types/yargs": {
|
"@types/yargs": {
|
||||||
"version": "17.0.33",
|
"version": "17.0.33",
|
||||||
"resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.33.tgz",
|
"resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.33.tgz",
|
||||||
@@ -6977,16 +6939,6 @@
|
|||||||
"integrity": "sha512-I4q9QU9MQv4oEOz4tAHJtNz1cwuLxn2F3xcc2iV5WdqLPpUnj30aUuxt1mAxYTG+oe8CZMV/+6rU4S4gRDzqtQ==",
|
"integrity": "sha512-I4q9QU9MQv4oEOz4tAHJtNz1cwuLxn2F3xcc2iV5WdqLPpUnj30aUuxt1mAxYTG+oe8CZMV/+6rU4S4gRDzqtQ==",
|
||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
"@typespec/ts-http-runtime": {
|
|
||||||
"version": "0.3.4",
|
|
||||||
"resolved": "https://registry.npmjs.org/@typespec/ts-http-runtime/-/ts-http-runtime-0.3.4.tgz",
|
|
||||||
"integrity": "sha512-CI0NhTrz4EBaa0U+HaaUZrJhPoso8sG7ZFya8uQoBA57fjzrjRSv87ekCjLZOFExN+gXE/z0xuN2QfH4H2HrLQ==",
|
|
||||||
"requires": {
|
|
||||||
"http-proxy-agent": "^7.0.0",
|
|
||||||
"https-proxy-agent": "^7.0.0",
|
|
||||||
"tslib": "^2.6.2"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"@ungap/structured-clone": {
|
"@ungap/structured-clone": {
|
||||||
"version": "1.3.0",
|
"version": "1.3.0",
|
||||||
"resolved": "https://registry.npmjs.org/@ungap/structured-clone/-/structured-clone-1.3.0.tgz",
|
"resolved": "https://registry.npmjs.org/@ungap/structured-clone/-/structured-clone-1.3.0.tgz",
|
||||||
@@ -6994,161 +6946,138 @@
|
|||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
"@unrs/resolver-binding-android-arm-eabi": {
|
"@unrs/resolver-binding-android-arm-eabi": {
|
||||||
"version": "1.12.2",
|
"version": "1.11.1",
|
||||||
"resolved": "https://registry.npmjs.org/@unrs/resolver-binding-android-arm-eabi/-/resolver-binding-android-arm-eabi-1.12.2.tgz",
|
"resolved": "https://registry.npmjs.org/@unrs/resolver-binding-android-arm-eabi/-/resolver-binding-android-arm-eabi-1.11.1.tgz",
|
||||||
"integrity": "sha512-g5T90pqg1bo/7mytQx6F4iBNC0Wsh9cu+z9veDbFjc7HjpesJFWD7QMS0NGStXM075+7dJPPVvBbpZlnrdpi/w==",
|
"integrity": "sha512-ppLRUgHVaGRWUx0R0Ut06Mjo9gBaBkg3v/8AxusGLhsIotbBLuRk51rAzqLC8gq6NyyAojEXglNjzf6R948DNw==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"optional": true
|
"optional": true
|
||||||
},
|
},
|
||||||
"@unrs/resolver-binding-android-arm64": {
|
"@unrs/resolver-binding-android-arm64": {
|
||||||
"version": "1.12.2",
|
"version": "1.11.1",
|
||||||
"resolved": "https://registry.npmjs.org/@unrs/resolver-binding-android-arm64/-/resolver-binding-android-arm64-1.12.2.tgz",
|
"resolved": "https://registry.npmjs.org/@unrs/resolver-binding-android-arm64/-/resolver-binding-android-arm64-1.11.1.tgz",
|
||||||
"integrity": "sha512-YGCRZv/9GLhwmz6mYDeTsm/92BAyR28l6c2ReweVW5pWgfsitWLY8upvfRlGdoyD8HjeTHSYJWyZGD4KJA/nFQ==",
|
"integrity": "sha512-lCxkVtb4wp1v+EoN+HjIG9cIIzPkX5OtM03pQYkG+U5O/wL53LC4QbIeazgiKqluGeVEeBlZahHalCaBvU1a2g==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"optional": true
|
"optional": true
|
||||||
},
|
},
|
||||||
"@unrs/resolver-binding-darwin-arm64": {
|
"@unrs/resolver-binding-darwin-arm64": {
|
||||||
"version": "1.12.2",
|
"version": "1.11.1",
|
||||||
"resolved": "https://registry.npmjs.org/@unrs/resolver-binding-darwin-arm64/-/resolver-binding-darwin-arm64-1.12.2.tgz",
|
"resolved": "https://registry.npmjs.org/@unrs/resolver-binding-darwin-arm64/-/resolver-binding-darwin-arm64-1.11.1.tgz",
|
||||||
"integrity": "sha512-u9DiNT1auQMO20A9SyTuG3wUgQWB9Z7KjAg0uFuCDR1FsAY8A0CG2S6JpHS1xwm/w1G08bjXZDcyOCjv1WAm2w==",
|
"integrity": "sha512-gPVA1UjRu1Y/IsB/dQEsp2V1pm44Of6+LWvbLc9SDk1c2KhhDRDBUkQCYVWe6f26uJb3fOK8saWMgtX8IrMk3g==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"optional": true
|
"optional": true
|
||||||
},
|
},
|
||||||
"@unrs/resolver-binding-darwin-x64": {
|
"@unrs/resolver-binding-darwin-x64": {
|
||||||
"version": "1.12.2",
|
"version": "1.11.1",
|
||||||
"resolved": "https://registry.npmjs.org/@unrs/resolver-binding-darwin-x64/-/resolver-binding-darwin-x64-1.12.2.tgz",
|
"resolved": "https://registry.npmjs.org/@unrs/resolver-binding-darwin-x64/-/resolver-binding-darwin-x64-1.11.1.tgz",
|
||||||
"integrity": "sha512-f7rPLi/T1HVKZu/u6t87lroib16n8vrSzcyxI7lg4BGO9UF26KhQL44sd9eOUgrTYhvRXtWOIZT5PejdPyJfUA==",
|
"integrity": "sha512-cFzP7rWKd3lZaCsDze07QX1SC24lO8mPty9vdP+YVa3MGdVgPmFc59317b2ioXtgCMKGiCLxJ4HQs62oz6GfRQ==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"optional": true
|
"optional": true
|
||||||
},
|
},
|
||||||
"@unrs/resolver-binding-freebsd-x64": {
|
"@unrs/resolver-binding-freebsd-x64": {
|
||||||
"version": "1.12.2",
|
"version": "1.11.1",
|
||||||
"resolved": "https://registry.npmjs.org/@unrs/resolver-binding-freebsd-x64/-/resolver-binding-freebsd-x64-1.12.2.tgz",
|
"resolved": "https://registry.npmjs.org/@unrs/resolver-binding-freebsd-x64/-/resolver-binding-freebsd-x64-1.11.1.tgz",
|
||||||
"integrity": "sha512-BpcOjWCJub6nRZUS2zA20pmLvjtqAtGejETaIyRLiZiQf++cbrjltLA5NN/xaXfqeOBOSlMFbemIl5/S5tljmg==",
|
"integrity": "sha512-fqtGgak3zX4DCB6PFpsH5+Kmt/8CIi4Bry4rb1ho6Av2QHTREM+47y282Uqiu3ZRF5IQioJQ5qWRV6jduA+iGw==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"optional": true
|
"optional": true
|
||||||
},
|
},
|
||||||
"@unrs/resolver-binding-linux-arm-gnueabihf": {
|
"@unrs/resolver-binding-linux-arm-gnueabihf": {
|
||||||
"version": "1.12.2",
|
"version": "1.11.1",
|
||||||
"resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-arm-gnueabihf/-/resolver-binding-linux-arm-gnueabihf-1.12.2.tgz",
|
"resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-arm-gnueabihf/-/resolver-binding-linux-arm-gnueabihf-1.11.1.tgz",
|
||||||
"integrity": "sha512-vZTDvdSISZjJx66OzJqtsOhzifbqRjbmI1Mnu49fQDwog5GtDI4QidRiEAYbZCRj9C8YZEW+3ZjqsyS9GR4k2A==",
|
"integrity": "sha512-u92mvlcYtp9MRKmP+ZvMmtPN34+/3lMHlyMj7wXJDeXxuM0Vgzz0+PPJNsro1m3IZPYChIkn944wW8TYgGKFHw==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"optional": true
|
"optional": true
|
||||||
},
|
},
|
||||||
"@unrs/resolver-binding-linux-arm-musleabihf": {
|
"@unrs/resolver-binding-linux-arm-musleabihf": {
|
||||||
"version": "1.12.2",
|
"version": "1.11.1",
|
||||||
"resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-arm-musleabihf/-/resolver-binding-linux-arm-musleabihf-1.12.2.tgz",
|
"resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-arm-musleabihf/-/resolver-binding-linux-arm-musleabihf-1.11.1.tgz",
|
||||||
"integrity": "sha512-BiPI+IrIlwcW4nLLMM21+B1dFPzd55yAVgVGrdgDjNef+ch03GdxrcyaIz8X9SsQirh/kCQ7mviyWlMxdh2D7g==",
|
"integrity": "sha512-cINaoY2z7LVCrfHkIcmvj7osTOtm6VVT16b5oQdS4beibX2SYBwgYLmqhBjA1t51CarSaBuX5YNsWLjsqfW5Cw==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"optional": true
|
"optional": true
|
||||||
},
|
},
|
||||||
"@unrs/resolver-binding-linux-arm64-gnu": {
|
"@unrs/resolver-binding-linux-arm64-gnu": {
|
||||||
"version": "1.12.2",
|
"version": "1.11.1",
|
||||||
"resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-arm64-gnu/-/resolver-binding-linux-arm64-gnu-1.12.2.tgz",
|
"resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-arm64-gnu/-/resolver-binding-linux-arm64-gnu-1.11.1.tgz",
|
||||||
"integrity": "sha512-zJc0H99FEPoFfSrNpa91HYfxzfAJCr502oxNK1cfdC9hlaFI43RT+JFCann9JUgZmLzzntChHyn13Sgn9ljHNg==",
|
"integrity": "sha512-34gw7PjDGB9JgePJEmhEqBhWvCiiWCuXsL9hYphDF7crW7UgI05gyBAi6MF58uGcMOiOqSJ2ybEeCvHcq0BCmQ==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"optional": true
|
"optional": true
|
||||||
},
|
},
|
||||||
"@unrs/resolver-binding-linux-arm64-musl": {
|
"@unrs/resolver-binding-linux-arm64-musl": {
|
||||||
"version": "1.12.2",
|
"version": "1.11.1",
|
||||||
"resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-arm64-musl/-/resolver-binding-linux-arm64-musl-1.12.2.tgz",
|
"resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-arm64-musl/-/resolver-binding-linux-arm64-musl-1.11.1.tgz",
|
||||||
"integrity": "sha512-KQ3Lki6l+Pz1k/eBipN41ES+YUK30beLGb9YqcB1O542cyLCNE6GaxrfcY3T6EezmGGk84wb5XyO9loTM9tkcA==",
|
"integrity": "sha512-RyMIx6Uf53hhOtJDIamSbTskA99sPHS96wxVE/bJtePJJtpdKGXO1wY90oRdXuYOGOTuqjT8ACccMc4K6QmT3w==",
|
||||||
"dev": true,
|
|
||||||
"optional": true
|
|
||||||
},
|
|
||||||
"@unrs/resolver-binding-linux-loong64-gnu": {
|
|
||||||
"version": "1.12.2",
|
|
||||||
"resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-loong64-gnu/-/resolver-binding-linux-loong64-gnu-1.12.2.tgz",
|
|
||||||
"integrity": "sha512-3SJGEh1DborhG6pyxvhPzCT4bbSIVihsvgJc13P1bHG7KLdNDaF9T3gsTwFc7Jw/5Y5/iWOjkEx7Zy0NvCGX3Q==",
|
|
||||||
"dev": true,
|
|
||||||
"optional": true
|
|
||||||
},
|
|
||||||
"@unrs/resolver-binding-linux-loong64-musl": {
|
|
||||||
"version": "1.12.2",
|
|
||||||
"resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-loong64-musl/-/resolver-binding-linux-loong64-musl-1.12.2.tgz",
|
|
||||||
"integrity": "sha512-jiuG/Obbel7uw1PwHNFfrkiKhLAF6mnyZ6aWlOAVN9WqKm8v0OFGnciJIHu8+CMvXLQ8AD51LPzAoUfT21D5Ew==",
|
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"optional": true
|
"optional": true
|
||||||
},
|
},
|
||||||
"@unrs/resolver-binding-linux-ppc64-gnu": {
|
"@unrs/resolver-binding-linux-ppc64-gnu": {
|
||||||
"version": "1.12.2",
|
"version": "1.11.1",
|
||||||
"resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-ppc64-gnu/-/resolver-binding-linux-ppc64-gnu-1.12.2.tgz",
|
"resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-ppc64-gnu/-/resolver-binding-linux-ppc64-gnu-1.11.1.tgz",
|
||||||
"integrity": "sha512-q7xRvVpmcfeL+LlZg8Pbbo6QaTZwDU5BaGZbwfhkEsXJn3Was8xYfE0RBH266xZt0rM6B7i8xAYIvjthuUIWHg==",
|
"integrity": "sha512-D8Vae74A4/a+mZH0FbOkFJL9DSK2R6TFPC9M+jCWYia/q2einCubX10pecpDiTmkJVUH+y8K3BZClycD8nCShA==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"optional": true
|
"optional": true
|
||||||
},
|
},
|
||||||
"@unrs/resolver-binding-linux-riscv64-gnu": {
|
"@unrs/resolver-binding-linux-riscv64-gnu": {
|
||||||
"version": "1.12.2",
|
"version": "1.11.1",
|
||||||
"resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-riscv64-gnu/-/resolver-binding-linux-riscv64-gnu-1.12.2.tgz",
|
"resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-riscv64-gnu/-/resolver-binding-linux-riscv64-gnu-1.11.1.tgz",
|
||||||
"integrity": "sha512-0CVdx6lcnT3Q9inOH8tsMIOJ6ImndllMjqJHg8RLVdB7Vq4SfkEXl9mCSsVNuNA4MCYycRicCUxPCabVHJRr6A==",
|
"integrity": "sha512-frxL4OrzOWVVsOc96+V3aqTIQl1O2TjgExV4EKgRY09AJ9leZpEg8Ak9phadbuX0BA4k8U5qtvMSQQGGmaJqcQ==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"optional": true
|
"optional": true
|
||||||
},
|
},
|
||||||
"@unrs/resolver-binding-linux-riscv64-musl": {
|
"@unrs/resolver-binding-linux-riscv64-musl": {
|
||||||
"version": "1.12.2",
|
"version": "1.11.1",
|
||||||
"resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-riscv64-musl/-/resolver-binding-linux-riscv64-musl-1.12.2.tgz",
|
"resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-riscv64-musl/-/resolver-binding-linux-riscv64-musl-1.11.1.tgz",
|
||||||
"integrity": "sha512-iOwlRo9vnp6R6ohHQS11n0NnfdXx/omhkocmIfaPRpQhKZ+3BDMkkdRVh53qjkFkpPddf+FETA28NwGN7l5l+w==",
|
"integrity": "sha512-mJ5vuDaIZ+l/acv01sHoXfpnyrNKOk/3aDoEdLO/Xtn9HuZlDD6jKxHlkN8ZhWyLJsRBxfv9GYM2utQ1SChKew==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"optional": true
|
"optional": true
|
||||||
},
|
},
|
||||||
"@unrs/resolver-binding-linux-s390x-gnu": {
|
"@unrs/resolver-binding-linux-s390x-gnu": {
|
||||||
"version": "1.12.2",
|
"version": "1.11.1",
|
||||||
"resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-s390x-gnu/-/resolver-binding-linux-s390x-gnu-1.12.2.tgz",
|
"resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-s390x-gnu/-/resolver-binding-linux-s390x-gnu-1.11.1.tgz",
|
||||||
"integrity": "sha512-HYJtLfXq94q8iZNFT1lknx258wlkkWhZeUXJRqzKBBUJ00CvZ+N33zgbCqimLjsyw5Va6uUxhVa12mI+kaveEw==",
|
"integrity": "sha512-kELo8ebBVtb9sA7rMe1Cph4QHreByhaZ2QEADd9NzIQsYNQpt9UkM9iqr2lhGr5afh885d/cB5QeTXSbZHTYPg==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"optional": true
|
"optional": true
|
||||||
},
|
},
|
||||||
"@unrs/resolver-binding-linux-x64-gnu": {
|
"@unrs/resolver-binding-linux-x64-gnu": {
|
||||||
"version": "1.12.2",
|
"version": "1.11.1",
|
||||||
"resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-x64-gnu/-/resolver-binding-linux-x64-gnu-1.12.2.tgz",
|
"resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-x64-gnu/-/resolver-binding-linux-x64-gnu-1.11.1.tgz",
|
||||||
"integrity": "sha512-mPsUhunKKDih5O96Y6enDQyHc1SqBPlY1E/SfMWDM3EdJ95Z9CArPeCVwCCqbP45ljvivdEk8Fxn+SIb1rDAJQ==",
|
"integrity": "sha512-C3ZAHugKgovV5YvAMsxhq0gtXuwESUKc5MhEtjBpLoHPLYM+iuwSj3lflFwK3DPm68660rZ7G8BMcwSro7hD5w==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"optional": true
|
"optional": true
|
||||||
},
|
},
|
||||||
"@unrs/resolver-binding-linux-x64-musl": {
|
"@unrs/resolver-binding-linux-x64-musl": {
|
||||||
"version": "1.12.2",
|
"version": "1.11.1",
|
||||||
"resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-x64-musl/-/resolver-binding-linux-x64-musl-1.12.2.tgz",
|
"resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-x64-musl/-/resolver-binding-linux-x64-musl-1.11.1.tgz",
|
||||||
"integrity": "sha512-azrt6+5ydLd8Vt210AAFis/lZevSfPw93EJRIJG+xPu4WCJ8K0kppCTpMyLPcKT7H15M4Jnt2tMp5bOvCkRC6A==",
|
"integrity": "sha512-rV0YSoyhK2nZ4vEswT/QwqzqQXw5I6CjoaYMOX0TqBlWhojUf8P94mvI7nuJTeaCkkds3QE4+zS8Ko+GdXuZtA==",
|
||||||
"dev": true,
|
|
||||||
"optional": true
|
|
||||||
},
|
|
||||||
"@unrs/resolver-binding-openharmony-arm64": {
|
|
||||||
"version": "1.12.2",
|
|
||||||
"resolved": "https://registry.npmjs.org/@unrs/resolver-binding-openharmony-arm64/-/resolver-binding-openharmony-arm64-1.12.2.tgz",
|
|
||||||
"integrity": "sha512-YZ9hP4O0X9PQb8eO980qmLNGH4zT3I9+SZTdt0Pr0YyuGQhYKoOZkV02VzrzyOZJ5xIJ3UFIenKkUkGg8GjgWQ==",
|
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"optional": true
|
"optional": true
|
||||||
},
|
},
|
||||||
"@unrs/resolver-binding-wasm32-wasi": {
|
"@unrs/resolver-binding-wasm32-wasi": {
|
||||||
"version": "1.12.2",
|
"version": "1.11.1",
|
||||||
"resolved": "https://registry.npmjs.org/@unrs/resolver-binding-wasm32-wasi/-/resolver-binding-wasm32-wasi-1.12.2.tgz",
|
"resolved": "https://registry.npmjs.org/@unrs/resolver-binding-wasm32-wasi/-/resolver-binding-wasm32-wasi-1.11.1.tgz",
|
||||||
"integrity": "sha512-tYFDIkMxSflfEc/h92ZWNsZlHSwgimbNHSO3PL2JWQHfCuC2q316jMyYU9TIWZsFK2bQwyK5VAdYgn8ygPj69A==",
|
"integrity": "sha512-5u4RkfxJm+Ng7IWgkzi3qrFOvLvQYnPBmjmZQ8+szTK/b31fQCnleNl1GgEt7nIsZRIf5PLhPwT0WM+q45x/UQ==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"optional": true,
|
"optional": true,
|
||||||
"requires": {
|
"requires": {
|
||||||
"@emnapi/core": "1.10.0",
|
"@napi-rs/wasm-runtime": "^0.2.11"
|
||||||
"@emnapi/runtime": "1.10.0",
|
|
||||||
"@napi-rs/wasm-runtime": "^1.1.4"
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"@unrs/resolver-binding-win32-arm64-msvc": {
|
"@unrs/resolver-binding-win32-arm64-msvc": {
|
||||||
"version": "1.12.2",
|
"version": "1.11.1",
|
||||||
"resolved": "https://registry.npmjs.org/@unrs/resolver-binding-win32-arm64-msvc/-/resolver-binding-win32-arm64-msvc-1.12.2.tgz",
|
"resolved": "https://registry.npmjs.org/@unrs/resolver-binding-win32-arm64-msvc/-/resolver-binding-win32-arm64-msvc-1.11.1.tgz",
|
||||||
"integrity": "sha512-qzNyg3xL0VPQmCaUh+N5jSitce6k+uCBfMDesWRnlULOZaqUkaJ0ybdT+UqlAWJoQjuqfIU/0Ptx9bteN4D82g==",
|
"integrity": "sha512-nRcz5Il4ln0kMhfL8S3hLkxI85BXs3o8EYoattsJNdsX4YUU89iOkVn7g0VHSRxFuVMdM4Q1jEpIId1Ihim/Uw==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"optional": true
|
"optional": true
|
||||||
},
|
},
|
||||||
"@unrs/resolver-binding-win32-ia32-msvc": {
|
"@unrs/resolver-binding-win32-ia32-msvc": {
|
||||||
"version": "1.12.2",
|
"version": "1.11.1",
|
||||||
"resolved": "https://registry.npmjs.org/@unrs/resolver-binding-win32-ia32-msvc/-/resolver-binding-win32-ia32-msvc-1.12.2.tgz",
|
"resolved": "https://registry.npmjs.org/@unrs/resolver-binding-win32-ia32-msvc/-/resolver-binding-win32-ia32-msvc-1.11.1.tgz",
|
||||||
"integrity": "sha512-WD9sY00OfpHVGfsnHZoA8jVT+esS/Bg8z8jzxp5BnDCjjwsuKsPQrzswwpFy4J1AUJbXPRfkpcX0mXrzeXW79g==",
|
"integrity": "sha512-DCEI6t5i1NmAZp6pFonpD5m7i6aFrpofcp4LA2i8IIq60Jyo28hamKBxNrZcyOwVOZkgsRp9O2sXWBWP8MnvIQ==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"optional": true
|
"optional": true
|
||||||
},
|
},
|
||||||
"@unrs/resolver-binding-win32-x64-msvc": {
|
"@unrs/resolver-binding-win32-x64-msvc": {
|
||||||
"version": "1.12.2",
|
"version": "1.11.1",
|
||||||
"resolved": "https://registry.npmjs.org/@unrs/resolver-binding-win32-x64-msvc/-/resolver-binding-win32-x64-msvc-1.12.2.tgz",
|
"resolved": "https://registry.npmjs.org/@unrs/resolver-binding-win32-x64-msvc/-/resolver-binding-win32-x64-msvc-1.11.1.tgz",
|
||||||
"integrity": "sha512-nAB74NfSNKknqQ1RrYj6uz8FcXEomu/MATJZxh/x+BArzN2U3JbOYC0APYzUIGhVY3m5hRxA8VPNdPBoG8txlA==",
|
"integrity": "sha512-lrW200hZdbfRtztbygyaq/6jP6AKE8qQN2KvPcJ+x7wiD038YtnYtZ82IMNJ69GJibV7bwL3y9FgK+5w/pYt6g==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"optional": true
|
"optional": true
|
||||||
},
|
},
|
||||||
@@ -7158,10 +7087,13 @@
|
|||||||
"integrity": "sha512-8LwjnlP39s08C08J5NstzriPvW1SP8Zfpp1BvC2sI35kPeZnHfxVkCwu4/+Wodgnd60UtT1n8K8zw+Mp7J9JmQ==",
|
"integrity": "sha512-8LwjnlP39s08C08J5NstzriPvW1SP8Zfpp1BvC2sI35kPeZnHfxVkCwu4/+Wodgnd60UtT1n8K8zw+Mp7J9JmQ==",
|
||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
"agent-base": {
|
"abort-controller": {
|
||||||
"version": "7.1.4",
|
"version": "3.0.0",
|
||||||
"resolved": "https://registry.npmjs.org/agent-base/-/agent-base-7.1.4.tgz",
|
"resolved": "https://registry.npmjs.org/abort-controller/-/abort-controller-3.0.0.tgz",
|
||||||
"integrity": "sha512-MnA+YT8fwfJPgBx3m60MNqakm30XOkyIoH1y6huTQvC0PwZG7ki8NacLBcrPbNoo8vEZy7Jpuk7+jMO+CUovTQ=="
|
"integrity": "sha512-h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg==",
|
||||||
|
"requires": {
|
||||||
|
"event-target-shim": "^5.0.0"
|
||||||
|
}
|
||||||
},
|
},
|
||||||
"ansi-escapes": {
|
"ansi-escapes": {
|
||||||
"version": "4.3.2",
|
"version": "4.3.2",
|
||||||
@@ -7211,16 +7143,21 @@
|
|||||||
"integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==",
|
"integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==",
|
||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
|
"asynckit": {
|
||||||
|
"version": "0.4.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz",
|
||||||
|
"integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q=="
|
||||||
|
},
|
||||||
"babel-jest": {
|
"babel-jest": {
|
||||||
"version": "30.4.1",
|
"version": "30.2.0",
|
||||||
"resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-30.4.1.tgz",
|
"resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-30.2.0.tgz",
|
||||||
"integrity": "sha512-fATAbM8piYxkiXQp3RBXmZHxZVNJZAVXXfyeyCN2Tida3+qJ8ea9UxhiJ2y4fLO90ZImKt6k9FlcH2+rLkJGhw==",
|
"integrity": "sha512-0YiBEOxWqKkSQWL9nNGGEgndoeL0ZpWrbLMNL5u/Kaxrli3Eaxlt3ZtIDktEvXt4L/R9r3ODr2zKwGM/2BjxVw==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"requires": {
|
"requires": {
|
||||||
"@jest/transform": "30.4.1",
|
"@jest/transform": "30.2.0",
|
||||||
"@types/babel__core": "^7.20.5",
|
"@types/babel__core": "^7.20.5",
|
||||||
"babel-plugin-istanbul": "^7.0.1",
|
"babel-plugin-istanbul": "^7.0.1",
|
||||||
"babel-preset-jest": "30.4.0",
|
"babel-preset-jest": "30.2.0",
|
||||||
"chalk": "^4.1.2",
|
"chalk": "^4.1.2",
|
||||||
"graceful-fs": "^4.2.11",
|
"graceful-fs": "^4.2.11",
|
||||||
"slash": "^3.0.0"
|
"slash": "^3.0.0"
|
||||||
@@ -7240,9 +7177,9 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"babel-plugin-jest-hoist": {
|
"babel-plugin-jest-hoist": {
|
||||||
"version": "30.4.0",
|
"version": "30.2.0",
|
||||||
"resolved": "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-30.4.0.tgz",
|
"resolved": "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-30.2.0.tgz",
|
||||||
"integrity": "sha512-9EdtWM/sSfXLOGLwSn+GS6pIXyBnL07/8gyJlwFXjWy4DxMOyItqyUT29d4lQiS380EZwYlX7/At4PgBS+m2aA==",
|
"integrity": "sha512-ftzhzSGMUnOzcCXd6WHdBGMyuwy15Wnn0iyyWGKgBDLxf9/s5ABuraCSpBX2uG0jUg4rqJnxsLc5+oYBqoxVaA==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"requires": {
|
"requires": {
|
||||||
"@types/babel__core": "^7.20.5"
|
"@types/babel__core": "^7.20.5"
|
||||||
@@ -7272,12 +7209,12 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"babel-preset-jest": {
|
"babel-preset-jest": {
|
||||||
"version": "30.4.0",
|
"version": "30.2.0",
|
||||||
"resolved": "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-30.4.0.tgz",
|
"resolved": "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-30.2.0.tgz",
|
||||||
"integrity": "sha512-lBY4jxsNmCnSiu7kquw8ZC9F4+XLMOKypT3RnNHPvU2Kpd4W0xaPuLr5ZkRyOsvLYAY4yaW1ZwTW4xB7NIiZzg==",
|
"integrity": "sha512-US4Z3NOieAQumwFnYdUWKvUKh8+YSnS/gB3t6YBiz0bskpu7Pine8pPCheNxlPEW4wnUkma2a94YuW2q3guvCQ==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"requires": {
|
"requires": {
|
||||||
"babel-plugin-jest-hoist": "30.4.0",
|
"babel-plugin-jest-hoist": "30.2.0",
|
||||||
"babel-preset-current-node-syntax": "^1.2.0"
|
"babel-preset-current-node-syntax": "^1.2.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
@@ -7295,6 +7232,15 @@
|
|||||||
"concat-map": "0.0.1"
|
"concat-map": "0.0.1"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"braces": {
|
||||||
|
"version": "3.0.3",
|
||||||
|
"resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz",
|
||||||
|
"integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==",
|
||||||
|
"dev": true,
|
||||||
|
"requires": {
|
||||||
|
"fill-range": "^7.1.1"
|
||||||
|
}
|
||||||
|
},
|
||||||
"browserslist": {
|
"browserslist": {
|
||||||
"version": "4.25.2",
|
"version": "4.25.2",
|
||||||
"resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.25.2.tgz",
|
"resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.25.2.tgz",
|
||||||
@@ -7331,6 +7277,15 @@
|
|||||||
"integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==",
|
"integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==",
|
||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
|
"call-bind-apply-helpers": {
|
||||||
|
"version": "1.0.2",
|
||||||
|
"resolved": "https://registry.npmjs.org/call-bind-apply-helpers/-/call-bind-apply-helpers-1.0.2.tgz",
|
||||||
|
"integrity": "sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ==",
|
||||||
|
"requires": {
|
||||||
|
"es-errors": "^1.3.0",
|
||||||
|
"function-bind": "^1.1.2"
|
||||||
|
}
|
||||||
|
},
|
||||||
"callsites": {
|
"callsites": {
|
||||||
"version": "3.1.0",
|
"version": "3.1.0",
|
||||||
"resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz",
|
"resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz",
|
||||||
@@ -7372,9 +7327,9 @@
|
|||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
"cjs-module-lexer": {
|
"cjs-module-lexer": {
|
||||||
"version": "2.2.0",
|
"version": "2.1.0",
|
||||||
"resolved": "https://registry.npmjs.org/cjs-module-lexer/-/cjs-module-lexer-2.2.0.tgz",
|
"resolved": "https://registry.npmjs.org/cjs-module-lexer/-/cjs-module-lexer-2.1.0.tgz",
|
||||||
"integrity": "sha512-4bHTS2YuzUvtoLjdy+98ykbNB5jS0+07EvFNXerqZQJ89F7DI6ET7OQo/HJuW6K0aVsKA9hj9/RVb2kQVOrPDQ==",
|
"integrity": "sha512-UX0OwmYRYQQetfrLEZeewIFFI+wSTofC+pMBLNuH3RUuu/xzG1oz84UCEDOSoQlN3fZ4+AzmV50ZYvGqkMh9yA==",
|
||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
"cliui": {
|
"cliui": {
|
||||||
@@ -7440,9 +7395,9 @@
|
|||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
"collect-v8-coverage": {
|
"collect-v8-coverage": {
|
||||||
"version": "1.0.3",
|
"version": "1.0.2",
|
||||||
"resolved": "https://registry.npmjs.org/collect-v8-coverage/-/collect-v8-coverage-1.0.3.tgz",
|
"resolved": "https://registry.npmjs.org/collect-v8-coverage/-/collect-v8-coverage-1.0.2.tgz",
|
||||||
"integrity": "sha512-1L5aqIkwPfiodaMgQunkF1zRhNqifHBmtbbbxcr6yVxxBnliw4TDOW6NxpO8DJLgJ16OT+Y4ztZqP6p/FtXnAw==",
|
"integrity": "sha512-lHl4d5/ONEbLlJvaJNtsF/Lz+WvB07u2ycqTYbdrq7UypDXailES4valYb2eWiJFxZlVmpGekfqoxQhzyFdT4Q==",
|
||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
"color-convert": {
|
"color-convert": {
|
||||||
@@ -7460,6 +7415,14 @@
|
|||||||
"integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
|
"integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
|
||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
|
"combined-stream": {
|
||||||
|
"version": "1.0.8",
|
||||||
|
"resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz",
|
||||||
|
"integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==",
|
||||||
|
"requires": {
|
||||||
|
"delayed-stream": "~1.0.0"
|
||||||
|
}
|
||||||
|
},
|
||||||
"concat-map": {
|
"concat-map": {
|
||||||
"version": "0.0.1",
|
"version": "0.0.1",
|
||||||
"resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz",
|
"resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz",
|
||||||
@@ -7486,14 +7449,15 @@
|
|||||||
"version": "4.3.4",
|
"version": "4.3.4",
|
||||||
"resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz",
|
"resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz",
|
||||||
"integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==",
|
"integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==",
|
||||||
|
"dev": true,
|
||||||
"requires": {
|
"requires": {
|
||||||
"ms": "2.1.2"
|
"ms": "2.1.2"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"dedent": {
|
"dedent": {
|
||||||
"version": "1.7.2",
|
"version": "1.7.0",
|
||||||
"resolved": "https://registry.npmjs.org/dedent/-/dedent-1.7.2.tgz",
|
"resolved": "https://registry.npmjs.org/dedent/-/dedent-1.7.0.tgz",
|
||||||
"integrity": "sha512-WzMx3mW98SN+zn3hgemf4OzdmyNhhhKz5Ay0pUfQiMQ3e1g+xmTJWp/pKdwKVXhdSkAEGIIzqeuWrL3mV/AXbA==",
|
"integrity": "sha512-HGFtf8yhuhGhqO07SV79tRp+br4MnbdjeVxotpn1QBl30pcLLCQjX5b2295ll0fv8RKDKsmWYrl05usHM9CewQ==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"requires": {}
|
"requires": {}
|
||||||
},
|
},
|
||||||
@@ -7503,12 +7467,27 @@
|
|||||||
"integrity": "sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==",
|
"integrity": "sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==",
|
||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
|
"delayed-stream": {
|
||||||
|
"version": "1.0.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz",
|
||||||
|
"integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ=="
|
||||||
|
},
|
||||||
"detect-newline": {
|
"detect-newline": {
|
||||||
"version": "3.1.0",
|
"version": "3.1.0",
|
||||||
"resolved": "https://registry.npmjs.org/detect-newline/-/detect-newline-3.1.0.tgz",
|
"resolved": "https://registry.npmjs.org/detect-newline/-/detect-newline-3.1.0.tgz",
|
||||||
"integrity": "sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA==",
|
"integrity": "sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA==",
|
||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
|
"dunder-proto": {
|
||||||
|
"version": "1.0.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/dunder-proto/-/dunder-proto-1.0.1.tgz",
|
||||||
|
"integrity": "sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==",
|
||||||
|
"requires": {
|
||||||
|
"call-bind-apply-helpers": "^1.0.1",
|
||||||
|
"es-errors": "^1.3.0",
|
||||||
|
"gopd": "^1.2.0"
|
||||||
|
}
|
||||||
|
},
|
||||||
"eastasianwidth": {
|
"eastasianwidth": {
|
||||||
"version": "0.2.0",
|
"version": "0.2.0",
|
||||||
"resolved": "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz",
|
"resolved": "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz",
|
||||||
@@ -7542,38 +7521,33 @@
|
|||||||
"is-arrayish": "^0.2.1"
|
"is-arrayish": "^0.2.1"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"esbuild": {
|
"es-define-property": {
|
||||||
"version": "0.28.0",
|
"version": "1.0.1",
|
||||||
"resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.28.0.tgz",
|
"resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.1.tgz",
|
||||||
"integrity": "sha512-sNR9MHpXSUV/XB4zmsFKN+QgVG82Cc7+/aaxJ8Adi8hyOac+EXptIp45QBPaVyX3N70664wRbTcLTOemCAnyqw==",
|
"integrity": "sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g=="
|
||||||
"dev": true,
|
},
|
||||||
|
"es-errors": {
|
||||||
|
"version": "1.3.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/es-errors/-/es-errors-1.3.0.tgz",
|
||||||
|
"integrity": "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw=="
|
||||||
|
},
|
||||||
|
"es-object-atoms": {
|
||||||
|
"version": "1.1.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/es-object-atoms/-/es-object-atoms-1.1.1.tgz",
|
||||||
|
"integrity": "sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA==",
|
||||||
"requires": {
|
"requires": {
|
||||||
"@esbuild/aix-ppc64": "0.28.0",
|
"es-errors": "^1.3.0"
|
||||||
"@esbuild/android-arm": "0.28.0",
|
}
|
||||||
"@esbuild/android-arm64": "0.28.0",
|
},
|
||||||
"@esbuild/android-x64": "0.28.0",
|
"es-set-tostringtag": {
|
||||||
"@esbuild/darwin-arm64": "0.28.0",
|
"version": "2.1.0",
|
||||||
"@esbuild/darwin-x64": "0.28.0",
|
"resolved": "https://registry.npmjs.org/es-set-tostringtag/-/es-set-tostringtag-2.1.0.tgz",
|
||||||
"@esbuild/freebsd-arm64": "0.28.0",
|
"integrity": "sha512-j6vWzfrGVfyXxge+O0x5sh6cvxAog0a/4Rdd2K36zCMV5eJ+/+tOAngRO8cODMNWbVRdVlmGZQL2YS3yR8bIUA==",
|
||||||
"@esbuild/freebsd-x64": "0.28.0",
|
"requires": {
|
||||||
"@esbuild/linux-arm": "0.28.0",
|
"es-errors": "^1.3.0",
|
||||||
"@esbuild/linux-arm64": "0.28.0",
|
"get-intrinsic": "^1.2.6",
|
||||||
"@esbuild/linux-ia32": "0.28.0",
|
"has-tostringtag": "^1.0.2",
|
||||||
"@esbuild/linux-loong64": "0.28.0",
|
"hasown": "^2.0.2"
|
||||||
"@esbuild/linux-mips64el": "0.28.0",
|
|
||||||
"@esbuild/linux-ppc64": "0.28.0",
|
|
||||||
"@esbuild/linux-riscv64": "0.28.0",
|
|
||||||
"@esbuild/linux-s390x": "0.28.0",
|
|
||||||
"@esbuild/linux-x64": "0.28.0",
|
|
||||||
"@esbuild/netbsd-arm64": "0.28.0",
|
|
||||||
"@esbuild/netbsd-x64": "0.28.0",
|
|
||||||
"@esbuild/openbsd-arm64": "0.28.0",
|
|
||||||
"@esbuild/openbsd-x64": "0.28.0",
|
|
||||||
"@esbuild/openharmony-arm64": "0.28.0",
|
|
||||||
"@esbuild/sunos-x64": "0.28.0",
|
|
||||||
"@esbuild/win32-arm64": "0.28.0",
|
|
||||||
"@esbuild/win32-ia32": "0.28.0",
|
|
||||||
"@esbuild/win32-x64": "0.28.0"
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"escalade": {
|
"escalade": {
|
||||||
@@ -7594,6 +7568,11 @@
|
|||||||
"integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==",
|
"integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==",
|
||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
|
"event-target-shim": {
|
||||||
|
"version": "5.0.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/event-target-shim/-/event-target-shim-5.0.1.tgz",
|
||||||
|
"integrity": "sha512-i/2XbnSz/uxRCU6+NdVJgKWDTM427+MqYbkQzD321DuCQJUqOuJKIA0IM2+W2xtYHdKOmZ4dR6fExsd4SXL+WQ=="
|
||||||
|
},
|
||||||
"events": {
|
"events": {
|
||||||
"version": "3.3.0",
|
"version": "3.3.0",
|
||||||
"resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz",
|
"resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz",
|
||||||
@@ -7631,17 +7610,17 @@
|
|||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
"expect": {
|
"expect": {
|
||||||
"version": "30.4.1",
|
"version": "30.2.0",
|
||||||
"resolved": "https://registry.npmjs.org/expect/-/expect-30.4.1.tgz",
|
"resolved": "https://registry.npmjs.org/expect/-/expect-30.2.0.tgz",
|
||||||
"integrity": "sha512-PMARsyh/JtqC20HoGqlFcIlQAyqUtW4PlI1rup1uhYJtKuwAjbvWi3GQMAn+STdHum/dk8xrKfUM1+5SAwpolA==",
|
"integrity": "sha512-u/feCi0GPsI+988gU2FLcsHyAHTU0MX1Wg68NhAnN7z/+C5wqG+CY8J53N9ioe8RXgaoz0nBR/TYMf3AycUuPw==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"requires": {
|
"requires": {
|
||||||
"@jest/expect-utils": "30.4.1",
|
"@jest/expect-utils": "30.2.0",
|
||||||
"@jest/get-type": "30.1.0",
|
"@jest/get-type": "30.1.0",
|
||||||
"jest-matcher-utils": "30.4.1",
|
"jest-matcher-utils": "30.2.0",
|
||||||
"jest-message-util": "30.4.1",
|
"jest-message-util": "30.2.0",
|
||||||
"jest-mock": "30.4.1",
|
"jest-mock": "30.2.0",
|
||||||
"jest-util": "30.4.1"
|
"jest-util": "30.2.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"fast-json-stable-stringify": {
|
"fast-json-stable-stringify": {
|
||||||
@@ -7650,24 +7629,6 @@
|
|||||||
"integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==",
|
"integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==",
|
||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
"fast-xml-builder": {
|
|
||||||
"version": "1.1.3",
|
|
||||||
"resolved": "https://registry.npmjs.org/fast-xml-builder/-/fast-xml-builder-1.1.3.tgz",
|
|
||||||
"integrity": "sha512-1o60KoFw2+LWKQu3IdcfcFlGTW4dpqEWmjhYec6H82AYZU2TVBXep6tMl8Z1Y+wM+ZrzCwe3BZ9Vyd9N2rIvmg==",
|
|
||||||
"requires": {
|
|
||||||
"path-expression-matcher": "^1.1.3"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"fast-xml-parser": {
|
|
||||||
"version": "5.5.5",
|
|
||||||
"resolved": "https://registry.npmjs.org/fast-xml-parser/-/fast-xml-parser-5.5.5.tgz",
|
|
||||||
"integrity": "sha512-NLY+V5NNbdmiEszx9n14mZBseJTC50bRq1VHsaxOmR72JDuZt+5J1Co+dC/4JPnyq+WrIHNM69r0sqf7BMb3Mg==",
|
|
||||||
"requires": {
|
|
||||||
"fast-xml-builder": "^1.1.3",
|
|
||||||
"path-expression-matcher": "^1.1.3",
|
|
||||||
"strnum": "^2.1.2"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"fb-watchman": {
|
"fb-watchman": {
|
||||||
"version": "2.0.2",
|
"version": "2.0.2",
|
||||||
"resolved": "https://registry.npmjs.org/fb-watchman/-/fb-watchman-2.0.2.tgz",
|
"resolved": "https://registry.npmjs.org/fb-watchman/-/fb-watchman-2.0.2.tgz",
|
||||||
@@ -7677,6 +7638,15 @@
|
|||||||
"bser": "2.1.1"
|
"bser": "2.1.1"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"fill-range": {
|
||||||
|
"version": "7.1.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz",
|
||||||
|
"integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==",
|
||||||
|
"dev": true,
|
||||||
|
"requires": {
|
||||||
|
"to-regex-range": "^5.0.1"
|
||||||
|
}
|
||||||
|
},
|
||||||
"find-up": {
|
"find-up": {
|
||||||
"version": "4.1.0",
|
"version": "4.1.0",
|
||||||
"resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz",
|
"resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz",
|
||||||
@@ -7697,6 +7667,19 @@
|
|||||||
"signal-exit": "^4.0.1"
|
"signal-exit": "^4.0.1"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"form-data": {
|
||||||
|
"version": "2.5.5",
|
||||||
|
"resolved": "https://registry.npmjs.org/form-data/-/form-data-2.5.5.tgz",
|
||||||
|
"integrity": "sha512-jqdObeR2rxZZbPSGL+3VckHMYtu+f9//KXBsVny6JSX/pa38Fy+bGjuG8eW/H6USNQWhLi8Num++cU2yOCNz4A==",
|
||||||
|
"requires": {
|
||||||
|
"asynckit": "^0.4.0",
|
||||||
|
"combined-stream": "^1.0.8",
|
||||||
|
"es-set-tostringtag": "^2.1.0",
|
||||||
|
"hasown": "^2.0.2",
|
||||||
|
"mime-types": "^2.1.35",
|
||||||
|
"safe-buffer": "^5.2.1"
|
||||||
|
}
|
||||||
|
},
|
||||||
"fs.realpath": {
|
"fs.realpath": {
|
||||||
"version": "1.0.0",
|
"version": "1.0.0",
|
||||||
"resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz",
|
"resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz",
|
||||||
@@ -7710,6 +7693,11 @@
|
|||||||
"dev": true,
|
"dev": true,
|
||||||
"optional": true
|
"optional": true
|
||||||
},
|
},
|
||||||
|
"function-bind": {
|
||||||
|
"version": "1.1.2",
|
||||||
|
"resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz",
|
||||||
|
"integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA=="
|
||||||
|
},
|
||||||
"gensync": {
|
"gensync": {
|
||||||
"version": "1.0.0-beta.2",
|
"version": "1.0.0-beta.2",
|
||||||
"resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz",
|
"resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz",
|
||||||
@@ -7722,12 +7710,38 @@
|
|||||||
"integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==",
|
"integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==",
|
||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
|
"get-intrinsic": {
|
||||||
|
"version": "1.3.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.3.0.tgz",
|
||||||
|
"integrity": "sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ==",
|
||||||
|
"requires": {
|
||||||
|
"call-bind-apply-helpers": "^1.0.2",
|
||||||
|
"es-define-property": "^1.0.1",
|
||||||
|
"es-errors": "^1.3.0",
|
||||||
|
"es-object-atoms": "^1.1.1",
|
||||||
|
"function-bind": "^1.1.2",
|
||||||
|
"get-proto": "^1.0.1",
|
||||||
|
"gopd": "^1.2.0",
|
||||||
|
"has-symbols": "^1.1.0",
|
||||||
|
"hasown": "^2.0.2",
|
||||||
|
"math-intrinsics": "^1.1.0"
|
||||||
|
}
|
||||||
|
},
|
||||||
"get-package-type": {
|
"get-package-type": {
|
||||||
"version": "0.1.0",
|
"version": "0.1.0",
|
||||||
"resolved": "https://registry.npmjs.org/get-package-type/-/get-package-type-0.1.0.tgz",
|
"resolved": "https://registry.npmjs.org/get-package-type/-/get-package-type-0.1.0.tgz",
|
||||||
"integrity": "sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q==",
|
"integrity": "sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q==",
|
||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
|
"get-proto": {
|
||||||
|
"version": "1.0.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/get-proto/-/get-proto-1.0.1.tgz",
|
||||||
|
"integrity": "sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==",
|
||||||
|
"requires": {
|
||||||
|
"dunder-proto": "^1.0.1",
|
||||||
|
"es-object-atoms": "^1.0.0"
|
||||||
|
}
|
||||||
|
},
|
||||||
"get-stream": {
|
"get-stream": {
|
||||||
"version": "6.0.1",
|
"version": "6.0.1",
|
||||||
"resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz",
|
"resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz",
|
||||||
@@ -7749,25 +7763,30 @@
|
|||||||
},
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"brace-expansion": {
|
"brace-expansion": {
|
||||||
"version": "2.1.1",
|
"version": "2.0.2",
|
||||||
"resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.1.1.tgz",
|
"resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.2.tgz",
|
||||||
"integrity": "sha512-WR1cURNjuvBLMZBMbqM0UoE+WAfdUcEV1ccD8PVBVOI+Z3ND4+SZbN8RsfT2bMuG1qwz5RFvPukSZm5fF2D5eA==",
|
"integrity": "sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"requires": {
|
"requires": {
|
||||||
"balanced-match": "^1.0.0"
|
"balanced-match": "^1.0.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"minimatch": {
|
"minimatch": {
|
||||||
"version": "9.0.9",
|
"version": "9.0.5",
|
||||||
"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.9.tgz",
|
"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz",
|
||||||
"integrity": "sha512-OBwBN9AL4dqmETlpS2zasx+vTeWclWzkblfZk7KTA5j3jeOONz/tRCnZomUyvNg83wL5Zv9Ss6HMJXAgL8R2Yg==",
|
"integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"requires": {
|
"requires": {
|
||||||
"brace-expansion": "^2.0.2"
|
"brace-expansion": "^2.0.1"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"gopd": {
|
||||||
|
"version": "1.2.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/gopd/-/gopd-1.2.0.tgz",
|
||||||
|
"integrity": "sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg=="
|
||||||
|
},
|
||||||
"graceful-fs": {
|
"graceful-fs": {
|
||||||
"version": "4.2.11",
|
"version": "4.2.11",
|
||||||
"resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz",
|
"resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz",
|
||||||
@@ -7775,9 +7794,9 @@
|
|||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
"handlebars": {
|
"handlebars": {
|
||||||
"version": "4.7.9",
|
"version": "4.7.8",
|
||||||
"resolved": "https://registry.npmjs.org/handlebars/-/handlebars-4.7.9.tgz",
|
"resolved": "https://registry.npmjs.org/handlebars/-/handlebars-4.7.8.tgz",
|
||||||
"integrity": "sha512-4E71E0rpOaQuJR2A3xDZ+GM1HyWYv1clR58tC8emQNeQe3RH7MAzSbat+V0wG78LQBo6m6bzSG/L4pBuCsgnUQ==",
|
"integrity": "sha512-vafaFqs8MZkRrSX7sFVUdo3ap/eNiLnb4IakshzvP56X5Nr1iGKAIqdX6tMlm6HcNRIkr6AxO5jFEoJzzpT8aQ==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"requires": {
|
"requires": {
|
||||||
"minimist": "^1.2.5",
|
"minimist": "^1.2.5",
|
||||||
@@ -7793,30 +7812,33 @@
|
|||||||
"integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
|
"integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
|
||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
|
"has-symbols": {
|
||||||
|
"version": "1.1.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.1.0.tgz",
|
||||||
|
"integrity": "sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ=="
|
||||||
|
},
|
||||||
|
"has-tostringtag": {
|
||||||
|
"version": "1.0.2",
|
||||||
|
"resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.2.tgz",
|
||||||
|
"integrity": "sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==",
|
||||||
|
"requires": {
|
||||||
|
"has-symbols": "^1.0.3"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"hasown": {
|
||||||
|
"version": "2.0.2",
|
||||||
|
"resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz",
|
||||||
|
"integrity": "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==",
|
||||||
|
"requires": {
|
||||||
|
"function-bind": "^1.1.2"
|
||||||
|
}
|
||||||
|
},
|
||||||
"html-escaper": {
|
"html-escaper": {
|
||||||
"version": "2.0.2",
|
"version": "2.0.2",
|
||||||
"resolved": "https://registry.npmjs.org/html-escaper/-/html-escaper-2.0.2.tgz",
|
"resolved": "https://registry.npmjs.org/html-escaper/-/html-escaper-2.0.2.tgz",
|
||||||
"integrity": "sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==",
|
"integrity": "sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==",
|
||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
"http-proxy-agent": {
|
|
||||||
"version": "7.0.2",
|
|
||||||
"resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-7.0.2.tgz",
|
|
||||||
"integrity": "sha512-T1gkAiYYDWYx3V5Bmyu7HcfcvL7mUrTWiM6yOfa3PIphViJ/gFPbvidQ+veqSOHci/PxBcDabeUNCzpOODJZig==",
|
|
||||||
"requires": {
|
|
||||||
"agent-base": "^7.1.0",
|
|
||||||
"debug": "^4.3.4"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"https-proxy-agent": {
|
|
||||||
"version": "7.0.6",
|
|
||||||
"resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-7.0.6.tgz",
|
|
||||||
"integrity": "sha512-vK9P5/iUfdl95AI+JVyUuIcVtd4ofvtrOr3HNtM2yxC9bnMbEdp3x01OhQNnjb8IJYi38VlTE3mBXwcfvywuSw==",
|
|
||||||
"requires": {
|
|
||||||
"agent-base": "^7.1.2",
|
|
||||||
"debug": "4"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"human-signals": {
|
"human-signals": {
|
||||||
"version": "2.1.0",
|
"version": "2.1.0",
|
||||||
"resolved": "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz",
|
"resolved": "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz",
|
||||||
@@ -7873,6 +7895,12 @@
|
|||||||
"integrity": "sha512-cTIB4yPYL/Grw0EaSzASzg6bBy9gqCofvWN8okThAYIxKJZC+udlRAmGbM0XLeniEJSs8uEgHPGuHSe1XsOLSQ==",
|
"integrity": "sha512-cTIB4yPYL/Grw0EaSzASzg6bBy9gqCofvWN8okThAYIxKJZC+udlRAmGbM0XLeniEJSs8uEgHPGuHSe1XsOLSQ==",
|
||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
|
"is-number": {
|
||||||
|
"version": "7.0.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz",
|
||||||
|
"integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==",
|
||||||
|
"dev": true
|
||||||
|
},
|
||||||
"is-stream": {
|
"is-stream": {
|
||||||
"version": "2.0.1",
|
"version": "2.0.1",
|
||||||
"resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz",
|
"resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz",
|
||||||
@@ -7955,238 +7983,222 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"jest": {
|
"jest": {
|
||||||
"version": "30.4.2",
|
"version": "30.2.0",
|
||||||
"resolved": "https://registry.npmjs.org/jest/-/jest-30.4.2.tgz",
|
"resolved": "https://registry.npmjs.org/jest/-/jest-30.2.0.tgz",
|
||||||
"integrity": "sha512-Yi1jqNC/Oq0N4hBgNH/YvBpP1P57QqundgytzYqy3yqAa7NZPNjSoi4SGbRAXDMdBzNE6xBCi5U7RgfrvMEUVQ==",
|
"integrity": "sha512-F26gjC0yWN8uAA5m5Ss8ZQf5nDHWGlN/xWZIh8S5SRbsEKBovwZhxGd6LJlbZYxBgCYOtreSUyb8hpXyGC5O4A==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"requires": {
|
"requires": {
|
||||||
"@jest/core": "30.4.2",
|
"@jest/core": "30.2.0",
|
||||||
"@jest/types": "30.4.1",
|
"@jest/types": "30.2.0",
|
||||||
"import-local": "^3.2.0",
|
"import-local": "^3.2.0",
|
||||||
"jest-cli": "30.4.2"
|
"jest-cli": "30.2.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"jest-changed-files": {
|
"jest-changed-files": {
|
||||||
"version": "30.4.1",
|
"version": "30.2.0",
|
||||||
"resolved": "https://registry.npmjs.org/jest-changed-files/-/jest-changed-files-30.4.1.tgz",
|
"resolved": "https://registry.npmjs.org/jest-changed-files/-/jest-changed-files-30.2.0.tgz",
|
||||||
"integrity": "sha512-IuctmYrxi21iOSOaIXpJWalHyPAsVv0GeBHKDn8C1CA4W5htHn7INL+wdnL4Bo0+olEndvAFkmb++tIQJG+vvg==",
|
"integrity": "sha512-L8lR1ChrRnSdfeOvTrwZMlnWV8G/LLjQ0nG9MBclwWZidA2N5FviRki0Bvh20WRMOX31/JYvzdqTJrk5oBdydQ==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"requires": {
|
"requires": {
|
||||||
"execa": "^5.1.1",
|
"execa": "^5.1.1",
|
||||||
"jest-util": "30.4.1",
|
"jest-util": "30.2.0",
|
||||||
"p-limit": "^3.1.0"
|
"p-limit": "^3.1.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"jest-circus": {
|
"jest-circus": {
|
||||||
"version": "30.4.2",
|
"version": "30.2.0",
|
||||||
"resolved": "https://registry.npmjs.org/jest-circus/-/jest-circus-30.4.2.tgz",
|
"resolved": "https://registry.npmjs.org/jest-circus/-/jest-circus-30.2.0.tgz",
|
||||||
"integrity": "sha512-rvHH7VlY6LgbJXJTQ87GW62g1FntOtbhh0zT+v04kC+pgL6aBKyYINXxWukCpj3dcIBMw5/XUbtDS9dU9JTXeQ==",
|
"integrity": "sha512-Fh0096NC3ZkFx05EP2OXCxJAREVxj1BcW/i6EWqqymcgYKWjyyDpral3fMxVcHXg6oZM7iULer9wGRFvfpl+Tg==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"requires": {
|
"requires": {
|
||||||
"@jest/environment": "30.4.1",
|
"@jest/environment": "30.2.0",
|
||||||
"@jest/expect": "30.4.1",
|
"@jest/expect": "30.2.0",
|
||||||
"@jest/test-result": "30.4.1",
|
"@jest/test-result": "30.2.0",
|
||||||
"@jest/types": "30.4.1",
|
"@jest/types": "30.2.0",
|
||||||
"@types/node": "*",
|
"@types/node": "*",
|
||||||
"chalk": "^4.1.2",
|
"chalk": "^4.1.2",
|
||||||
"co": "^4.6.0",
|
"co": "^4.6.0",
|
||||||
"dedent": "^1.6.0",
|
"dedent": "^1.6.0",
|
||||||
"is-generator-fn": "^2.1.0",
|
"is-generator-fn": "^2.1.0",
|
||||||
"jest-each": "30.4.1",
|
"jest-each": "30.2.0",
|
||||||
"jest-matcher-utils": "30.4.1",
|
"jest-matcher-utils": "30.2.0",
|
||||||
"jest-message-util": "30.4.1",
|
"jest-message-util": "30.2.0",
|
||||||
"jest-runtime": "30.4.2",
|
"jest-runtime": "30.2.0",
|
||||||
"jest-snapshot": "30.4.1",
|
"jest-snapshot": "30.2.0",
|
||||||
"jest-util": "30.4.1",
|
"jest-util": "30.2.0",
|
||||||
"p-limit": "^3.1.0",
|
"p-limit": "^3.1.0",
|
||||||
"pretty-format": "30.4.1",
|
"pretty-format": "30.2.0",
|
||||||
"pure-rand": "^7.0.0",
|
"pure-rand": "^7.0.0",
|
||||||
"slash": "^3.0.0",
|
"slash": "^3.0.0",
|
||||||
"stack-utils": "^2.0.6"
|
"stack-utils": "^2.0.6"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"jest-cli": {
|
"jest-cli": {
|
||||||
"version": "30.4.2",
|
"version": "30.2.0",
|
||||||
"resolved": "https://registry.npmjs.org/jest-cli/-/jest-cli-30.4.2.tgz",
|
"resolved": "https://registry.npmjs.org/jest-cli/-/jest-cli-30.2.0.tgz",
|
||||||
"integrity": "sha512-jfA2ocvVHMXS2QijrJ0d31ektP+d/W0T5RpcTX2Pq+3sVqHlsXVCM2+FmwpL+bdY8OfHpIg9xMxLF17Zg0U49Q==",
|
"integrity": "sha512-Os9ukIvADX/A9sLt6Zse3+nmHtHaE6hqOsjQtNiugFTbKRHYIYtZXNGNK9NChseXy7djFPjndX1tL0sCTlfpAA==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"requires": {
|
"requires": {
|
||||||
"@jest/core": "30.4.2",
|
"@jest/core": "30.2.0",
|
||||||
"@jest/test-result": "30.4.1",
|
"@jest/test-result": "30.2.0",
|
||||||
"@jest/types": "30.4.1",
|
"@jest/types": "30.2.0",
|
||||||
"chalk": "^4.1.2",
|
"chalk": "^4.1.2",
|
||||||
"exit-x": "^0.2.2",
|
"exit-x": "^0.2.2",
|
||||||
"import-local": "^3.2.0",
|
"import-local": "^3.2.0",
|
||||||
"jest-config": "30.4.2",
|
"jest-config": "30.2.0",
|
||||||
"jest-util": "30.4.1",
|
"jest-util": "30.2.0",
|
||||||
"jest-validate": "30.4.1",
|
"jest-validate": "30.2.0",
|
||||||
"yargs": "^17.7.2"
|
"yargs": "^17.7.2"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"jest-config": {
|
"jest-config": {
|
||||||
"version": "30.4.2",
|
"version": "30.2.0",
|
||||||
"resolved": "https://registry.npmjs.org/jest-config/-/jest-config-30.4.2.tgz",
|
"resolved": "https://registry.npmjs.org/jest-config/-/jest-config-30.2.0.tgz",
|
||||||
"integrity": "sha512-rNHAShJQqQwFNoL0hbf3BphSBOWnpOUAKvidLS/AjNVLPfoj5mSf4jQMfW3cYOs6hXeZC7nF7mDHaBnbxELOzg==",
|
"integrity": "sha512-g4WkyzFQVWHtu6uqGmQR4CQxz/CH3yDSlhzXMWzNjDx843gYjReZnMRanjRCq5XZFuQrGDxgUaiYWE8BRfVckA==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"requires": {
|
"requires": {
|
||||||
"@babel/core": "^7.27.4",
|
"@babel/core": "^7.27.4",
|
||||||
"@jest/get-type": "30.1.0",
|
"@jest/get-type": "30.1.0",
|
||||||
"@jest/pattern": "30.4.0",
|
"@jest/pattern": "30.0.1",
|
||||||
"@jest/test-sequencer": "30.4.1",
|
"@jest/test-sequencer": "30.2.0",
|
||||||
"@jest/types": "30.4.1",
|
"@jest/types": "30.2.0",
|
||||||
"babel-jest": "30.4.1",
|
"babel-jest": "30.2.0",
|
||||||
"chalk": "^4.1.2",
|
"chalk": "^4.1.2",
|
||||||
"ci-info": "^4.2.0",
|
"ci-info": "^4.2.0",
|
||||||
"deepmerge": "^4.3.1",
|
"deepmerge": "^4.3.1",
|
||||||
"glob": "^10.5.0",
|
"glob": "^10.3.10",
|
||||||
"graceful-fs": "^4.2.11",
|
"graceful-fs": "^4.2.11",
|
||||||
"jest-circus": "30.4.2",
|
"jest-circus": "30.2.0",
|
||||||
"jest-docblock": "30.4.0",
|
"jest-docblock": "30.2.0",
|
||||||
"jest-environment-node": "30.4.1",
|
"jest-environment-node": "30.2.0",
|
||||||
"jest-regex-util": "30.4.0",
|
"jest-regex-util": "30.0.1",
|
||||||
"jest-resolve": "30.4.1",
|
"jest-resolve": "30.2.0",
|
||||||
"jest-runner": "30.4.2",
|
"jest-runner": "30.2.0",
|
||||||
"jest-util": "30.4.1",
|
"jest-util": "30.2.0",
|
||||||
"jest-validate": "30.4.1",
|
"jest-validate": "30.2.0",
|
||||||
|
"micromatch": "^4.0.8",
|
||||||
"parse-json": "^5.2.0",
|
"parse-json": "^5.2.0",
|
||||||
"pretty-format": "30.4.1",
|
"pretty-format": "30.2.0",
|
||||||
"slash": "^3.0.0",
|
"slash": "^3.0.0",
|
||||||
"strip-json-comments": "^3.1.1"
|
"strip-json-comments": "^3.1.1"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"jest-diff": {
|
"jest-diff": {
|
||||||
"version": "30.4.1",
|
"version": "30.2.0",
|
||||||
"resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-30.4.1.tgz",
|
"resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-30.2.0.tgz",
|
||||||
"integrity": "sha512-CRpFK0RtLriVDGcPPAnR6HMVI8bSR2jnUIgralhauzYQZIb4RH9AtEInTuQr65LmmGggGcRT6HIASxwqsVsmlA==",
|
"integrity": "sha512-dQHFo3Pt4/NLlG5z4PxZ/3yZTZ1C7s9hveiOj+GCN+uT109NC2QgsoVZsVOAvbJ3RgKkvyLGXZV9+piDpWbm6A==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"requires": {
|
"requires": {
|
||||||
"@jest/diff-sequences": "30.4.0",
|
"@jest/diff-sequences": "30.0.1",
|
||||||
"@jest/get-type": "30.1.0",
|
"@jest/get-type": "30.1.0",
|
||||||
"chalk": "^4.1.2",
|
"chalk": "^4.1.2",
|
||||||
"pretty-format": "30.4.1"
|
"pretty-format": "30.2.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"jest-docblock": {
|
"jest-docblock": {
|
||||||
"version": "30.4.0",
|
"version": "30.2.0",
|
||||||
"resolved": "https://registry.npmjs.org/jest-docblock/-/jest-docblock-30.4.0.tgz",
|
"resolved": "https://registry.npmjs.org/jest-docblock/-/jest-docblock-30.2.0.tgz",
|
||||||
"integrity": "sha512-ZPMabUZCx5MpbZ2eBYSvZ0J8fvo3dR9oM+eeUpb3aKNQFuS2tu3Duw1TNlMoP8k3WQgKGJuhcMFvwcVuq6T7oA==",
|
"integrity": "sha512-tR/FFgZKS1CXluOQzZvNH3+0z9jXr3ldGSD8bhyuxvlVUwbeLOGynkunvlTMxchC5urrKndYiwCFC0DLVjpOCA==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"requires": {
|
"requires": {
|
||||||
"detect-newline": "^3.1.0"
|
"detect-newline": "^3.1.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"jest-each": {
|
"jest-each": {
|
||||||
"version": "30.4.1",
|
"version": "30.2.0",
|
||||||
"resolved": "https://registry.npmjs.org/jest-each/-/jest-each-30.4.1.tgz",
|
"resolved": "https://registry.npmjs.org/jest-each/-/jest-each-30.2.0.tgz",
|
||||||
"integrity": "sha512-/8MJbH6fuj48TstjrMf+u/pd06Qezz5xOXvZA6442heNOWr8bdeoGZX2d9fCn028CoMgYmroH9//zky5GfyYmA==",
|
"integrity": "sha512-lpWlJlM7bCUf1mfmuqTA8+j2lNURW9eNafOy99knBM01i5CQeY5UH1vZjgT9071nDJac1M4XsbyI44oNOdhlDQ==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"requires": {
|
"requires": {
|
||||||
"@jest/get-type": "30.1.0",
|
"@jest/get-type": "30.1.0",
|
||||||
"@jest/types": "30.4.1",
|
"@jest/types": "30.2.0",
|
||||||
"chalk": "^4.1.2",
|
"chalk": "^4.1.2",
|
||||||
"jest-util": "30.4.1",
|
"jest-util": "30.2.0",
|
||||||
"pretty-format": "30.4.1"
|
"pretty-format": "30.2.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"jest-environment-node": {
|
"jest-environment-node": {
|
||||||
"version": "30.4.1",
|
"version": "30.2.0",
|
||||||
"resolved": "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-30.4.1.tgz",
|
"resolved": "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-30.2.0.tgz",
|
||||||
"integrity": "sha512-4FZYVOk85hz2AyT6BbarKy9u37g6DbrDyCdFhsnDdXqyrueYQvB+0zO4f/kqLCRD0BsPRXPMNJeQwihKZV8naw==",
|
"integrity": "sha512-ElU8v92QJ9UrYsKrxDIKCxu6PfNj4Hdcktcn0JX12zqNdqWHB0N+hwOnnBBXvjLd2vApZtuLUGs1QSY+MsXoNA==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"requires": {
|
"requires": {
|
||||||
"@jest/environment": "30.4.1",
|
"@jest/environment": "30.2.0",
|
||||||
"@jest/fake-timers": "30.4.1",
|
"@jest/fake-timers": "30.2.0",
|
||||||
"@jest/types": "30.4.1",
|
"@jest/types": "30.2.0",
|
||||||
"@types/node": "*",
|
"@types/node": "*",
|
||||||
"jest-mock": "30.4.1",
|
"jest-mock": "30.2.0",
|
||||||
"jest-util": "30.4.1",
|
"jest-util": "30.2.0",
|
||||||
"jest-validate": "30.4.1"
|
"jest-validate": "30.2.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"jest-haste-map": {
|
"jest-haste-map": {
|
||||||
"version": "30.4.1",
|
"version": "30.2.0",
|
||||||
"resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-30.4.1.tgz",
|
"resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-30.2.0.tgz",
|
||||||
"integrity": "sha512-rFrcONd8jeFsyw+Z9CrScJgglRf2+NFmNam8dKu7n+SoHqNYT47mn0DdEcVUZJpvh7Iz6/si7f7yUH7GJHVgnw==",
|
"integrity": "sha512-sQA/jCb9kNt+neM0anSj6eZhLZUIhQgwDt7cPGjumgLM4rXsfb9kpnlacmvZz3Q5tb80nS+oG/if+NBKrHC+Xw==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"requires": {
|
"requires": {
|
||||||
"@jest/types": "30.4.1",
|
"@jest/types": "30.2.0",
|
||||||
"@types/node": "*",
|
"@types/node": "*",
|
||||||
"anymatch": "^3.1.3",
|
"anymatch": "^3.1.3",
|
||||||
"fb-watchman": "^2.0.2",
|
"fb-watchman": "^2.0.2",
|
||||||
"fsevents": "^2.3.3",
|
"fsevents": "^2.3.3",
|
||||||
"graceful-fs": "^4.2.11",
|
"graceful-fs": "^4.2.11",
|
||||||
"jest-regex-util": "30.4.0",
|
"jest-regex-util": "30.0.1",
|
||||||
"jest-util": "30.4.1",
|
"jest-util": "30.2.0",
|
||||||
"jest-worker": "30.4.1",
|
"jest-worker": "30.2.0",
|
||||||
"picomatch": "^4.0.3",
|
"micromatch": "^4.0.8",
|
||||||
"walker": "^1.0.8"
|
"walker": "^1.0.8"
|
||||||
},
|
|
||||||
"dependencies": {
|
|
||||||
"picomatch": {
|
|
||||||
"version": "4.0.4",
|
|
||||||
"resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.4.tgz",
|
|
||||||
"integrity": "sha512-QP88BAKvMam/3NxH6vj2o21R6MjxZUAd6nlwAS/pnGvN9IVLocLHxGYIzFhg6fUQ+5th6P4dv4eW9jX3DSIj7A==",
|
|
||||||
"dev": true
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"jest-leak-detector": {
|
"jest-leak-detector": {
|
||||||
"version": "30.4.1",
|
"version": "30.2.0",
|
||||||
"resolved": "https://registry.npmjs.org/jest-leak-detector/-/jest-leak-detector-30.4.1.tgz",
|
"resolved": "https://registry.npmjs.org/jest-leak-detector/-/jest-leak-detector-30.2.0.tgz",
|
||||||
"integrity": "sha512-IpmyiioeHxiWDhesHnUFmOxcTzwCwKpgACgWajtAP+nYQXiY7DakTxB6Bx9JFiRMljr0AX1PvnQdaU1KFoz6NQ==",
|
"integrity": "sha512-M6jKAjyzjHG0SrQgwhgZGy9hFazcudwCNovY/9HPIicmNSBuockPSedAP9vlPK6ONFJ1zfyH/M2/YYJxOz5cdQ==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"requires": {
|
"requires": {
|
||||||
"@jest/get-type": "30.1.0",
|
"@jest/get-type": "30.1.0",
|
||||||
"pretty-format": "30.4.1"
|
"pretty-format": "30.2.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"jest-matcher-utils": {
|
"jest-matcher-utils": {
|
||||||
"version": "30.4.1",
|
"version": "30.2.0",
|
||||||
"resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-30.4.1.tgz",
|
"resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-30.2.0.tgz",
|
||||||
"integrity": "sha512-zvYfX5CaeEkFrrLS9suWe9rvJrm9J1Iv3ua8kIBv9GEPzcnsfBf0bob37la7s67fs0nlBC3EuvkOLnXQKxtx4A==",
|
"integrity": "sha512-dQ94Nq4dbzmUWkQ0ANAWS9tBRfqCrn0bV9AMYdOi/MHW726xn7eQmMeRTpX2ViC00bpNaWXq+7o4lIQ3AX13Hg==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"requires": {
|
"requires": {
|
||||||
"@jest/get-type": "30.1.0",
|
"@jest/get-type": "30.1.0",
|
||||||
"chalk": "^4.1.2",
|
"chalk": "^4.1.2",
|
||||||
"jest-diff": "30.4.1",
|
"jest-diff": "30.2.0",
|
||||||
"pretty-format": "30.4.1"
|
"pretty-format": "30.2.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"jest-message-util": {
|
"jest-message-util": {
|
||||||
"version": "30.4.1",
|
"version": "30.2.0",
|
||||||
"resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-30.4.1.tgz",
|
"resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-30.2.0.tgz",
|
||||||
"integrity": "sha512-kwCKIvq0MCW1HzLoGola9Te6JUdzgV0loyKJ3Qghrkz9i5/RRIHsL95BMQc2HBBhlBKC4j22K9p11TGHH8RBpQ==",
|
"integrity": "sha512-y4DKFLZ2y6DxTWD4cDe07RglV88ZiNEdlRfGtqahfbIjfsw1nMCPx49Uev4IA/hWn3sDKyAnSPwoYSsAEdcimw==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"requires": {
|
"requires": {
|
||||||
"@babel/code-frame": "^7.27.1",
|
"@babel/code-frame": "^7.27.1",
|
||||||
"@jest/types": "30.4.1",
|
"@jest/types": "30.2.0",
|
||||||
"@types/stack-utils": "^2.0.3",
|
"@types/stack-utils": "^2.0.3",
|
||||||
"chalk": "^4.1.2",
|
"chalk": "^4.1.2",
|
||||||
"graceful-fs": "^4.2.11",
|
"graceful-fs": "^4.2.11",
|
||||||
"jest-util": "30.4.1",
|
"micromatch": "^4.0.8",
|
||||||
"picomatch": "^4.0.3",
|
"pretty-format": "30.2.0",
|
||||||
"pretty-format": "30.4.1",
|
|
||||||
"slash": "^3.0.0",
|
"slash": "^3.0.0",
|
||||||
"stack-utils": "^2.0.6"
|
"stack-utils": "^2.0.6"
|
||||||
},
|
|
||||||
"dependencies": {
|
|
||||||
"picomatch": {
|
|
||||||
"version": "4.0.4",
|
|
||||||
"resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.4.tgz",
|
|
||||||
"integrity": "sha512-QP88BAKvMam/3NxH6vj2o21R6MjxZUAd6nlwAS/pnGvN9IVLocLHxGYIzFhg6fUQ+5th6P4dv4eW9jX3DSIj7A==",
|
|
||||||
"dev": true
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"jest-mock": {
|
"jest-mock": {
|
||||||
"version": "30.4.1",
|
"version": "30.2.0",
|
||||||
"resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-30.4.1.tgz",
|
"resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-30.2.0.tgz",
|
||||||
"integrity": "sha512-/i8SVb8/NSB7RfNi8gfqu8gxLV23KaL5EpAttyb9iz8qWRIqXRLflycz/32wXsYkOnaUlx8NAKnJYtpsmXUmfw==",
|
"integrity": "sha512-JNNNl2rj4b5ICpmAcq+WbLH83XswjPbjH4T7yvGzfAGCPh1rw+xVNbtk+FnRslvt9lkCcdn9i1oAoKUuFsOxRw==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"requires": {
|
"requires": {
|
||||||
"@jest/types": "30.4.1",
|
"@jest/types": "30.2.0",
|
||||||
"@types/node": "*",
|
"@types/node": "*",
|
||||||
"jest-util": "30.4.1"
|
"jest-util": "30.2.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"jest-pnp-resolver": {
|
"jest-pnp-resolver": {
|
||||||
@@ -8197,101 +8209,101 @@
|
|||||||
"requires": {}
|
"requires": {}
|
||||||
},
|
},
|
||||||
"jest-regex-util": {
|
"jest-regex-util": {
|
||||||
"version": "30.4.0",
|
"version": "30.0.1",
|
||||||
"resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-30.4.0.tgz",
|
"resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-30.0.1.tgz",
|
||||||
"integrity": "sha512-mWlvLviKIgIQ8VCuM1xRdD0TWp3zlzionlmDBjuXVBs+VkmXq6FgW9T4Emr7oGz/Rk6feDCGyiugolcQEyp3mg==",
|
"integrity": "sha512-jHEQgBXAgc+Gh4g0p3bCevgRCVRkB4VB70zhoAE48gxeSr1hfUOsM/C2WoJgVL7Eyg//hudYENbm3Ne+/dRVVA==",
|
||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
"jest-resolve": {
|
"jest-resolve": {
|
||||||
"version": "30.4.1",
|
"version": "30.2.0",
|
||||||
"resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-30.4.1.tgz",
|
"resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-30.2.0.tgz",
|
||||||
"integrity": "sha512-Zry8Yq/yJcNAZ7dJ5F2heic8AheXvbFZ7XI5V+h28nrYZ7Qoyy4dItq8OodjnYD270mvX+ZudmrNV9cysqhW5Q==",
|
"integrity": "sha512-TCrHSxPlx3tBY3hWNtRQKbtgLhsXa1WmbJEqBlTBrGafd5fiQFByy2GNCEoGR+Tns8d15GaL9cxEzKOO3GEb2A==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"requires": {
|
"requires": {
|
||||||
"chalk": "^4.1.2",
|
"chalk": "^4.1.2",
|
||||||
"graceful-fs": "^4.2.11",
|
"graceful-fs": "^4.2.11",
|
||||||
"jest-haste-map": "30.4.1",
|
"jest-haste-map": "30.2.0",
|
||||||
"jest-pnp-resolver": "^1.2.3",
|
"jest-pnp-resolver": "^1.2.3",
|
||||||
"jest-util": "30.4.1",
|
"jest-util": "30.2.0",
|
||||||
"jest-validate": "30.4.1",
|
"jest-validate": "30.2.0",
|
||||||
"slash": "^3.0.0",
|
"slash": "^3.0.0",
|
||||||
"unrs-resolver": "^1.7.11"
|
"unrs-resolver": "^1.7.11"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"jest-resolve-dependencies": {
|
"jest-resolve-dependencies": {
|
||||||
"version": "30.4.2",
|
"version": "30.2.0",
|
||||||
"resolved": "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-30.4.2.tgz",
|
"resolved": "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-30.2.0.tgz",
|
||||||
"integrity": "sha512-gDiVh1I+GxYzz9oXlyw+1wv6VOYX1WYxMOfjsA3iGKePV2oxmbHhwxfkALxNxYy1ciw6APWwkW2zZONwP97aEQ==",
|
"integrity": "sha512-xTOIGug/0RmIe3mmCqCT95yO0vj6JURrn1TKWlNbhiAefJRWINNPgwVkrVgt/YaerPzY3iItufd80v3lOrFJ2w==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"requires": {
|
"requires": {
|
||||||
"jest-regex-util": "30.4.0",
|
"jest-regex-util": "30.0.1",
|
||||||
"jest-snapshot": "30.4.1"
|
"jest-snapshot": "30.2.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"jest-runner": {
|
"jest-runner": {
|
||||||
"version": "30.4.2",
|
"version": "30.2.0",
|
||||||
"resolved": "https://registry.npmjs.org/jest-runner/-/jest-runner-30.4.2.tgz",
|
"resolved": "https://registry.npmjs.org/jest-runner/-/jest-runner-30.2.0.tgz",
|
||||||
"integrity": "sha512-2dw0PslVYXxffXGpLo+Ejad+KcI1Qkjn7f4X4619gf21oCUmL+SPfjqIa/losUem3yEOvfNZe/F1HWUcNpODcg==",
|
"integrity": "sha512-PqvZ2B2XEyPEbclp+gV6KO/F1FIFSbIwewRgmROCMBo/aZ6J1w8Qypoj2pEOcg3G2HzLlaP6VUtvwCI8dM3oqQ==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"requires": {
|
"requires": {
|
||||||
"@jest/console": "30.4.1",
|
"@jest/console": "30.2.0",
|
||||||
"@jest/environment": "30.4.1",
|
"@jest/environment": "30.2.0",
|
||||||
"@jest/test-result": "30.4.1",
|
"@jest/test-result": "30.2.0",
|
||||||
"@jest/transform": "30.4.1",
|
"@jest/transform": "30.2.0",
|
||||||
"@jest/types": "30.4.1",
|
"@jest/types": "30.2.0",
|
||||||
"@types/node": "*",
|
"@types/node": "*",
|
||||||
"chalk": "^4.1.2",
|
"chalk": "^4.1.2",
|
||||||
"emittery": "^0.13.1",
|
"emittery": "^0.13.1",
|
||||||
"exit-x": "^0.2.2",
|
"exit-x": "^0.2.2",
|
||||||
"graceful-fs": "^4.2.11",
|
"graceful-fs": "^4.2.11",
|
||||||
"jest-docblock": "30.4.0",
|
"jest-docblock": "30.2.0",
|
||||||
"jest-environment-node": "30.4.1",
|
"jest-environment-node": "30.2.0",
|
||||||
"jest-haste-map": "30.4.1",
|
"jest-haste-map": "30.2.0",
|
||||||
"jest-leak-detector": "30.4.1",
|
"jest-leak-detector": "30.2.0",
|
||||||
"jest-message-util": "30.4.1",
|
"jest-message-util": "30.2.0",
|
||||||
"jest-resolve": "30.4.1",
|
"jest-resolve": "30.2.0",
|
||||||
"jest-runtime": "30.4.2",
|
"jest-runtime": "30.2.0",
|
||||||
"jest-util": "30.4.1",
|
"jest-util": "30.2.0",
|
||||||
"jest-watcher": "30.4.1",
|
"jest-watcher": "30.2.0",
|
||||||
"jest-worker": "30.4.1",
|
"jest-worker": "30.2.0",
|
||||||
"p-limit": "^3.1.0",
|
"p-limit": "^3.1.0",
|
||||||
"source-map-support": "0.5.13"
|
"source-map-support": "0.5.13"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"jest-runtime": {
|
"jest-runtime": {
|
||||||
"version": "30.4.2",
|
"version": "30.2.0",
|
||||||
"resolved": "https://registry.npmjs.org/jest-runtime/-/jest-runtime-30.4.2.tgz",
|
"resolved": "https://registry.npmjs.org/jest-runtime/-/jest-runtime-30.2.0.tgz",
|
||||||
"integrity": "sha512-3/5e8iPz2k/VLqlr8DgTftYyLUv8Su3FkCAO2/Od81UsUTpSxOrS6O5x5KkoQwyUjmpYyDJKeyAvg2T2nvpNkQ==",
|
"integrity": "sha512-p1+GVX/PJqTucvsmERPMgCPvQJpFt4hFbM+VN3n8TMo47decMUcJbt+rgzwrEme0MQUA/R+1de2axftTHkKckg==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"requires": {
|
"requires": {
|
||||||
"@jest/environment": "30.4.1",
|
"@jest/environment": "30.2.0",
|
||||||
"@jest/fake-timers": "30.4.1",
|
"@jest/fake-timers": "30.2.0",
|
||||||
"@jest/globals": "30.4.1",
|
"@jest/globals": "30.2.0",
|
||||||
"@jest/source-map": "30.0.1",
|
"@jest/source-map": "30.0.1",
|
||||||
"@jest/test-result": "30.4.1",
|
"@jest/test-result": "30.2.0",
|
||||||
"@jest/transform": "30.4.1",
|
"@jest/transform": "30.2.0",
|
||||||
"@jest/types": "30.4.1",
|
"@jest/types": "30.2.0",
|
||||||
"@types/node": "*",
|
"@types/node": "*",
|
||||||
"chalk": "^4.1.2",
|
"chalk": "^4.1.2",
|
||||||
"cjs-module-lexer": "^2.1.0",
|
"cjs-module-lexer": "^2.1.0",
|
||||||
"collect-v8-coverage": "^1.0.2",
|
"collect-v8-coverage": "^1.0.2",
|
||||||
"glob": "^10.5.0",
|
"glob": "^10.3.10",
|
||||||
"graceful-fs": "^4.2.11",
|
"graceful-fs": "^4.2.11",
|
||||||
"jest-haste-map": "30.4.1",
|
"jest-haste-map": "30.2.0",
|
||||||
"jest-message-util": "30.4.1",
|
"jest-message-util": "30.2.0",
|
||||||
"jest-mock": "30.4.1",
|
"jest-mock": "30.2.0",
|
||||||
"jest-regex-util": "30.4.0",
|
"jest-regex-util": "30.0.1",
|
||||||
"jest-resolve": "30.4.1",
|
"jest-resolve": "30.2.0",
|
||||||
"jest-snapshot": "30.4.1",
|
"jest-snapshot": "30.2.0",
|
||||||
"jest-util": "30.4.1",
|
"jest-util": "30.2.0",
|
||||||
"slash": "^3.0.0",
|
"slash": "^3.0.0",
|
||||||
"strip-bom": "^4.0.0"
|
"strip-bom": "^4.0.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"jest-snapshot": {
|
"jest-snapshot": {
|
||||||
"version": "30.4.1",
|
"version": "30.2.0",
|
||||||
"resolved": "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-30.4.1.tgz",
|
"resolved": "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-30.2.0.tgz",
|
||||||
"integrity": "sha512-tEOkkfOMppUyeiHwjZswOQ3lcnoTnws/q5FnGIaeIh/jmoU0ZlgMYRR8sTlTj+nNGCoJ0RDq6SfxGxCsyMTPmw==",
|
"integrity": "sha512-5WEtTy2jXPFypadKNpbNkZ72puZCa6UjSr/7djeecHWOu7iYhSXSnHScT8wBz3Rn8Ena5d5RYRcsyKIeqG1IyA==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"requires": {
|
"requires": {
|
||||||
"@babel/core": "^7.27.4",
|
"@babel/core": "^7.27.4",
|
||||||
@@ -8299,44 +8311,44 @@
|
|||||||
"@babel/plugin-syntax-jsx": "^7.27.1",
|
"@babel/plugin-syntax-jsx": "^7.27.1",
|
||||||
"@babel/plugin-syntax-typescript": "^7.27.1",
|
"@babel/plugin-syntax-typescript": "^7.27.1",
|
||||||
"@babel/types": "^7.27.3",
|
"@babel/types": "^7.27.3",
|
||||||
"@jest/expect-utils": "30.4.1",
|
"@jest/expect-utils": "30.2.0",
|
||||||
"@jest/get-type": "30.1.0",
|
"@jest/get-type": "30.1.0",
|
||||||
"@jest/snapshot-utils": "30.4.1",
|
"@jest/snapshot-utils": "30.2.0",
|
||||||
"@jest/transform": "30.4.1",
|
"@jest/transform": "30.2.0",
|
||||||
"@jest/types": "30.4.1",
|
"@jest/types": "30.2.0",
|
||||||
"babel-preset-current-node-syntax": "^1.2.0",
|
"babel-preset-current-node-syntax": "^1.2.0",
|
||||||
"chalk": "^4.1.2",
|
"chalk": "^4.1.2",
|
||||||
"expect": "30.4.1",
|
"expect": "30.2.0",
|
||||||
"graceful-fs": "^4.2.11",
|
"graceful-fs": "^4.2.11",
|
||||||
"jest-diff": "30.4.1",
|
"jest-diff": "30.2.0",
|
||||||
"jest-matcher-utils": "30.4.1",
|
"jest-matcher-utils": "30.2.0",
|
||||||
"jest-message-util": "30.4.1",
|
"jest-message-util": "30.2.0",
|
||||||
"jest-util": "30.4.1",
|
"jest-util": "30.2.0",
|
||||||
"pretty-format": "30.4.1",
|
"pretty-format": "30.2.0",
|
||||||
"semver": "^7.7.2",
|
"semver": "^7.7.2",
|
||||||
"synckit": "^0.11.8"
|
"synckit": "^0.11.8"
|
||||||
},
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"semver": {
|
"semver": {
|
||||||
"version": "7.8.1",
|
"version": "7.7.3",
|
||||||
"resolved": "https://registry.npmjs.org/semver/-/semver-7.8.1.tgz",
|
"resolved": "https://registry.npmjs.org/semver/-/semver-7.7.3.tgz",
|
||||||
"integrity": "sha512-rkVq3IXh+4FDGch+KwzX3aV9W3kO54GyEgpvBzSyctDA6Xtd7RJQV1xmXbeQp5v7+VzLOfVqiutSE6GICgPFvg==",
|
"integrity": "sha512-SdsKMrI9TdgjdweUSR9MweHA4EJ8YxHn8DFaDisvhVlUOe4BF1tLD7GAj0lIqWVl+dPb/rExr0Btby5loQm20Q==",
|
||||||
"dev": true
|
"dev": true
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"jest-util": {
|
"jest-util": {
|
||||||
"version": "30.4.1",
|
"version": "30.2.0",
|
||||||
"resolved": "https://registry.npmjs.org/jest-util/-/jest-util-30.4.1.tgz",
|
"resolved": "https://registry.npmjs.org/jest-util/-/jest-util-30.2.0.tgz",
|
||||||
"integrity": "sha512-vjQb1sACEiv13DKJMDToJpzVW0joCsIQrmbg0fi7CyOOt+g9jTuQl2A216pWRBYhOVt53XbL/2LbMKg1BECWOw==",
|
"integrity": "sha512-QKNsM0o3Xe6ISQU869e+DhG+4CK/48aHYdJZGlFQVTjnbvgpcKyxpzk29fGiO7i/J8VENZ+d2iGnSsvmuHywlA==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"requires": {
|
"requires": {
|
||||||
"@jest/types": "30.4.1",
|
"@jest/types": "30.2.0",
|
||||||
"@types/node": "*",
|
"@types/node": "*",
|
||||||
"chalk": "^4.1.2",
|
"chalk": "^4.1.2",
|
||||||
"ci-info": "^4.2.0",
|
"ci-info": "^4.2.0",
|
||||||
"graceful-fs": "^4.2.11",
|
"graceful-fs": "^4.2.11",
|
||||||
"picomatch": "^4.0.3"
|
"picomatch": "^4.0.2"
|
||||||
},
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"picomatch": {
|
"picomatch": {
|
||||||
@@ -8348,17 +8360,17 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"jest-validate": {
|
"jest-validate": {
|
||||||
"version": "30.4.1",
|
"version": "30.2.0",
|
||||||
"resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-30.4.1.tgz",
|
"resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-30.2.0.tgz",
|
||||||
"integrity": "sha512-PDWi4SOwLnwqNDfHZjOcsEFyZ4fc/2W2gVL3DEoyqnB6jCQMLRtfBong8s6omIw3lI0HWOus12xfnFmQtjW3fw==",
|
"integrity": "sha512-FBGWi7dP2hpdi8nBoWxSsLvBFewKAg0+uSQwBaof4Y4DPgBabXgpSYC5/lR7VmnIlSpASmCi/ntRWPbv7089Pw==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"requires": {
|
"requires": {
|
||||||
"@jest/get-type": "30.1.0",
|
"@jest/get-type": "30.1.0",
|
||||||
"@jest/types": "30.4.1",
|
"@jest/types": "30.2.0",
|
||||||
"camelcase": "^6.3.0",
|
"camelcase": "^6.3.0",
|
||||||
"chalk": "^4.1.2",
|
"chalk": "^4.1.2",
|
||||||
"leven": "^3.1.0",
|
"leven": "^3.1.0",
|
||||||
"pretty-format": "30.4.1"
|
"pretty-format": "30.2.0"
|
||||||
},
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"camelcase": {
|
"camelcase": {
|
||||||
@@ -8370,30 +8382,30 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"jest-watcher": {
|
"jest-watcher": {
|
||||||
"version": "30.4.1",
|
"version": "30.2.0",
|
||||||
"resolved": "https://registry.npmjs.org/jest-watcher/-/jest-watcher-30.4.1.tgz",
|
"resolved": "https://registry.npmjs.org/jest-watcher/-/jest-watcher-30.2.0.tgz",
|
||||||
"integrity": "sha512-/l9UonmvCwjHH7d2h3iAwIloLc1H0S8mJZ/LNK3i86hqwPAz8otUJjP9MfYtz9Tt77Su5FD2xGjZn8d31IZHlw==",
|
"integrity": "sha512-PYxa28dxJ9g777pGm/7PrbnMeA0Jr7osHP9bS7eJy9DuAjMgdGtxgf0uKMyoIsTWAkIbUW5hSDdJ3urmgXBqxg==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"requires": {
|
"requires": {
|
||||||
"@jest/test-result": "30.4.1",
|
"@jest/test-result": "30.2.0",
|
||||||
"@jest/types": "30.4.1",
|
"@jest/types": "30.2.0",
|
||||||
"@types/node": "*",
|
"@types/node": "*",
|
||||||
"ansi-escapes": "^4.3.2",
|
"ansi-escapes": "^4.3.2",
|
||||||
"chalk": "^4.1.2",
|
"chalk": "^4.1.2",
|
||||||
"emittery": "^0.13.1",
|
"emittery": "^0.13.1",
|
||||||
"jest-util": "30.4.1",
|
"jest-util": "30.2.0",
|
||||||
"string-length": "^4.0.2"
|
"string-length": "^4.0.2"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"jest-worker": {
|
"jest-worker": {
|
||||||
"version": "30.4.1",
|
"version": "30.2.0",
|
||||||
"resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-30.4.1.tgz",
|
"resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-30.2.0.tgz",
|
||||||
"integrity": "sha512-SHynN/q/QD++iNyvMdy+WMmbCGk8jIsNcRxycXbWubSOhvo6T+j2afcfUSl+3hYsiBebOTo0cT7c2H7CXugu1g==",
|
"integrity": "sha512-0Q4Uk8WF7BUwqXHuAjc23vmopWJw5WH7w2tqBoUOZpOjW/ZnR44GXXd1r82RvnmI2GZge3ivrYXk/BE2+VtW2g==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"requires": {
|
"requires": {
|
||||||
"@types/node": "*",
|
"@types/node": "*",
|
||||||
"@ungap/structured-clone": "^1.3.0",
|
"@ungap/structured-clone": "^1.3.0",
|
||||||
"jest-util": "30.4.1",
|
"jest-util": "30.2.0",
|
||||||
"merge-stream": "^2.0.0",
|
"merge-stream": "^2.0.0",
|
||||||
"supports-color": "^8.1.1"
|
"supports-color": "^8.1.1"
|
||||||
},
|
},
|
||||||
@@ -8488,9 +8500,9 @@
|
|||||||
},
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"semver": {
|
"semver": {
|
||||||
"version": "7.8.1",
|
"version": "7.7.3",
|
||||||
"resolved": "https://registry.npmjs.org/semver/-/semver-7.8.1.tgz",
|
"resolved": "https://registry.npmjs.org/semver/-/semver-7.7.3.tgz",
|
||||||
"integrity": "sha512-rkVq3IXh+4FDGch+KwzX3aV9W3kO54GyEgpvBzSyctDA6Xtd7RJQV1xmXbeQp5v7+VzLOfVqiutSE6GICgPFvg==",
|
"integrity": "sha512-SdsKMrI9TdgjdweUSR9MweHA4EJ8YxHn8DFaDisvhVlUOe4BF1tLD7GAj0lIqWVl+dPb/rExr0Btby5loQm20Q==",
|
||||||
"dev": true
|
"dev": true
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -8510,12 +8522,40 @@
|
|||||||
"tmpl": "1.0.5"
|
"tmpl": "1.0.5"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"math-intrinsics": {
|
||||||
|
"version": "1.1.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/math-intrinsics/-/math-intrinsics-1.1.0.tgz",
|
||||||
|
"integrity": "sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g=="
|
||||||
|
},
|
||||||
"merge-stream": {
|
"merge-stream": {
|
||||||
"version": "2.0.0",
|
"version": "2.0.0",
|
||||||
"resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz",
|
"resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz",
|
||||||
"integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==",
|
"integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==",
|
||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
|
"micromatch": {
|
||||||
|
"version": "4.0.8",
|
||||||
|
"resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.8.tgz",
|
||||||
|
"integrity": "sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==",
|
||||||
|
"dev": true,
|
||||||
|
"requires": {
|
||||||
|
"braces": "^3.0.3",
|
||||||
|
"picomatch": "^2.3.1"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"mime-db": {
|
||||||
|
"version": "1.52.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz",
|
||||||
|
"integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg=="
|
||||||
|
},
|
||||||
|
"mime-types": {
|
||||||
|
"version": "2.1.35",
|
||||||
|
"resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz",
|
||||||
|
"integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==",
|
||||||
|
"requires": {
|
||||||
|
"mime-db": "1.52.0"
|
||||||
|
}
|
||||||
|
},
|
||||||
"mimic-fn": {
|
"mimic-fn": {
|
||||||
"version": "2.1.0",
|
"version": "2.1.0",
|
||||||
"resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz",
|
"resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz",
|
||||||
@@ -8537,15 +8577,16 @@
|
|||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
"minipass": {
|
"minipass": {
|
||||||
"version": "7.1.3",
|
"version": "7.1.2",
|
||||||
"resolved": "https://registry.npmjs.org/minipass/-/minipass-7.1.3.tgz",
|
"resolved": "https://registry.npmjs.org/minipass/-/minipass-7.1.2.tgz",
|
||||||
"integrity": "sha512-tEBHqDnIoM/1rXME1zgka9g6Q2lcoCkxHLuc7ODJ5BxbP5d4c2Z5cGgtXAku59200Cx7diuHTOYfSBD8n6mm8A==",
|
"integrity": "sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==",
|
||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
"ms": {
|
"ms": {
|
||||||
"version": "2.1.2",
|
"version": "2.1.2",
|
||||||
"resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
|
"resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
|
||||||
"integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w=="
|
"integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==",
|
||||||
|
"dev": true
|
||||||
},
|
},
|
||||||
"napi-postinstall": {
|
"napi-postinstall": {
|
||||||
"version": "0.3.4",
|
"version": "0.3.4",
|
||||||
@@ -8669,11 +8710,6 @@
|
|||||||
"integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==",
|
"integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==",
|
||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
"path-expression-matcher": {
|
|
||||||
"version": "1.1.3",
|
|
||||||
"resolved": "https://registry.npmjs.org/path-expression-matcher/-/path-expression-matcher-1.1.3.tgz",
|
|
||||||
"integrity": "sha512-qdVgY8KXmVdJZRSS1JdEPOKPdTiEK/pi0RkcT2sw1RhXxohdujUlJFPuS1TSkevZ9vzd3ZlL7ULl1MHGTApKzQ=="
|
|
||||||
},
|
|
||||||
"path-is-absolute": {
|
"path-is-absolute": {
|
||||||
"version": "1.0.1",
|
"version": "1.0.1",
|
||||||
"resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz",
|
"resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz",
|
||||||
@@ -8732,15 +8768,14 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"pretty-format": {
|
"pretty-format": {
|
||||||
"version": "30.4.1",
|
"version": "30.2.0",
|
||||||
"resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-30.4.1.tgz",
|
"resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-30.2.0.tgz",
|
||||||
"integrity": "sha512-K6KiKMHTL4jjX4u3Kir2EW07nRfcqVTXIImx50wbjHQTcZPgg+gjVeNTIT3l3L1Rd4UefxfogquC9J37SoFyyw==",
|
"integrity": "sha512-9uBdv/B4EefsuAL+pWqueZyZS2Ba+LxfFeQ9DN14HU4bN8bhaxKdkpjpB6fs9+pSjIBu+FXQHImEg8j/Lw0+vA==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"requires": {
|
"requires": {
|
||||||
"@jest/schemas": "30.4.1",
|
"@jest/schemas": "30.0.5",
|
||||||
"ansi-styles": "^5.2.0",
|
"ansi-styles": "^5.2.0",
|
||||||
"react-is-18": "npm:react-is@^18.3.1",
|
"react-is": "^18.3.1"
|
||||||
"react-is-19": "npm:react-is@^19.2.5"
|
|
||||||
},
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"ansi-styles": {
|
"ansi-styles": {
|
||||||
@@ -8751,24 +8786,23 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"process": {
|
||||||
|
"version": "0.11.10",
|
||||||
|
"resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz",
|
||||||
|
"integrity": "sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A=="
|
||||||
|
},
|
||||||
"pure-rand": {
|
"pure-rand": {
|
||||||
"version": "7.0.1",
|
"version": "7.0.1",
|
||||||
"resolved": "https://registry.npmjs.org/pure-rand/-/pure-rand-7.0.1.tgz",
|
"resolved": "https://registry.npmjs.org/pure-rand/-/pure-rand-7.0.1.tgz",
|
||||||
"integrity": "sha512-oTUZM/NAZS8p7ANR3SHh30kXB+zK2r2BPcEn/awJIbOvq82WoMN4p62AWWp3Hhw50G0xMsw1mhIBLqHw64EcNQ==",
|
"integrity": "sha512-oTUZM/NAZS8p7ANR3SHh30kXB+zK2r2BPcEn/awJIbOvq82WoMN4p62AWWp3Hhw50G0xMsw1mhIBLqHw64EcNQ==",
|
||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
"react-is-18": {
|
"react-is": {
|
||||||
"version": "npm:react-is@18.3.1",
|
"version": "18.3.1",
|
||||||
"resolved": "https://registry.npmjs.org/react-is/-/react-is-18.3.1.tgz",
|
"resolved": "https://registry.npmjs.org/react-is/-/react-is-18.3.1.tgz",
|
||||||
"integrity": "sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg==",
|
"integrity": "sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg==",
|
||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
"react-is-19": {
|
|
||||||
"version": "npm:react-is@19.2.7",
|
|
||||||
"resolved": "https://registry.npmjs.org/react-is/-/react-is-19.2.7.tgz",
|
|
||||||
"integrity": "sha512-kZFnouyVv7eP/Phmrlo9FK+zcAdriZJvzxXHF1Sl1P377WSGe2G/JxVolhTrB/jeV47lKImhNUsijjHAAbcl/A==",
|
|
||||||
"dev": true
|
|
||||||
},
|
|
||||||
"require-directory": {
|
"require-directory": {
|
||||||
"version": "2.1.1",
|
"version": "2.1.1",
|
||||||
"resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz",
|
"resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz",
|
||||||
@@ -8790,11 +8824,20 @@
|
|||||||
"integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==",
|
"integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==",
|
||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
|
"safe-buffer": {
|
||||||
|
"version": "5.2.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz",
|
||||||
|
"integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ=="
|
||||||
|
},
|
||||||
|
"sax": {
|
||||||
|
"version": "1.2.4",
|
||||||
|
"resolved": "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz",
|
||||||
|
"integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw=="
|
||||||
|
},
|
||||||
"semver": {
|
"semver": {
|
||||||
"version": "6.3.1",
|
"version": "6.3.1",
|
||||||
"resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz",
|
"resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz",
|
||||||
"integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==",
|
"integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA=="
|
||||||
"dev": true
|
|
||||||
},
|
},
|
||||||
"shebang-command": {
|
"shebang-command": {
|
||||||
"version": "2.0.0",
|
"version": "2.0.0",
|
||||||
@@ -8824,9 +8867,9 @@
|
|||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
"smol-toml": {
|
"smol-toml": {
|
||||||
"version": "1.6.1",
|
"version": "1.4.2",
|
||||||
"resolved": "https://registry.npmjs.org/smol-toml/-/smol-toml-1.6.1.tgz",
|
"resolved": "https://registry.npmjs.org/smol-toml/-/smol-toml-1.4.2.tgz",
|
||||||
"integrity": "sha512-dWUG8F5sIIARXih1DTaQAX4SsiTXhInKf1buxdY9DIg4ZYPZK5nGM1VRIYmEbDbsHt7USo99xSLFu5Q1IqTmsg=="
|
"integrity": "sha512-rInDH6lCNiEyn3+hH8KVGFdbjc099j47+OSgbMrfDYX1CmXLfdKd7qi6IfcWj2wFxvSVkuI46M+wPGYfEOEj6g=="
|
||||||
},
|
},
|
||||||
"source-map": {
|
"source-map": {
|
||||||
"version": "0.6.1",
|
"version": "0.6.1",
|
||||||
@@ -8932,12 +8975,12 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"strip-ansi": {
|
"strip-ansi": {
|
||||||
"version": "7.2.0",
|
"version": "7.1.2",
|
||||||
"resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.2.0.tgz",
|
"resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.2.tgz",
|
||||||
"integrity": "sha512-yDPMNjp4WyfYBkHnjIRLfca1i6KMyGCtsVgoKe/z1+6vukgaENdgGBZt+ZmKPc4gavvEZ5OgHfHdrazhgNyG7w==",
|
"integrity": "sha512-gmBGslpoQJtgnMAvOVqGZpEz9dyoKTCzy2nfz/n8aIFhN/jCE/rCmcxabB6jOOHV+0WNnylOxaxBQPSvcWklhA==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"requires": {
|
"requires": {
|
||||||
"ansi-regex": "^6.2.2"
|
"ansi-regex": "^6.0.1"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"strip-ansi-cjs": {
|
"strip-ansi-cjs": {
|
||||||
@@ -8975,11 +9018,6 @@
|
|||||||
"integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==",
|
"integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==",
|
||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
"strnum": {
|
|
||||||
"version": "2.2.0",
|
|
||||||
"resolved": "https://registry.npmjs.org/strnum/-/strnum-2.2.0.tgz",
|
|
||||||
"integrity": "sha512-Y7Bj8XyJxnPAORMZj/xltsfo55uOiyHcU2tnAVzHUnSJR/KsEX+9RoDeXEnsXtl/CX4fAcrt64gZ13aGaWPeBg=="
|
|
||||||
},
|
|
||||||
"supports-color": {
|
"supports-color": {
|
||||||
"version": "7.2.0",
|
"version": "7.2.0",
|
||||||
"resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
|
"resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
|
||||||
@@ -8990,12 +9028,12 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"synckit": {
|
"synckit": {
|
||||||
"version": "0.11.13",
|
"version": "0.11.11",
|
||||||
"resolved": "https://registry.npmjs.org/synckit/-/synckit-0.11.13.tgz",
|
"resolved": "https://registry.npmjs.org/synckit/-/synckit-0.11.11.tgz",
|
||||||
"integrity": "sha512-eNRKgb3z66Yp3D2CixVujOUvXLFUTij/zVnV8KRyvFdQwpz7I5DS8UfRkTeLzb64u+dkzDSdelE24izu+zSSUg==",
|
"integrity": "sha512-MeQTA1r0litLUf0Rp/iisCaL8761lKAZHaimlbGK4j0HysC4PLfqygQj9srcs0m2RdtDYnF8UuYyKpbjHYp7Jw==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"requires": {
|
"requires": {
|
||||||
"@pkgr/core": "^0.3.6"
|
"@pkgr/core": "^0.2.9"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"test-exclude": {
|
"test-exclude": {
|
||||||
@@ -9031,35 +9069,49 @@
|
|||||||
"integrity": "sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw==",
|
"integrity": "sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw==",
|
||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
|
"to-regex-range": {
|
||||||
|
"version": "5.0.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz",
|
||||||
|
"integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==",
|
||||||
|
"dev": true,
|
||||||
|
"requires": {
|
||||||
|
"is-number": "^7.0.0"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"tr46": {
|
||||||
|
"version": "0.0.3",
|
||||||
|
"resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz",
|
||||||
|
"integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw=="
|
||||||
|
},
|
||||||
"ts-jest": {
|
"ts-jest": {
|
||||||
"version": "29.4.11",
|
"version": "29.4.5",
|
||||||
"resolved": "https://registry.npmjs.org/ts-jest/-/ts-jest-29.4.11.tgz",
|
"resolved": "https://registry.npmjs.org/ts-jest/-/ts-jest-29.4.5.tgz",
|
||||||
"integrity": "sha512-IrFl7l9AuB/qrNw5quqvAv/hmKMb8dhWOH4jQOGo0Oq8tCeo1O86/iTFG1FaRimgUkF13l4PcepO8ATFT6Ns4g==",
|
"integrity": "sha512-HO3GyiWn2qvTQA4kTgjDcXiMwYQt68a1Y8+JuLRVpdIzm+UOLSHgl/XqR4c6nzJkq5rOkjc02O2I7P7l/Yof0Q==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"requires": {
|
"requires": {
|
||||||
"bs-logger": "^0.2.6",
|
"bs-logger": "^0.2.6",
|
||||||
"fast-json-stable-stringify": "^2.1.0",
|
"fast-json-stable-stringify": "^2.1.0",
|
||||||
"handlebars": "^4.7.9",
|
"handlebars": "^4.7.8",
|
||||||
"json5": "^2.2.3",
|
"json5": "^2.2.3",
|
||||||
"lodash.memoize": "^4.1.2",
|
"lodash.memoize": "^4.1.2",
|
||||||
"make-error": "^1.3.6",
|
"make-error": "^1.3.6",
|
||||||
"semver": "^7.8.0",
|
"semver": "^7.7.3",
|
||||||
"type-fest": "^4.41.0",
|
"type-fest": "^4.41.0",
|
||||||
"yargs-parser": "^21.1.1"
|
"yargs-parser": "^21.1.1"
|
||||||
},
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"semver": {
|
"semver": {
|
||||||
"version": "7.8.1",
|
"version": "7.7.3",
|
||||||
"resolved": "https://registry.npmjs.org/semver/-/semver-7.8.1.tgz",
|
"resolved": "https://registry.npmjs.org/semver/-/semver-7.7.3.tgz",
|
||||||
"integrity": "sha512-rkVq3IXh+4FDGch+KwzX3aV9W3kO54GyEgpvBzSyctDA6Xtd7RJQV1xmXbeQp5v7+VzLOfVqiutSE6GICgPFvg==",
|
"integrity": "sha512-SdsKMrI9TdgjdweUSR9MweHA4EJ8YxHn8DFaDisvhVlUOe4BF1tLD7GAj0lIqWVl+dPb/rExr0Btby5loQm20Q==",
|
||||||
"dev": true
|
"dev": true
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"tslib": {
|
"tslib": {
|
||||||
"version": "2.8.1",
|
"version": "1.10.0",
|
||||||
"resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz",
|
"resolved": "https://registry.npmjs.org/tslib/-/tslib-1.10.0.tgz",
|
||||||
"integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w=="
|
"integrity": "sha512-qOebF53frne81cf0S9B41ByenJ3/IuH8yJKngAX35CmiZySA0khhkovshKK+jGCaMnVomla7gVlIcc3EvKPbTQ=="
|
||||||
},
|
},
|
||||||
"tunnel": {
|
"tunnel": {
|
||||||
"version": "0.0.6",
|
"version": "0.0.6",
|
||||||
@@ -9092,45 +9144,44 @@
|
|||||||
"optional": true
|
"optional": true
|
||||||
},
|
},
|
||||||
"undici": {
|
"undici": {
|
||||||
"version": "8.3.0",
|
"version": "5.28.5",
|
||||||
"resolved": "https://registry.npmjs.org/undici/-/undici-8.3.0.tgz",
|
"resolved": "https://registry.npmjs.org/undici/-/undici-5.28.5.tgz",
|
||||||
"integrity": "sha512-TkUDgb6tl7KOGZ+7e8E3d2FYgUQgF6z5YypqjWmixVQSQERFcVrVg0ySADm2LVLRh5ljAaHTCR5Fmz3Q34rB7Q=="
|
"integrity": "sha512-zICwjrDrcrUE0pyyJc1I2QzBkLM8FINsgOrt6WjA+BgajVq9Nxu2PbFFXUrAggLfDXlZGZBVZYw7WNV5KiBiBA==",
|
||||||
|
"requires": {
|
||||||
|
"@fastify/busboy": "^2.0.0"
|
||||||
|
}
|
||||||
},
|
},
|
||||||
"undici-types": {
|
"undici-types": {
|
||||||
"version": "7.18.2",
|
"version": "7.16.0",
|
||||||
"resolved": "https://registry.npmjs.org/undici-types/-/undici-types-7.18.2.tgz",
|
"resolved": "https://registry.npmjs.org/undici-types/-/undici-types-7.16.0.tgz",
|
||||||
"integrity": "sha512-AsuCzffGHJybSaRrmr5eHr81mwJU3kjw6M+uprWvCXiNeN9SOGwQ3Jn8jb8m3Z6izVgknn1R0FTCEAP2QrLY/w==",
|
"integrity": "sha512-Zz+aZWSj8LE6zoxD+xrjh4VfkIG8Ya6LvYkZqtUQGJPZjYl53ypCaUwWqo7eI0x66KBGeRo+mlBEkMSeSZ38Nw=="
|
||||||
"dev": true
|
|
||||||
},
|
},
|
||||||
"unrs-resolver": {
|
"unrs-resolver": {
|
||||||
"version": "1.12.2",
|
"version": "1.11.1",
|
||||||
"resolved": "https://registry.npmjs.org/unrs-resolver/-/unrs-resolver-1.12.2.tgz",
|
"resolved": "https://registry.npmjs.org/unrs-resolver/-/unrs-resolver-1.11.1.tgz",
|
||||||
"integrity": "sha512-dmlRxBJJayXjqTwC+JtF1HhJmgf3ftQ3YejFcZrf4+KKtJv0qDsK1pjqaaVjG7wJ5NJ6UVP1OqRMQ71Z4C3rxQ==",
|
"integrity": "sha512-bSjt9pjaEBnNiGgc9rUiHGKv5l4/TGzDmYw3RhnkJGtLhbnnA/5qJj7x3dNDCRx/PJxu774LlH8lCOlB4hEfKg==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"requires": {
|
"requires": {
|
||||||
"@unrs/resolver-binding-android-arm-eabi": "1.12.2",
|
"@unrs/resolver-binding-android-arm-eabi": "1.11.1",
|
||||||
"@unrs/resolver-binding-android-arm64": "1.12.2",
|
"@unrs/resolver-binding-android-arm64": "1.11.1",
|
||||||
"@unrs/resolver-binding-darwin-arm64": "1.12.2",
|
"@unrs/resolver-binding-darwin-arm64": "1.11.1",
|
||||||
"@unrs/resolver-binding-darwin-x64": "1.12.2",
|
"@unrs/resolver-binding-darwin-x64": "1.11.1",
|
||||||
"@unrs/resolver-binding-freebsd-x64": "1.12.2",
|
"@unrs/resolver-binding-freebsd-x64": "1.11.1",
|
||||||
"@unrs/resolver-binding-linux-arm-gnueabihf": "1.12.2",
|
"@unrs/resolver-binding-linux-arm-gnueabihf": "1.11.1",
|
||||||
"@unrs/resolver-binding-linux-arm-musleabihf": "1.12.2",
|
"@unrs/resolver-binding-linux-arm-musleabihf": "1.11.1",
|
||||||
"@unrs/resolver-binding-linux-arm64-gnu": "1.12.2",
|
"@unrs/resolver-binding-linux-arm64-gnu": "1.11.1",
|
||||||
"@unrs/resolver-binding-linux-arm64-musl": "1.12.2",
|
"@unrs/resolver-binding-linux-arm64-musl": "1.11.1",
|
||||||
"@unrs/resolver-binding-linux-loong64-gnu": "1.12.2",
|
"@unrs/resolver-binding-linux-ppc64-gnu": "1.11.1",
|
||||||
"@unrs/resolver-binding-linux-loong64-musl": "1.12.2",
|
"@unrs/resolver-binding-linux-riscv64-gnu": "1.11.1",
|
||||||
"@unrs/resolver-binding-linux-ppc64-gnu": "1.12.2",
|
"@unrs/resolver-binding-linux-riscv64-musl": "1.11.1",
|
||||||
"@unrs/resolver-binding-linux-riscv64-gnu": "1.12.2",
|
"@unrs/resolver-binding-linux-s390x-gnu": "1.11.1",
|
||||||
"@unrs/resolver-binding-linux-riscv64-musl": "1.12.2",
|
"@unrs/resolver-binding-linux-x64-gnu": "1.11.1",
|
||||||
"@unrs/resolver-binding-linux-s390x-gnu": "1.12.2",
|
"@unrs/resolver-binding-linux-x64-musl": "1.11.1",
|
||||||
"@unrs/resolver-binding-linux-x64-gnu": "1.12.2",
|
"@unrs/resolver-binding-wasm32-wasi": "1.11.1",
|
||||||
"@unrs/resolver-binding-linux-x64-musl": "1.12.2",
|
"@unrs/resolver-binding-win32-arm64-msvc": "1.11.1",
|
||||||
"@unrs/resolver-binding-openharmony-arm64": "1.12.2",
|
"@unrs/resolver-binding-win32-ia32-msvc": "1.11.1",
|
||||||
"@unrs/resolver-binding-wasm32-wasi": "1.12.2",
|
"@unrs/resolver-binding-win32-x64-msvc": "1.11.1",
|
||||||
"@unrs/resolver-binding-win32-arm64-msvc": "1.12.2",
|
"napi-postinstall": "^0.3.0"
|
||||||
"@unrs/resolver-binding-win32-ia32-msvc": "1.12.2",
|
|
||||||
"@unrs/resolver-binding-win32-x64-msvc": "1.12.2",
|
|
||||||
"napi-postinstall": "^0.3.4"
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"update-browserslist-db": {
|
"update-browserslist-db": {
|
||||||
@@ -9163,6 +9214,20 @@
|
|||||||
"makeerror": "1.0.12"
|
"makeerror": "1.0.12"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"webidl-conversions": {
|
||||||
|
"version": "3.0.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz",
|
||||||
|
"integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ=="
|
||||||
|
},
|
||||||
|
"whatwg-url": {
|
||||||
|
"version": "5.0.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz",
|
||||||
|
"integrity": "sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==",
|
||||||
|
"requires": {
|
||||||
|
"tr46": "~0.0.3",
|
||||||
|
"webidl-conversions": "^3.0.0"
|
||||||
|
}
|
||||||
|
},
|
||||||
"which": {
|
"which": {
|
||||||
"version": "2.0.2",
|
"version": "2.0.2",
|
||||||
"resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz",
|
"resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz",
|
||||||
@@ -9258,6 +9323,20 @@
|
|||||||
"signal-exit": "^4.0.1"
|
"signal-exit": "^4.0.1"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"xml2js": {
|
||||||
|
"version": "0.5.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/xml2js/-/xml2js-0.5.0.tgz",
|
||||||
|
"integrity": "sha512-drPFnkQJik/O+uPKpqSgr22mpuFHqKdbS835iAQrUC73L2F5WkboIRd63ai/2Yg6I1jzifPFKH2NTK+cfglkIA==",
|
||||||
|
"requires": {
|
||||||
|
"sax": ">=0.6.0",
|
||||||
|
"xmlbuilder": "~11.0.0"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"xmlbuilder": {
|
||||||
|
"version": "11.0.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-11.0.1.tgz",
|
||||||
|
"integrity": "sha512-fDlsI/kFEx7gLvbecc0/ohLG50fugQp8ryHzMTuW9vSa1GJ0XYWKnhsUx7oie3G98+r56aTQIUB4kht42R3JvA=="
|
||||||
|
},
|
||||||
"y18n": {
|
"y18n": {
|
||||||
"version": "5.0.8",
|
"version": "5.0.8",
|
||||||
"resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz",
|
"resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz",
|
||||||
|
|||||||
43
package.json
43
package.json
@@ -2,18 +2,16 @@
|
|||||||
"name": "setup-uv",
|
"name": "setup-uv",
|
||||||
"version": "1.0.0",
|
"version": "1.0.0",
|
||||||
"private": true,
|
"private": true,
|
||||||
"type": "module",
|
|
||||||
"description": "Set up your GitHub Actions workflow with a specific version of uv",
|
"description": "Set up your GitHub Actions workflow with a specific version of uv",
|
||||||
"main": "dist/setup/index.cjs",
|
"main": "dist/index.js",
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"build": "tsc --noEmit",
|
"build": "tsc",
|
||||||
"check": "biome check --write",
|
"check": "biome check --write",
|
||||||
"package": "node scripts/build-dist.mjs",
|
"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",
|
||||||
"test:unit": "node --experimental-vm-modules ./node_modules/jest/bin/jest.js",
|
"test": "jest",
|
||||||
"test": "npm run build && npm run test:unit",
|
|
||||||
"act": "act pull_request -W .github/workflows/test.yml --container-architecture linux/amd64 -s GITHUB_TOKEN=\"$(gh auth token)\"",
|
"act": "act pull_request -W .github/workflows/test.yml --container-architecture linux/amd64 -s GITHUB_TOKEN=\"$(gh auth token)\"",
|
||||||
"update-known-checksums": "RUNNER_TEMP=known_versions node dist/update-known-checksums/index.cjs src/download/checksum/known-checksums.ts",
|
"update-known-versions": "RUNNER_TEMP=known_versions node dist/update-known-versions/index.js src/download/checksum/known-checksums.ts version-manifest.json",
|
||||||
"all": "npm run build && npm run check && npm run package && npm run test:unit"
|
"all": "npm run build && npm run check && npm run package && npm test"
|
||||||
},
|
},
|
||||||
"repository": {
|
"repository": {
|
||||||
"type": "git",
|
"type": "git",
|
||||||
@@ -28,26 +26,25 @@
|
|||||||
"author": "@eifinger",
|
"author": "@eifinger",
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@actions/cache": "^6.0.0",
|
"@actions/cache": "^4.1.0",
|
||||||
"@actions/core": "^3.0.0",
|
"@actions/core": "^1.11.1",
|
||||||
"@actions/exec": "^3.0.0",
|
"@actions/exec": "^1.1.1",
|
||||||
"@actions/glob": "^0.6.1",
|
"@actions/glob": "^0.5.0",
|
||||||
"@actions/io": "^3.0.2",
|
"@actions/io": "^1.1.3",
|
||||||
"@actions/tool-cache": "^4.0.0",
|
"@actions/tool-cache": "^2.0.2",
|
||||||
"@renovatebot/pep440": "^4.2.2",
|
"@renovatebot/pep440": "^4.2.1",
|
||||||
"smol-toml": "^1.6.1",
|
"smol-toml": "^1.4.2",
|
||||||
"undici": "^8.3.0"
|
"undici": "5.28.5"
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@biomejs/biome": "^2.4.15",
|
"@biomejs/biome": "2.3.7",
|
||||||
"@types/js-yaml": "^4.0.9",
|
"@types/js-yaml": "^4.0.9",
|
||||||
"@types/node": "^25.5.0",
|
"@types/node": "^24.10.1",
|
||||||
"@types/semver": "^7.7.1",
|
"@types/semver": "^7.7.1",
|
||||||
"@vercel/ncc": "^0.38.4",
|
"@vercel/ncc": "^0.38.4",
|
||||||
"esbuild": "^0.28.0",
|
"jest": "^30.2.0",
|
||||||
"jest": "^30.4.2",
|
"js-yaml": "^4.1.0",
|
||||||
"js-yaml": "^4.1.1",
|
"ts-jest": "^29.4.5",
|
||||||
"ts-jest": "^29.4.11",
|
|
||||||
"typescript": "^5.9.3"
|
"typescript": "^5.9.3"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,33 +0,0 @@
|
|||||||
import { rm } from "node:fs/promises";
|
|
||||||
import { build } from "esbuild";
|
|
||||||
|
|
||||||
const builds = [
|
|
||||||
{
|
|
||||||
entryPoints: ["src/setup-uv.ts"],
|
|
||||||
outfile: "dist/setup/index.cjs",
|
|
||||||
staleOutfiles: ["dist/setup/index.mjs"],
|
|
||||||
},
|
|
||||||
{
|
|
||||||
entryPoints: ["src/save-cache.ts"],
|
|
||||||
outfile: "dist/save-cache/index.cjs",
|
|
||||||
staleOutfiles: ["dist/save-cache/index.mjs"],
|
|
||||||
},
|
|
||||||
{
|
|
||||||
entryPoints: ["src/update-known-checksums.ts"],
|
|
||||||
outfile: "dist/update-known-checksums/index.cjs",
|
|
||||||
staleOutfiles: ["dist/update-known-checksums/index.mjs"],
|
|
||||||
},
|
|
||||||
];
|
|
||||||
|
|
||||||
for (const { staleOutfiles, ...options } of builds) {
|
|
||||||
await Promise.all(
|
|
||||||
staleOutfiles.map((outfile) => rm(outfile, { force: true })),
|
|
||||||
);
|
|
||||||
await build({
|
|
||||||
bundle: true,
|
|
||||||
format: "cjs",
|
|
||||||
platform: "node",
|
|
||||||
target: "node24",
|
|
||||||
...options,
|
|
||||||
});
|
|
||||||
}
|
|
||||||
64
src/cache/restore-cache.ts
vendored
64
src/cache/restore-cache.ts
vendored
@@ -1,8 +1,15 @@
|
|||||||
import * as cache from "@actions/cache";
|
import * as cache from "@actions/cache";
|
||||||
import * as core from "@actions/core";
|
import * as core from "@actions/core";
|
||||||
import { hashFiles } from "../hash/hash-files";
|
import { hashFiles } from "../hash/hash-files";
|
||||||
import type { SetupInputs } from "../utils/inputs";
|
import {
|
||||||
import * as log from "../utils/logging";
|
cacheDependencyGlob,
|
||||||
|
cacheLocalPath,
|
||||||
|
cachePython,
|
||||||
|
cacheSuffix,
|
||||||
|
pruneCache,
|
||||||
|
pythonDir,
|
||||||
|
restoreCache as shouldRestoreCache,
|
||||||
|
} from "../utils/inputs";
|
||||||
import { getArch, getOSNameVersion, getPlatform } from "../utils/platforms";
|
import { getArch, getOSNameVersion, getPlatform } from "../utils/platforms";
|
||||||
|
|
||||||
export const STATE_CACHE_KEY = "cache-key";
|
export const STATE_CACHE_KEY = "cache-key";
|
||||||
@@ -11,21 +18,18 @@ export const STATE_PYTHON_CACHE_MATCHED_KEY = "python-cache-matched-key";
|
|||||||
|
|
||||||
const CACHE_VERSION = "2";
|
const CACHE_VERSION = "2";
|
||||||
|
|
||||||
export async function restoreCache(
|
export async function restoreCache(pythonVersion?: string): Promise<void> {
|
||||||
inputs: SetupInputs,
|
const cacheKey = await computeKeys(pythonVersion);
|
||||||
pythonVersion?: string,
|
|
||||||
): Promise<void> {
|
|
||||||
const cacheKey = await computeKeys(inputs, pythonVersion);
|
|
||||||
core.saveState(STATE_CACHE_KEY, cacheKey);
|
core.saveState(STATE_CACHE_KEY, cacheKey);
|
||||||
core.setOutput("cache-key", cacheKey);
|
core.setOutput("cache-key", cacheKey);
|
||||||
|
|
||||||
if (!inputs.restoreCache) {
|
if (!shouldRestoreCache) {
|
||||||
log.info("restore-cache is false. Skipping restore cache step.");
|
core.info("restore-cache is false. Skipping restore cache step.");
|
||||||
core.setOutput("python-cache-hit", false);
|
core.setOutput("python-cache-hit", false);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (inputs.cacheLocalPath === undefined) {
|
if (cacheLocalPath === undefined) {
|
||||||
throw new Error(
|
throw new Error(
|
||||||
"cache-local-path is not set. Cannot restore cache without a valid cache path.",
|
"cache-local-path is not set. Cannot restore cache without a valid cache path.",
|
||||||
);
|
);
|
||||||
@@ -33,15 +37,15 @@ export async function restoreCache(
|
|||||||
|
|
||||||
await restoreCacheFromKey(
|
await restoreCacheFromKey(
|
||||||
cacheKey,
|
cacheKey,
|
||||||
inputs.cacheLocalPath.path,
|
cacheLocalPath.path,
|
||||||
STATE_CACHE_MATCHED_KEY,
|
STATE_CACHE_MATCHED_KEY,
|
||||||
"cache-hit",
|
"cache-hit",
|
||||||
);
|
);
|
||||||
|
|
||||||
if (inputs.cachePython) {
|
if (cachePython) {
|
||||||
await restoreCacheFromKey(
|
await restoreCacheFromKey(
|
||||||
`${cacheKey}-python`,
|
`${cacheKey}-python`,
|
||||||
inputs.pythonDir,
|
pythonDir,
|
||||||
STATE_PYTHON_CACHE_MATCHED_KEY,
|
STATE_PYTHON_CACHE_MATCHED_KEY,
|
||||||
"python-cache-hit",
|
"python-cache-hit",
|
||||||
);
|
);
|
||||||
@@ -56,7 +60,7 @@ async function restoreCacheFromKey(
|
|||||||
stateKey: string,
|
stateKey: string,
|
||||||
outputKey: string,
|
outputKey: string,
|
||||||
): Promise<void> {
|
): Promise<void> {
|
||||||
log.info(
|
core.info(
|
||||||
`Trying to restore cache from GitHub Actions cache with key: ${cacheKey}`,
|
`Trying to restore cache from GitHub Actions cache with key: ${cacheKey}`,
|
||||||
);
|
);
|
||||||
let matchedKey: string | undefined;
|
let matchedKey: string | undefined;
|
||||||
@@ -64,7 +68,7 @@ async function restoreCacheFromKey(
|
|||||||
matchedKey = await cache.restoreCache([cachePath], cacheKey);
|
matchedKey = await cache.restoreCache([cachePath], cacheKey);
|
||||||
} catch (err) {
|
} catch (err) {
|
||||||
const message = (err as Error).message;
|
const message = (err as Error).message;
|
||||||
log.warning(message);
|
core.warning(message);
|
||||||
core.setOutput(outputKey, false);
|
core.setOutput(outputKey, false);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
@@ -72,34 +76,28 @@ async function restoreCacheFromKey(
|
|||||||
handleMatchResult(matchedKey, cacheKey, stateKey, outputKey);
|
handleMatchResult(matchedKey, cacheKey, stateKey, outputKey);
|
||||||
}
|
}
|
||||||
|
|
||||||
async function computeKeys(
|
async function computeKeys(pythonVersion?: string): Promise<string> {
|
||||||
inputs: SetupInputs,
|
|
||||||
pythonVersion?: string,
|
|
||||||
): Promise<string> {
|
|
||||||
let cacheDependencyPathHash = "-";
|
let cacheDependencyPathHash = "-";
|
||||||
if (inputs.cacheDependencyGlob !== "") {
|
if (cacheDependencyGlob !== "") {
|
||||||
log.info(
|
core.info(
|
||||||
`Searching files using cache dependency glob: ${inputs.cacheDependencyGlob.split("\n").join(",")}`,
|
`Searching files using cache dependency glob: ${cacheDependencyGlob.split("\n").join(",")}`,
|
||||||
);
|
|
||||||
cacheDependencyPathHash += await hashFiles(
|
|
||||||
inputs.cacheDependencyGlob,
|
|
||||||
true,
|
|
||||||
);
|
);
|
||||||
|
cacheDependencyPathHash += await hashFiles(cacheDependencyGlob, true);
|
||||||
if (cacheDependencyPathHash === "-") {
|
if (cacheDependencyPathHash === "-") {
|
||||||
log.warning(
|
core.warning(
|
||||||
`No file matched to [${inputs.cacheDependencyGlob.split("\n").join(",")}]. The cache will never get invalidated. Make sure you have checked out the target repository and configured the cache-dependency-glob input correctly.`,
|
`No file matched to [${cacheDependencyGlob.split("\n").join(",")}]. The cache will never get invalidated. Make sure you have checked out the target repository and configured the cache-dependency-glob input correctly.`,
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (cacheDependencyPathHash === "-") {
|
if (cacheDependencyPathHash === "-") {
|
||||||
cacheDependencyPathHash = "-no-dependency-glob";
|
cacheDependencyPathHash = "-no-dependency-glob";
|
||||||
}
|
}
|
||||||
const suffix = inputs.cacheSuffix ? `-${inputs.cacheSuffix}` : "";
|
const suffix = cacheSuffix ? `-${cacheSuffix}` : "";
|
||||||
const version = pythonVersion ?? "unknown";
|
const version = pythonVersion ?? "unknown";
|
||||||
const platform = await getPlatform();
|
const platform = await getPlatform();
|
||||||
const osNameVersion = getOSNameVersion();
|
const osNameVersion = getOSNameVersion();
|
||||||
const pruned = inputs.pruneCache ? "-pruned" : "";
|
const pruned = pruneCache ? "-pruned" : "";
|
||||||
const python = inputs.cachePython ? "-py" : "";
|
const python = cachePython ? "-py" : "";
|
||||||
return `setup-uv-${CACHE_VERSION}-${getArch()}-${platform}-${osNameVersion}-${version}${pruned}${python}${cacheDependencyPathHash}${suffix}`;
|
return `setup-uv-${CACHE_VERSION}-${getArch()}-${platform}-${osNameVersion}-${version}${pruned}${python}${cacheDependencyPathHash}${suffix}`;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -110,12 +108,12 @@ function handleMatchResult(
|
|||||||
outputKey: string,
|
outputKey: string,
|
||||||
): void {
|
): void {
|
||||||
if (!matchedKey) {
|
if (!matchedKey) {
|
||||||
log.info(`No GitHub Actions cache found for key: ${primaryKey}`);
|
core.info(`No GitHub Actions cache found for key: ${primaryKey}`);
|
||||||
core.setOutput(outputKey, false);
|
core.setOutput(outputKey, false);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
core.saveState(stateKey, matchedKey);
|
core.saveState(stateKey, matchedKey);
|
||||||
log.info(`cache restored from GitHub Actions cache with key: ${matchedKey}`);
|
core.info(`cache restored from GitHub Actions cache with key: ${matchedKey}`);
|
||||||
core.setOutput(outputKey, true);
|
core.setOutput(outputKey, true);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -6,26 +6,33 @@ import type { Architecture, Platform } from "../../utils/platforms";
|
|||||||
import { KNOWN_CHECKSUMS } from "./known-checksums";
|
import { KNOWN_CHECKSUMS } from "./known-checksums";
|
||||||
|
|
||||||
export async function validateChecksum(
|
export async function validateChecksum(
|
||||||
checksum: string | undefined,
|
checkSum: string | undefined,
|
||||||
downloadPath: string,
|
downloadPath: string,
|
||||||
arch: Architecture,
|
arch: Architecture,
|
||||||
platform: Platform,
|
platform: Platform,
|
||||||
version: string,
|
version: string,
|
||||||
|
ndjsonChecksum?: string,
|
||||||
): Promise<void> {
|
): Promise<void> {
|
||||||
|
// Priority: user-provided checksum > KNOWN_CHECKSUMS > NDJSON fallback
|
||||||
const key = `${arch}-${platform}-${version}`;
|
const key = `${arch}-${platform}-${version}`;
|
||||||
const hasProvidedChecksum = checksum !== undefined && checksum !== "";
|
let checksumToUse: string | undefined;
|
||||||
const checksumToUse = hasProvidedChecksum ? checksum : KNOWN_CHECKSUMS[key];
|
let source: string;
|
||||||
|
|
||||||
if (checksumToUse === undefined) {
|
if (checkSum !== undefined && checkSum !== "") {
|
||||||
|
checksumToUse = checkSum;
|
||||||
|
source = "user-provided";
|
||||||
|
} else if (key in KNOWN_CHECKSUMS) {
|
||||||
|
checksumToUse = KNOWN_CHECKSUMS[key];
|
||||||
|
source = `known checksum for ${key}`;
|
||||||
|
} else if (ndjsonChecksum !== undefined && ndjsonChecksum !== "") {
|
||||||
|
checksumToUse = ndjsonChecksum;
|
||||||
|
source = "NDJSON version data";
|
||||||
|
} else {
|
||||||
core.debug(`No checksum found for ${key}.`);
|
core.debug(`No checksum found for ${key}.`);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
const checksumSource = hasProvidedChecksum
|
core.debug(`Using ${source}.`);
|
||||||
? "provided checksum"
|
|
||||||
: `KNOWN_CHECKSUMS entry for ${key}`;
|
|
||||||
|
|
||||||
core.debug(`Validating checksum using ${checksumSource}.`);
|
|
||||||
const isValid = await validateFileCheckSum(downloadPath, checksumToUse);
|
const isValid = await validateFileCheckSum(downloadPath, checksumToUse);
|
||||||
|
|
||||||
if (!isValid) {
|
if (!isValid) {
|
||||||
@@ -33,7 +40,6 @@ export async function validateChecksum(
|
|||||||
`Checksum for ${downloadPath} did not match ${checksumToUse}.`,
|
`Checksum for ${downloadPath} did not match ${checksumToUse}.`,
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
core.debug(`Checksum for ${downloadPath} is valid.`);
|
core.debug(`Checksum for ${downloadPath} is valid.`);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -1,1273 +1,5 @@
|
|||||||
// AUTOGENERATED_DO_NOT_EDIT
|
// AUTOGENERATED_DO_NOT_EDIT
|
||||||
export const KNOWN_CHECKSUMS: { [key: string]: string } = {
|
export const KNOWN_CHECKSUMS: { [key: string]: string } = {
|
||||||
"aarch64-apple-darwin-0.11.18":
|
|
||||||
"1a7adf8dadae3b55853115d13a8bf564d219597ad13824b93b213706933863e5",
|
|
||||||
"aarch64-pc-windows-msvc-0.11.18":
|
|
||||||
"0689e1a40d36b387522d2b1b865cd98a15ddd4a7507e256ad93be6f6a335fec1",
|
|
||||||
"aarch64-unknown-linux-gnu-0.11.18":
|
|
||||||
"0f03c6648df1c159557f4222c0f37250f84733fb88d6fc3c16770e17c177a8c9",
|
|
||||||
"aarch64-unknown-linux-musl-0.11.18":
|
|
||||||
"6d895725333680bf7633ad635baff8e49dc45d3b52e00b2b3adf6ced41f2ebe2",
|
|
||||||
"arm-unknown-linux-musleabihf-0.11.18":
|
|
||||||
"c4fe354b28c489fa6649531808076c43eb3a34122df49b0a3005bb75dbf101c3",
|
|
||||||
"armv7-unknown-linux-gnueabihf-0.11.18":
|
|
||||||
"a70a8b1124dc1fabcce9f2bbe6591c72a05d49df74125d1c327b5745f2becbb6",
|
|
||||||
"armv7-unknown-linux-musleabihf-0.11.18":
|
|
||||||
"f8b6f4df3ff9d142a25892be575ade438672a8353ad71997f7db88e9b9a1062d",
|
|
||||||
"i686-pc-windows-msvc-0.11.18":
|
|
||||||
"7505112a7bf72f50391c50f2aa07950b95b3c43c7d9fd4da5626876407d15dda",
|
|
||||||
"i686-unknown-linux-gnu-0.11.18":
|
|
||||||
"5f3df0d62af1d174a06b82a6faf1a5e9a1f729b87d11c7d9cd87d4241e04f23d",
|
|
||||||
"i686-unknown-linux-musl-0.11.18":
|
|
||||||
"4237cfcd03fb8767a7ec713ab3db14381d83bbd0bf5ccc88cd6f28ac8c2c616f",
|
|
||||||
"powerpc64le-unknown-linux-gnu-0.11.18":
|
|
||||||
"fc8f46a198e540ca2d89fd9480da0648d673ff3e25b4048c82ca5c292a478052",
|
|
||||||
"riscv64gc-unknown-linux-gnu-0.11.18":
|
|
||||||
"cdb0555db7828bbd1dc24e55171b8ac3dbbc24fe17b6a7387783cd4d543a1538",
|
|
||||||
"riscv64gc-unknown-linux-musl-0.11.18":
|
|
||||||
"3d5b533080bb593c82b281b8d289e29d51b97c0994655099845752e948181fe2",
|
|
||||||
"s390x-unknown-linux-gnu-0.11.18":
|
|
||||||
"7a91aa963680f2fe14ebf89291cf8eafcff634eccdeb6d301e0252b282171818",
|
|
||||||
"x86_64-apple-darwin-0.11.18":
|
|
||||||
"00a61e3db99b53c927a7e6c4ccdccb898aa3253d07928822211e9dc570a25661",
|
|
||||||
"x86_64-pc-windows-msvc-0.11.18":
|
|
||||||
"bf8e0021336b7c77bd80a078b612125f385b08f541437edaea8c8ca9e574db0d",
|
|
||||||
"x86_64-unknown-linux-gnu-0.11.18":
|
|
||||||
"588f3e360f69ce02b6982aa99f2240e803933a6b7e176ac01617830adf955add",
|
|
||||||
"x86_64-unknown-linux-musl-0.11.18":
|
|
||||||
"a095a969fc8357f42e35652e0554525a47a29010ddb814bd82650c2ffa7d6d62",
|
|
||||||
"aarch64-apple-darwin-0.11.17":
|
|
||||||
"2a162f6b90ff3691a2f9cae1622e066a3ce592e110f66670cdcc841324b28226",
|
|
||||||
"aarch64-pc-windows-msvc-0.11.17":
|
|
||||||
"f4463aa9671c6d153d32f2a9b272389675a711a9bca806c4ab4a3c7559b045c2",
|
|
||||||
"aarch64-unknown-linux-gnu-0.11.17":
|
|
||||||
"de008880a903ac2c5654647dc19a75c0d6652313c977a2bc5ce05e1e3a93429e",
|
|
||||||
"aarch64-unknown-linux-musl-0.11.17":
|
|
||||||
"9e5eaf16ffad968fc689f18c2733ace914ed417d4e5572e92d807fd51a90228c",
|
|
||||||
"arm-unknown-linux-musleabihf-0.11.17":
|
|
||||||
"201c7d727423095aa4ba39cc79b16cac2465720d4348270a3977824009526179",
|
|
||||||
"armv7-unknown-linux-gnueabihf-0.11.17":
|
|
||||||
"c941377b20fdd4b101376a9c8ce37c209d36655697815a32658a7cbcb3212409",
|
|
||||||
"armv7-unknown-linux-musleabihf-0.11.17":
|
|
||||||
"12606cc40d15c5ab5fd06e434c8ee1b0ef7e3ca3cd4d5b2b135a16dd1a45fed2",
|
|
||||||
"i686-pc-windows-msvc-0.11.17":
|
|
||||||
"be48cd9aa35c8615eff3dba6a24e214edf00885150eacde032a258399131c59d",
|
|
||||||
"i686-unknown-linux-gnu-0.11.17":
|
|
||||||
"89f859f3bfaf3a74733aef671e6a4ade36173623d4539d3559e11caa2c722718",
|
|
||||||
"i686-unknown-linux-musl-0.11.17":
|
|
||||||
"8d2ecb44951b80861570f4a7f732c9f16f3b342450eeb0bd2eef876b10395400",
|
|
||||||
"powerpc64le-unknown-linux-gnu-0.11.17":
|
|
||||||
"714c7b292c805231edbfc77ca14b29e6e469342236ef1cfb58fe7d6f8fed48a4",
|
|
||||||
"riscv64gc-unknown-linux-gnu-0.11.17":
|
|
||||||
"f8bece740520b35f69c82653da77912b38a29a5634a6e0ce7d83122a485c6a6f",
|
|
||||||
"riscv64gc-unknown-linux-musl-0.11.17":
|
|
||||||
"ae07b4e9c2bea3dcba2e3267e9e4229e45de63c15e74eee7fac7ccf9df6e04cd",
|
|
||||||
"s390x-unknown-linux-gnu-0.11.17":
|
|
||||||
"10ec2070644dda19ab9c8dcc3d6f3bbf4b09ad6665b8a8be067d7fdb5a58b56c",
|
|
||||||
"x86_64-apple-darwin-0.11.17":
|
|
||||||
"6c66e41eaf4d15abeda58d3f268161b6e3f742d98390341b174a7cfc1b48841d",
|
|
||||||
"x86_64-pc-windows-msvc-0.11.17":
|
|
||||||
"35fc29e03e62f3cda769bc12773f3cb70ce305d0d36c0d8bd0c117dd0b3fcd14",
|
|
||||||
"x86_64-unknown-linux-gnu-0.11.17":
|
|
||||||
"0017ccecaeb4d431d7f93b583ebff0c5c38e00eb734fcf13d05f72ca419125fe",
|
|
||||||
"x86_64-unknown-linux-musl-0.11.17":
|
|
||||||
"4231a429d4e0f7c1937d8916658c08a7706cd7872afebeb87203a18c2e0dc28e",
|
|
||||||
"aarch64-apple-darwin-0.11.16":
|
|
||||||
"2b25be1af546be330b340b0a76b99f989daa6d92678fdffb87438e661e9d88fb",
|
|
||||||
"aarch64-pc-windows-msvc-0.11.16":
|
|
||||||
"e4f8e70eb21f0f4efd2eeb159ab289f9a16057d59881a4475758be4ce39bc8c5",
|
|
||||||
"aarch64-unknown-linux-gnu-0.11.16":
|
|
||||||
"8c9d0f0ee98166ae6ab198747519ba6f25db29d185bd2ae5960ecebc91a5c22a",
|
|
||||||
"aarch64-unknown-linux-musl-0.11.16":
|
|
||||||
"ac022d96411143b9a2dd75ea711fa8dd4cd14538bf248f2e5df3c10a80f7f6a4",
|
|
||||||
"arm-unknown-linux-musleabihf-0.11.16":
|
|
||||||
"cdd60c84597690139e3696461d1278bf4dcd598cd44e3896a98aa75aa59965bf",
|
|
||||||
"armv7-unknown-linux-gnueabihf-0.11.16":
|
|
||||||
"71cf33cb511c9fe28ae261c0b4789e1fd9bb84d1bc68828db647b77305a15185",
|
|
||||||
"armv7-unknown-linux-musleabihf-0.11.16":
|
|
||||||
"f24fca34326c5b8f7ddc0001a40e5454bc8091ca67f9ce931ffdaef4ea4815e8",
|
|
||||||
"i686-pc-windows-msvc-0.11.16":
|
|
||||||
"7417090298bf202395b9b3d6eefb9230332d8d6c94a5616e531148a0b041c8e2",
|
|
||||||
"i686-unknown-linux-gnu-0.11.16":
|
|
||||||
"0d1e427cd3fcc042e85dfc75f6d95e076dff9b930241686969d6706afda21375",
|
|
||||||
"i686-unknown-linux-musl-0.11.16":
|
|
||||||
"d5e611deffd3f5fd637b2dc89dbe252342ce4a38c8970e63add8029afe2b5629",
|
|
||||||
"powerpc64le-unknown-linux-gnu-0.11.16":
|
|
||||||
"8a3b09ce14d14a75dbbf051cdb78a314fb579e78fb3a02e1ee833c4cb5f6e81e",
|
|
||||||
"riscv64gc-unknown-linux-gnu-0.11.16":
|
|
||||||
"0314895f159ce97bcedac00a4b97fa7e53c16fee911a6a2d9f0b69ee6461b7d5",
|
|
||||||
"riscv64gc-unknown-linux-musl-0.11.16":
|
|
||||||
"8a1aef4261011143f56c964eeaed5e06fa0cb95ff3005386381c610c91784feb",
|
|
||||||
"s390x-unknown-linux-gnu-0.11.16":
|
|
||||||
"d161e914ad552aed83478fe9766061844297dadfa77a43e56285a147bde0021e",
|
|
||||||
"x86_64-apple-darwin-0.11.16":
|
|
||||||
"6b91ae3de155f51bd1f5b74814821c79f016a176561f252cd9ddfb976939af2e",
|
|
||||||
"x86_64-pc-windows-msvc-0.11.16":
|
|
||||||
"dd9d6d6554bfab265bfa98aa8e8a406c5c3a7b97582f93de1f4d48d9154a0395",
|
|
||||||
"x86_64-unknown-linux-gnu-0.11.16":
|
|
||||||
"74947fe2c03315cf07e82ab3acc703eddef01aba4d5232a98e4c6825ec116131",
|
|
||||||
"x86_64-unknown-linux-musl-0.11.16":
|
|
||||||
"1bc4be1be0a000f893b0d1db97906cf392b63fa22fda9a0ecf33d0d4bbb4bc9a",
|
|
||||||
"aarch64-apple-darwin-0.11.15":
|
|
||||||
"7e5b336108f8576eda1939920ca0a805b4a9a3c3d3eb2f6140e38b7092fbe4f3",
|
|
||||||
"aarch64-pc-windows-msvc-0.11.15":
|
|
||||||
"9eac2d68f3a66326c3e1fc97ef28bd54f1d13136ec092c2f0a8173ae12aaaf1e",
|
|
||||||
"aarch64-unknown-linux-gnu-0.11.15":
|
|
||||||
"21a7dd1a03ea17ac0366887455dab15d215b31dba0870dcd65d3714e22f46c81",
|
|
||||||
"aarch64-unknown-linux-musl-0.11.15":
|
|
||||||
"6505075cec3f551fad4fe9026922967ff9c895c9f513c97682b24e7a1c9becd3",
|
|
||||||
"arm-unknown-linux-musleabihf-0.11.15":
|
|
||||||
"f9206848d617b7beec37c346624ad961d8d4110606990653ebbfc4c62b1f1741",
|
|
||||||
"armv7-unknown-linux-gnueabihf-0.11.15":
|
|
||||||
"eb6a12e3e80e1474c1018edc9541bbe71cdf2248fa17b583dcbcc7bb391ad0c0",
|
|
||||||
"armv7-unknown-linux-musleabihf-0.11.15":
|
|
||||||
"a40ee3c41443341846137afc5c7f29be766a9a677bd70c7ff91cbb4273e5383c",
|
|
||||||
"i686-pc-windows-msvc-0.11.15":
|
|
||||||
"6a9431f0044a1ff59fd6920f6f982b691acf336b6e26ac8cd40a02b5ab839cd1",
|
|
||||||
"i686-unknown-linux-gnu-0.11.15":
|
|
||||||
"557e329e76072b513e47bcd8b50ca4bad07ec87cb325cbfc05e6069847af06c4",
|
|
||||||
"i686-unknown-linux-musl-0.11.15":
|
|
||||||
"69490ca5580958cdee3353b54357925913ec0540dc8e09819294b9e5b6d48556",
|
|
||||||
"powerpc64le-unknown-linux-gnu-0.11.15":
|
|
||||||
"6be3637ef86cdee3f5fcfbc66681ecbf6d57c6a123398a1bdd09786d65a06016",
|
|
||||||
"riscv64gc-unknown-linux-gnu-0.11.15":
|
|
||||||
"a43e22243e3f3b1fb136a0998b730367fe2589ea98ce6cd4f0d7d20b9f77fb5b",
|
|
||||||
"riscv64gc-unknown-linux-musl-0.11.15":
|
|
||||||
"2256c9b625d67a55986adda62b09782b5547e28a79fba472e7e93ac3ec0af258",
|
|
||||||
"s390x-unknown-linux-gnu-0.11.15":
|
|
||||||
"df2b69ed893ce00e242d8cfe5b9fdc7b7a42d578df487d09aa624563a9801578",
|
|
||||||
"x86_64-apple-darwin-0.11.15":
|
|
||||||
"42bca7cc879d117ed7139a0e26de8cab0b6f033ad439a32144f324d1f8580d8c",
|
|
||||||
"x86_64-pc-windows-msvc-0.11.15":
|
|
||||||
"04b98d414a9000e25e5e0e7c9f53749e66b790cdaffc582829e6f58c544ee11c",
|
|
||||||
"x86_64-unknown-linux-gnu-0.11.15":
|
|
||||||
"b03e572f010bea94a4a52d42671ba72981e12894f71576181a1d26ff68546da7",
|
|
||||||
"x86_64-unknown-linux-musl-0.11.15":
|
|
||||||
"200ccf2f351849c5d6698714e7e7eb9ead1e8c097dbdbb43730e1a4e059ceb87",
|
|
||||||
"aarch64-apple-darwin-0.11.14":
|
|
||||||
"4333af5c0730d94323a7819bbdf87ce92dd07fc857d67fff0059e0fca31b5c02",
|
|
||||||
"aarch64-pc-windows-msvc-0.11.14":
|
|
||||||
"d66c76ba912ba66fed011e0189dfbc4527dd9e620a2b5d5d5ecd2ad8936601b8",
|
|
||||||
"aarch64-unknown-linux-gnu-0.11.14":
|
|
||||||
"c4958f729e216f1610632574ed927b8cf0af1bd02cb88cb30d948571727aee43",
|
|
||||||
"aarch64-unknown-linux-musl-0.11.14":
|
|
||||||
"d7d3966e46915c5f6932692aaf152a2473eecb1d2517ca4f8e88a07484b380b6",
|
|
||||||
"arm-unknown-linux-musleabihf-0.11.14":
|
|
||||||
"31b07fa8bc5bbc8f22064fc1d4238b53c663bdb4812cbfead0b43719571aec03",
|
|
||||||
"armv7-unknown-linux-gnueabihf-0.11.14":
|
|
||||||
"2aca3925d7ad91d2e02a0f9cf75974ebd077ec5cb939a5eb66aba096d5666819",
|
|
||||||
"armv7-unknown-linux-musleabihf-0.11.14":
|
|
||||||
"988d79544bbf55ebeaf6521d3cbf46957bcfbab998d22092ea860580639e2f30",
|
|
||||||
"i686-pc-windows-msvc-0.11.14":
|
|
||||||
"579408a1134ec3c45dd7b94187978b98b15df4e0c49ebf05c52565e3858d9f2a",
|
|
||||||
"i686-unknown-linux-gnu-0.11.14":
|
|
||||||
"8c93880c54dc7a632f602b7627d4338d80011ecf32e340fd2f67129df5325dc7",
|
|
||||||
"i686-unknown-linux-musl-0.11.14":
|
|
||||||
"c84acf1036767797a7be97a3315122b9565a78bf90b5733741b1abeefa58387f",
|
|
||||||
"powerpc64le-unknown-linux-gnu-0.11.14":
|
|
||||||
"d2da5ba5911b86dfec96f0737b7d1053ed78c0c65e51585db03fb4969b2a3825",
|
|
||||||
"riscv64gc-unknown-linux-gnu-0.11.14":
|
|
||||||
"55731359293842826cd82d5fbd826a6bce542c3fec458214604e308b352560ed",
|
|
||||||
"riscv64gc-unknown-linux-musl-0.11.14":
|
|
||||||
"86b053903d29a2d04441e4cbd05a8f690b8ec56f8959d27f15df13efffb5879b",
|
|
||||||
"s390x-unknown-linux-gnu-0.11.14":
|
|
||||||
"cc7b233541a76dd484516a39c06d9d14100d1048708483e6f49ee20b6cc5761b",
|
|
||||||
"x86_64-apple-darwin-0.11.14":
|
|
||||||
"9836c1440b0bd6aa5f81793648a339bd01d593b7b8f575de3b855dae4ab64654",
|
|
||||||
"x86_64-pc-windows-msvc-0.11.14":
|
|
||||||
"52ba5d19409aaa688a8a1a6ec8dfb6a4817230d20186e75f4006105c3e39a846",
|
|
||||||
"x86_64-unknown-linux-gnu-0.11.14":
|
|
||||||
"f3b623eb0e6141a7053d571d59a0bdc341e0f238ea8f5f0b4815ddbec9a2a296",
|
|
||||||
"x86_64-unknown-linux-musl-0.11.14":
|
|
||||||
"077d36f45a0cc6d440b653b2d5c53e7731121e99e54b0221267eec5d1cae76ce",
|
|
||||||
"aarch64-apple-darwin-0.11.13":
|
|
||||||
"196a58aa24da89144187670df7c407358028984537fbc2f8f2d8f7a2604980df",
|
|
||||||
"aarch64-pc-windows-msvc-0.11.13":
|
|
||||||
"07c3c997020430a9f287fc05ff4c63fd5744eec49df5392a34731ed1a0971f2e",
|
|
||||||
"aarch64-unknown-linux-gnu-0.11.13":
|
|
||||||
"12366407dc1fdba5179b10bd69c11ebfc2eff25791366089c0b2f5701056efc5",
|
|
||||||
"aarch64-unknown-linux-musl-0.11.13":
|
|
||||||
"bea8a97b1b3ed41491e075c1f474e7f0249582aa3f62849c4e874b5f34ddc95e",
|
|
||||||
"arm-unknown-linux-musleabihf-0.11.13":
|
|
||||||
"ee282adf170eb845821309ca6038fdd87a93dd25326f96efe6ea58a1b66a9064",
|
|
||||||
"armv7-unknown-linux-gnueabihf-0.11.13":
|
|
||||||
"4761e38e3d5ca62e87ef13bc35ba169e6ebd126472482095405367b31be88945",
|
|
||||||
"armv7-unknown-linux-musleabihf-0.11.13":
|
|
||||||
"d54342a96dda65339b4f7b9e6bb7a27b81aeeffca14e5dfa7911d00fe4a3ead9",
|
|
||||||
"i686-pc-windows-msvc-0.11.13":
|
|
||||||
"a9b2d96a118a401c7dc5b717752a074b6324ddc9b36dcb2b60466a4e2912a3ba",
|
|
||||||
"i686-unknown-linux-gnu-0.11.13":
|
|
||||||
"630774d3fd255a219a6eef58f004201737c60f4b282777fb99e599cd90567fe4",
|
|
||||||
"i686-unknown-linux-musl-0.11.13":
|
|
||||||
"52cb28c81ca43ea5184f944c31555981cb29c03c2497fa848541af5ee4d8448f",
|
|
||||||
"powerpc64le-unknown-linux-gnu-0.11.13":
|
|
||||||
"7f302104ea18a01381fe58434b593f887c4f10bc523ad50781de408fbec54354",
|
|
||||||
"riscv64gc-unknown-linux-gnu-0.11.13":
|
|
||||||
"3264ce97b34d5c8d37c1e67821a74960ca89237e001253309a3cda25fb416040",
|
|
||||||
"riscv64gc-unknown-linux-musl-0.11.13":
|
|
||||||
"44f23b8e59fd8628fb68383e4cbdf78c3cff02ed86d3dcea5605ebd7757ca363",
|
|
||||||
"s390x-unknown-linux-gnu-0.11.13":
|
|
||||||
"e0e5e0a652650900d97f6a660bae526601033d9d071ca5dd9ca735442161ebed",
|
|
||||||
"x86_64-apple-darwin-0.11.13":
|
|
||||||
"99aad3f4956f5b92efd83eca6d87bf03e10688899487ad541f904c9c25c61dc1",
|
|
||||||
"x86_64-pc-windows-msvc-0.11.13":
|
|
||||||
"0953ac2ef4fbe47ad469bfa80b658a577a02c4d73a2fb9c4c7c70dda432efded",
|
|
||||||
"x86_64-unknown-linux-gnu-0.11.13":
|
|
||||||
"f830ea3d38ae1492acf53cb7f2cd0f81d6ae22b42d2d7310a6c7d42c451e1a43",
|
|
||||||
"x86_64-unknown-linux-musl-0.11.13":
|
|
||||||
"5635afc285df86ce6f05f3f22335f9548b0026e58531904482c9670a1c1c65d9",
|
|
||||||
"aarch64-apple-darwin-0.11.12":
|
|
||||||
"bb7c6ef869ec00cd1452f4884acf23d00b153c356ba9197ae99a1bc1ceadb7f3",
|
|
||||||
"aarch64-pc-windows-msvc-0.11.12":
|
|
||||||
"393de1abc2f663cb9dd24405c7a7b31119e2a734609a233d9b89415821f39bf9",
|
|
||||||
"aarch64-unknown-linux-gnu-0.11.12":
|
|
||||||
"d6e3e5183e71bbd40400da3d2913743cefb98835d8312a5e7908c33865597515",
|
|
||||||
"aarch64-unknown-linux-musl-0.11.12":
|
|
||||||
"b70e87f15f12d750d218042c4ed36e41de0757eab249d332ee2e242e4174b5d5",
|
|
||||||
"arm-unknown-linux-musleabihf-0.11.12":
|
|
||||||
"c1991e652c345395eff3e43aaa0f2ce5d7f0c7ed0dd5a72dcb0a3c109289ac11",
|
|
||||||
"armv7-unknown-linux-gnueabihf-0.11.12":
|
|
||||||
"432e6a96ecc976861dc884d96ac3aa3cc305abc3bb49d3204544477d4a290c64",
|
|
||||||
"armv7-unknown-linux-musleabihf-0.11.12":
|
|
||||||
"a8855302bad162af78c8fa53f402128a3496b7806dc7201252e7f123eefed8b9",
|
|
||||||
"i686-pc-windows-msvc-0.11.12":
|
|
||||||
"98efe2a4cb9529724639aac488c43b28753e738b0f4c679d3e2dea150e5a9b20",
|
|
||||||
"i686-unknown-linux-gnu-0.11.12":
|
|
||||||
"22dbbbcd9088ad3ddefce9be142ce2b127b3950718222413e3890f7fbf4a567d",
|
|
||||||
"i686-unknown-linux-musl-0.11.12":
|
|
||||||
"fc5ff3fef5facf01a664f0942f372988804bda1bb8c7f9e9642d9d29398cf129",
|
|
||||||
"powerpc64le-unknown-linux-gnu-0.11.12":
|
|
||||||
"36619f91357b240648caed6557fe893922c7986319c070f4feb225e8f3180b49",
|
|
||||||
"riscv64gc-unknown-linux-gnu-0.11.12":
|
|
||||||
"9bdcac006731a2094ad002d93c4fe84a259484e4d35566e29fcb76962961cef9",
|
|
||||||
"riscv64gc-unknown-linux-musl-0.11.12":
|
|
||||||
"80012ba0aa3b21561c96edda003add87d9111daf3425e5cc3243957ca76ba396",
|
|
||||||
"s390x-unknown-linux-gnu-0.11.12":
|
|
||||||
"c9ae09f73066fb9c48beaec2ab4ad2407ce94354c5224e2982196577d6bf4581",
|
|
||||||
"x86_64-apple-darwin-0.11.12":
|
|
||||||
"32fb217e6181384bf6534b31adcc66cd552eff98643c4bb35832be8552486912",
|
|
||||||
"x86_64-pc-windows-msvc-0.11.12":
|
|
||||||
"e46956a6b088a0382101c797eef945c1b03826e629e968d434cf838d42d85b6b",
|
|
||||||
"x86_64-unknown-linux-gnu-0.11.12":
|
|
||||||
"9acdecddacba550ee616c02bb4616d894352022550c5977524556fd5077ce1d4",
|
|
||||||
"x86_64-unknown-linux-musl-0.11.12":
|
|
||||||
"591a7557f5ba7e51565f338dd4c50cebc12820ec2ebb8403a4304685f8d53ab9",
|
|
||||||
"aarch64-apple-darwin-0.11.11":
|
|
||||||
"3a185bf8f46a7b7c8b910d111825907b1638d0ae503cb3c333ae205772354046",
|
|
||||||
"aarch64-pc-windows-msvc-0.11.11":
|
|
||||||
"3d8f05de7ed9de885299565f78832a13e443be51de86260f25edb7cfd0fa05f6",
|
|
||||||
"aarch64-unknown-linux-gnu-0.11.11":
|
|
||||||
"155fe4d3b3cb4bfce118ab4b1380f71515ae874d13d9858171b4f9c26e16684d",
|
|
||||||
"aarch64-unknown-linux-musl-0.11.11":
|
|
||||||
"0fc9a49b3900f77ffaccf3ff69a70ddbc1d479e70ac5d8fd6416a7577b03c5a1",
|
|
||||||
"arm-unknown-linux-musleabihf-0.11.11":
|
|
||||||
"ef98cbcd50a62d063958740194497a44fc1dc07867b6fe001db1ab2e621f1f2e",
|
|
||||||
"armv7-unknown-linux-gnueabihf-0.11.11":
|
|
||||||
"c102609d34c06bdec87896d738a0e91df21f71faf21ae4379c7a1d7c961879e1",
|
|
||||||
"armv7-unknown-linux-musleabihf-0.11.11":
|
|
||||||
"6660651927263c587769697572f4843ac6ea91b2b2d24be1b9c8465e87d05b46",
|
|
||||||
"i686-pc-windows-msvc-0.11.11":
|
|
||||||
"c230fccbe5737e1a54a2f77ff3116c88fbee21c9b437323907618931b767410e",
|
|
||||||
"i686-unknown-linux-gnu-0.11.11":
|
|
||||||
"4be5e9901e87f90a9eb5ee11a08a8df2f637df76f3a2dcb11778991b7db9d9a2",
|
|
||||||
"i686-unknown-linux-musl-0.11.11":
|
|
||||||
"d2ded13fbaf59f5f1d3363c47a7cafb73cb7454db1e16cea13365bc28c75522d",
|
|
||||||
"powerpc64le-unknown-linux-gnu-0.11.11":
|
|
||||||
"5348415c8606e5efac5cb293d83d2ae71e43a2dcabf677c6a4cac965c1982c74",
|
|
||||||
"riscv64gc-unknown-linux-gnu-0.11.11":
|
|
||||||
"0eadf068918b960e7bf62eda83613c08d99f0d002b8d475d3383993191554d04",
|
|
||||||
"riscv64gc-unknown-linux-musl-0.11.11":
|
|
||||||
"0ee27ce77e32496bc46e01f1cbb730d13647cbca41934a5871bf2fe5fdc5ba39",
|
|
||||||
"s390x-unknown-linux-gnu-0.11.11":
|
|
||||||
"f19c950a93b1f5af4108267743f3de61346250b35c60cc552fb4187b534af770",
|
|
||||||
"x86_64-apple-darwin-0.11.11":
|
|
||||||
"57a1a8085b4088fbcbd5080c0c30723ba6d0692c89cd071c08a4209e8da602d1",
|
|
||||||
"x86_64-pc-windows-msvc-0.11.11":
|
|
||||||
"2f75a0db2c3530b6b3c24434dc38137f61ff1f4e5f2d7b4ddc5bcd142cf58b65",
|
|
||||||
"x86_64-unknown-linux-gnu-0.11.11":
|
|
||||||
"a767848254391855c96df271e9ca8b7f72dd172d310460447853d25d907b9ae0",
|
|
||||||
"x86_64-unknown-linux-musl-0.11.11":
|
|
||||||
"80521f18ba83109acd17e0730bd8ff898c3426aa62252c627d63418b353e788a",
|
|
||||||
"aarch64-apple-darwin-0.11.10":
|
|
||||||
"e93d6af7dfff7071edd16342ba9eeccfc28d8a7deaa5707efeecf63a63a74453",
|
|
||||||
"aarch64-pc-windows-msvc-0.11.10":
|
|
||||||
"3d5878cfc55106083ada1e41cccdde477413701eb9d34767e8ad973bb0863de6",
|
|
||||||
"aarch64-unknown-linux-gnu-0.11.10":
|
|
||||||
"91d5f4583539640765662ef86edcf3bf4db07439b622c7bed50c961240162046",
|
|
||||||
"aarch64-unknown-linux-musl-0.11.10":
|
|
||||||
"14c21bef6b54d268c6583d851095a543e6cb03a8e4bdca9a44ab91532b14cbc2",
|
|
||||||
"arm-unknown-linux-musleabihf-0.11.10":
|
|
||||||
"bea66b5dcfb3460a9a2c399033b071ec4a825ff3bf27c3fedc666dcbdc2354dd",
|
|
||||||
"armv7-unknown-linux-gnueabihf-0.11.10":
|
|
||||||
"ba259f6c14b5653f1b36400fb8c7862e499a4537201edda76991f2b044014fdb",
|
|
||||||
"armv7-unknown-linux-musleabihf-0.11.10":
|
|
||||||
"9d6e2ea60fae542e2bd9b36f44672e99fd941f7da0898533bc274329b001a055",
|
|
||||||
"i686-pc-windows-msvc-0.11.10":
|
|
||||||
"d56ad43d355d6c40fee4009d0fb7e6710416ce9b25bebf12a4127e51b3595b3c",
|
|
||||||
"i686-unknown-linux-gnu-0.11.10":
|
|
||||||
"ade0a830fd0b4b67c373c8ed1e46e5af2e312032ebbe15438beddeb5b1e4d8f3",
|
|
||||||
"i686-unknown-linux-musl-0.11.10":
|
|
||||||
"fb2ba8c938247f82908acf6ad41a19935b36d0fe7bbe6945ac1ba1f6044756fc",
|
|
||||||
"powerpc64le-unknown-linux-gnu-0.11.10":
|
|
||||||
"dfe5b338e2ebc1e5a2850a17bce35edb8e47550c221d9245c007eaf3003cb6ed",
|
|
||||||
"riscv64gc-unknown-linux-gnu-0.11.10":
|
|
||||||
"0c8776a0814bf7e32e025d13c733c3a800171a16fba77d1c21e6f10be6a28d8b",
|
|
||||||
"riscv64gc-unknown-linux-musl-0.11.10":
|
|
||||||
"8ae35c10dfcae262dee07c93a3d8d10c2ce597d4a152ba1a2f1385395a286ec3",
|
|
||||||
"s390x-unknown-linux-gnu-0.11.10":
|
|
||||||
"66dfdc5a216a9fbd7c2541a66f753544dddbcbb2f7a597c9bbc91d10af534c7d",
|
|
||||||
"x86_64-apple-darwin-0.11.10":
|
|
||||||
"8fd091211089973f528e147166e3af683ab4ecebd4312a55d0d17d87adbde67a",
|
|
||||||
"x86_64-pc-windows-msvc-0.11.10":
|
|
||||||
"7a0c424c7bc55a74751f13592235953ebbe182fa00355f7ae3fb7ab734a51638",
|
|
||||||
"x86_64-unknown-linux-gnu-0.11.10":
|
|
||||||
"077e1a0777bcf516e02f4ef245e269c8d1baa780438e4c50e09c5c997f85538a",
|
|
||||||
"x86_64-unknown-linux-musl-0.11.10":
|
|
||||||
"e3e78e7698d72c133c5ce851a6d60ee83afdc4c0edced382af9fd1f8e11d0105",
|
|
||||||
"aarch64-apple-darwin-0.11.9":
|
|
||||||
"7d02e5f206dcfb555284f8f6b8547890f0b8eb8987f44e9a0a2378cd23338733",
|
|
||||||
"aarch64-pc-windows-msvc-0.11.9":
|
|
||||||
"93de7822f6214c704ec15db1b4d33eabd3709a0303ec068723d9f5f5aa99e9e7",
|
|
||||||
"aarch64-unknown-linux-gnu-0.11.9":
|
|
||||||
"6d22be8d0d675668f657cee802a1344ea7941403f59eb2a6645ef316f69b4309",
|
|
||||||
"aarch64-unknown-linux-musl-0.11.9":
|
|
||||||
"31abb258d8ec2196993b82e746365717a86e3d3d55502b4c60f384540bf16306",
|
|
||||||
"arm-unknown-linux-musleabihf-0.11.9":
|
|
||||||
"60fd2f75fa0a927ce0373a9289e9490351be3142b00fb0e8da082ed652c7f23c",
|
|
||||||
"armv7-unknown-linux-gnueabihf-0.11.9":
|
|
||||||
"074f216882a79506f56f65413932dba9032ca6100285a562c48965688857970e",
|
|
||||||
"armv7-unknown-linux-musleabihf-0.11.9":
|
|
||||||
"0ebca62577232bab2c152fdd0fa81f78a28f8fd1f4f09689347759332aae996d",
|
|
||||||
"i686-pc-windows-msvc-0.11.9":
|
|
||||||
"9dbb9bf746f00dd379e7e1bd544a5e1b48a5f36408f75a7f8c6c89a7a5e5506a",
|
|
||||||
"i686-unknown-linux-gnu-0.11.9":
|
|
||||||
"84418c97aeadbbdb0b80090c43e29149c3d5c4a70c76ecffb738cd4a05d515d2",
|
|
||||||
"i686-unknown-linux-musl-0.11.9":
|
|
||||||
"f724d184888a52714229584536a3219f0c2fa416944fd476b52c7f597d9b3625",
|
|
||||||
"powerpc64le-unknown-linux-gnu-0.11.9":
|
|
||||||
"cbcdb1b6ee99ca69a572b75544dab484cd34e29109962f5945bb95ccd85d0d52",
|
|
||||||
"riscv64gc-unknown-linux-gnu-0.11.9":
|
|
||||||
"a825d1e6b62ca69971c50e6e356ebe478f7616a7873d9f7d7e17fb3efacabef2",
|
|
||||||
"riscv64gc-unknown-linux-musl-0.11.9":
|
|
||||||
"486b67c16381bb75d74daa86c091b36273cde617e0a2678e0b685b89047a6e6f",
|
|
||||||
"s390x-unknown-linux-gnu-0.11.9":
|
|
||||||
"caa3a59d49003d52c841625885bd60c87a957ed6173070af59c2ef7b4845b727",
|
|
||||||
"x86_64-apple-darwin-0.11.9":
|
|
||||||
"a974a0226ac5d3706ebaf660d3587b0dfb93ef9cf1fd146f97d40cd4ad69db98",
|
|
||||||
"x86_64-pc-windows-msvc-0.11.9":
|
|
||||||
"facbf9637c373761a96fa63c537d6c46581d357a65af01eacfd8c6319e6fb14e",
|
|
||||||
"x86_64-unknown-linux-gnu-0.11.9":
|
|
||||||
"5c43f82077ff0cd5aec588286cbabd89913e4d045bd4e8aa60b20b3ecffc36e3",
|
|
||||||
"x86_64-unknown-linux-musl-0.11.9":
|
|
||||||
"ac3e5051edbf30613b0f90d1c18d4807fea6b246f37490799fee0c1284a658b2",
|
|
||||||
"aarch64-apple-darwin-0.11.8":
|
|
||||||
"c729adb365114e844dd7f9316313a7ed6443b89bb5681d409eebac78b0bd06c8",
|
|
||||||
"aarch64-pc-windows-msvc-0.11.8":
|
|
||||||
"bb48716e74e4998993f15bc57a55e4d0d73ccbd27a66d7cbed37605f7c67d747",
|
|
||||||
"aarch64-unknown-linux-gnu-0.11.8":
|
|
||||||
"eee8dd658d20e5ac85fec9c2326b6cbc9d83a1eef09ef07433e58698ac849591",
|
|
||||||
"aarch64-unknown-linux-musl-0.11.8":
|
|
||||||
"29418befb64f926a2dba3473e8e69acd00b36fb845d85344ef11321a993ad8f5",
|
|
||||||
"arm-unknown-linux-musleabihf-0.11.8":
|
|
||||||
"858f50a1164e9d2e3d1641a5f9d81a8b098025bd4f40011882df4f6b7d6ee393",
|
|
||||||
"armv7-unknown-linux-gnueabihf-0.11.8":
|
|
||||||
"b0674ede45b797362f34af0a75d6391e844992ae92a9c181a353e3892af4c325",
|
|
||||||
"armv7-unknown-linux-musleabihf-0.11.8":
|
|
||||||
"eda6e549a1d3bea67de6550e84b05d75e5538350bf50ba229840ec92063f153e",
|
|
||||||
"i686-pc-windows-msvc-0.11.8":
|
|
||||||
"59520c34c3c29a901bb490d4bec55a8e1d46c75d2fbad238871e18de733b4201",
|
|
||||||
"i686-unknown-linux-gnu-0.11.8":
|
|
||||||
"4a82441b70adc3886a4f9c29a1070f104ed73c7e68d14cfa6d6343a8ce0c4ccc",
|
|
||||||
"i686-unknown-linux-musl-0.11.8":
|
|
||||||
"56b8e8874ba09194c580583697c09cbe6c31626e5bb4cfb1f8bfbf4998a8d6c6",
|
|
||||||
"powerpc64le-unknown-linux-gnu-0.11.8":
|
|
||||||
"7b66bcc99237d19fb25d8b1bcbc1f973f735027d49e7cb9ffa22cd539fefccbc",
|
|
||||||
"riscv64gc-unknown-linux-gnu-0.11.8":
|
|
||||||
"dd43289c567fda3ca59ec714ffca09125f1149289448667f36a4bb7c29c859be",
|
|
||||||
"riscv64gc-unknown-linux-musl-0.11.8":
|
|
||||||
"c06b5bbbfecb258f869b18168abb46ef974a76c786fa9350923b1cf38d1661a0",
|
|
||||||
"s390x-unknown-linux-gnu-0.11.8":
|
|
||||||
"068eb3f47d0760d50cd2e0fc59cc2c09eb12a4ec8bb12c269f3aef706bf4dc1a",
|
|
||||||
"x86_64-apple-darwin-0.11.8":
|
|
||||||
"c59d73bf34b58bc8e33a11629f7a255c11789fd00f03cd3e68ab2d1603645de9",
|
|
||||||
"x86_64-pc-windows-msvc-0.11.8":
|
|
||||||
"c84629a56e0706b69a47ea35862208af827cb6fbfa1d0ca763c52c67594637e8",
|
|
||||||
"x86_64-unknown-linux-gnu-0.11.8":
|
|
||||||
"56dd1b66701ecb62fe896abb919444e4b83c5e8645cca953e6ddd496ff8a0feb",
|
|
||||||
"x86_64-unknown-linux-musl-0.11.8":
|
|
||||||
"de82507d12e31cfc86c1c776238f7c248e48e40d996dedc812d64fdd31c6ed12",
|
|
||||||
"aarch64-apple-darwin-0.11.7":
|
|
||||||
"66e37d91f839e12481d7b932a1eccbfe732560f42c1cfb89faddfa2454534ba8",
|
|
||||||
"aarch64-pc-windows-msvc-0.11.7":
|
|
||||||
"1387e1c94e15196351196b79fce4c1e6f4b30f19cdaaf9ff85fbd6b046018aa2",
|
|
||||||
"aarch64-unknown-linux-gnu-0.11.7":
|
|
||||||
"f2ee1cde9aabb4c6e43bd3f341dadaf42189a54e001e521346dc31547310e284",
|
|
||||||
"aarch64-unknown-linux-musl-0.11.7":
|
|
||||||
"46647dc16cbb7d6700f762fdd7a67d220abe18570914732bc310adc91308d272",
|
|
||||||
"arm-unknown-linux-musleabihf-0.11.7":
|
|
||||||
"238974610607541ccdb3b8f4ad161d4f2a4b018d749dc9d358b0965d9a1ddd0f",
|
|
||||||
"armv7-unknown-linux-gnueabihf-0.11.7":
|
|
||||||
"7aa9ddc128f58c0e667227feb84e0aac3bb65301604c5f6f2ab0f442aaaafd99",
|
|
||||||
"armv7-unknown-linux-musleabihf-0.11.7":
|
|
||||||
"77a237761579125b822d604973a2d4afb62b10a8f066db4f793906deec66b017",
|
|
||||||
"i686-pc-windows-msvc-0.11.7":
|
|
||||||
"04652b46b1be90a753e686b839e109a79af3d032ba96d3616c162dffdbe89e5c",
|
|
||||||
"i686-unknown-linux-gnu-0.11.7":
|
|
||||||
"9c77e5b5f2ad4151c6dc29db5511af549e205dbd6e836e544c80ebfadd7a07ec",
|
|
||||||
"i686-unknown-linux-musl-0.11.7":
|
|
||||||
"b067ce3e92d04425bc11b84dc350f97447d3e8dffafccb7ebebde54a56bfc619",
|
|
||||||
"powerpc64le-unknown-linux-gnu-0.11.7":
|
|
||||||
"6ac23c519d1b06297e1e8753c96911fadee5abab4ca35b8c17da30e3e927d8ac",
|
|
||||||
"riscv64gc-unknown-linux-gnu-0.11.7":
|
|
||||||
"2052356c7388d26dc4dfcf2d44e28b3f800785371f37c5f37d179181fe377659",
|
|
||||||
"riscv64gc-unknown-linux-musl-0.11.7":
|
|
||||||
"219a25e413efb62c8ef3efb3593f1f01d9a3c22d1facf3b9c0d80b7caf3a5e56",
|
|
||||||
"s390x-unknown-linux-gnu-0.11.7":
|
|
||||||
"760152aa9e769712d52b6c65a8d7b86ed3aac25a24892cf5998a522d84942f9e",
|
|
||||||
"x86_64-apple-darwin-0.11.7":
|
|
||||||
"0a4bc8fcde4974ea3560be21772aeecab600a6f43fa6e58169f9fa7b3b71d302",
|
|
||||||
"x86_64-pc-windows-msvc-0.11.7":
|
|
||||||
"fe0c7815acf4fc45f8a5eff58ed3cf7ae2e15c3cf1dceadbd10c816ec1690cc1",
|
|
||||||
"x86_64-unknown-linux-gnu-0.11.7":
|
|
||||||
"6681d691eb7f9c00ac6a3af54252f7ab29ae72f0c8f95bdc7f9d1401c23ea868",
|
|
||||||
"x86_64-unknown-linux-musl-0.11.7":
|
|
||||||
"64ddb5f1087649e3f75aa50d139aa4f36ddde728a5295a141e0fa9697bfb7b0f",
|
|
||||||
"aarch64-apple-darwin-0.11.6":
|
|
||||||
"4b69a4e366ec38cd5f305707de95e12951181c448679a00dce2a78868dfc9f5b",
|
|
||||||
"aarch64-pc-windows-msvc-0.11.6":
|
|
||||||
"bee7b25a7a999f17291810242b47565c3ef2b9205651a0fd02a086f261a7e167",
|
|
||||||
"aarch64-unknown-linux-gnu-0.11.6":
|
|
||||||
"d5be4bf7015ea000378cb3c3aba53ba81a8673458ace9c7fa25a0be005b74802",
|
|
||||||
"aarch64-unknown-linux-musl-0.11.6":
|
|
||||||
"d14ebd6f200047264152daaf97b8bd36c7885a5033e9e8bba8366cb0049c0d00",
|
|
||||||
"arm-unknown-linux-musleabihf-0.11.6":
|
|
||||||
"4410a9489e0a29ce8f86fc8604b75a3dd821e9e52734282cbb413b4e19c5c70a",
|
|
||||||
"armv7-unknown-linux-gnueabihf-0.11.6":
|
|
||||||
"9758d49c200c211ccb2c9cbf43877102031c3457e80b6c3cb9da1e4c00119d2a",
|
|
||||||
"armv7-unknown-linux-musleabihf-0.11.6":
|
|
||||||
"0677423d98cea5011d346d7d4a33a53360b99a51a04df4b45f67d43a8308c831",
|
|
||||||
"i686-pc-windows-msvc-0.11.6":
|
|
||||||
"c5569da150166363389a719553d87f99e0c29e542b2c31bc8bd4aeeb8eb83d99",
|
|
||||||
"i686-unknown-linux-gnu-0.11.6":
|
|
||||||
"b4bf8d78478b573c1816b17ec86da7ade14242cd68ac092c1701c5b4a75dc228",
|
|
||||||
"i686-unknown-linux-musl-0.11.6":
|
|
||||||
"ca31705d93f48313d5ffdc23da165e680c6c5389d9a2cc62b85a1ed495e0331f",
|
|
||||||
"powerpc64le-unknown-linux-gnu-0.11.6":
|
|
||||||
"153397d3d82e45e68fb1f4a40ee9898245ec8ed86fd03fcaacaf6e793316acf7",
|
|
||||||
"riscv64gc-unknown-linux-gnu-0.11.6":
|
|
||||||
"0e3ead8667b51b07b5fb9d114bcd1914a5fe3159e6959a584dc2f89c6724e123",
|
|
||||||
"riscv64gc-unknown-linux-musl-0.11.6":
|
|
||||||
"87d5932bffef3b7b9cba4a2a042f95edf75cd34555fc80cfa98cc5a4426635f9",
|
|
||||||
"s390x-unknown-linux-gnu-0.11.6":
|
|
||||||
"6e3d4338da2db2c63326721f1eb3b4f32d9bde24aeff11208d397e1aeba8678e",
|
|
||||||
"x86_64-apple-darwin-0.11.6":
|
|
||||||
"8e0ed5035eaa28c7c8cd2a46b5b9a05bfff1ef01dbdc090a010eb8fdf193a457",
|
|
||||||
"x86_64-pc-windows-msvc-0.11.6":
|
|
||||||
"99aa60edd017a256dbf378f372d1cff3292dbc6696e0ea01716d9158d773ab77",
|
|
||||||
"x86_64-unknown-linux-gnu-0.11.6":
|
|
||||||
"0c6bab77a67a445dc849ed5e8ee8d3cb333b6e2eba863643ce1e228075f27943",
|
|
||||||
"x86_64-unknown-linux-musl-0.11.6":
|
|
||||||
"aa342a53abe42364093506d7704214d2cdca30b916843e520bc67759a5d20132",
|
|
||||||
"aarch64-apple-darwin-0.11.5":
|
|
||||||
"470993e87503874c7c48861daa308b48a7c367e117235bbecf19368b9fdd35b2",
|
|
||||||
"aarch64-pc-windows-msvc-0.11.5":
|
|
||||||
"9b9b99a985cccf249225aaad76412823e9d9736d605dc2252151172a7f6ab3db",
|
|
||||||
"aarch64-unknown-linux-gnu-0.11.5":
|
|
||||||
"3e9b525d686ae4f3682412bce21536366a5c79616a41055530319c501c883169",
|
|
||||||
"aarch64-unknown-linux-musl-0.11.5":
|
|
||||||
"d73860013061c62d6a89f3370527d4c407214038af331147773ae2fd8f6394c1",
|
|
||||||
"arm-unknown-linux-musleabihf-0.11.5":
|
|
||||||
"dcfb4dc15f46eae90ac6d64e7dfc91d8bc0b16816f53b9f8d58ccc8a1220dbb8",
|
|
||||||
"armv7-unknown-linux-gnueabihf-0.11.5":
|
|
||||||
"818d86386fb57ca4182f39df25dd6160e97300d5ba362bc44e25d8adc904776c",
|
|
||||||
"armv7-unknown-linux-musleabihf-0.11.5":
|
|
||||||
"2cae8baae2c1b42249e656e16f5fe733189b0760ee93995be024f9cc5e72eb19",
|
|
||||||
"i686-pc-windows-msvc-0.11.5":
|
|
||||||
"2057ccf3dba9ed23755df92318a08ab221e9e088385c667292acc09d9cc477c6",
|
|
||||||
"i686-unknown-linux-gnu-0.11.5":
|
|
||||||
"2d340e2e5b3354ee7208bb8f2bbf4d2347d7ffdf2af733c21bee98746e34076d",
|
|
||||||
"i686-unknown-linux-musl-0.11.5":
|
|
||||||
"ffe2bc9e0c4fdc18f69b7c5bc016a03fa17028d42620ab2b024ad5bb22cd3f3d",
|
|
||||||
"powerpc64le-unknown-linux-gnu-0.11.5":
|
|
||||||
"c4dabaaa36a13989ab04389263064ca5c27093eb2e7c851ab62d50b6312d9800",
|
|
||||||
"riscv64gc-unknown-linux-gnu-0.11.5":
|
|
||||||
"6ae3ec3cf1aab72604bc6aa8486faf4b473066422c49d9c42ea8366ff3039de4",
|
|
||||||
"riscv64gc-unknown-linux-musl-0.11.5":
|
|
||||||
"d4686fb144563a40e791fc3f010a91e57fdce9cac7a03b8a14a972c25be4464c",
|
|
||||||
"s390x-unknown-linux-gnu-0.11.5":
|
|
||||||
"1309f1e462462dab2da6a55c37012a228d1c06a55c5b43f8ef901ba1599d9e12",
|
|
||||||
"x86_64-apple-darwin-0.11.5":
|
|
||||||
"b8964bed538143f9016d807e421e28f0237a29589851fc79e8159751ac64779a",
|
|
||||||
"x86_64-pc-windows-msvc-0.11.5":
|
|
||||||
"3fa5b6ea9de9256a035e0471f5ef0bb5d95344659723d6eb063e27c76431515d",
|
|
||||||
"x86_64-unknown-linux-gnu-0.11.5":
|
|
||||||
"0d87793f733f327849ebf9cf51b576cfb08328e22af73061405e4bec96ae84d1",
|
|
||||||
"x86_64-unknown-linux-musl-0.11.5":
|
|
||||||
"ee8a52743ce3979e52872b49c5e58ffa541048cb95132142bff23fe5608d73ea",
|
|
||||||
"aarch64-apple-darwin-0.11.4":
|
|
||||||
"9b9cb6c6f58c3246dbf3351ed4e97c500bc3266f5f237d2fd620b66e1c31dc56",
|
|
||||||
"aarch64-pc-windows-msvc-0.11.4":
|
|
||||||
"708b1c210109e50ff520bcd9b6d29cbd8cee584bb55e84d3d1941bf75ab0893d",
|
|
||||||
"aarch64-unknown-linux-gnu-0.11.4":
|
|
||||||
"f5aa91bba0b98d85a4e5262e2847f9ab2273c754f6374dff62b37ef18c65a2e7",
|
|
||||||
"aarch64-unknown-linux-musl-0.11.4":
|
|
||||||
"a02ec7667d7bb1d33cdb7e1de22f7e4242967e3df7e350bac6212515e3bce8ac",
|
|
||||||
"arm-unknown-linux-musleabihf-0.11.4":
|
|
||||||
"5bbc59d8c3d5fdade88fca47e4c18298e44a367e178e97e11466b22e992edae2",
|
|
||||||
"armv7-unknown-linux-gnueabihf-0.11.4":
|
|
||||||
"9d2299155b65988643a55777c638408a0df8e65f606933d1e44691ada72ff106",
|
|
||||||
"armv7-unknown-linux-musleabihf-0.11.4":
|
|
||||||
"43b1e02f8f4b27fd1d085fb14a246638bb607af32408cb13c5c3b3fb47db027f",
|
|
||||||
"i686-pc-windows-msvc-0.11.4":
|
|
||||||
"661588b3607e6d5bb78551f596772a0d04a930ce128189c90800d07f6fca1998",
|
|
||||||
"i686-unknown-linux-gnu-0.11.4":
|
|
||||||
"4248773a2574c3b697588655d7bf14f97baa744c3e156585230e5c711befa6ff",
|
|
||||||
"i686-unknown-linux-musl-0.11.4":
|
|
||||||
"0323c08c1e7455cdf65c89296eda28bad9051cb09d16ea3ce1d0bf718143449e",
|
|
||||||
"powerpc64le-unknown-linux-gnu-0.11.4":
|
|
||||||
"3ddb764538a5dcb4967d7375fde193ce5391e37ddd4d1242012d04cf3848479f",
|
|
||||||
"riscv64gc-unknown-linux-gnu-0.11.4":
|
|
||||||
"93db93607a824d677c47003ee828936913cfdeb2c871bb34cd79c3ec4481e2b1",
|
|
||||||
"riscv64gc-unknown-linux-musl-0.11.4":
|
|
||||||
"78f0d7f92244ce3d7a7a0df5fab2495450bcb18600b59acf1755e77cafed2300",
|
|
||||||
"s390x-unknown-linux-gnu-0.11.4":
|
|
||||||
"07361e1fb32e870841a27d3d7b0b20c4a81e0cc25eeb8b9115425bfd227d2d05",
|
|
||||||
"x86_64-apple-darwin-0.11.4":
|
|
||||||
"c326edaf3fd492f53d1c58777f3459c0d87bf9dae8d89e80aec4b0da6622dcf3",
|
|
||||||
"x86_64-pc-windows-msvc-0.11.4":
|
|
||||||
"26d84455a40b0272b2ab4785cad298ff2c89cd0765b482e9f85b5a1bd880a863",
|
|
||||||
"x86_64-unknown-linux-gnu-0.11.4":
|
|
||||||
"12f9a192bb32d70470aa22cbd2a193d1323a3f58f6ac5f9e3866aaca760c98c6",
|
|
||||||
"x86_64-unknown-linux-musl-0.11.4":
|
|
||||||
"36ce1c5d8997db9b6a24d0f41646d5509b6d1d8b9448c7325f8248a6ea5d4b00",
|
|
||||||
"aarch64-apple-darwin-0.11.3":
|
|
||||||
"2bc3d0c7bf2bd08325b1e170abac6f7e5b3346e1d4eab3370d17cefec934996f",
|
|
||||||
"aarch64-pc-windows-msvc-0.11.3":
|
|
||||||
"e99c56f9ab5e1e1ddcaea3e2389990c94baf38e0d7cb2148de08baf2d3261d49",
|
|
||||||
"aarch64-unknown-linux-gnu-0.11.3":
|
|
||||||
"711382e3158433f06b11d99afb440f4416359fc3c84558886d8ed8826a921bff",
|
|
||||||
"aarch64-unknown-linux-musl-0.11.3":
|
|
||||||
"8ecec82cb9a744d5fabff6d16d7777218a7730f699d2aa0d2f751c17858e2efa",
|
|
||||||
"arm-unknown-linux-musleabihf-0.11.3":
|
|
||||||
"3d021046a94ad11f12b9d83f36442a1a28e92e7149c3f79ba2951c96653dafac",
|
|
||||||
"armv7-unknown-linux-gnueabihf-0.11.3":
|
|
||||||
"13c9a0f5f624275ccd36db2896607f4fee3585f420734b16f6c66d70e32aa458",
|
|
||||||
"armv7-unknown-linux-musleabihf-0.11.3":
|
|
||||||
"260a88e2f00daab0363a745fde036a7881002d7a81094388f31925acb284110b",
|
|
||||||
"i686-pc-windows-msvc-0.11.3":
|
|
||||||
"036fa39fa5ea3cb86c127324924b913b5858e8d91c4cb413edacfc3123001696",
|
|
||||||
"i686-unknown-linux-gnu-0.11.3":
|
|
||||||
"b9410c8dae2fa0d4939af5b0ee7272d5591bd55890e8274dcf7f1aea84bfe043",
|
|
||||||
"i686-unknown-linux-musl-0.11.3":
|
|
||||||
"afe533fd409105e753d844490c65a4375e75bfb3812e49122684f996bed9e90a",
|
|
||||||
"powerpc64le-unknown-linux-gnu-0.11.3":
|
|
||||||
"5cdcadf4d50a5354312bc8ef37c2a6cfab4e2f13ccdf8380d3012b927b4ded95",
|
|
||||||
"riscv64gc-unknown-linux-gnu-0.11.3":
|
|
||||||
"8271e07ed9695870f4b0ae5ec722e3ae08fff280068f08bc6a8ca76c67d7fefa",
|
|
||||||
"riscv64gc-unknown-linux-musl-0.11.3":
|
|
||||||
"b750fc8393ced9939448849b05e94de6bf1e998bb7030c4ebe744b47b372bce9",
|
|
||||||
"s390x-unknown-linux-gnu-0.11.3":
|
|
||||||
"6dc4f555a5f6515f7fddb281422d2a8a3943853dae5de837bbb5d996d7576c71",
|
|
||||||
"x86_64-apple-darwin-0.11.3":
|
|
||||||
"b0e05e0b43a000fdc2132ee3f3400ba5dee427bc2337d3ec4eb8cf4f3d5722af",
|
|
||||||
"x86_64-pc-windows-msvc-0.11.3":
|
|
||||||
"ae681c0aaec7cc96af184648cb88d73f8393ed60fa5880abdd6bdb910f9b227c",
|
|
||||||
"x86_64-unknown-linux-gnu-0.11.3":
|
|
||||||
"c0f3236f146e55472663cfbcc9be3042a9f1092275bbe3fe2a56a6cbfd3da5ce",
|
|
||||||
"x86_64-unknown-linux-musl-0.11.3":
|
|
||||||
"8b40cf16b849634b81a530a3d0a0bcae5f24996ef9ae782976fd69b6266d3b8e",
|
|
||||||
"aarch64-apple-darwin-0.11.2":
|
|
||||||
"4beaa9550f93ef7f0fc02f7c28c9c48cd61fe30db00f5ac8947e0a425c3fb282",
|
|
||||||
"aarch64-pc-windows-msvc-0.11.2":
|
|
||||||
"ffdded8338205f53727b51d404563a5ac8eaa9aea53279a7b7c42177e11d478c",
|
|
||||||
"aarch64-unknown-linux-gnu-0.11.2":
|
|
||||||
"04792cac761c4a6ba78267f36f2af541b7f92196d42ac55d21d3ff6b0f5ab6a5",
|
|
||||||
"aarch64-unknown-linux-musl-0.11.2":
|
|
||||||
"275d91dd1f1955136591e7ec5e1fa21e84d0d37ead7da7c35c3683df748d9855",
|
|
||||||
"arm-unknown-linux-musleabihf-0.11.2":
|
|
||||||
"ce572dac1a8f9a92960f89e99351352fae068d34b24bed86fb88e75fd5dd67d9",
|
|
||||||
"armv7-unknown-linux-gnueabihf-0.11.2":
|
|
||||||
"3e90d7de9e3a4e2d8d1bd9ce164362fce22248474986e712039479fb6fd73136",
|
|
||||||
"armv7-unknown-linux-musleabihf-0.11.2":
|
|
||||||
"5222cdd7c7dd3263f8c243831606a9f01a1a07a40ffc3c26c03afb34491075c2",
|
|
||||||
"i686-pc-windows-msvc-0.11.2":
|
|
||||||
"506f8274b253b2386881a121f3b7d915b637019bda15876bbd1357235305cf12",
|
|
||||||
"i686-unknown-linux-gnu-0.11.2":
|
|
||||||
"c7ec378bab887443a70786382e58d76489da14a7e33b155915d648cca4bdb46c",
|
|
||||||
"i686-unknown-linux-musl-0.11.2":
|
|
||||||
"ade8714be45457899568c5b03ef885a0cc94476c07a0bdbe34531ba84231bab2",
|
|
||||||
"powerpc64le-unknown-linux-gnu-0.11.2":
|
|
||||||
"3f3a50e99364efc8ff7add10e79757a2b8458700a38180ec5f313524481b9fbc",
|
|
||||||
"riscv64gc-unknown-linux-gnu-0.11.2":
|
|
||||||
"e56a93f0ff21d6908461a6ecbf465beae19ae22719f900284abb7680bd07ec41",
|
|
||||||
"riscv64gc-unknown-linux-musl-0.11.2":
|
|
||||||
"4f263571bb457a16a31cb38fba4fcc9cf1059d1d32c5b2e54c43175fcd59205d",
|
|
||||||
"s390x-unknown-linux-gnu-0.11.2":
|
|
||||||
"42ebe40775f2a77a514fa47399fde86473bf35bd33b6896c6410a0309fc4d205",
|
|
||||||
"x86_64-apple-darwin-0.11.2":
|
|
||||||
"a9c3653245031304c50dd60ac0301bf6c112e12c38c32302a71d4fa6a63ba2cb",
|
|
||||||
"x86_64-pc-windows-msvc-0.11.2":
|
|
||||||
"171b7ccda1bbd562da6babeffcf533a1c6cc7862cf998da826e1db534fc43e48",
|
|
||||||
"x86_64-unknown-linux-gnu-0.11.2":
|
|
||||||
"7ac2ca0449c8d68dae9b99e635cd3bc9b22a4cb1de64b7c43716398447d42981",
|
|
||||||
"x86_64-unknown-linux-musl-0.11.2":
|
|
||||||
"4700d9fc75734247587deb3e25dd2c6c24f4ac69e8fe91d6acad4a6013115c06",
|
|
||||||
"aarch64-apple-darwin-0.11.1":
|
|
||||||
"f7815f739ed5d0e4202e6292acedb8659b9ae7de663d07188d8c6cbd7f96303f",
|
|
||||||
"aarch64-pc-windows-msvc-0.11.1":
|
|
||||||
"b789db0c1504dd3b02c090bd5783487497cc46cc2eb71754874cdd1ef59eb52a",
|
|
||||||
"aarch64-unknown-linux-gnu-0.11.1":
|
|
||||||
"1340e62da1ee3c1109764340e1247e8a1a232c30dde4a0f0548976dcaa90f06d",
|
|
||||||
"aarch64-unknown-linux-musl-0.11.1":
|
|
||||||
"bd04ffce77ee8d77f39823c13606183581847c2f5dcd704f2ea0f15e376b1a27",
|
|
||||||
"arm-unknown-linux-musleabihf-0.11.1":
|
|
||||||
"625c0e756e2374fce864ceaa6beedd5821e276e2b6307f2b719f2d62b449b89c",
|
|
||||||
"armv7-unknown-linux-gnueabihf-0.11.1":
|
|
||||||
"baf8daaab20b0502d1853dbfd916afb0762c024ae7f0df1c2deb2a1a1c1c3467",
|
|
||||||
"armv7-unknown-linux-musleabihf-0.11.1":
|
|
||||||
"684c25b74e83bcb1b177152379cfe2c974ba731aa5af278e1d161e41709f8bcf",
|
|
||||||
"i686-pc-windows-msvc-0.11.1":
|
|
||||||
"3c07858a08c54e4e5753239354c7b07ae69071b2b6f5aa2cc970e612adcb4740",
|
|
||||||
"i686-unknown-linux-gnu-0.11.1":
|
|
||||||
"6e83167c05708570563b10b6cc7e8c289daef5f51fde0b152e41af2a7ef70813",
|
|
||||||
"i686-unknown-linux-musl-0.11.1":
|
|
||||||
"b0d5152635c257fec76f95cb9268112b47ff70bd33a23866295a4f2ed9f46b7f",
|
|
||||||
"powerpc64le-unknown-linux-gnu-0.11.1":
|
|
||||||
"e42d2abfac46f57564789e2bfa6dbea4ae3135892e36ae066ba0ae77b69bb676",
|
|
||||||
"riscv64gc-unknown-linux-gnu-0.11.1":
|
|
||||||
"5e2c757b35dab015ad37f74ee3e060208390b5f4defb6684876f1be0664f3f6e",
|
|
||||||
"riscv64gc-unknown-linux-musl-0.11.1":
|
|
||||||
"6f590a824aed363cbec4079f7ddab87b5685119e0f5f0e71cd114c7b7c326199",
|
|
||||||
"s390x-unknown-linux-gnu-0.11.1":
|
|
||||||
"4208173c74e29572b799178709b5ed5828b24888659f944a4b47c0aaf78b42d2",
|
|
||||||
"x86_64-apple-darwin-0.11.1":
|
|
||||||
"2103670e8e949605e51926c7b953923ff6f6befbfb55aee928f5e760c9c910f8",
|
|
||||||
"x86_64-pc-windows-msvc-0.11.1":
|
|
||||||
"6659250cebbd3bb6ee48bcb21a3f0c6656450d63fb97f0f069bcb532bdb688ed",
|
|
||||||
"x86_64-unknown-linux-gnu-0.11.1":
|
|
||||||
"7c0c8069053e6e99e5911ff32b916be571f3419cd8e11bd28fb7da2c7dcaa553",
|
|
||||||
"x86_64-unknown-linux-musl-0.11.1":
|
|
||||||
"4e949471a95b37088a1ff1a585f69abed4d3cd3f921f50709a46b6ba62986d38",
|
|
||||||
"aarch64-apple-darwin-0.11.0":
|
|
||||||
"0c0f32c6a3473c5928aff96c3233715edfc79290e892f255cac93710cde7b91a",
|
|
||||||
"aarch64-pc-windows-msvc-0.11.0":
|
|
||||||
"95419e04a3ef5f13fb2a06bd6d787ba80a9d8981d6f097780e5a979817a2879d",
|
|
||||||
"aarch64-unknown-linux-gnu-0.11.0":
|
|
||||||
"8e179ca110343a17f801444ff9ef117dba56ef5fc9f6a4c9bb77b318ddba5f24",
|
|
||||||
"aarch64-unknown-linux-musl-0.11.0":
|
|
||||||
"658be4b8ec905635f1295468d4d5120d9e1ab1722eec9a104473ce993590babe",
|
|
||||||
"arm-unknown-linux-musleabihf-0.11.0":
|
|
||||||
"bfdcbd5fa41c8a9877a72c2b55a95da2bc79933885ef56c699b65bb2ed9cea91",
|
|
||||||
"armv7-unknown-linux-gnueabihf-0.11.0":
|
|
||||||
"0cad4e1b6769e48aa1e80cf639ddcc7c1bfe9ed017e95868fed185a8d818c949",
|
|
||||||
"armv7-unknown-linux-musleabihf-0.11.0":
|
|
||||||
"2aa9da83c6c0cf8a06bc9df14d51056284fa067ef5390b4db79998ff12f3bee7",
|
|
||||||
"i686-pc-windows-msvc-0.11.0":
|
|
||||||
"3b09d70e686087e096dbd8a2af21b922a2cac7d613dc053c3281c3ddbb961961",
|
|
||||||
"i686-unknown-linux-gnu-0.11.0":
|
|
||||||
"59928a0267501c20d9f9942f5f1d81a991ec55e29a19e002ae3d5c178c674c89",
|
|
||||||
"i686-unknown-linux-musl-0.11.0":
|
|
||||||
"1f438d6f6f851f0dabad3307ce7fd46541ecc5c42ebb664f382eb6c9a424a67d",
|
|
||||||
"powerpc64le-unknown-linux-gnu-0.11.0":
|
|
||||||
"29f17fb43595492b1a36cda57df7adad74183132df32799d32897268ff4e26dd",
|
|
||||||
"riscv64gc-unknown-linux-gnu-0.11.0":
|
|
||||||
"84ef37dda1003c5b65fa6c8f84242d35a7fcc84cc5ea9490d702edc36cad1f67",
|
|
||||||
"s390x-unknown-linux-gnu-0.11.0":
|
|
||||||
"b25be62f3b642348a2fece5c658624586661b8d1103891ab6903768b0529edc4",
|
|
||||||
"x86_64-apple-darwin-0.11.0":
|
|
||||||
"31aaec764166af8885cf99321fd6ed24fef80225a6f26ed1ae8ce04111688a7e",
|
|
||||||
"x86_64-pc-windows-msvc-0.11.0":
|
|
||||||
"e21d00b172df83531564a95e75a2bdc0c59b471dbb3515f0c1b4d6ef657dc451",
|
|
||||||
"x86_64-unknown-linux-gnu-0.11.0":
|
|
||||||
"cc0fbb42b3642125f600a55b0b095bea65cddaadb94c6ea2b6ba5d79c5825089",
|
|
||||||
"x86_64-unknown-linux-musl-0.11.0":
|
|
||||||
"bf6b0757c73d1726faa2a819b155d4d864919a95766720215d78fdcd09d42d26",
|
|
||||||
"aarch64-apple-darwin-0.10.12":
|
|
||||||
"ae738b5661a900579ec621d3918c0ef17bdec0da2a8a6d8b161137cd15f25414",
|
|
||||||
"aarch64-pc-windows-msvc-0.10.12":
|
|
||||||
"e79881e2c4f98a0f3a37b8770bf224e8fee70f6dcf8fc17055d8291bb1b0b867",
|
|
||||||
"aarch64-unknown-linux-gnu-0.10.12":
|
|
||||||
"0ed7d20f49f6b9b60d45fdfcac28f3ac01a671a6ef08672401ed2833423fea2a",
|
|
||||||
"aarch64-unknown-linux-musl-0.10.12":
|
|
||||||
"55bd1c1c10ec8b95a8c184f5e18b566703c6ab105f0fc118aaa4d748aabf28e4",
|
|
||||||
"arm-unknown-linux-musleabihf-0.10.12":
|
|
||||||
"9714e5059b05110a1c7ddbc18c971c13e0260e10551b7b77d82cbf907a4ebd9b",
|
|
||||||
"armv7-unknown-linux-gnueabihf-0.10.12":
|
|
||||||
"eaa02f36d5112029601b18ac3d1a0c03a83bb20cb4154c2f5345f777fa6c4101",
|
|
||||||
"armv7-unknown-linux-musleabihf-0.10.12":
|
|
||||||
"bd735652298c6e62cdd2ac939babe176a3356613e6803baa33d0bc10e8d9e4ed",
|
|
||||||
"i686-pc-windows-msvc-0.10.12":
|
|
||||||
"2312e75b9c77befdc1bff30da18f16df03083452852952553bee91da362c1a1d",
|
|
||||||
"i686-unknown-linux-gnu-0.10.12":
|
|
||||||
"8501844b34e3a28cfbba5a4b857eebd696d952e0bb4160357451ad80f3f49db8",
|
|
||||||
"i686-unknown-linux-musl-0.10.12":
|
|
||||||
"56cad78abcf5b710d2f7b9f774fcfd6bbed340d2aa9d9fc9e3b515542ec5e953",
|
|
||||||
"powerpc64le-unknown-linux-gnu-0.10.12":
|
|
||||||
"3c8017d9112221c83f43e8a15a58099663c0b2bdeabc8b43bb800413dfa21218",
|
|
||||||
"riscv64gc-unknown-linux-gnu-0.10.12":
|
|
||||||
"b1ca482b6b5dd7bf6ab733a3695cb0ab5b8e992ca96527efae93aa78fcc52a9b",
|
|
||||||
"s390x-unknown-linux-gnu-0.10.12":
|
|
||||||
"e1a0345eefe6fd3300948cd6f18aab092f9b88a243782113e645ce96530a6693",
|
|
||||||
"x86_64-apple-darwin-0.10.12":
|
|
||||||
"17443e293f2ae407bb2d8d34b875ebfe0ae01cf1296de5647e69e7b2e2b428f0",
|
|
||||||
"x86_64-pc-windows-msvc-0.10.12":
|
|
||||||
"4c1d55501869b3330d4aabf45ad6024ce2367e0f3af83344395702d272c22e88",
|
|
||||||
"x86_64-unknown-linux-gnu-0.10.12":
|
|
||||||
"ec72570c9d1f33021aa80b176d7baba390de2cfeb1abcbefca346d563bf17484",
|
|
||||||
"x86_64-unknown-linux-musl-0.10.12":
|
|
||||||
"adccf40b5d1939a5e0093081ec2307ea24235adf7c2d96b122c561fa37711c46",
|
|
||||||
"aarch64-apple-darwin-0.10.11":
|
|
||||||
"437a7d498dd6564d5bf986074249ba1fc600e73da55ae04d7bd4c24d5f149b95",
|
|
||||||
"aarch64-pc-windows-msvc-0.10.11":
|
|
||||||
"6a3eec4105c775dd87c11ef8ec41564648273751ff807c8955c24ddbcc636d03",
|
|
||||||
"aarch64-unknown-linux-gnu-0.10.11":
|
|
||||||
"23003df007937dd607409c8ddf010baa82bad2673e60e254632ca5b04edcce13",
|
|
||||||
"aarch64-unknown-linux-musl-0.10.11":
|
|
||||||
"5d80a7f6343d2676dfde1e5126582070a2bbc62df6f60d5527a169be3788532a",
|
|
||||||
"arm-unknown-linux-musleabihf-0.10.11":
|
|
||||||
"d3c248497c450d22a39c1d43a4a358c0c852e6056f5f49be96495eea41afb96c",
|
|
||||||
"armv7-unknown-linux-gnueabihf-0.10.11":
|
|
||||||
"7895a6470dfba051af4e74253599482fc0b37141b5d229956b383365e1a22902",
|
|
||||||
"armv7-unknown-linux-musleabihf-0.10.11":
|
|
||||||
"d2880c08acfdaef0985488972c8b14969f7139c27545046e2f6202f0e0f4d9d8",
|
|
||||||
"i686-pc-windows-msvc-0.10.11":
|
|
||||||
"c17f3dc3b2c47490057f17a1f0c37270f11a7b7cedf9bf2c0f841ce02bc7001b",
|
|
||||||
"i686-unknown-linux-gnu-0.10.11":
|
|
||||||
"1ab69ff7dd104a902731758ee05b782dfd9bdb263384e61650de638f33f586df",
|
|
||||||
"i686-unknown-linux-musl-0.10.11":
|
|
||||||
"cffb80d303fc1655e259d0b769c489f452e97425a6b6d3393d766413783a1d8c",
|
|
||||||
"powerpc64le-unknown-linux-gnu-0.10.11":
|
|
||||||
"ddc6a20670e60219e947b1b04813be80d7e9f4c4a0234231c8ed9298eec04aa6",
|
|
||||||
"riscv64gc-unknown-linux-gnu-0.10.11":
|
|
||||||
"c0719473cf5f8b475e917b8dfef6ae5d876b86a00a82ef91e47a02f561399f4f",
|
|
||||||
"s390x-unknown-linux-gnu-0.10.11":
|
|
||||||
"305ee734c585918515a22fe43b7cf253c38d468771373a0c02364d67498e07b2",
|
|
||||||
"x86_64-apple-darwin-0.10.11":
|
|
||||||
"ff90020b554cf02ef8008535c9aab6ef27bb7be6b075359300dec79c361df897",
|
|
||||||
"x86_64-pc-windows-msvc-0.10.11":
|
|
||||||
"9ee74df98582f37fdd6069e1caac80d2616f9a489f5dbb2b1c152f30be69c58e",
|
|
||||||
"x86_64-unknown-linux-gnu-0.10.11":
|
|
||||||
"5a360b0de092ddf4131f5313d0411b48c4e95e8107e40c3f8f2e9fcb636b3583",
|
|
||||||
"x86_64-unknown-linux-musl-0.10.11":
|
|
||||||
"d78246139dc6cf3ed6d03c84da762686bced7ad1de67977ee372a45b95a1f6d0",
|
|
||||||
"aarch64-apple-darwin-0.10.10":
|
|
||||||
"8a09f0ef51ee7f7170731b4cb8bde5bf9ba6da5304f49a7df6cdab42a1f37b5d",
|
|
||||||
"aarch64-pc-windows-msvc-0.10.10":
|
|
||||||
"2c6fe113f14574bc27f085751c68d3485589fcc3c3c64ed85dd1eecc2f87cffc",
|
|
||||||
"aarch64-unknown-linux-gnu-0.10.10":
|
|
||||||
"2b80457b950deda12e8d5dc3b9b7494ac143eae47f1fb11b1c6e5a8495a6421e",
|
|
||||||
"aarch64-unknown-linux-musl-0.10.10":
|
|
||||||
"d08c08b82cdcaf2bd3d928ffe844d3558dda53f90066db6ef9174157cc763252",
|
|
||||||
"arm-unknown-linux-musleabihf-0.10.10":
|
|
||||||
"ccc3c4dd5eeea4b2be829ef9bc0b8d9882389c0f303f7ec5ba668065d57e2673",
|
|
||||||
"armv7-unknown-linux-gnueabihf-0.10.10":
|
|
||||||
"032786622b52f8d0232b5ad16e25342a64f9e43576652db7bf607231021902f3",
|
|
||||||
"armv7-unknown-linux-musleabihf-0.10.10":
|
|
||||||
"f6f67b190eb28b473917c97210f89fd11d9b9393d774acd093ea738fcee68864",
|
|
||||||
"i686-pc-windows-msvc-0.10.10":
|
|
||||||
"980d7ea368cc4883f572bb85c285a647eddfc23539064d2bfaf8fbfefcc2112b",
|
|
||||||
"i686-unknown-linux-gnu-0.10.10":
|
|
||||||
"5260fbef838f8cfec44697064a5cfae08a27c6ab7ed7feab7fc946827e896952",
|
|
||||||
"i686-unknown-linux-musl-0.10.10":
|
|
||||||
"a6683ade964f8d8623098ca0c96b4311d8388b44a56a386cd795974f39fb5bd2",
|
|
||||||
"powerpc64le-unknown-linux-gnu-0.10.10":
|
|
||||||
"78939dc4fc905aca8af4be19b6c6ecc306f04c6ca9f98d144372595d9397fd0d",
|
|
||||||
"riscv64gc-unknown-linux-gnu-0.10.10":
|
|
||||||
"5eff670bf80fce9d9e50df5b4d46c415a9c0324eadf7059d97c76f89ffc33c3f",
|
|
||||||
"s390x-unknown-linux-gnu-0.10.10":
|
|
||||||
"a32d2be5600f7f42f82596ffe9d3115f020974ca7fb4f15251c5625c5481ea5e",
|
|
||||||
"x86_64-apple-darwin-0.10.10":
|
|
||||||
"dd18420591d625f9b4ca2b57a7a6fe3cce43910f02e02d90e47a4101428de14a",
|
|
||||||
"x86_64-pc-windows-msvc-0.10.10":
|
|
||||||
"d31a30f1dfb96e630a08d5a9b3f3f551254b7ed6e9b7e495f46a4232661c7252",
|
|
||||||
"x86_64-unknown-linux-gnu-0.10.10":
|
|
||||||
"3e1027f26ce8c7e4c32e2277a7fed2cb410f2f1f9320d3df97653d40e21f415b",
|
|
||||||
"x86_64-unknown-linux-musl-0.10.10":
|
|
||||||
"74544e8755fbc27559e22e29fd561bdc48f91b8bd8323e760a1130f32433bea4",
|
|
||||||
"aarch64-apple-darwin-0.10.9":
|
|
||||||
"a92f61e9ac9b0f29668c15f56152e4a60143fca148ff5bfadb86718472c3f376",
|
|
||||||
"aarch64-pc-windows-msvc-0.10.9":
|
|
||||||
"5c2526844acf978eab784161c21604343141aa6c9ed22c237ae2f315648f049d",
|
|
||||||
"aarch64-unknown-linux-gnu-0.10.9":
|
|
||||||
"cc0c5a8573e7d6d78aecb954e0a62b5c0d18217bb81f1e19363b428c57a9962a",
|
|
||||||
"aarch64-unknown-linux-musl-0.10.9":
|
|
||||||
"05b0d3087e913ebe11756365a90dd47c05d6728752fdbe129ad4c3ccd769826d",
|
|
||||||
"arm-unknown-linux-musleabihf-0.10.9":
|
|
||||||
"6220fa3eb5f8212cae4ec3a5053060914aaa829549cf706dde9f9cc344f75f61",
|
|
||||||
"armv7-unknown-linux-gnueabihf-0.10.9":
|
|
||||||
"0076eac165c2f7129627e2297478e7ffbb9465d9ae6a8961b2f53dcbd807473d",
|
|
||||||
"armv7-unknown-linux-musleabihf-0.10.9":
|
|
||||||
"f702e821b80e371e14987a886d58ee103c5948b7b096fa49a552624c24d7e073",
|
|
||||||
"i686-pc-windows-msvc-0.10.9":
|
|
||||||
"034bf6b91390b9adc5f41a5946fdb618ebc8cef1574f3d95af9c12fe2bf9aaf3",
|
|
||||||
"i686-unknown-linux-gnu-0.10.9":
|
|
||||||
"90d9168a4e7900463f9fd79a32eb1890081fb1e238d803404f6e17b2dcdcca7b",
|
|
||||||
"i686-unknown-linux-musl-0.10.9":
|
|
||||||
"1d42b0d0a037b3d658b11ec889154686db3ab269ba2b789bdbc45d36e3549f34",
|
|
||||||
"powerpc64le-unknown-linux-gnu-0.10.9":
|
|
||||||
"e804f4a7d0659e09ef806365f04bdd33c940603fab903e925402748d05dd109a",
|
|
||||||
"riscv64gc-unknown-linux-gnu-0.10.9":
|
|
||||||
"1541596da45855e34202130027a613a2ace7d441e04d747cb4dd9f2590461c9a",
|
|
||||||
"s390x-unknown-linux-gnu-0.10.9":
|
|
||||||
"a589d4a8930c82fa7225daec19c632651b3c84f50f770efe758056b387e5f0dd",
|
|
||||||
"x86_64-apple-darwin-0.10.9":
|
|
||||||
"9cc2de7d195fa157f98b306a8a1cb151ded93f488939b93363cebc8b9d598c28",
|
|
||||||
"x86_64-pc-windows-msvc-0.10.9":
|
|
||||||
"f58dc40896000229db7c52b8bdd931394040ef2ad59abd1eda841f6d70b13d7a",
|
|
||||||
"x86_64-unknown-linux-gnu-0.10.9":
|
|
||||||
"20d79708222611fa540b5c9ed84f352bcd3937740e51aacc0f8b15b271c57594",
|
|
||||||
"x86_64-unknown-linux-musl-0.10.9":
|
|
||||||
"433e56874739e92c7cfd661ba9e5f287b376ca612c08c8194a41a98a13158aea",
|
|
||||||
"aarch64-apple-darwin-0.10.8":
|
|
||||||
"c3a6fff5b6b4abddff863117878194e35dbc6b0267d61ad259ab9896f9b8dcbb",
|
|
||||||
"aarch64-pc-windows-msvc-0.10.8":
|
|
||||||
"20db25dc446f9a75d1cfde0a5f4b021e1b2eb266e600a610d32c7ca5d7ff83bf",
|
|
||||||
"aarch64-unknown-linux-gnu-0.10.8":
|
|
||||||
"661860e954f87dcd823251191866af3486484d1a9df60eed56f4586ed7559e3d",
|
|
||||||
"aarch64-unknown-linux-musl-0.10.8":
|
|
||||||
"2ef0d0489e9e2a32f134ca80097fa36be4b486c4ab004706a1d6d0d57980ff07",
|
|
||||||
"arm-unknown-linux-musleabihf-0.10.8":
|
|
||||||
"f6dfca333c566024f6feaef19adf7ce06675a1bc2fcadc2de640dd805112a518",
|
|
||||||
"armv7-unknown-linux-gnueabihf-0.10.8":
|
|
||||||
"1bee8f88a7129f7922c43b0e091a7065d4e13a2934e599aa8a48f162cf9739aa",
|
|
||||||
"armv7-unknown-linux-musleabihf-0.10.8":
|
|
||||||
"ad0ca78991518fde1c4c42f8590e86f29db1f746cedb637f9dac1bb7de2e28da",
|
|
||||||
"i686-pc-windows-msvc-0.10.8":
|
|
||||||
"db40952a0c16eb647cb3a06c8cc13712b72e5b6a2501bc080c7e00c0f0e4ad88",
|
|
||||||
"i686-unknown-linux-gnu-0.10.8":
|
|
||||||
"3a78c54ffedce8eafd59a19a32eaec538924169fa4bf9d28d2d5841a7f604210",
|
|
||||||
"i686-unknown-linux-musl-0.10.8":
|
|
||||||
"25cf70c12abded06c4c18db8fdba253776bc115ce28f849af6f6ef771e67d730",
|
|
||||||
"powerpc64le-unknown-linux-gnu-0.10.8":
|
|
||||||
"3a4a158e645d04825872eb59ca60dd5026529e4f9fe5dd88987a45478301724d",
|
|
||||||
"riscv64gc-unknown-linux-gnu-0.10.8":
|
|
||||||
"2349e786d2de14fbd72386f42ed9f398cad52f47f6cdd78e05f338a1faf1321c",
|
|
||||||
"s390x-unknown-linux-gnu-0.10.8":
|
|
||||||
"21de0f86838b06e6ebcc3cb6a079d49d3d3886e5b49822ae58e5758eb08a6710",
|
|
||||||
"x86_64-apple-darwin-0.10.8":
|
|
||||||
"e0a1b22b039f8155765f5bc8c13df03a5f994a901901179791572e8e5f053281",
|
|
||||||
"x86_64-pc-windows-msvc-0.10.8":
|
|
||||||
"2e70ecd22196cbd9d14eefb700814bcafc5b75a0d8275b52e8402e5fe256d928",
|
|
||||||
"x86_64-unknown-linux-gnu-0.10.8":
|
|
||||||
"f0c566b55683395a62fefb9261a060fa09824914b5682c3b9629fa154762ae2f",
|
|
||||||
"x86_64-unknown-linux-musl-0.10.8":
|
|
||||||
"a4e6ad1aecac61077de548d2cc9ccf2c2f1848863312b3b59fb0d2eb8d8a043c",
|
|
||||||
"aarch64-apple-darwin-0.10.7":
|
|
||||||
"1eb4dcc5e0fc8669fa0b33cf1151b64ba3b8c26b60dceff4f7a686129e2af22b",
|
|
||||||
"aarch64-pc-windows-msvc-0.10.7":
|
|
||||||
"45ba7b72a7435343d650c73d21d65d2e8bdda47f6bd39af00e37f3cb70aa79ef",
|
|
||||||
"aarch64-unknown-linux-gnu-0.10.7":
|
|
||||||
"20efc27d946860093650bcf26096a016b10fdaf03b13c33b75fbde02962beea9",
|
|
||||||
"aarch64-unknown-linux-musl-0.10.7":
|
|
||||||
"115291f9943531a3b63db3a2eabda8b74b8da4831551679382cb309c9debd9f7",
|
|
||||||
"arm-unknown-linux-musleabihf-0.10.7":
|
|
||||||
"3ea331cd68f28235e13639d5400341a3893d0455f2473a74a9926b7d62cb739c",
|
|
||||||
"armv7-unknown-linux-gnueabihf-0.10.7":
|
|
||||||
"2e2f88cc5a7b49282c9aa05cfe03e3b8b0a044e90981062fbeb60a7aeba188ca",
|
|
||||||
"armv7-unknown-linux-musleabihf-0.10.7":
|
|
||||||
"27319e842d802c5c73be52f3774999d79d0f28f37984090998560fd925133375",
|
|
||||||
"i686-pc-windows-msvc-0.10.7":
|
|
||||||
"a7960473a473ee5907a55fccb8c645e24c1da7d39076aaef652b819e3a26a28b",
|
|
||||||
"i686-unknown-linux-gnu-0.10.7":
|
|
||||||
"1a22aa0d2268a9a6fb2e5f092ca3d1ef7c14f96c3b4fd546226814f376e59d73",
|
|
||||||
"i686-unknown-linux-musl-0.10.7":
|
|
||||||
"75c2cc60675fb6f846b394c3f7b51f77c08f0981abf5cfcb5e27cfbb2f5837e0",
|
|
||||||
"powerpc64le-unknown-linux-gnu-0.10.7":
|
|
||||||
"7398686962b966959c32e7fbfd2868fbac38491ff0d86033d7c8bbb826a04026",
|
|
||||||
"riscv64gc-unknown-linux-gnu-0.10.7":
|
|
||||||
"39abc60403fdcf5c681b63c967059d42aea58a81ffb092d6dda767390222a4b0",
|
|
||||||
"s390x-unknown-linux-gnu-0.10.7":
|
|
||||||
"281ae4c1343e0c5f9775358690d40e00edbf63ca788b4d8b6574a0b5cba624f4",
|
|
||||||
"x86_64-apple-darwin-0.10.7":
|
|
||||||
"4fed9d4f4608fb3850db714ee37244436f850a2b6e485bc510795679c2d08866",
|
|
||||||
"x86_64-pc-windows-msvc-0.10.7":
|
|
||||||
"8881afb877996a1373a12e816395122a8d39a3ac06cd066272acdb49510cf0fe",
|
|
||||||
"x86_64-unknown-linux-gnu-0.10.7":
|
|
||||||
"9ac6cee4e379a5abfca06e78a777b26b7ba1f81cb7935b97054d80d85ac00774",
|
|
||||||
"x86_64-unknown-linux-musl-0.10.7":
|
|
||||||
"992529add6024e67135b1c80617abd2eca7be2cf0b99b3911f923de815bd8dc1",
|
|
||||||
"aarch64-apple-darwin-0.10.6":
|
|
||||||
"3993249d8f51deaf34cfce037e57e294e82267ff1f9dc45b7983a17afaf065b4",
|
|
||||||
"aarch64-pc-windows-msvc-0.10.6":
|
|
||||||
"e431c9a4f8d66e872f6640500cbbf1af20418720b78ac01404399ac810ef2e46",
|
|
||||||
"aarch64-unknown-linux-gnu-0.10.6":
|
|
||||||
"9380705294a85e3e634570abddd5b2577900c1873c29b790c7abc56a81dce4bc",
|
|
||||||
"aarch64-unknown-linux-musl-0.10.6":
|
|
||||||
"7de7aa836fd54ff930fa5e63bc04da35e2fbd72889d6258e153479c44d08b863",
|
|
||||||
"arm-unknown-linux-musleabihf-0.10.6":
|
|
||||||
"9d0b55a3b0aff97884f49e15739a9936eb33a1b59a5bf1b3c7ce4d9e517d4d76",
|
|
||||||
"armv7-unknown-linux-gnueabihf-0.10.6":
|
|
||||||
"165400192202ee2487bcee4429a5e5a2fddfe8fef8985fb548e2a89fda6b2376",
|
|
||||||
"armv7-unknown-linux-musleabihf-0.10.6":
|
|
||||||
"1cf58447f2003122f83b1a34aee94429cb2686010c3502bfa21c8116e09d5bdf",
|
|
||||||
"i686-pc-windows-msvc-0.10.6":
|
|
||||||
"ec189db03b89262e6089e4fb895af6116b964234cf4166b330e258aaf7f999b4",
|
|
||||||
"i686-unknown-linux-gnu-0.10.6":
|
|
||||||
"f72a88d489fc424aca69c1cbf175bb5aeae649aa8c55b092628e5e553b481dd5",
|
|
||||||
"i686-unknown-linux-musl-0.10.6":
|
|
||||||
"94471f51aedbfaceb495949d5ce37d44352b2dfea45b61399870c39a881681fc",
|
|
||||||
"powerpc64le-unknown-linux-gnu-0.10.6":
|
|
||||||
"72d504553fc7150177bbf57b585c850cb4d695ddd848b9ba1416ac122eb88293",
|
|
||||||
"riscv64gc-unknown-linux-gnu-0.10.6":
|
|
||||||
"8f8a966d1f911f39334581a933805a30cdec5a7c1d4f580e03973ff45bf9b6ad",
|
|
||||||
"s390x-unknown-linux-gnu-0.10.6":
|
|
||||||
"5ed60237762862b05561d02b7f095268897d0561e87dca5986b04319265bc2cf",
|
|
||||||
"x86_64-apple-darwin-0.10.6":
|
|
||||||
"d7647571fb17a5107d4d23cc190418039c157fd7361ddb59bc6f8127a49e3eac",
|
|
||||||
"x86_64-pc-windows-msvc-0.10.6":
|
|
||||||
"b27eb789f281e398a82197477de727fc8faf08605152115686da2c3cba0d25f7",
|
|
||||||
"x86_64-unknown-linux-gnu-0.10.6":
|
|
||||||
"aaa402e19d14a6b9a4267fcf4ec35380f804c68923525cea67cd6ee05bb4e930",
|
|
||||||
"x86_64-unknown-linux-musl-0.10.6":
|
|
||||||
"01d6ce770da88ce6445acb0a8764c8b1634c9f69c728dca68b19fc7a893f72b9",
|
|
||||||
"aarch64-apple-darwin-0.10.5":
|
|
||||||
"796c2d264c6aba3e1179249438a9fa2fe64140748f0e5b6681e38218ab6238f1",
|
|
||||||
"aarch64-pc-windows-msvc-0.10.5":
|
|
||||||
"7f88f279e271cd76a6e07fe1ad711cbdf15374206ab79f55adadb818ebbd8e43",
|
|
||||||
"aarch64-unknown-linux-gnu-0.10.5":
|
|
||||||
"dfa82b047456c646c50ba769af81a6b7ba20aaf5feee96e61554861db8db5809",
|
|
||||||
"aarch64-unknown-linux-musl-0.10.5":
|
|
||||||
"cf01a960442b9aff4cadc4d27c691086151e9289b5b9fbd0dc41ecfcff1db872",
|
|
||||||
"arm-unknown-linux-musleabihf-0.10.5":
|
|
||||||
"abe18becc57fe3c3bf55e62b4b7be0231cb4dbb941fdb3f4f9132703b1f4868c",
|
|
||||||
"armv7-unknown-linux-gnueabihf-0.10.5":
|
|
||||||
"46d79f64e88cb339160cf90f6df51ea14795960840fb4fca8aa61af8cddd8187",
|
|
||||||
"armv7-unknown-linux-musleabihf-0.10.5":
|
|
||||||
"13444ea0cc650551c4c455af73ac27a77185064275475b2999c627158b7455f4",
|
|
||||||
"i686-pc-windows-msvc-0.10.5":
|
|
||||||
"67d96bae5ef30b9f1e201622505591601b936996ceea84c36fce5e577db5a442",
|
|
||||||
"i686-unknown-linux-gnu-0.10.5":
|
|
||||||
"56eb897036b8607bb7516349388bef6c83004ae05e694ec34e1bae69f3a0f237",
|
|
||||||
"i686-unknown-linux-musl-0.10.5":
|
|
||||||
"b0be10f5c16a987294a806dfd3927348456fca8b465377c99e0d167792b842dc",
|
|
||||||
"powerpc64le-unknown-linux-gnu-0.10.5":
|
|
||||||
"c7f4049b7e26a43107351808f7748c3bc0dfdf118c29f4b1470b69be15fef45b",
|
|
||||||
"riscv64gc-unknown-linux-gnu-0.10.5":
|
|
||||||
"756c43f4844953a2241c4254d268335b3bd35ca81856e8e06c7d4826466e87ce",
|
|
||||||
"s390x-unknown-linux-gnu-0.10.5":
|
|
||||||
"fbccde48aec139fc99558bd022ec3cab15f607b9b5e0efc0279c6145ab5ecaf7",
|
|
||||||
"x86_64-apple-darwin-0.10.5":
|
|
||||||
"84c4ce2902e2e840a54a75360b00f06ceffc6c26894bc5e73151a2c55d5fd043",
|
|
||||||
"x86_64-pc-windows-msvc-0.10.5":
|
|
||||||
"d5b3b04127eb6fb41ffca60c0da655124133b62b4b58e29cfc5435469a176e06",
|
|
||||||
"x86_64-unknown-linux-gnu-0.10.5":
|
|
||||||
"bcb127225873baa5ebd23cf09f29996cc97c1091830c9933e2e320bf1429a584",
|
|
||||||
"x86_64-unknown-linux-musl-0.10.5":
|
|
||||||
"88aeea39c77b6b796ca6b19c0216a577b18095dc450972dac7872a307bb1e160",
|
|
||||||
"aarch64-apple-darwin-0.10.4":
|
|
||||||
"a6852e4dc565c8fedcf5adcdf09fca7caf5347739bed512bd95b15dada36db51",
|
|
||||||
"aarch64-pc-windows-msvc-0.10.4":
|
|
||||||
"77f859cfc26181bdfb94087ce42336d9e2d9e0700bc42f6668445cde517198ce",
|
|
||||||
"aarch64-unknown-linux-gnu-0.10.4":
|
|
||||||
"c84a6e6405715caa6e2f5ef8e5f29a5d0bc558a954e9f1b5c082b9d4708c222e",
|
|
||||||
"aarch64-unknown-linux-musl-0.10.4":
|
|
||||||
"82fc461031dafb130af761e7dbec1bcc51b826c2e664f5bf8bc4e4f8330320cd",
|
|
||||||
"arm-unknown-linux-musleabihf-0.10.4":
|
|
||||||
"2050d9037a63975dafed987bdc7d2960a3b82345951c14193060fce20f9d31d8",
|
|
||||||
"armv7-unknown-linux-gnueabihf-0.10.4":
|
|
||||||
"d1824ed14f3ad0e7cb7835b46bc0299859cd8141d039a66274a135ca9797bf9c",
|
|
||||||
"armv7-unknown-linux-musleabihf-0.10.4":
|
|
||||||
"3038fdf153a722941424c28ae76996d60589f7f626c2000eb6567b3c301100dd",
|
|
||||||
"i686-pc-windows-msvc-0.10.4":
|
|
||||||
"b42379a65e9cec5863a22cf81810aec57281b08d426e70cc3b90320b996d84a7",
|
|
||||||
"i686-unknown-linux-gnu-0.10.4":
|
|
||||||
"79821b1d6c035aa8dc32a45d41551a4f010b8e357c98df48c95c5cb5ec18a743",
|
|
||||||
"i686-unknown-linux-musl-0.10.4":
|
|
||||||
"459315d7dba39b0297f44104fad1c93fa5cf866f91b533bba02d58f1e54129ad",
|
|
||||||
"powerpc64le-unknown-linux-gnu-0.10.4":
|
|
||||||
"7b315d9580ef574a1d0ff2023c16e5ac8a164feb1e998f33ed144dfd4c4fc125",
|
|
||||||
"riscv64gc-unknown-linux-gnu-0.10.4":
|
|
||||||
"101a71c072986929c410d4839babf66851563fd855b36c1dd7ffbbf5fbedce36",
|
|
||||||
"s390x-unknown-linux-gnu-0.10.4":
|
|
||||||
"59a50f14892c82de8f3e7a1a63ebc0ef98778085e4bb35ec99323f5009232fe2",
|
|
||||||
"x86_64-apple-darwin-0.10.4":
|
|
||||||
"df6dd1c3ebeab4369a098c516c15c233c62bf789a40a4864b30dad1d38d7604e",
|
|
||||||
"x86_64-pc-windows-msvc-0.10.4":
|
|
||||||
"0f0e22d7507633bfb38d9b42fb6a0341f1f74b8e80b070a31231c354812432a3",
|
|
||||||
"x86_64-unknown-linux-gnu-0.10.4":
|
|
||||||
"6b52a47358deea1c5e173278bf46b2b489747a59ae31f2a4362ed5c6c1c269f7",
|
|
||||||
"x86_64-unknown-linux-musl-0.10.4":
|
|
||||||
"18adf097cea30a165ba086c1e72659fec3c5aca056a560e7c39e0164ac871196",
|
|
||||||
"aarch64-apple-darwin-0.10.3":
|
|
||||||
"ed2a08079527dafae4943fee80162ed750286657901e642eba4c9de928706df8",
|
|
||||||
"aarch64-pc-windows-msvc-0.10.3":
|
|
||||||
"48243b8acbb31d0081e00878ee3b28535ed9f28ab8b27960b88aed8e1d6dd16a",
|
|
||||||
"aarch64-unknown-linux-gnu-0.10.3":
|
|
||||||
"cce7d1e4c34e22955cd647b256409b6504f4ae72acf190a6f26189efefbc9a9d",
|
|
||||||
"aarch64-unknown-linux-musl-0.10.3":
|
|
||||||
"a98f8decf21204d40acb512b0e08a803ed718c640a97f3c095864967463d5b15",
|
|
||||||
"arm-unknown-linux-musleabihf-0.10.3":
|
|
||||||
"e4b3c6dc59cd65125eda09e6c24b97fca71647df979f8963662807dc6a53e165",
|
|
||||||
"armv7-unknown-linux-gnueabihf-0.10.3":
|
|
||||||
"1d453ef56127d3aab3ea7f383b27765840e0bdc0b683347191e4cbc26272de2e",
|
|
||||||
"armv7-unknown-linux-musleabihf-0.10.3":
|
|
||||||
"d2484df75c9ba4c7e9750da00c4c4276b65c088d8b551b63717d5d9aa227ffa5",
|
|
||||||
"i686-pc-windows-msvc-0.10.3":
|
|
||||||
"51f745bcab5f77fe75e6f221e3e55a4bddf54824e634ac6f229132880506ce7e",
|
|
||||||
"i686-unknown-linux-gnu-0.10.3":
|
|
||||||
"e82e76ced718091d946eed30880728cf39f05b85f4f82c483a7dbf95f1663531",
|
|
||||||
"i686-unknown-linux-musl-0.10.3":
|
|
||||||
"0baca51f61729c6911d1d055c2e6dee5d11d88f6abbcd1ff801460f46880dc8d",
|
|
||||||
"powerpc64le-unknown-linux-gnu-0.10.3":
|
|
||||||
"cf4969ba97af3a53d1e4dc8a28441b79e78a8d9a9d41854e88b425f6b6fc6179",
|
|
||||||
"riscv64gc-unknown-linux-gnu-0.10.3":
|
|
||||||
"79b6b362e48c80e5b7d251fb96546d8ee52dd3458e01518cef969f757b59502b",
|
|
||||||
"s390x-unknown-linux-gnu-0.10.3":
|
|
||||||
"fc969d6011e4ffd0752abb5d812fc453649a7394c3f08a11556c9960891e359c",
|
|
||||||
"x86_64-apple-darwin-0.10.3":
|
|
||||||
"e8071cedb9986724ca3d70020b4460a85a274394b378c0e8eb1e8f9e33402ff9",
|
|
||||||
"x86_64-pc-windows-msvc-0.10.3":
|
|
||||||
"d029201a3eebaa8a0001fa762ee44ca14a9cb3cae4d59fc3fd69857da03a6f8c",
|
|
||||||
"x86_64-unknown-linux-gnu-0.10.3":
|
|
||||||
"c60b9956a0e6727f0ddd881c303a706c6408b2047f3a8fa4d1454a826338ccdc",
|
|
||||||
"x86_64-unknown-linux-musl-0.10.3":
|
|
||||||
"126496b606129eda426dac502af0d910d895f3db81da28efc49b18edf5557741",
|
|
||||||
"aarch64-apple-darwin-0.10.2":
|
|
||||||
"3828b2de196687f60e9d199aea8b504299629300831eea0935ff3fe339903d0a",
|
|
||||||
"aarch64-pc-windows-msvc-0.10.2":
|
|
||||||
"826e4ee3a03ec245e54c449e272fdf8aab749e039cc49c950ad43cc13702221f",
|
|
||||||
"aarch64-unknown-linux-gnu-0.10.2":
|
|
||||||
"4998f545234d52fc6f1280827d392f00a9278295050d59c53a776546dbf0124d",
|
|
||||||
"aarch64-unknown-linux-musl-0.10.2":
|
|
||||||
"685e47f8f88b6845a9fc2ca27c3d246c0f53af8c017daf8e98ac0a97fe20365b",
|
|
||||||
"arm-unknown-linux-musleabihf-0.10.2":
|
|
||||||
"1c51ebc67e8e492fa549167a96e40bb21a2c2ccde8a8b440f9c8bc0e07f3d4a8",
|
|
||||||
"armv7-unknown-linux-gnueabihf-0.10.2":
|
|
||||||
"45243fed8f587f11002f175216894c9c75e2f402324627b7e0855e670557ec14",
|
|
||||||
"armv7-unknown-linux-musleabihf-0.10.2":
|
|
||||||
"45b3d7eee7a3af2e4309b0bbe4886c6640b773f6500f0e0b662d84f4a5466f67",
|
|
||||||
"i686-pc-windows-msvc-0.10.2":
|
|
||||||
"a828ee0a2f42d1384f79acd3edaf01956000e1ec5d18d9992d79e17d70d9aa6c",
|
|
||||||
"i686-unknown-linux-gnu-0.10.2":
|
|
||||||
"7f64628a8a0869185eed24de4a02f4c8d19c99dec7363f383050ccb7474a76e9",
|
|
||||||
"i686-unknown-linux-musl-0.10.2":
|
|
||||||
"8d1978ecfa37d2d71cbb0e2e75262e65c184d040130fe2dc331f25e044ed97b4",
|
|
||||||
"powerpc64le-unknown-linux-gnu-0.10.2":
|
|
||||||
"9b7f8e3ced416276a9e6321369f69234552d9cbf39d68d96a67e85cee4cd611f",
|
|
||||||
"riscv64gc-unknown-linux-gnu-0.10.2":
|
|
||||||
"1ad005a361293175170f3c193b50d5a5c7f1da631649236cd857721ce8c9cbde",
|
|
||||||
"s390x-unknown-linux-gnu-0.10.2":
|
|
||||||
"d4832c85f3e8e17f7ae4ced90059dc2b6927939a47fea3e92e5712e7148b9c09",
|
|
||||||
"x86_64-apple-darwin-0.10.2":
|
|
||||||
"3cdbd038333cfe861ce04f3d91678547bf2e726224acf5f42d3f0affa6740e19",
|
|
||||||
"x86_64-pc-windows-msvc-0.10.2":
|
|
||||||
"493ebbe0e06128d6ee4905e1ed5e2a433fb0f7cfc08b0eaca9fab4ca76778ae1",
|
|
||||||
"x86_64-unknown-linux-gnu-0.10.2":
|
|
||||||
"6aa4576c31f791c0b9d4739e256d07358d45e7535695287fec03cf6839e25512",
|
|
||||||
"x86_64-unknown-linux-musl-0.10.2":
|
|
||||||
"c162182ba7dd692794362d76dd183990d6e51553217954106da19bdb6ced211b",
|
|
||||||
"aarch64-apple-darwin-0.10.1":
|
|
||||||
"37c101cd8a745a43d69bc3832c41866ab721467a1d58881f57b73b705abc2851",
|
|
||||||
"aarch64-pc-windows-msvc-0.10.1":
|
|
||||||
"9644d0e37c41c19aa65137a928bf6fad78dc887f820202c0cfcf010cceb416a0",
|
|
||||||
"aarch64-unknown-linux-gnu-0.10.1":
|
|
||||||
"3731e98805ea6789188edec0dd97e673da195bf976a72db38f325f7c51cf5cdd",
|
|
||||||
"aarch64-unknown-linux-musl-0.10.1":
|
|
||||||
"ae9ae536be5b4d1cf7a6560d52a20711f267e7b21e23ee6cc538a4afa236b757",
|
|
||||||
"arm-unknown-linux-musleabihf-0.10.1":
|
|
||||||
"af7994b58553156fb4acdac40b3f7b1b43260a76de96ca7123bdf861351675d4",
|
|
||||||
"armv7-unknown-linux-gnueabihf-0.10.1":
|
|
||||||
"4f8857a779df69e2aa9df8ff35b6c34ef3ce45c13d2d4a0ae3957b0e68d322cc",
|
|
||||||
"armv7-unknown-linux-musleabihf-0.10.1":
|
|
||||||
"79d978b0e829cab83de4c78e80bd014f3210cf0a1a653d880d0aa6760baeaf80",
|
|
||||||
"i686-pc-windows-msvc-0.10.1":
|
|
||||||
"c4e989d479f9fc229302345a64f272be3c249d5fff4a2e722aa3d73c381fb303",
|
|
||||||
"i686-unknown-linux-gnu-0.10.1":
|
|
||||||
"0c4a17893df6e11991483277c5f0bee06d8ea60b6e11b349a9849bfe13a8c5cf",
|
|
||||||
"i686-unknown-linux-musl-0.10.1":
|
|
||||||
"7219a96adde5316489886c0d74749b7248c2c4070170b8e153d9d3f8f9fdfa5e",
|
|
||||||
"powerpc64le-unknown-linux-gnu-0.10.1":
|
|
||||||
"aa2ed9587a9ad5127662da9ceccaa747b941f37cbd9e6d9334c7c6c3286c9587",
|
|
||||||
"riscv64gc-unknown-linux-gnu-0.10.1":
|
|
||||||
"bda96a9ff8be79f780ff4711a2515061fe80d6f135ba55a47c41e1c6739d048e",
|
|
||||||
"s390x-unknown-linux-gnu-0.10.1":
|
|
||||||
"091eeeecfcdb15a954f2488be6b89d8709709003ada81d215d6ca88145826049",
|
|
||||||
"x86_64-apple-darwin-0.10.1":
|
|
||||||
"f61f1122193698a53fc2d4cc6fb5a5849b283817509778ac8f1a7d2a36a218de",
|
|
||||||
"x86_64-pc-windows-msvc-0.10.1":
|
|
||||||
"64c297ef1cd8e3a50966dee20cbe039564cd59e41186e0d1dd38fa4e627fc285",
|
|
||||||
"x86_64-unknown-linux-gnu-0.10.1":
|
|
||||||
"8b5af2d678da1bdae80a5107c934f6ab010c6cdeb2de5b8e07568031d9486051",
|
|
||||||
"x86_64-unknown-linux-musl-0.10.1":
|
|
||||||
"d1a3b08dd9abf9e500541cadd0e2f4b144c99b9265fb00e500c2b5c82a3b4ee8",
|
|
||||||
"aarch64-apple-darwin-0.10.0":
|
|
||||||
"82d4b99dc6ea686695b5ee142ceba03dd3e3eda2b414e94215ab7bce94972fbb",
|
|
||||||
"aarch64-pc-windows-msvc-0.10.0":
|
|
||||||
"614dd3c409d7fb5a98b516d532c98db9b7799a23fb450150e3784338a9ebd903",
|
|
||||||
"aarch64-unknown-linux-gnu-0.10.0":
|
|
||||||
"c300afd5f2d31df039fe6a26a2d68a76b62832098c272a43e1e74ab9efd4fbd7",
|
|
||||||
"aarch64-unknown-linux-musl-0.10.0":
|
|
||||||
"edf1adb1d183730302f87eef9b71bc4e47b4b8058832c3393b0fbcd86f270510",
|
|
||||||
"arm-unknown-linux-musleabihf-0.10.0":
|
|
||||||
"fea6d45bce1e7172192b4a7d3feb9f37c4198c243be1c573c8dacae765a32c53",
|
|
||||||
"armv7-unknown-linux-gnueabihf-0.10.0":
|
|
||||||
"3e8ab76a515884c29c773e01360acb6da61a1351c630377b54ba58918d9673af",
|
|
||||||
"armv7-unknown-linux-musleabihf-0.10.0":
|
|
||||||
"85423cda078ed0313f993ddea6ac897e469885539ce156643ace982bbffb8109",
|
|
||||||
"i686-pc-windows-msvc-0.10.0":
|
|
||||||
"b71bca0987dd12ea09ac6a0e52fdfa89f53601b6074be38366d0592b181f3001",
|
|
||||||
"i686-unknown-linux-gnu-0.10.0":
|
|
||||||
"dbac897653b0d60fb863288587dbacb30140f9725a42718f2c017df7b2d2b3c3",
|
|
||||||
"i686-unknown-linux-musl-0.10.0":
|
|
||||||
"56a211155275dd33731cbbb33aa915d3e7efa59d4436502edaca39ba436c157a",
|
|
||||||
"powerpc64le-unknown-linux-gnu-0.10.0":
|
|
||||||
"677a414608c61e2ecd751364dae9209cc5b76019481968b99b5d5ad7258d2d77",
|
|
||||||
"riscv64gc-unknown-linux-gnu-0.10.0":
|
|
||||||
"9da4019ecfd3440a5d0a0a957d8d5e4c6534ac1e3a10636d55266a22ab4135f8",
|
|
||||||
"s390x-unknown-linux-gnu-0.10.0":
|
|
||||||
"a1b9aa45c1a6b69066179e8d7e3f6e122e0f433ef2ad4e91c0acd1433a083c31",
|
|
||||||
"x86_64-apple-darwin-0.10.0":
|
|
||||||
"664aed584c276f8d79cdc3b7685cd48f5d64657bd6840b06b4b2b0db731b9c99",
|
|
||||||
"x86_64-pc-windows-msvc-0.10.0":
|
|
||||||
"4037b444541f695cd2eb93188a9346de3e334af562381411deade0a31c7bf898",
|
|
||||||
"x86_64-unknown-linux-gnu-0.10.0":
|
|
||||||
"230e328948c92dd1ebad83949c4d56e83813dfe9c6362a4c519e6a227973f1ae",
|
|
||||||
"x86_64-unknown-linux-musl-0.10.0":
|
|
||||||
"312d37f31b6f2c3bfc65668ba0efea9f1f9eaf7bc3209fe1a109e5cf861b95fa",
|
|
||||||
"aarch64-apple-darwin-0.9.30":
|
|
||||||
"03a5d9ec7f7d588446b2ec226d13ff6300055e55365eca8f3fab39f342b0e805",
|
|
||||||
"aarch64-pc-windows-msvc-0.9.30":
|
|
||||||
"cfbc40baf1da11c55eff92ee008f5af3cdbb4c24c40ddb0bbd489b983fadf43f",
|
|
||||||
"aarch64-unknown-linux-gnu-0.9.30":
|
|
||||||
"6aadf3c71600d594e16dabf382cc15282ead4c5ca768599b6bcb43c5004d9aa8",
|
|
||||||
"aarch64-unknown-linux-musl-0.9.30":
|
|
||||||
"b658b56957bceea742ca14f3ef28fb3542adbcedfb8bd5bd718ae255394ccd09",
|
|
||||||
"arm-unknown-linux-musleabihf-0.9.30":
|
|
||||||
"5a7f4cd306363b734dba2d86eb760812cb1211254d36ace01860f9e783df1900",
|
|
||||||
"armv7-unknown-linux-gnueabihf-0.9.30":
|
|
||||||
"bf8d9c2f1b4d0eee9bfb689b5483b1bd4b0b76acbeaaa4d0d68b132574c606ff",
|
|
||||||
"armv7-unknown-linux-musleabihf-0.9.30":
|
|
||||||
"8715a9da643d9e6cb984c2d3e00480849f93f11251d1474cd382cc9d7faeab84",
|
|
||||||
"i686-pc-windows-msvc-0.9.30":
|
|
||||||
"218b7ec0d052836d7ee395d5e0592e5dac7578fd618f439a5d09c1ad36466399",
|
|
||||||
"i686-unknown-linux-gnu-0.9.30":
|
|
||||||
"1bab147179887ebcb5c31e016e9ac9987f687e79f92fd2f0ff9bcedf927b8228",
|
|
||||||
"i686-unknown-linux-musl-0.9.30":
|
|
||||||
"14d8b2e2caa0b470418e551e027f3a8283aa8d09eae79206e7dbcd23a8ffa027",
|
|
||||||
"powerpc64-unknown-linux-gnu-0.9.30":
|
|
||||||
"ac4cd1a021462885932f6023b005a4835cca4c72bb60dec186ee2be4b60dca6f",
|
|
||||||
"powerpc64le-unknown-linux-gnu-0.9.30":
|
|
||||||
"73b8cbc560c6b2fa205358365d4e174abdf50cfcf57dc36a447572c56eba5ae4",
|
|
||||||
"riscv64gc-unknown-linux-gnu-0.9.30":
|
|
||||||
"5e0453d9252aab874a3658a039d4ffdde79dba4096974fcdc945498697dc81cf",
|
|
||||||
"s390x-unknown-linux-gnu-0.9.30":
|
|
||||||
"b35975bb9e5c2c418b428d0316cc6e3c7a6eff710c69212be14005c192f54516",
|
|
||||||
"x86_64-apple-darwin-0.9.30":
|
|
||||||
"ce069bf750567e9a4a31d6e285d1eae75d444d8a281409b641235903943b7681",
|
|
||||||
"x86_64-pc-windows-msvc-0.9.30":
|
|
||||||
"875981be7908295937dee09532bb66d576986d4f223259e171b0c767c885897a",
|
|
||||||
"x86_64-unknown-linux-gnu-0.9.30":
|
|
||||||
"8b3762374972daa7a74bbc6896cc73229ca69a07403dd9f9ea3805a51ffd7582",
|
|
||||||
"x86_64-unknown-linux-musl-0.9.30":
|
|
||||||
"1caf8fe092e2005dd4c134ba515c1aa3eea3d3c143f8a1903bcb58fcdf169365",
|
|
||||||
"aarch64-apple-darwin-0.9.29":
|
|
||||||
"0729ddd5c02df33669b03627aa5d9ac7cde4421657f808d54585e3cda944bb55",
|
|
||||||
"aarch64-pc-windows-msvc-0.9.29":
|
|
||||||
"39f7dce0d2993cd18d67980c012945ea678a99aef199f7afcea522b5bd70ecf7",
|
|
||||||
"aarch64-unknown-linux-gnu-0.9.29":
|
|
||||||
"935b35542b7e25493a551dcb3487af23b72ad284ee8ac6a488a97d02ce2d84ec",
|
|
||||||
"aarch64-unknown-linux-musl-0.9.29":
|
|
||||||
"b1edc94f5d6c36bb28a20f8c8afb400e55a428fcf396b03bf78cb7394f75077c",
|
|
||||||
"arm-unknown-linux-musleabihf-0.9.29":
|
|
||||||
"c72ae74c04668d4cf3143fb11ad5bbd1c9e9a80aaa439cb3e43208c127249202",
|
|
||||||
"armv7-unknown-linux-gnueabihf-0.9.29":
|
|
||||||
"e263645c9ab44e3f7e732b0317da775082f077bb86933be662395eeab97fb3d2",
|
|
||||||
"armv7-unknown-linux-musleabihf-0.9.29":
|
|
||||||
"98ab47dcb345d746b230a359d72a96444b1be21cf24026c653d5c7848c680beb",
|
|
||||||
"i686-pc-windows-msvc-0.9.29":
|
|
||||||
"049a929882a3f4a2d054c9dc44848d2c24175079696e131a57d60d9ab62df81a",
|
|
||||||
"i686-unknown-linux-gnu-0.9.29":
|
|
||||||
"9415828fc2fdacadb56263382a27da6661a89a4bb3a6683d6d864d5c013b7c6a",
|
|
||||||
"i686-unknown-linux-musl-0.9.29":
|
|
||||||
"3ac91c9cccc85c07c0950afc4f45b3e14f2a3e9484f4940366ebab72e71fa8dc",
|
|
||||||
"powerpc64-unknown-linux-gnu-0.9.29":
|
|
||||||
"7feb1fb35fe66b4f83d3bc7776810f708c6609c9be48ceed6ec024b15733101d",
|
|
||||||
"powerpc64le-unknown-linux-gnu-0.9.29":
|
|
||||||
"1f4e1f859868abcf3557afe78b8b7525a938921af745945deef737927a017d82",
|
|
||||||
"riscv64gc-unknown-linux-gnu-0.9.29":
|
|
||||||
"18dc2d3b513c4bfe0fc4b3a67a80f62ce32077f84db343a1f0eb8003ab276732",
|
|
||||||
"s390x-unknown-linux-gnu-0.9.29":
|
|
||||||
"10e6d5dcd72bf99daee6678f6b508d1056e9f1670f6d76c1cfdf02b7560bcb4a",
|
|
||||||
"x86_64-apple-darwin-0.9.29":
|
|
||||||
"d251e48db2a962272a2efeb2771c82c02e40f473193a255e8e5c05eb61112139",
|
|
||||||
"x86_64-pc-windows-msvc-0.9.29":
|
|
||||||
"9825b1a5955d8a432b664e56660641aac8886ed30cd9c59a94aacc68ae9116ce",
|
|
||||||
"x86_64-unknown-linux-gnu-0.9.29":
|
|
||||||
"1ce5212f8f42dc7427a1bd3db4168d6d1abcf81b38d8c82a5b9d0ddc54ceebfc",
|
|
||||||
"x86_64-unknown-linux-musl-0.9.29":
|
|
||||||
"44c93c73e8870e003bda17ab50d433e27d201d0cb28d2bb75351ef1497ffa9db",
|
|
||||||
"aarch64-apple-darwin-0.9.28":
|
|
||||||
"12163fe09eb292d3ad1ea0f132a84485c902e2ff360d57562bf676e6615fcba0",
|
|
||||||
"aarch64-pc-windows-msvc-0.9.28":
|
|
||||||
"081703fa19ae05a49f486f97468f7792e1cdacda403a091b151af7f5bd6f4595",
|
|
||||||
"aarch64-unknown-linux-gnu-0.9.28":
|
|
||||||
"382c342735ff29f8ba4574d88e39bca798bcbac50bff6742710ca9cd8143e7d2",
|
|
||||||
"aarch64-unknown-linux-musl-0.9.28":
|
|
||||||
"eec3249254efac972d2555ff858f8ed20f05b40fbb38ac83b15cf0a2ccc86749",
|
|
||||||
"arm-unknown-linux-musleabihf-0.9.28":
|
|
||||||
"d0df2a9e7db464a567038bd560dc5007e488542c073989334a4a293b8957e1e1",
|
|
||||||
"armv7-unknown-linux-gnueabihf-0.9.28":
|
|
||||||
"6ddf1979609a3f5bdf897965ed6984dacce860ce57c579596bdc4b514c19320b",
|
|
||||||
"armv7-unknown-linux-musleabihf-0.9.28":
|
|
||||||
"e391ba4cc05a3a1096f1ab6cd82fcbed059d048a6ba108b4cb18da311a07c4d5",
|
|
||||||
"i686-pc-windows-msvc-0.9.28":
|
|
||||||
"fb5015efd0db178268312a7a7dcde7b0d3b7d7e0eccd0372a4b6f1dcfc075472",
|
|
||||||
"i686-unknown-linux-gnu-0.9.28":
|
|
||||||
"c0d34d92cb11925530fbc313de7536da3e1d097a442f54668417d241697fb3a2",
|
|
||||||
"i686-unknown-linux-musl-0.9.28":
|
|
||||||
"be1ad4f30d97c95af5105405fc38329d66375cde3de18cd0f9fe73b4581155c7",
|
|
||||||
"powerpc64-unknown-linux-gnu-0.9.28":
|
|
||||||
"6f23bfca0febb001792e7124d0c2ba41ddcfe01d6c030f4a8668ed634a5a582b",
|
|
||||||
"powerpc64le-unknown-linux-gnu-0.9.28":
|
|
||||||
"894ac114f076cffbf041e55e1ad0df759f7bc9dba1291158690781baad38001e",
|
|
||||||
"riscv64gc-unknown-linux-gnu-0.9.28":
|
|
||||||
"e61fa014a0b77acd17f9f366a55cbc0e67b377c4eff13629021a4242cc71eabb",
|
|
||||||
"s390x-unknown-linux-gnu-0.9.28":
|
|
||||||
"af15dc54893b2caecc3604ac68104914b155a8bbf821f667996549e777919a90",
|
|
||||||
"x86_64-apple-darwin-0.9.28":
|
|
||||||
"3a8030881d13b824e5168f5e4d060e715e40753249766bda3d52d6771d93b169",
|
|
||||||
"x86_64-pc-windows-msvc-0.9.28":
|
|
||||||
"9cb567fcd92f31431220ce620787043b946c30b9bb46ca213780e5ef471453be",
|
|
||||||
"x86_64-unknown-linux-gnu-0.9.28":
|
|
||||||
"66ad1822dd9cf96694b95c24f25bc05cff417a65351464da01682a91796d1f2b",
|
|
||||||
"x86_64-unknown-linux-musl-0.9.28":
|
|
||||||
"83cd032167b6b97ac94830608efe11159b3d485654e39fdb0bf84718ef236afe",
|
|
||||||
"aarch64-apple-darwin-0.9.27":
|
|
||||||
"1359538ed8664d172692cf4719ee0933a4a3bfb22fc91b0be1e19e7bdd8f5ef3",
|
|
||||||
"aarch64-pc-windows-msvc-0.9.27":
|
|
||||||
"b448ab228f5d1165b8497e8ca10346af6f652eb8ad4e75e47fa55e8cdb5b60d7",
|
|
||||||
"aarch64-unknown-linux-gnu-0.9.27":
|
|
||||||
"a58b3b77a25620ae15ff3587049b755c7cbf3eaa7df187620b3e6c3dbf71daa0",
|
|
||||||
"aarch64-unknown-linux-musl-0.9.27":
|
|
||||||
"f80e97e1154a06e42143a173831289336ca9e34a67096ab070346958153e8e52",
|
|
||||||
"arm-unknown-linux-musleabihf-0.9.27":
|
|
||||||
"b80f4db9254b9ddec4b576190bdf15723e948f37f648d9b273be2e153d05f820",
|
|
||||||
"armv7-unknown-linux-gnueabihf-0.9.27":
|
|
||||||
"03b45c99ca940739c2a093f6a514da3dd858b3bc1e8c957c16c1832e30b30c28",
|
|
||||||
"armv7-unknown-linux-musleabihf-0.9.27":
|
|
||||||
"da43ee6e2f17b4646e35e2d55ce6a021fdf47c06601a6ae8b827de7bb7b3b02f",
|
|
||||||
"i686-pc-windows-msvc-0.9.27":
|
|
||||||
"f47831a97b8a1bc7c7211905c1e517cc2f4ef84df877f2a283c49609275db0fa",
|
|
||||||
"i686-unknown-linux-gnu-0.9.27":
|
|
||||||
"fdf3067e0c05d39b849ad48fbbc2b58919f70a686a40506c643d32688ceba1a9",
|
|
||||||
"i686-unknown-linux-musl-0.9.27":
|
|
||||||
"3c1f8c2b148ebf884311558aaff32b9fb5b68fe4f4242e3e3765381bb594386a",
|
|
||||||
"powerpc64-unknown-linux-gnu-0.9.27":
|
|
||||||
"c3cbda5118b06f2261d32f4802adfdc71f618f808df0c6a3184695a6ffecb88a",
|
|
||||||
"powerpc64le-unknown-linux-gnu-0.9.27":
|
|
||||||
"9011f6085cee3921c9fce82ce03041ca97aacc8cab86b7a5791faa71fa5f2712",
|
|
||||||
"riscv64gc-unknown-linux-gnu-0.9.27":
|
|
||||||
"7193628620c2c50c2d6632ea8e53a4ab5313f7e8003ddedd9e999f48b6d2c222",
|
|
||||||
"s390x-unknown-linux-gnu-0.9.27":
|
|
||||||
"5b055f02f2c8e5086ae1d05cf70d32d66982d27d8469ed896a65067fac2001d2",
|
|
||||||
"x86_64-apple-darwin-0.9.27":
|
|
||||||
"3977309c5c79984c13c55d2d1cd7aa114a718eb29436c5bdb4bdfa08bf243438",
|
|
||||||
"x86_64-pc-windows-msvc-0.9.27":
|
|
||||||
"c3bf465d5f2b93c836f369aec9f3fa8350843f24abd5f710bb74e72440b82898",
|
|
||||||
"x86_64-unknown-linux-gnu-0.9.27":
|
|
||||||
"8636e693ea0e05f5f4294b161f816c4d8df065267fdb0405cfb84c8e326991fa",
|
|
||||||
"x86_64-unknown-linux-musl-0.9.27":
|
|
||||||
"9f269bfb9c2e80808c373902af6a4af6cd5f4b4668b28c44aa09639cfed925c5",
|
|
||||||
"aarch64-apple-darwin-0.9.26":
|
"aarch64-apple-darwin-0.9.26":
|
||||||
"fcf0a9ea6599c6ae28a4c854ac6da76f2c889354d7c36ce136ef071f7ab9721f",
|
"fcf0a9ea6599c6ae28a4c854ac6da76f2c889354d7c36ce136ef071f7ab9721f",
|
||||||
"aarch64-pc-windows-msvc-0.9.26":
|
"aarch64-pc-windows-msvc-0.9.26":
|
||||||
|
|||||||
@@ -9,26 +9,18 @@ export async function updateChecksums(
|
|||||||
filePath: string,
|
filePath: string,
|
||||||
checksumEntries: ChecksumEntry[],
|
checksumEntries: ChecksumEntry[],
|
||||||
): Promise<void> {
|
): Promise<void> {
|
||||||
const deduplicatedEntries = new Map<string, string>();
|
await fs.rm(filePath);
|
||||||
|
await fs.appendFile(
|
||||||
|
filePath,
|
||||||
|
"// AUTOGENERATED_DO_NOT_EDIT\nexport const KNOWN_CHECKSUMS: { [key: string]: string } = {\n",
|
||||||
|
);
|
||||||
|
let firstLine = true;
|
||||||
for (const entry of checksumEntries) {
|
for (const entry of checksumEntries) {
|
||||||
if (deduplicatedEntries.has(entry.key)) {
|
if (!firstLine) {
|
||||||
continue;
|
await fs.appendFile(filePath, ",\n");
|
||||||
}
|
}
|
||||||
|
await fs.appendFile(filePath, ` "${entry.key}":\n "${entry.checksum}"`);
|
||||||
deduplicatedEntries.set(entry.key, entry.checksum);
|
firstLine = false;
|
||||||
}
|
}
|
||||||
|
await fs.appendFile(filePath, ",\n};\n");
|
||||||
const body = [...deduplicatedEntries.entries()]
|
|
||||||
.map(([key, checksum]) => ` "${key}":\n "${checksum}"`)
|
|
||||||
.join(",\n");
|
|
||||||
|
|
||||||
const content =
|
|
||||||
"// AUTOGENERATED_DO_NOT_EDIT\n" +
|
|
||||||
"export const KNOWN_CHECKSUMS: { [key: string]: string } = {\n" +
|
|
||||||
body +
|
|
||||||
(body === "" ? "" : ",\n") +
|
|
||||||
"};\n";
|
|
||||||
|
|
||||||
await fs.writeFile(filePath, content);
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -2,18 +2,20 @@ import { promises as fs } from "node:fs";
|
|||||||
import * as path from "node:path";
|
import * as path from "node:path";
|
||||||
import * as core from "@actions/core";
|
import * as core from "@actions/core";
|
||||||
import * as tc from "@actions/tool-cache";
|
import * as tc from "@actions/tool-cache";
|
||||||
import {
|
import * as pep440 from "@renovatebot/pep440";
|
||||||
ASTRAL_MIRROR_PREFIX,
|
import * as semver from "semver";
|
||||||
GITHUB_RELEASES_PREFIX,
|
import { OWNER, REPO, TOOL_CACHE_NAME } from "../utils/constants";
|
||||||
TOOL_CACHE_NAME,
|
|
||||||
VERSIONS_MANIFEST_URL,
|
|
||||||
} from "../utils/constants";
|
|
||||||
import * as log from "../utils/logging";
|
|
||||||
import type { Architecture, Platform } from "../utils/platforms";
|
import type { Architecture, Platform } from "../utils/platforms";
|
||||||
import { validateChecksum } from "./checksum/checksum";
|
import { validateChecksum } from "./checksum/checksum";
|
||||||
import { getArtifact } from "./manifest";
|
import {
|
||||||
|
getLatestKnownVersion as getLatestVersionInManifest,
|
||||||
export { resolveVersion } from "../version/resolve";
|
getDownloadUrl as getManifestDownloadUrl,
|
||||||
|
} from "./version-manifest";
|
||||||
|
import {
|
||||||
|
getAllVersions,
|
||||||
|
getArtifact,
|
||||||
|
getLatestVersion as getLatestVersionFromNdjson,
|
||||||
|
} from "./versions-client";
|
||||||
|
|
||||||
export function tryGetFromToolCache(
|
export function tryGetFromToolCache(
|
||||||
arch: Architecture,
|
arch: Architecture,
|
||||||
@@ -30,117 +32,101 @@ export function tryGetFromToolCache(
|
|||||||
return { installedPath, version: resolvedVersion };
|
return { installedPath, version: resolvedVersion };
|
||||||
}
|
}
|
||||||
|
|
||||||
export async function downloadVersion(
|
export async function downloadVersionFromNdjson(
|
||||||
platform: Platform,
|
platform: Platform,
|
||||||
arch: Architecture,
|
arch: Architecture,
|
||||||
version: string,
|
version: string,
|
||||||
checksum: string | undefined,
|
checkSum: string | undefined,
|
||||||
githubToken: string,
|
githubToken: string,
|
||||||
manifestUrl?: string,
|
|
||||||
downloadFromAstralMirror = true,
|
|
||||||
): Promise<{ version: string; cachedToolDir: string }> {
|
): Promise<{ version: string; cachedToolDir: string }> {
|
||||||
const artifact = await getArtifact(version, arch, platform, manifestUrl);
|
const artifact = `uv-${arch}-${platform}`;
|
||||||
|
const extension = getExtension(platform);
|
||||||
|
|
||||||
if (!artifact) {
|
// Get artifact info from NDJSON (includes URL and checksum)
|
||||||
|
const artifactInfo = await getArtifact(version, arch, platform);
|
||||||
|
|
||||||
|
const downloadUrl =
|
||||||
|
artifactInfo?.url ??
|
||||||
|
`https://github.com/${OWNER}/${REPO}/releases/download/${version}/${artifact}${extension}`;
|
||||||
|
|
||||||
|
return await downloadVersion(
|
||||||
|
downloadUrl,
|
||||||
|
artifact,
|
||||||
|
platform,
|
||||||
|
arch,
|
||||||
|
version,
|
||||||
|
checkSum,
|
||||||
|
githubToken,
|
||||||
|
artifactInfo?.sha256,
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
export async function downloadVersionFromManifest(
|
||||||
|
manifestUrl: string,
|
||||||
|
platform: Platform,
|
||||||
|
arch: Architecture,
|
||||||
|
version: string,
|
||||||
|
checkSum: string | undefined,
|
||||||
|
githubToken: string,
|
||||||
|
): Promise<{ version: string; cachedToolDir: string }> {
|
||||||
|
const downloadUrl = await getManifestDownloadUrl(
|
||||||
|
manifestUrl,
|
||||||
|
version,
|
||||||
|
arch,
|
||||||
|
platform,
|
||||||
|
);
|
||||||
|
if (!downloadUrl) {
|
||||||
throw new Error(
|
throw new Error(
|
||||||
getMissingArtifactMessage(version, arch, platform, manifestUrl),
|
`manifest-file does not contain version ${version}, arch ${arch}, platform ${platform}.`,
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
// For the default astral-sh/versions source, checksum validation relies on
|
return await downloadVersion(
|
||||||
// user input or the built-in KNOWN_CHECKSUMS table, not manifest sha256 values.
|
|
||||||
const resolvedChecksum =
|
|
||||||
manifestUrl === undefined
|
|
||||||
? checksum
|
|
||||||
: resolveChecksum(checksum, artifact.checksum);
|
|
||||||
|
|
||||||
const mirrorUrl = downloadFromAstralMirror
|
|
||||||
? rewriteToMirror(artifact.downloadUrl)
|
|
||||||
: undefined;
|
|
||||||
const downloadUrl = mirrorUrl ?? artifact.downloadUrl;
|
|
||||||
|
|
||||||
try {
|
|
||||||
return await downloadArtifact(
|
|
||||||
downloadUrl,
|
downloadUrl,
|
||||||
`uv-${arch}-${platform}`,
|
`uv-${arch}-${platform}`,
|
||||||
platform,
|
platform,
|
||||||
arch,
|
arch,
|
||||||
version,
|
version,
|
||||||
resolvedChecksum,
|
checkSum,
|
||||||
githubTokenForUrl(downloadUrl, githubToken),
|
githubToken,
|
||||||
|
undefined, // No NDJSON checksum for manifest downloads
|
||||||
);
|
);
|
||||||
} catch (err) {
|
|
||||||
if (mirrorUrl === undefined) {
|
|
||||||
throw err;
|
|
||||||
}
|
|
||||||
|
|
||||||
log.warning(
|
|
||||||
`Failed to download from mirror, falling back to GitHub Releases: ${(err as Error).message}`,
|
|
||||||
);
|
|
||||||
|
|
||||||
return await downloadArtifact(
|
|
||||||
artifact.downloadUrl,
|
|
||||||
`uv-${arch}-${platform}`,
|
|
||||||
platform,
|
|
||||||
arch,
|
|
||||||
version,
|
|
||||||
resolvedChecksum,
|
|
||||||
githubTokenForUrl(artifact.downloadUrl, githubToken),
|
|
||||||
);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
async function downloadVersion(
|
||||||
* Rewrite a GitHub Releases URL to the Astral mirror.
|
|
||||||
* Returns `undefined` if the URL does not match the expected GitHub prefix.
|
|
||||||
*/
|
|
||||||
export function rewriteToMirror(url: string): string | undefined {
|
|
||||||
if (!url.startsWith(GITHUB_RELEASES_PREFIX)) {
|
|
||||||
return undefined;
|
|
||||||
}
|
|
||||||
|
|
||||||
return ASTRAL_MIRROR_PREFIX + url.slice(GITHUB_RELEASES_PREFIX.length);
|
|
||||||
}
|
|
||||||
|
|
||||||
function githubTokenForUrl(
|
|
||||||
downloadUrl: string,
|
|
||||||
githubToken: string,
|
|
||||||
): string | undefined {
|
|
||||||
try {
|
|
||||||
return new URL(downloadUrl).origin === "https://github.com"
|
|
||||||
? githubToken
|
|
||||||
: undefined;
|
|
||||||
} catch {
|
|
||||||
return undefined;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
async function downloadArtifact(
|
|
||||||
downloadUrl: string,
|
downloadUrl: string,
|
||||||
artifactName: string,
|
artifactName: string,
|
||||||
platform: Platform,
|
platform: Platform,
|
||||||
arch: Architecture,
|
arch: Architecture,
|
||||||
version: string,
|
version: string,
|
||||||
checksum: string | undefined,
|
checkSum: string | undefined,
|
||||||
githubToken: string | undefined,
|
githubToken: string,
|
||||||
|
ndjsonChecksum?: string,
|
||||||
): Promise<{ version: string; cachedToolDir: string }> {
|
): Promise<{ version: string; cachedToolDir: string }> {
|
||||||
log.info(`Downloading uv from "${downloadUrl}" ...`);
|
core.info(`Downloading uv from "${downloadUrl}" ...`);
|
||||||
const downloadPath = await tc.downloadTool(
|
const downloadPath = await tc.downloadTool(
|
||||||
downloadUrl,
|
downloadUrl,
|
||||||
undefined,
|
undefined,
|
||||||
githubToken,
|
githubToken,
|
||||||
);
|
);
|
||||||
await validateChecksum(checksum, downloadPath, arch, platform, version);
|
await validateChecksum(
|
||||||
|
checkSum,
|
||||||
|
downloadPath,
|
||||||
|
arch,
|
||||||
|
platform,
|
||||||
|
version,
|
||||||
|
ndjsonChecksum,
|
||||||
|
);
|
||||||
|
|
||||||
let uvDir: string;
|
let uvDir: string;
|
||||||
if (platform === "pc-windows-msvc") {
|
if (platform === "pc-windows-msvc") {
|
||||||
// On windows extracting the zip does not create an intermediate directory.
|
// On windows extracting the zip does not create an intermediate directory
|
||||||
try {
|
try {
|
||||||
// Try tar first as it's much faster, but only bsdtar supports zip files,
|
// Try tar first as it's much faster, but only bsdtar supports zip files,
|
||||||
// so this may fail if another tar, like gnu tar, ends up being used.
|
// so this my fail if another tar, like gnu tar, ends up being used.
|
||||||
uvDir = await tc.extractTar(downloadPath, undefined, "x");
|
uvDir = await tc.extractTar(downloadPath, undefined, "x");
|
||||||
} catch (err) {
|
} catch (err) {
|
||||||
log.info(
|
core.info(
|
||||||
`Extracting with tar failed, falling back to zip extraction: ${(err as Error).message}`,
|
`Extracting with tar failed, falling back to zip extraction: ${(err as Error).message}`,
|
||||||
);
|
);
|
||||||
const extension = getExtension(platform);
|
const extension = getExtension(platform);
|
||||||
@@ -152,38 +138,106 @@ async function downloadArtifact(
|
|||||||
const extractedDir = await tc.extractTar(downloadPath);
|
const extractedDir = await tc.extractTar(downloadPath);
|
||||||
uvDir = path.join(extractedDir, artifactName);
|
uvDir = path.join(extractedDir, artifactName);
|
||||||
}
|
}
|
||||||
|
|
||||||
const cachedToolDir = await tc.cacheDir(
|
const cachedToolDir = await tc.cacheDir(
|
||||||
uvDir,
|
uvDir,
|
||||||
TOOL_CACHE_NAME,
|
TOOL_CACHE_NAME,
|
||||||
version,
|
version,
|
||||||
arch,
|
arch,
|
||||||
);
|
);
|
||||||
return { cachedToolDir, version };
|
return { cachedToolDir, version: version };
|
||||||
}
|
|
||||||
|
|
||||||
function getMissingArtifactMessage(
|
|
||||||
version: string,
|
|
||||||
arch: Architecture,
|
|
||||||
platform: Platform,
|
|
||||||
manifestUrl?: string,
|
|
||||||
): string {
|
|
||||||
if (manifestUrl === undefined) {
|
|
||||||
return `Could not find artifact for version ${version}, arch ${arch}, platform ${platform} in ${VERSIONS_MANIFEST_URL} .`;
|
|
||||||
}
|
|
||||||
|
|
||||||
return `manifest-file does not contain version ${version}, arch ${arch}, platform ${platform}.`;
|
|
||||||
}
|
|
||||||
|
|
||||||
function resolveChecksum(
|
|
||||||
checksum: string | undefined,
|
|
||||||
manifestChecksum: string,
|
|
||||||
): string {
|
|
||||||
return checksum !== undefined && checksum !== ""
|
|
||||||
? checksum
|
|
||||||
: manifestChecksum;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
function getExtension(platform: Platform): string {
|
function getExtension(platform: Platform): string {
|
||||||
return platform === "pc-windows-msvc" ? ".zip" : ".tar.gz";
|
return platform === "pc-windows-msvc" ? ".zip" : ".tar.gz";
|
||||||
}
|
}
|
||||||
|
|
||||||
|
export async function resolveVersion(
|
||||||
|
versionInput: string,
|
||||||
|
manifestFile: string | undefined,
|
||||||
|
resolutionStrategy: "highest" | "lowest" = "highest",
|
||||||
|
): Promise<string> {
|
||||||
|
core.debug(`Resolving version: ${versionInput}`);
|
||||||
|
let version: string;
|
||||||
|
const isSimpleMinimumVersionSpecifier =
|
||||||
|
versionInput.includes(">") && !versionInput.includes(",");
|
||||||
|
const resolveVersionSpecifierToLatest =
|
||||||
|
isSimpleMinimumVersionSpecifier && resolutionStrategy === "highest";
|
||||||
|
if (resolveVersionSpecifierToLatest) {
|
||||||
|
core.info("Found minimum version specifier, using latest version");
|
||||||
|
}
|
||||||
|
if (manifestFile) {
|
||||||
|
version =
|
||||||
|
versionInput === "latest" || resolveVersionSpecifierToLatest
|
||||||
|
? await getLatestVersionInManifest(manifestFile)
|
||||||
|
: versionInput;
|
||||||
|
} else {
|
||||||
|
version =
|
||||||
|
versionInput === "latest" || resolveVersionSpecifierToLatest
|
||||||
|
? await getLatestVersionFromNdjson()
|
||||||
|
: versionInput;
|
||||||
|
}
|
||||||
|
if (tc.isExplicitVersion(version)) {
|
||||||
|
core.debug(`Version ${version} is an explicit version.`);
|
||||||
|
if (resolveVersionSpecifierToLatest) {
|
||||||
|
if (!pep440.satisfies(version, versionInput)) {
|
||||||
|
throw new Error(`No version found for ${versionInput}`);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return version;
|
||||||
|
}
|
||||||
|
const availableVersions = await getAvailableVersions();
|
||||||
|
core.debug(`Available versions: ${availableVersions}`);
|
||||||
|
const resolvedVersion =
|
||||||
|
resolutionStrategy === "lowest"
|
||||||
|
? minSatisfying(availableVersions, version)
|
||||||
|
: maxSatisfying(availableVersions, version);
|
||||||
|
if (resolvedVersion === undefined) {
|
||||||
|
throw new Error(`No version found for ${version}`);
|
||||||
|
}
|
||||||
|
return resolvedVersion;
|
||||||
|
}
|
||||||
|
|
||||||
|
async function getAvailableVersions(): Promise<string[]> {
|
||||||
|
core.info("Getting available versions from NDJSON...");
|
||||||
|
return await getAllVersions();
|
||||||
|
}
|
||||||
|
|
||||||
|
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;
|
||||||
|
}
|
||||||
|
|
||||||
|
function minSatisfying(
|
||||||
|
versions: string[],
|
||||||
|
version: string,
|
||||||
|
): string | undefined {
|
||||||
|
// For semver, we need to use a different approach since tc.evaluateVersions only returns max
|
||||||
|
// Let's use semver directly for min satisfying
|
||||||
|
const minSemver = semver.minSatisfying(versions, version);
|
||||||
|
if (minSemver !== null) {
|
||||||
|
core.debug(`Found a version that satisfies the semver range: ${minSemver}`);
|
||||||
|
return minSemver;
|
||||||
|
}
|
||||||
|
const minPep440 = pep440.minSatisfying(versions, version);
|
||||||
|
if (minPep440 !== null) {
|
||||||
|
core.debug(
|
||||||
|
`Found a version that satisfies the pep440 specifier: ${minPep440}`,
|
||||||
|
);
|
||||||
|
return minPep440;
|
||||||
|
}
|
||||||
|
return undefined;
|
||||||
|
}
|
||||||
|
|||||||
@@ -1,211 +0,0 @@
|
|||||||
import * as core from "@actions/core";
|
|
||||||
import { VERSIONS_MANIFEST_URL } from "../utils/constants";
|
|
||||||
import { fetch } from "../utils/fetch";
|
|
||||||
import * as log from "../utils/logging";
|
|
||||||
import { selectDefaultVariant } from "./variant-selection";
|
|
||||||
|
|
||||||
export interface ManifestArtifact {
|
|
||||||
platform: string;
|
|
||||||
variant?: string;
|
|
||||||
url: string;
|
|
||||||
archive_format: string;
|
|
||||||
sha256: string;
|
|
||||||
}
|
|
||||||
|
|
||||||
export interface ManifestVersion {
|
|
||||||
version: string;
|
|
||||||
artifacts: ManifestArtifact[];
|
|
||||||
}
|
|
||||||
|
|
||||||
export interface ArtifactResult {
|
|
||||||
archiveFormat: string;
|
|
||||||
checksum: string;
|
|
||||||
downloadUrl: string;
|
|
||||||
}
|
|
||||||
|
|
||||||
const cachedManifestData = new Map<string, ManifestVersion[]>();
|
|
||||||
|
|
||||||
export async function fetchManifest(
|
|
||||||
manifestUrl: string = VERSIONS_MANIFEST_URL,
|
|
||||||
): Promise<ManifestVersion[]> {
|
|
||||||
const cachedVersions = cachedManifestData.get(manifestUrl);
|
|
||||||
if (cachedVersions !== undefined) {
|
|
||||||
core.debug(`Using cached manifest data from ${manifestUrl}`);
|
|
||||||
return cachedVersions;
|
|
||||||
}
|
|
||||||
|
|
||||||
log.info(`Fetching manifest data from ${manifestUrl} ...`);
|
|
||||||
const response = await fetch(manifestUrl, {});
|
|
||||||
if (!response.ok) {
|
|
||||||
throw new Error(
|
|
||||||
`Failed to fetch manifest data: ${response.status} ${response.statusText}`,
|
|
||||||
);
|
|
||||||
}
|
|
||||||
|
|
||||||
const body = await response.text();
|
|
||||||
const versions = parseManifest(body, manifestUrl);
|
|
||||||
cachedManifestData.set(manifestUrl, versions);
|
|
||||||
return versions;
|
|
||||||
}
|
|
||||||
|
|
||||||
export function parseManifest(
|
|
||||||
data: string,
|
|
||||||
sourceDescription: string,
|
|
||||||
): ManifestVersion[] {
|
|
||||||
const trimmed = data.trim();
|
|
||||||
if (trimmed === "") {
|
|
||||||
throw new Error(`Manifest at ${sourceDescription} is empty.`);
|
|
||||||
}
|
|
||||||
|
|
||||||
if (trimmed.startsWith("[")) {
|
|
||||||
throw new Error(
|
|
||||||
`Legacy JSON array manifests are no longer supported in ${sourceDescription}. Use the astral-sh/versions manifest format instead.`,
|
|
||||||
);
|
|
||||||
}
|
|
||||||
|
|
||||||
const versions: ManifestVersion[] = [];
|
|
||||||
|
|
||||||
for (const [index, line] of data.split("\n").entries()) {
|
|
||||||
const record = line.trim();
|
|
||||||
if (record === "") {
|
|
||||||
continue;
|
|
||||||
}
|
|
||||||
|
|
||||||
let parsed: unknown;
|
|
||||||
try {
|
|
||||||
parsed = JSON.parse(record);
|
|
||||||
} catch (error) {
|
|
||||||
throw new Error(
|
|
||||||
`Failed to parse manifest data from ${sourceDescription} at line ${index + 1}: ${(error as Error).message}`,
|
|
||||||
);
|
|
||||||
}
|
|
||||||
|
|
||||||
if (!isManifestVersion(parsed)) {
|
|
||||||
throw new Error(
|
|
||||||
`Invalid manifest record in ${sourceDescription} at line ${index + 1}.`,
|
|
||||||
);
|
|
||||||
}
|
|
||||||
|
|
||||||
versions.push(parsed);
|
|
||||||
}
|
|
||||||
|
|
||||||
if (versions.length === 0) {
|
|
||||||
throw new Error(`No manifest data found in ${sourceDescription}.`);
|
|
||||||
}
|
|
||||||
|
|
||||||
return versions;
|
|
||||||
}
|
|
||||||
|
|
||||||
export async function getLatestVersion(
|
|
||||||
manifestUrl: string = VERSIONS_MANIFEST_URL,
|
|
||||||
): Promise<string> {
|
|
||||||
const latestVersion = (await fetchManifest(manifestUrl))[0]?.version;
|
|
||||||
|
|
||||||
if (latestVersion === undefined) {
|
|
||||||
throw new Error("No versions found in manifest data");
|
|
||||||
}
|
|
||||||
|
|
||||||
core.debug(`Latest version from manifest: ${latestVersion}`);
|
|
||||||
return latestVersion;
|
|
||||||
}
|
|
||||||
|
|
||||||
export async function getAllVersions(
|
|
||||||
manifestUrl: string = VERSIONS_MANIFEST_URL,
|
|
||||||
): Promise<string[]> {
|
|
||||||
log.info(
|
|
||||||
`Getting available versions from ${manifestSource(manifestUrl)} ...`,
|
|
||||||
);
|
|
||||||
const versions = await fetchManifest(manifestUrl);
|
|
||||||
return versions.map((versionData) => versionData.version);
|
|
||||||
}
|
|
||||||
|
|
||||||
export async function getArtifact(
|
|
||||||
version: string,
|
|
||||||
arch: string,
|
|
||||||
platform: string,
|
|
||||||
manifestUrl: string = VERSIONS_MANIFEST_URL,
|
|
||||||
): Promise<ArtifactResult | undefined> {
|
|
||||||
const versions = await fetchManifest(manifestUrl);
|
|
||||||
const versionData = versions.find(
|
|
||||||
(candidate) => candidate.version === version,
|
|
||||||
);
|
|
||||||
if (!versionData) {
|
|
||||||
core.debug(`Version ${version} not found in manifest ${manifestUrl}`);
|
|
||||||
return undefined;
|
|
||||||
}
|
|
||||||
|
|
||||||
const targetPlatform = `${arch}-${platform}`;
|
|
||||||
const matchingArtifacts = versionData.artifacts.filter(
|
|
||||||
(candidate) => candidate.platform === targetPlatform,
|
|
||||||
);
|
|
||||||
|
|
||||||
if (matchingArtifacts.length === 0) {
|
|
||||||
core.debug(
|
|
||||||
`Artifact for ${targetPlatform} not found in version ${version}. Available platforms: ${versionData.artifacts
|
|
||||||
.map((candidate) => candidate.platform)
|
|
||||||
.join(", ")}`,
|
|
||||||
);
|
|
||||||
return undefined;
|
|
||||||
}
|
|
||||||
|
|
||||||
const artifact = selectDefaultVariant(
|
|
||||||
matchingArtifacts,
|
|
||||||
`Multiple artifacts found for ${targetPlatform} in version ${version}`,
|
|
||||||
);
|
|
||||||
|
|
||||||
return {
|
|
||||||
archiveFormat: artifact.archive_format,
|
|
||||||
checksum: artifact.sha256,
|
|
||||||
downloadUrl: artifact.url,
|
|
||||||
};
|
|
||||||
}
|
|
||||||
|
|
||||||
export function clearManifestCache(manifestUrl?: string): void {
|
|
||||||
if (manifestUrl === undefined) {
|
|
||||||
cachedManifestData.clear();
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
cachedManifestData.delete(manifestUrl);
|
|
||||||
}
|
|
||||||
|
|
||||||
function manifestSource(manifestUrl: string): string {
|
|
||||||
if (manifestUrl === VERSIONS_MANIFEST_URL) {
|
|
||||||
return VERSIONS_MANIFEST_URL;
|
|
||||||
}
|
|
||||||
|
|
||||||
return `manifest-file ${manifestUrl}`;
|
|
||||||
}
|
|
||||||
|
|
||||||
function isManifestVersion(value: unknown): value is ManifestVersion {
|
|
||||||
if (!isRecord(value)) {
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (typeof value.version !== "string" || !Array.isArray(value.artifacts)) {
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
return value.artifacts.every(isManifestArtifact);
|
|
||||||
}
|
|
||||||
|
|
||||||
function isManifestArtifact(value: unknown): value is ManifestArtifact {
|
|
||||||
if (!isRecord(value)) {
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
const variantIsValid =
|
|
||||||
typeof value.variant === "string" || value.variant === undefined;
|
|
||||||
|
|
||||||
return (
|
|
||||||
typeof value.archive_format === "string" &&
|
|
||||||
typeof value.platform === "string" &&
|
|
||||||
typeof value.sha256 === "string" &&
|
|
||||||
typeof value.url === "string" &&
|
|
||||||
variantIsValid
|
|
||||||
);
|
|
||||||
}
|
|
||||||
|
|
||||||
function isRecord(value: unknown): value is Record<string, unknown> {
|
|
||||||
return typeof value === "object" && value !== null;
|
|
||||||
}
|
|
||||||
@@ -1,39 +0,0 @@
|
|||||||
interface VariantAwareEntry {
|
|
||||||
variant?: string;
|
|
||||||
}
|
|
||||||
|
|
||||||
export function selectDefaultVariant<T extends VariantAwareEntry>(
|
|
||||||
entries: T[],
|
|
||||||
duplicateEntryDescription: string,
|
|
||||||
): T {
|
|
||||||
const firstEntry = entries[0];
|
|
||||||
if (firstEntry === undefined) {
|
|
||||||
throw new Error("selectDefaultVariant requires at least one candidate.");
|
|
||||||
}
|
|
||||||
|
|
||||||
if (entries.length === 1) {
|
|
||||||
return firstEntry;
|
|
||||||
}
|
|
||||||
|
|
||||||
const defaultEntries = entries.filter((entry) =>
|
|
||||||
isDefaultVariant(entry.variant),
|
|
||||||
);
|
|
||||||
if (defaultEntries.length === 1) {
|
|
||||||
return defaultEntries[0];
|
|
||||||
}
|
|
||||||
|
|
||||||
throw new Error(
|
|
||||||
`${duplicateEntryDescription} with variants ${formatVariants(entries)}. setup-uv currently requires a single default variant for duplicate platform entries.`,
|
|
||||||
);
|
|
||||||
}
|
|
||||||
|
|
||||||
function isDefaultVariant(variant: string | undefined): boolean {
|
|
||||||
return variant === undefined || variant === "default";
|
|
||||||
}
|
|
||||||
|
|
||||||
function formatVariants<T extends VariantAwareEntry>(entries: T[]): string {
|
|
||||||
return entries
|
|
||||||
.map((entry) => entry.variant ?? "default")
|
|
||||||
.sort((left, right) => left.localeCompare(right))
|
|
||||||
.join(", ");
|
|
||||||
}
|
|
||||||
91
src/download/version-manifest.ts
Normal file
91
src/download/version-manifest.ts
Normal file
@@ -0,0 +1,91 @@
|
|||||||
|
import { promises as fs } from "node:fs";
|
||||||
|
import { join } from "node:path";
|
||||||
|
import * as core from "@actions/core";
|
||||||
|
import * as semver from "semver";
|
||||||
|
import { fetch } from "../utils/fetch";
|
||||||
|
|
||||||
|
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({
|
||||||
|
arch: artifactParts[1],
|
||||||
|
artifactName: artifactName,
|
||||||
|
downloadUrl: downloadUrl,
|
||||||
|
platform: artifactName.split(`uv-${artifactParts[1]}-`)[1].split(".")[0],
|
||||||
|
version: version,
|
||||||
|
});
|
||||||
|
}
|
||||||
|
core.debug(`Updating manifest-file: ${JSON.stringify(manifest)}`);
|
||||||
|
await fs.writeFile(manifestUrl, JSON.stringify(manifest));
|
||||||
|
}
|
||||||
113
src/download/versions-client.ts
Normal file
113
src/download/versions-client.ts
Normal file
@@ -0,0 +1,113 @@
|
|||||||
|
import * as core from "@actions/core";
|
||||||
|
import { VERSIONS_NDJSON_URL } from "../utils/constants";
|
||||||
|
import { fetch } from "../utils/fetch";
|
||||||
|
|
||||||
|
export interface NdjsonArtifact {
|
||||||
|
platform: string;
|
||||||
|
variant: string;
|
||||||
|
url: string;
|
||||||
|
archive_format: string;
|
||||||
|
sha256: string;
|
||||||
|
}
|
||||||
|
|
||||||
|
export interface NdjsonVersion {
|
||||||
|
version: string;
|
||||||
|
artifacts: NdjsonArtifact[];
|
||||||
|
}
|
||||||
|
|
||||||
|
let cachedVersionData: NdjsonVersion[] | null = null;
|
||||||
|
|
||||||
|
export async function fetchVersionData(): Promise<NdjsonVersion[]> {
|
||||||
|
if (cachedVersionData !== null) {
|
||||||
|
core.debug("Using cached NDJSON version data");
|
||||||
|
return cachedVersionData;
|
||||||
|
}
|
||||||
|
|
||||||
|
core.info(`Fetching version data from ${VERSIONS_NDJSON_URL}...`);
|
||||||
|
const response = await fetch(VERSIONS_NDJSON_URL, {});
|
||||||
|
if (!response.ok) {
|
||||||
|
throw new Error(
|
||||||
|
`Failed to fetch version data: ${response.status} ${response.statusText}`,
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
const body = await response.text();
|
||||||
|
const versions: NdjsonVersion[] = [];
|
||||||
|
|
||||||
|
for (const line of body.split("\n")) {
|
||||||
|
const trimmed = line.trim();
|
||||||
|
if (trimmed === "") {
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
try {
|
||||||
|
const version = JSON.parse(trimmed) as NdjsonVersion;
|
||||||
|
versions.push(version);
|
||||||
|
} catch {
|
||||||
|
core.debug(`Failed to parse NDJSON line: ${trimmed}`);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (versions.length === 0) {
|
||||||
|
throw new Error("No version data found in NDJSON file");
|
||||||
|
}
|
||||||
|
|
||||||
|
cachedVersionData = versions;
|
||||||
|
return versions;
|
||||||
|
}
|
||||||
|
|
||||||
|
export async function getLatestVersion(): Promise<string> {
|
||||||
|
const versions = await fetchVersionData();
|
||||||
|
// The NDJSON file lists versions in order, newest first
|
||||||
|
const latestVersion = versions[0]?.version;
|
||||||
|
if (!latestVersion) {
|
||||||
|
throw new Error("No versions found in NDJSON data");
|
||||||
|
}
|
||||||
|
core.debug(`Latest version from NDJSON: ${latestVersion}`);
|
||||||
|
return latestVersion;
|
||||||
|
}
|
||||||
|
|
||||||
|
export async function getAllVersions(): Promise<string[]> {
|
||||||
|
const versions = await fetchVersionData();
|
||||||
|
return versions.map((v) => v.version);
|
||||||
|
}
|
||||||
|
|
||||||
|
export interface ArtifactResult {
|
||||||
|
url: string;
|
||||||
|
sha256: string;
|
||||||
|
}
|
||||||
|
|
||||||
|
export async function getArtifact(
|
||||||
|
version: string,
|
||||||
|
arch: string,
|
||||||
|
platform: string,
|
||||||
|
): Promise<ArtifactResult | undefined> {
|
||||||
|
const versions = await fetchVersionData();
|
||||||
|
const versionData = versions.find((v) => v.version === version);
|
||||||
|
if (!versionData) {
|
||||||
|
core.debug(`Version ${version} not found in NDJSON data`);
|
||||||
|
return undefined;
|
||||||
|
}
|
||||||
|
|
||||||
|
// The NDJSON artifact platform format is like "x86_64-apple-darwin"
|
||||||
|
// We need to match against arch-platform
|
||||||
|
const targetPlatform = `${arch}-${platform}`;
|
||||||
|
const artifact = versionData.artifacts.find(
|
||||||
|
(a) => a.platform === targetPlatform,
|
||||||
|
);
|
||||||
|
|
||||||
|
if (!artifact) {
|
||||||
|
core.debug(
|
||||||
|
`Artifact for ${targetPlatform} not found in version ${version}. Available platforms: ${versionData.artifacts.map((a) => a.platform).join(", ")}`,
|
||||||
|
);
|
||||||
|
return undefined;
|
||||||
|
}
|
||||||
|
|
||||||
|
return {
|
||||||
|
sha256: artifact.sha256,
|
||||||
|
url: artifact.url,
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
export function clearCache(): void {
|
||||||
|
cachedVersionData = null;
|
||||||
|
}
|
||||||
@@ -2,8 +2,8 @@ import * as crypto from "node:crypto";
|
|||||||
import * as fs from "node:fs";
|
import * as fs from "node:fs";
|
||||||
import * as stream from "node:stream";
|
import * as stream from "node:stream";
|
||||||
import * as util from "node:util";
|
import * as util from "node:util";
|
||||||
|
import * as core from "@actions/core";
|
||||||
import { create } from "@actions/glob";
|
import { create } from "@actions/glob";
|
||||||
import * as log from "../utils/logging";
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Hashes files matching the given glob pattern.
|
* Hashes files matching the given glob pattern.
|
||||||
@@ -19,7 +19,7 @@ export async function hashFiles(
|
|||||||
): Promise<string> {
|
): Promise<string> {
|
||||||
const globber = await create(pattern);
|
const globber = await create(pattern);
|
||||||
let hasMatch = false;
|
let hasMatch = false;
|
||||||
const writeDelegate = verbose ? log.info : log.debug;
|
const writeDelegate = verbose ? core.info : core.debug;
|
||||||
const result = crypto.createHash("sha256");
|
const result = crypto.createHash("sha256");
|
||||||
let count = 0;
|
let count = 0;
|
||||||
for await (const file of globber.globGenerator()) {
|
for await (const file of globber.globGenerator()) {
|
||||||
|
|||||||
@@ -9,40 +9,26 @@ import {
|
|||||||
STATE_PYTHON_CACHE_MATCHED_KEY,
|
STATE_PYTHON_CACHE_MATCHED_KEY,
|
||||||
} from "./cache/restore-cache";
|
} from "./cache/restore-cache";
|
||||||
import { STATE_UV_PATH, STATE_UV_VERSION } from "./utils/constants";
|
import { STATE_UV_PATH, STATE_UV_VERSION } from "./utils/constants";
|
||||||
import { loadInputs, type SetupInputs } from "./utils/inputs";
|
import {
|
||||||
import * as log from "./utils/logging";
|
cacheLocalPath,
|
||||||
|
cachePython,
|
||||||
function formatUnexpectedFailure(error: unknown): string {
|
enableCache,
|
||||||
if (error instanceof Error) {
|
ignoreNothingToCache,
|
||||||
return error.stack ?? error.message;
|
pythonDir,
|
||||||
}
|
pruneCache as shouldPruneCache,
|
||||||
return String(error);
|
saveCache as shouldSaveCache,
|
||||||
}
|
} from "./utils/inputs";
|
||||||
|
|
||||||
function failUnexpectedly(event: string, error: unknown): never {
|
|
||||||
core.setFailed(`${event}: ${formatUnexpectedFailure(error)}`);
|
|
||||||
process.exit(1);
|
|
||||||
}
|
|
||||||
|
|
||||||
process.on("uncaughtException", (error) => {
|
|
||||||
failUnexpectedly("Uncaught exception", error);
|
|
||||||
});
|
|
||||||
|
|
||||||
process.on("unhandledRejection", (reason) => {
|
|
||||||
failUnexpectedly("Unhandled promise rejection", reason);
|
|
||||||
});
|
|
||||||
|
|
||||||
export async function run(): Promise<void> {
|
export async function run(): Promise<void> {
|
||||||
try {
|
try {
|
||||||
const inputs = loadInputs();
|
if (enableCache) {
|
||||||
if (inputs.enableCache) {
|
if (shouldSaveCache) {
|
||||||
if (inputs.saveCache) {
|
await saveCache();
|
||||||
await saveCache(inputs);
|
|
||||||
} else {
|
} else {
|
||||||
log.info("save-cache is false. Skipping save cache step.");
|
core.info("save-cache is false. Skipping save cache step.");
|
||||||
}
|
}
|
||||||
// https://github.com/nodejs/node/issues/56645#issuecomment-3924958861
|
// https://github.com/nodejs/node/issues/56645#issuecomment-3077594952
|
||||||
await new Promise((resolve) => setTimeout(resolve, 100));
|
await new Promise((resolve) => setTimeout(resolve, 50));
|
||||||
|
|
||||||
// node will stay alive if any promises are not resolved,
|
// node will stay alive if any promises are not resolved,
|
||||||
// which is a possibility if HTTP requests are dangling
|
// which is a possibility if HTTP requests are dangling
|
||||||
@@ -57,56 +43,39 @@ export async function run(): Promise<void> {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
async function saveCache(inputs: SetupInputs): Promise<void> {
|
async function saveCache(): Promise<void> {
|
||||||
const cacheKey = core.getState(STATE_CACHE_KEY);
|
const cacheKey = core.getState(STATE_CACHE_KEY);
|
||||||
const matchedKey = core.getState(STATE_CACHE_MATCHED_KEY);
|
const matchedKey = core.getState(STATE_CACHE_MATCHED_KEY);
|
||||||
|
|
||||||
if (!cacheKey) {
|
if (!cacheKey) {
|
||||||
log.warning("Error retrieving cache key from state.");
|
core.warning("Error retrieving cache key from state.");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
if (matchedKey === cacheKey) {
|
if (matchedKey === cacheKey) {
|
||||||
log.info(`Cache hit occurred on key ${cacheKey}, not saving cache.`);
|
core.info(`Cache hit occurred on key ${cacheKey}, not saving cache.`);
|
||||||
} else {
|
} else {
|
||||||
if (inputs.pruneCache) {
|
if (shouldPruneCache) {
|
||||||
await pruneCache();
|
await pruneCache();
|
||||||
}
|
}
|
||||||
|
|
||||||
const actualCachePath = getUvCachePath(inputs);
|
const actualCachePath = getUvCachePath();
|
||||||
if (!fs.existsSync(actualCachePath)) {
|
|
||||||
if (inputs.ignoreNothingToCache) {
|
|
||||||
log.info(
|
|
||||||
"No cacheable uv cache paths were found. Ignoring because ignore-nothing-to-cache is enabled.",
|
|
||||||
);
|
|
||||||
} else {
|
|
||||||
throw new Error(
|
|
||||||
`Cache path ${actualCachePath} does not exist on disk. This likely indicates that there are no dependencies to cache. Consider disabling the cache input if it is not needed.`,
|
|
||||||
);
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
await saveCacheToKey(
|
await saveCacheToKey(
|
||||||
cacheKey,
|
cacheKey,
|
||||||
actualCachePath,
|
actualCachePath,
|
||||||
STATE_CACHE_MATCHED_KEY,
|
STATE_CACHE_MATCHED_KEY,
|
||||||
"uv cache",
|
"uv cache",
|
||||||
|
`Cache path ${actualCachePath} does not exist on disk. This likely indicates that there are no dependencies to cache. Consider disabling the cache input if it is not needed.`,
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
if (inputs.cachePython) {
|
|
||||||
if (!fs.existsSync(inputs.pythonDir)) {
|
|
||||||
log.warning(
|
|
||||||
`Python cache path ${inputs.pythonDir} does not exist on disk. Skipping Python cache save because no managed Python installation was found. If you want uv to install managed Python instead of using a system interpreter, set UV_PYTHON_PREFERENCE=only-managed.`,
|
|
||||||
);
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
if (cachePython) {
|
||||||
const pythonCacheKey = `${cacheKey}-python`;
|
const pythonCacheKey = `${cacheKey}-python`;
|
||||||
await saveCacheToKey(
|
await saveCacheToKey(
|
||||||
pythonCacheKey,
|
pythonCacheKey,
|
||||||
inputs.pythonDir,
|
pythonDir,
|
||||||
STATE_PYTHON_CACHE_MATCHED_KEY,
|
STATE_PYTHON_CACHE_MATCHED_KEY,
|
||||||
"Python cache",
|
"Python cache",
|
||||||
|
`Python cache path ${pythonDir} does not exist on disk. This likely indicates that there are no Python installations to cache. Consider disabling the cache input if it is not needed.`,
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -122,27 +91,27 @@ async function pruneCache(): Promise<void> {
|
|||||||
execArgs.push("--force");
|
execArgs.push("--force");
|
||||||
}
|
}
|
||||||
|
|
||||||
log.info("Pruning cache...");
|
core.info("Pruning cache...");
|
||||||
const uvPath = core.getState(STATE_UV_PATH);
|
const uvPath = core.getState(STATE_UV_PATH);
|
||||||
await exec.exec(uvPath, execArgs, options);
|
await exec.exec(uvPath, execArgs, options);
|
||||||
}
|
}
|
||||||
|
|
||||||
function getUvCachePath(inputs: SetupInputs): string {
|
function getUvCachePath(): string {
|
||||||
if (inputs.cacheLocalPath === undefined) {
|
if (cacheLocalPath === undefined) {
|
||||||
throw new Error(
|
throw new Error(
|
||||||
"cache-local-path is not set. Cannot save cache without a valid cache path.",
|
"cache-local-path is not set. Cannot save cache without a valid cache path.",
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
if (
|
if (
|
||||||
process.env.UV_CACHE_DIR &&
|
process.env.UV_CACHE_DIR &&
|
||||||
process.env.UV_CACHE_DIR !== inputs.cacheLocalPath.path
|
process.env.UV_CACHE_DIR !== cacheLocalPath.path
|
||||||
) {
|
) {
|
||||||
log.warning(
|
core.warning(
|
||||||
`The environment variable UV_CACHE_DIR has been changed to "${process.env.UV_CACHE_DIR}", by an action or step running after astral-sh/setup-uv. This can lead to unexpected behavior. If you expected this to happen set the cache-local-path input to "${process.env.UV_CACHE_DIR}" instead of "${inputs.cacheLocalPath.path}".`,
|
`The environment variable UV_CACHE_DIR has been changed to "${process.env.UV_CACHE_DIR}", by an action or step running after astral-sh/setup-uv. This can lead to unexpected behavior. If you expected this to happen set the cache-local-path input to "${process.env.UV_CACHE_DIR}" instead of "${cacheLocalPath.path}".`,
|
||||||
);
|
);
|
||||||
return process.env.UV_CACHE_DIR;
|
return process.env.UV_CACHE_DIR;
|
||||||
}
|
}
|
||||||
return inputs.cacheLocalPath.path;
|
return cacheLocalPath.path;
|
||||||
}
|
}
|
||||||
|
|
||||||
async function saveCacheToKey(
|
async function saveCacheToKey(
|
||||||
@@ -150,17 +119,38 @@ async function saveCacheToKey(
|
|||||||
cachePath: string,
|
cachePath: string,
|
||||||
stateKey: string,
|
stateKey: string,
|
||||||
cacheName: string,
|
cacheName: string,
|
||||||
|
pathNotExistErrorMessage: string,
|
||||||
): Promise<void> {
|
): Promise<void> {
|
||||||
const matchedKey = core.getState(stateKey);
|
const matchedKey = core.getState(stateKey);
|
||||||
|
|
||||||
if (matchedKey === cacheKey) {
|
if (matchedKey === cacheKey) {
|
||||||
log.info(`${cacheName} hit occurred on key ${cacheKey}, not saving cache.`);
|
core.info(
|
||||||
|
`${cacheName} hit occurred on key ${cacheKey}, not saving cache.`,
|
||||||
|
);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
log.info(`Including ${cacheName} path: ${cachePath}`);
|
core.info(`Including ${cacheName} path: ${cachePath}`);
|
||||||
|
if (!fs.existsSync(cachePath) && !ignoreNothingToCache) {
|
||||||
|
throw new Error(pathNotExistErrorMessage);
|
||||||
|
}
|
||||||
|
|
||||||
|
try {
|
||||||
await cache.saveCache([cachePath], cacheKey);
|
await cache.saveCache([cachePath], cacheKey);
|
||||||
log.info(`${cacheName} saved with key: ${cacheKey}`);
|
core.info(`${cacheName} saved with key: ${cacheKey}`);
|
||||||
|
} catch (e) {
|
||||||
|
if (
|
||||||
|
e instanceof Error &&
|
||||||
|
e.message ===
|
||||||
|
"Path Validation Error: Path(s) specified in the action for caching do(es) not exist, hence no cache is being saved."
|
||||||
|
) {
|
||||||
|
core.info(
|
||||||
|
`No cacheable ${cacheName} paths were found. Ignoring because ignore-nothing-to-save is enabled.`,
|
||||||
|
);
|
||||||
|
} else {
|
||||||
|
throw e;
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
run();
|
run();
|
||||||
|
|||||||
276
src/setup-uv.ts
276
src/setup-uv.ts
@@ -4,45 +4,42 @@ import * as core from "@actions/core";
|
|||||||
import * as exec from "@actions/exec";
|
import * as exec from "@actions/exec";
|
||||||
import { restoreCache } from "./cache/restore-cache";
|
import { restoreCache } from "./cache/restore-cache";
|
||||||
import {
|
import {
|
||||||
downloadVersion,
|
downloadVersionFromManifest,
|
||||||
|
downloadVersionFromNdjson,
|
||||||
|
resolveVersion,
|
||||||
tryGetFromToolCache,
|
tryGetFromToolCache,
|
||||||
} from "./download/download-version";
|
} from "./download/download-version";
|
||||||
import { STATE_UV_PATH, STATE_UV_VERSION } from "./utils/constants";
|
import { STATE_UV_PATH, STATE_UV_VERSION } from "./utils/constants";
|
||||||
import { CacheLocalSource, loadInputs, type SetupInputs } from "./utils/inputs";
|
import {
|
||||||
import * as log from "./utils/logging";
|
activateEnvironment as activateEnvironmentInput,
|
||||||
|
addProblemMatchers,
|
||||||
|
CacheLocalSource,
|
||||||
|
cacheLocalPath,
|
||||||
|
checkSum,
|
||||||
|
enableCache,
|
||||||
|
githubToken,
|
||||||
|
ignoreEmptyWorkdir,
|
||||||
|
manifestFile,
|
||||||
|
pythonDir,
|
||||||
|
pythonVersion,
|
||||||
|
resolutionStrategy,
|
||||||
|
toolBinDir,
|
||||||
|
toolDir,
|
||||||
|
versionFile as versionFileInput,
|
||||||
|
version as versionInput,
|
||||||
|
workingDirectory,
|
||||||
|
} from "./utils/inputs";
|
||||||
import {
|
import {
|
||||||
type Architecture,
|
type Architecture,
|
||||||
getArch,
|
getArch,
|
||||||
getPlatform,
|
getPlatform,
|
||||||
type Platform,
|
type Platform,
|
||||||
} from "./utils/platforms";
|
} from "./utils/platforms";
|
||||||
import { resolveUvVersion } from "./version/resolve";
|
import { getUvVersionFromFile } from "./version/resolve";
|
||||||
|
|
||||||
const sourceDir = __dirname;
|
async function getPythonVersion(): Promise<string> {
|
||||||
|
if (pythonVersion !== "") {
|
||||||
function formatUnexpectedFailure(error: unknown): string {
|
return pythonVersion;
|
||||||
if (error instanceof Error) {
|
|
||||||
return error.stack ?? error.message;
|
|
||||||
}
|
|
||||||
return String(error);
|
|
||||||
}
|
|
||||||
|
|
||||||
function failUnexpectedly(event: string, error: unknown): never {
|
|
||||||
core.setFailed(`${event}: ${formatUnexpectedFailure(error)}`);
|
|
||||||
process.exit(1);
|
|
||||||
}
|
|
||||||
|
|
||||||
process.on("uncaughtException", (error) => {
|
|
||||||
failUnexpectedly("Uncaught exception", error);
|
|
||||||
});
|
|
||||||
|
|
||||||
process.on("unhandledRejection", (reason) => {
|
|
||||||
failUnexpectedly("Unhandled promise rejection", reason);
|
|
||||||
});
|
|
||||||
|
|
||||||
async function getPythonVersion(inputs: SetupInputs): Promise<string> {
|
|
||||||
if (inputs.pythonVersion !== "") {
|
|
||||||
return inputs.pythonVersion;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
let output = "";
|
let output = "";
|
||||||
@@ -56,7 +53,7 @@ async function getPythonVersion(inputs: SetupInputs): Promise<string> {
|
|||||||
};
|
};
|
||||||
|
|
||||||
try {
|
try {
|
||||||
const execArgs = ["python", "find", "--directory", inputs.workingDirectory];
|
const execArgs = ["python", "find", "--directory", workingDirectory];
|
||||||
await exec.exec("uv", execArgs, options);
|
await exec.exec("uv", execArgs, options);
|
||||||
const pythonPath = output.trim();
|
const pythonPath = output.trim();
|
||||||
|
|
||||||
@@ -72,55 +69,54 @@ async function getPythonVersion(inputs: SetupInputs): Promise<string> {
|
|||||||
}
|
}
|
||||||
|
|
||||||
async function run(): Promise<void> {
|
async function run(): Promise<void> {
|
||||||
try {
|
detectEmptyWorkdir();
|
||||||
const inputs = loadInputs();
|
|
||||||
detectEmptyWorkdir(inputs);
|
|
||||||
const platform = await getPlatform();
|
const platform = await getPlatform();
|
||||||
const arch = getArch();
|
const arch = getArch();
|
||||||
|
|
||||||
|
try {
|
||||||
if (platform === undefined) {
|
if (platform === undefined) {
|
||||||
throw new Error(`Unsupported platform: ${process.platform}`);
|
throw new Error(`Unsupported platform: ${process.platform}`);
|
||||||
}
|
}
|
||||||
if (arch === undefined) {
|
if (arch === undefined) {
|
||||||
throw new Error(`Unsupported architecture: ${process.arch}`);
|
throw new Error(`Unsupported architecture: ${process.arch}`);
|
||||||
}
|
}
|
||||||
const setupResult = await setupUv(inputs, platform, arch);
|
const setupResult = await setupUv(platform, arch, checkSum, githubToken);
|
||||||
|
|
||||||
addToolBinToPath(inputs);
|
addToolBinToPath();
|
||||||
addUvToPathAndOutput(setupResult.uvDir);
|
addUvToPathAndOutput(setupResult.uvDir);
|
||||||
setToolDir(inputs);
|
setToolDir();
|
||||||
addPythonDirToPath(inputs);
|
addPythonDirToPath();
|
||||||
setupPython(inputs);
|
setupPython();
|
||||||
await activateEnvironment(inputs);
|
await activateEnvironment();
|
||||||
addMatchers(inputs);
|
addMatchers();
|
||||||
setCacheDir(inputs);
|
setCacheDir();
|
||||||
|
|
||||||
core.setOutput("uv-version", setupResult.version);
|
core.setOutput("uv-version", setupResult.version);
|
||||||
core.saveState(STATE_UV_VERSION, setupResult.version);
|
core.saveState(STATE_UV_VERSION, setupResult.version);
|
||||||
log.info(`Successfully installed uv version ${setupResult.version}`);
|
core.info(`Successfully installed uv version ${setupResult.version}`);
|
||||||
|
|
||||||
const detectedPythonVersion = await getPythonVersion(inputs);
|
const pythonVersion = await getPythonVersion();
|
||||||
core.setOutput("python-version", detectedPythonVersion);
|
core.setOutput("python-version", pythonVersion);
|
||||||
|
|
||||||
if (inputs.enableCache) {
|
if (enableCache) {
|
||||||
await restoreCache(inputs, detectedPythonVersion);
|
await restoreCache(pythonVersion);
|
||||||
}
|
}
|
||||||
// https://github.com/nodejs/node/issues/56645#issuecomment-3924958861
|
// https://github.com/nodejs/node/issues/56645#issuecomment-3077594952
|
||||||
await new Promise((resolve) => setTimeout(resolve, 100));
|
await new Promise((resolve) => setTimeout(resolve, 50));
|
||||||
process.exit(0);
|
process.exit(0);
|
||||||
} catch (err) {
|
} catch (err) {
|
||||||
core.setFailed((err as Error).message);
|
core.setFailed((err as Error).message);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
function detectEmptyWorkdir(inputs: SetupInputs): void {
|
function detectEmptyWorkdir(): void {
|
||||||
if (fs.readdirSync(inputs.workingDirectory).length === 0) {
|
if (fs.readdirSync(workingDirectory).length === 0) {
|
||||||
if (inputs.ignoreEmptyWorkdir) {
|
if (ignoreEmptyWorkdir) {
|
||||||
log.info(
|
core.info(
|
||||||
"Empty workdir detected. Ignoring because ignore-empty-workdir is enabled",
|
"Empty workdir detected. Ignoring because ignore-empty-workdir is enabled",
|
||||||
);
|
);
|
||||||
} else {
|
} else {
|
||||||
log.warning(
|
core.warning(
|
||||||
"Empty workdir detected. This may cause unexpected behavior. You can enable ignore-empty-workdir to mute this warning.",
|
"Empty workdir detected. This may cause unexpected behavior. You can enable ignore-empty-workdir to mute this warning.",
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
@@ -128,156 +124,186 @@ function detectEmptyWorkdir(inputs: SetupInputs): void {
|
|||||||
}
|
}
|
||||||
|
|
||||||
async function setupUv(
|
async function setupUv(
|
||||||
inputs: SetupInputs,
|
|
||||||
platform: Platform,
|
platform: Platform,
|
||||||
arch: Architecture,
|
arch: Architecture,
|
||||||
|
checkSum: string | undefined,
|
||||||
|
githubToken: string,
|
||||||
): Promise<{ uvDir: string; version: string }> {
|
): Promise<{ uvDir: string; version: string }> {
|
||||||
const resolvedVersion = await resolveUvVersion({
|
const resolvedVersion = await determineVersion(manifestFile);
|
||||||
manifestFile: inputs.manifestFile,
|
|
||||||
resolutionStrategy: inputs.resolutionStrategy,
|
|
||||||
version: inputs.version,
|
|
||||||
versionFile: inputs.versionFile,
|
|
||||||
workingDirectory: inputs.workingDirectory,
|
|
||||||
});
|
|
||||||
const toolCacheResult = tryGetFromToolCache(arch, resolvedVersion);
|
const toolCacheResult = tryGetFromToolCache(arch, resolvedVersion);
|
||||||
if (toolCacheResult.installedPath) {
|
if (toolCacheResult.installedPath) {
|
||||||
log.info(`Found uv in tool-cache for ${toolCacheResult.version}`);
|
core.info(`Found uv in tool-cache for ${toolCacheResult.version}`);
|
||||||
return {
|
return {
|
||||||
uvDir: toolCacheResult.installedPath,
|
uvDir: toolCacheResult.installedPath,
|
||||||
version: toolCacheResult.version,
|
version: toolCacheResult.version,
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
const downloadResult = await downloadVersion(
|
// Use the same source for download as we used for version resolution
|
||||||
|
const downloadVersionResult = manifestFile
|
||||||
|
? await downloadVersionFromManifest(
|
||||||
|
manifestFile,
|
||||||
platform,
|
platform,
|
||||||
arch,
|
arch,
|
||||||
resolvedVersion,
|
resolvedVersion,
|
||||||
inputs.checksum,
|
checkSum,
|
||||||
inputs.githubToken,
|
githubToken,
|
||||||
inputs.manifestFile,
|
)
|
||||||
inputs.downloadFromAstralMirror,
|
: await downloadVersionFromNdjson(
|
||||||
|
platform,
|
||||||
|
arch,
|
||||||
|
resolvedVersion,
|
||||||
|
checkSum,
|
||||||
|
githubToken,
|
||||||
);
|
);
|
||||||
|
|
||||||
return {
|
return {
|
||||||
uvDir: downloadResult.cachedToolDir,
|
uvDir: downloadVersionResult.cachedToolDir,
|
||||||
version: downloadResult.version,
|
version: downloadVersionResult.version,
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
async function determineVersion(
|
||||||
|
manifestFile: string | undefined,
|
||||||
|
): Promise<string> {
|
||||||
|
if (versionInput !== "") {
|
||||||
|
return await resolveVersion(versionInput, manifestFile, resolutionStrategy);
|
||||||
|
}
|
||||||
|
if (versionFileInput !== "") {
|
||||||
|
const versionFromFile = getUvVersionFromFile(versionFileInput);
|
||||||
|
if (versionFromFile === undefined) {
|
||||||
|
throw new Error(
|
||||||
|
`Could not determine uv version from file: ${versionFileInput}`,
|
||||||
|
);
|
||||||
|
}
|
||||||
|
return await resolveVersion(
|
||||||
|
versionFromFile,
|
||||||
|
manifestFile,
|
||||||
|
resolutionStrategy,
|
||||||
|
);
|
||||||
|
}
|
||||||
|
const versionFromUvToml = getUvVersionFromFile(
|
||||||
|
`${workingDirectory}${path.sep}uv.toml`,
|
||||||
|
);
|
||||||
|
const versionFromPyproject = getUvVersionFromFile(
|
||||||
|
`${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.",
|
||||||
|
);
|
||||||
|
}
|
||||||
|
return await resolveVersion(
|
||||||
|
versionFromUvToml || versionFromPyproject || "latest",
|
||||||
|
manifestFile,
|
||||||
|
resolutionStrategy,
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
function addUvToPathAndOutput(cachedPath: string): void {
|
function addUvToPathAndOutput(cachedPath: string): void {
|
||||||
core.setOutput("uv-path", `${cachedPath}${path.sep}uv`);
|
core.setOutput("uv-path", `${cachedPath}${path.sep}uv`);
|
||||||
core.saveState(STATE_UV_PATH, `${cachedPath}${path.sep}uv`);
|
core.saveState(STATE_UV_PATH, `${cachedPath}${path.sep}uv`);
|
||||||
core.setOutput("uvx-path", `${cachedPath}${path.sep}uvx`);
|
core.setOutput("uvx-path", `${cachedPath}${path.sep}uvx`);
|
||||||
if (process.env.UV_NO_MODIFY_PATH !== undefined) {
|
if (process.env.UV_NO_MODIFY_PATH !== undefined) {
|
||||||
log.info("UV_NO_MODIFY_PATH is set, not modifying PATH");
|
core.info("UV_NO_MODIFY_PATH is set, not modifying PATH");
|
||||||
} else {
|
} else {
|
||||||
core.addPath(cachedPath);
|
core.addPath(cachedPath);
|
||||||
log.info(`Added ${cachedPath} to the path`);
|
core.info(`Added ${cachedPath} to the path`);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
function addToolBinToPath(inputs: SetupInputs): void {
|
function addToolBinToPath(): void {
|
||||||
if (inputs.toolBinDir !== undefined) {
|
if (toolBinDir !== undefined) {
|
||||||
core.exportVariable("UV_TOOL_BIN_DIR", inputs.toolBinDir);
|
core.exportVariable("UV_TOOL_BIN_DIR", toolBinDir);
|
||||||
log.info(`Set UV_TOOL_BIN_DIR to ${inputs.toolBinDir}`);
|
core.info(`Set UV_TOOL_BIN_DIR to ${toolBinDir}`);
|
||||||
if (process.env.UV_NO_MODIFY_PATH !== undefined) {
|
if (process.env.UV_NO_MODIFY_PATH !== undefined) {
|
||||||
log.info(
|
core.info(`UV_NO_MODIFY_PATH is set, not adding ${toolBinDir} to path`);
|
||||||
`UV_NO_MODIFY_PATH is set, not adding ${inputs.toolBinDir} to path`,
|
|
||||||
);
|
|
||||||
} else {
|
} else {
|
||||||
core.addPath(inputs.toolBinDir);
|
core.addPath(toolBinDir);
|
||||||
log.info(`Added ${inputs.toolBinDir} to the path`);
|
core.info(`Added ${toolBinDir} to the path`);
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
if (process.env.UV_NO_MODIFY_PATH !== undefined) {
|
if (process.env.UV_NO_MODIFY_PATH !== undefined) {
|
||||||
log.info("UV_NO_MODIFY_PATH is set, not adding user local bin to path");
|
core.info("UV_NO_MODIFY_PATH is set, not adding user local bin to path");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
if (process.env.XDG_BIN_HOME !== undefined) {
|
if (process.env.XDG_BIN_HOME !== undefined) {
|
||||||
core.addPath(process.env.XDG_BIN_HOME);
|
core.addPath(process.env.XDG_BIN_HOME);
|
||||||
log.info(`Added ${process.env.XDG_BIN_HOME} to the path`);
|
core.info(`Added ${process.env.XDG_BIN_HOME} to the path`);
|
||||||
} else if (process.env.XDG_DATA_HOME !== undefined) {
|
} else if (process.env.XDG_DATA_HOME !== undefined) {
|
||||||
core.addPath(`${process.env.XDG_DATA_HOME}/../bin`);
|
core.addPath(`${process.env.XDG_DATA_HOME}/../bin`);
|
||||||
log.info(`Added ${process.env.XDG_DATA_HOME}/../bin to the path`);
|
core.info(`Added ${process.env.XDG_DATA_HOME}/../bin to the path`);
|
||||||
} else {
|
} else {
|
||||||
core.addPath(`${process.env.HOME}/.local/bin`);
|
core.addPath(`${process.env.HOME}/.local/bin`);
|
||||||
log.info(`Added ${process.env.HOME}/.local/bin to the path`);
|
core.info(`Added ${process.env.HOME}/.local/bin to the path`);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
function setToolDir(inputs: SetupInputs): void {
|
function setToolDir(): void {
|
||||||
if (inputs.toolDir !== undefined) {
|
if (toolDir !== undefined) {
|
||||||
core.exportVariable("UV_TOOL_DIR", inputs.toolDir);
|
core.exportVariable("UV_TOOL_DIR", toolDir);
|
||||||
log.info(`Set UV_TOOL_DIR to ${inputs.toolDir}`);
|
core.info(`Set UV_TOOL_DIR to ${toolDir}`);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
function addPythonDirToPath(inputs: SetupInputs): void {
|
function addPythonDirToPath(): void {
|
||||||
core.exportVariable("UV_PYTHON_INSTALL_DIR", inputs.pythonDir);
|
core.exportVariable("UV_PYTHON_INSTALL_DIR", pythonDir);
|
||||||
log.info(`Set UV_PYTHON_INSTALL_DIR to ${inputs.pythonDir}`);
|
core.info(`Set UV_PYTHON_INSTALL_DIR to ${pythonDir}`);
|
||||||
if (process.env.UV_NO_MODIFY_PATH !== undefined) {
|
if (process.env.UV_NO_MODIFY_PATH !== undefined) {
|
||||||
log.info("UV_NO_MODIFY_PATH is set, not adding python dir to path");
|
core.info("UV_NO_MODIFY_PATH is set, not adding python dir to path");
|
||||||
} else {
|
} else {
|
||||||
core.addPath(inputs.pythonDir);
|
core.addPath(pythonDir);
|
||||||
log.info(`Added ${inputs.pythonDir} to the path`);
|
core.info(`Added ${pythonDir} to the path`);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
function setupPython(inputs: SetupInputs): void {
|
function setupPython(): void {
|
||||||
if (inputs.pythonVersion !== "") {
|
if (pythonVersion !== "") {
|
||||||
core.exportVariable("UV_PYTHON", inputs.pythonVersion);
|
core.exportVariable("UV_PYTHON", pythonVersion);
|
||||||
log.info(`Set UV_PYTHON to ${inputs.pythonVersion}`);
|
core.info(`Set UV_PYTHON to ${pythonVersion}`);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
async function activateEnvironment(inputs: SetupInputs): Promise<void> {
|
async function activateEnvironment(): Promise<void> {
|
||||||
if (inputs.activateEnvironment) {
|
if (activateEnvironmentInput) {
|
||||||
if (process.env.UV_NO_MODIFY_PATH !== undefined) {
|
if (process.env.UV_NO_MODIFY_PATH !== undefined) {
|
||||||
throw new Error(
|
throw new Error(
|
||||||
"UV_NO_MODIFY_PATH and activate-environment cannot be used together.",
|
"UV_NO_MODIFY_PATH and activate-environment cannot be used together.",
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
const execArgs = ["venv", ".venv", "--directory", workingDirectory];
|
||||||
|
|
||||||
log.info(`Creating and activating python venv at ${inputs.venvPath}...`);
|
core.info("Activating python venv...");
|
||||||
const venvArgs = [
|
await exec.exec("uv", execArgs);
|
||||||
"venv",
|
|
||||||
inputs.venvPath,
|
|
||||||
"--directory",
|
|
||||||
inputs.workingDirectory,
|
|
||||||
"--clear",
|
|
||||||
];
|
|
||||||
if (inputs.noProject) {
|
|
||||||
venvArgs.push("--no-project");
|
|
||||||
}
|
|
||||||
await exec.exec("uv", venvArgs);
|
|
||||||
|
|
||||||
let venvBinPath = `${inputs.venvPath}${path.sep}bin`;
|
const venvPath = path.resolve(`${workingDirectory}${path.sep}.venv`);
|
||||||
|
let venvBinPath = `${venvPath}${path.sep}bin`;
|
||||||
if (process.platform === "win32") {
|
if (process.platform === "win32") {
|
||||||
venvBinPath = `${inputs.venvPath}${path.sep}Scripts`;
|
venvBinPath = `${venvPath}${path.sep}Scripts`;
|
||||||
}
|
}
|
||||||
core.addPath(path.resolve(venvBinPath));
|
core.addPath(path.resolve(venvBinPath));
|
||||||
core.exportVariable("VIRTUAL_ENV", inputs.venvPath);
|
core.exportVariable("VIRTUAL_ENV", venvPath);
|
||||||
core.setOutput("venv", inputs.venvPath);
|
core.setOutput("venv", venvPath);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
function setCacheDir(inputs: SetupInputs): void {
|
function setCacheDir(): void {
|
||||||
if (inputs.cacheLocalPath !== undefined) {
|
if (cacheLocalPath !== undefined) {
|
||||||
if (inputs.cacheLocalPath.source === CacheLocalSource.Config) {
|
if (cacheLocalPath.source === CacheLocalSource.Config) {
|
||||||
log.info(
|
core.info(
|
||||||
"Using cache-dir from uv config file, not modifying UV_CACHE_DIR",
|
"Using cache-dir from uv config file, not modifying UV_CACHE_DIR",
|
||||||
);
|
);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
core.exportVariable("UV_CACHE_DIR", inputs.cacheLocalPath.path);
|
core.exportVariable("UV_CACHE_DIR", cacheLocalPath.path);
|
||||||
log.info(`Set UV_CACHE_DIR to ${inputs.cacheLocalPath.path}`);
|
core.info(`Set UV_CACHE_DIR to ${cacheLocalPath.path}`);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
function addMatchers(inputs: SetupInputs): void {
|
function addMatchers(): void {
|
||||||
if (inputs.addProblemMatchers) {
|
if (addProblemMatchers) {
|
||||||
const matchersPath = path.join(sourceDir, "..", "..", ".github");
|
const matchersPath = path.join(__dirname, `..${path.sep}..`, ".github");
|
||||||
core.info(`##[add-matcher]${path.join(matchersPath, "python.json")}`);
|
core.info(`##[add-matcher]${path.join(matchersPath, "python.json")}`);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,82 +0,0 @@
|
|||||||
import * as core from "@actions/core";
|
|
||||||
import * as semver from "semver";
|
|
||||||
import { KNOWN_CHECKSUMS } from "./download/checksum/known-checksums";
|
|
||||||
import {
|
|
||||||
type ChecksumEntry,
|
|
||||||
updateChecksums,
|
|
||||||
} from "./download/checksum/update-known-checksums";
|
|
||||||
import {
|
|
||||||
fetchManifest,
|
|
||||||
getLatestVersion,
|
|
||||||
type ManifestVersion,
|
|
||||||
} from "./download/manifest";
|
|
||||||
import * as log from "./utils/logging";
|
|
||||||
|
|
||||||
const VERSION_IN_CHECKSUM_KEY_PATTERN =
|
|
||||||
/-(\d+\.\d+\.\d+(?:[-+][0-9A-Za-z.-]+)?)$/;
|
|
||||||
|
|
||||||
async function run(): Promise<void> {
|
|
||||||
const checksumFilePath = process.argv.slice(2)[0];
|
|
||||||
if (!checksumFilePath) {
|
|
||||||
throw new Error(
|
|
||||||
"Missing checksum file path. Usage: node dist/update-known-checksums/index.cjs <checksum-file-path>",
|
|
||||||
);
|
|
||||||
}
|
|
||||||
|
|
||||||
const latestVersion = await getLatestVersion();
|
|
||||||
const latestKnownVersion = getLatestKnownVersionFromChecksums();
|
|
||||||
|
|
||||||
if (semver.lte(latestVersion, latestKnownVersion)) {
|
|
||||||
log.info(
|
|
||||||
`Latest release (${latestVersion}) is not newer than the latest known version (${latestKnownVersion}). Skipping update.`,
|
|
||||||
);
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
const versions = await fetchManifest();
|
|
||||||
const checksumEntries = extractChecksumsFromManifest(versions);
|
|
||||||
await updateChecksums(checksumFilePath, checksumEntries);
|
|
||||||
|
|
||||||
core.setOutput("latest-version", latestVersion);
|
|
||||||
}
|
|
||||||
|
|
||||||
function getLatestKnownVersionFromChecksums(): string {
|
|
||||||
const versions = new Set<string>();
|
|
||||||
|
|
||||||
for (const key of Object.keys(KNOWN_CHECKSUMS)) {
|
|
||||||
const version = extractVersionFromChecksumKey(key);
|
|
||||||
if (version !== undefined) {
|
|
||||||
versions.add(version);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
const latestVersion = [...versions].sort(semver.rcompare)[0];
|
|
||||||
if (!latestVersion) {
|
|
||||||
throw new Error("Could not determine latest known version from checksums.");
|
|
||||||
}
|
|
||||||
|
|
||||||
return latestVersion;
|
|
||||||
}
|
|
||||||
|
|
||||||
function extractVersionFromChecksumKey(key: string): string | undefined {
|
|
||||||
return key.match(VERSION_IN_CHECKSUM_KEY_PATTERN)?.[1];
|
|
||||||
}
|
|
||||||
|
|
||||||
function extractChecksumsFromManifest(
|
|
||||||
versions: ManifestVersion[],
|
|
||||||
): ChecksumEntry[] {
|
|
||||||
const checksums: ChecksumEntry[] = [];
|
|
||||||
|
|
||||||
for (const version of versions) {
|
|
||||||
for (const artifact of version.artifacts) {
|
|
||||||
checksums.push({
|
|
||||||
checksum: artifact.sha256,
|
|
||||||
key: `${artifact.platform}-${version.version}`,
|
|
||||||
});
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
return checksums;
|
|
||||||
}
|
|
||||||
|
|
||||||
run();
|
|
||||||
116
src/update-known-versions.ts
Normal file
116
src/update-known-versions.ts
Normal file
@@ -0,0 +1,116 @@
|
|||||||
|
import { promises as fs } from "node:fs";
|
||||||
|
import * as core from "@actions/core";
|
||||||
|
import * as semver from "semver";
|
||||||
|
import { updateChecksums } from "./download/checksum/update-known-checksums";
|
||||||
|
import { getLatestKnownVersion } from "./download/version-manifest";
|
||||||
|
import {
|
||||||
|
fetchVersionData,
|
||||||
|
getLatestVersion,
|
||||||
|
type NdjsonVersion,
|
||||||
|
} from "./download/versions-client";
|
||||||
|
|
||||||
|
interface ChecksumEntry {
|
||||||
|
key: string;
|
||||||
|
checksum: string;
|
||||||
|
}
|
||||||
|
|
||||||
|
interface ArtifactEntry {
|
||||||
|
version: string;
|
||||||
|
artifactName: string;
|
||||||
|
arch: string;
|
||||||
|
platform: string;
|
||||||
|
downloadUrl: string;
|
||||||
|
}
|
||||||
|
|
||||||
|
function extractChecksumsFromNdjson(
|
||||||
|
versions: NdjsonVersion[],
|
||||||
|
): ChecksumEntry[] {
|
||||||
|
const checksums: ChecksumEntry[] = [];
|
||||||
|
|
||||||
|
for (const version of versions) {
|
||||||
|
for (const artifact of version.artifacts) {
|
||||||
|
// The platform field contains the target triple like "x86_64-apple-darwin"
|
||||||
|
const key = `${artifact.platform}-${version.version}`;
|
||||||
|
checksums.push({
|
||||||
|
checksum: artifact.sha256,
|
||||||
|
key,
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return checksums;
|
||||||
|
}
|
||||||
|
|
||||||
|
function extractArtifactsFromNdjson(
|
||||||
|
versions: NdjsonVersion[],
|
||||||
|
): ArtifactEntry[] {
|
||||||
|
const artifacts: ArtifactEntry[] = [];
|
||||||
|
|
||||||
|
for (const version of versions) {
|
||||||
|
for (const artifact of version.artifacts) {
|
||||||
|
// The platform field contains the target triple like "x86_64-apple-darwin"
|
||||||
|
// Split into arch and platform (e.g., "x86_64-apple-darwin" -> ["x86_64", "apple-darwin"])
|
||||||
|
const parts = artifact.platform.split("-");
|
||||||
|
const arch = parts[0];
|
||||||
|
const platform = parts.slice(1).join("-");
|
||||||
|
|
||||||
|
// Construct artifact name from platform and archive format
|
||||||
|
const artifactName = `uv-${artifact.platform}.${artifact.archive_format}`;
|
||||||
|
|
||||||
|
artifacts.push({
|
||||||
|
arch,
|
||||||
|
artifactName,
|
||||||
|
downloadUrl: artifact.url,
|
||||||
|
platform,
|
||||||
|
version: version.version,
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return artifacts;
|
||||||
|
}
|
||||||
|
|
||||||
|
async function run(): Promise<void> {
|
||||||
|
const checksumFilePath = process.argv.slice(2)[0];
|
||||||
|
const versionsManifestFile = process.argv.slice(2)[1];
|
||||||
|
|
||||||
|
const latestVersion = await getLatestVersion();
|
||||||
|
const latestKnownVersion = await getLatestKnownVersion(undefined);
|
||||||
|
|
||||||
|
if (semver.lte(latestVersion, latestKnownVersion)) {
|
||||||
|
core.info(
|
||||||
|
`Latest release (${latestVersion}) is not newer than the latest known version (${latestKnownVersion}). Skipping update.`,
|
||||||
|
);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
const versions = await fetchVersionData();
|
||||||
|
|
||||||
|
// Extract checksums from NDJSON
|
||||||
|
const checksumEntries = extractChecksumsFromNdjson(versions);
|
||||||
|
await updateChecksums(checksumFilePath, checksumEntries);
|
||||||
|
|
||||||
|
// Extract artifact URLs for version manifest
|
||||||
|
const artifactEntries = extractArtifactsFromNdjson(versions);
|
||||||
|
await updateVersionManifestFromEntries(versionsManifestFile, artifactEntries);
|
||||||
|
|
||||||
|
core.setOutput("latest-version", latestVersion);
|
||||||
|
}
|
||||||
|
|
||||||
|
async function updateVersionManifestFromEntries(
|
||||||
|
filePath: string,
|
||||||
|
entries: ArtifactEntry[],
|
||||||
|
): Promise<void> {
|
||||||
|
const manifest = entries.map((entry) => ({
|
||||||
|
arch: entry.arch,
|
||||||
|
artifactName: entry.artifactName,
|
||||||
|
downloadUrl: entry.downloadUrl,
|
||||||
|
platform: entry.platform,
|
||||||
|
version: entry.version,
|
||||||
|
}));
|
||||||
|
|
||||||
|
core.debug(`Updating manifest-file: ${JSON.stringify(manifest)}`);
|
||||||
|
await fs.writeFile(filePath, JSON.stringify(manifest));
|
||||||
|
}
|
||||||
|
|
||||||
|
run();
|
||||||
@@ -8,19 +8,7 @@ export function getConfigValueFromTomlFile(
|
|||||||
if (!fs.existsSync(filePath) || !filePath.endsWith(".toml")) {
|
if (!fs.existsSync(filePath) || !filePath.endsWith(".toml")) {
|
||||||
return undefined;
|
return undefined;
|
||||||
}
|
}
|
||||||
|
|
||||||
const fileContent = fs.readFileSync(filePath, "utf-8");
|
const fileContent = fs.readFileSync(filePath, "utf-8");
|
||||||
return getConfigValueFromTomlContent(filePath, fileContent, key);
|
|
||||||
}
|
|
||||||
|
|
||||||
export function getConfigValueFromTomlContent(
|
|
||||||
filePath: string,
|
|
||||||
fileContent: string,
|
|
||||||
key: string,
|
|
||||||
): string | undefined {
|
|
||||||
if (!filePath.endsWith(".toml")) {
|
|
||||||
return undefined;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (filePath.endsWith("pyproject.toml")) {
|
if (filePath.endsWith("pyproject.toml")) {
|
||||||
const tomlContent = toml.parse(fileContent) as {
|
const tomlContent = toml.parse(fileContent) as {
|
||||||
@@ -28,7 +16,6 @@ export function getConfigValueFromTomlContent(
|
|||||||
};
|
};
|
||||||
return tomlContent?.tool?.uv?.[key];
|
return tomlContent?.tool?.uv?.[key];
|
||||||
}
|
}
|
||||||
|
|
||||||
const tomlContent = toml.parse(fileContent) as Record<
|
const tomlContent = toml.parse(fileContent) as Record<
|
||||||
string,
|
string,
|
||||||
string | undefined
|
string | undefined
|
||||||
|
|||||||
@@ -1,13 +1,7 @@
|
|||||||
|
export const REPO = "uv";
|
||||||
|
export const OWNER = "astral-sh";
|
||||||
export const TOOL_CACHE_NAME = "uv";
|
export const TOOL_CACHE_NAME = "uv";
|
||||||
export const STATE_UV_PATH = "uv-path";
|
export const STATE_UV_PATH = "uv-path";
|
||||||
export const STATE_UV_VERSION = "uv-version";
|
export const STATE_UV_VERSION = "uv-version";
|
||||||
export const VERSIONS_MANIFEST_URL =
|
export const VERSIONS_NDJSON_URL =
|
||||||
"https://raw.githubusercontent.com/astral-sh/versions/main/v1/uv.ndjson";
|
"https://raw.githubusercontent.com/astral-sh/versions/main/v1/uv.ndjson";
|
||||||
|
|
||||||
/** GitHub Releases URL prefix for uv artifacts. */
|
|
||||||
export const GITHUB_RELEASES_PREFIX =
|
|
||||||
"https://github.com/astral-sh/uv/releases/download/";
|
|
||||||
|
|
||||||
/** Astral mirror URL prefix that fronts GitHub Releases for uv artifacts. */
|
|
||||||
export const ASTRAL_MIRROR_PREFIX =
|
|
||||||
"https://releases.astral.sh/github/uv/releases/download/";
|
|
||||||
|
|||||||
@@ -14,17 +14,8 @@ export function getProxyAgent() {
|
|||||||
return undefined;
|
return undefined;
|
||||||
}
|
}
|
||||||
|
|
||||||
export const fetch = async (url: string, opts: RequestInit) => {
|
export const fetch = async (url: string, opts: RequestInit) =>
|
||||||
// Merge timeout signal with any existing signal from opts
|
await undiciFetch(url, {
|
||||||
const timeoutSignal = AbortSignal.timeout(5_000);
|
|
||||||
const existingSignal = opts.signal;
|
|
||||||
const mergedSignal = existingSignal
|
|
||||||
? AbortSignal.any([timeoutSignal, existingSignal])
|
|
||||||
: timeoutSignal;
|
|
||||||
|
|
||||||
return await undiciFetch(url, {
|
|
||||||
dispatcher: getProxyAgent(),
|
dispatcher: getProxyAgent(),
|
||||||
...opts,
|
...opts,
|
||||||
signal: mergedSignal,
|
|
||||||
});
|
});
|
||||||
};
|
|
||||||
|
|||||||
@@ -1,7 +1,6 @@
|
|||||||
import path from "node:path";
|
import path from "node:path";
|
||||||
import * as core from "@actions/core";
|
import * as core from "@actions/core";
|
||||||
import { getConfigValueFromTomlFile } from "./config-file";
|
import { getConfigValueFromTomlFile } from "./config-file";
|
||||||
import * as log from "./logging";
|
|
||||||
|
|
||||||
export enum CacheLocalSource {
|
export enum CacheLocalSource {
|
||||||
Input,
|
Input,
|
||||||
@@ -10,133 +9,42 @@ export enum CacheLocalSource {
|
|||||||
Default,
|
Default,
|
||||||
}
|
}
|
||||||
|
|
||||||
export interface CacheLocalPath {
|
export const workingDirectory = core.getInput("working-directory");
|
||||||
path: string;
|
export const version = core.getInput("version");
|
||||||
source: CacheLocalSource;
|
export const versionFile = getVersionFile();
|
||||||
}
|
export const pythonVersion = core.getInput("python-version");
|
||||||
|
export const activateEnvironment = core.getBooleanInput("activate-environment");
|
||||||
export type ResolutionStrategy = "highest" | "lowest";
|
export const checkSum = core.getInput("checksum");
|
||||||
|
export const enableCache = getEnableCache();
|
||||||
export interface SetupInputs {
|
export const restoreCache = core.getInput("restore-cache") === "true";
|
||||||
workingDirectory: string;
|
export const saveCache = core.getInput("save-cache") === "true";
|
||||||
version: string;
|
export const cacheSuffix = core.getInput("cache-suffix") || "";
|
||||||
versionFile: string;
|
export const cacheLocalPath = getCacheLocalPath();
|
||||||
pythonVersion: string;
|
export const cacheDependencyGlob = getCacheDependencyGlob();
|
||||||
activateEnvironment: boolean;
|
export const pruneCache = core.getInput("prune-cache") === "true";
|
||||||
noProject: boolean;
|
export const cachePython = core.getInput("cache-python") === "true";
|
||||||
venvPath: string;
|
export const ignoreNothingToCache =
|
||||||
checksum: string;
|
|
||||||
enableCache: boolean;
|
|
||||||
restoreCache: boolean;
|
|
||||||
saveCache: boolean;
|
|
||||||
cacheSuffix: string;
|
|
||||||
cacheLocalPath?: CacheLocalPath;
|
|
||||||
cacheDependencyGlob: string;
|
|
||||||
pruneCache: boolean;
|
|
||||||
cachePython: boolean;
|
|
||||||
ignoreNothingToCache: boolean;
|
|
||||||
ignoreEmptyWorkdir: boolean;
|
|
||||||
toolBinDir?: string;
|
|
||||||
toolDir?: string;
|
|
||||||
pythonDir: string;
|
|
||||||
githubToken: string;
|
|
||||||
manifestFile?: string;
|
|
||||||
downloadFromAstralMirror: boolean;
|
|
||||||
addProblemMatchers: boolean;
|
|
||||||
quiet: boolean;
|
|
||||||
resolutionStrategy: ResolutionStrategy;
|
|
||||||
}
|
|
||||||
|
|
||||||
export function loadInputs(): SetupInputs {
|
|
||||||
const workingDirectory = core.getInput("working-directory");
|
|
||||||
const version = core.getInput("version");
|
|
||||||
const versionFile = getVersionFile(workingDirectory);
|
|
||||||
const pythonVersion = core.getInput("python-version");
|
|
||||||
const activateEnvironment = core.getBooleanInput("activate-environment");
|
|
||||||
const noProject = core.getBooleanInput("no-project");
|
|
||||||
const venvPath = getVenvPath(workingDirectory, activateEnvironment);
|
|
||||||
const checksum = core.getInput("checksum");
|
|
||||||
const enableCache = getEnableCache();
|
|
||||||
const restoreCache = core.getInput("restore-cache") === "true";
|
|
||||||
const saveCache = core.getInput("save-cache") === "true";
|
|
||||||
const cacheSuffix = core.getInput("cache-suffix") || "";
|
|
||||||
const cacheLocalPath = getCacheLocalPath(
|
|
||||||
workingDirectory,
|
|
||||||
versionFile,
|
|
||||||
enableCache,
|
|
||||||
);
|
|
||||||
const cacheDependencyGlob = getCacheDependencyGlob(workingDirectory);
|
|
||||||
const pruneCache = core.getInput("prune-cache") === "true";
|
|
||||||
const cachePython = core.getInput("cache-python") === "true";
|
|
||||||
const ignoreNothingToCache =
|
|
||||||
core.getInput("ignore-nothing-to-cache") === "true";
|
core.getInput("ignore-nothing-to-cache") === "true";
|
||||||
const ignoreEmptyWorkdir = core.getInput("ignore-empty-workdir") === "true";
|
export const ignoreEmptyWorkdir =
|
||||||
const toolBinDir = getToolBinDir(workingDirectory);
|
core.getInput("ignore-empty-workdir") === "true";
|
||||||
const toolDir = getToolDir(workingDirectory);
|
export const toolBinDir = getToolBinDir();
|
||||||
const pythonDir = getUvPythonDir();
|
export const toolDir = getToolDir();
|
||||||
const githubToken = core.getInput("github-token");
|
export const pythonDir = getUvPythonDir();
|
||||||
const manifestFile = getManifestFile();
|
export const githubToken = core.getInput("github-token");
|
||||||
const downloadFromAstralMirror =
|
export const manifestFile = getManifestFile();
|
||||||
core.getInput("download-from-astral-mirror") === "true";
|
export const addProblemMatchers =
|
||||||
const addProblemMatchers = core.getInput("add-problem-matchers") === "true";
|
core.getInput("add-problem-matchers") === "true";
|
||||||
const quiet = core.getInput("quiet") === "true";
|
export const resolutionStrategy = getResolutionStrategy();
|
||||||
const resolutionStrategy = getResolutionStrategy();
|
|
||||||
|
|
||||||
return {
|
function getVersionFile(): string {
|
||||||
activateEnvironment,
|
|
||||||
addProblemMatchers,
|
|
||||||
cacheDependencyGlob,
|
|
||||||
cacheLocalPath,
|
|
||||||
cachePython,
|
|
||||||
cacheSuffix,
|
|
||||||
checksum,
|
|
||||||
downloadFromAstralMirror,
|
|
||||||
enableCache,
|
|
||||||
githubToken,
|
|
||||||
ignoreEmptyWorkdir,
|
|
||||||
ignoreNothingToCache,
|
|
||||||
manifestFile,
|
|
||||||
noProject,
|
|
||||||
pruneCache,
|
|
||||||
pythonDir,
|
|
||||||
pythonVersion,
|
|
||||||
quiet,
|
|
||||||
resolutionStrategy,
|
|
||||||
restoreCache,
|
|
||||||
saveCache,
|
|
||||||
toolBinDir,
|
|
||||||
toolDir,
|
|
||||||
venvPath,
|
|
||||||
version,
|
|
||||||
versionFile,
|
|
||||||
workingDirectory,
|
|
||||||
};
|
|
||||||
}
|
|
||||||
|
|
||||||
function getVersionFile(workingDirectory: string): string {
|
|
||||||
const versionFileInput = core.getInput("version-file");
|
const versionFileInput = core.getInput("version-file");
|
||||||
if (versionFileInput !== "") {
|
if (versionFileInput !== "") {
|
||||||
const tildeExpanded = expandTilde(versionFileInput);
|
const tildeExpanded = expandTilde(versionFileInput);
|
||||||
return resolveRelativePath(workingDirectory, tildeExpanded);
|
return resolveRelativePath(tildeExpanded);
|
||||||
}
|
}
|
||||||
return versionFileInput;
|
return versionFileInput;
|
||||||
}
|
}
|
||||||
|
|
||||||
function getVenvPath(
|
|
||||||
workingDirectory: string,
|
|
||||||
activateEnvironment: boolean,
|
|
||||||
): string {
|
|
||||||
const venvPathInput = core.getInput("venv-path");
|
|
||||||
if (venvPathInput !== "") {
|
|
||||||
if (!activateEnvironment) {
|
|
||||||
log.warning("venv-path is only used when activate-environment is true");
|
|
||||||
}
|
|
||||||
const tildeExpanded = expandTilde(venvPathInput);
|
|
||||||
return normalizePath(resolveRelativePath(workingDirectory, tildeExpanded));
|
|
||||||
}
|
|
||||||
return normalizePath(resolveRelativePath(workingDirectory, ".venv"));
|
|
||||||
}
|
|
||||||
|
|
||||||
function getEnableCache(): boolean {
|
function getEnableCache(): boolean {
|
||||||
const enableCacheInput = core.getInput("enable-cache");
|
const enableCacheInput = core.getInput("enable-cache");
|
||||||
if (enableCacheInput === "auto") {
|
if (enableCacheInput === "auto") {
|
||||||
@@ -145,11 +53,11 @@ function getEnableCache(): boolean {
|
|||||||
return enableCacheInput === "true";
|
return enableCacheInput === "true";
|
||||||
}
|
}
|
||||||
|
|
||||||
function getToolBinDir(workingDirectory: string): string | undefined {
|
function getToolBinDir(): string | undefined {
|
||||||
const toolBinDirInput = core.getInput("tool-bin-dir");
|
const toolBinDirInput = core.getInput("tool-bin-dir");
|
||||||
if (toolBinDirInput !== "") {
|
if (toolBinDirInput !== "") {
|
||||||
const tildeExpanded = expandTilde(toolBinDirInput);
|
const tildeExpanded = expandTilde(toolBinDirInput);
|
||||||
return resolveRelativePath(workingDirectory, tildeExpanded);
|
return resolveRelativePath(tildeExpanded);
|
||||||
}
|
}
|
||||||
if (process.platform === "win32") {
|
if (process.platform === "win32") {
|
||||||
if (process.env.RUNNER_TEMP !== undefined) {
|
if (process.env.RUNNER_TEMP !== undefined) {
|
||||||
@@ -162,11 +70,11 @@ function getToolBinDir(workingDirectory: string): string | undefined {
|
|||||||
return undefined;
|
return undefined;
|
||||||
}
|
}
|
||||||
|
|
||||||
function getToolDir(workingDirectory: string): string | undefined {
|
function getToolDir(): string | undefined {
|
||||||
const toolDirInput = core.getInput("tool-dir");
|
const toolDirInput = core.getInput("tool-dir");
|
||||||
if (toolDirInput !== "") {
|
if (toolDirInput !== "") {
|
||||||
const tildeExpanded = expandTilde(toolDirInput);
|
const tildeExpanded = expandTilde(toolDirInput);
|
||||||
return resolveRelativePath(workingDirectory, tildeExpanded);
|
return resolveRelativePath(tildeExpanded);
|
||||||
}
|
}
|
||||||
if (process.platform === "win32") {
|
if (process.platform === "win32") {
|
||||||
if (process.env.RUNNER_TEMP !== undefined) {
|
if (process.env.RUNNER_TEMP !== undefined) {
|
||||||
@@ -179,31 +87,29 @@ function getToolDir(workingDirectory: string): string | undefined {
|
|||||||
return undefined;
|
return undefined;
|
||||||
}
|
}
|
||||||
|
|
||||||
function getCacheLocalPath(
|
function getCacheLocalPath():
|
||||||
workingDirectory: string,
|
| {
|
||||||
versionFile: string,
|
path: string;
|
||||||
enableCache: boolean,
|
source: CacheLocalSource;
|
||||||
): CacheLocalPath | undefined {
|
}
|
||||||
|
| undefined {
|
||||||
const cacheLocalPathInput = core.getInput("cache-local-path");
|
const cacheLocalPathInput = core.getInput("cache-local-path");
|
||||||
if (cacheLocalPathInput !== "") {
|
if (cacheLocalPathInput !== "") {
|
||||||
const tildeExpanded = expandTilde(cacheLocalPathInput);
|
const tildeExpanded = expandTilde(cacheLocalPathInput);
|
||||||
return {
|
return {
|
||||||
path: resolveRelativePath(workingDirectory, tildeExpanded),
|
path: resolveRelativePath(tildeExpanded),
|
||||||
source: CacheLocalSource.Input,
|
source: CacheLocalSource.Input,
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
const cacheDirFromConfig = getCacheDirFromConfig(
|
const cacheDirFromConfig = getCacheDirFromConfig();
|
||||||
workingDirectory,
|
|
||||||
versionFile,
|
|
||||||
);
|
|
||||||
if (cacheDirFromConfig !== undefined) {
|
if (cacheDirFromConfig !== undefined) {
|
||||||
return { path: cacheDirFromConfig, source: CacheLocalSource.Config };
|
return { path: cacheDirFromConfig, source: CacheLocalSource.Config };
|
||||||
}
|
}
|
||||||
if (process.env.UV_CACHE_DIR !== undefined) {
|
if (process.env.UV_CACHE_DIR !== undefined) {
|
||||||
log.info(`UV_CACHE_DIR is already set to ${process.env.UV_CACHE_DIR}`);
|
core.info(`UV_CACHE_DIR is already set to ${process.env.UV_CACHE_DIR}`);
|
||||||
return { path: process.env.UV_CACHE_DIR, source: CacheLocalSource.Env };
|
return { path: process.env.UV_CACHE_DIR, source: CacheLocalSource.Env };
|
||||||
}
|
}
|
||||||
if (enableCache) {
|
if (getEnableCache()) {
|
||||||
if (process.env.RUNNER_ENVIRONMENT === "github-hosted") {
|
if (process.env.RUNNER_ENVIRONMENT === "github-hosted") {
|
||||||
if (process.env.RUNNER_TEMP !== undefined) {
|
if (process.env.RUNNER_TEMP !== undefined) {
|
||||||
return {
|
return {
|
||||||
@@ -228,21 +134,18 @@ function getCacheLocalPath(
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
function getCacheDirFromConfig(
|
function getCacheDirFromConfig(): string | undefined {
|
||||||
workingDirectory: string,
|
|
||||||
versionFile: string,
|
|
||||||
): string | undefined {
|
|
||||||
for (const filePath of [versionFile, "uv.toml", "pyproject.toml"]) {
|
for (const filePath of [versionFile, "uv.toml", "pyproject.toml"]) {
|
||||||
const resolvedPath = resolveRelativePath(workingDirectory, filePath);
|
const resolvedPath = resolveRelativePath(filePath);
|
||||||
try {
|
try {
|
||||||
const cacheDir = getConfigValueFromTomlFile(resolvedPath, "cache-dir");
|
const cacheDir = getConfigValueFromTomlFile(resolvedPath, "cache-dir");
|
||||||
if (cacheDir !== undefined) {
|
if (cacheDir !== undefined) {
|
||||||
log.info(`Found cache-dir in ${resolvedPath}: ${cacheDir}`);
|
core.info(`Found cache-dir in ${resolvedPath}: ${cacheDir}`);
|
||||||
return cacheDir;
|
return cacheDir;
|
||||||
}
|
}
|
||||||
} catch (err) {
|
} catch (err) {
|
||||||
const message = (err as Error).message;
|
const message = (err as Error).message;
|
||||||
log.warning(`Error while parsing ${filePath}: ${message}`);
|
core.warning(`Error while parsing ${filePath}: ${message}`);
|
||||||
return undefined;
|
return undefined;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -251,7 +154,7 @@ function getCacheDirFromConfig(
|
|||||||
|
|
||||||
export function getUvPythonDir(): string {
|
export function getUvPythonDir(): string {
|
||||||
if (process.env.UV_PYTHON_INSTALL_DIR !== undefined) {
|
if (process.env.UV_PYTHON_INSTALL_DIR !== undefined) {
|
||||||
log.info(
|
core.info(
|
||||||
`UV_PYTHON_INSTALL_DIR is already set to ${process.env.UV_PYTHON_INSTALL_DIR}`,
|
`UV_PYTHON_INSTALL_DIR is already set to ${process.env.UV_PYTHON_INSTALL_DIR}`,
|
||||||
);
|
);
|
||||||
return process.env.UV_PYTHON_INSTALL_DIR;
|
return process.env.UV_PYTHON_INSTALL_DIR;
|
||||||
@@ -259,9 +162,10 @@ export function getUvPythonDir(): string {
|
|||||||
if (process.env.RUNNER_ENVIRONMENT !== "github-hosted") {
|
if (process.env.RUNNER_ENVIRONMENT !== "github-hosted") {
|
||||||
if (process.platform === "win32") {
|
if (process.platform === "win32") {
|
||||||
return `${process.env.APPDATA}${path.sep}uv${path.sep}python`;
|
return `${process.env.APPDATA}${path.sep}uv${path.sep}python`;
|
||||||
}
|
} else {
|
||||||
return `${process.env.HOME}${path.sep}.local${path.sep}share${path.sep}uv${path.sep}python`;
|
return `${process.env.HOME}${path.sep}.local${path.sep}share${path.sep}uv${path.sep}python`;
|
||||||
}
|
}
|
||||||
|
}
|
||||||
if (process.env.RUNNER_TEMP !== undefined) {
|
if (process.env.RUNNER_TEMP !== undefined) {
|
||||||
return `${process.env.RUNNER_TEMP}${path.sep}uv-python-dir`;
|
return `${process.env.RUNNER_TEMP}${path.sep}uv-python-dir`;
|
||||||
}
|
}
|
||||||
@@ -270,14 +174,14 @@ export function getUvPythonDir(): string {
|
|||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
function getCacheDependencyGlob(workingDirectory: string): string {
|
function getCacheDependencyGlob(): string {
|
||||||
const cacheDependencyGlobInput = core.getInput("cache-dependency-glob");
|
const cacheDependencyGlobInput = core.getInput("cache-dependency-glob");
|
||||||
if (cacheDependencyGlobInput !== "") {
|
if (cacheDependencyGlobInput !== "") {
|
||||||
return cacheDependencyGlobInput
|
return cacheDependencyGlobInput
|
||||||
.split("\n")
|
.split("\n")
|
||||||
.map((part) => part.trim())
|
.map((part) => part.trim())
|
||||||
.map((part) => expandTilde(part))
|
.map((part) => expandTilde(part))
|
||||||
.map((part) => resolveRelativePath(workingDirectory, part))
|
.map((part) => resolveRelativePath(part))
|
||||||
.join("\n");
|
.join("\n");
|
||||||
}
|
}
|
||||||
return cacheDependencyGlobInput;
|
return cacheDependencyGlobInput;
|
||||||
@@ -290,23 +194,7 @@ function expandTilde(input: string): string {
|
|||||||
return input;
|
return input;
|
||||||
}
|
}
|
||||||
|
|
||||||
function normalizePath(inputPath: string): string {
|
function resolveRelativePath(inputPath: string): string {
|
||||||
const normalized = path.normalize(inputPath);
|
|
||||||
const root = path.parse(normalized).root;
|
|
||||||
|
|
||||||
// Remove any trailing path separators, except when the whole path is the root.
|
|
||||||
let trimmed = normalized;
|
|
||||||
while (trimmed.length > root.length && trimmed.endsWith(path.sep)) {
|
|
||||||
trimmed = trimmed.slice(0, -1);
|
|
||||||
}
|
|
||||||
|
|
||||||
return trimmed;
|
|
||||||
}
|
|
||||||
|
|
||||||
function resolveRelativePath(
|
|
||||||
workingDirectory: string,
|
|
||||||
inputPath: string,
|
|
||||||
): string {
|
|
||||||
const hasNegation = inputPath.startsWith("!");
|
const hasNegation = inputPath.startsWith("!");
|
||||||
const pathWithoutNegation = hasNegation ? inputPath.substring(1) : inputPath;
|
const pathWithoutNegation = hasNegation ? inputPath.substring(1) : inputPath;
|
||||||
|
|
||||||
@@ -326,7 +214,7 @@ function getManifestFile(): string | undefined {
|
|||||||
return undefined;
|
return undefined;
|
||||||
}
|
}
|
||||||
|
|
||||||
function getResolutionStrategy(): ResolutionStrategy {
|
function getResolutionStrategy(): "highest" | "lowest" {
|
||||||
const resolutionStrategyInput = core.getInput("resolution-strategy");
|
const resolutionStrategyInput = core.getInput("resolution-strategy");
|
||||||
if (resolutionStrategyInput === "lowest") {
|
if (resolutionStrategyInput === "lowest") {
|
||||||
return "lowest";
|
return "lowest";
|
||||||
|
|||||||
@@ -1,21 +0,0 @@
|
|||||||
import * as core from "@actions/core";
|
|
||||||
|
|
||||||
let quiet: boolean | undefined;
|
|
||||||
|
|
||||||
function isQuiet(): boolean {
|
|
||||||
if (quiet === undefined) {
|
|
||||||
quiet =
|
|
||||||
typeof core.getInput === "function" && core.getInput("quiet") === "true";
|
|
||||||
}
|
|
||||||
return quiet;
|
|
||||||
}
|
|
||||||
|
|
||||||
export function info(msg: string): void {
|
|
||||||
if (!isQuiet()) {
|
|
||||||
core.info(msg);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
export const warning = core.warning;
|
|
||||||
export const error = core.error;
|
|
||||||
export const debug = core.debug;
|
|
||||||
@@ -13,7 +13,6 @@ export type Architecture =
|
|||||||
| "x86_64"
|
| "x86_64"
|
||||||
| "aarch64"
|
| "aarch64"
|
||||||
| "s390x"
|
| "s390x"
|
||||||
| "riscv64gc"
|
|
||||||
| "powerpc64le";
|
| "powerpc64le";
|
||||||
|
|
||||||
export function getArch(): Architecture | undefined {
|
export function getArch(): Architecture | undefined {
|
||||||
@@ -22,7 +21,6 @@ export function getArch(): Architecture | undefined {
|
|||||||
arm64: "aarch64",
|
arm64: "aarch64",
|
||||||
ia32: "i686",
|
ia32: "i686",
|
||||||
ppc64: "powerpc64le",
|
ppc64: "powerpc64le",
|
||||||
riscv64: "riscv64gc",
|
|
||||||
s390x: "s390x",
|
s390x: "s390x",
|
||||||
x64: "x86_64",
|
x64: "x86_64",
|
||||||
};
|
};
|
||||||
@@ -108,16 +106,10 @@ function getLinuxOSNameVersion(): string {
|
|||||||
const content = fs.readFileSync(file, "utf8");
|
const content = fs.readFileSync(file, "utf8");
|
||||||
const id = parseOsReleaseValue(content, "ID");
|
const id = parseOsReleaseValue(content, "ID");
|
||||||
const versionId = parseOsReleaseValue(content, "VERSION_ID");
|
const versionId = parseOsReleaseValue(content, "VERSION_ID");
|
||||||
// Fallback for rolling releases (debian:unstable/testing, arch, etc.)
|
|
||||||
// that don't have VERSION_ID but have VERSION_CODENAME
|
|
||||||
const versionCodename = parseOsReleaseValue(content, "VERSION_CODENAME");
|
|
||||||
|
|
||||||
if (id && versionId) {
|
if (id && versionId) {
|
||||||
return `${id}-${versionId}`;
|
return `${id}-${versionId}`;
|
||||||
}
|
}
|
||||||
if (id && versionCodename) {
|
|
||||||
return `${id}-${versionCodename}`;
|
|
||||||
}
|
|
||||||
} catch {
|
} catch {
|
||||||
// Try next file
|
// Try next file
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,101 +0,0 @@
|
|||||||
import fs from "node:fs";
|
|
||||||
import { getConfigValueFromTomlContent } from "../utils/config-file";
|
|
||||||
import * as log from "../utils/logging";
|
|
||||||
import {
|
|
||||||
getUvVersionFromParsedPyproject,
|
|
||||||
getUvVersionFromRequirementsText,
|
|
||||||
parsePyprojectContent,
|
|
||||||
} from "./requirements-file";
|
|
||||||
import { normalizeVersionSpecifier } from "./specifier";
|
|
||||||
import { getUvVersionFromToolVersions } from "./tool-versions-file";
|
|
||||||
import type { ParsedVersionFile, VersionFileFormat } from "./types";
|
|
||||||
|
|
||||||
interface VersionFileParser {
|
|
||||||
format: VersionFileFormat;
|
|
||||||
parse(filePath: string): string | undefined;
|
|
||||||
supports(filePath: string): boolean;
|
|
||||||
}
|
|
||||||
|
|
||||||
const VERSION_FILE_PARSERS: VersionFileParser[] = [
|
|
||||||
{
|
|
||||||
format: ".tool-versions",
|
|
||||||
parse: (filePath) => getUvVersionFromToolVersions(filePath),
|
|
||||||
supports: (filePath) => filePath.endsWith(".tool-versions"),
|
|
||||||
},
|
|
||||||
{
|
|
||||||
format: "uv.toml",
|
|
||||||
parse: (filePath) => {
|
|
||||||
const fileContent = fs.readFileSync(filePath, "utf-8");
|
|
||||||
return getConfigValueFromTomlContent(
|
|
||||||
filePath,
|
|
||||||
fileContent,
|
|
||||||
"required-version",
|
|
||||||
);
|
|
||||||
},
|
|
||||||
supports: (filePath) => filePath.endsWith("uv.toml"),
|
|
||||||
},
|
|
||||||
{
|
|
||||||
format: "pyproject.toml",
|
|
||||||
parse: (filePath) => {
|
|
||||||
const fileContent = fs.readFileSync(filePath, "utf-8");
|
|
||||||
const pyproject = parsePyprojectContent(fileContent);
|
|
||||||
const requiredVersion = pyproject.tool?.uv?.["required-version"];
|
|
||||||
|
|
||||||
if (requiredVersion !== undefined) {
|
|
||||||
return requiredVersion;
|
|
||||||
}
|
|
||||||
|
|
||||||
return getUvVersionFromParsedPyproject(pyproject);
|
|
||||||
},
|
|
||||||
supports: (filePath) => filePath.endsWith("pyproject.toml"),
|
|
||||||
},
|
|
||||||
{
|
|
||||||
format: "requirements",
|
|
||||||
parse: (filePath) => {
|
|
||||||
const fileContent = fs.readFileSync(filePath, "utf-8");
|
|
||||||
return getUvVersionFromRequirementsText(fileContent);
|
|
||||||
},
|
|
||||||
supports: (filePath) => filePath.endsWith(".txt"),
|
|
||||||
},
|
|
||||||
];
|
|
||||||
|
|
||||||
export function getParsedVersionFile(
|
|
||||||
filePath: string,
|
|
||||||
): ParsedVersionFile | undefined {
|
|
||||||
log.info(`Trying to find version for uv in: ${filePath}`);
|
|
||||||
|
|
||||||
if (!fs.existsSync(filePath)) {
|
|
||||||
log.info(`Could not find file: ${filePath}`);
|
|
||||||
return undefined;
|
|
||||||
}
|
|
||||||
|
|
||||||
const parser = getVersionFileParser(filePath);
|
|
||||||
if (parser === undefined) {
|
|
||||||
return undefined;
|
|
||||||
}
|
|
||||||
|
|
||||||
try {
|
|
||||||
const specifier = parser.parse(filePath);
|
|
||||||
if (specifier === undefined) {
|
|
||||||
return undefined;
|
|
||||||
}
|
|
||||||
|
|
||||||
const normalizedSpecifier = normalizeVersionSpecifier(specifier);
|
|
||||||
log.info(`Found version for uv in ${filePath}: ${normalizedSpecifier}`);
|
|
||||||
return {
|
|
||||||
format: parser.format,
|
|
||||||
specifier: normalizedSpecifier,
|
|
||||||
};
|
|
||||||
} catch (error) {
|
|
||||||
log.warning(`Error while parsing ${filePath}: ${(error as Error).message}`);
|
|
||||||
return undefined;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
export function getUvVersionFromFile(filePath: string): string | undefined {
|
|
||||||
return getParsedVersionFile(filePath)?.specifier;
|
|
||||||
}
|
|
||||||
|
|
||||||
function getVersionFileParser(filePath: string): VersionFileParser | undefined {
|
|
||||||
return VERSION_FILE_PARSERS.find((parser) => parser.supports(filePath));
|
|
||||||
}
|
|
||||||
@@ -5,23 +5,31 @@ export function getUvVersionFromRequirementsFile(
|
|||||||
filePath: string,
|
filePath: string,
|
||||||
): string | undefined {
|
): string | undefined {
|
||||||
const fileContent = fs.readFileSync(filePath, "utf-8");
|
const fileContent = fs.readFileSync(filePath, "utf-8");
|
||||||
|
|
||||||
if (filePath.endsWith(".txt")) {
|
if (filePath.endsWith(".txt")) {
|
||||||
return getUvVersionFromRequirementsText(fileContent);
|
|
||||||
}
|
|
||||||
|
|
||||||
return getUvVersionFromPyprojectContent(fileContent);
|
|
||||||
}
|
|
||||||
|
|
||||||
export function getUvVersionFromRequirementsText(
|
|
||||||
fileContent: string,
|
|
||||||
): string | undefined {
|
|
||||||
return getUvVersionFromAllDependencies(fileContent.split("\n"));
|
return getUvVersionFromAllDependencies(fileContent.split("\n"));
|
||||||
|
}
|
||||||
|
const dependencies = parsePyprojectDependencies(fileContent);
|
||||||
|
return getUvVersionFromAllDependencies(dependencies);
|
||||||
|
}
|
||||||
|
function getUvVersionFromAllDependencies(
|
||||||
|
allDependencies: string[],
|
||||||
|
): string | undefined {
|
||||||
|
return allDependencies
|
||||||
|
.find((dep: string) => dep.match(/^uv[=<>~!]/))
|
||||||
|
?.match(/^uv([=<>~!]+\S*)/)?.[1]
|
||||||
|
.trim();
|
||||||
}
|
}
|
||||||
|
|
||||||
export function getUvVersionFromParsedPyproject(
|
interface Pyproject {
|
||||||
pyproject: Pyproject,
|
project?: {
|
||||||
): string | undefined {
|
dependencies?: string[];
|
||||||
|
"optional-dependencies"?: Record<string, string[]>;
|
||||||
|
};
|
||||||
|
"dependency-groups"?: Record<string, Array<string | object>>;
|
||||||
|
}
|
||||||
|
|
||||||
|
function parsePyprojectDependencies(pyprojectContent: string): string[] {
|
||||||
|
const pyproject: Pyproject = toml.parse(pyprojectContent);
|
||||||
const dependencies: string[] = pyproject?.project?.dependencies || [];
|
const dependencies: string[] = pyproject?.project?.dependencies || [];
|
||||||
const optionalDependencies: string[] = Object.values(
|
const optionalDependencies: string[] = Object.values(
|
||||||
pyproject?.project?.["optional-dependencies"] || {},
|
pyproject?.project?.["optional-dependencies"] || {},
|
||||||
@@ -31,39 +39,5 @@ export function getUvVersionFromParsedPyproject(
|
|||||||
)
|
)
|
||||||
.flat()
|
.flat()
|
||||||
.filter((item: string | object) => typeof item === "string");
|
.filter((item: string | object) => typeof item === "string");
|
||||||
|
return dependencies.concat(optionalDependencies, devDependencies);
|
||||||
return getUvVersionFromAllDependencies(
|
|
||||||
dependencies.concat(optionalDependencies, devDependencies),
|
|
||||||
);
|
|
||||||
}
|
|
||||||
|
|
||||||
export function getUvVersionFromPyprojectContent(
|
|
||||||
pyprojectContent: string,
|
|
||||||
): string | undefined {
|
|
||||||
const pyproject = parsePyprojectContent(pyprojectContent);
|
|
||||||
return getUvVersionFromParsedPyproject(pyproject);
|
|
||||||
}
|
|
||||||
|
|
||||||
export interface Pyproject {
|
|
||||||
project?: {
|
|
||||||
dependencies?: string[];
|
|
||||||
"optional-dependencies"?: Record<string, string[]>;
|
|
||||||
};
|
|
||||||
"dependency-groups"?: Record<string, Array<string | object>>;
|
|
||||||
tool?: {
|
|
||||||
uv?: Record<string, string | undefined>;
|
|
||||||
};
|
|
||||||
}
|
|
||||||
|
|
||||||
export function parsePyprojectContent(pyprojectContent: string): Pyproject {
|
|
||||||
return toml.parse(pyprojectContent) as Pyproject;
|
|
||||||
}
|
|
||||||
|
|
||||||
function getUvVersionFromAllDependencies(
|
|
||||||
allDependencies: string[],
|
|
||||||
): string | undefined {
|
|
||||||
return allDependencies
|
|
||||||
.find((dep: string) => dep.match(/^uv[=<>~!]/))
|
|
||||||
?.match(/^uv([=<>~!]+\S*)/)?.[1]
|
|
||||||
.trim();
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,184 +1,34 @@
|
|||||||
|
import fs from "node:fs";
|
||||||
import * as core from "@actions/core";
|
import * as core from "@actions/core";
|
||||||
import * as tc from "@actions/tool-cache";
|
import { getConfigValueFromTomlFile } from "../utils/config-file";
|
||||||
import * as pep440 from "@renovatebot/pep440";
|
import { getUvVersionFromRequirementsFile } from "./requirements-file";
|
||||||
import * as semver from "semver";
|
import { getUvVersionFromToolVersions } from "./tool-versions-file";
|
||||||
import { getAllVersions, getLatestVersion } from "../download/manifest";
|
|
||||||
import type { ResolutionStrategy } from "../utils/inputs";
|
|
||||||
import * as log from "../utils/logging";
|
|
||||||
import {
|
|
||||||
type ParsedVersionSpecifier,
|
|
||||||
parseVersionSpecifier,
|
|
||||||
} from "./specifier";
|
|
||||||
import type { ResolveUvVersionOptions } from "./types";
|
|
||||||
import { resolveVersionRequest } from "./version-request-resolver";
|
|
||||||
|
|
||||||
interface ConcreteVersionResolutionContext {
|
export function getUvVersionFromFile(filePath: string): string | undefined {
|
||||||
manifestUrl?: string;
|
core.info(`Trying to find version for uv in: ${filePath}`);
|
||||||
parsedSpecifier: ParsedVersionSpecifier;
|
if (!fs.existsSync(filePath)) {
|
||||||
resolutionStrategy: ResolutionStrategy;
|
core.info(`Could not find file: ${filePath}`);
|
||||||
}
|
|
||||||
|
|
||||||
interface ConcreteVersionResolver {
|
|
||||||
resolve(
|
|
||||||
context: ConcreteVersionResolutionContext,
|
|
||||||
): Promise<string | undefined>;
|
|
||||||
}
|
|
||||||
|
|
||||||
class ExactVersionResolver implements ConcreteVersionResolver {
|
|
||||||
async resolve(
|
|
||||||
context: ConcreteVersionResolutionContext,
|
|
||||||
): Promise<string | undefined> {
|
|
||||||
if (context.parsedSpecifier.kind !== "exact") {
|
|
||||||
return undefined;
|
return undefined;
|
||||||
}
|
}
|
||||||
|
let uvVersion: string | undefined;
|
||||||
core.debug(
|
try {
|
||||||
`Version ${context.parsedSpecifier.normalized} is an explicit version.`,
|
uvVersion = getUvVersionFromToolVersions(filePath);
|
||||||
);
|
if (uvVersion === undefined) {
|
||||||
return context.parsedSpecifier.normalized;
|
uvVersion = getConfigValueFromTomlFile(filePath, "required-version");
|
||||||
}
|
}
|
||||||
}
|
if (uvVersion === undefined) {
|
||||||
|
uvVersion = getUvVersionFromRequirementsFile(filePath);
|
||||||
class LatestVersionResolver implements ConcreteVersionResolver {
|
}
|
||||||
async resolve(
|
} catch (err) {
|
||||||
context: ConcreteVersionResolutionContext,
|
const message = (err as Error).message;
|
||||||
): Promise<string | undefined> {
|
core.warning(`Error while parsing ${filePath}: ${message}`);
|
||||||
const shouldUseLatestVersion =
|
|
||||||
context.parsedSpecifier.kind === "latest" ||
|
|
||||||
(context.parsedSpecifier.kind === "range" &&
|
|
||||||
context.parsedSpecifier.isSimpleMinimumVersionSpecifier &&
|
|
||||||
context.resolutionStrategy === "highest");
|
|
||||||
|
|
||||||
if (!shouldUseLatestVersion) {
|
|
||||||
return undefined;
|
return undefined;
|
||||||
}
|
}
|
||||||
|
if (uvVersion?.startsWith("==")) {
|
||||||
if (
|
uvVersion = uvVersion.slice(2);
|
||||||
context.parsedSpecifier.kind === "range" &&
|
|
||||||
context.parsedSpecifier.isSimpleMinimumVersionSpecifier
|
|
||||||
) {
|
|
||||||
log.info("Found minimum version specifier, using latest version");
|
|
||||||
}
|
}
|
||||||
|
if (uvVersion !== undefined) {
|
||||||
const latestVersion = await getLatestVersion(context.manifestUrl);
|
core.info(`Found version for uv in ${filePath}: ${uvVersion}`);
|
||||||
|
|
||||||
if (
|
|
||||||
context.parsedSpecifier.kind === "range" &&
|
|
||||||
context.parsedSpecifier.isSimpleMinimumVersionSpecifier &&
|
|
||||||
!pep440.satisfies(latestVersion, context.parsedSpecifier.raw)
|
|
||||||
) {
|
|
||||||
throw new Error(`No version found for ${context.parsedSpecifier.raw}`);
|
|
||||||
}
|
|
||||||
|
|
||||||
return latestVersion;
|
|
||||||
}
|
}
|
||||||
}
|
return uvVersion;
|
||||||
|
|
||||||
class RangeVersionResolver implements ConcreteVersionResolver {
|
|
||||||
async resolve(
|
|
||||||
context: ConcreteVersionResolutionContext,
|
|
||||||
): Promise<string | undefined> {
|
|
||||||
if (context.parsedSpecifier.kind !== "range") {
|
|
||||||
return undefined;
|
|
||||||
}
|
|
||||||
|
|
||||||
const availableVersions = await getAllVersions(context.manifestUrl);
|
|
||||||
core.debug(`Available versions: ${availableVersions}`);
|
|
||||||
|
|
||||||
const resolvedVersion =
|
|
||||||
context.resolutionStrategy === "lowest"
|
|
||||||
? minSatisfying(availableVersions, context.parsedSpecifier.normalized)
|
|
||||||
: maxSatisfying(availableVersions, context.parsedSpecifier.normalized);
|
|
||||||
|
|
||||||
if (resolvedVersion === undefined) {
|
|
||||||
throw new Error(`No version found for ${context.parsedSpecifier.raw}`);
|
|
||||||
}
|
|
||||||
|
|
||||||
return resolvedVersion;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
const CONCRETE_VERSION_RESOLVERS: ConcreteVersionResolver[] = [
|
|
||||||
new ExactVersionResolver(),
|
|
||||||
new LatestVersionResolver(),
|
|
||||||
new RangeVersionResolver(),
|
|
||||||
];
|
|
||||||
|
|
||||||
export async function resolveUvVersion(
|
|
||||||
options: ResolveUvVersionOptions,
|
|
||||||
): Promise<string> {
|
|
||||||
const request = resolveVersionRequest(options);
|
|
||||||
const resolutionStrategy = options.resolutionStrategy ?? "highest";
|
|
||||||
const version = await resolveVersion(
|
|
||||||
request.specifier,
|
|
||||||
options.manifestFile,
|
|
||||||
resolutionStrategy,
|
|
||||||
);
|
|
||||||
|
|
||||||
return version;
|
|
||||||
}
|
|
||||||
|
|
||||||
export async function resolveVersion(
|
|
||||||
versionInput: string,
|
|
||||||
manifestUrl: string | undefined,
|
|
||||||
resolutionStrategy: ResolutionStrategy = "highest",
|
|
||||||
): Promise<string> {
|
|
||||||
core.debug(`Resolving version: ${versionInput}`);
|
|
||||||
|
|
||||||
const context: ConcreteVersionResolutionContext = {
|
|
||||||
manifestUrl,
|
|
||||||
parsedSpecifier: parseVersionSpecifier(versionInput),
|
|
||||||
resolutionStrategy,
|
|
||||||
};
|
|
||||||
|
|
||||||
for (const resolver of CONCRETE_VERSION_RESOLVERS) {
|
|
||||||
const version = await resolver.resolve(context);
|
|
||||||
if (version !== undefined) {
|
|
||||||
return version;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
throw new Error(`No version found for ${versionInput}`);
|
|
||||||
}
|
|
||||||
|
|
||||||
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;
|
|
||||||
}
|
|
||||||
|
|
||||||
function minSatisfying(
|
|
||||||
versions: string[],
|
|
||||||
version: string,
|
|
||||||
): string | undefined {
|
|
||||||
const minSemver = semver.minSatisfying(versions, version);
|
|
||||||
if (minSemver !== null) {
|
|
||||||
core.debug(`Found a version that satisfies the semver range: ${minSemver}`);
|
|
||||||
return minSemver;
|
|
||||||
}
|
|
||||||
|
|
||||||
const minPep440 = pep440.minSatisfying(versions, version);
|
|
||||||
if (minPep440 !== null) {
|
|
||||||
core.debug(
|
|
||||||
`Found a version that satisfies the pep440 specifier: ${minPep440}`,
|
|
||||||
);
|
|
||||||
return minPep440;
|
|
||||||
}
|
|
||||||
|
|
||||||
return undefined;
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,59 +0,0 @@
|
|||||||
import * as tc from "@actions/tool-cache";
|
|
||||||
|
|
||||||
export type ParsedVersionSpecifier =
|
|
||||||
| {
|
|
||||||
kind: "exact";
|
|
||||||
normalized: string;
|
|
||||||
raw: string;
|
|
||||||
}
|
|
||||||
| {
|
|
||||||
kind: "latest";
|
|
||||||
normalized: "latest";
|
|
||||||
raw: string;
|
|
||||||
}
|
|
||||||
| {
|
|
||||||
isSimpleMinimumVersionSpecifier: boolean;
|
|
||||||
kind: "range";
|
|
||||||
normalized: string;
|
|
||||||
raw: string;
|
|
||||||
};
|
|
||||||
|
|
||||||
export function normalizeVersionSpecifier(specifier: string): string {
|
|
||||||
const trimmedSpecifier = specifier.trim();
|
|
||||||
|
|
||||||
if (trimmedSpecifier.startsWith("==")) {
|
|
||||||
return trimmedSpecifier.slice(2);
|
|
||||||
}
|
|
||||||
|
|
||||||
return trimmedSpecifier;
|
|
||||||
}
|
|
||||||
|
|
||||||
export function parseVersionSpecifier(
|
|
||||||
specifier: string,
|
|
||||||
): ParsedVersionSpecifier {
|
|
||||||
const raw = specifier.trim();
|
|
||||||
const normalized = normalizeVersionSpecifier(raw);
|
|
||||||
|
|
||||||
if (normalized === "latest") {
|
|
||||||
return {
|
|
||||||
kind: "latest",
|
|
||||||
normalized: "latest",
|
|
||||||
raw,
|
|
||||||
};
|
|
||||||
}
|
|
||||||
|
|
||||||
if (tc.isExplicitVersion(normalized)) {
|
|
||||||
return {
|
|
||||||
kind: "exact",
|
|
||||||
normalized,
|
|
||||||
raw,
|
|
||||||
};
|
|
||||||
}
|
|
||||||
|
|
||||||
return {
|
|
||||||
isSimpleMinimumVersionSpecifier: raw.includes(">") && !raw.includes(","),
|
|
||||||
kind: "range",
|
|
||||||
normalized,
|
|
||||||
raw,
|
|
||||||
};
|
|
||||||
}
|
|
||||||
@@ -1,34 +0,0 @@
|
|||||||
import type { ResolutionStrategy } from "../utils/inputs";
|
|
||||||
|
|
||||||
export type VersionSource =
|
|
||||||
| "input"
|
|
||||||
| "version-file"
|
|
||||||
| "uv.toml"
|
|
||||||
| "pyproject.toml"
|
|
||||||
| "default";
|
|
||||||
|
|
||||||
export type VersionFileFormat =
|
|
||||||
| ".tool-versions"
|
|
||||||
| "pyproject.toml"
|
|
||||||
| "requirements"
|
|
||||||
| "uv.toml";
|
|
||||||
|
|
||||||
export interface ParsedVersionFile {
|
|
||||||
format: VersionFileFormat;
|
|
||||||
specifier: string;
|
|
||||||
}
|
|
||||||
|
|
||||||
export interface ResolveUvVersionOptions {
|
|
||||||
manifestFile?: string;
|
|
||||||
resolutionStrategy?: ResolutionStrategy;
|
|
||||||
version?: string;
|
|
||||||
versionFile?: string;
|
|
||||||
workingDirectory: string;
|
|
||||||
}
|
|
||||||
|
|
||||||
export interface VersionRequest {
|
|
||||||
format?: VersionFileFormat;
|
|
||||||
source: VersionSource;
|
|
||||||
sourcePath?: string;
|
|
||||||
specifier: string;
|
|
||||||
}
|
|
||||||
@@ -1,158 +0,0 @@
|
|||||||
import * as path from "node:path";
|
|
||||||
import * as log from "../utils/logging";
|
|
||||||
import { getParsedVersionFile } from "./file-parser";
|
|
||||||
import { normalizeVersionSpecifier } from "./specifier";
|
|
||||||
import type {
|
|
||||||
ParsedVersionFile,
|
|
||||||
ResolveUvVersionOptions,
|
|
||||||
VersionRequest,
|
|
||||||
} from "./types";
|
|
||||||
|
|
||||||
export interface VersionRequestResolver {
|
|
||||||
resolve(context: VersionRequestContext): VersionRequest | undefined;
|
|
||||||
}
|
|
||||||
|
|
||||||
export class VersionRequestContext {
|
|
||||||
readonly version: string | undefined;
|
|
||||||
readonly versionFile: string | undefined;
|
|
||||||
readonly workingDirectory: string;
|
|
||||||
|
|
||||||
private readonly parsedFiles = new Map<
|
|
||||||
string,
|
|
||||||
ParsedVersionFile | undefined
|
|
||||||
>();
|
|
||||||
|
|
||||||
constructor(
|
|
||||||
version: string | undefined,
|
|
||||||
versionFile: string | undefined,
|
|
||||||
workingDirectory: string,
|
|
||||||
) {
|
|
||||||
this.version = version;
|
|
||||||
this.versionFile = versionFile;
|
|
||||||
this.workingDirectory = workingDirectory;
|
|
||||||
}
|
|
||||||
|
|
||||||
getVersionFile(filePath: string): ParsedVersionFile | undefined {
|
|
||||||
const cachedResult = this.parsedFiles.get(filePath);
|
|
||||||
if (cachedResult !== undefined || this.parsedFiles.has(filePath)) {
|
|
||||||
return cachedResult;
|
|
||||||
}
|
|
||||||
|
|
||||||
const result = getParsedVersionFile(filePath);
|
|
||||||
this.parsedFiles.set(filePath, result);
|
|
||||||
return result;
|
|
||||||
}
|
|
||||||
|
|
||||||
getWorkspaceCandidates(): Array<{
|
|
||||||
source: "pyproject.toml" | "uv.toml";
|
|
||||||
sourcePath: string;
|
|
||||||
}> {
|
|
||||||
return [
|
|
||||||
{
|
|
||||||
source: "uv.toml",
|
|
||||||
sourcePath: path.join(this.workingDirectory, "uv.toml"),
|
|
||||||
},
|
|
||||||
{
|
|
||||||
source: "pyproject.toml",
|
|
||||||
sourcePath: path.join(this.workingDirectory, "pyproject.toml"),
|
|
||||||
},
|
|
||||||
];
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
export class ExplicitInputVersionResolver implements VersionRequestResolver {
|
|
||||||
resolve(context: VersionRequestContext): VersionRequest | undefined {
|
|
||||||
if (context.version === undefined) {
|
|
||||||
return undefined;
|
|
||||||
}
|
|
||||||
|
|
||||||
return {
|
|
||||||
source: "input",
|
|
||||||
specifier: normalizeVersionSpecifier(context.version),
|
|
||||||
};
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
export class VersionFileVersionResolver implements VersionRequestResolver {
|
|
||||||
resolve(context: VersionRequestContext): VersionRequest | undefined {
|
|
||||||
if (context.versionFile === undefined) {
|
|
||||||
return undefined;
|
|
||||||
}
|
|
||||||
|
|
||||||
const versionFile = context.getVersionFile(context.versionFile);
|
|
||||||
if (versionFile === undefined) {
|
|
||||||
throw new Error(
|
|
||||||
`Could not determine uv version from file: ${context.versionFile}`,
|
|
||||||
);
|
|
||||||
}
|
|
||||||
|
|
||||||
return {
|
|
||||||
format: versionFile.format,
|
|
||||||
source: "version-file",
|
|
||||||
sourcePath: context.versionFile,
|
|
||||||
specifier: versionFile.specifier,
|
|
||||||
};
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
export class WorkspaceVersionResolver implements VersionRequestResolver {
|
|
||||||
resolve(context: VersionRequestContext): VersionRequest | undefined {
|
|
||||||
for (const candidate of context.getWorkspaceCandidates()) {
|
|
||||||
const versionFile = context.getVersionFile(candidate.sourcePath);
|
|
||||||
if (versionFile === undefined) {
|
|
||||||
continue;
|
|
||||||
}
|
|
||||||
|
|
||||||
return {
|
|
||||||
format: versionFile.format,
|
|
||||||
source: candidate.source,
|
|
||||||
sourcePath: candidate.sourcePath,
|
|
||||||
specifier: versionFile.specifier,
|
|
||||||
};
|
|
||||||
}
|
|
||||||
|
|
||||||
log.info(
|
|
||||||
"Could not determine uv version from uv.toml or pyproject.toml. Falling back to latest.",
|
|
||||||
);
|
|
||||||
return undefined;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
export class LatestVersionResolver implements VersionRequestResolver {
|
|
||||||
resolve(): VersionRequest {
|
|
||||||
return {
|
|
||||||
source: "default",
|
|
||||||
specifier: "latest",
|
|
||||||
};
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
const VERSION_REQUEST_RESOLVERS: VersionRequestResolver[] = [
|
|
||||||
new ExplicitInputVersionResolver(),
|
|
||||||
new VersionFileVersionResolver(),
|
|
||||||
new WorkspaceVersionResolver(),
|
|
||||||
new LatestVersionResolver(),
|
|
||||||
];
|
|
||||||
|
|
||||||
export function resolveVersionRequest(
|
|
||||||
options: ResolveUvVersionOptions,
|
|
||||||
): VersionRequest {
|
|
||||||
const context = new VersionRequestContext(
|
|
||||||
emptyToUndefined(options.version),
|
|
||||||
emptyToUndefined(options.versionFile),
|
|
||||||
options.workingDirectory,
|
|
||||||
);
|
|
||||||
|
|
||||||
for (const resolver of VERSION_REQUEST_RESOLVERS) {
|
|
||||||
const request = resolver.resolve(context);
|
|
||||||
if (request !== undefined) {
|
|
||||||
return request;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
throw new Error("Could not resolve a requested uv version.");
|
|
||||||
}
|
|
||||||
|
|
||||||
function emptyToUndefined(value: string | undefined): string | undefined {
|
|
||||||
return value === undefined || value === "" ? undefined : value;
|
|
||||||
}
|
|
||||||
@@ -1,12 +1,12 @@
|
|||||||
{
|
{
|
||||||
"compilerOptions": {
|
"compilerOptions": {
|
||||||
"esModuleInterop": true,
|
"esModuleInterop": true /* Enables emit interoperability between CommonJS and ES Modules via creation of namespace objects for all imports. Implies 'allowSyntheticDefaultImports'. */,
|
||||||
"isolatedModules": true,
|
"module": "nodenext" /* Specify module code generation: 'none', 'commonjs', 'amd', 'system', 'umd', 'es2015', or 'ESNext'. */,
|
||||||
"module": "esnext",
|
"noImplicitAny": true /* Raise error on expressions and declarations with an implied 'any' type. */,
|
||||||
"moduleResolution": "bundler",
|
"outDir": "./lib" /* Redirect output structure to the directory. */,
|
||||||
"noImplicitAny": true,
|
"rootDir": "./src" /* Specify the root directory of input files. Use to control the output directory structure with --outDir. */,
|
||||||
"strict": true,
|
"strict": true /* Enable all strict type-checking options. */,
|
||||||
"target": "ES2022"
|
"target": "ES2022" /* Specify ECMAScript target version: 'ES3' (default), 'ES5', 'ES2015', 'ES2016', 'ES2017', 'ES2018', 'ES2019' or 'ESNEXT'. */
|
||||||
},
|
},
|
||||||
"include": ["src/**/*.ts"]
|
"exclude": ["node_modules", "**/*.test.ts"]
|
||||||
}
|
}
|
||||||
|
|||||||
29178
version-manifest.json
Normal file
29178
version-manifest.json
Normal file
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user