Compare commits

..
11 Commits
Author SHA1 Message Date
Pavel Zwerschke 307e5e5842 fix: Multiple invokations of setup-pixi (#211) 2025-07-18 09:43:49 +02:00
Yannik TauschandPavel Zwerschke 273e4808c8 feat: Add pixi-url-bearer-token to authenticate when downloading from pixi-url (#210)
Co-authored-by: Pavel Zwerschke <pavelzw@gmail.com>
2025-07-11 18:38:08 +02:00
dependabot[bot]anddependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> c690703e5f Bump softprops/action-gh-release from 2.2.2 to 2.3.2 in the gh-actions group (#209)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-07-08 13:28:17 +02:00
dependabot[bot]dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>Pavel Zwerschke
29045c2e67 Bump the nodejs group with 7 updates (#208)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Pavel Zwerschke <pavelzw@gmail.com>
2025-07-01 07:41:26 +00:00
github-actions[bot] 2fd23d90b5 Reference latest Pixi version in README (#207) 2025-07-01 07:03:47 +00:00
Daniel Elsner 14c8aabd75 fix: Forcefully remove empty parents directory on post-cleanup (#205) 2025-06-12 17:01:57 +02:00
Daniel Elsner 97359467ea fix: Ignore errors in post-cleanup if files do not exist (#204) 2025-06-12 13:02:18 +02:00
dependabot[bot]dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>Pavel Zwerschke
1d2add66b9 Bump the nodejs group across 1 directory with 8 updates (#203)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Pavel Zwerschke <pavelzw@gmail.com>
2025-06-12 12:01:02 +02:00
dependabot[bot]anddependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> 64e585d510 Bump the gh-actions group with 2 updates (#199)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-06-12 11:54:41 +02:00
Pavel Zwerschke 22ee2b0fa0 docs: Add security policy (#202) 2025-05-23 12:12:45 +00:00
Pavel Zwerschke 19eac09b39 feat: Add support for windows arm runners (#197) 2025-04-16 00:39:41 +02:00
21 changed files with 1570 additions and 1488 deletions
@@ -0,0 +1,7 @@
:8080 {
@unauthorized not header Authorization "Bearer s3cr3tT0k3nABC123"
respond @unauthorized "Unauthorized: Invalid token" 401
root * ./assets
file_server
}
+3 -3
View File
@@ -23,7 +23,7 @@ jobs:
version: 9
- name: Install Node.js
uses: actions/setup-node@cdca7365b2dadb8aad0a33bc7601856ffabcc48e # v4.3.0
uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4.4.0
with:
node-version: 20
cache: pnpm
@@ -47,7 +47,7 @@ jobs:
run: |
set -euo pipefail
latest_version="$(jq -r '.version' package.json)"
count_expected=17
count_expected=18
count_actual="$(grep -c "setup-pixi@v$latest_version" README.md || true)"
if [ "$count_actual" -ne "$count_expected" ]; then
echo "::error file=README.md::Expected $count_expected mentions of \`setup-pixi@v$latest_version\` in README.md, but found $count_actual."
@@ -98,7 +98,7 @@ jobs:
version: 9
- name: Install Node.js
uses: actions/setup-node@cdca7365b2dadb8aad0a33bc7601856ffabcc48e # v4.3.0
uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4.4.0
with:
node-version: 20
cache: pnpm
+1 -1
View File
@@ -24,7 +24,7 @@ jobs:
TAG_NAME: v${{ steps.version-metadata.outputs.newVersion }}
- name: Create release
if: steps.version-metadata.outputs.changed == 'true'
uses: softprops/action-gh-release@c95fe1489396fe8a9eb87c0abf8aa5b2ef267fda # v2.2.1
uses: softprops/action-gh-release@72f2c25fcb47643c292f7107632f7a47c1df5cd8 # v2.3.2
with:
generate_release_notes: true
tag_name: v${{ steps.version-metadata.outputs.newVersion }}
+86 -20
View File
@@ -16,7 +16,8 @@ jobs:
default:
strategy:
matrix:
os: [ubuntu-latest, macos-latest, windows-latest, macos-13]
# TODO: add windows-11-arm: https://github.com/conda-forge/conda-forge.github.io/issues/1940
os: [ubuntu-latest, ubuntu-24.04-arm, macos-latest, windows-latest, macos-13]
cache: [true, false]
runs-on: ${{ matrix.os }}
name: default ${{ matrix.cache == true && 'with' || 'without' }} cache (${{ matrix.os }})
@@ -189,17 +190,58 @@ jobs:
pixi-url: https://github.com/prefix-dev/pixi/releases/download/v0.14.0/pixi-x86_64-unknown-linux-musl
- run: pixi --version | grep -q "pixi 0.14.0"
pixi-url-bearer-token:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
- name: Move pixi.toml
run: mv test/old-pixi-lockfiles/* .
- name: Setup caddy
run: |
set -euo pipefail
curl -Ls -o caddy.tar.gz https://github.com/caddyserver/caddy/releases/download/v2.10.0/caddy_2.10.0_linux_amd64.tar.gz
tar -xzf caddy.tar.gz
chmod +x caddy
mkdir -p assets
curl -Ls -o assets/pixi https://github.com/prefix-dev/pixi/releases/download/v0.14.0/pixi-x86_64-unknown-linux-musl
cp .github/assets/pixi-url-auth-test/Caddyfile .
./caddy run --config Caddyfile &
- run: ps -aux | grep caddy
- name: Run with wrong token
uses: ./
id: wrongtoken
with:
cache: false
pixi-url: http://localhost:8080/pixi
pixi-url-bearer-token: wrongtoken
continue-on-error: true
- name: Fail if wrong token did not fail
run: |
echo "Unexpected success!"
exit 1
if: ${{ steps.wrongtoken.outcome != 'failure' }}
- name: Run with correct token
uses: ./
with:
cache: false
pixi-url: http://localhost:8080/pixi
pixi-url-bearer-token: s3cr3tT0k3nABC123
- run: pixi --version | grep -q "pixi 0.14.0"
custom-manifest-path:
strategy:
matrix:
os: [ubuntu-latest, macos-latest, windows-latest]
os: [ubuntu-latest, ubuntu-24.04-arm, macos-latest, windows-latest, windows-11-arm]
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
- uses: ./
with:
cache: false
manifest-path: test/default/pixi.toml
manifest-path: test/bzip2/pixi.toml
different-log-level:
strategy:
@@ -259,18 +301,18 @@ jobs:
- name: Download pixi binary (Ubuntu)
run: |
set -o pipefail
curl -L --output "$HOME/custom existing pixi/pixi" https://github.com/prefix-dev/pixi/releases/download/v0.14.0/pixi-x86_64-unknown-linux-musl
curl -L --output "$HOME/custom existing pixi/pixi" https://github.com/prefix-dev/pixi/releases/download/v0.43.0/pixi-x86_64-unknown-linux-musl
chmod +x "$HOME/custom existing pixi/pixi"
if: matrix.os == 'ubuntu-latest'
- name: Download pixi binary (macOS)
run: |
set -o pipefail
curl -L --output "$HOME/custom existing pixi/pixi" https://github.com/prefix-dev/pixi/releases/download/v0.14.0/pixi-x86_64-apple-darwin
curl -L --output "$HOME/custom existing pixi/pixi" https://github.com/prefix-dev/pixi/releases/download/v0.43.0/pixi-x86_64-apple-darwin
chmod +x "$HOME/custom existing pixi/pixi"
if: matrix.os == 'macos-latest'
- name: Download pixi binary (Windows)
run: |
curl -L --output "$HOME/custom existing pixi/pixi.exe" https://github.com/prefix-dev/pixi/releases/download/v0.14.0/pixi-x86_64-pc-windows-msvc.exe
curl -L --output "$HOME/custom existing pixi/pixi.exe" https://github.com/prefix-dev/pixi/releases/download/v0.43.0/pixi-x86_64-pc-windows-msvc.exe
if: matrix.os == 'windows-latest'
- run: |
echo "Path: $PATH"
@@ -278,7 +320,7 @@ jobs:
- name: Verify pixi version (before setup-pixi)
run: |
pixi --version
pixi --version | grep -q "pixi 0.14.0"
pixi --version | grep -q "pixi 0.43.0"
shell: bash
- name: Verify pixi path (before setup-pixi)
run: |
@@ -299,7 +341,7 @@ jobs:
uses: ./
with:
cache: false
pixi-version: v0.16.0
pixi-version: v0.44.0
if: matrix.ignore-reason == 'version'
- name: Run Action (url should overwrite preinstalled pixi)
uses: ./
@@ -308,10 +350,10 @@ jobs:
pixi-url: |
${{
matrix.os == 'ubuntu-latest' &&
'https://github.com/prefix-dev/pixi/releases/download/v0.16.0/pixi-x86_64-unknown-linux-musl'
'https://github.com/prefix-dev/pixi/releases/download/v0.44.0/pixi-x86_64-unknown-linux-musl'
|| matrix.os == 'macos-latest' &&
'https://github.com/prefix-dev/pixi/releases/download/v0.16.0/pixi-x86_64-apple-darwin'
|| 'https://github.com/prefix-dev/pixi/releases/download/v0.16.0/pixi-x86_64-pc-windows-msvc.exe'
'https://github.com/prefix-dev/pixi/releases/download/v0.44.0/pixi-x86_64-apple-darwin'
|| 'https://github.com/prefix-dev/pixi/releases/download/v0.44.0/pixi-x86_64-pc-windows-msvc.exe'
}}
if: matrix.ignore-reason == 'url'
- name: Create custom bin directory
@@ -325,23 +367,23 @@ jobs:
# this will implicitly set pixi-version to latest
pixi-bin-path: custom-bin/pixi${{ matrix.os == 'windows-latest' && '.exe' || '' }}
if: matrix.ignore-reason == 'bin-path'
- name: Verify pixi version (after setup-pixi) - still at 0.14.0
- name: Verify pixi version (after setup-pixi) - still at 0.43.0
run: |
pixi --version
pixi --version | grep -q 0.14.0
pixi --version | grep -q 0.43.0
shell: bash
if: matrix.ignore-reason == 'none'
- name: Verify pixi version (after setup-pixi) - should be 0.16.0
- name: Verify pixi version (after setup-pixi) - should be 0.44.0
run: |
pixi --version
pixi --version | grep -q 0.16.0
pixi --version | grep -q 0.44.0
shell: bash
if: matrix.ignore-reason != 'none' && matrix.ignore-reason != 'bin-path' && matrix.ignore-reason != 'version-latest'
- name: Verify pixi version (after setup-pixi) - should be latest
run: |
pixi --version
pixi --version | grep -vq 0.14.0
pixi --version | grep -vq 0.16.0
pixi --version | grep -vq 0.43.0
pixi --version | grep -vq 0.44.0
shell: bash
if: matrix.ignore-reason == 'bin-path' || matrix.ignore-reason == 'version-latest'
- name: Verify pixi path (after setup-pixi, no ignore reason)
@@ -460,7 +502,8 @@ jobs:
pixi-shell:
strategy:
matrix:
os: [ubuntu-latest, macos-latest, windows-latest]
# TODO: add windows-11-arm: https://github.com/conda-forge/conda-forge.github.io/issues/1940
os: [ubuntu-latest, ubuntu-24.04-arm, macos-latest, windows-latest]
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
@@ -480,11 +523,14 @@ jobs:
- run: |
python --version | Select-String "3.11"
shell: pixi run pwsh -Command {0}
# TODO investigate: for some reason, this errors on ubuntu-arm
if: matrix.os != 'ubuntu-24.04-arm'
pixi-shell-exec:
strategy:
matrix:
os: [ubuntu-latest, macos-latest, windows-latest]
# TODO: add windows-11-arm: https://github.com/conda-forge/conda-forge.github.io/issues/1940
os: [ubuntu-latest, ubuntu-24.04-arm, macos-latest, windows-latest]
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
@@ -500,6 +546,8 @@ jobs:
- run: |
python --version | Select-String "3.11"
shell: pixi exec --spec python=3.11.* -- pwsh -Command {0}
# TODO investigate: for some reason, this errors on ubuntu-arm
if: matrix.os != 'ubuntu-24.04-arm'
post-cleanup-linux:
runs-on: ubuntu-latest
@@ -593,7 +641,7 @@ jobs:
no-lockfile:
strategy:
matrix:
os: [ubuntu-latest, macos-latest, windows-latest]
os: [ubuntu-latest, ubuntu-24.04-arm, macos-latest, windows-latest]
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
@@ -877,6 +925,24 @@ jobs:
- run: which python | grep '.pixi/envs/py311/bin/python'
- run: '[[ $PIXI_ENVIRONMENT_NAME = "py311" ]]'
multiple-invokations:
runs-on: ${{ matrix.os }}
strategy:
matrix:
os: [windows-latest, ubuntu-latest, macos-latest]
steps:
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
- name: Move pixi.toml
run: mv test/multiple-environments/* .
- uses: ./
with:
run-install: false
- uses: ./
with:
environments: >-
py311 py312
activate-environment: py311
# not properly testable
# https://github.com/actions/runner/issues/2347
# https://github.com/orgs/community/discussions/15452
+1
View File
@@ -1,2 +1,3 @@
dist
pnpm-lock.yaml
pixi.lock
+31 -19
View File
@@ -23,9 +23,9 @@ GitHub Action to set up the [pixi](https://github.com/prefix-dev/pixi) package m
## Usage
```yml
- uses: prefix-dev/setup-pixi@v0.8.7
- uses: prefix-dev/setup-pixi@v0.8.12
with:
pixi-version: v0.44.0
pixi-version: v0.49.0
cache: true
auth-host: prefix.dev
@@ -35,7 +35,7 @@ GitHub Action to set up the [pixi](https://github.com/prefix-dev/pixi) package m
> [!WARNING]
> Since pixi is not yet stable, the API of this action may change between minor versions.
> Please pin the versions of this action to a specific version (i.e., `prefix-dev/setup-pixi@v0.8.7`) to avoid breaking changes.
> Please pin the versions of this action to a specific version (i.e., `prefix-dev/setup-pixi@v0.8.12`) to avoid breaking changes.
> You can automatically update the version of this action by using [Dependabot](https://docs.github.com/en/code-security/dependabot/working-with-dependabot/keeping-your-actions-up-to-date-with-dependabot).
>
> Put the following in your `.github/dependabot.yml` file to enable Dependabot for your GitHub Actions:
@@ -74,7 +74,7 @@ In order to not exceed the [10 GB cache size limit](https://docs.github.com/en/a
This can be done by setting the `cache-write` argument.
```yml
- uses: prefix-dev/setup-pixi@v0.8.7
- uses: prefix-dev/setup-pixi@v0.8.12
with:
cache: true
cache-write: ${{ github.event_name == 'push' && github.ref_name == 'main' }}
@@ -119,7 +119,7 @@ test:
environment: [py311, py312]
steps:
- uses: actions/checkout@v4
- uses: prefix-dev/setup-pixi@v0.8.7
- uses: prefix-dev/setup-pixi@v0.8.12
with:
environments: ${{ matrix.environment }}
```
@@ -129,7 +129,7 @@ test:
The following example will install both the `py311` and the `py312` environment on the runner.
```yml
- uses: prefix-dev/setup-pixi@v0.8.7
- uses: prefix-dev/setup-pixi@v0.8.12
with:
# separated by spaces
environments: >-
@@ -165,7 +165,7 @@ Specify the token using the `auth-token` input argument.
This form of authentication (bearer token in the request headers) is mainly used at [prefix.dev](https://prefix.dev).
```yml
- uses: prefix-dev/setup-pixi@v0.8.7
- uses: prefix-dev/setup-pixi@v0.8.12
with:
auth-host: prefix.dev
auth-token: ${{ secrets.PREFIX_DEV_TOKEN }}
@@ -177,7 +177,7 @@ Specify the username and password using the `auth-username` and `auth-password`
This form of authentication (HTTP Basic Auth) is used in some enterprise environments with [artifactory](https://jfrog.com/artifactory) for example.
```yml
- uses: prefix-dev/setup-pixi@v0.8.7
- uses: prefix-dev/setup-pixi@v0.8.12
with:
auth-host: custom-artifactory.com
auth-username: ${{ secrets.PIXI_USERNAME }}
@@ -190,7 +190,7 @@ Specify the conda-token using the `auth-conda-token` input argument.
This form of authentication (token is encoded in URL: `https://my-quetz-instance.com/t/<token>/get/custom-channel`) is used at [anaconda.org](https://anaconda.org) or with [quetz instances](https://github.com/mamba-org/quetz).
```yml
- uses: prefix-dev/setup-pixi@v0.8.7
- uses: prefix-dev/setup-pixi@v0.8.12
with:
auth-host: anaconda.org # or my-quetz-instance.com
auth-conda-token: ${{ secrets.CONDA_TOKEN }}
@@ -202,7 +202,7 @@ Specify the S3 key pair using the `auth-access-key-id` and `auth-secret-access-k
You can also specify the session token using the `auth-session-token` input argument.
```yaml
- uses: prefix-dev/setup-pixi@v0.8.7
- uses: prefix-dev/setup-pixi@v0.8.12
with:
auth-host: s3://my-s3-bucket
auth-s3-access-key-id: ${{ secrets.ACCESS_KEY_ID }}
@@ -274,7 +274,7 @@ To this end, `setup-pixi` adds all environment variables set when executing `pix
As a result, all installed binaries can be accessed without having to call `pixi run`.
```yml
- uses: prefix-dev/setup-pixi@v0.8.7
- uses: prefix-dev/setup-pixi@v0.8.12
with:
activate-environment: true
```
@@ -282,7 +282,7 @@ As a result, all installed binaries can be accessed without having to call `pixi
If you are installing multiple environments, you will need to specify the name of the environment that you want to be activated.
```yml
- uses: prefix-dev/setup-pixi@v0.8.7
- uses: prefix-dev/setup-pixi@v0.8.12
with:
environments: >-
py311
@@ -299,7 +299,7 @@ You can specify whether `setup-pixi` should run `pixi install --frozen` or `pixi
See the [official documentation](https://prefix.dev/docs/pixi/cli#install) for more information about the `--frozen` and `--locked` flags.
```yml
- uses: prefix-dev/setup-pixi@v0.8.7
- uses: prefix-dev/setup-pixi@v0.8.12
with:
locked: true
# or
@@ -318,7 +318,7 @@ The first one is the debug logging of the action itself.
This can be enabled by running the action with the `RUNNER_DEBUG` environment variable set to `true`.
```yml
- uses: prefix-dev/setup-pixi@v0.8.7
- uses: prefix-dev/setup-pixi@v0.8.12
env:
RUNNER_DEBUG: true
```
@@ -336,7 +336,7 @@ The second type is the debug logging of the pixi executable.
This can be specified by setting the `log-level` input.
```yml
- uses: prefix-dev/setup-pixi@v0.8.7
- uses: prefix-dev/setup-pixi@v0.8.12
with:
# one of `q`, `default`, `v`, `vv`, or `vvv`.
log-level: vvv
@@ -362,7 +362,7 @@ If nothing is specified, `post-cleanup` will default to `true`.
On self-hosted runners, you also might want to alter the default pixi install location to a temporary location. You can use `pixi-bin-path: ${{ runner.temp }}/bin/pixi` to do this.
```yml
- uses: prefix-dev/setup-pixi@v0.8.7
- uses: prefix-dev/setup-pixi@v0.8.12
with:
post-cleanup: true
# ${{ runner.temp }}\Scripts\pixi.exe on Windows
@@ -372,13 +372,13 @@ On self-hosted runners, you also might want to alter the default pixi install lo
You can also use a preinstalled local version of pixi on the runner by not setting any of the `pixi-version`,
`pixi-url` or `pixi-bin-path` inputs. This action will then try to find a local version of pixi in the runner's PATH.
### Using the `pyproject.toml` as a manifest file for pixi.
### Using the `pyproject.toml` as a manifest file for pixi
`setup-pixi` will automatically pick up the `pyproject.toml` if it contains a `[tool.pixi.project]` section and no `pixi.toml`.
This can be overwritten by setting the `manifest-path` input argument.
```yml
- uses: prefix-dev/setup-pixi@v0.8.7
- uses: prefix-dev/setup-pixi@v0.8.12
with:
manifest-path: pyproject.toml
```
@@ -388,11 +388,23 @@ This can be overwritten by setting the `manifest-path` input argument.
If you only want to install pixi and not install the current project, you can use the `run-install` option.
```yml
- uses: prefix-dev/setup-pixi@v0.8.7
- uses: prefix-dev/setup-pixi@v0.8.12
with:
run-install: false
```
### Download pixi from a custom URL
You can also download pixi from a custom URL by setting the `pixi-url` input argument.
Optionally, you can combine this with the `pixi-url-bearer-token` input argument to authenticate the download request.
```yml
- uses: prefix-dev/setup-pixi@v0.8.12
with:
pixi-url: https://pixi-mirror.example.com/releases/download/v0.48.0/pixi-x86_64-unknown-linux-musl
pixi-url-bearer-token: ${{ secrets.PIXI_MIRROR_BEARER_TOKEN }}
```
## More examples
If you want to see more examples, you can take a look at the [GitHub Workflows of this repository](.github/workflows/test.yml).
+7
View File
@@ -0,0 +1,7 @@
# Reporting Security Issues
We take security bugs in our projects seriously. We appreciate your efforts to responsibly disclose your findings, and will make every effort to acknowledge your contributions.
To report a security issue, please use the GitHub Security Advisory ["Report a Vulnerability"](https://github.com/prefix-dev/setup-pixi/security/advisories/new) tab.
We will send a response indicating the next steps in handling your report. After the initial reply to your report, the security team will keep you informed of the progress towards a fix and full announcement, and may ask for additional information or guidance.
+2
View File
@@ -10,6 +10,8 @@ inputs:
description: Version of pixi to install
pixi-url:
description: URL of pixi to install
pixi-url-bearer-token:
description: Bearer token to use for authentication when downloading pixi from a URL.
log-level:
description: |
Log level for the pixi CLI.
Generated Vendored
+153 -172
View File
@@ -22425,9 +22425,9 @@ var require_balanced_match = __commonJS({
}
});
// node_modules/.pnpm/brace-expansion@1.1.11/node_modules/brace-expansion/index.js
// node_modules/.pnpm/brace-expansion@1.1.12/node_modules/brace-expansion/index.js
var require_brace_expansion = __commonJS({
"node_modules/.pnpm/brace-expansion@1.1.11/node_modules/brace-expansion/index.js"(exports2, module2) {
"node_modules/.pnpm/brace-expansion@1.1.12/node_modules/brace-expansion/index.js"(exports2, module2) {
"use strict";
var concatMap = require_concat_map();
var balanced = require_balanced_match();
@@ -22495,7 +22495,7 @@ var require_brace_expansion = __commonJS({
var isSequence = isNumericSequence || isAlphaSequence;
var isOptions = m.body.indexOf(",") >= 0;
if (!isSequence && !isOptions) {
if (m.post.match(/,.*\}/)) {
if (m.post.match(/,(?!,).*\}/)) {
str = m.pre + "{" + m.body + escClose + m.post;
return expand(str);
}
@@ -25819,9 +25819,9 @@ var require_ms = __commonJS({
}
});
// node_modules/.pnpm/debug@4.4.0/node_modules/debug/src/common.js
// node_modules/.pnpm/debug@4.4.1/node_modules/debug/src/common.js
var require_common = __commonJS({
"node_modules/.pnpm/debug@4.4.0/node_modules/debug/src/common.js"(exports2, module2) {
"node_modules/.pnpm/debug@4.4.1/node_modules/debug/src/common.js"(exports2, module2) {
"use strict";
function setup(env) {
createDebug.debug = createDebug;
@@ -25923,7 +25923,7 @@ var require_common = __commonJS({
createDebug.namespaces = namespaces;
createDebug.names = [];
createDebug.skips = [];
const split = (typeof namespaces === "string" ? namespaces : "").trim().replace(" ", ",").split(",").filter(Boolean);
const split = (typeof namespaces === "string" ? namespaces : "").trim().replace(/\s+/g, ",").split(",").filter(Boolean);
for (const ns of split) {
if (ns[0] === "-") {
createDebug.skips.push(ns.slice(1));
@@ -25997,9 +25997,9 @@ var require_common = __commonJS({
}
});
// node_modules/.pnpm/debug@4.4.0/node_modules/debug/src/browser.js
// node_modules/.pnpm/debug@4.4.1/node_modules/debug/src/browser.js
var require_browser = __commonJS({
"node_modules/.pnpm/debug@4.4.0/node_modules/debug/src/browser.js"(exports2, module2) {
"node_modules/.pnpm/debug@4.4.1/node_modules/debug/src/browser.js"(exports2, module2) {
"use strict";
exports2.formatArgs = formatArgs;
exports2.save = save;
@@ -26142,7 +26142,7 @@ var require_browser = __commonJS({
function load() {
let r;
try {
r = exports2.storage.getItem("debug");
r = exports2.storage.getItem("debug") || exports2.storage.getItem("DEBUG");
} catch (error3) {
}
if (!r && typeof process !== "undefined" && "env" in process) {
@@ -26283,9 +26283,9 @@ var require_supports_color = __commonJS({
}
});
// node_modules/.pnpm/debug@4.4.0/node_modules/debug/src/node.js
// node_modules/.pnpm/debug@4.4.1/node_modules/debug/src/node.js
var require_node = __commonJS({
"node_modules/.pnpm/debug@4.4.0/node_modules/debug/src/node.js"(exports2, module2) {
"node_modules/.pnpm/debug@4.4.1/node_modules/debug/src/node.js"(exports2, module2) {
"use strict";
var tty = require("tty");
var util4 = require("util");
@@ -26458,9 +26458,9 @@ var require_node = __commonJS({
}
});
// node_modules/.pnpm/debug@4.4.0/node_modules/debug/src/index.js
// node_modules/.pnpm/debug@4.4.1/node_modules/debug/src/index.js
var require_src = __commonJS({
"node_modules/.pnpm/debug@4.4.0/node_modules/debug/src/index.js"(exports2, module2) {
"node_modules/.pnpm/debug@4.4.1/node_modules/debug/src/index.js"(exports2, module2) {
"use strict";
if (typeof process === "undefined" || process.type === "renderer" || process.browser === true || process.__nwjs) {
module2.exports = require_browser();
@@ -64246,10 +64246,11 @@ var import_process = require("process");
var import_fs = require("fs");
var core = __toESM(require_core());
// node_modules/.pnpm/zod@3.24.2/node_modules/zod/lib/index.mjs
// node_modules/.pnpm/zod@3.25.67/node_modules/zod/dist/esm/v3/helpers/util.js
var util;
(function(util4) {
util4.assertEqual = (val) => val;
util4.assertEqual = (_) => {
};
function assertIs(_arg) {
}
util4.assertIs = assertIs;
@@ -64293,7 +64294,7 @@ var util;
}
return void 0;
};
util4.isInteger = typeof Number.isInteger === "function" ? (val) => Number.isInteger(val) : (val) => typeof val === "number" && isFinite(val) && Math.floor(val) === val;
util4.isInteger = typeof Number.isInteger === "function" ? (val) => Number.isInteger(val) : (val) => typeof val === "number" && Number.isFinite(val) && Math.floor(val) === val;
function joinValues(array, separator = " | ") {
return array.map((val) => typeof val === "string" ? `'${val}'` : val).join(separator);
}
@@ -64345,7 +64346,7 @@ var getParsedType = (data) => {
case "string":
return ZodParsedType.string;
case "number":
return isNaN(data) ? ZodParsedType.nan : ZodParsedType.number;
return Number.isNaN(data) ? ZodParsedType.nan : ZodParsedType.number;
case "boolean":
return ZodParsedType.boolean;
case "function":
@@ -64378,6 +64379,8 @@ var getParsedType = (data) => {
return ZodParsedType.unknown;
}
};
// node_modules/.pnpm/zod@3.25.67/node_modules/zod/dist/esm/v3/ZodError.js
var ZodIssueCode = util.arrayToEnum([
"invalid_type",
"invalid_literal",
@@ -64489,6 +64492,8 @@ ZodError.create = (issues) => {
const error3 = new ZodError(issues);
return error3;
};
// node_modules/.pnpm/zod@3.25.67/node_modules/zod/dist/esm/v3/locales/en.js
var errorMap = (issue, _ctx) => {
let message;
switch (issue.code) {
@@ -64587,10 +64592,15 @@ var errorMap = (issue, _ctx) => {
}
return { message };
};
var overrideErrorMap = errorMap;
var en_default = errorMap;
// node_modules/.pnpm/zod@3.25.67/node_modules/zod/dist/esm/v3/errors.js
var overrideErrorMap = en_default;
function getErrorMap() {
return overrideErrorMap;
}
// node_modules/.pnpm/zod@3.25.67/node_modules/zod/dist/esm/v3/helpers/parseUtil.js
var makeIssue = (params) => {
const { data, path: path4, errorMaps, issueData } = params;
const fullPath = [...path4, ...issueData.path || []];
@@ -64629,7 +64639,7 @@ function addIssueToContext(ctx, issueData) {
// then schema-bound map if available
overrideMap,
// then global override map
overrideMap === errorMap ? void 0 : errorMap
overrideMap === en_default ? void 0 : en_default
// then global default map
].filter((x) => !!x)
});
@@ -64698,24 +64708,15 @@ var isAborted = (x) => x.status === "aborted";
var isDirty = (x) => x.status === "dirty";
var isValid = (x) => x.status === "valid";
var isAsync = (x) => typeof Promise !== "undefined" && x instanceof Promise;
function __classPrivateFieldGet(receiver, state3, kind, f) {
if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
if (typeof state3 === "function" ? receiver !== state3 || !f : !state3.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state3.get(receiver);
}
function __classPrivateFieldSet(receiver, state3, value, kind, f) {
if (kind === "m") throw new TypeError("Private method is not writable");
if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter");
if (typeof state3 === "function" ? receiver !== state3 || !f : !state3.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
return kind === "a" ? f.call(receiver, value) : f ? f.value = value : state3.set(receiver, value), value;
}
// node_modules/.pnpm/zod@3.25.67/node_modules/zod/dist/esm/v3/helpers/errorUtil.js
var errorUtil;
(function(errorUtil2) {
errorUtil2.errToObj = (message) => typeof message === "string" ? { message } : message || {};
errorUtil2.toString = (message) => typeof message === "string" ? message : message === null || message === void 0 ? void 0 : message.message;
errorUtil2.toString = (message) => typeof message === "string" ? message : message?.message;
})(errorUtil || (errorUtil = {}));
var _ZodEnum_cache;
var _ZodNativeEnum_cache;
// node_modules/.pnpm/zod@3.25.67/node_modules/zod/dist/esm/v3/types.js
var ParseInputLazyPath = class {
constructor(parent, value, path4, key) {
this._cachedPath = [];
@@ -64726,7 +64727,7 @@ var ParseInputLazyPath = class {
}
get path() {
if (!this._cachedPath.length) {
if (this._key instanceof Array) {
if (Array.isArray(this._key)) {
this._cachedPath.push(...this._path, ...this._key);
} else {
this._cachedPath.push(...this._path, this._key);
@@ -64764,17 +64765,16 @@ function processCreateParams(params) {
if (errorMap2)
return { errorMap: errorMap2, description };
const customMap = (iss, ctx) => {
var _a3, _b2;
const { message } = params;
if (iss.code === "invalid_enum_value") {
return { message: message !== null && message !== void 0 ? message : ctx.defaultError };
return { message: message ?? ctx.defaultError };
}
if (typeof ctx.data === "undefined") {
return { message: (_a3 = message !== null && message !== void 0 ? message : required_error) !== null && _a3 !== void 0 ? _a3 : ctx.defaultError };
return { message: message ?? required_error ?? ctx.defaultError };
}
if (iss.code !== "invalid_type")
return { message: ctx.defaultError };
return { message: (_b2 = message !== null && message !== void 0 ? message : invalid_type_error) !== null && _b2 !== void 0 ? _b2 : ctx.defaultError };
return { message: message ?? invalid_type_error ?? ctx.defaultError };
};
return { errorMap: customMap, description };
}
@@ -64826,14 +64826,13 @@ var ZodType = class {
throw result.error;
}
safeParse(data, params) {
var _a3;
const ctx = {
common: {
issues: [],
async: (_a3 = params === null || params === void 0 ? void 0 : params.async) !== null && _a3 !== void 0 ? _a3 : false,
contextualErrorMap: params === null || params === void 0 ? void 0 : params.errorMap
async: params?.async ?? false,
contextualErrorMap: params?.errorMap
},
path: (params === null || params === void 0 ? void 0 : params.path) || [],
path: params?.path || [],
schemaErrorMap: this._def.errorMap,
parent: null,
data,
@@ -64843,7 +64842,6 @@ var ZodType = class {
return handleResult(ctx, result);
}
"~validate"(data) {
var _a3, _b2;
const ctx = {
common: {
issues: [],
@@ -64864,7 +64862,7 @@ var ZodType = class {
issues: ctx.common.issues
};
} catch (err) {
if ((_b2 = (_a3 = err === null || err === void 0 ? void 0 : err.message) === null || _a3 === void 0 ? void 0 : _a3.toLowerCase()) === null || _b2 === void 0 ? void 0 : _b2.includes("encountered")) {
if (err?.message?.toLowerCase()?.includes("encountered")) {
this["~standard"].async = true;
}
ctx.common = {
@@ -64889,10 +64887,10 @@ var ZodType = class {
const ctx = {
common: {
issues: [],
contextualErrorMap: params === null || params === void 0 ? void 0 : params.errorMap,
contextualErrorMap: params?.errorMap,
async: true
},
path: (params === null || params === void 0 ? void 0 : params.path) || [],
path: params?.path || [],
schemaErrorMap: this._def.errorMap,
parent: null,
data,
@@ -65082,13 +65080,14 @@ var base64urlRegex = /^([0-9a-zA-Z-_]{4})*(([0-9a-zA-Z-_]{2}(==)?)|([0-9a-zA-Z-_
var dateRegexSource = `((\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-((0[13578]|1[02])-(0[1-9]|[12]\\d|3[01])|(0[469]|11)-(0[1-9]|[12]\\d|30)|(02)-(0[1-9]|1\\d|2[0-8])))`;
var dateRegex = new RegExp(`^${dateRegexSource}$`);
function timeRegexSource(args) {
let regex = `([01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d`;
let secondsRegexSource = `[0-5]\\d`;
if (args.precision) {
regex = `${regex}\\.\\d{${args.precision}}`;
secondsRegexSource = `${secondsRegexSource}\\.\\d{${args.precision}}`;
} else if (args.precision == null) {
regex = `${regex}(\\.\\d+)?`;
secondsRegexSource = `${secondsRegexSource}(\\.\\d+)?`;
}
return regex;
const secondsQuantifier = args.precision ? "+" : "?";
return `([01]\\d|2[0-3]):[0-5]\\d(:${secondsRegexSource})${secondsQuantifier}`;
}
function timeRegex(args) {
return new RegExp(`^${timeRegexSource(args)}$`);
@@ -65120,12 +65119,14 @@ function isValidJWT(jwt, alg) {
const decoded = JSON.parse(atob(base64));
if (typeof decoded !== "object" || decoded === null)
return false;
if (!decoded.typ || !decoded.alg)
if ("typ" in decoded && decoded?.typ !== "JWT")
return false;
if (!decoded.alg)
return false;
if (alg && decoded.alg !== alg)
return false;
return true;
} catch (_a3) {
} catch {
return false;
}
}
@@ -65284,7 +65285,7 @@ var ZodString = class _ZodString extends ZodType {
} else if (check.kind === "url") {
try {
new URL(input.data);
} catch (_a3) {
} catch {
ctx = this._getOrReturnCtx(input, ctx);
addIssueToContext(ctx, {
validation: "url",
@@ -65496,7 +65497,6 @@ var ZodString = class _ZodString extends ZodType {
return this._addCheck({ kind: "cidr", ...errorUtil.errToObj(options2) });
}
datetime(options2) {
var _a3, _b2;
if (typeof options2 === "string") {
return this._addCheck({
kind: "datetime",
@@ -65508,10 +65508,10 @@ var ZodString = class _ZodString extends ZodType {
}
return this._addCheck({
kind: "datetime",
precision: typeof (options2 === null || options2 === void 0 ? void 0 : options2.precision) === "undefined" ? null : options2 === null || options2 === void 0 ? void 0 : options2.precision,
offset: (_a3 = options2 === null || options2 === void 0 ? void 0 : options2.offset) !== null && _a3 !== void 0 ? _a3 : false,
local: (_b2 = options2 === null || options2 === void 0 ? void 0 : options2.local) !== null && _b2 !== void 0 ? _b2 : false,
...errorUtil.errToObj(options2 === null || options2 === void 0 ? void 0 : options2.message)
precision: typeof options2?.precision === "undefined" ? null : options2?.precision,
offset: options2?.offset ?? false,
local: options2?.local ?? false,
...errorUtil.errToObj(options2?.message)
});
}
date(message) {
@@ -65527,8 +65527,8 @@ var ZodString = class _ZodString extends ZodType {
}
return this._addCheck({
kind: "time",
precision: typeof (options2 === null || options2 === void 0 ? void 0 : options2.precision) === "undefined" ? null : options2 === null || options2 === void 0 ? void 0 : options2.precision,
...errorUtil.errToObj(options2 === null || options2 === void 0 ? void 0 : options2.message)
precision: typeof options2?.precision === "undefined" ? null : options2?.precision,
...errorUtil.errToObj(options2?.message)
});
}
duration(message) {
@@ -65545,8 +65545,8 @@ var ZodString = class _ZodString extends ZodType {
return this._addCheck({
kind: "includes",
value,
position: options2 === null || options2 === void 0 ? void 0 : options2.position,
...errorUtil.errToObj(options2 === null || options2 === void 0 ? void 0 : options2.message)
position: options2?.position,
...errorUtil.errToObj(options2?.message)
});
}
startsWith(value, message) {
@@ -65678,11 +65678,10 @@ var ZodString = class _ZodString extends ZodType {
}
};
ZodString.create = (params) => {
var _a3;
return new ZodString({
checks: [],
typeName: ZodFirstPartyTypeKind.ZodString,
coerce: (_a3 = params === null || params === void 0 ? void 0 : params.coerce) !== null && _a3 !== void 0 ? _a3 : false,
coerce: params?.coerce ?? false,
...processCreateParams(params)
});
};
@@ -65690,9 +65689,9 @@ function floatSafeRemainder(val, step) {
const valDecCount = (val.toString().split(".")[1] || "").length;
const stepDecCount = (step.toString().split(".")[1] || "").length;
const decCount = valDecCount > stepDecCount ? valDecCount : stepDecCount;
const valInt = parseInt(val.toFixed(decCount).replace(".", ""));
const stepInt = parseInt(step.toFixed(decCount).replace(".", ""));
return valInt % stepInt / Math.pow(10, decCount);
const valInt = Number.parseInt(val.toFixed(decCount).replace(".", ""));
const stepInt = Number.parseInt(step.toFixed(decCount).replace(".", ""));
return valInt % stepInt / 10 ** decCount;
}
var ZodNumber = class _ZodNumber extends ZodType {
constructor() {
@@ -65902,7 +65901,8 @@ var ZodNumber = class _ZodNumber extends ZodType {
return !!this._def.checks.find((ch) => ch.kind === "int" || ch.kind === "multipleOf" && util.isInteger(ch.value));
}
get isFinite() {
let max = null, min = null;
let max = null;
let min = null;
for (const ch of this._def.checks) {
if (ch.kind === "finite" || ch.kind === "int" || ch.kind === "multipleOf") {
return true;
@@ -65921,7 +65921,7 @@ ZodNumber.create = (params) => {
return new ZodNumber({
checks: [],
typeName: ZodFirstPartyTypeKind.ZodNumber,
coerce: (params === null || params === void 0 ? void 0 : params.coerce) || false,
coerce: params?.coerce || false,
...processCreateParams(params)
});
};
@@ -65935,7 +65935,7 @@ var ZodBigInt = class _ZodBigInt extends ZodType {
if (this._def.coerce) {
try {
input.data = BigInt(input.data);
} catch (_a3) {
} catch {
return this._getInvalidInput(input);
}
}
@@ -66090,11 +66090,10 @@ var ZodBigInt = class _ZodBigInt extends ZodType {
}
};
ZodBigInt.create = (params) => {
var _a3;
return new ZodBigInt({
checks: [],
typeName: ZodFirstPartyTypeKind.ZodBigInt,
coerce: (_a3 = params === null || params === void 0 ? void 0 : params.coerce) !== null && _a3 !== void 0 ? _a3 : false,
coerce: params?.coerce ?? false,
...processCreateParams(params)
});
};
@@ -66119,7 +66118,7 @@ var ZodBoolean = class extends ZodType {
ZodBoolean.create = (params) => {
return new ZodBoolean({
typeName: ZodFirstPartyTypeKind.ZodBoolean,
coerce: (params === null || params === void 0 ? void 0 : params.coerce) || false,
coerce: params?.coerce || false,
...processCreateParams(params)
});
};
@@ -66138,7 +66137,7 @@ var ZodDate = class _ZodDate extends ZodType {
});
return INVALID;
}
if (isNaN(input.data.getTime())) {
if (Number.isNaN(input.data.getTime())) {
const ctx2 = this._getOrReturnCtx(input);
addIssueToContext(ctx2, {
code: ZodIssueCode.invalid_date
@@ -66227,7 +66226,7 @@ var ZodDate = class _ZodDate extends ZodType {
ZodDate.create = (params) => {
return new ZodDate({
checks: [],
coerce: (params === null || params === void 0 ? void 0 : params.coerce) || false,
coerce: params?.coerce || false,
typeName: ZodFirstPartyTypeKind.ZodDate,
...processCreateParams(params)
});
@@ -66502,7 +66501,8 @@ var ZodObject = class _ZodObject extends ZodType {
return this._cached;
const shape = this._def.shape();
const keys = util.objectKeys(shape);
return this._cached = { shape, keys };
this._cached = { shape, keys };
return this._cached;
}
_parse(input) {
const parsedType = this._getType(input);
@@ -66552,8 +66552,8 @@ var ZodObject = class _ZodObject extends ZodType {
});
status.dirty();
}
} else if (unknownKeys === "strip") ;
else {
} else if (unknownKeys === "strip") {
} else {
throw new Error(`Internal ZodObject error: invalid unknownKeys value.`);
}
} else {
@@ -66600,11 +66600,10 @@ var ZodObject = class _ZodObject extends ZodType {
unknownKeys: "strict",
...message !== void 0 ? {
errorMap: (issue, ctx) => {
var _a3, _b2, _c2, _d2;
const defaultError = (_c2 = (_b2 = (_a3 = this._def).errorMap) === null || _b2 === void 0 ? void 0 : _b2.call(_a3, issue, ctx).message) !== null && _c2 !== void 0 ? _c2 : ctx.defaultError;
const defaultError = this._def.errorMap?.(issue, ctx).message ?? ctx.defaultError;
if (issue.code === "unrecognized_keys")
return {
message: (_d2 = errorUtil.errToObj(message).message) !== null && _d2 !== void 0 ? _d2 : defaultError
message: errorUtil.errToObj(message).message ?? defaultError
};
return {
message: defaultError
@@ -66735,11 +66734,11 @@ var ZodObject = class _ZodObject extends ZodType {
}
pick(mask) {
const shape = {};
util.objectKeys(mask).forEach((key) => {
for (const key of util.objectKeys(mask)) {
if (mask[key] && this.shape[key]) {
shape[key] = this.shape[key];
}
});
}
return new _ZodObject({
...this._def,
shape: () => shape
@@ -66747,11 +66746,11 @@ var ZodObject = class _ZodObject extends ZodType {
}
omit(mask) {
const shape = {};
util.objectKeys(this.shape).forEach((key) => {
for (const key of util.objectKeys(this.shape)) {
if (!mask[key]) {
shape[key] = this.shape[key];
}
});
}
return new _ZodObject({
...this._def,
shape: () => shape
@@ -66765,14 +66764,14 @@ var ZodObject = class _ZodObject extends ZodType {
}
partial(mask) {
const newShape = {};
util.objectKeys(this.shape).forEach((key) => {
for (const key of util.objectKeys(this.shape)) {
const fieldSchema = this.shape[key];
if (mask && !mask[key]) {
newShape[key] = fieldSchema;
} else {
newShape[key] = fieldSchema.optional();
}
});
}
return new _ZodObject({
...this._def,
shape: () => newShape
@@ -66780,7 +66779,7 @@ var ZodObject = class _ZodObject extends ZodType {
}
required(mask) {
const newShape = {};
util.objectKeys(this.shape).forEach((key) => {
for (const key of util.objectKeys(this.shape)) {
if (mask && !mask[key]) {
newShape[key] = this.shape[key];
} else {
@@ -66791,7 +66790,7 @@ var ZodObject = class _ZodObject extends ZodType {
}
newShape[key] = newField;
}
});
}
return new _ZodObject({
...this._def,
shape: () => newShape
@@ -67407,12 +67406,7 @@ var ZodFunction = class _ZodFunction extends ZodType {
return makeIssue({
data: args,
path: ctx.path,
errorMaps: [
ctx.common.contextualErrorMap,
ctx.schemaErrorMap,
getErrorMap(),
errorMap
].filter((x) => !!x),
errorMaps: [ctx.common.contextualErrorMap, ctx.schemaErrorMap, getErrorMap(), en_default].filter((x) => !!x),
issueData: {
code: ZodIssueCode.invalid_arguments,
argumentsError: error3
@@ -67423,12 +67417,7 @@ var ZodFunction = class _ZodFunction extends ZodType {
return makeIssue({
data: returns,
path: ctx.path,
errorMaps: [
ctx.common.contextualErrorMap,
ctx.schemaErrorMap,
getErrorMap(),
errorMap
].filter((x) => !!x),
errorMaps: [ctx.common.contextualErrorMap, ctx.schemaErrorMap, getErrorMap(), en_default].filter((x) => !!x),
issueData: {
code: ZodIssueCode.invalid_return_type,
returnTypeError: error3
@@ -67552,10 +67541,6 @@ function createZodEnum(values, params) {
});
}
var ZodEnum = class _ZodEnum extends ZodType {
constructor() {
super(...arguments);
_ZodEnum_cache.set(this, void 0);
}
_parse(input) {
if (typeof input.data !== "string") {
const ctx = this._getOrReturnCtx(input);
@@ -67567,10 +67552,10 @@ var ZodEnum = class _ZodEnum extends ZodType {
});
return INVALID;
}
if (!__classPrivateFieldGet(this, _ZodEnum_cache, "f")) {
__classPrivateFieldSet(this, _ZodEnum_cache, new Set(this._def.values), "f");
if (!this._cache) {
this._cache = new Set(this._def.values);
}
if (!__classPrivateFieldGet(this, _ZodEnum_cache, "f").has(input.data)) {
if (!this._cache.has(input.data)) {
const ctx = this._getOrReturnCtx(input);
const expectedValues = this._def.values;
addIssueToContext(ctx, {
@@ -67619,13 +67604,8 @@ var ZodEnum = class _ZodEnum extends ZodType {
});
}
};
_ZodEnum_cache = /* @__PURE__ */ new WeakMap();
ZodEnum.create = createZodEnum;
var ZodNativeEnum = class extends ZodType {
constructor() {
super(...arguments);
_ZodNativeEnum_cache.set(this, void 0);
}
_parse(input) {
const nativeEnumValues = util.getValidEnumValues(this._def.values);
const ctx = this._getOrReturnCtx(input);
@@ -67638,10 +67618,10 @@ var ZodNativeEnum = class extends ZodType {
});
return INVALID;
}
if (!__classPrivateFieldGet(this, _ZodNativeEnum_cache, "f")) {
__classPrivateFieldSet(this, _ZodNativeEnum_cache, new Set(util.getValidEnumValues(this._def.values)), "f");
if (!this._cache) {
this._cache = new Set(util.getValidEnumValues(this._def.values));
}
if (!__classPrivateFieldGet(this, _ZodNativeEnum_cache, "f").has(input.data)) {
if (!this._cache.has(input.data)) {
const expectedValues = util.objectValues(nativeEnumValues);
addIssueToContext(ctx, {
received: ctx.data,
@@ -67656,7 +67636,6 @@ var ZodNativeEnum = class extends ZodType {
return this._def.values;
}
};
_ZodNativeEnum_cache = /* @__PURE__ */ new WeakMap();
ZodNativeEnum.create = (values, params) => {
return new ZodNativeEnum({
values,
@@ -67797,7 +67776,7 @@ var ZodEffects = class extends ZodType {
parent: ctx
});
if (!isValid(base))
return base;
return INVALID;
const result = effect.transform(base.value, checkCtx);
if (result instanceof Promise) {
throw new Error(`Asynchronous transform encountered during synchronous parse operation. Use .parseAsync instead.`);
@@ -67806,8 +67785,11 @@ var ZodEffects = class extends ZodType {
} else {
return this._def.schema._parseAsync({ data: ctx.data, path: ctx.path, parent: ctx }).then((base) => {
if (!isValid(base))
return base;
return Promise.resolve(effect.transform(base.value, checkCtx)).then((result) => ({ status: status.value, value: result }));
return INVALID;
return Promise.resolve(effect.transform(base.value, checkCtx)).then((result) => ({
status: status.value,
value: result
}));
});
}
}
@@ -68146,7 +68128,7 @@ function untildify(pathWithTilde) {
return homeDirectory ? pathWithTilde.replace(/^~(?=$|\/|\\)/, homeDirectory) : pathWithTilde;
}
// node_modules/.pnpm/smol-toml@1.3.1/node_modules/smol-toml/dist/error.js
// node_modules/.pnpm/smol-toml@1.4.0/node_modules/smol-toml/dist/error.js
function getLineColFromPtr(string, ptr) {
let lines = string.slice(0, ptr).split(/\r\n|\n|\r/g);
return [lines.length, lines.pop().length + 1];
@@ -68186,7 +68168,7 @@ ${codeblock}`, options2);
}
};
// node_modules/.pnpm/smol-toml@1.3.1/node_modules/smol-toml/dist/util.js
// node_modules/.pnpm/smol-toml@1.4.0/node_modules/smol-toml/dist/util.js
function indexOfNewline(str, start = 0, end = str.length) {
let idx = str.indexOf("\n", start);
if (str[idx - 1] === "\r")
@@ -68226,9 +68208,7 @@ function skipUntil(str, ptr, sep, end, banNewLines = false) {
i = indexOfNewline(str, i);
} else if (c === sep) {
return i + 1;
} else if (c === end) {
return i;
} else if (banNewLines && (c === "\n" || c === "\r" && str[i + 1] === "\n")) {
} else if (c === end || banNewLines && (c === "\n" || c === "\r" && str[i + 1] === "\n")) {
return i;
}
}
@@ -68243,7 +68223,7 @@ function getStringEnd(str, seek) {
seek += target.length - 1;
do
seek = str.indexOf(target, ++seek);
while (seek > -1 && first !== "'" && str[seek - 1] === "\\" && str[seek - 2] !== "\\");
while (seek > -1 && first !== "'" && str[seek - 1] === "\\" && (str[seek - 2] !== "\\" || str[seek - 3] === "\\"));
if (seek > -1) {
seek += target.length;
if (target.length > 1) {
@@ -68256,7 +68236,7 @@ function getStringEnd(str, seek) {
return seek;
}
// node_modules/.pnpm/smol-toml@1.3.1/node_modules/smol-toml/dist/date.js
// node_modules/.pnpm/smol-toml@1.4.0/node_modules/smol-toml/dist/date.js
var DATE_TIME_RE = /^(\d{4}-\d{2}-\d{2})?[T ]?(?:(\d{2}):\d{2}:\d{2}(?:\.\d+)?)?(Z|[-+]\d{2}:\d{2})?$/i;
var _hasDate, _hasTime, _offset;
var _TomlDate = class _TomlDate extends Date {
@@ -68272,6 +68252,7 @@ var _TomlDate = class _TomlDate extends Date {
date = `0000-01-01T${date}`;
}
hasTime = !!match[2];
hasTime && date[10] === " " && (date = date.replace(" ", "T"));
if (match[2] && +match[2] > 23) {
date = "";
} else {
@@ -68352,7 +68333,7 @@ _hasTime = new WeakMap();
_offset = new WeakMap();
var TomlDate = _TomlDate;
// node_modules/.pnpm/smol-toml@1.3.1/node_modules/smol-toml/dist/primitive.js
// node_modules/.pnpm/smol-toml@1.4.0/node_modules/smol-toml/dist/primitive.js
var INT_REGEX = /^((0x[0-9a-fA-F](_?[0-9a-fA-F])*)|(([+-]|0[ob])?\d(_?\d)*))$/;
var FLOAT_REGEX = /^[+-]?\d(_?\d)*(\.\d(_?\d)*)?([eE][+-]?\d(_?\d)*)?$/;
var LEADING_ZERO = /^[+-]?0[0-9_]/;
@@ -68439,7 +68420,7 @@ function parseString(str, ptr = 0, endPtr = str.length) {
}
return parsed + str.slice(sliceStart, endPtr - 1);
}
function parseValue(value, toml, ptr) {
function parseValue(value, toml, ptr, integersAsBigInt) {
if (value === "true")
return true;
if (value === "false")
@@ -68451,31 +68432,36 @@ function parseValue(value, toml, ptr) {
if (value === "nan" || value === "+nan" || value === "-nan")
return NaN;
if (value === "-0")
return 0;
let isInt;
if ((isInt = INT_REGEX.test(value)) || FLOAT_REGEX.test(value)) {
return integersAsBigInt ? 0n : 0;
let isInt = INT_REGEX.test(value);
if (isInt || FLOAT_REGEX.test(value)) {
if (LEADING_ZERO.test(value)) {
throw new TomlError("leading zeroes are not allowed", {
toml,
ptr
});
}
let numeric = +value.replace(/_/g, "");
value = value.replace(/_/g, "");
let numeric = +value;
if (isNaN(numeric)) {
throw new TomlError("invalid number", {
toml,
ptr
});
}
if (isInt && !Number.isSafeInteger(numeric)) {
throw new TomlError("integer value cannot be represented losslessly", {
toml,
ptr
});
if (isInt) {
if ((isInt = !Number.isSafeInteger(numeric)) && !integersAsBigInt) {
throw new TomlError("integer value cannot be represented losslessly", {
toml,
ptr
});
}
if (isInt || integersAsBigInt)
numeric = BigInt(value);
}
return numeric;
}
let date = new TomlDate(value);
const date = new TomlDate(value);
if (!date.isValid()) {
throw new TomlError("invalid value", {
toml,
@@ -68485,7 +68471,7 @@ function parseValue(value, toml, ptr) {
return date;
}
// node_modules/.pnpm/smol-toml@1.3.1/node_modules/smol-toml/dist/extract.js
// node_modules/.pnpm/smol-toml@1.4.0/node_modules/smol-toml/dist/extract.js
function sliceAndTrimEndOf(str, startPtr, endPtr, allowNewLines) {
let value = str.slice(startPtr, endPtr);
let commentIdx = value.indexOf("#");
@@ -68505,7 +68491,7 @@ function sliceAndTrimEndOf(str, startPtr, endPtr, allowNewLines) {
}
return [trimmed, commentIdx];
}
function extractValue(str, ptr, end, depth) {
function extractValue(str, ptr, end, depth, integersAsBigInt) {
if (depth === 0) {
throw new TomlError("document contains excessively nested structures. aborting.", {
toml: str,
@@ -68514,9 +68500,9 @@ function extractValue(str, ptr, end, depth) {
}
let c = str[ptr];
if (c === "[" || c === "{") {
let [value, endPtr2] = c === "[" ? parseArray(str, ptr, depth) : parseInlineTable(str, ptr, depth);
let newPtr = skipUntil(str, endPtr2, ",", end);
if (end === "}") {
let [value, endPtr2] = c === "[" ? parseArray(str, ptr, depth, integersAsBigInt) : parseInlineTable(str, ptr, depth, integersAsBigInt);
let newPtr = end ? skipUntil(str, endPtr2, ",", end) : endPtr2;
if (endPtr2 - newPtr && end === "}") {
let nextNewLine = indexOfNewline(str, endPtr2, newPtr);
if (nextNewLine > -1) {
throw new TomlError("newlines are not allowed in inline tables", {
@@ -68556,12 +68542,12 @@ function extractValue(str, ptr, end, depth) {
endPtr += +(str[endPtr] === ",");
}
return [
parseValue(slice[0], str, ptr),
parseValue(slice[0], str, ptr, integersAsBigInt),
endPtr
];
}
// node_modules/.pnpm/smol-toml@1.3.1/node_modules/smol-toml/dist/struct.js
// node_modules/.pnpm/smol-toml@1.4.0/node_modules/smol-toml/dist/struct.js
var KEY_PART_RE = /^[a-zA-Z0-9-_]+[ \t]*$/;
function parseKey(str, ptr, end = "=") {
let dot = ptr - 1;
@@ -68630,28 +68616,20 @@ function parseKey(str, ptr, end = "=") {
} while (dot + 1 && dot < endPtr);
return [parsed, skipVoid(str, endPtr + 1, true, true)];
}
function parseInlineTable(str, ptr, depth) {
function parseInlineTable(str, ptr, depth, integersAsBigInt) {
let res = {};
let seen = /* @__PURE__ */ new Set();
let c;
let comma = 0;
ptr++;
while ((c = str[ptr++]) !== "}" && c) {
let err = { toml: str, ptr: ptr - 1 };
if (c === "\n") {
throw new TomlError("newlines are not allowed in inline tables", {
toml: str,
ptr: ptr - 1
});
throw new TomlError("newlines are not allowed in inline tables", err);
} else if (c === "#") {
throw new TomlError("inline tables cannot contain comments", {
toml: str,
ptr: ptr - 1
});
throw new TomlError("inline tables cannot contain comments", err);
} else if (c === ",") {
throw new TomlError("expected key-value, found comma", {
toml: str,
ptr: ptr - 1
});
throw new TomlError("expected key-value, found comma", err);
} else if (c !== " " && c !== " ") {
let k;
let t = res;
@@ -68677,7 +68655,7 @@ function parseInlineTable(str, ptr, depth) {
ptr
});
}
let [value, valueEndPtr] = extractValue(str, keyEndPtr, "}", depth - 1);
let [value, valueEndPtr] = extractValue(str, keyEndPtr, "}", depth - 1, integersAsBigInt);
seen.add(value);
t[k] = value;
ptr = valueEndPtr;
@@ -68698,7 +68676,7 @@ function parseInlineTable(str, ptr, depth) {
}
return [res, ptr];
}
function parseArray(str, ptr, depth) {
function parseArray(str, ptr, depth, integersAsBigInt) {
let res = [];
let c;
ptr++;
@@ -68711,7 +68689,7 @@ function parseArray(str, ptr, depth) {
} else if (c === "#")
ptr = skipComment(str, ptr);
else if (c !== " " && c !== " " && c !== "\n" && c !== "\r") {
let e = extractValue(str, ptr - 1, "]", depth - 1);
let e = extractValue(str, ptr - 1, "]", depth - 1, integersAsBigInt);
res.push(e[0]);
ptr = e[1];
}
@@ -68725,7 +68703,7 @@ function parseArray(str, ptr, depth) {
return [res, ptr];
}
// node_modules/.pnpm/smol-toml@1.3.1/node_modules/smol-toml/dist/parse.js
// node_modules/.pnpm/smol-toml@1.4.0/node_modules/smol-toml/dist/parse.js
function peekTable(key, table, meta, type2) {
let t = table;
let m = meta;
@@ -68785,8 +68763,7 @@ function peekTable(key, table, meta, type2) {
}
return [k, t, state3.c];
}
function parse(toml, opts) {
let maxDepth = opts?.maxDepth ?? 1e3;
function parse(toml, { maxDepth = 1e3, integersAsBigInt } = {}) {
let res = {};
let meta = {};
let tbl = res;
@@ -68835,7 +68812,7 @@ function parse(toml, opts) {
ptr
});
}
let v = extractValue(toml, k[1], void 0, maxDepth);
let v = extractValue(toml, k[1], void 0, maxDepth, integersAsBigInt);
p[1][p[0]] = v[0];
ptr = v[1];
}
@@ -68891,6 +68868,9 @@ var validateInputs = (inputs) => {
if (inputs.pixiVersion && inputs.pixiUrl) {
throw new Error("You need to specify either pixi-version or pixi-url");
}
if (inputs.pixiUrlBearerToken && !inputs.pixiUrl) {
throw new Error("You need to specify pixi-url when using pixi-url-bearer-token");
}
if (inputs.cacheKey !== void 0 && inputs.cache === false) {
throw new Error("Cannot specify cache key without caching");
}
@@ -68969,7 +68949,7 @@ var determinePixiInstallation = (pixiUrlOrVersionSet, pixiBinPath) => {
};
var inferOptions = (inputs) => {
const runInstall = inputs.runInstall ?? true;
const pixiSource = inputs.pixiVersion ? { version: inputs.pixiVersion } : inputs.pixiUrl ? { url: inputs.pixiUrl } : { version: "latest" };
const pixiSource = inputs.pixiVersion ? { version: inputs.pixiVersion } : inputs.pixiUrl ? { url: inputs.pixiUrl, bearerToken: inputs.pixiUrlBearerToken } : { version: "latest" };
const { downloadPixi: downloadPixi2, pixiBinPath } = determinePixiInstallation(
!!inputs.pixiVersion || !!inputs.pixiUrl,
inputs.pixiBinPath
@@ -69060,6 +69040,7 @@ var getOptions = () => {
"pixi-version must either be `latest` or a version string matching `vX.Y.Z`."
),
pixiUrl: parseOrUndefined("pixi-url", stringType().url()),
pixiUrlBearerToken: parseOrUndefined("pixi-url-bearer-token", stringType()),
logLevel: parseOrUndefined(
"log-level",
logLevelSchema,
@@ -69122,7 +69103,8 @@ var getCondaArch = () => {
"linux-x64": "linux-64",
"linux-arm64": "linux-aarch64",
"linux-ppc64": "linux-ppc64le",
"win32-x64": "win-64"
"win32-x64": "win-64",
"win32-arm64": "win-arm64"
};
const arch2 = archDict[`${import_os2.default.platform()}-${import_os2.default.arch()}`];
if (!arch2) {
@@ -69158,9 +69140,6 @@ var getPixiUrlFromVersion = (version2) => {
const arch2 = getArch();
const platform = getPlatform();
const pixiFile = `pixi-${arch2}-${platform}${platform === "pc-windows-msvc" ? ".exe" : ""}`;
if (arch2 === "aarch64" && platform === "pc-windows-msvc") {
throw new Error("Windows on ARM is currently not supported");
}
if (version2 === "latest") {
return `https://github.com/prefix-dev/pixi/releases/latest/download/${pixiFile}`;
}
@@ -69327,10 +69306,12 @@ var activateEnvironment = async (environment) => {
// src/main.ts
var downloadPixi = (source) => {
const url2 = "version" in source ? getPixiUrlFromVersion(source.version) : source.url;
const auth = "bearerToken" in source && source.bearerToken ? `Bearer ${source.bearerToken}` : "";
return core5.group("Downloading Pixi", () => {
core5.debug("Installing pixi");
core5.debug(`Downloading pixi from ${url2}`);
return import_promises2.default.mkdir(import_path3.default.dirname(options.pixiBinPath), { recursive: true }).then(() => (0, import_tool_cache.downloadTool)(url2, options.pixiBinPath)).then((_downloadPath) => import_promises2.default.chmod(options.pixiBinPath, 493)).then(() => {
core5.debug(`Using Bearer auth: ${auth ? "yes" : "no"}`);
return import_promises2.default.mkdir(import_path3.default.dirname(options.pixiBinPath), { recursive: true }).then(() => (0, import_tool_cache.downloadTool)(url2, options.pixiBinPath, auth)).then((_downloadPath) => import_promises2.default.chmod(options.pixiBinPath, 493)).then(() => {
core5.info(`Pixi installed to ${options.pixiBinPath}`);
});
});
Generated Vendored
+161 -168
View File
@@ -20110,6 +20110,7 @@ var require_lib2 = __commonJS({
// src/post.ts
var import_promises = __toESM(require("fs/promises"));
var import_fs2 = require("fs");
var import_path2 = __toESM(require("path"));
var import_os2 = __toESM(require("os"));
var import_process2 = require("process");
@@ -20122,10 +20123,11 @@ var import_process = require("process");
var import_fs = require("fs");
var core = __toESM(require_core());
// node_modules/.pnpm/zod@3.24.2/node_modules/zod/lib/index.mjs
// node_modules/.pnpm/zod@3.25.67/node_modules/zod/dist/esm/v3/helpers/util.js
var util;
(function(util2) {
util2.assertEqual = (val) => val;
util2.assertEqual = (_) => {
};
function assertIs(_arg) {
}
util2.assertIs = assertIs;
@@ -20169,7 +20171,7 @@ var util;
}
return void 0;
};
util2.isInteger = typeof Number.isInteger === "function" ? (val) => Number.isInteger(val) : (val) => typeof val === "number" && isFinite(val) && Math.floor(val) === val;
util2.isInteger = typeof Number.isInteger === "function" ? (val) => Number.isInteger(val) : (val) => typeof val === "number" && Number.isFinite(val) && Math.floor(val) === val;
function joinValues(array, separator = " | ") {
return array.map((val) => typeof val === "string" ? `'${val}'` : val).join(separator);
}
@@ -20221,7 +20223,7 @@ var getParsedType = (data) => {
case "string":
return ZodParsedType.string;
case "number":
return isNaN(data) ? ZodParsedType.nan : ZodParsedType.number;
return Number.isNaN(data) ? ZodParsedType.nan : ZodParsedType.number;
case "boolean":
return ZodParsedType.boolean;
case "function":
@@ -20254,6 +20256,8 @@ var getParsedType = (data) => {
return ZodParsedType.unknown;
}
};
// node_modules/.pnpm/zod@3.25.67/node_modules/zod/dist/esm/v3/ZodError.js
var ZodIssueCode = util.arrayToEnum([
"invalid_type",
"invalid_literal",
@@ -20365,6 +20369,8 @@ ZodError.create = (issues) => {
const error2 = new ZodError(issues);
return error2;
};
// node_modules/.pnpm/zod@3.25.67/node_modules/zod/dist/esm/v3/locales/en.js
var errorMap = (issue, _ctx) => {
let message;
switch (issue.code) {
@@ -20463,10 +20469,15 @@ var errorMap = (issue, _ctx) => {
}
return { message };
};
var overrideErrorMap = errorMap;
var en_default = errorMap;
// node_modules/.pnpm/zod@3.25.67/node_modules/zod/dist/esm/v3/errors.js
var overrideErrorMap = en_default;
function getErrorMap() {
return overrideErrorMap;
}
// node_modules/.pnpm/zod@3.25.67/node_modules/zod/dist/esm/v3/helpers/parseUtil.js
var makeIssue = (params) => {
const { data, path: path3, errorMaps, issueData } = params;
const fullPath = [...path3, ...issueData.path || []];
@@ -20505,7 +20516,7 @@ function addIssueToContext(ctx, issueData) {
// then schema-bound map if available
overrideMap,
// then global override map
overrideMap === errorMap ? void 0 : errorMap
overrideMap === en_default ? void 0 : en_default
// then global default map
].filter((x) => !!x)
});
@@ -20574,24 +20585,15 @@ var isAborted = (x) => x.status === "aborted";
var isDirty = (x) => x.status === "dirty";
var isValid = (x) => x.status === "valid";
var isAsync = (x) => typeof Promise !== "undefined" && x instanceof Promise;
function __classPrivateFieldGet(receiver, state, kind, f) {
if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
}
function __classPrivateFieldSet(receiver, state, value, kind, f) {
if (kind === "m") throw new TypeError("Private method is not writable");
if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter");
if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
return kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value), value;
}
// node_modules/.pnpm/zod@3.25.67/node_modules/zod/dist/esm/v3/helpers/errorUtil.js
var errorUtil;
(function(errorUtil2) {
errorUtil2.errToObj = (message) => typeof message === "string" ? { message } : message || {};
errorUtil2.toString = (message) => typeof message === "string" ? message : message === null || message === void 0 ? void 0 : message.message;
errorUtil2.toString = (message) => typeof message === "string" ? message : message?.message;
})(errorUtil || (errorUtil = {}));
var _ZodEnum_cache;
var _ZodNativeEnum_cache;
// node_modules/.pnpm/zod@3.25.67/node_modules/zod/dist/esm/v3/types.js
var ParseInputLazyPath = class {
constructor(parent, value, path3, key) {
this._cachedPath = [];
@@ -20602,7 +20604,7 @@ var ParseInputLazyPath = class {
}
get path() {
if (!this._cachedPath.length) {
if (this._key instanceof Array) {
if (Array.isArray(this._key)) {
this._cachedPath.push(...this._path, ...this._key);
} else {
this._cachedPath.push(...this._path, this._key);
@@ -20640,17 +20642,16 @@ function processCreateParams(params) {
if (errorMap2)
return { errorMap: errorMap2, description };
const customMap = (iss, ctx) => {
var _a, _b;
const { message } = params;
if (iss.code === "invalid_enum_value") {
return { message: message !== null && message !== void 0 ? message : ctx.defaultError };
return { message: message ?? ctx.defaultError };
}
if (typeof ctx.data === "undefined") {
return { message: (_a = message !== null && message !== void 0 ? message : required_error) !== null && _a !== void 0 ? _a : ctx.defaultError };
return { message: message ?? required_error ?? ctx.defaultError };
}
if (iss.code !== "invalid_type")
return { message: ctx.defaultError };
return { message: (_b = message !== null && message !== void 0 ? message : invalid_type_error) !== null && _b !== void 0 ? _b : ctx.defaultError };
return { message: message ?? invalid_type_error ?? ctx.defaultError };
};
return { errorMap: customMap, description };
}
@@ -20702,14 +20703,13 @@ var ZodType = class {
throw result.error;
}
safeParse(data, params) {
var _a;
const ctx = {
common: {
issues: [],
async: (_a = params === null || params === void 0 ? void 0 : params.async) !== null && _a !== void 0 ? _a : false,
contextualErrorMap: params === null || params === void 0 ? void 0 : params.errorMap
async: params?.async ?? false,
contextualErrorMap: params?.errorMap
},
path: (params === null || params === void 0 ? void 0 : params.path) || [],
path: params?.path || [],
schemaErrorMap: this._def.errorMap,
parent: null,
data,
@@ -20719,7 +20719,6 @@ var ZodType = class {
return handleResult(ctx, result);
}
"~validate"(data) {
var _a, _b;
const ctx = {
common: {
issues: [],
@@ -20740,7 +20739,7 @@ var ZodType = class {
issues: ctx.common.issues
};
} catch (err) {
if ((_b = (_a = err === null || err === void 0 ? void 0 : err.message) === null || _a === void 0 ? void 0 : _a.toLowerCase()) === null || _b === void 0 ? void 0 : _b.includes("encountered")) {
if (err?.message?.toLowerCase()?.includes("encountered")) {
this["~standard"].async = true;
}
ctx.common = {
@@ -20765,10 +20764,10 @@ var ZodType = class {
const ctx = {
common: {
issues: [],
contextualErrorMap: params === null || params === void 0 ? void 0 : params.errorMap,
contextualErrorMap: params?.errorMap,
async: true
},
path: (params === null || params === void 0 ? void 0 : params.path) || [],
path: params?.path || [],
schemaErrorMap: this._def.errorMap,
parent: null,
data,
@@ -20958,13 +20957,14 @@ var base64urlRegex = /^([0-9a-zA-Z-_]{4})*(([0-9a-zA-Z-_]{2}(==)?)|([0-9a-zA-Z-_
var dateRegexSource = `((\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-((0[13578]|1[02])-(0[1-9]|[12]\\d|3[01])|(0[469]|11)-(0[1-9]|[12]\\d|30)|(02)-(0[1-9]|1\\d|2[0-8])))`;
var dateRegex = new RegExp(`^${dateRegexSource}$`);
function timeRegexSource(args) {
let regex = `([01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d`;
let secondsRegexSource = `[0-5]\\d`;
if (args.precision) {
regex = `${regex}\\.\\d{${args.precision}}`;
secondsRegexSource = `${secondsRegexSource}\\.\\d{${args.precision}}`;
} else if (args.precision == null) {
regex = `${regex}(\\.\\d+)?`;
secondsRegexSource = `${secondsRegexSource}(\\.\\d+)?`;
}
return regex;
const secondsQuantifier = args.precision ? "+" : "?";
return `([01]\\d|2[0-3]):[0-5]\\d(:${secondsRegexSource})${secondsQuantifier}`;
}
function timeRegex(args) {
return new RegExp(`^${timeRegexSource(args)}$`);
@@ -20996,12 +20996,14 @@ function isValidJWT(jwt, alg) {
const decoded = JSON.parse(atob(base64));
if (typeof decoded !== "object" || decoded === null)
return false;
if (!decoded.typ || !decoded.alg)
if ("typ" in decoded && decoded?.typ !== "JWT")
return false;
if (!decoded.alg)
return false;
if (alg && decoded.alg !== alg)
return false;
return true;
} catch (_a) {
} catch {
return false;
}
}
@@ -21160,7 +21162,7 @@ var ZodString = class _ZodString extends ZodType {
} else if (check.kind === "url") {
try {
new URL(input.data);
} catch (_a) {
} catch {
ctx = this._getOrReturnCtx(input, ctx);
addIssueToContext(ctx, {
validation: "url",
@@ -21372,7 +21374,6 @@ var ZodString = class _ZodString extends ZodType {
return this._addCheck({ kind: "cidr", ...errorUtil.errToObj(options2) });
}
datetime(options2) {
var _a, _b;
if (typeof options2 === "string") {
return this._addCheck({
kind: "datetime",
@@ -21384,10 +21385,10 @@ var ZodString = class _ZodString extends ZodType {
}
return this._addCheck({
kind: "datetime",
precision: typeof (options2 === null || options2 === void 0 ? void 0 : options2.precision) === "undefined" ? null : options2 === null || options2 === void 0 ? void 0 : options2.precision,
offset: (_a = options2 === null || options2 === void 0 ? void 0 : options2.offset) !== null && _a !== void 0 ? _a : false,
local: (_b = options2 === null || options2 === void 0 ? void 0 : options2.local) !== null && _b !== void 0 ? _b : false,
...errorUtil.errToObj(options2 === null || options2 === void 0 ? void 0 : options2.message)
precision: typeof options2?.precision === "undefined" ? null : options2?.precision,
offset: options2?.offset ?? false,
local: options2?.local ?? false,
...errorUtil.errToObj(options2?.message)
});
}
date(message) {
@@ -21403,8 +21404,8 @@ var ZodString = class _ZodString extends ZodType {
}
return this._addCheck({
kind: "time",
precision: typeof (options2 === null || options2 === void 0 ? void 0 : options2.precision) === "undefined" ? null : options2 === null || options2 === void 0 ? void 0 : options2.precision,
...errorUtil.errToObj(options2 === null || options2 === void 0 ? void 0 : options2.message)
precision: typeof options2?.precision === "undefined" ? null : options2?.precision,
...errorUtil.errToObj(options2?.message)
});
}
duration(message) {
@@ -21421,8 +21422,8 @@ var ZodString = class _ZodString extends ZodType {
return this._addCheck({
kind: "includes",
value,
position: options2 === null || options2 === void 0 ? void 0 : options2.position,
...errorUtil.errToObj(options2 === null || options2 === void 0 ? void 0 : options2.message)
position: options2?.position,
...errorUtil.errToObj(options2?.message)
});
}
startsWith(value, message) {
@@ -21554,11 +21555,10 @@ var ZodString = class _ZodString extends ZodType {
}
};
ZodString.create = (params) => {
var _a;
return new ZodString({
checks: [],
typeName: ZodFirstPartyTypeKind.ZodString,
coerce: (_a = params === null || params === void 0 ? void 0 : params.coerce) !== null && _a !== void 0 ? _a : false,
coerce: params?.coerce ?? false,
...processCreateParams(params)
});
};
@@ -21566,9 +21566,9 @@ function floatSafeRemainder(val, step) {
const valDecCount = (val.toString().split(".")[1] || "").length;
const stepDecCount = (step.toString().split(".")[1] || "").length;
const decCount = valDecCount > stepDecCount ? valDecCount : stepDecCount;
const valInt = parseInt(val.toFixed(decCount).replace(".", ""));
const stepInt = parseInt(step.toFixed(decCount).replace(".", ""));
return valInt % stepInt / Math.pow(10, decCount);
const valInt = Number.parseInt(val.toFixed(decCount).replace(".", ""));
const stepInt = Number.parseInt(step.toFixed(decCount).replace(".", ""));
return valInt % stepInt / 10 ** decCount;
}
var ZodNumber = class _ZodNumber extends ZodType {
constructor() {
@@ -21778,7 +21778,8 @@ var ZodNumber = class _ZodNumber extends ZodType {
return !!this._def.checks.find((ch) => ch.kind === "int" || ch.kind === "multipleOf" && util.isInteger(ch.value));
}
get isFinite() {
let max = null, min = null;
let max = null;
let min = null;
for (const ch of this._def.checks) {
if (ch.kind === "finite" || ch.kind === "int" || ch.kind === "multipleOf") {
return true;
@@ -21797,7 +21798,7 @@ ZodNumber.create = (params) => {
return new ZodNumber({
checks: [],
typeName: ZodFirstPartyTypeKind.ZodNumber,
coerce: (params === null || params === void 0 ? void 0 : params.coerce) || false,
coerce: params?.coerce || false,
...processCreateParams(params)
});
};
@@ -21811,7 +21812,7 @@ var ZodBigInt = class _ZodBigInt extends ZodType {
if (this._def.coerce) {
try {
input.data = BigInt(input.data);
} catch (_a) {
} catch {
return this._getInvalidInput(input);
}
}
@@ -21966,11 +21967,10 @@ var ZodBigInt = class _ZodBigInt extends ZodType {
}
};
ZodBigInt.create = (params) => {
var _a;
return new ZodBigInt({
checks: [],
typeName: ZodFirstPartyTypeKind.ZodBigInt,
coerce: (_a = params === null || params === void 0 ? void 0 : params.coerce) !== null && _a !== void 0 ? _a : false,
coerce: params?.coerce ?? false,
...processCreateParams(params)
});
};
@@ -21995,7 +21995,7 @@ var ZodBoolean = class extends ZodType {
ZodBoolean.create = (params) => {
return new ZodBoolean({
typeName: ZodFirstPartyTypeKind.ZodBoolean,
coerce: (params === null || params === void 0 ? void 0 : params.coerce) || false,
coerce: params?.coerce || false,
...processCreateParams(params)
});
};
@@ -22014,7 +22014,7 @@ var ZodDate = class _ZodDate extends ZodType {
});
return INVALID;
}
if (isNaN(input.data.getTime())) {
if (Number.isNaN(input.data.getTime())) {
const ctx2 = this._getOrReturnCtx(input);
addIssueToContext(ctx2, {
code: ZodIssueCode.invalid_date
@@ -22103,7 +22103,7 @@ var ZodDate = class _ZodDate extends ZodType {
ZodDate.create = (params) => {
return new ZodDate({
checks: [],
coerce: (params === null || params === void 0 ? void 0 : params.coerce) || false,
coerce: params?.coerce || false,
typeName: ZodFirstPartyTypeKind.ZodDate,
...processCreateParams(params)
});
@@ -22378,7 +22378,8 @@ var ZodObject = class _ZodObject extends ZodType {
return this._cached;
const shape = this._def.shape();
const keys = util.objectKeys(shape);
return this._cached = { shape, keys };
this._cached = { shape, keys };
return this._cached;
}
_parse(input) {
const parsedType = this._getType(input);
@@ -22428,8 +22429,8 @@ var ZodObject = class _ZodObject extends ZodType {
});
status.dirty();
}
} else if (unknownKeys === "strip") ;
else {
} else if (unknownKeys === "strip") {
} else {
throw new Error(`Internal ZodObject error: invalid unknownKeys value.`);
}
} else {
@@ -22476,11 +22477,10 @@ var ZodObject = class _ZodObject extends ZodType {
unknownKeys: "strict",
...message !== void 0 ? {
errorMap: (issue, ctx) => {
var _a, _b, _c, _d;
const defaultError = (_c = (_b = (_a = this._def).errorMap) === null || _b === void 0 ? void 0 : _b.call(_a, issue, ctx).message) !== null && _c !== void 0 ? _c : ctx.defaultError;
const defaultError = this._def.errorMap?.(issue, ctx).message ?? ctx.defaultError;
if (issue.code === "unrecognized_keys")
return {
message: (_d = errorUtil.errToObj(message).message) !== null && _d !== void 0 ? _d : defaultError
message: errorUtil.errToObj(message).message ?? defaultError
};
return {
message: defaultError
@@ -22611,11 +22611,11 @@ var ZodObject = class _ZodObject extends ZodType {
}
pick(mask) {
const shape = {};
util.objectKeys(mask).forEach((key) => {
for (const key of util.objectKeys(mask)) {
if (mask[key] && this.shape[key]) {
shape[key] = this.shape[key];
}
});
}
return new _ZodObject({
...this._def,
shape: () => shape
@@ -22623,11 +22623,11 @@ var ZodObject = class _ZodObject extends ZodType {
}
omit(mask) {
const shape = {};
util.objectKeys(this.shape).forEach((key) => {
for (const key of util.objectKeys(this.shape)) {
if (!mask[key]) {
shape[key] = this.shape[key];
}
});
}
return new _ZodObject({
...this._def,
shape: () => shape
@@ -22641,14 +22641,14 @@ var ZodObject = class _ZodObject extends ZodType {
}
partial(mask) {
const newShape = {};
util.objectKeys(this.shape).forEach((key) => {
for (const key of util.objectKeys(this.shape)) {
const fieldSchema = this.shape[key];
if (mask && !mask[key]) {
newShape[key] = fieldSchema;
} else {
newShape[key] = fieldSchema.optional();
}
});
}
return new _ZodObject({
...this._def,
shape: () => newShape
@@ -22656,7 +22656,7 @@ var ZodObject = class _ZodObject extends ZodType {
}
required(mask) {
const newShape = {};
util.objectKeys(this.shape).forEach((key) => {
for (const key of util.objectKeys(this.shape)) {
if (mask && !mask[key]) {
newShape[key] = this.shape[key];
} else {
@@ -22667,7 +22667,7 @@ var ZodObject = class _ZodObject extends ZodType {
}
newShape[key] = newField;
}
});
}
return new _ZodObject({
...this._def,
shape: () => newShape
@@ -23283,12 +23283,7 @@ var ZodFunction = class _ZodFunction extends ZodType {
return makeIssue({
data: args,
path: ctx.path,
errorMaps: [
ctx.common.contextualErrorMap,
ctx.schemaErrorMap,
getErrorMap(),
errorMap
].filter((x) => !!x),
errorMaps: [ctx.common.contextualErrorMap, ctx.schemaErrorMap, getErrorMap(), en_default].filter((x) => !!x),
issueData: {
code: ZodIssueCode.invalid_arguments,
argumentsError: error2
@@ -23299,12 +23294,7 @@ var ZodFunction = class _ZodFunction extends ZodType {
return makeIssue({
data: returns,
path: ctx.path,
errorMaps: [
ctx.common.contextualErrorMap,
ctx.schemaErrorMap,
getErrorMap(),
errorMap
].filter((x) => !!x),
errorMaps: [ctx.common.contextualErrorMap, ctx.schemaErrorMap, getErrorMap(), en_default].filter((x) => !!x),
issueData: {
code: ZodIssueCode.invalid_return_type,
returnTypeError: error2
@@ -23428,10 +23418,6 @@ function createZodEnum(values, params) {
});
}
var ZodEnum = class _ZodEnum extends ZodType {
constructor() {
super(...arguments);
_ZodEnum_cache.set(this, void 0);
}
_parse(input) {
if (typeof input.data !== "string") {
const ctx = this._getOrReturnCtx(input);
@@ -23443,10 +23429,10 @@ var ZodEnum = class _ZodEnum extends ZodType {
});
return INVALID;
}
if (!__classPrivateFieldGet(this, _ZodEnum_cache, "f")) {
__classPrivateFieldSet(this, _ZodEnum_cache, new Set(this._def.values), "f");
if (!this._cache) {
this._cache = new Set(this._def.values);
}
if (!__classPrivateFieldGet(this, _ZodEnum_cache, "f").has(input.data)) {
if (!this._cache.has(input.data)) {
const ctx = this._getOrReturnCtx(input);
const expectedValues = this._def.values;
addIssueToContext(ctx, {
@@ -23495,13 +23481,8 @@ var ZodEnum = class _ZodEnum extends ZodType {
});
}
};
_ZodEnum_cache = /* @__PURE__ */ new WeakMap();
ZodEnum.create = createZodEnum;
var ZodNativeEnum = class extends ZodType {
constructor() {
super(...arguments);
_ZodNativeEnum_cache.set(this, void 0);
}
_parse(input) {
const nativeEnumValues = util.getValidEnumValues(this._def.values);
const ctx = this._getOrReturnCtx(input);
@@ -23514,10 +23495,10 @@ var ZodNativeEnum = class extends ZodType {
});
return INVALID;
}
if (!__classPrivateFieldGet(this, _ZodNativeEnum_cache, "f")) {
__classPrivateFieldSet(this, _ZodNativeEnum_cache, new Set(util.getValidEnumValues(this._def.values)), "f");
if (!this._cache) {
this._cache = new Set(util.getValidEnumValues(this._def.values));
}
if (!__classPrivateFieldGet(this, _ZodNativeEnum_cache, "f").has(input.data)) {
if (!this._cache.has(input.data)) {
const expectedValues = util.objectValues(nativeEnumValues);
addIssueToContext(ctx, {
received: ctx.data,
@@ -23532,7 +23513,6 @@ var ZodNativeEnum = class extends ZodType {
return this._def.values;
}
};
_ZodNativeEnum_cache = /* @__PURE__ */ new WeakMap();
ZodNativeEnum.create = (values, params) => {
return new ZodNativeEnum({
values,
@@ -23673,7 +23653,7 @@ var ZodEffects = class extends ZodType {
parent: ctx
});
if (!isValid(base))
return base;
return INVALID;
const result = effect.transform(base.value, checkCtx);
if (result instanceof Promise) {
throw new Error(`Asynchronous transform encountered during synchronous parse operation. Use .parseAsync instead.`);
@@ -23682,8 +23662,11 @@ var ZodEffects = class extends ZodType {
} else {
return this._def.schema._parseAsync({ data: ctx.data, path: ctx.path, parent: ctx }).then((base) => {
if (!isValid(base))
return base;
return Promise.resolve(effect.transform(base.value, checkCtx)).then((result) => ({ status: status.value, value: result }));
return INVALID;
return Promise.resolve(effect.transform(base.value, checkCtx)).then((result) => ({
status: status.value,
value: result
}));
});
}
}
@@ -24022,7 +24005,7 @@ function untildify(pathWithTilde) {
return homeDirectory ? pathWithTilde.replace(/^~(?=$|\/|\\)/, homeDirectory) : pathWithTilde;
}
// node_modules/.pnpm/smol-toml@1.3.1/node_modules/smol-toml/dist/error.js
// node_modules/.pnpm/smol-toml@1.4.0/node_modules/smol-toml/dist/error.js
function getLineColFromPtr(string, ptr) {
let lines = string.slice(0, ptr).split(/\r\n|\n|\r/g);
return [lines.length, lines.pop().length + 1];
@@ -24062,7 +24045,7 @@ ${codeblock}`, options2);
}
};
// node_modules/.pnpm/smol-toml@1.3.1/node_modules/smol-toml/dist/util.js
// node_modules/.pnpm/smol-toml@1.4.0/node_modules/smol-toml/dist/util.js
function indexOfNewline(str, start = 0, end = str.length) {
let idx = str.indexOf("\n", start);
if (str[idx - 1] === "\r")
@@ -24102,9 +24085,7 @@ function skipUntil(str, ptr, sep, end, banNewLines = false) {
i = indexOfNewline(str, i);
} else if (c === sep) {
return i + 1;
} else if (c === end) {
return i;
} else if (banNewLines && (c === "\n" || c === "\r" && str[i + 1] === "\n")) {
} else if (c === end || banNewLines && (c === "\n" || c === "\r" && str[i + 1] === "\n")) {
return i;
}
}
@@ -24119,7 +24100,7 @@ function getStringEnd(str, seek) {
seek += target.length - 1;
do
seek = str.indexOf(target, ++seek);
while (seek > -1 && first !== "'" && str[seek - 1] === "\\" && str[seek - 2] !== "\\");
while (seek > -1 && first !== "'" && str[seek - 1] === "\\" && (str[seek - 2] !== "\\" || str[seek - 3] === "\\"));
if (seek > -1) {
seek += target.length;
if (target.length > 1) {
@@ -24132,7 +24113,7 @@ function getStringEnd(str, seek) {
return seek;
}
// node_modules/.pnpm/smol-toml@1.3.1/node_modules/smol-toml/dist/date.js
// node_modules/.pnpm/smol-toml@1.4.0/node_modules/smol-toml/dist/date.js
var DATE_TIME_RE = /^(\d{4}-\d{2}-\d{2})?[T ]?(?:(\d{2}):\d{2}:\d{2}(?:\.\d+)?)?(Z|[-+]\d{2}:\d{2})?$/i;
var _hasDate, _hasTime, _offset;
var _TomlDate = class _TomlDate extends Date {
@@ -24148,6 +24129,7 @@ var _TomlDate = class _TomlDate extends Date {
date = `0000-01-01T${date}`;
}
hasTime = !!match[2];
hasTime && date[10] === " " && (date = date.replace(" ", "T"));
if (match[2] && +match[2] > 23) {
date = "";
} else {
@@ -24228,7 +24210,7 @@ _hasTime = new WeakMap();
_offset = new WeakMap();
var TomlDate = _TomlDate;
// node_modules/.pnpm/smol-toml@1.3.1/node_modules/smol-toml/dist/primitive.js
// node_modules/.pnpm/smol-toml@1.4.0/node_modules/smol-toml/dist/primitive.js
var INT_REGEX = /^((0x[0-9a-fA-F](_?[0-9a-fA-F])*)|(([+-]|0[ob])?\d(_?\d)*))$/;
var FLOAT_REGEX = /^[+-]?\d(_?\d)*(\.\d(_?\d)*)?([eE][+-]?\d(_?\d)*)?$/;
var LEADING_ZERO = /^[+-]?0[0-9_]/;
@@ -24315,7 +24297,7 @@ function parseString(str, ptr = 0, endPtr = str.length) {
}
return parsed + str.slice(sliceStart, endPtr - 1);
}
function parseValue(value, toml, ptr) {
function parseValue(value, toml, ptr, integersAsBigInt) {
if (value === "true")
return true;
if (value === "false")
@@ -24327,31 +24309,36 @@ function parseValue(value, toml, ptr) {
if (value === "nan" || value === "+nan" || value === "-nan")
return NaN;
if (value === "-0")
return 0;
let isInt;
if ((isInt = INT_REGEX.test(value)) || FLOAT_REGEX.test(value)) {
return integersAsBigInt ? 0n : 0;
let isInt = INT_REGEX.test(value);
if (isInt || FLOAT_REGEX.test(value)) {
if (LEADING_ZERO.test(value)) {
throw new TomlError("leading zeroes are not allowed", {
toml,
ptr
});
}
let numeric = +value.replace(/_/g, "");
value = value.replace(/_/g, "");
let numeric = +value;
if (isNaN(numeric)) {
throw new TomlError("invalid number", {
toml,
ptr
});
}
if (isInt && !Number.isSafeInteger(numeric)) {
throw new TomlError("integer value cannot be represented losslessly", {
toml,
ptr
});
if (isInt) {
if ((isInt = !Number.isSafeInteger(numeric)) && !integersAsBigInt) {
throw new TomlError("integer value cannot be represented losslessly", {
toml,
ptr
});
}
if (isInt || integersAsBigInt)
numeric = BigInt(value);
}
return numeric;
}
let date = new TomlDate(value);
const date = new TomlDate(value);
if (!date.isValid()) {
throw new TomlError("invalid value", {
toml,
@@ -24361,7 +24348,7 @@ function parseValue(value, toml, ptr) {
return date;
}
// node_modules/.pnpm/smol-toml@1.3.1/node_modules/smol-toml/dist/extract.js
// node_modules/.pnpm/smol-toml@1.4.0/node_modules/smol-toml/dist/extract.js
function sliceAndTrimEndOf(str, startPtr, endPtr, allowNewLines) {
let value = str.slice(startPtr, endPtr);
let commentIdx = value.indexOf("#");
@@ -24381,7 +24368,7 @@ function sliceAndTrimEndOf(str, startPtr, endPtr, allowNewLines) {
}
return [trimmed, commentIdx];
}
function extractValue(str, ptr, end, depth) {
function extractValue(str, ptr, end, depth, integersAsBigInt) {
if (depth === 0) {
throw new TomlError("document contains excessively nested structures. aborting.", {
toml: str,
@@ -24390,9 +24377,9 @@ function extractValue(str, ptr, end, depth) {
}
let c = str[ptr];
if (c === "[" || c === "{") {
let [value, endPtr2] = c === "[" ? parseArray(str, ptr, depth) : parseInlineTable(str, ptr, depth);
let newPtr = skipUntil(str, endPtr2, ",", end);
if (end === "}") {
let [value, endPtr2] = c === "[" ? parseArray(str, ptr, depth, integersAsBigInt) : parseInlineTable(str, ptr, depth, integersAsBigInt);
let newPtr = end ? skipUntil(str, endPtr2, ",", end) : endPtr2;
if (endPtr2 - newPtr && end === "}") {
let nextNewLine = indexOfNewline(str, endPtr2, newPtr);
if (nextNewLine > -1) {
throw new TomlError("newlines are not allowed in inline tables", {
@@ -24432,12 +24419,12 @@ function extractValue(str, ptr, end, depth) {
endPtr += +(str[endPtr] === ",");
}
return [
parseValue(slice[0], str, ptr),
parseValue(slice[0], str, ptr, integersAsBigInt),
endPtr
];
}
// node_modules/.pnpm/smol-toml@1.3.1/node_modules/smol-toml/dist/struct.js
// node_modules/.pnpm/smol-toml@1.4.0/node_modules/smol-toml/dist/struct.js
var KEY_PART_RE = /^[a-zA-Z0-9-_]+[ \t]*$/;
function parseKey(str, ptr, end = "=") {
let dot = ptr - 1;
@@ -24506,28 +24493,20 @@ function parseKey(str, ptr, end = "=") {
} while (dot + 1 && dot < endPtr);
return [parsed, skipVoid(str, endPtr + 1, true, true)];
}
function parseInlineTable(str, ptr, depth) {
function parseInlineTable(str, ptr, depth, integersAsBigInt) {
let res = {};
let seen = /* @__PURE__ */ new Set();
let c;
let comma = 0;
ptr++;
while ((c = str[ptr++]) !== "}" && c) {
let err = { toml: str, ptr: ptr - 1 };
if (c === "\n") {
throw new TomlError("newlines are not allowed in inline tables", {
toml: str,
ptr: ptr - 1
});
throw new TomlError("newlines are not allowed in inline tables", err);
} else if (c === "#") {
throw new TomlError("inline tables cannot contain comments", {
toml: str,
ptr: ptr - 1
});
throw new TomlError("inline tables cannot contain comments", err);
} else if (c === ",") {
throw new TomlError("expected key-value, found comma", {
toml: str,
ptr: ptr - 1
});
throw new TomlError("expected key-value, found comma", err);
} else if (c !== " " && c !== " ") {
let k;
let t = res;
@@ -24553,7 +24532,7 @@ function parseInlineTable(str, ptr, depth) {
ptr
});
}
let [value, valueEndPtr] = extractValue(str, keyEndPtr, "}", depth - 1);
let [value, valueEndPtr] = extractValue(str, keyEndPtr, "}", depth - 1, integersAsBigInt);
seen.add(value);
t[k] = value;
ptr = valueEndPtr;
@@ -24574,7 +24553,7 @@ function parseInlineTable(str, ptr, depth) {
}
return [res, ptr];
}
function parseArray(str, ptr, depth) {
function parseArray(str, ptr, depth, integersAsBigInt) {
let res = [];
let c;
ptr++;
@@ -24587,7 +24566,7 @@ function parseArray(str, ptr, depth) {
} else if (c === "#")
ptr = skipComment(str, ptr);
else if (c !== " " && c !== " " && c !== "\n" && c !== "\r") {
let e = extractValue(str, ptr - 1, "]", depth - 1);
let e = extractValue(str, ptr - 1, "]", depth - 1, integersAsBigInt);
res.push(e[0]);
ptr = e[1];
}
@@ -24601,7 +24580,7 @@ function parseArray(str, ptr, depth) {
return [res, ptr];
}
// node_modules/.pnpm/smol-toml@1.3.1/node_modules/smol-toml/dist/parse.js
// node_modules/.pnpm/smol-toml@1.4.0/node_modules/smol-toml/dist/parse.js
function peekTable(key, table, meta, type) {
let t = table;
let m = meta;
@@ -24661,8 +24640,7 @@ function peekTable(key, table, meta, type) {
}
return [k, t, state.c];
}
function parse(toml, opts) {
let maxDepth = opts?.maxDepth ?? 1e3;
function parse(toml, { maxDepth = 1e3, integersAsBigInt } = {}) {
let res = {};
let meta = {};
let tbl = res;
@@ -24711,7 +24689,7 @@ function parse(toml, opts) {
ptr
});
}
let v = extractValue(toml, k[1], void 0, maxDepth);
let v = extractValue(toml, k[1], void 0, maxDepth, integersAsBigInt);
p[1][p[0]] = v[0];
ptr = v[1];
}
@@ -24767,6 +24745,9 @@ var validateInputs = (inputs) => {
if (inputs.pixiVersion && inputs.pixiUrl) {
throw new Error("You need to specify either pixi-version or pixi-url");
}
if (inputs.pixiUrlBearerToken && !inputs.pixiUrl) {
throw new Error("You need to specify pixi-url when using pixi-url-bearer-token");
}
if (inputs.cacheKey !== void 0 && inputs.cache === false) {
throw new Error("Cannot specify cache key without caching");
}
@@ -24845,7 +24826,7 @@ var determinePixiInstallation = (pixiUrlOrVersionSet, pixiBinPath) => {
};
var inferOptions = (inputs) => {
const runInstall = inputs.runInstall ?? true;
const pixiSource = inputs.pixiVersion ? { version: inputs.pixiVersion } : inputs.pixiUrl ? { url: inputs.pixiUrl } : { version: "latest" };
const pixiSource = inputs.pixiVersion ? { version: inputs.pixiVersion } : inputs.pixiUrl ? { url: inputs.pixiUrl, bearerToken: inputs.pixiUrlBearerToken } : { version: "latest" };
const { downloadPixi, pixiBinPath } = determinePixiInstallation(
!!inputs.pixiVersion || !!inputs.pixiUrl,
inputs.pixiBinPath
@@ -24936,6 +24917,7 @@ var getOptions = () => {
"pixi-version must either be `latest` or a version string matching `vX.Y.Z`."
),
pixiUrl: parseOrUndefined("pixi-url", stringType().url()),
pixiUrlBearerToken: parseOrUndefined("pixi-url-bearer-token", stringType()),
logLevel: parseOrUndefined(
"log-level",
logLevelSchema,
@@ -24988,24 +24970,30 @@ var options = _options;
// src/post.ts
var removeEmptyParentDirs = (dirPath) => {
return import_promises.default.readdir(dirPath).then((files) => {
if (files.length === 0) {
core2.debug(`Removing empty directory ${dirPath}.`);
return import_promises.default.rm(dirPath, { recursive: true }).then(() => {
const parentDir = import_path2.default.dirname(dirPath);
if (parentDir !== dirPath) {
return removeEmptyParentDirs(parentDir);
}
});
}
return Promise.resolve();
});
if ((0, import_fs2.existsSync)(dirPath)) {
return import_promises.default.readdir(dirPath).then((files) => {
if (files.length === 0) {
core2.debug(`Removing empty directory ${dirPath}.`);
return import_promises.default.rm(dirPath, { recursive: true, force: true }).then(() => {
const parentDir = import_path2.default.dirname(dirPath);
if (parentDir !== dirPath) {
return removeEmptyParentDirs(parentDir);
}
});
}
});
}
return Promise.resolve();
};
var cleanupPixiBin = () => {
const pixiBinPath = options.pixiBinPath;
const pixiBinDir = import_path2.default.dirname(pixiBinPath);
core2.debug(`Cleaning up pixi binary ${pixiBinPath}.`);
return import_promises.default.rm(pixiBinPath).then(() => removeEmptyParentDirs(pixiBinDir));
if ((0, import_fs2.existsSync)(pixiBinPath)) {
return import_promises.default.rm(pixiBinPath).then(() => removeEmptyParentDirs(pixiBinDir));
} else {
return removeEmptyParentDirs(pixiBinDir);
}
};
var cleanupEnv = () => {
if (!options.runInstall) {
@@ -25014,7 +25002,12 @@ var cleanupEnv = () => {
}
const envDir = import_path2.default.join(import_path2.default.dirname(options.manifestPath), ".pixi");
core2.debug(`Cleaning up .pixi directory ${envDir}.`);
return import_promises.default.rm(envDir, { recursive: true });
return import_promises.default.rm(envDir, {
recursive: true,
// Ignore exceptions if environment does not exist anymore,
// to avoid errors if setup-pixi is used multiple times within the same workflow.
force: true
});
};
var determineCacheDir = () => {
if (import_os2.default.platform() === "win32") {
+8 -8
View File
@@ -1,6 +1,6 @@
{
"name": "setup-pixi",
"version": "0.8.7",
"version": "0.8.12",
"private": true,
"description": "Action to set up the pixi package manager.",
"scripts": {
@@ -27,20 +27,20 @@
"@actions/exec": "^1.1.1",
"@actions/io": "^1.1.3",
"@actions/tool-cache": "^2.0.2",
"smol-toml": "^1.3.1",
"smol-toml": "^1.4.0",
"untildify": "^5.0.0",
"which": "^5.0.0",
"zod": "^3.24.2"
"zod": "^3.25.67"
},
"devDependencies": {
"@eslint/js": "^9.23.0",
"@eslint/js": "^9.30.0",
"@types/eslint__js": "^9.14.0",
"@types/node": "^22.13.14",
"@types/node": "^24.0.8",
"@types/which": "^3.0.4",
"eslint": "^9.23.0",
"prettier": "^3.5.3",
"eslint": "^9.30.0",
"prettier": "^3.6.2",
"tsup": "^8.4.0",
"typescript": "^5.8.2",
"typescript-eslint": "^8.29.0"
"typescript-eslint": "^8.35.1"
}
}
+295 -190
View File
@@ -24,8 +24,8 @@ importers:
specifier: ^2.0.2
version: 2.0.2
smol-toml:
specifier: ^1.3.1
version: 1.3.1
specifier: ^1.4.0
version: 1.4.0
untildify:
specifier: ^5.0.0
version: 5.0.0
@@ -33,36 +33,36 @@ importers:
specifier: ^5.0.0
version: 5.0.0
zod:
specifier: ^3.24.2
version: 3.24.2
specifier: ^3.25.67
version: 3.25.67
devDependencies:
'@eslint/js':
specifier: ^9.23.0
version: 9.23.0
specifier: ^9.30.0
version: 9.30.0
'@types/eslint__js':
specifier: ^9.14.0
version: 9.14.0
'@types/node':
specifier: ^22.13.14
version: 22.13.14
specifier: ^24.0.8
version: 24.0.8
'@types/which':
specifier: ^3.0.4
version: 3.0.4
eslint:
specifier: ^9.23.0
version: 9.23.0
specifier: ^9.30.0
version: 9.30.0
prettier:
specifier: ^3.5.3
version: 3.5.3
specifier: ^3.6.2
version: 3.6.2
tsup:
specifier: ^8.4.0
version: 8.4.0(typescript@5.8.2)
version: 8.5.0(typescript@5.8.3)
typescript:
specifier: ^5.8.2
version: 5.8.2
version: 5.8.3
typescript-eslint:
specifier: ^8.29.0
version: 8.29.0(eslint@9.23.0)(typescript@5.8.2)
specifier: ^8.35.1
version: 8.35.1(eslint@9.30.0)(typescript@5.8.3)
packages:
@@ -292,8 +292,8 @@ packages:
cpu: [x64]
os: [win32]
'@eslint-community/eslint-utils@4.5.1':
resolution: {integrity: sha512-soEIOALTfTK6EjmKMMoLugwaP0rzkad90iIWd1hMO9ARkSAyjfMfkRRhLvD5qH7vvM0Cg72pieUfR6yh6XxC4w==}
'@eslint-community/eslint-utils@4.7.0':
resolution: {integrity: sha512-dyybb3AcajC7uha6CvhdVRJqaKyn7w2YKqKyAN37NKYgZT36w+iRb0Dymmc5qEJ549c/S31cMMSFd75bteCpCw==}
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
peerDependencies:
eslint: ^6.0.0 || ^7.0.0 || >=8.0.0
@@ -302,32 +302,36 @@ packages:
resolution: {integrity: sha512-CCZCDJuduB9OUkFkY2IgppNZMi2lBQgD2qzwXkEia16cge2pijY/aXi96CJMquDMn3nJdlPV1A5KrJEXwfLNzQ==}
engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0}
'@eslint/config-array@0.19.2':
resolution: {integrity: sha512-GNKqxfHG2ySmJOBSHg7LxeUx4xpuCoFjacmlCoYWEbaPXLwvfIjixRI12xCQZeULksQb23uiA8F40w5TojpV7w==}
'@eslint/config-array@0.21.0':
resolution: {integrity: sha512-ENIdc4iLu0d93HeYirvKmrzshzofPw6VkZRKQGe9Nv46ZnWUzcF1xV01dcvEg/1wXUR61OmmlSfyeyO7EvjLxQ==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
'@eslint/config-helpers@0.2.0':
resolution: {integrity: sha512-yJLLmLexii32mGrhW29qvU3QBVTu0GUmEf/J4XsBtVhp4JkIUFN/BjWqTF63yRvGApIDpZm5fa97LtYtINmfeQ==}
'@eslint/config-helpers@0.3.0':
resolution: {integrity: sha512-ViuymvFmcJi04qdZeDc2whTHryouGcDlaxPqarTD0ZE10ISpxGUVZGZDx4w01upyIynL3iu6IXH2bS1NhclQMw==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
'@eslint/core@0.12.0':
resolution: {integrity: sha512-cmrR6pytBuSMTaBweKoGMwu3EiHiEC+DoyupPmlZ0HxBJBtIxwe+j/E4XPIKNx+Q74c8lXKPwYawBf5glsTkHg==}
'@eslint/core@0.14.0':
resolution: {integrity: sha512-qIbV0/JZr7iSDjqAc60IqbLdsj9GDt16xQtWD+B78d/HAlvysGdZZ6rpJHGAc2T0FQx1X6thsSPdnoiGKdNtdg==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
'@eslint/core@0.15.1':
resolution: {integrity: sha512-bkOp+iumZCCbt1K1CmWf0R9pM5yKpDv+ZXtvSyQpudrI9kuFLp+bM2WOPXImuD/ceQuaa8f5pj93Y7zyECIGNA==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
'@eslint/eslintrc@3.3.1':
resolution: {integrity: sha512-gtF186CXhIl1p4pJNGZw8Yc6RlshoePRvE0X91oPGb3vZ8pM3qOS9W9NGPat9LziaBV7XrJWGylNQXkGcnM3IQ==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
'@eslint/js@9.23.0':
resolution: {integrity: sha512-35MJ8vCPU0ZMxo7zfev2pypqTwWTofFZO6m4KAtdoFhRpLJUpHTZZ+KB3C7Hb1d7bULYwO4lJXGCi5Se+8OMbw==}
'@eslint/js@9.30.0':
resolution: {integrity: sha512-Wzw3wQwPvc9sHM+NjakWTcPx11mbZyiYHuwWa/QfZ7cIRX7WK54PSk7bdyXDaoaopUcMatv1zaQvOAAO8hCdww==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
'@eslint/object-schema@2.1.6':
resolution: {integrity: sha512-RBMg5FRL0I0gs51M/guSAj5/e14VQ4tpZnQNWwuDT66P14I43ItmPfIZRhO9fUVIPOAQXU47atlywZ/czoqFPA==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
'@eslint/plugin-kit@0.2.7':
resolution: {integrity: sha512-JubJ5B2pJ4k4yGxaNLdbjrnk9d/iDz6/q8wOilpIowd6PJPgaxCuHBnBszq7Ce2TyMrywm5r4PnKm6V3iiZF+g==}
'@eslint/plugin-kit@0.3.3':
resolution: {integrity: sha512-1+WqvgNMhmlAambTvT3KPtCl/Ibr68VldY2XY40SL1CE0ZXiakFR/cbTspaF5HsnpDMvcYYoJHfl4980NBjGag==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
'@fastify/busboy@2.1.1':
@@ -350,8 +354,8 @@ packages:
resolution: {integrity: sha512-JBxkERygn7Bv/GbN5Rv8Ul6LVknS+5Bp6RgDC/O8gEBU/yeH5Ui5C/OlWrTb6qct7LjjfT6Re2NxB0ln0yYybA==}
engines: {node: '>=18.18'}
'@humanwhocodes/retry@0.4.2':
resolution: {integrity: sha512-xeO57FpIu4p1Ri3Jq/EXq4ClRm86dVF2z/+kvFnyqVYRavTZmaFaUBbWCOuuTh0o/g7DSsk6kc2vrS4Vl5oPOQ==}
'@humanwhocodes/retry@0.4.3':
resolution: {integrity: sha512-bV0Tgo9K4hfPCek+aMAn81RppFKv2ySDQeMoSZuvTASywNTnVJCArCZE2FWqpvIatKu7VMRLWlR1EazvVhDyhQ==}
engines: {node: '>=18.18'}
'@isaacs/cliui@8.0.2':
@@ -511,63 +515,75 @@ packages:
'@types/estree@1.0.6':
resolution: {integrity: sha512-AYnb1nQyY49te+VRAVgmzfcgjYS91mY5P0TKUDCLEM+gNnA+3T6rWITXRLYCpahpqSQbN5cE+gHpnPyXjHWxcw==}
'@types/estree@1.0.7':
resolution: {integrity: sha512-w28IoSUCJpidD/TGviZwwMJckNESJZXFu7NBZ5YJ4mEUnNraUn9Pm8HSZm/jDF1pDWYKspWE7oVphigUPRakIQ==}
'@types/estree@1.0.8':
resolution: {integrity: sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w==}
'@types/json-schema@7.0.15':
resolution: {integrity: sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==}
'@types/node@22.13.14':
resolution: {integrity: sha512-Zs/Ollc1SJ8nKUAgc7ivOEdIBM8JAKgrqqUYi2J997JuKO7/tpQC+WCetQ1sypiKCQWHdvdg9wBNpUPEWZae7w==}
'@types/node@24.0.8':
resolution: {integrity: sha512-WytNrFSgWO/esSH9NbpWUfTMGQwCGIKfCmNlmFDNiI5gGhgMmEA+V1AEvKLeBNvvtBnailJtkrEa2OIISwrVAA==}
'@types/which@3.0.4':
resolution: {integrity: sha512-liyfuo/106JdlgSchJzXEQCVArk0CvevqPote8F8HgWgJ3dRCcTHgJIsLDuee0kxk/mhbInzIZk3QWSZJ8R+2w==}
'@typescript-eslint/eslint-plugin@8.29.0':
resolution: {integrity: sha512-PAIpk/U7NIS6H7TEtN45SPGLQaHNgB7wSjsQV/8+KYokAb2T/gloOA/Bee2yd4/yKVhPKe5LlaUGhAZk5zmSaQ==}
'@typescript-eslint/eslint-plugin@8.35.1':
resolution: {integrity: sha512-9XNTlo7P7RJxbVeICaIIIEipqxLKguyh+3UbXuT2XQuFp6d8VOeDEGuz5IiX0dgZo8CiI6aOFLg4e8cF71SFVg==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
peerDependencies:
'@typescript-eslint/parser': ^8.0.0 || ^8.0.0-alpha.0
'@typescript-eslint/parser': ^8.35.1
eslint: ^8.57.0 || ^9.0.0
typescript: '>=4.8.4 <5.9.0'
'@typescript-eslint/parser@8.29.0':
resolution: {integrity: sha512-8C0+jlNJOwQso2GapCVWWfW/rzaq7Lbme+vGUFKE31djwNncIpgXD7Cd4weEsDdkoZDjH0lwwr3QDQFuyrMg9g==}
'@typescript-eslint/parser@8.35.1':
resolution: {integrity: sha512-3MyiDfrfLeK06bi/g9DqJxP5pV74LNv4rFTyvGDmT3x2p1yp1lOd+qYZfiRPIOf/oON+WRZR5wxxuF85qOar+w==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
peerDependencies:
eslint: ^8.57.0 || ^9.0.0
typescript: '>=4.8.4 <5.9.0'
'@typescript-eslint/scope-manager@8.29.0':
resolution: {integrity: sha512-aO1PVsq7Gm+tcghabUpzEnVSFMCU4/nYIgC2GOatJcllvWfnhrgW0ZEbnTxm36QsikmCN1K/6ZgM7fok2I7xNw==}
'@typescript-eslint/project-service@8.35.1':
resolution: {integrity: sha512-VYxn/5LOpVxADAuP3NrnxxHYfzVtQzLKeldIhDhzC8UHaiQvYlXvKuVho1qLduFbJjjy5U5bkGwa3rUGUb1Q6Q==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
peerDependencies:
typescript: '>=4.8.4 <5.9.0'
'@typescript-eslint/scope-manager@8.35.1':
resolution: {integrity: sha512-s/Bpd4i7ht2934nG+UoSPlYXd08KYz3bmjLEb7Ye1UVob0d1ENiT3lY8bsCmik4RqfSbPw9xJJHbugpPpP5JUg==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
'@typescript-eslint/type-utils@8.29.0':
resolution: {integrity: sha512-ahaWQ42JAOx+NKEf5++WC/ua17q5l+j1GFrbbpVKzFL/tKVc0aYY8rVSYUpUvt2hUP1YBr7mwXzx+E/DfUWI9Q==}
'@typescript-eslint/tsconfig-utils@8.35.1':
resolution: {integrity: sha512-K5/U9VmT9dTHoNowWZpz+/TObS3xqC5h0xAIjXPw+MNcKV9qg6eSatEnmeAwkjHijhACH0/N7bkhKvbt1+DXWQ==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
peerDependencies:
typescript: '>=4.8.4 <5.9.0'
'@typescript-eslint/type-utils@8.35.1':
resolution: {integrity: sha512-HOrUBlfVRz5W2LIKpXzZoy6VTZzMu2n8q9C2V/cFngIC5U1nStJgv0tMV4sZPzdf4wQm9/ToWUFPMN9Vq9VJQQ==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
peerDependencies:
eslint: ^8.57.0 || ^9.0.0
typescript: '>=4.8.4 <5.9.0'
'@typescript-eslint/types@8.29.0':
resolution: {integrity: sha512-wcJL/+cOXV+RE3gjCyl/V2G877+2faqvlgtso/ZRbTCnZazh0gXhe+7gbAnfubzN2bNsBtZjDvlh7ero8uIbzg==}
'@typescript-eslint/types@8.35.1':
resolution: {integrity: sha512-q/O04vVnKHfrrhNAscndAn1tuQhIkwqnaW+eu5waD5IPts2eX1dgJxgqcPx5BX109/qAz7IG6VrEPTOYKCNfRQ==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
'@typescript-eslint/typescript-estree@8.29.0':
resolution: {integrity: sha512-yOfen3jE9ISZR/hHpU/bmNvTtBW1NjRbkSFdZOksL1N+ybPEE7UVGMwqvS6CP022Rp00Sb0tdiIkhSCe6NI8ow==}
'@typescript-eslint/typescript-estree@8.35.1':
resolution: {integrity: sha512-Vvpuvj4tBxIka7cPs6Y1uvM7gJgdF5Uu9F+mBJBPY4MhvjrjWGK4H0lVgLJd/8PWZ23FTqsaJaLEkBCFUk8Y9g==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
peerDependencies:
typescript: '>=4.8.4 <5.9.0'
'@typescript-eslint/utils@8.29.0':
resolution: {integrity: sha512-gX/A0Mz9Bskm8avSWFcK0gP7cZpbY4AIo6B0hWYFCaIsz750oaiWR4Jr2CI+PQhfW1CpcQr9OlfPS+kMFegjXA==}
'@typescript-eslint/utils@8.35.1':
resolution: {integrity: sha512-lhnwatFmOFcazAsUm3ZnZFpXSxiwoa1Lj50HphnDe1Et01NF4+hrdXONSUHIcbVu2eFb1bAf+5yjXkGVkXBKAQ==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
peerDependencies:
eslint: ^8.57.0 || ^9.0.0
typescript: '>=4.8.4 <5.9.0'
'@typescript-eslint/visitor-keys@8.29.0':
resolution: {integrity: sha512-Sne/pVz8ryR03NFK21VpN88dZ2FdQXOlq3VIklbrTYEt8yXtRFr9tvUhqvCeKjqYk5FSim37sHbooT6vzBTZcg==}
'@typescript-eslint/visitor-keys@8.35.1':
resolution: {integrity: sha512-VRwixir4zBWCSTP/ljEo091lbpypz57PoeAQ9imjG+vbeof9LplljsL1mos4ccG6H9IjfrVGM359RozUnuFhpw==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
abort-controller@3.0.0:
@@ -579,8 +595,8 @@ packages:
peerDependencies:
acorn: ^6.0.0 || ^7.0.0 || ^8.0.0
acorn@8.14.1:
resolution: {integrity: sha512-OvQ/2pUDKmgfCg++xsTX1wGxfTaszcHVcTctW4UJB4hibJx2HXxxO5UmVgyjMa+ZDsiaf5wWLXYpRWMmBI0QHg==}
acorn@8.15.0:
resolution: {integrity: sha512-NZyJarBfL7nWwIq+FDL6Zp/yHEhePMNnnJ0y3qfieCrmNvYct8uvtiV41UvlSe6apAfk0fY1FbWx+NwfmpvtTg==}
engines: {node: '>=0.4.0'}
hasBin: true
@@ -619,11 +635,11 @@ packages:
balanced-match@1.0.2:
resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==}
brace-expansion@1.1.11:
resolution: {integrity: sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==}
brace-expansion@1.1.12:
resolution: {integrity: sha512-9T9UjW3r0UW5c1Q7GTwllptXwhvYmEzFhzMfZ9H7FQWt+uZePjZPjBP/W1ZEyZ1twGWom5/56TF4lPcqjnDHcg==}
brace-expansion@2.0.1:
resolution: {integrity: sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==}
brace-expansion@2.0.2:
resolution: {integrity: sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==}
braces@3.0.3:
resolution: {integrity: sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==}
@@ -673,6 +689,9 @@ packages:
concat-map@0.0.1:
resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==}
confbox@0.1.8:
resolution: {integrity: sha512-RMtmw0iFkeR4YV+fUOSucriAQNb9g8zFR52MWCtl+cCZOFRNL6zeB395vPzFhEjjn4fMxXudmELnl/KF/WrK6w==}
consola@3.4.0:
resolution: {integrity: sha512-EiPU8G6dQG0GFHNR8ljnZFki/8a+cQwEQ+7wpxdChl02Q8HXlwEZWD5lqAF8vC2sEC3Tehr8hy7vErz88LHyUA==}
engines: {node: ^14.18.0 || >=16.10.0}
@@ -690,6 +709,15 @@ packages:
supports-color:
optional: true
debug@4.4.1:
resolution: {integrity: sha512-KcKCqiftBJcZr++7ykoDIEwSa3XWowTfNPo92BYxjXiyYEVrUQh2aLyhxBCwww+heortUFxEJYcRzosstTEBYQ==}
engines: {node: '>=6.0'}
peerDependencies:
supports-color: '*'
peerDependenciesMeta:
supports-color:
optional: true
deep-is@0.1.4:
resolution: {integrity: sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==}
@@ -735,20 +763,20 @@ packages:
resolution: {integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==}
engines: {node: '>=10'}
eslint-scope@8.3.0:
resolution: {integrity: sha512-pUNxi75F8MJ/GdeKtVLSbYg4ZI34J6C0C7sbL4YOp2exGwen7ZsuBqKzUhXd0qMQ362yET3z+uPwKeg/0C2XCQ==}
eslint-scope@8.4.0:
resolution: {integrity: sha512-sNXOfKCn74rt8RICKMvJS7XKV/Xk9kA7DyJr8mJik3S7Cwgy3qlkkmyS2uQB3jiJg6VNdZd/pDBJu0nvG2NlTg==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
eslint-visitor-keys@3.4.3:
resolution: {integrity: sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==}
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
eslint-visitor-keys@4.2.0:
resolution: {integrity: sha512-UyLnSehNt62FFhSwjZlHmeokpRK59rcz29j+F1/aDgbkbRTk7wIc9XzdoasMUbRNKDM0qQt/+BJ4BrpFeABemw==}
eslint-visitor-keys@4.2.1:
resolution: {integrity: sha512-Uhdk5sfqcee/9H/rCOJikYz67o0a2Tw2hGRPOG2Y1R2dg7brRe1uG0yaNQDHu+TO/uQPF/5eCapvYSmHUjt7JQ==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
eslint@9.23.0:
resolution: {integrity: sha512-jV7AbNoFPAY1EkFYpLq5bslU9NLNO8xnEeQXwErNibVryjk67wHVmddTBilc5srIttJDBrB0eMHKZBFbSIABCw==}
eslint@9.30.0:
resolution: {integrity: sha512-iN/SiPxmQu6EVkf+m1qpBxzUhE12YqFLOSySuOyVLJLEF9nzTf+h/1AJYc1JWzCnktggeNrjvQGLngDzXirU6g==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
hasBin: true
peerDependencies:
@@ -757,8 +785,8 @@ packages:
jiti:
optional: true
espree@10.3.0:
resolution: {integrity: sha512-0QYC8b24HWY8zjRnDTL6RiHfDbAWn63qb4LMj1Z4b076A4une81+z03Kg7l7mn/48PUTqoLptSXez8oknU8Clg==}
espree@10.4.0:
resolution: {integrity: sha512-j6PAQ2uUr79PZhBjP5C5fhl8e39FmRnOjsD5lGnWrFU8i2G776tBK7+nP8KuQUTTyAZUwfQqXAgrVH5MbH9CYQ==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
esquery@1.6.0:
@@ -825,6 +853,9 @@ packages:
resolution: {integrity: sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==}
engines: {node: '>=10'}
fix-dts-default-cjs-exports@1.0.1:
resolution: {integrity: sha512-pVIECanWFC61Hzl2+oOCtoJ3F17kglZC/6N94eRWycFgBH35hHx0Li604ZIzhseh97mf2p0cv7vVrOZGoqhlEg==}
flat-cache@4.0.1:
resolution: {integrity: sha512-f7ccFPK3SXFHpx15UIGyRJ/FJQctuKZ0zVuN3frBo4HnK3cay9VEW0R6yPYFHC0AgqhukPzKjq22t5DmAyqGyw==}
engines: {node: '>=16'}
@@ -907,6 +938,10 @@ packages:
resolution: {integrity: sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==}
engines: {node: '>= 4'}
ignore@7.0.5:
resolution: {integrity: sha512-Hs59xBNfUIunMFgWAbGX5cq6893IbWg4KnrjbYwX3tx0ztorVgTDA6B2sxf8ejHJ4wz8BqGUMYlnzNBer5NvGg==}
engines: {node: '>= 4'}
import-fresh@3.3.1:
resolution: {integrity: sha512-TR3KfrTZTYLPB6jUjfx6MF9WcWrHL9su5TObK4ZkYgBdWKPOFoSoQIdEuTuR82pmtxH2spWG9h6etwfr1pLBqQ==}
engines: {node: '>=6'}
@@ -989,6 +1024,9 @@ packages:
lru-cache@10.4.3:
resolution: {integrity: sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==}
magic-string@0.30.17:
resolution: {integrity: sha512-sNPKHvyjVf7gyjwS4xGTaW/mCnF8wnjtifKBEhxfZ7E/S8tQ0rssrwGNn6q8JH/ohItJfSQp9mBtQYuTlH5QnA==}
math-intrinsics@1.1.0:
resolution: {integrity: sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==}
engines: {node: '>= 0.4'}
@@ -1020,6 +1058,9 @@ packages:
resolution: {integrity: sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==}
engines: {node: '>=16 || 14 >=14.17'}
mlly@1.7.4:
resolution: {integrity: sha512-qmdSIPC4bDJXgZTCR7XosJiNKySV7O215tsPtDN9iEO/7q/76b/ijtgRu/+epFXSJhijtTCCGp3DWS549P3xKw==}
ms@2.1.3:
resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==}
@@ -1073,6 +1114,9 @@ packages:
resolution: {integrity: sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA==}
engines: {node: '>=16 || 14 >=14.18'}
pathe@2.0.3:
resolution: {integrity: sha512-WUjGcAqP1gQacoQe+OBJsFA7Ld4DyXuUIjZ5cc75cLHvJ7dtNsTugphxIADwspS+AraAUePCKrSVtPLFj/F88w==}
picocolors@1.1.1:
resolution: {integrity: sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==}
@@ -1088,6 +1132,9 @@ packages:
resolution: {integrity: sha512-saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg==}
engines: {node: '>= 6'}
pkg-types@1.3.1:
resolution: {integrity: sha512-/Jm5M4RvtBFVkKWRu2BLUTNP8/M2a+UwuAX+ae4770q1qVGtfjG+WTCupoZixokjmHiry8uI+dlY8KXYV5HVVQ==}
postcss-load-config@6.0.1:
resolution: {integrity: sha512-oPtTM4oerL+UXmx+93ytZVN82RrlY/wPUV8IeDxFrzIjXOLF1pN+EmKPLbubvKHT2HC20xXsCAH2Z+CKV6Oz/g==}
engines: {node: '>= 18'}
@@ -1110,8 +1157,8 @@ packages:
resolution: {integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==}
engines: {node: '>= 0.8.0'}
prettier@3.5.3:
resolution: {integrity: sha512-QQtaxnoDJeAkDvDKWCLiwIXkTgRhwYDEQCghU9Z6q03iyek/rxRh/2lC3HB7P8sWT2xC/y5JDctPLBIGzHKbhw==}
prettier@3.6.2:
resolution: {integrity: sha512-I7AIg5boAr5R0FFtJ6rCfD+LFsWHp81dolrFD8S79U9tb8Az2nGrJncnMSnys+bpQJfRUzqs9hnA81OAA3hCuQ==}
engines: {node: '>=14'}
hasBin: true
@@ -1156,8 +1203,8 @@ packages:
resolution: {integrity: sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==}
hasBin: true
semver@7.7.1:
resolution: {integrity: sha512-hlq8tAfn0m/61p4BVRcPzIGr6LKiMwo4VM6dGi6pt4qcRkmNzTcWq6eCEjEh+qXjkMDvPlOFFSGwQjoEa6gyMA==}
semver@7.7.2:
resolution: {integrity: sha512-RF0Fw+rO5AMf9MAyaRXI4AV0Ulj5lMHqVxxdSgiVbixSCXoEmmX/jk0CuJw4+3SqroYO9VoUh+HcuJivvtJemA==}
engines: {node: '>=10'}
hasBin: true
@@ -1173,8 +1220,8 @@ packages:
resolution: {integrity: sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==}
engines: {node: '>=14'}
smol-toml@1.3.1:
resolution: {integrity: sha512-tEYNll18pPKHroYSmLLrksq233j021G0giwW7P3D24jC54pQ5W5BXMsQ/Mvw1OJCmEYDgY+lrzT+3nNUtoNfXQ==}
smol-toml@1.4.0:
resolution: {integrity: sha512-IMxaDA/58wBvkvX77ykQ6e9r6fjs8xbxpz8bMCyVQ/fEFWbA5uJrnaVwDuhLrrANGdd7apRyTPDBvI893Bxu9g==}
engines: {node: '>= 18'}
source-map@0.8.0-beta.0:
@@ -1256,8 +1303,8 @@ packages:
tslib@2.8.1:
resolution: {integrity: sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==}
tsup@8.4.0:
resolution: {integrity: sha512-b+eZbPCjz10fRryaAA7C8xlIHnf8VnsaRqydheLIqwG/Mcpfk8Z5zp3HayX7GaTygkigHl5cBUs+IhcySiIexQ==}
tsup@8.5.0:
resolution: {integrity: sha512-VmBp77lWNQq6PfuMqCHD3xWl22vEoWsKajkF8t+yMBawlUS8JzEI+vOVMeuNZIuMML8qXRizFKi9oD5glKQVcQ==}
engines: {node: '>=18'}
hasBin: true
peerDependencies:
@@ -1283,8 +1330,8 @@ packages:
resolution: {integrity: sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==}
engines: {node: '>= 0.8.0'}
typescript-eslint@8.29.0:
resolution: {integrity: sha512-ep9rVd9B4kQsZ7ZnWCVxUE/xDLUUUsRzE0poAeNu+4CkFErLfuvPt/qtm2EpnSyfvsR0S6QzDFSrPCFBwf64fg==}
typescript-eslint@8.35.1:
resolution: {integrity: sha512-xslJjFzhOmHYQzSB/QTeASAHbjmxOGEP6Coh93TXmUBFQoJ1VU35UHIDmG06Jd6taf3wqqC1ntBnCMeymy5Ovw==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
peerDependencies:
eslint: ^8.57.0 || ^9.0.0
@@ -1295,13 +1342,16 @@ packages:
engines: {node: '>=4.2.0'}
hasBin: true
typescript@5.8.2:
resolution: {integrity: sha512-aJn6wq13/afZp/jT9QZmwEjDqqvSGp1VT5GVg+f/t6/oVyrgXM6BY1h9BRh/O5p3PlUPAe+WuiEZOmb/49RqoQ==}
typescript@5.8.3:
resolution: {integrity: sha512-p1diW6TqL9L07nNxvRMM7hMMw4c5XOo/1ibL4aAIGmSAt9slTE1Xgw5KWuof2uTOvCg9BY7ZRi+GaF+7sfgPeQ==}
engines: {node: '>=14.17'}
hasBin: true
undici-types@6.20.0:
resolution: {integrity: sha512-Ny6QZ2Nju20vw1SRHe3d9jVu6gJ+4e3+MMpqu7pqE5HT6WsTSlce++GQmK5UXS8mzV8DSYHrQH+Xrf2jVcuKNg==}
ufo@1.6.1:
resolution: {integrity: sha512-9a4/uxlTWJ4+a5i0ooc1rU7C7YOw3wT+UGqdeNNHWnOF9qcMBgLRS+4IYUqbczewFx4mLEig6gawh7X6mFlEkA==}
undici-types@7.8.0:
resolution: {integrity: sha512-9UJ2xGDvQ43tYyVMpuHlsgApydB8ZKfVYTsLDhXkFL/6gfkp+U8xTGdh8pMJv1SpZna0zxG1DwsKZsreLbXBxw==}
undici@5.29.0:
resolution: {integrity: sha512-raqeBD6NQK4SkWhQzeYKd1KmIG6dllBOTt55Rmkt4HtI9mwdWtJljnrXjAFUBLTSN67HWrOIZ3EPF4kjUw80Bg==}
@@ -1364,8 +1414,8 @@ packages:
resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==}
engines: {node: '>=10'}
zod@3.24.2:
resolution: {integrity: sha512-lY7CDW43ECgW9u1TcT3IoXHflywfVqDYze4waEz812jR/bZ8FHDsl7pFQoSZTz5N+2NqRXs8GBwnAwo3ZNxqhQ==}
zod@3.25.67:
resolution: {integrity: sha512-idA2YXwpCdqUSKRCACDE6ItZD9TZzy3OZMtpfLoh6oPR47lipysRrJfjzMqFxQ3uJuUPyUeWe1r9vLH33xO/Qw==}
snapshots:
@@ -1596,32 +1646,36 @@ snapshots:
'@esbuild/win32-x64@0.25.0':
optional: true
'@eslint-community/eslint-utils@4.5.1(eslint@9.23.0)':
'@eslint-community/eslint-utils@4.7.0(eslint@9.30.0)':
dependencies:
eslint: 9.23.0
eslint: 9.30.0
eslint-visitor-keys: 3.4.3
'@eslint-community/regexpp@4.12.1': {}
'@eslint/config-array@0.19.2':
'@eslint/config-array@0.21.0':
dependencies:
'@eslint/object-schema': 2.1.6
debug: 4.4.0
debug: 4.4.1
minimatch: 3.1.2
transitivePeerDependencies:
- supports-color
'@eslint/config-helpers@0.2.0': {}
'@eslint/config-helpers@0.3.0': {}
'@eslint/core@0.12.0':
'@eslint/core@0.14.0':
dependencies:
'@types/json-schema': 7.0.15
'@eslint/core@0.15.1':
dependencies:
'@types/json-schema': 7.0.15
'@eslint/eslintrc@3.3.1':
dependencies:
ajv: 6.12.6
debug: 4.4.0
espree: 10.3.0
debug: 4.4.1
espree: 10.4.0
globals: 14.0.0
ignore: 5.3.2
import-fresh: 3.3.1
@@ -1631,13 +1685,13 @@ snapshots:
transitivePeerDependencies:
- supports-color
'@eslint/js@9.23.0': {}
'@eslint/js@9.30.0': {}
'@eslint/object-schema@2.1.6': {}
'@eslint/plugin-kit@0.2.7':
'@eslint/plugin-kit@0.3.3':
dependencies:
'@eslint/core': 0.12.0
'@eslint/core': 0.15.1
levn: 0.4.1
'@fastify/busboy@2.1.1': {}
@@ -1653,7 +1707,7 @@ snapshots:
'@humanwhocodes/retry@0.3.1': {}
'@humanwhocodes/retry@0.4.2': {}
'@humanwhocodes/retry@0.4.3': {}
'@isaacs/cliui@8.0.2':
dependencies:
@@ -1776,106 +1830,121 @@ snapshots:
'@types/eslint__js@9.14.0':
dependencies:
'@eslint/js': 9.23.0
'@eslint/js': 9.30.0
'@types/estree@1.0.6': {}
'@types/estree@1.0.7': {}
'@types/estree@1.0.8': {}
'@types/json-schema@7.0.15': {}
'@types/node@22.13.14':
'@types/node@24.0.8':
dependencies:
undici-types: 6.20.0
undici-types: 7.8.0
'@types/which@3.0.4': {}
'@typescript-eslint/eslint-plugin@8.29.0(@typescript-eslint/parser@8.29.0(eslint@9.23.0)(typescript@5.8.2))(eslint@9.23.0)(typescript@5.8.2)':
'@typescript-eslint/eslint-plugin@8.35.1(@typescript-eslint/parser@8.35.1(eslint@9.30.0)(typescript@5.8.3))(eslint@9.30.0)(typescript@5.8.3)':
dependencies:
'@eslint-community/regexpp': 4.12.1
'@typescript-eslint/parser': 8.29.0(eslint@9.23.0)(typescript@5.8.2)
'@typescript-eslint/scope-manager': 8.29.0
'@typescript-eslint/type-utils': 8.29.0(eslint@9.23.0)(typescript@5.8.2)
'@typescript-eslint/utils': 8.29.0(eslint@9.23.0)(typescript@5.8.2)
'@typescript-eslint/visitor-keys': 8.29.0
eslint: 9.23.0
'@typescript-eslint/parser': 8.35.1(eslint@9.30.0)(typescript@5.8.3)
'@typescript-eslint/scope-manager': 8.35.1
'@typescript-eslint/type-utils': 8.35.1(eslint@9.30.0)(typescript@5.8.3)
'@typescript-eslint/utils': 8.35.1(eslint@9.30.0)(typescript@5.8.3)
'@typescript-eslint/visitor-keys': 8.35.1
eslint: 9.30.0
graphemer: 1.4.0
ignore: 5.3.2
ignore: 7.0.5
natural-compare: 1.4.0
ts-api-utils: 2.1.0(typescript@5.8.2)
typescript: 5.8.2
ts-api-utils: 2.1.0(typescript@5.8.3)
typescript: 5.8.3
transitivePeerDependencies:
- supports-color
'@typescript-eslint/parser@8.29.0(eslint@9.23.0)(typescript@5.8.2)':
'@typescript-eslint/parser@8.35.1(eslint@9.30.0)(typescript@5.8.3)':
dependencies:
'@typescript-eslint/scope-manager': 8.29.0
'@typescript-eslint/types': 8.29.0
'@typescript-eslint/typescript-estree': 8.29.0(typescript@5.8.2)
'@typescript-eslint/visitor-keys': 8.29.0
debug: 4.4.0
eslint: 9.23.0
typescript: 5.8.2
'@typescript-eslint/scope-manager': 8.35.1
'@typescript-eslint/types': 8.35.1
'@typescript-eslint/typescript-estree': 8.35.1(typescript@5.8.3)
'@typescript-eslint/visitor-keys': 8.35.1
debug: 4.4.1
eslint: 9.30.0
typescript: 5.8.3
transitivePeerDependencies:
- supports-color
'@typescript-eslint/scope-manager@8.29.0':
'@typescript-eslint/project-service@8.35.1(typescript@5.8.3)':
dependencies:
'@typescript-eslint/types': 8.29.0
'@typescript-eslint/visitor-keys': 8.29.0
'@typescript-eslint/type-utils@8.29.0(eslint@9.23.0)(typescript@5.8.2)':
dependencies:
'@typescript-eslint/typescript-estree': 8.29.0(typescript@5.8.2)
'@typescript-eslint/utils': 8.29.0(eslint@9.23.0)(typescript@5.8.2)
debug: 4.4.0
eslint: 9.23.0
ts-api-utils: 2.1.0(typescript@5.8.2)
typescript: 5.8.2
'@typescript-eslint/tsconfig-utils': 8.35.1(typescript@5.8.3)
'@typescript-eslint/types': 8.35.1
debug: 4.4.1
typescript: 5.8.3
transitivePeerDependencies:
- supports-color
'@typescript-eslint/types@8.29.0': {}
'@typescript-eslint/typescript-estree@8.29.0(typescript@5.8.2)':
'@typescript-eslint/scope-manager@8.35.1':
dependencies:
'@typescript-eslint/types': 8.29.0
'@typescript-eslint/visitor-keys': 8.29.0
debug: 4.4.0
'@typescript-eslint/types': 8.35.1
'@typescript-eslint/visitor-keys': 8.35.1
'@typescript-eslint/tsconfig-utils@8.35.1(typescript@5.8.3)':
dependencies:
typescript: 5.8.3
'@typescript-eslint/type-utils@8.35.1(eslint@9.30.0)(typescript@5.8.3)':
dependencies:
'@typescript-eslint/typescript-estree': 8.35.1(typescript@5.8.3)
'@typescript-eslint/utils': 8.35.1(eslint@9.30.0)(typescript@5.8.3)
debug: 4.4.1
eslint: 9.30.0
ts-api-utils: 2.1.0(typescript@5.8.3)
typescript: 5.8.3
transitivePeerDependencies:
- supports-color
'@typescript-eslint/types@8.35.1': {}
'@typescript-eslint/typescript-estree@8.35.1(typescript@5.8.3)':
dependencies:
'@typescript-eslint/project-service': 8.35.1(typescript@5.8.3)
'@typescript-eslint/tsconfig-utils': 8.35.1(typescript@5.8.3)
'@typescript-eslint/types': 8.35.1
'@typescript-eslint/visitor-keys': 8.35.1
debug: 4.4.1
fast-glob: 3.3.3
is-glob: 4.0.3
minimatch: 9.0.5
semver: 7.7.1
ts-api-utils: 2.1.0(typescript@5.8.2)
typescript: 5.8.2
semver: 7.7.2
ts-api-utils: 2.1.0(typescript@5.8.3)
typescript: 5.8.3
transitivePeerDependencies:
- supports-color
'@typescript-eslint/utils@8.29.0(eslint@9.23.0)(typescript@5.8.2)':
'@typescript-eslint/utils@8.35.1(eslint@9.30.0)(typescript@5.8.3)':
dependencies:
'@eslint-community/eslint-utils': 4.5.1(eslint@9.23.0)
'@typescript-eslint/scope-manager': 8.29.0
'@typescript-eslint/types': 8.29.0
'@typescript-eslint/typescript-estree': 8.29.0(typescript@5.8.2)
eslint: 9.23.0
typescript: 5.8.2
'@eslint-community/eslint-utils': 4.7.0(eslint@9.30.0)
'@typescript-eslint/scope-manager': 8.35.1
'@typescript-eslint/types': 8.35.1
'@typescript-eslint/typescript-estree': 8.35.1(typescript@5.8.3)
eslint: 9.30.0
typescript: 5.8.3
transitivePeerDependencies:
- supports-color
'@typescript-eslint/visitor-keys@8.29.0':
'@typescript-eslint/visitor-keys@8.35.1':
dependencies:
'@typescript-eslint/types': 8.29.0
eslint-visitor-keys: 4.2.0
'@typescript-eslint/types': 8.35.1
eslint-visitor-keys: 4.2.1
abort-controller@3.0.0:
dependencies:
event-target-shim: 5.0.1
acorn-jsx@5.3.2(acorn@8.14.1):
acorn-jsx@5.3.2(acorn@8.15.0):
dependencies:
acorn: 8.14.1
acorn: 8.15.0
acorn@8.14.1: {}
acorn@8.15.0: {}
agent-base@7.1.3: {}
@@ -1904,12 +1973,12 @@ snapshots:
balanced-match@1.0.2: {}
brace-expansion@1.1.11:
brace-expansion@1.1.12:
dependencies:
balanced-match: 1.0.2
concat-map: 0.0.1
brace-expansion@2.0.1:
brace-expansion@2.0.2:
dependencies:
balanced-match: 1.0.2
@@ -1954,6 +2023,8 @@ snapshots:
concat-map@0.0.1: {}
confbox@0.1.8: {}
consola@3.4.0: {}
cross-spawn@7.0.6:
@@ -1966,6 +2037,10 @@ snapshots:
dependencies:
ms: 2.1.3
debug@4.4.1:
dependencies:
ms: 2.1.3
deep-is@0.1.4: {}
delayed-stream@1.0.0: {}
@@ -2027,38 +2102,38 @@ snapshots:
escape-string-regexp@4.0.0: {}
eslint-scope@8.3.0:
eslint-scope@8.4.0:
dependencies:
esrecurse: 4.3.0
estraverse: 5.3.0
eslint-visitor-keys@3.4.3: {}
eslint-visitor-keys@4.2.0: {}
eslint-visitor-keys@4.2.1: {}
eslint@9.23.0:
eslint@9.30.0:
dependencies:
'@eslint-community/eslint-utils': 4.5.1(eslint@9.23.0)
'@eslint-community/eslint-utils': 4.7.0(eslint@9.30.0)
'@eslint-community/regexpp': 4.12.1
'@eslint/config-array': 0.19.2
'@eslint/config-helpers': 0.2.0
'@eslint/core': 0.12.0
'@eslint/config-array': 0.21.0
'@eslint/config-helpers': 0.3.0
'@eslint/core': 0.14.0
'@eslint/eslintrc': 3.3.1
'@eslint/js': 9.23.0
'@eslint/plugin-kit': 0.2.7
'@eslint/js': 9.30.0
'@eslint/plugin-kit': 0.3.3
'@humanfs/node': 0.16.6
'@humanwhocodes/module-importer': 1.0.1
'@humanwhocodes/retry': 0.4.2
'@types/estree': 1.0.7
'@humanwhocodes/retry': 0.4.3
'@types/estree': 1.0.8
'@types/json-schema': 7.0.15
ajv: 6.12.6
chalk: 4.1.2
cross-spawn: 7.0.6
debug: 4.4.0
debug: 4.4.1
escape-string-regexp: 4.0.0
eslint-scope: 8.3.0
eslint-visitor-keys: 4.2.0
espree: 10.3.0
eslint-scope: 8.4.0
eslint-visitor-keys: 4.2.1
espree: 10.4.0
esquery: 1.6.0
esutils: 2.0.3
fast-deep-equal: 3.1.3
@@ -2076,11 +2151,11 @@ snapshots:
transitivePeerDependencies:
- supports-color
espree@10.3.0:
espree@10.4.0:
dependencies:
acorn: 8.14.1
acorn-jsx: 5.3.2(acorn@8.14.1)
eslint-visitor-keys: 4.2.0
acorn: 8.15.0
acorn-jsx: 5.3.2(acorn@8.15.0)
eslint-visitor-keys: 4.2.1
esquery@1.6.0:
dependencies:
@@ -2137,6 +2212,12 @@ snapshots:
locate-path: 6.0.0
path-exists: 4.0.0
fix-dts-default-cjs-exports@1.0.1:
dependencies:
magic-string: 0.30.17
mlly: 1.7.4
rollup: 4.34.8
flat-cache@4.0.1:
dependencies:
flatted: 3.3.3
@@ -2218,19 +2299,21 @@ snapshots:
http-proxy-agent@7.0.2:
dependencies:
agent-base: 7.1.3
debug: 4.4.0
debug: 4.4.1
transitivePeerDependencies:
- supports-color
https-proxy-agent@7.0.6:
dependencies:
agent-base: 7.1.3
debug: 4.4.0
debug: 4.4.1
transitivePeerDependencies:
- supports-color
ignore@5.3.2: {}
ignore@7.0.5: {}
import-fresh@3.3.1:
dependencies:
parent-module: 1.0.1
@@ -2295,6 +2378,10 @@ snapshots:
lru-cache@10.4.3: {}
magic-string@0.30.17:
dependencies:
'@jridgewell/sourcemap-codec': 1.5.0
math-intrinsics@1.1.0: {}
merge2@1.4.1: {}
@@ -2312,14 +2399,21 @@ snapshots:
minimatch@3.1.2:
dependencies:
brace-expansion: 1.1.11
brace-expansion: 1.1.12
minimatch@9.0.5:
dependencies:
brace-expansion: 2.0.1
brace-expansion: 2.0.2
minipass@7.1.2: {}
mlly@1.7.4:
dependencies:
acorn: 8.15.0
pathe: 2.0.3
pkg-types: 1.3.1
ufo: 1.6.1
ms@2.1.3: {}
mz@2.7.0:
@@ -2368,6 +2462,8 @@ snapshots:
lru-cache: 10.4.3
minipass: 7.1.2
pathe@2.0.3: {}
picocolors@1.1.1: {}
picomatch@2.3.1: {}
@@ -2376,13 +2472,19 @@ snapshots:
pirates@4.0.6: {}
pkg-types@1.3.1:
dependencies:
confbox: 0.1.8
mlly: 1.7.4
pathe: 2.0.3
postcss-load-config@6.0.1:
dependencies:
lilconfig: 3.1.3
prelude-ls@1.2.1: {}
prettier@3.5.3: {}
prettier@3.6.2: {}
punycode@2.3.1: {}
@@ -2431,7 +2533,7 @@ snapshots:
semver@6.3.1: {}
semver@7.7.1: {}
semver@7.7.2: {}
shebang-command@2.0.0:
dependencies:
@@ -2441,7 +2543,7 @@ snapshots:
signal-exit@4.1.0: {}
smol-toml@1.3.1: {}
smol-toml@1.4.0: {}
source-map@0.8.0-beta.0:
dependencies:
@@ -2512,9 +2614,9 @@ snapshots:
tree-kill@1.2.2: {}
ts-api-utils@2.1.0(typescript@5.8.2):
ts-api-utils@2.1.0(typescript@5.8.3):
dependencies:
typescript: 5.8.2
typescript: 5.8.3
ts-interface-checker@0.1.13: {}
@@ -2522,7 +2624,7 @@ snapshots:
tslib@2.8.1: {}
tsup@8.4.0(typescript@5.8.2):
tsup@8.5.0(typescript@5.8.3):
dependencies:
bundle-require: 5.1.0(esbuild@0.25.0)
cac: 6.7.14
@@ -2530,6 +2632,7 @@ snapshots:
consola: 3.4.0
debug: 4.4.0
esbuild: 0.25.0
fix-dts-default-cjs-exports: 1.0.1
joycon: 3.1.1
picocolors: 1.1.1
postcss-load-config: 6.0.1
@@ -2541,7 +2644,7 @@ snapshots:
tinyglobby: 0.2.12
tree-kill: 1.2.2
optionalDependencies:
typescript: 5.8.2
typescript: 5.8.3
transitivePeerDependencies:
- jiti
- supports-color
@@ -2554,21 +2657,23 @@ snapshots:
dependencies:
prelude-ls: 1.2.1
typescript-eslint@8.29.0(eslint@9.23.0)(typescript@5.8.2):
typescript-eslint@8.35.1(eslint@9.30.0)(typescript@5.8.3):
dependencies:
'@typescript-eslint/eslint-plugin': 8.29.0(@typescript-eslint/parser@8.29.0(eslint@9.23.0)(typescript@5.8.2))(eslint@9.23.0)(typescript@5.8.2)
'@typescript-eslint/parser': 8.29.0(eslint@9.23.0)(typescript@5.8.2)
'@typescript-eslint/utils': 8.29.0(eslint@9.23.0)(typescript@5.8.2)
eslint: 9.23.0
typescript: 5.8.2
'@typescript-eslint/eslint-plugin': 8.35.1(@typescript-eslint/parser@8.35.1(eslint@9.30.0)(typescript@5.8.3))(eslint@9.30.0)(typescript@5.8.3)
'@typescript-eslint/parser': 8.35.1(eslint@9.30.0)(typescript@5.8.3)
'@typescript-eslint/utils': 8.35.1(eslint@9.30.0)(typescript@5.8.3)
eslint: 9.30.0
typescript: 5.8.3
transitivePeerDependencies:
- supports-color
typescript@3.9.10: {}
typescript@5.8.2: {}
typescript@5.8.3: {}
undici-types@6.20.0: {}
ufo@1.6.1: {}
undici-types@7.8.0: {}
undici@5.29.0:
dependencies:
@@ -2628,4 +2733,4 @@ snapshots:
yocto-queue@0.1.0: {}
zod@3.24.2: {}
zod@3.25.67: {}
+3 -1
View File
@@ -12,12 +12,14 @@ import { activateEnvironment } from './activate'
const downloadPixi = (source: PixiSource) => {
const url = 'version' in source ? getPixiUrlFromVersion(source.version) : source.url
const auth = 'bearerToken' in source && source.bearerToken ? `Bearer ${source.bearerToken}` : ''
return core.group('Downloading Pixi', () => {
core.debug('Installing pixi')
core.debug(`Downloading pixi from ${url}`)
core.debug(`Using Bearer auth: ${auth ? 'yes' : 'no'}`)
return fs
.mkdir(path.dirname(options.pixiBinPath), { recursive: true })
.then(() => downloadTool(url, options.pixiBinPath))
.then(() => downloadTool(url, options.pixiBinPath, auth))
.then((_downloadPath) => fs.chmod(options.pixiBinPath, 0o755))
.then(() => {
core.info(`Pixi installed to ${options.pixiBinPath}`)
+7 -1
View File
@@ -11,6 +11,7 @@ import which from 'which'
type Inputs = Readonly<{
pixiVersion?: string
pixiUrl?: string
pixiUrlBearerToken?: string
logLevel?: LogLevel
manifestPath?: string
runInstall?: boolean
@@ -39,6 +40,7 @@ export type PixiSource =
}
| {
url: string
bearerToken?: string
}
type Auth = {
@@ -133,6 +135,9 @@ const validateInputs = (inputs: Inputs): void => {
if (inputs.pixiVersion && inputs.pixiUrl) {
throw new Error('You need to specify either pixi-version or pixi-url')
}
if (inputs.pixiUrlBearerToken && !inputs.pixiUrl) {
throw new Error('You need to specify pixi-url when using pixi-url-bearer-token')
}
if (inputs.cacheKey !== undefined && inputs.cache === false) {
throw new Error('Cannot specify cache key without caching')
}
@@ -223,7 +228,7 @@ const inferOptions = (inputs: Inputs): Options => {
const pixiSource = inputs.pixiVersion
? { version: inputs.pixiVersion }
: inputs.pixiUrl
? { url: inputs.pixiUrl }
? { url: inputs.pixiUrl, bearerToken: inputs.pixiUrlBearerToken }
: { version: 'latest' }
const { downloadPixi, pixiBinPath } = determinePixiInstallation(
@@ -340,6 +345,7 @@ const getOptions = () => {
'pixi-version must either be `latest` or a version string matching `vX.Y.Z`.'
),
pixiUrl: parseOrUndefined('pixi-url', z.string().url()),
pixiUrlBearerToken: parseOrUndefined('pixi-url-bearer-token', z.string()),
logLevel: parseOrUndefined(
'log-level',
logLevelSchema,
+26 -14
View File
@@ -1,4 +1,5 @@
import fs from 'fs/promises'
import { existsSync } from 'fs'
import path from 'path'
import os from 'os'
import { exit } from 'process'
@@ -6,25 +7,31 @@ import * as core from '@actions/core'
import { options } from './options'
const removeEmptyParentDirs = (dirPath: string): Promise<void> => {
return fs.readdir(dirPath).then((files) => {
if (files.length === 0) {
core.debug(`Removing empty directory ${dirPath}.`)
return fs.rm(dirPath, { recursive: true }).then(() => {
const parentDir = path.dirname(dirPath)
if (parentDir !== dirPath) {
return removeEmptyParentDirs(parentDir)
}
})
}
return Promise.resolve()
})
if (existsSync(dirPath)) {
return fs.readdir(dirPath).then((files) => {
if (files.length === 0) {
core.debug(`Removing empty directory ${dirPath}.`)
return fs.rm(dirPath, { recursive: true, force: true }).then(() => {
const parentDir = path.dirname(dirPath)
if (parentDir !== dirPath) {
return removeEmptyParentDirs(parentDir)
}
})
}
})
}
return Promise.resolve()
}
const cleanupPixiBin = () => {
const pixiBinPath = options.pixiBinPath
const pixiBinDir = path.dirname(pixiBinPath)
core.debug(`Cleaning up pixi binary ${pixiBinPath}.`)
return fs.rm(pixiBinPath).then(() => removeEmptyParentDirs(pixiBinDir))
if (existsSync(pixiBinPath)) {
return fs.rm(pixiBinPath).then(() => removeEmptyParentDirs(pixiBinDir))
} else {
return removeEmptyParentDirs(pixiBinDir)
}
}
const cleanupEnv = () => {
@@ -34,7 +41,12 @@ const cleanupEnv = () => {
}
const envDir = path.join(path.dirname(options.manifestPath), '.pixi')
core.debug(`Cleaning up .pixi directory ${envDir}.`)
return fs.rm(envDir, { recursive: true })
return fs.rm(envDir, {
recursive: true,
// Ignore exceptions if environment does not exist anymore,
// to avoid errors if setup-pixi is used multiple times within the same workflow.
force: true
})
}
const determineCacheDir = (): string => {
+2 -4
View File
@@ -13,7 +13,8 @@ export const getCondaArch = () => {
'linux-x64': 'linux-64',
'linux-arm64': 'linux-aarch64',
'linux-ppc64': 'linux-ppc64le',
'win32-x64': 'win-64'
'win32-x64': 'win-64',
'win32-arm64': 'win-arm64'
}
const arch = archDict[`${os.platform()}-${os.arch()}`]
if (!arch) {
@@ -52,9 +53,6 @@ export const getPixiUrlFromVersion = (version: string) => {
const arch = getArch()
const platform = getPlatform()
const pixiFile = `pixi-${arch}-${platform}${platform === 'pc-windows-msvc' ? '.exe' : ''}`
if (arch === 'aarch64' && platform === 'pc-windows-msvc') {
throw new Error('Windows on ARM is currently not supported')
}
if (version === 'latest') {
return `https://github.com/prefix-dev/pixi/releases/latest/download/${pixiFile}`
}
+229
View File
@@ -0,0 +1,229 @@
version: 6
environments:
default:
channels:
- url: https://conda.anaconda.org/conda-forge/
packages:
linux-64:
- conda: https://conda.anaconda.org/conda-forge/linux-64/_libgcc_mutex-0.1-conda_forge.tar.bz2
- conda: https://conda.anaconda.org/conda-forge/linux-64/_openmp_mutex-4.5-2_gnu.tar.bz2
- conda: https://conda.anaconda.org/conda-forge/linux-64/bzip2-1.0.8-h4bc722e_7.conda
- conda: https://conda.anaconda.org/conda-forge/linux-64/libgcc-14.2.0-h767d61c_2.conda
- conda: https://conda.anaconda.org/conda-forge/linux-64/libgcc-ng-14.2.0-h69a702a_2.conda
- conda: https://conda.anaconda.org/conda-forge/linux-64/libgomp-14.2.0-h767d61c_2.conda
linux-aarch64:
- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/_openmp_mutex-4.5-2_gnu.tar.bz2
- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/bzip2-1.0.8-h68df207_7.conda
- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libgcc-14.2.0-he277a41_2.conda
- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libgcc-ng-14.2.0-he9431aa_2.conda
- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libgomp-14.2.0-he277a41_2.conda
osx-64:
- conda: https://conda.anaconda.org/conda-forge/osx-64/bzip2-1.0.8-hfdf4475_7.conda
osx-arm64:
- conda: https://conda.anaconda.org/conda-forge/osx-arm64/bzip2-1.0.8-h99b78c6_7.conda
win-64:
- conda: https://conda.anaconda.org/conda-forge/win-64/bzip2-1.0.8-h2466b09_7.conda
- conda: https://conda.anaconda.org/conda-forge/win-64/ucrt-10.0.22621.0-h57928b3_1.conda
- conda: https://conda.anaconda.org/conda-forge/win-64/vc-14.3-h2b53caa_26.conda
- conda: https://conda.anaconda.org/conda-forge/win-64/vc14_runtime-14.42.34438-hfd919c2_26.conda
win-arm64:
- conda: https://conda.anaconda.org/conda-forge/win-arm64/bzip2-1.0.8-hfbbf558_7.conda
- conda: https://conda.anaconda.org/conda-forge/win-arm64/vc-14.3-hfe6595e_26.conda
- conda: https://conda.anaconda.org/conda-forge/win-arm64/vc14_runtime-14.42.34438-hfe4e545_26.conda
packages:
- conda: https://conda.anaconda.org/conda-forge/linux-64/_libgcc_mutex-0.1-conda_forge.tar.bz2
sha256: fe51de6107f9edc7aa4f786a70f4a883943bc9d39b3bb7307c04c41410990726
md5: d7c89558ba9fa0495403155b64376d81
license: None
size: 2562
timestamp: 1578324546067
- conda: https://conda.anaconda.org/conda-forge/linux-64/_openmp_mutex-4.5-2_gnu.tar.bz2
build_number: 16
sha256: fbe2c5e56a653bebb982eda4876a9178aedfc2b545f25d0ce9c4c0b508253d22
md5: 73aaf86a425cc6e73fcf236a5a46396d
depends:
- _libgcc_mutex 0.1 conda_forge
- libgomp >=7.5.0
constrains:
- openmp_impl 9999
license: BSD-3-Clause
license_family: BSD
size: 23621
timestamp: 1650670423406
- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/_openmp_mutex-4.5-2_gnu.tar.bz2
build_number: 16
sha256: 3702bef2f0a4d38bd8288bbe54aace623602a1343c2cfbefd3fa188e015bebf0
md5: 6168d71addc746e8f2b8d57dfd2edcea
depends:
- libgomp >=7.5.0
constrains:
- openmp_impl 9999
license: BSD-3-Clause
license_family: BSD
size: 23712
timestamp: 1650670790230
- conda: https://conda.anaconda.org/conda-forge/linux-64/bzip2-1.0.8-h4bc722e_7.conda
sha256: 5ced96500d945fb286c9c838e54fa759aa04a7129c59800f0846b4335cee770d
md5: 62ee74e96c5ebb0af99386de58cf9553
depends:
- __glibc >=2.17,<3.0.a0
- libgcc-ng >=12
license: bzip2-1.0.6
license_family: BSD
size: 252783
timestamp: 1720974456583
- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/bzip2-1.0.8-h68df207_7.conda
sha256: 2258b0b33e1cb3a9852d47557984abb6e7ea58e3d7f92706ec1f8e879290c4cb
md5: 56398c28220513b9ea13d7b450acfb20
depends:
- libgcc-ng >=12
license: bzip2-1.0.6
license_family: BSD
size: 189884
timestamp: 1720974504976
- conda: https://conda.anaconda.org/conda-forge/osx-64/bzip2-1.0.8-hfdf4475_7.conda
sha256: cad153608b81fb24fc8c509357daa9ae4e49dfc535b2cb49b91e23dbd68fc3c5
md5: 7ed4301d437b59045be7e051a0308211
depends:
- __osx >=10.13
license: bzip2-1.0.6
license_family: BSD
size: 134188
timestamp: 1720974491916
- conda: https://conda.anaconda.org/conda-forge/osx-arm64/bzip2-1.0.8-h99b78c6_7.conda
sha256: adfa71f158cbd872a36394c56c3568e6034aa55c623634b37a4836bd036e6b91
md5: fc6948412dbbbe9a4c9ddbbcfe0a79ab
depends:
- __osx >=11.0
license: bzip2-1.0.6
license_family: BSD
size: 122909
timestamp: 1720974522888
- conda: https://conda.anaconda.org/conda-forge/win-64/bzip2-1.0.8-h2466b09_7.conda
sha256: 35a5dad92e88fdd7fc405e864ec239486f4f31eec229e31686e61a140a8e573b
md5: 276e7ffe9ffe39688abc665ef0f45596
depends:
- ucrt >=10.0.20348.0
- vc >=14.2,<15
- vc14_runtime >=14.29.30139
license: bzip2-1.0.6
license_family: BSD
size: 54927
timestamp: 1720974860185
- conda: https://conda.anaconda.org/conda-forge/win-arm64/bzip2-1.0.8-hfbbf558_7.conda
sha256: f6b3f14c17f7aebe0ac88e74957644da17288b1b78f8776ed4f04a4e6e4a7d9c
md5: 86d73707c1a3db358fb0b42fb6e33add
depends:
- vc >=14.3,<15
- vc14_runtime >=14.40.33810
license: bzip2-1.0.6
license_family: BSD
size: 54629
timestamp: 1720974690059
- conda: https://conda.anaconda.org/conda-forge/linux-64/libgcc-14.2.0-h767d61c_2.conda
sha256: 3a572d031cb86deb541d15c1875aaa097baefc0c580b54dc61f5edab99215792
md5: ef504d1acbd74b7cc6849ef8af47dd03
depends:
- __glibc >=2.17,<3.0.a0
- _openmp_mutex >=4.5
constrains:
- libgomp 14.2.0 h767d61c_2
- libgcc-ng ==14.2.0=*_2
license: GPL-3.0-only WITH GCC-exception-3.1
license_family: GPL
size: 847885
timestamp: 1740240653082
- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libgcc-14.2.0-he277a41_2.conda
sha256: a57f7f9ba2a12f56eafdcd25b6d75f7be10b8fc1a802a58b76a77ca8c66f4503
md5: 6b4268a60b10f29257b51b9b67ff8d76
depends:
- _openmp_mutex >=4.5
constrains:
- libgcc-ng ==14.2.0=*_2
- libgomp 14.2.0 he277a41_2
license: GPL-3.0-only WITH GCC-exception-3.1
license_family: GPL
size: 535507
timestamp: 1740241069780
- conda: https://conda.anaconda.org/conda-forge/linux-64/libgcc-ng-14.2.0-h69a702a_2.conda
sha256: fb7558c328b38b2f9d2e412c48da7890e7721ba018d733ebdfea57280df01904
md5: a2222a6ada71fb478682efe483ce0f92
depends:
- libgcc 14.2.0 h767d61c_2
license: GPL-3.0-only WITH GCC-exception-3.1
license_family: GPL
size: 53758
timestamp: 1740240660904
- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libgcc-ng-14.2.0-he9431aa_2.conda
sha256: 9647f75cddc18b07eebe6e1f21500eed50a6af2c43c84e831b4c7a597e10d226
md5: 692c2bb75f32cfafb6799cf6d1c5d0e0
depends:
- libgcc 14.2.0 he277a41_2
license: GPL-3.0-only WITH GCC-exception-3.1
license_family: GPL
size: 53622
timestamp: 1740241074834
- conda: https://conda.anaconda.org/conda-forge/linux-64/libgomp-14.2.0-h767d61c_2.conda
sha256: 1a3130e0b9267e781b89399580f3163632d59fe5b0142900d63052ab1a53490e
md5: 06d02030237f4d5b3d9a7e7d348fe3c6
depends:
- __glibc >=2.17,<3.0.a0
license: GPL-3.0-only WITH GCC-exception-3.1
license_family: GPL
size: 459862
timestamp: 1740240588123
- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libgomp-14.2.0-he277a41_2.conda
sha256: 4e303711fb7413bf98995beac58e731073099d7a669a3b81e49330ca8da05174
md5: b11c09d9463daf4cae492d29806b1889
license: GPL-3.0-only WITH GCC-exception-3.1
license_family: GPL
size: 462783
timestamp: 1740241005079
- conda: https://conda.anaconda.org/conda-forge/win-64/ucrt-10.0.22621.0-h57928b3_1.conda
sha256: db8dead3dd30fb1a032737554ce91e2819b43496a0db09927edf01c32b577450
md5: 6797b005cd0f439c4c5c9ac565783700
constrains:
- vs2015_runtime >=14.29.30037
license: LicenseRef-MicrosoftWindowsSDK10
size: 559710
timestamp: 1728377334097
- conda: https://conda.anaconda.org/conda-forge/win-64/vc-14.3-h2b53caa_26.conda
sha256: 7a685b5c37e9713fa314a0d26b8b1d7a2e6de5ab758698199b5d5b6dba2e3ce1
md5: d3f0381e38093bde620a8d85f266ae55
depends:
- vc14_runtime >=14.42.34433
track_features:
- vc14
license: BSD-3-Clause
license_family: BSD
size: 17893
timestamp: 1743195261486
- conda: https://conda.anaconda.org/conda-forge/win-arm64/vc-14.3-hfe6595e_26.conda
sha256: dc8f1cbbfd91e267a05cdf9bb0a04e983f9df6b02885446dfe0d796c99e67e0a
md5: a57c01b43b14be7d028c84bad0bc1599
depends:
- vc14_runtime >=14.42.34438
track_features:
- vc14
license: BSD-3-Clause
license_family: BSD
size: 17394
timestamp: 1743194837327
- conda: https://conda.anaconda.org/conda-forge/win-64/vc14_runtime-14.42.34438-hfd919c2_26.conda
sha256: 30dcb71bb166e351aadbdc18f1718757c32cdaa0e1e5d9368469ee44f6bf4709
md5: 91651a36d31aa20c7ba36299fb7068f4
depends:
- ucrt >=10.0.20348.0
constrains:
- vs2015_runtime 14.42.34438.* *_26
license: LicenseRef-MicrosoftVisualCpp2015-2022Runtime
license_family: Proprietary
size: 750733
timestamp: 1743195092905
- conda: https://conda.anaconda.org/conda-forge/win-arm64/vc14_runtime-14.42.34438-hfe4e545_26.conda
sha256: 37cf20eb09cf77e261d61ba40b322e010a7043b4247f01420f8241bd68a683ba
md5: 1995ed932d07efb2fe632778484f9fbb
license: LicenseRef-MicrosoftVisualCpp2015-2022Runtime
license_family: Proprietary
size: 15480436
timestamp: 1743194808631
+14
View File
@@ -0,0 +1,14 @@
[project]
name = "test-win-arm64"
channels = ["conda-forge"]
platforms = [
"linux-64",
"linux-aarch64",
"osx-64",
"osx-arm64",
"win-64",
"win-arm64",
]
[dependencies]
bzip2 = "*"
+532 -879
View File
File diff suppressed because it is too large Load Diff
+1 -4
View File
@@ -1,10 +1,7 @@
[project]
name = "test-default"
version = "0.1.0"
description = "Add a short description here"
authors = ["Pavel Zwerschke <pavelzw@gmail.com>"]
channels = ["conda-forge"]
platforms = ["linux-64", "osx-64", "osx-arm64", "win-64"]
platforms = ["linux-64", "linux-aarch64", "osx-64", "osx-arm64", "win-64"]
[tasks]
test = "python -c 'print(\"Hello world!\")'"
+1 -4
View File
@@ -1,10 +1,7 @@
[project]
name = "test-no-lockfile"
version = "0.1.0"
description = "Add a short description here"
authors = ["Pavel Zwerschke <pavelzw@gmail.com>"]
channels = ["conda-forge"]
platforms = ["linux-64", "osx-64", "osx-arm64", "win-64"]
platforms = ["linux-64", "linux-aarch64", "osx-64", "osx-arm64", "win-64"]
[tasks]
test = "python -c 'print(\"Hello world!\")'"