mirror of
https://github.com/prefix-dev/setup-pixi
synced 2026-10-08 15:04:08 +03:00
Compare commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
307e5e5842 | ||
|
|
273e4808c8 | ||
|
|
c690703e5f | ||
|
|
29045c2e67 | ||
|
|
2fd23d90b5 | ||
|
|
14c8aabd75 |
@@ -0,0 +1,7 @@
|
||||
:8080 {
|
||||
@unauthorized not header Authorization "Bearer s3cr3tT0k3nABC123"
|
||||
respond @unauthorized "Unauthorized: Invalid token" 401
|
||||
|
||||
root * ./assets
|
||||
file_server
|
||||
}
|
||||
@@ -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."
|
||||
|
||||
@@ -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@da05d552573ad5aba039eaac05058a918a7bf631 # v2.2.2
|
||||
uses: softprops/action-gh-release@72f2c25fcb47643c292f7107632f7a47c1df5cd8 # v2.3.2
|
||||
with:
|
||||
generate_release_notes: true
|
||||
tag_name: v${{ steps.version-metadata.outputs.newVersion }}
|
||||
|
||||
@@ -190,6 +190,47 @@ 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:
|
||||
@@ -884,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,2 +1,3 @@
|
||||
dist
|
||||
pnpm-lock.yaml
|
||||
pixi.lock
|
||||
|
||||
@@ -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.9
|
||||
- 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.9`) 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.9
|
||||
- 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.9
|
||||
- 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.9
|
||||
- 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.9
|
||||
- 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.9
|
||||
- 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.9
|
||||
- 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.9
|
||||
- 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.9
|
||||
- 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.9
|
||||
- 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.9
|
||||
- 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.9
|
||||
- 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.9
|
||||
- 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.9
|
||||
- uses: prefix-dev/setup-pixi@v0.8.12
|
||||
with:
|
||||
post-cleanup: true
|
||||
# ${{ runner.temp }}\Scripts\pixi.exe on Windows
|
||||
@@ -378,7 +378,7 @@ You can also use a preinstalled local version of pixi on the runner by not setti
|
||||
This can be overwritten by setting the `manifest-path` input argument.
|
||||
|
||||
```yml
|
||||
- uses: prefix-dev/setup-pixi@v0.8.9
|
||||
- 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.9
|
||||
- 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).
|
||||
|
||||
@@ -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.
|
||||
|
||||
+54
-52
@@ -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);
|
||||
}
|
||||
@@ -64246,7 +64246,7 @@ var import_process = require("process");
|
||||
var import_fs = require("fs");
|
||||
var core = __toESM(require_core());
|
||||
|
||||
// node_modules/.pnpm/zod@3.25.45/node_modules/zod/dist/esm/v3/helpers/util.js
|
||||
// node_modules/.pnpm/zod@3.25.67/node_modules/zod/dist/esm/v3/helpers/util.js
|
||||
var util;
|
||||
(function(util4) {
|
||||
util4.assertEqual = (_) => {
|
||||
@@ -64380,7 +64380,7 @@ var getParsedType = (data) => {
|
||||
}
|
||||
};
|
||||
|
||||
// node_modules/.pnpm/zod@3.25.45/node_modules/zod/dist/esm/v3/ZodError.js
|
||||
// node_modules/.pnpm/zod@3.25.67/node_modules/zod/dist/esm/v3/ZodError.js
|
||||
var ZodIssueCode = util.arrayToEnum([
|
||||
"invalid_type",
|
||||
"invalid_literal",
|
||||
@@ -64493,7 +64493,7 @@ ZodError.create = (issues) => {
|
||||
return error3;
|
||||
};
|
||||
|
||||
// node_modules/.pnpm/zod@3.25.45/node_modules/zod/dist/esm/v3/locales/en.js
|
||||
// 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) {
|
||||
@@ -64594,13 +64594,13 @@ var errorMap = (issue, _ctx) => {
|
||||
};
|
||||
var en_default = errorMap;
|
||||
|
||||
// node_modules/.pnpm/zod@3.25.45/node_modules/zod/dist/esm/v3/errors.js
|
||||
// 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.45/node_modules/zod/dist/esm/v3/helpers/parseUtil.js
|
||||
// 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 || []];
|
||||
@@ -64709,14 +64709,14 @@ var isDirty = (x) => x.status === "dirty";
|
||||
var isValid = (x) => x.status === "valid";
|
||||
var isAsync = (x) => typeof Promise !== "undefined" && x instanceof Promise;
|
||||
|
||||
// node_modules/.pnpm/zod@3.25.45/node_modules/zod/dist/esm/v3/helpers/errorUtil.js
|
||||
// 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?.message;
|
||||
})(errorUtil || (errorUtil = {}));
|
||||
|
||||
// node_modules/.pnpm/zod@3.25.45/node_modules/zod/dist/esm/v3/types.js
|
||||
// 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 = [];
|
||||
@@ -68128,7 +68128,7 @@ function untildify(pathWithTilde) {
|
||||
return homeDirectory ? pathWithTilde.replace(/^~(?=$|\/|\\)/, homeDirectory) : pathWithTilde;
|
||||
}
|
||||
|
||||
// node_modules/.pnpm/smol-toml@1.3.4/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];
|
||||
@@ -68168,7 +68168,7 @@ ${codeblock}`, options2);
|
||||
}
|
||||
};
|
||||
|
||||
// node_modules/.pnpm/smol-toml@1.3.4/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")
|
||||
@@ -68236,7 +68236,7 @@ function getStringEnd(str, seek) {
|
||||
return seek;
|
||||
}
|
||||
|
||||
// node_modules/.pnpm/smol-toml@1.3.4/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 {
|
||||
@@ -68333,7 +68333,7 @@ _hasTime = new WeakMap();
|
||||
_offset = new WeakMap();
|
||||
var TomlDate = _TomlDate;
|
||||
|
||||
// node_modules/.pnpm/smol-toml@1.3.4/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_]/;
|
||||
@@ -68420,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")
|
||||
@@ -68432,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,
|
||||
@@ -68466,7 +68471,7 @@ function parseValue(value, toml, ptr) {
|
||||
return date;
|
||||
}
|
||||
|
||||
// node_modules/.pnpm/smol-toml@1.3.4/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("#");
|
||||
@@ -68486,7 +68491,7 @@ function sliceAndTrimEndOf(str, startPtr, endPtr, allowNewLines) {
|
||||
}
|
||||
return [trimmed, commentIdx];
|
||||
}
|
||||
function extractValue(str, ptr, end, depth = -1) {
|
||||
function extractValue(str, ptr, end, depth, integersAsBigInt) {
|
||||
if (depth === 0) {
|
||||
throw new TomlError("document contains excessively nested structures. aborting.", {
|
||||
toml: str,
|
||||
@@ -68495,7 +68500,7 @@ function extractValue(str, ptr, end, depth = -1) {
|
||||
}
|
||||
let c = str[ptr];
|
||||
if (c === "[" || c === "{") {
|
||||
let [value, endPtr2] = c === "[" ? parseArray(str, ptr, depth) : parseInlineTable(str, ptr, depth);
|
||||
let [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);
|
||||
@@ -68537,12 +68542,12 @@ function extractValue(str, ptr, end, depth = -1) {
|
||||
endPtr += +(str[endPtr] === ",");
|
||||
}
|
||||
return [
|
||||
parseValue(slice[0], str, ptr),
|
||||
parseValue(slice[0], str, ptr, integersAsBigInt),
|
||||
endPtr
|
||||
];
|
||||
}
|
||||
|
||||
// node_modules/.pnpm/smol-toml@1.3.4/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;
|
||||
@@ -68611,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 = -1) {
|
||||
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;
|
||||
@@ -68658,7 +68655,7 @@ function parseInlineTable(str, ptr, depth = -1) {
|
||||
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;
|
||||
@@ -68679,7 +68676,7 @@ function parseInlineTable(str, ptr, depth = -1) {
|
||||
}
|
||||
return [res, ptr];
|
||||
}
|
||||
function parseArray(str, ptr, depth = -1) {
|
||||
function parseArray(str, ptr, depth, integersAsBigInt) {
|
||||
let res = [];
|
||||
let c;
|
||||
ptr++;
|
||||
@@ -68692,7 +68689,7 @@ function parseArray(str, ptr, depth = -1) {
|
||||
} 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];
|
||||
}
|
||||
@@ -68706,7 +68703,7 @@ function parseArray(str, ptr, depth = -1) {
|
||||
return [res, ptr];
|
||||
}
|
||||
|
||||
// node_modules/.pnpm/smol-toml@1.3.4/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;
|
||||
@@ -68766,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;
|
||||
@@ -68816,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];
|
||||
}
|
||||
@@ -68872,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");
|
||||
}
|
||||
@@ -68950,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
|
||||
@@ -69041,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,
|
||||
@@ -69306,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}`);
|
||||
});
|
||||
});
|
||||
|
||||
+68
-66
@@ -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,7 +20123,7 @@ var import_process = require("process");
|
||||
var import_fs = require("fs");
|
||||
var core = __toESM(require_core());
|
||||
|
||||
// node_modules/.pnpm/zod@3.25.45/node_modules/zod/dist/esm/v3/helpers/util.js
|
||||
// node_modules/.pnpm/zod@3.25.67/node_modules/zod/dist/esm/v3/helpers/util.js
|
||||
var util;
|
||||
(function(util2) {
|
||||
util2.assertEqual = (_) => {
|
||||
@@ -20256,7 +20257,7 @@ var getParsedType = (data) => {
|
||||
}
|
||||
};
|
||||
|
||||
// node_modules/.pnpm/zod@3.25.45/node_modules/zod/dist/esm/v3/ZodError.js
|
||||
// node_modules/.pnpm/zod@3.25.67/node_modules/zod/dist/esm/v3/ZodError.js
|
||||
var ZodIssueCode = util.arrayToEnum([
|
||||
"invalid_type",
|
||||
"invalid_literal",
|
||||
@@ -20369,7 +20370,7 @@ ZodError.create = (issues) => {
|
||||
return error2;
|
||||
};
|
||||
|
||||
// node_modules/.pnpm/zod@3.25.45/node_modules/zod/dist/esm/v3/locales/en.js
|
||||
// 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) {
|
||||
@@ -20470,13 +20471,13 @@ var errorMap = (issue, _ctx) => {
|
||||
};
|
||||
var en_default = errorMap;
|
||||
|
||||
// node_modules/.pnpm/zod@3.25.45/node_modules/zod/dist/esm/v3/errors.js
|
||||
// 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.45/node_modules/zod/dist/esm/v3/helpers/parseUtil.js
|
||||
// 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 || []];
|
||||
@@ -20585,14 +20586,14 @@ var isDirty = (x) => x.status === "dirty";
|
||||
var isValid = (x) => x.status === "valid";
|
||||
var isAsync = (x) => typeof Promise !== "undefined" && x instanceof Promise;
|
||||
|
||||
// node_modules/.pnpm/zod@3.25.45/node_modules/zod/dist/esm/v3/helpers/errorUtil.js
|
||||
// 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?.message;
|
||||
})(errorUtil || (errorUtil = {}));
|
||||
|
||||
// node_modules/.pnpm/zod@3.25.45/node_modules/zod/dist/esm/v3/types.js
|
||||
// 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 = [];
|
||||
@@ -24004,7 +24005,7 @@ function untildify(pathWithTilde) {
|
||||
return homeDirectory ? pathWithTilde.replace(/^~(?=$|\/|\\)/, homeDirectory) : pathWithTilde;
|
||||
}
|
||||
|
||||
// node_modules/.pnpm/smol-toml@1.3.4/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];
|
||||
@@ -24044,7 +24045,7 @@ ${codeblock}`, options2);
|
||||
}
|
||||
};
|
||||
|
||||
// node_modules/.pnpm/smol-toml@1.3.4/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")
|
||||
@@ -24112,7 +24113,7 @@ function getStringEnd(str, seek) {
|
||||
return seek;
|
||||
}
|
||||
|
||||
// node_modules/.pnpm/smol-toml@1.3.4/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 {
|
||||
@@ -24209,7 +24210,7 @@ _hasTime = new WeakMap();
|
||||
_offset = new WeakMap();
|
||||
var TomlDate = _TomlDate;
|
||||
|
||||
// node_modules/.pnpm/smol-toml@1.3.4/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_]/;
|
||||
@@ -24296,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")
|
||||
@@ -24308,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,
|
||||
@@ -24342,7 +24348,7 @@ function parseValue(value, toml, ptr) {
|
||||
return date;
|
||||
}
|
||||
|
||||
// node_modules/.pnpm/smol-toml@1.3.4/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("#");
|
||||
@@ -24362,7 +24368,7 @@ function sliceAndTrimEndOf(str, startPtr, endPtr, allowNewLines) {
|
||||
}
|
||||
return [trimmed, commentIdx];
|
||||
}
|
||||
function extractValue(str, ptr, end, depth = -1) {
|
||||
function extractValue(str, ptr, end, depth, integersAsBigInt) {
|
||||
if (depth === 0) {
|
||||
throw new TomlError("document contains excessively nested structures. aborting.", {
|
||||
toml: str,
|
||||
@@ -24371,7 +24377,7 @@ function extractValue(str, ptr, end, depth = -1) {
|
||||
}
|
||||
let c = str[ptr];
|
||||
if (c === "[" || c === "{") {
|
||||
let [value, endPtr2] = c === "[" ? parseArray(str, ptr, depth) : parseInlineTable(str, ptr, depth);
|
||||
let [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);
|
||||
@@ -24413,12 +24419,12 @@ function extractValue(str, ptr, end, depth = -1) {
|
||||
endPtr += +(str[endPtr] === ",");
|
||||
}
|
||||
return [
|
||||
parseValue(slice[0], str, ptr),
|
||||
parseValue(slice[0], str, ptr, integersAsBigInt),
|
||||
endPtr
|
||||
];
|
||||
}
|
||||
|
||||
// node_modules/.pnpm/smol-toml@1.3.4/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;
|
||||
@@ -24487,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 = -1) {
|
||||
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;
|
||||
@@ -24534,7 +24532,7 @@ function parseInlineTable(str, ptr, depth = -1) {
|
||||
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;
|
||||
@@ -24555,7 +24553,7 @@ function parseInlineTable(str, ptr, depth = -1) {
|
||||
}
|
||||
return [res, ptr];
|
||||
}
|
||||
function parseArray(str, ptr, depth = -1) {
|
||||
function parseArray(str, ptr, depth, integersAsBigInt) {
|
||||
let res = [];
|
||||
let c;
|
||||
ptr++;
|
||||
@@ -24568,7 +24566,7 @@ function parseArray(str, ptr, depth = -1) {
|
||||
} 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];
|
||||
}
|
||||
@@ -24582,7 +24580,7 @@ function parseArray(str, ptr, depth = -1) {
|
||||
return [res, ptr];
|
||||
}
|
||||
|
||||
// node_modules/.pnpm/smol-toml@1.3.4/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;
|
||||
@@ -24642,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;
|
||||
@@ -24692,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];
|
||||
}
|
||||
@@ -24748,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");
|
||||
}
|
||||
@@ -24826,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
|
||||
@@ -24917,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,
|
||||
@@ -24969,29 +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, {
|
||||
// Ignore exceptions if pixi binary does not exist anymore,
|
||||
// to avoid errors if setup-pixi is used multiple times within the same workflow.
|
||||
// This could, for instance, be the case for composite actions using setup-pixi.
|
||||
force: true
|
||||
}).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) {
|
||||
|
||||
+8
-8
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "setup-pixi",
|
||||
"version": "0.8.9",
|
||||
"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.4",
|
||||
"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"
|
||||
}
|
||||
}
|
||||
|
||||
Generated
+177
-178
@@ -24,8 +24,8 @@ importers:
|
||||
specifier: ^2.0.2
|
||||
version: 2.0.2
|
||||
smol-toml:
|
||||
specifier: ^1.3.4
|
||||
version: 1.3.4
|
||||
specifier: ^1.4.0
|
||||
version: 1.4.0
|
||||
untildify:
|
||||
specifier: ^5.0.0
|
||||
version: 5.0.0
|
||||
@@ -33,27 +33,27 @@ importers:
|
||||
specifier: ^5.0.0
|
||||
version: 5.0.0
|
||||
zod:
|
||||
specifier: ^3.24.2
|
||||
version: 3.25.45
|
||||
specifier: ^3.25.67
|
||||
version: 3.25.67
|
||||
devDependencies:
|
||||
'@eslint/js':
|
||||
specifier: ^9.23.0
|
||||
version: 9.28.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.15.29
|
||||
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.28.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.5.0(typescript@5.8.3)
|
||||
@@ -61,8 +61,8 @@ importers:
|
||||
specifier: ^5.8.2
|
||||
version: 5.8.3
|
||||
typescript-eslint:
|
||||
specifier: ^8.29.0
|
||||
version: 8.33.0(eslint@9.28.0)(typescript@5.8.3)
|
||||
specifier: ^8.35.1
|
||||
version: 8.35.1(eslint@9.30.0)(typescript@5.8.3)
|
||||
|
||||
packages:
|
||||
|
||||
@@ -292,12 +292,6 @@ packages:
|
||||
cpu: [x64]
|
||||
os: [win32]
|
||||
|
||||
'@eslint-community/eslint-utils@4.5.1':
|
||||
resolution: {integrity: sha512-soEIOALTfTK6EjmKMMoLugwaP0rzkad90iIWd1hMO9ARkSAyjfMfkRRhLvD5qH7vvM0Cg72pieUfR6yh6XxC4w==}
|
||||
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
|
||||
peerDependencies:
|
||||
eslint: ^6.0.0 || ^7.0.0 || >=8.0.0
|
||||
|
||||
'@eslint-community/eslint-utils@4.7.0':
|
||||
resolution: {integrity: sha512-dyybb3AcajC7uha6CvhdVRJqaKyn7w2YKqKyAN37NKYgZT36w+iRb0Dymmc5qEJ549c/S31cMMSFd75bteCpCw==}
|
||||
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
|
||||
@@ -308,32 +302,36 @@ packages:
|
||||
resolution: {integrity: sha512-CCZCDJuduB9OUkFkY2IgppNZMi2lBQgD2qzwXkEia16cge2pijY/aXi96CJMquDMn3nJdlPV1A5KrJEXwfLNzQ==}
|
||||
engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0}
|
||||
|
||||
'@eslint/config-array@0.20.0':
|
||||
resolution: {integrity: sha512-fxlS1kkIjx8+vy2SjuCB94q3htSNrufYTXubwiBFeaQHbH6Ipi43gFJq2zCMt6PHhImH3Xmr0NksKDvchWlpQQ==}
|
||||
'@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.2':
|
||||
resolution: {integrity: sha512-+GPzk8PlG0sPpzdU5ZvIRMPidzAnZDl/s9L+y13iodqvb8leL53bTannOrQ/Im7UkpsmFU5Ily5U60LWixnmLg==}
|
||||
'@eslint/config-helpers@0.3.0':
|
||||
resolution: {integrity: sha512-ViuymvFmcJi04qdZeDc2whTHryouGcDlaxPqarTD0ZE10ISpxGUVZGZDx4w01upyIynL3iu6IXH2bS1NhclQMw==}
|
||||
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
|
||||
|
||||
'@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.28.0':
|
||||
resolution: {integrity: sha512-fnqSjGWd/CoIp4EXIxWVK/sHA6DOHN4+8Ix2cX5ycOY7LG0UY8nHCU5pIp2eaE1Mc7Qd8kHspYNzYXT2ojPLzg==}
|
||||
'@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.3.1':
|
||||
resolution: {integrity: sha512-0J+zgWxHN+xXONWIyPWKFMgVuJoZuGiIFu8yxk7RJjxkzpGmyja5wRFqZIVtjDVOQpV+Rw0iOAjYPE2eQyjr0w==}
|
||||
'@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':
|
||||
@@ -356,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':
|
||||
@@ -517,73 +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.15.29':
|
||||
resolution: {integrity: sha512-LNdjOkUDlU1RZb8e1kOIUpN1qQUlzGkEtbVNo53vbrwDg5om6oduhm4SiUaPW5ASTXhAiP0jInWG8Qx9fVlOeQ==}
|
||||
'@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.33.0':
|
||||
resolution: {integrity: sha512-CACyQuqSHt7ma3Ns601xykeBK/rDeZa3w6IS6UtMQbixO5DWy+8TilKkviGDH6jtWCo8FGRKEK5cLLkPvEammQ==}
|
||||
'@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.33.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.33.0':
|
||||
resolution: {integrity: sha512-JaehZvf6m0yqYp34+RVnihBAChkqeH+tqqhS0GuX1qgPpwLvmTPheKEs6OeCK6hVJgXZHJ2vbjnC9j119auStQ==}
|
||||
'@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/project-service@8.33.0':
|
||||
resolution: {integrity: sha512-d1hz0u9l6N+u/gcrk6s6gYdl7/+pp8yHheRTqP6X5hVDKALEaTn8WfGiit7G511yueBEL3OpOEpD+3/MBdoN+A==}
|
||||
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
|
||||
|
||||
'@typescript-eslint/scope-manager@8.33.0':
|
||||
resolution: {integrity: sha512-LMi/oqrzpqxyO72ltP+dBSP6V0xiUb4saY7WLtxSfiNEBI8m321LLVFU9/QDJxjDQG9/tjSqKz/E3380TEqSTw==}
|
||||
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
|
||||
|
||||
'@typescript-eslint/tsconfig-utils@8.33.0':
|
||||
resolution: {integrity: sha512-sTkETlbqhEoiFmGr1gsdq5HyVbSOF0145SYDJ/EQmXHtKViCaGvnyLqWFFHtEXoS0J1yU8Wyou2UGmgW88fEug==}
|
||||
'@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/type-utils@8.33.0':
|
||||
resolution: {integrity: sha512-lScnHNCBqL1QayuSrWeqAL5GmqNdVUQAAMTaCwdYEdWfIrSrOGzyLGRCHXcCixa5NK6i5l0AfSO2oBSjCjf4XQ==}
|
||||
'@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/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.33.0':
|
||||
resolution: {integrity: sha512-DKuXOKpM5IDT1FA2g9x9x1Ug81YuKrzf4mYX8FAVSNu5Wo/LELHWQyM1pQaDkI42bX15PWl0vNPt1uGiIFUOpg==}
|
||||
'@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.33.0':
|
||||
resolution: {integrity: sha512-vegY4FQoB6jL97Tu/lWRsAiUUp8qJTqzAmENH2k59SJhw0Th1oszb9Idq/FyyONLuNqT1OADJPXfyUNOR8SzAQ==}
|
||||
'@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.33.0':
|
||||
resolution: {integrity: sha512-lPFuQaLA9aSNa7D5u2EpRiqdAUhzShwGg/nhpBlc4GR6kcTABttCuyjFs8BcEZ8VWrjCBof/bePhP3Q3fS+Yrw==}
|
||||
'@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.33.0':
|
||||
resolution: {integrity: sha512-7RW7CMYoskiz5OOGAWjJFxgb7c5UNjTG292gYhWeOAcFmYCtVCSqjqSBj5zMhxbXo2JOW95YYrUWJfU0zrpaGQ==}
|
||||
'@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:
|
||||
@@ -595,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
|
||||
|
||||
@@ -635,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==}
|
||||
@@ -763,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.28.0:
|
||||
resolution: {integrity: sha512-ocgh41VhRlf9+fVpe7QKzwLj9c92fDiqOj8Y3Sd4/ZmVA4Btx4PlUYPq4pp9JDyupkf1upbEXecxL2mwNV7jPQ==}
|
||||
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:
|
||||
@@ -785,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:
|
||||
@@ -1157,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
|
||||
|
||||
@@ -1220,8 +1220,8 @@ packages:
|
||||
resolution: {integrity: sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==}
|
||||
engines: {node: '>=14'}
|
||||
|
||||
smol-toml@1.3.4:
|
||||
resolution: {integrity: sha512-UOPtVuYkzYGee0Bd2Szz8d2G3RfMfJ2t3qVdZUAozZyAk+a0Sxa+QKix0YCwjL/A1RR0ar44nCxaoN9FxdJGwA==}
|
||||
smol-toml@1.4.0:
|
||||
resolution: {integrity: sha512-IMxaDA/58wBvkvX77ykQ6e9r6fjs8xbxpz8bMCyVQ/fEFWbA5uJrnaVwDuhLrrANGdd7apRyTPDBvI893Bxu9g==}
|
||||
engines: {node: '>= 18'}
|
||||
|
||||
source-map@0.8.0-beta.0:
|
||||
@@ -1330,8 +1330,8 @@ packages:
|
||||
resolution: {integrity: sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==}
|
||||
engines: {node: '>= 0.8.0'}
|
||||
|
||||
typescript-eslint@8.33.0:
|
||||
resolution: {integrity: sha512-5YmNhF24ylCsvdNW2oJwMzTbaeO4bg90KeGtMjUw0AGtHksgEPLRTUil+coHwCfiu4QjVJFnjp94DmU6zV7DhQ==}
|
||||
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
|
||||
@@ -1350,8 +1350,8 @@ packages:
|
||||
ufo@1.6.1:
|
||||
resolution: {integrity: sha512-9a4/uxlTWJ4+a5i0ooc1rU7C7YOw3wT+UGqdeNNHWnOF9qcMBgLRS+4IYUqbczewFx4mLEig6gawh7X6mFlEkA==}
|
||||
|
||||
undici-types@6.21.0:
|
||||
resolution: {integrity: sha512-iwDZqg0QAGrg9Rav5H4n0M64c3mkR59cJ6wQp+7C4nI0gsmExaedaYLNO44eT4AtBBwjbTiGPMlt2Md0T9H9JQ==}
|
||||
undici-types@7.8.0:
|
||||
resolution: {integrity: sha512-9UJ2xGDvQ43tYyVMpuHlsgApydB8ZKfVYTsLDhXkFL/6gfkp+U8xTGdh8pMJv1SpZna0zxG1DwsKZsreLbXBxw==}
|
||||
|
||||
undici@5.29.0:
|
||||
resolution: {integrity: sha512-raqeBD6NQK4SkWhQzeYKd1KmIG6dllBOTt55Rmkt4HtI9mwdWtJljnrXjAFUBLTSN67HWrOIZ3EPF4kjUw80Bg==}
|
||||
@@ -1414,8 +1414,8 @@ packages:
|
||||
resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==}
|
||||
engines: {node: '>=10'}
|
||||
|
||||
zod@3.25.45:
|
||||
resolution: {integrity: sha512-kv1swJBZqv98NQibL0oVvkQE8rXT+6qGNM1FpZkFcJG2jnz4vbtu48bgaitp85CaBPLSKXibrEsU7MzJoVoZAA==}
|
||||
zod@3.25.67:
|
||||
resolution: {integrity: sha512-idA2YXwpCdqUSKRCACDE6ItZD9TZzy3OZMtpfLoh6oPR47lipysRrJfjzMqFxQ3uJuUPyUeWe1r9vLH33xO/Qw==}
|
||||
|
||||
snapshots:
|
||||
|
||||
@@ -1646,37 +1646,36 @@ snapshots:
|
||||
'@esbuild/win32-x64@0.25.0':
|
||||
optional: true
|
||||
|
||||
'@eslint-community/eslint-utils@4.5.1(eslint@9.28.0)':
|
||||
'@eslint-community/eslint-utils@4.7.0(eslint@9.30.0)':
|
||||
dependencies:
|
||||
eslint: 9.28.0
|
||||
eslint-visitor-keys: 3.4.3
|
||||
|
||||
'@eslint-community/eslint-utils@4.7.0(eslint@9.28.0)':
|
||||
dependencies:
|
||||
eslint: 9.28.0
|
||||
eslint: 9.30.0
|
||||
eslint-visitor-keys: 3.4.3
|
||||
|
||||
'@eslint-community/regexpp@4.12.1': {}
|
||||
|
||||
'@eslint/config-array@0.20.0':
|
||||
'@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.2': {}
|
||||
'@eslint/config-helpers@0.3.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
|
||||
@@ -1686,13 +1685,13 @@ snapshots:
|
||||
transitivePeerDependencies:
|
||||
- supports-color
|
||||
|
||||
'@eslint/js@9.28.0': {}
|
||||
'@eslint/js@9.30.0': {}
|
||||
|
||||
'@eslint/object-schema@2.1.6': {}
|
||||
|
||||
'@eslint/plugin-kit@0.3.1':
|
||||
'@eslint/plugin-kit@0.3.3':
|
||||
dependencies:
|
||||
'@eslint/core': 0.14.0
|
||||
'@eslint/core': 0.15.1
|
||||
levn: 0.4.1
|
||||
|
||||
'@fastify/busboy@2.1.1': {}
|
||||
@@ -1708,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:
|
||||
@@ -1831,29 +1830,29 @@ snapshots:
|
||||
|
||||
'@types/eslint__js@9.14.0':
|
||||
dependencies:
|
||||
'@eslint/js': 9.28.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.15.29':
|
||||
'@types/node@24.0.8':
|
||||
dependencies:
|
||||
undici-types: 6.21.0
|
||||
undici-types: 7.8.0
|
||||
|
||||
'@types/which@3.0.4': {}
|
||||
|
||||
'@typescript-eslint/eslint-plugin@8.33.0(@typescript-eslint/parser@8.33.0(eslint@9.28.0)(typescript@5.8.3))(eslint@9.28.0)(typescript@5.8.3)':
|
||||
'@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.33.0(eslint@9.28.0)(typescript@5.8.3)
|
||||
'@typescript-eslint/scope-manager': 8.33.0
|
||||
'@typescript-eslint/type-utils': 8.33.0(eslint@9.28.0)(typescript@5.8.3)
|
||||
'@typescript-eslint/utils': 8.33.0(eslint@9.28.0)(typescript@5.8.3)
|
||||
'@typescript-eslint/visitor-keys': 8.33.0
|
||||
eslint: 9.28.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: 7.0.5
|
||||
natural-compare: 1.4.0
|
||||
@@ -1862,55 +1861,55 @@ snapshots:
|
||||
transitivePeerDependencies:
|
||||
- supports-color
|
||||
|
||||
'@typescript-eslint/parser@8.33.0(eslint@9.28.0)(typescript@5.8.3)':
|
||||
'@typescript-eslint/parser@8.35.1(eslint@9.30.0)(typescript@5.8.3)':
|
||||
dependencies:
|
||||
'@typescript-eslint/scope-manager': 8.33.0
|
||||
'@typescript-eslint/types': 8.33.0
|
||||
'@typescript-eslint/typescript-estree': 8.33.0(typescript@5.8.3)
|
||||
'@typescript-eslint/visitor-keys': 8.33.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)
|
||||
'@typescript-eslint/visitor-keys': 8.35.1
|
||||
debug: 4.4.1
|
||||
eslint: 9.28.0
|
||||
eslint: 9.30.0
|
||||
typescript: 5.8.3
|
||||
transitivePeerDependencies:
|
||||
- supports-color
|
||||
|
||||
'@typescript-eslint/project-service@8.33.0(typescript@5.8.3)':
|
||||
'@typescript-eslint/project-service@8.35.1(typescript@5.8.3)':
|
||||
dependencies:
|
||||
'@typescript-eslint/tsconfig-utils': 8.33.0(typescript@5.8.3)
|
||||
'@typescript-eslint/types': 8.33.0
|
||||
'@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
|
||||
|
||||
'@typescript-eslint/scope-manager@8.33.0':
|
||||
'@typescript-eslint/scope-manager@8.35.1':
|
||||
dependencies:
|
||||
'@typescript-eslint/types': 8.33.0
|
||||
'@typescript-eslint/visitor-keys': 8.33.0
|
||||
'@typescript-eslint/types': 8.35.1
|
||||
'@typescript-eslint/visitor-keys': 8.35.1
|
||||
|
||||
'@typescript-eslint/tsconfig-utils@8.33.0(typescript@5.8.3)':
|
||||
'@typescript-eslint/tsconfig-utils@8.35.1(typescript@5.8.3)':
|
||||
dependencies:
|
||||
typescript: 5.8.3
|
||||
|
||||
'@typescript-eslint/type-utils@8.33.0(eslint@9.28.0)(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.33.0(typescript@5.8.3)
|
||||
'@typescript-eslint/utils': 8.33.0(eslint@9.28.0)(typescript@5.8.3)
|
||||
'@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.28.0
|
||||
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.33.0': {}
|
||||
'@typescript-eslint/types@8.35.1': {}
|
||||
|
||||
'@typescript-eslint/typescript-estree@8.33.0(typescript@5.8.3)':
|
||||
'@typescript-eslint/typescript-estree@8.35.1(typescript@5.8.3)':
|
||||
dependencies:
|
||||
'@typescript-eslint/project-service': 8.33.0(typescript@5.8.3)
|
||||
'@typescript-eslint/tsconfig-utils': 8.33.0(typescript@5.8.3)
|
||||
'@typescript-eslint/types': 8.33.0
|
||||
'@typescript-eslint/visitor-keys': 8.33.0
|
||||
'@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
|
||||
@@ -1921,31 +1920,31 @@ snapshots:
|
||||
transitivePeerDependencies:
|
||||
- supports-color
|
||||
|
||||
'@typescript-eslint/utils@8.33.0(eslint@9.28.0)(typescript@5.8.3)':
|
||||
'@typescript-eslint/utils@8.35.1(eslint@9.30.0)(typescript@5.8.3)':
|
||||
dependencies:
|
||||
'@eslint-community/eslint-utils': 4.7.0(eslint@9.28.0)
|
||||
'@typescript-eslint/scope-manager': 8.33.0
|
||||
'@typescript-eslint/types': 8.33.0
|
||||
'@typescript-eslint/typescript-estree': 8.33.0(typescript@5.8.3)
|
||||
eslint: 9.28.0
|
||||
'@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.33.0':
|
||||
'@typescript-eslint/visitor-keys@8.35.1':
|
||||
dependencies:
|
||||
'@typescript-eslint/types': 8.33.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: {}
|
||||
|
||||
@@ -1974,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
|
||||
|
||||
@@ -2103,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.28.0:
|
||||
eslint@9.30.0:
|
||||
dependencies:
|
||||
'@eslint-community/eslint-utils': 4.5.1(eslint@9.28.0)
|
||||
'@eslint-community/eslint-utils': 4.7.0(eslint@9.30.0)
|
||||
'@eslint-community/regexpp': 4.12.1
|
||||
'@eslint/config-array': 0.20.0
|
||||
'@eslint/config-helpers': 0.2.2
|
||||
'@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.28.0
|
||||
'@eslint/plugin-kit': 0.3.1
|
||||
'@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
|
||||
@@ -2152,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:
|
||||
@@ -2400,17 +2399,17 @@ 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.14.1
|
||||
acorn: 8.15.0
|
||||
pathe: 2.0.3
|
||||
pkg-types: 1.3.1
|
||||
ufo: 1.6.1
|
||||
@@ -2485,7 +2484,7 @@ snapshots:
|
||||
|
||||
prelude-ls@1.2.1: {}
|
||||
|
||||
prettier@3.5.3: {}
|
||||
prettier@3.6.2: {}
|
||||
|
||||
punycode@2.3.1: {}
|
||||
|
||||
@@ -2544,7 +2543,7 @@ snapshots:
|
||||
|
||||
signal-exit@4.1.0: {}
|
||||
|
||||
smol-toml@1.3.4: {}
|
||||
smol-toml@1.4.0: {}
|
||||
|
||||
source-map@0.8.0-beta.0:
|
||||
dependencies:
|
||||
@@ -2658,12 +2657,12 @@ snapshots:
|
||||
dependencies:
|
||||
prelude-ls: 1.2.1
|
||||
|
||||
typescript-eslint@8.33.0(eslint@9.28.0)(typescript@5.8.3):
|
||||
typescript-eslint@8.35.1(eslint@9.30.0)(typescript@5.8.3):
|
||||
dependencies:
|
||||
'@typescript-eslint/eslint-plugin': 8.33.0(@typescript-eslint/parser@8.33.0(eslint@9.28.0)(typescript@5.8.3))(eslint@9.28.0)(typescript@5.8.3)
|
||||
'@typescript-eslint/parser': 8.33.0(eslint@9.28.0)(typescript@5.8.3)
|
||||
'@typescript-eslint/utils': 8.33.0(eslint@9.28.0)(typescript@5.8.3)
|
||||
eslint: 9.28.0
|
||||
'@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
|
||||
@@ -2674,7 +2673,7 @@ snapshots:
|
||||
|
||||
ufo@1.6.1: {}
|
||||
|
||||
undici-types@6.21.0: {}
|
||||
undici-types@7.8.0: {}
|
||||
|
||||
undici@5.29.0:
|
||||
dependencies:
|
||||
@@ -2734,4 +2733,4 @@ snapshots:
|
||||
|
||||
yocto-queue@0.1.0: {}
|
||||
|
||||
zod@3.25.45: {}
|
||||
zod@3.25.67: {}
|
||||
|
||||
+3
-1
@@ -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
@@ -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,
|
||||
|
||||
+20
-20
@@ -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,32 +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, {
|
||||
// Ignore exceptions if pixi binary does not exist anymore,
|
||||
// to avoid errors if setup-pixi is used multiple times within the same workflow.
|
||||
// This could, for instance, be the case for composite actions using setup-pixi.
|
||||
force: true
|
||||
})
|
||||
.then(() => removeEmptyParentDirs(pixiBinDir))
|
||||
if (existsSync(pixiBinPath)) {
|
||||
return fs.rm(pixiBinPath).then(() => removeEmptyParentDirs(pixiBinDir))
|
||||
} else {
|
||||
return removeEmptyParentDirs(pixiBinDir)
|
||||
}
|
||||
}
|
||||
|
||||
const cleanupEnv = () => {
|
||||
|
||||
Reference in New Issue
Block a user