mirror of
https://github.com/astral-sh/setup-uv.git
synced 2026-07-21 12:29:40 +00:00
Compare commits
5 Commits
v8.3.2
...
dependabot
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
7e6ecf7c94 | ||
|
|
71966eff34 | ||
|
|
f12b1f0a84 | ||
|
|
ecd24dd710 | ||
|
|
6a19136684 |
6
.github/workflows/codeql-analysis.yml
vendored
6
.github/workflows/codeql-analysis.yml
vendored
@@ -47,7 +47,7 @@ jobs:
|
|||||||
|
|
||||||
# Initializes the CodeQL tools for scanning.
|
# Initializes the CodeQL tools for scanning.
|
||||||
- name: Initialize CodeQL
|
- name: Initialize CodeQL
|
||||||
uses: github/codeql-action/init@8aad20d150bbac5944a9f9d289da16a4b0d87c1e # v4.36.2
|
uses: github/codeql-action/init@99df26d4f13ea111d4ec1a7dddef6063f76b97e9 # v4.37.0
|
||||||
with:
|
with:
|
||||||
languages: ${{ matrix.language }}
|
languages: ${{ matrix.language }}
|
||||||
source-root: src
|
source-root: src
|
||||||
@@ -59,7 +59,7 @@ jobs:
|
|||||||
# Autobuild attempts to build any compiled languages (C/C++, C#, or Java).
|
# Autobuild attempts to build any compiled languages (C/C++, C#, or Java).
|
||||||
# If this step fails, then you should remove it and run the build manually (see below)
|
# If this step fails, then you should remove it and run the build manually (see below)
|
||||||
- name: Autobuild
|
- name: Autobuild
|
||||||
uses: github/codeql-action/autobuild@8aad20d150bbac5944a9f9d289da16a4b0d87c1e # v4.36.2
|
uses: github/codeql-action/autobuild@99df26d4f13ea111d4ec1a7dddef6063f76b97e9 # v4.37.0
|
||||||
|
|
||||||
# ℹ️ Command-line programs to run using the OS shell.
|
# ℹ️ Command-line programs to run using the OS shell.
|
||||||
# 📚 https://git.io/JvXDl
|
# 📚 https://git.io/JvXDl
|
||||||
@@ -73,4 +73,4 @@ jobs:
|
|||||||
# make release
|
# make release
|
||||||
|
|
||||||
- name: Perform CodeQL Analysis
|
- name: Perform CodeQL Analysis
|
||||||
uses: github/codeql-action/analyze@8aad20d150bbac5944a9f9d289da16a4b0d87c1e # v4.36.2
|
uses: github/codeql-action/analyze@99df26d4f13ea111d4ec1a7dddef6063f76b97e9 # v4.37.0
|
||||||
|
|||||||
16
README.md
16
README.md
@@ -26,7 +26,7 @@ Set up your GitHub Actions workflow with a specific version of [uv](https://docs
|
|||||||
|
|
||||||
```yaml
|
```yaml
|
||||||
- name: Install the latest version of uv
|
- name: Install the latest version of uv
|
||||||
uses: astral-sh/setup-uv@f98e06938123ccabd21905ea5d0069192241f9f1 # v8.3.1
|
uses: astral-sh/setup-uv@11f9893b081a58869d3b5fccaea48c9e9e46f990 # v8.3.2
|
||||||
```
|
```
|
||||||
|
|
||||||
If you do not specify a version, this action will look for a [required-version](https://docs.astral.sh/uv/reference/settings/#required-version)
|
If you do not specify a version, this action will look for a [required-version](https://docs.astral.sh/uv/reference/settings/#required-version)
|
||||||
@@ -42,7 +42,7 @@ Have a look under [Advanced Configuration](#advanced-configuration) for detailed
|
|||||||
|
|
||||||
```yaml
|
```yaml
|
||||||
- name: Install uv with all available options
|
- name: Install uv with all available options
|
||||||
uses: astral-sh/setup-uv@f98e06938123ccabd21905ea5d0069192241f9f1 # v8.3.1
|
uses: astral-sh/setup-uv@11f9893b081a58869d3b5fccaea48c9e9e46f990 # v8.3.2
|
||||||
with:
|
with:
|
||||||
# The version of uv to install (default: searches for version in config files, then latest)
|
# The version of uv to install (default: searches for version in config files, then latest)
|
||||||
version: ""
|
version: ""
|
||||||
@@ -148,7 +148,7 @@ This will override any python version specifications in `pyproject.toml` and `.p
|
|||||||
|
|
||||||
```yaml
|
```yaml
|
||||||
- name: Install the latest version of uv and set the python version to 3.13t
|
- name: Install the latest version of uv and set the python version to 3.13t
|
||||||
uses: astral-sh/setup-uv@f98e06938123ccabd21905ea5d0069192241f9f1 # v8.3.1
|
uses: astral-sh/setup-uv@11f9893b081a58869d3b5fccaea48c9e9e46f990 # v8.3.2
|
||||||
with:
|
with:
|
||||||
python-version: 3.13t
|
python-version: 3.13t
|
||||||
- run: uv pip install --python=3.13t pip
|
- run: uv pip install --python=3.13t pip
|
||||||
@@ -166,7 +166,7 @@ jobs:
|
|||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v5
|
- uses: actions/checkout@v5
|
||||||
- name: Install the latest version of uv and set the python version
|
- name: Install the latest version of uv and set the python version
|
||||||
uses: astral-sh/setup-uv@f98e06938123ccabd21905ea5d0069192241f9f1 # v8.3.1
|
uses: astral-sh/setup-uv@11f9893b081a58869d3b5fccaea48c9e9e46f990 # v8.3.2
|
||||||
with:
|
with:
|
||||||
python-version: ${{ matrix.python-version }}
|
python-version: ${{ matrix.python-version }}
|
||||||
- name: Test with python ${{ matrix.python-version }}
|
- name: Test with python ${{ matrix.python-version }}
|
||||||
@@ -183,7 +183,7 @@ It also controls where [the venv gets created](#activate-environment), unless `v
|
|||||||
|
|
||||||
```yaml
|
```yaml
|
||||||
- name: Install uv based on the config files in the working-directory
|
- name: Install uv based on the config files in the working-directory
|
||||||
uses: astral-sh/setup-uv@f98e06938123ccabd21905ea5d0069192241f9f1 # v8.3.1
|
uses: astral-sh/setup-uv@11f9893b081a58869d3b5fccaea48c9e9e46f990 # v8.3.2
|
||||||
with:
|
with:
|
||||||
working-directory: my/subproject/dir
|
working-directory: my/subproject/dir
|
||||||
```
|
```
|
||||||
@@ -225,7 +225,7 @@ For example:
|
|||||||
- name: Checkout the repository
|
- name: Checkout the repository
|
||||||
uses: actions/checkout@main
|
uses: actions/checkout@main
|
||||||
- name: Install the latest version of uv
|
- name: Install the latest version of uv
|
||||||
uses: astral-sh/setup-uv@f98e06938123ccabd21905ea5d0069192241f9f1 # v8.3.1
|
uses: astral-sh/setup-uv@11f9893b081a58869d3b5fccaea48c9e9e46f990 # v8.3.2
|
||||||
with:
|
with:
|
||||||
enable-cache: true
|
enable-cache: true
|
||||||
- name: Test
|
- name: Test
|
||||||
@@ -237,7 +237,7 @@ To install a specific version of Python, use
|
|||||||
|
|
||||||
```yaml
|
```yaml
|
||||||
- name: Install the latest version of uv
|
- name: Install the latest version of uv
|
||||||
uses: astral-sh/setup-uv@f98e06938123ccabd21905ea5d0069192241f9f1 # v8.3.1
|
uses: astral-sh/setup-uv@11f9893b081a58869d3b5fccaea48c9e9e46f990 # v8.3.2
|
||||||
with:
|
with:
|
||||||
enable-cache: true
|
enable-cache: true
|
||||||
- name: Install Python 3.12
|
- name: Install Python 3.12
|
||||||
@@ -256,7 +256,7 @@ output:
|
|||||||
uses: actions/checkout@main
|
uses: actions/checkout@main
|
||||||
- name: Install the default version of uv
|
- name: Install the default version of uv
|
||||||
id: setup-uv
|
id: setup-uv
|
||||||
uses: astral-sh/setup-uv@f98e06938123ccabd21905ea5d0069192241f9f1 # v8.3.1
|
uses: astral-sh/setup-uv@11f9893b081a58869d3b5fccaea48c9e9e46f990 # v8.3.2
|
||||||
- name: Print the installed version
|
- name: Print the installed version
|
||||||
run: echo "Installed uv version is ${{ steps.setup-uv.outputs.uv-version }}"
|
run: echo "Installed uv version is ${{ steps.setup-uv.outputs.uv-version }}"
|
||||||
```
|
```
|
||||||
|
|||||||
400
dist/save-cache/index.cjs
generated
vendored
400
dist/save-cache/index.cjs
generated
vendored
@@ -61835,125 +61835,6 @@ var import_node_path = __toESM(require("node:path"), 1);
|
|||||||
// src/utils/config-file.ts
|
// src/utils/config-file.ts
|
||||||
var import_node_fs2 = __toESM(require("node:fs"), 1);
|
var import_node_fs2 = __toESM(require("node:fs"), 1);
|
||||||
|
|
||||||
// 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];
|
|
||||||
}
|
|
||||||
function makeCodeBlock(string, line, column) {
|
|
||||||
let lines = string.split(/\r\n|\n|\r/g);
|
|
||||||
let codeblock = "";
|
|
||||||
let numberLen = (Math.log10(line + 1) | 0) + 1;
|
|
||||||
for (let i = line - 1; i <= line + 1; i++) {
|
|
||||||
let l = lines[i - 1];
|
|
||||||
if (!l)
|
|
||||||
continue;
|
|
||||||
codeblock += i.toString().padEnd(numberLen, " ");
|
|
||||||
codeblock += ": ";
|
|
||||||
codeblock += l;
|
|
||||||
codeblock += "\n";
|
|
||||||
if (i === line) {
|
|
||||||
codeblock += " ".repeat(numberLen + column + 2);
|
|
||||||
codeblock += "^\n";
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return codeblock;
|
|
||||||
}
|
|
||||||
var TomlError = class extends Error {
|
|
||||||
line;
|
|
||||||
column;
|
|
||||||
codeblock;
|
|
||||||
constructor(message, options) {
|
|
||||||
const [line, column] = getLineColFromPtr(options.toml, options.ptr);
|
|
||||||
const codeblock = makeCodeBlock(options.toml, line, column);
|
|
||||||
super(`Invalid TOML document: ${message}
|
|
||||||
|
|
||||||
${codeblock}`, options);
|
|
||||||
this.line = line;
|
|
||||||
this.column = column;
|
|
||||||
this.codeblock = codeblock;
|
|
||||||
}
|
|
||||||
};
|
|
||||||
|
|
||||||
// node_modules/smol-toml/dist/util.js
|
|
||||||
function isEscaped(str, ptr) {
|
|
||||||
let i = 0;
|
|
||||||
while (str[ptr - ++i] === "\\")
|
|
||||||
;
|
|
||||||
return --i && i % 2;
|
|
||||||
}
|
|
||||||
function indexOfNewline(str, start = 0, end = str.length) {
|
|
||||||
let idx = str.indexOf("\n", start);
|
|
||||||
if (str[idx - 1] === "\r")
|
|
||||||
idx--;
|
|
||||||
return idx <= end ? idx : -1;
|
|
||||||
}
|
|
||||||
function skipComment(str, ptr) {
|
|
||||||
for (let i = ptr; i < str.length; i++) {
|
|
||||||
let c = str[i];
|
|
||||||
if (c === "\n")
|
|
||||||
return i;
|
|
||||||
if (c === "\r" && str[i + 1] === "\n")
|
|
||||||
return i + 1;
|
|
||||||
if (c < " " && c !== " " || c === "\x7F") {
|
|
||||||
throw new TomlError("control characters are not allowed in comments", {
|
|
||||||
toml: str,
|
|
||||||
ptr
|
|
||||||
});
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return str.length;
|
|
||||||
}
|
|
||||||
function skipVoid(str, ptr, banNewLines, banComments) {
|
|
||||||
let c;
|
|
||||||
while (1) {
|
|
||||||
while ((c = str[ptr]) === " " || c === " " || !banNewLines && (c === "\n" || c === "\r" && str[ptr + 1] === "\n"))
|
|
||||||
ptr++;
|
|
||||||
if (banComments || c !== "#")
|
|
||||||
break;
|
|
||||||
ptr = skipComment(str, ptr);
|
|
||||||
}
|
|
||||||
return ptr;
|
|
||||||
}
|
|
||||||
function skipUntil(str, ptr, sep7, end, banNewLines = false) {
|
|
||||||
if (!end) {
|
|
||||||
ptr = indexOfNewline(str, ptr);
|
|
||||||
return ptr < 0 ? str.length : ptr;
|
|
||||||
}
|
|
||||||
for (let i = ptr; i < str.length; i++) {
|
|
||||||
let c = str[i];
|
|
||||||
if (c === "#") {
|
|
||||||
i = indexOfNewline(str, i);
|
|
||||||
} else if (c === sep7) {
|
|
||||||
return i + 1;
|
|
||||||
} else if (c === end || banNewLines && (c === "\n" || c === "\r" && str[i + 1] === "\n")) {
|
|
||||||
return i;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
throw new TomlError("cannot find end of structure", {
|
|
||||||
toml: str,
|
|
||||||
ptr
|
|
||||||
});
|
|
||||||
}
|
|
||||||
function getStringEnd(str, seek) {
|
|
||||||
let first = str[seek];
|
|
||||||
let target = first === str[seek + 1] && str[seek + 1] === str[seek + 2] ? str.slice(seek, seek + 3) : first;
|
|
||||||
seek += target.length - 1;
|
|
||||||
do
|
|
||||||
seek = str.indexOf(target, ++seek);
|
|
||||||
while (seek > -1 && first !== "'" && isEscaped(str, seek));
|
|
||||||
if (seek > -1) {
|
|
||||||
seek += target.length;
|
|
||||||
if (target.length > 1) {
|
|
||||||
if (str[seek] === first)
|
|
||||||
seek++;
|
|
||||||
if (str[seek] === first)
|
|
||||||
seek++;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return seek;
|
|
||||||
}
|
|
||||||
|
|
||||||
// node_modules/smol-toml/dist/date.js
|
// 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 DATE_TIME_RE = /^(\d{4}-\d{2}-\d{2})?[T ]?(?:(\d{2}):\d{2}(?::\d{2}(?:\.\d+)?)?)?(Z|[-+]\d{2}:\d{2})?$/i;
|
||||||
var TomlDate = class _TomlDate extends Date {
|
var TomlDate = class _TomlDate extends Date {
|
||||||
@@ -62046,93 +61927,153 @@ var TomlDate = class _TomlDate extends Date {
|
|||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
// 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];
|
||||||
|
}
|
||||||
|
function makeCodeBlock(string, line, column) {
|
||||||
|
let lines = string.split(/\r\n|\n|\r/g);
|
||||||
|
let codeblock = "";
|
||||||
|
let numberLen = (Math.log10(line + 1) | 0) + 1;
|
||||||
|
for (let i = line - 1; i <= line + 1; i++) {
|
||||||
|
let l = lines[i - 1];
|
||||||
|
if (!l)
|
||||||
|
continue;
|
||||||
|
codeblock += i.toString().padEnd(numberLen, " ");
|
||||||
|
codeblock += ": ";
|
||||||
|
codeblock += l;
|
||||||
|
codeblock += "\n";
|
||||||
|
if (i === line) {
|
||||||
|
codeblock += " ".repeat(numberLen + column + 2);
|
||||||
|
codeblock += "^\n";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return codeblock;
|
||||||
|
}
|
||||||
|
var TomlError = class extends Error {
|
||||||
|
line;
|
||||||
|
column;
|
||||||
|
codeblock;
|
||||||
|
constructor(message, options) {
|
||||||
|
const [line, column] = getLineColFromPtr(options.toml, options.ptr);
|
||||||
|
const codeblock = makeCodeBlock(options.toml, line, column);
|
||||||
|
super(`Invalid TOML document: ${message}
|
||||||
|
|
||||||
|
${codeblock}`, options);
|
||||||
|
this.line = line;
|
||||||
|
this.column = column;
|
||||||
|
this.codeblock = codeblock;
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
// node_modules/smol-toml/dist/primitive.js
|
// node_modules/smol-toml/dist/primitive.js
|
||||||
var INT_REGEX = /^((0x[0-9a-fA-F](_?[0-9a-fA-F])*)|(([+-]|0[ob])?\d(_?\d)*))$/;
|
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 FLOAT_REGEX = /^[+-]?\d(_?\d)*(\.\d(_?\d)*)?([eE][+-]?\d(_?\d)*)?$/;
|
||||||
var LEADING_ZERO = /^[+-]?0[0-9_]/;
|
var LEADING_ZERO = /^[+-]?0[0-9_]/;
|
||||||
var ESCAPE_REGEX = /^[0-9a-f]{2,8}$/i;
|
function parseString(str, ptr) {
|
||||||
var ESC_MAP = {
|
let c = str[ptr++];
|
||||||
b: "\b",
|
let first = c;
|
||||||
t: " ",
|
let isLiteral = c === "'";
|
||||||
n: "\n",
|
let isMultiline = c === str[ptr] && c === str[ptr + 1];
|
||||||
f: "\f",
|
|
||||||
r: "\r",
|
|
||||||
e: "\x1B",
|
|
||||||
'"': '"',
|
|
||||||
"\\": "\\"
|
|
||||||
};
|
|
||||||
function parseString(str, ptr = 0, endPtr = str.length) {
|
|
||||||
let isLiteral = str[ptr] === "'";
|
|
||||||
let isMultiline = str[ptr++] === str[ptr] && str[ptr] === str[ptr + 1];
|
|
||||||
if (isMultiline) {
|
if (isMultiline) {
|
||||||
endPtr -= 2;
|
if (str[ptr += 2] === "\n")
|
||||||
if (str[ptr += 2] === "\r")
|
|
||||||
ptr++;
|
|
||||||
if (str[ptr] === "\n")
|
|
||||||
ptr++;
|
ptr++;
|
||||||
|
else if (str[ptr] === "\r" && str[ptr + 1] === "\n")
|
||||||
|
ptr += 2;
|
||||||
}
|
}
|
||||||
let tmp = 0;
|
|
||||||
let isEscape;
|
|
||||||
let parsed = "";
|
let parsed = "";
|
||||||
let sliceStart = ptr;
|
let sliceStart = ptr;
|
||||||
while (ptr < endPtr - 1) {
|
let state3 = 0;
|
||||||
let c = str[ptr++];
|
for (let i = ptr; i < str.length; i++) {
|
||||||
if (c === "\n" || c === "\r" && str[ptr] === "\n") {
|
c = str[i];
|
||||||
if (!isMultiline) {
|
if (isMultiline && (c === "\n" || c === "\r" && str[i + 1] === "\n")) {
|
||||||
throw new TomlError("newlines are not allowed in strings", {
|
state3 = state3 && 3;
|
||||||
toml: str,
|
|
||||||
ptr: ptr - 1
|
|
||||||
});
|
|
||||||
}
|
|
||||||
} else if (c < " " && c !== " " || c === "\x7F") {
|
} else if (c < " " && c !== " " || c === "\x7F") {
|
||||||
throw new TomlError("control characters are not allowed in strings", {
|
throw new TomlError("control characters are not allowed in strings", {
|
||||||
toml: str,
|
toml: str,
|
||||||
ptr: ptr - 1
|
ptr: i
|
||||||
});
|
});
|
||||||
}
|
} else if ((!state3 || state3 === 3) && c === first && (!isMultiline || str[i + 1] === first && str[i + 2] === first)) {
|
||||||
if (isEscape) {
|
if (isMultiline) {
|
||||||
isEscape = false;
|
if (str[i + 3] === first)
|
||||||
|
i++;
|
||||||
|
if (str[i + 3] === first)
|
||||||
|
i++;
|
||||||
|
}
|
||||||
|
return [
|
||||||
|
// If we're in a newline escape still, then there's nothing to add.
|
||||||
|
// Also try to avoid concat if there's nothing to add to parsed, or nothing has been added to parsed.
|
||||||
|
state3 ? parsed : parsed + str.slice(sliceStart, i),
|
||||||
|
i + (isMultiline ? 3 : 1)
|
||||||
|
];
|
||||||
|
} else if (!state3) {
|
||||||
|
if (!isLiteral && c === "\\") {
|
||||||
|
parsed += str.slice(sliceStart, sliceStart = i);
|
||||||
|
state3 = 1;
|
||||||
|
}
|
||||||
|
} else if (state3 === 1) {
|
||||||
if (c === "x" || c === "u" || c === "U") {
|
if (c === "x" || c === "u" || c === "U") {
|
||||||
let code = str.slice(ptr, ptr += c === "x" ? 2 : c === "u" ? 4 : 8);
|
let value = 0;
|
||||||
if (!ESCAPE_REGEX.test(code)) {
|
let len = c === "x" ? 2 : c === "u" ? 4 : 8;
|
||||||
throw new TomlError("invalid unicode escape", {
|
for (let j = 0; j < len; j++, i++) {
|
||||||
toml: str,
|
let hex = str.charCodeAt(i + 1);
|
||||||
ptr: tmp
|
let digit = (
|
||||||
});
|
/* 0-9 */
|
||||||
|
hex >= 48 && hex <= 57 ? hex - 48 : (
|
||||||
|
/* A-F */
|
||||||
|
hex >= 65 && hex <= 70 ? hex - 65 + 10 : (
|
||||||
|
/* a-f */
|
||||||
|
hex >= 97 && hex <= 102 ? hex - 97 + 10 : -1
|
||||||
|
)
|
||||||
|
)
|
||||||
|
);
|
||||||
|
if (digit < 0)
|
||||||
|
throw new TomlError("invalid non-hex character in unicode escape", { toml: str, ptr: i + 1 });
|
||||||
|
value = value << 4 | digit;
|
||||||
}
|
}
|
||||||
try {
|
if (value < 0 || value > 1114111 || value >= 55296 && value <= 57343) {
|
||||||
parsed += String.fromCodePoint(parseInt(code, 16));
|
throw new TomlError("invalid unicode escape", { toml: str, ptr: i });
|
||||||
} catch {
|
|
||||||
throw new TomlError("invalid unicode escape", {
|
|
||||||
toml: str,
|
|
||||||
ptr: tmp
|
|
||||||
});
|
|
||||||
}
|
}
|
||||||
} else if (isMultiline && (c === "\n" || c === " " || c === " " || c === "\r")) {
|
parsed += String.fromCodePoint(value);
|
||||||
ptr = skipVoid(str, ptr - 1, true);
|
sliceStart = i + 1;
|
||||||
if (str[ptr] !== "\n" && str[ptr] !== "\r") {
|
state3 = 0;
|
||||||
throw new TomlError("invalid escape: only line-ending whitespace may be escaped", {
|
} else if (c === " " || c === " ") {
|
||||||
toml: str,
|
state3 = 2;
|
||||||
ptr: tmp
|
|
||||||
});
|
|
||||||
}
|
|
||||||
ptr = skipVoid(str, ptr);
|
|
||||||
} else if (c in ESC_MAP) {
|
|
||||||
parsed += ESC_MAP[c];
|
|
||||||
} else {
|
} else {
|
||||||
throw new TomlError("unrecognized escape sequence", {
|
if (c === "b")
|
||||||
|
parsed += "\b";
|
||||||
|
else if (c === "t")
|
||||||
|
parsed += " ";
|
||||||
|
else if (c === "n")
|
||||||
|
parsed += "\n";
|
||||||
|
else if (c === "f")
|
||||||
|
parsed += "\f";
|
||||||
|
else if (c === "r")
|
||||||
|
parsed += "\r";
|
||||||
|
else if (c === "e")
|
||||||
|
parsed += "\x1B";
|
||||||
|
else if (c === '"')
|
||||||
|
parsed += '"';
|
||||||
|
else if (c === "\\")
|
||||||
|
parsed += "\\";
|
||||||
|
else
|
||||||
|
throw new TomlError("unrecognized escape sequence", { toml: str, ptr: i });
|
||||||
|
sliceStart = i + 1;
|
||||||
|
state3 = 0;
|
||||||
|
}
|
||||||
|
} else if (c !== " " && c !== " ") {
|
||||||
|
if (state3 === 2) {
|
||||||
|
throw new TomlError("invalid escape: only line-ending whitespace may be escaped", {
|
||||||
toml: str,
|
toml: str,
|
||||||
ptr: tmp
|
ptr: sliceStart
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
sliceStart = ptr;
|
state3 = !isLiteral && c === "\\" ? 1 : 0;
|
||||||
} else if (!isLiteral && c === "\\") {
|
sliceStart = i;
|
||||||
tmp = ptr - 1;
|
|
||||||
isEscape = true;
|
|
||||||
parsed += str.slice(sliceStart, tmp);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return parsed + str.slice(sliceStart, endPtr - 1);
|
throw new TomlError("unfinished string", { toml: str, ptr });
|
||||||
}
|
}
|
||||||
function parseValue2(value, toml, ptr, integersAsBigInt) {
|
function parseValue2(value, toml, ptr, integersAsBigInt) {
|
||||||
if (value === "true")
|
if (value === "true")
|
||||||
@@ -62185,6 +62126,61 @@ function parseValue2(value, toml, ptr, integersAsBigInt) {
|
|||||||
return date;
|
return date;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// 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")
|
||||||
|
idx--;
|
||||||
|
return idx <= end ? idx : -1;
|
||||||
|
}
|
||||||
|
function skipComment(str, ptr) {
|
||||||
|
for (let i = ptr; i < str.length; i++) {
|
||||||
|
let c = str[i];
|
||||||
|
if (c === "\n")
|
||||||
|
return i;
|
||||||
|
if (c === "\r" && str[i + 1] === "\n")
|
||||||
|
return i + 1;
|
||||||
|
if (c < " " && c !== " " || c === "\x7F") {
|
||||||
|
throw new TomlError("control characters are not allowed in comments", {
|
||||||
|
toml: str,
|
||||||
|
ptr
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return str.length;
|
||||||
|
}
|
||||||
|
function skipVoid(str, ptr, banNewLines, banComments) {
|
||||||
|
let c;
|
||||||
|
while (1) {
|
||||||
|
while ((c = str[ptr]) === " " || c === " " || !banNewLines && (c === "\n" || c === "\r" && str[ptr + 1] === "\n"))
|
||||||
|
ptr++;
|
||||||
|
if (banComments || c !== "#")
|
||||||
|
break;
|
||||||
|
ptr = skipComment(str, ptr);
|
||||||
|
}
|
||||||
|
return ptr;
|
||||||
|
}
|
||||||
|
function skipUntil(str, ptr, sep7, end, banNewLines = false) {
|
||||||
|
if (!end) {
|
||||||
|
ptr = indexOfNewline(str, ptr);
|
||||||
|
return ptr < 0 ? str.length : ptr;
|
||||||
|
}
|
||||||
|
for (let i = ptr; i < str.length; i++) {
|
||||||
|
let c = str[i];
|
||||||
|
if (c === "#") {
|
||||||
|
i = indexOfNewline(str, i);
|
||||||
|
} else if (c === sep7) {
|
||||||
|
return i + 1;
|
||||||
|
} else if (c === end || banNewLines && (c === "\n" || c === "\r" && str[i + 1] === "\n")) {
|
||||||
|
return i;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
throw new TomlError("cannot find end of structure", {
|
||||||
|
toml: str,
|
||||||
|
ptr
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
// node_modules/smol-toml/dist/extract.js
|
// node_modules/smol-toml/dist/extract.js
|
||||||
function sliceAndTrimEndOf(str, startPtr, endPtr) {
|
function sliceAndTrimEndOf(str, startPtr, endPtr) {
|
||||||
let value = str.slice(startPtr, endPtr);
|
let value = str.slice(startPtr, endPtr);
|
||||||
@@ -62218,24 +62214,23 @@ function extractValue(str, ptr, end, depth, integersAsBigInt) {
|
|||||||
}
|
}
|
||||||
return [value, endPtr2];
|
return [value, endPtr2];
|
||||||
}
|
}
|
||||||
let endPtr;
|
|
||||||
if (c === '"' || c === "'") {
|
if (c === '"' || c === "'") {
|
||||||
endPtr = getStringEnd(str, ptr);
|
let [parsed, endPtr2] = parseString(str, ptr);
|
||||||
let parsed = parseString(str, ptr, endPtr);
|
|
||||||
if (end) {
|
if (end) {
|
||||||
endPtr = skipVoid(str, endPtr);
|
endPtr2 = skipVoid(str, endPtr2);
|
||||||
if (str[endPtr] && str[endPtr] !== "," && str[endPtr] !== end && str[endPtr] !== "\n" && str[endPtr] !== "\r") {
|
if (str[endPtr2] && str[endPtr2] !== "," && str[endPtr2] !== end && str[endPtr2] !== "\n" && str[endPtr2] !== "\r") {
|
||||||
throw new TomlError("unexpected character encountered", {
|
throw new TomlError("unexpected character encountered", {
|
||||||
toml: str,
|
toml: str,
|
||||||
ptr: endPtr
|
ptr: endPtr2
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
endPtr += +(str[endPtr] === ",");
|
if (str[endPtr2] === ",")
|
||||||
|
endPtr2++;
|
||||||
}
|
}
|
||||||
return [parsed, endPtr];
|
return [parsed, endPtr2];
|
||||||
}
|
}
|
||||||
endPtr = skipUntil(str, ptr, ",", end);
|
let endPtr = skipUntil(str, ptr, ",", end);
|
||||||
let slice = sliceAndTrimEndOf(str, ptr, endPtr - +(str[endPtr - 1] === ","));
|
let slice = sliceAndTrimEndOf(str, ptr, endPtr - (str[endPtr - 1] === "," ? 1 : 0));
|
||||||
if (!slice[0]) {
|
if (!slice[0]) {
|
||||||
throw new TomlError("incomplete key-value declaration: no value specified", {
|
throw new TomlError("incomplete key-value declaration: no value specified", {
|
||||||
toml: str,
|
toml: str,
|
||||||
@@ -62244,7 +62239,8 @@ function extractValue(str, ptr, end, depth, integersAsBigInt) {
|
|||||||
}
|
}
|
||||||
if (end && slice[1] > -1) {
|
if (end && slice[1] > -1) {
|
||||||
endPtr = skipVoid(str, ptr + slice[1]);
|
endPtr = skipVoid(str, ptr + slice[1]);
|
||||||
endPtr += +(str[endPtr] === ",");
|
if (str[endPtr] === ",")
|
||||||
|
endPtr++;
|
||||||
}
|
}
|
||||||
return [
|
return [
|
||||||
parseValue2(slice[0], str, ptr, integersAsBigInt),
|
parseValue2(slice[0], str, ptr, integersAsBigInt),
|
||||||
@@ -62274,13 +62270,7 @@ function parseKey(str, ptr, end = "=") {
|
|||||||
ptr
|
ptr
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
let eos = getStringEnd(str, ptr);
|
let [part, eos] = parseString(str, ptr);
|
||||||
if (eos < 0) {
|
|
||||||
throw new TomlError("unfinished string encountered", {
|
|
||||||
toml: str,
|
|
||||||
ptr
|
|
||||||
});
|
|
||||||
}
|
|
||||||
dot = str.indexOf(".", eos);
|
dot = str.indexOf(".", eos);
|
||||||
let strEnd = str.slice(eos, dot < 0 || dot > endPtr ? endPtr : dot);
|
let strEnd = str.slice(eos, dot < 0 || dot > endPtr ? endPtr : dot);
|
||||||
let newLine = indexOfNewline(strEnd);
|
let newLine = indexOfNewline(strEnd);
|
||||||
@@ -62305,7 +62295,7 @@ function parseKey(str, ptr, end = "=") {
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
parsed.push(parseString(str, ptr, eos));
|
parsed.push(part);
|
||||||
} else {
|
} else {
|
||||||
dot = str.indexOf(".", ptr);
|
dot = str.indexOf(".", ptr);
|
||||||
let part = str.slice(ptr, dot < 0 || dot > endPtr ? endPtr : dot);
|
let part = str.slice(ptr, dot < 0 || dot > endPtr ? endPtr : dot);
|
||||||
@@ -62931,10 +62921,10 @@ undici/lib/web/fetch/body.js:
|
|||||||
undici/lib/web/websocket/frame.js:
|
undici/lib/web/websocket/frame.js:
|
||||||
(*! ws. MIT License. Einar Otto Stangvik <einaros@gmail.com> *)
|
(*! ws. MIT License. Einar Otto Stangvik <einaros@gmail.com> *)
|
||||||
|
|
||||||
smol-toml/dist/error.js:
|
|
||||||
smol-toml/dist/util.js:
|
|
||||||
smol-toml/dist/date.js:
|
smol-toml/dist/date.js:
|
||||||
|
smol-toml/dist/error.js:
|
||||||
smol-toml/dist/primitive.js:
|
smol-toml/dist/primitive.js:
|
||||||
|
smol-toml/dist/util.js:
|
||||||
smol-toml/dist/extract.js:
|
smol-toml/dist/extract.js:
|
||||||
smol-toml/dist/struct.js:
|
smol-toml/dist/struct.js:
|
||||||
smol-toml/dist/parse.js:
|
smol-toml/dist/parse.js:
|
||||||
|
|||||||
425
dist/setup/index.cjs
generated
vendored
425
dist/setup/index.cjs
generated
vendored
@@ -90506,6 +90506,7 @@ function getOSNameVersion() {
|
|||||||
}
|
}
|
||||||
function getLinuxOSNameVersion() {
|
function getLinuxOSNameVersion() {
|
||||||
const files = ["/etc/os-release", "/usr/lib/os-release"];
|
const files = ["/etc/os-release", "/usr/lib/os-release"];
|
||||||
|
let idWithoutVersion;
|
||||||
for (const file of files) {
|
for (const file of files) {
|
||||||
try {
|
try {
|
||||||
const content = import_node_fs2.default.readFileSync(file, "utf8");
|
const content = import_node_fs2.default.readFileSync(file, "utf8");
|
||||||
@@ -90522,9 +90523,15 @@ function getLinuxOSNameVersion() {
|
|||||||
if (id && buildId) {
|
if (id && buildId) {
|
||||||
return `${id}-${buildId}`;
|
return `${id}-${buildId}`;
|
||||||
}
|
}
|
||||||
|
if (id && idWithoutVersion === void 0) {
|
||||||
|
idWithoutVersion = id;
|
||||||
|
}
|
||||||
} catch {
|
} catch {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
if (idWithoutVersion) {
|
||||||
|
return idWithoutVersion;
|
||||||
|
}
|
||||||
throw new Error(
|
throw new Error(
|
||||||
"Failed to determine Linux distribution. Could not read /etc/os-release or /usr/lib/os-release"
|
"Failed to determine Linux distribution. Could not read /etc/os-release or /usr/lib/os-release"
|
||||||
);
|
);
|
||||||
@@ -91093,6 +91100,24 @@ var fs10 = __toESM(require("node:fs"), 1);
|
|||||||
|
|
||||||
// src/download/checksum/known-checksums.ts
|
// src/download/checksum/known-checksums.ts
|
||||||
var KNOWN_CHECKSUMS = {
|
var KNOWN_CHECKSUMS = {
|
||||||
|
"aarch64-apple-darwin-0.11.29": "61c04acc52a33ef0f331e494bdfbedcdb6c26c6970c022ed3699e5860f8930e3",
|
||||||
|
"aarch64-pc-windows-msvc-0.11.29": "55b597ae81bc29531a7c352a1431a8a73cc2755d7a5b9ec454580cbe02e5154f",
|
||||||
|
"aarch64-unknown-linux-gnu-0.11.29": "94500fb064ae3c971a873cba64d94694c50677e0a4dbf78735c80509e7429919",
|
||||||
|
"aarch64-unknown-linux-musl-0.11.29": "593d79a797ece3f1dfaaf3e0a973263422a135d9262c7dbc6cd75d9c11acc0b4",
|
||||||
|
"arm-unknown-linux-musleabihf-0.11.29": "b160d7eb7dc45af378b3c9dd2cd6b07d64c65b509f2da673434e8e5dc996e5b1",
|
||||||
|
"armv7-unknown-linux-gnueabihf-0.11.29": "7b5717ae304fbb1e94104699fb8c08b32d1537fedc90dd8fcf87768d818951ed",
|
||||||
|
"armv7-unknown-linux-musleabihf-0.11.29": "bfd05286a80b39bd4708bbbb4450fe09f07fea86eea60d31ea2de0b5e816ef54",
|
||||||
|
"i686-pc-windows-msvc-0.11.29": "c173af6f6e125d65214b55d6b75fcf1a32d5e1c3a656938740fe0b2379cd4bcc",
|
||||||
|
"i686-unknown-linux-gnu-0.11.29": "c62af324951ae6f31f9453280e077176c96b6e31897d8133c00411a91a20878f",
|
||||||
|
"i686-unknown-linux-musl-0.11.29": "368dd75d030cae0512631ba0d50604e8471275ec2d9f02836edb91e4c82ad36a",
|
||||||
|
"powerpc64le-unknown-linux-gnu-0.11.29": "641b15637de9fedc7e738b0e4716b2233c792ba6dca722ba0484381749e1a9fd",
|
||||||
|
"riscv64gc-unknown-linux-gnu-0.11.29": "5c1229cc0309ebc6872ee847b8fc75564b3b7688edeb09e19427203e2dbc0ea7",
|
||||||
|
"riscv64gc-unknown-linux-musl-0.11.29": "d4708d913ba88fad9fe1d81da3e13aecadde7a3190cc095a7f2af2fa5c8caa8f",
|
||||||
|
"s390x-unknown-linux-gnu-0.11.29": "fa029183f550a3b00b89c06529fabfa11e0c69c097ccd397a8e7eae46f397348",
|
||||||
|
"x86_64-apple-darwin-0.11.29": "c4c4de482da9ccdd076dc4fb5cfe7b740609029385c72f58606be3153602387d",
|
||||||
|
"x86_64-pc-windows-msvc-0.11.29": "a047d55651bc3e0ca24595b25ec4cfcb10f9dca9fb56514e661269b37d4fae68",
|
||||||
|
"x86_64-unknown-linux-gnu-0.11.29": "04f8b82f5d47f0512dcd32c67a4a6f16a0ea27c81537c338fd0ad6b23cebe829",
|
||||||
|
"x86_64-unknown-linux-musl-0.11.29": "46711858adb2a3acaa9cee00f9060688ad1fd5706aecc005b96a6a7f285a00b7",
|
||||||
"aarch64-apple-darwin-0.11.28": "33540eb7c883ab857eff79bd5ac2aa31fe27b595abecb4a9c003a2c998447232",
|
"aarch64-apple-darwin-0.11.28": "33540eb7c883ab857eff79bd5ac2aa31fe27b595abecb4a9c003a2c998447232",
|
||||||
"aarch64-pc-windows-msvc-0.11.28": "3248109afad3ec59baad299d324ff53de17e2d9a3b3e21580ffd26744b11e036",
|
"aarch64-pc-windows-msvc-0.11.28": "3248109afad3ec59baad299d324ff53de17e2d9a3b3e21580ffd26744b11e036",
|
||||||
"aarch64-unknown-linux-gnu-0.11.28": "03e9fe0a81b0718d0bc84625de3885df6cc3f89a8b6af6121d6b9f6113fb6533",
|
"aarch64-unknown-linux-gnu-0.11.28": "03e9fe0a81b0718d0bc84625de3885df6cc3f89a8b6af6121d6b9f6113fb6533",
|
||||||
@@ -96720,125 +96745,6 @@ var import_node_fs6 = __toESM(require("node:fs"), 1);
|
|||||||
// src/utils/config-file.ts
|
// src/utils/config-file.ts
|
||||||
var import_node_fs3 = __toESM(require("node:fs"), 1);
|
var import_node_fs3 = __toESM(require("node:fs"), 1);
|
||||||
|
|
||||||
// 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];
|
|
||||||
}
|
|
||||||
function makeCodeBlock(string, line, column) {
|
|
||||||
let lines = string.split(/\r\n|\n|\r/g);
|
|
||||||
let codeblock = "";
|
|
||||||
let numberLen = (Math.log10(line + 1) | 0) + 1;
|
|
||||||
for (let i = line - 1; i <= line + 1; i++) {
|
|
||||||
let l = lines[i - 1];
|
|
||||||
if (!l)
|
|
||||||
continue;
|
|
||||||
codeblock += i.toString().padEnd(numberLen, " ");
|
|
||||||
codeblock += ": ";
|
|
||||||
codeblock += l;
|
|
||||||
codeblock += "\n";
|
|
||||||
if (i === line) {
|
|
||||||
codeblock += " ".repeat(numberLen + column + 2);
|
|
||||||
codeblock += "^\n";
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return codeblock;
|
|
||||||
}
|
|
||||||
var TomlError = class extends Error {
|
|
||||||
line;
|
|
||||||
column;
|
|
||||||
codeblock;
|
|
||||||
constructor(message, options) {
|
|
||||||
const [line, column] = getLineColFromPtr(options.toml, options.ptr);
|
|
||||||
const codeblock = makeCodeBlock(options.toml, line, column);
|
|
||||||
super(`Invalid TOML document: ${message}
|
|
||||||
|
|
||||||
${codeblock}`, options);
|
|
||||||
this.line = line;
|
|
||||||
this.column = column;
|
|
||||||
this.codeblock = codeblock;
|
|
||||||
}
|
|
||||||
};
|
|
||||||
|
|
||||||
// node_modules/smol-toml/dist/util.js
|
|
||||||
function isEscaped(str, ptr) {
|
|
||||||
let i = 0;
|
|
||||||
while (str[ptr - ++i] === "\\")
|
|
||||||
;
|
|
||||||
return --i && i % 2;
|
|
||||||
}
|
|
||||||
function indexOfNewline(str, start = 0, end = str.length) {
|
|
||||||
let idx = str.indexOf("\n", start);
|
|
||||||
if (str[idx - 1] === "\r")
|
|
||||||
idx--;
|
|
||||||
return idx <= end ? idx : -1;
|
|
||||||
}
|
|
||||||
function skipComment(str, ptr) {
|
|
||||||
for (let i = ptr; i < str.length; i++) {
|
|
||||||
let c = str[i];
|
|
||||||
if (c === "\n")
|
|
||||||
return i;
|
|
||||||
if (c === "\r" && str[i + 1] === "\n")
|
|
||||||
return i + 1;
|
|
||||||
if (c < " " && c !== " " || c === "\x7F") {
|
|
||||||
throw new TomlError("control characters are not allowed in comments", {
|
|
||||||
toml: str,
|
|
||||||
ptr
|
|
||||||
});
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return str.length;
|
|
||||||
}
|
|
||||||
function skipVoid(str, ptr, banNewLines, banComments) {
|
|
||||||
let c;
|
|
||||||
while (1) {
|
|
||||||
while ((c = str[ptr]) === " " || c === " " || !banNewLines && (c === "\n" || c === "\r" && str[ptr + 1] === "\n"))
|
|
||||||
ptr++;
|
|
||||||
if (banComments || c !== "#")
|
|
||||||
break;
|
|
||||||
ptr = skipComment(str, ptr);
|
|
||||||
}
|
|
||||||
return ptr;
|
|
||||||
}
|
|
||||||
function skipUntil(str, ptr, sep8, end, banNewLines = false) {
|
|
||||||
if (!end) {
|
|
||||||
ptr = indexOfNewline(str, ptr);
|
|
||||||
return ptr < 0 ? str.length : ptr;
|
|
||||||
}
|
|
||||||
for (let i = ptr; i < str.length; i++) {
|
|
||||||
let c = str[i];
|
|
||||||
if (c === "#") {
|
|
||||||
i = indexOfNewline(str, i);
|
|
||||||
} else if (c === sep8) {
|
|
||||||
return i + 1;
|
|
||||||
} else if (c === end || banNewLines && (c === "\n" || c === "\r" && str[i + 1] === "\n")) {
|
|
||||||
return i;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
throw new TomlError("cannot find end of structure", {
|
|
||||||
toml: str,
|
|
||||||
ptr
|
|
||||||
});
|
|
||||||
}
|
|
||||||
function getStringEnd(str, seek) {
|
|
||||||
let first = str[seek];
|
|
||||||
let target = first === str[seek + 1] && str[seek + 1] === str[seek + 2] ? str.slice(seek, seek + 3) : first;
|
|
||||||
seek += target.length - 1;
|
|
||||||
do
|
|
||||||
seek = str.indexOf(target, ++seek);
|
|
||||||
while (seek > -1 && first !== "'" && isEscaped(str, seek));
|
|
||||||
if (seek > -1) {
|
|
||||||
seek += target.length;
|
|
||||||
if (target.length > 1) {
|
|
||||||
if (str[seek] === first)
|
|
||||||
seek++;
|
|
||||||
if (str[seek] === first)
|
|
||||||
seek++;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return seek;
|
|
||||||
}
|
|
||||||
|
|
||||||
// node_modules/smol-toml/dist/date.js
|
// 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 DATE_TIME_RE = /^(\d{4}-\d{2}-\d{2})?[T ]?(?:(\d{2}):\d{2}(?::\d{2}(?:\.\d+)?)?)?(Z|[-+]\d{2}:\d{2})?$/i;
|
||||||
var TomlDate = class _TomlDate extends Date {
|
var TomlDate = class _TomlDate extends Date {
|
||||||
@@ -96931,93 +96837,153 @@ var TomlDate = class _TomlDate extends Date {
|
|||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
// 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];
|
||||||
|
}
|
||||||
|
function makeCodeBlock(string, line, column) {
|
||||||
|
let lines = string.split(/\r\n|\n|\r/g);
|
||||||
|
let codeblock = "";
|
||||||
|
let numberLen = (Math.log10(line + 1) | 0) + 1;
|
||||||
|
for (let i = line - 1; i <= line + 1; i++) {
|
||||||
|
let l = lines[i - 1];
|
||||||
|
if (!l)
|
||||||
|
continue;
|
||||||
|
codeblock += i.toString().padEnd(numberLen, " ");
|
||||||
|
codeblock += ": ";
|
||||||
|
codeblock += l;
|
||||||
|
codeblock += "\n";
|
||||||
|
if (i === line) {
|
||||||
|
codeblock += " ".repeat(numberLen + column + 2);
|
||||||
|
codeblock += "^\n";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return codeblock;
|
||||||
|
}
|
||||||
|
var TomlError = class extends Error {
|
||||||
|
line;
|
||||||
|
column;
|
||||||
|
codeblock;
|
||||||
|
constructor(message, options) {
|
||||||
|
const [line, column] = getLineColFromPtr(options.toml, options.ptr);
|
||||||
|
const codeblock = makeCodeBlock(options.toml, line, column);
|
||||||
|
super(`Invalid TOML document: ${message}
|
||||||
|
|
||||||
|
${codeblock}`, options);
|
||||||
|
this.line = line;
|
||||||
|
this.column = column;
|
||||||
|
this.codeblock = codeblock;
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
// node_modules/smol-toml/dist/primitive.js
|
// node_modules/smol-toml/dist/primitive.js
|
||||||
var INT_REGEX = /^((0x[0-9a-fA-F](_?[0-9a-fA-F])*)|(([+-]|0[ob])?\d(_?\d)*))$/;
|
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 FLOAT_REGEX = /^[+-]?\d(_?\d)*(\.\d(_?\d)*)?([eE][+-]?\d(_?\d)*)?$/;
|
||||||
var LEADING_ZERO = /^[+-]?0[0-9_]/;
|
var LEADING_ZERO = /^[+-]?0[0-9_]/;
|
||||||
var ESCAPE_REGEX = /^[0-9a-f]{2,8}$/i;
|
function parseString(str, ptr) {
|
||||||
var ESC_MAP = {
|
let c = str[ptr++];
|
||||||
b: "\b",
|
let first = c;
|
||||||
t: " ",
|
let isLiteral = c === "'";
|
||||||
n: "\n",
|
let isMultiline = c === str[ptr] && c === str[ptr + 1];
|
||||||
f: "\f",
|
|
||||||
r: "\r",
|
|
||||||
e: "\x1B",
|
|
||||||
'"': '"',
|
|
||||||
"\\": "\\"
|
|
||||||
};
|
|
||||||
function parseString(str, ptr = 0, endPtr = str.length) {
|
|
||||||
let isLiteral = str[ptr] === "'";
|
|
||||||
let isMultiline = str[ptr++] === str[ptr] && str[ptr] === str[ptr + 1];
|
|
||||||
if (isMultiline) {
|
if (isMultiline) {
|
||||||
endPtr -= 2;
|
if (str[ptr += 2] === "\n")
|
||||||
if (str[ptr += 2] === "\r")
|
|
||||||
ptr++;
|
|
||||||
if (str[ptr] === "\n")
|
|
||||||
ptr++;
|
ptr++;
|
||||||
|
else if (str[ptr] === "\r" && str[ptr + 1] === "\n")
|
||||||
|
ptr += 2;
|
||||||
}
|
}
|
||||||
let tmp = 0;
|
|
||||||
let isEscape;
|
|
||||||
let parsed = "";
|
let parsed = "";
|
||||||
let sliceStart = ptr;
|
let sliceStart = ptr;
|
||||||
while (ptr < endPtr - 1) {
|
let state3 = 0;
|
||||||
let c = str[ptr++];
|
for (let i = ptr; i < str.length; i++) {
|
||||||
if (c === "\n" || c === "\r" && str[ptr] === "\n") {
|
c = str[i];
|
||||||
if (!isMultiline) {
|
if (isMultiline && (c === "\n" || c === "\r" && str[i + 1] === "\n")) {
|
||||||
throw new TomlError("newlines are not allowed in strings", {
|
state3 = state3 && 3;
|
||||||
toml: str,
|
|
||||||
ptr: ptr - 1
|
|
||||||
});
|
|
||||||
}
|
|
||||||
} else if (c < " " && c !== " " || c === "\x7F") {
|
} else if (c < " " && c !== " " || c === "\x7F") {
|
||||||
throw new TomlError("control characters are not allowed in strings", {
|
throw new TomlError("control characters are not allowed in strings", {
|
||||||
toml: str,
|
toml: str,
|
||||||
ptr: ptr - 1
|
ptr: i
|
||||||
});
|
});
|
||||||
}
|
} else if ((!state3 || state3 === 3) && c === first && (!isMultiline || str[i + 1] === first && str[i + 2] === first)) {
|
||||||
if (isEscape) {
|
if (isMultiline) {
|
||||||
isEscape = false;
|
if (str[i + 3] === first)
|
||||||
|
i++;
|
||||||
|
if (str[i + 3] === first)
|
||||||
|
i++;
|
||||||
|
}
|
||||||
|
return [
|
||||||
|
// If we're in a newline escape still, then there's nothing to add.
|
||||||
|
// Also try to avoid concat if there's nothing to add to parsed, or nothing has been added to parsed.
|
||||||
|
state3 ? parsed : parsed + str.slice(sliceStart, i),
|
||||||
|
i + (isMultiline ? 3 : 1)
|
||||||
|
];
|
||||||
|
} else if (!state3) {
|
||||||
|
if (!isLiteral && c === "\\") {
|
||||||
|
parsed += str.slice(sliceStart, sliceStart = i);
|
||||||
|
state3 = 1;
|
||||||
|
}
|
||||||
|
} else if (state3 === 1) {
|
||||||
if (c === "x" || c === "u" || c === "U") {
|
if (c === "x" || c === "u" || c === "U") {
|
||||||
let code = str.slice(ptr, ptr += c === "x" ? 2 : c === "u" ? 4 : 8);
|
let value = 0;
|
||||||
if (!ESCAPE_REGEX.test(code)) {
|
let len = c === "x" ? 2 : c === "u" ? 4 : 8;
|
||||||
throw new TomlError("invalid unicode escape", {
|
for (let j = 0; j < len; j++, i++) {
|
||||||
toml: str,
|
let hex = str.charCodeAt(i + 1);
|
||||||
ptr: tmp
|
let digit = (
|
||||||
});
|
/* 0-9 */
|
||||||
|
hex >= 48 && hex <= 57 ? hex - 48 : (
|
||||||
|
/* A-F */
|
||||||
|
hex >= 65 && hex <= 70 ? hex - 65 + 10 : (
|
||||||
|
/* a-f */
|
||||||
|
hex >= 97 && hex <= 102 ? hex - 97 + 10 : -1
|
||||||
|
)
|
||||||
|
)
|
||||||
|
);
|
||||||
|
if (digit < 0)
|
||||||
|
throw new TomlError("invalid non-hex character in unicode escape", { toml: str, ptr: i + 1 });
|
||||||
|
value = value << 4 | digit;
|
||||||
}
|
}
|
||||||
try {
|
if (value < 0 || value > 1114111 || value >= 55296 && value <= 57343) {
|
||||||
parsed += String.fromCodePoint(parseInt(code, 16));
|
throw new TomlError("invalid unicode escape", { toml: str, ptr: i });
|
||||||
} catch {
|
|
||||||
throw new TomlError("invalid unicode escape", {
|
|
||||||
toml: str,
|
|
||||||
ptr: tmp
|
|
||||||
});
|
|
||||||
}
|
}
|
||||||
} else if (isMultiline && (c === "\n" || c === " " || c === " " || c === "\r")) {
|
parsed += String.fromCodePoint(value);
|
||||||
ptr = skipVoid(str, ptr - 1, true);
|
sliceStart = i + 1;
|
||||||
if (str[ptr] !== "\n" && str[ptr] !== "\r") {
|
state3 = 0;
|
||||||
throw new TomlError("invalid escape: only line-ending whitespace may be escaped", {
|
} else if (c === " " || c === " ") {
|
||||||
toml: str,
|
state3 = 2;
|
||||||
ptr: tmp
|
|
||||||
});
|
|
||||||
}
|
|
||||||
ptr = skipVoid(str, ptr);
|
|
||||||
} else if (c in ESC_MAP) {
|
|
||||||
parsed += ESC_MAP[c];
|
|
||||||
} else {
|
} else {
|
||||||
throw new TomlError("unrecognized escape sequence", {
|
if (c === "b")
|
||||||
|
parsed += "\b";
|
||||||
|
else if (c === "t")
|
||||||
|
parsed += " ";
|
||||||
|
else if (c === "n")
|
||||||
|
parsed += "\n";
|
||||||
|
else if (c === "f")
|
||||||
|
parsed += "\f";
|
||||||
|
else if (c === "r")
|
||||||
|
parsed += "\r";
|
||||||
|
else if (c === "e")
|
||||||
|
parsed += "\x1B";
|
||||||
|
else if (c === '"')
|
||||||
|
parsed += '"';
|
||||||
|
else if (c === "\\")
|
||||||
|
parsed += "\\";
|
||||||
|
else
|
||||||
|
throw new TomlError("unrecognized escape sequence", { toml: str, ptr: i });
|
||||||
|
sliceStart = i + 1;
|
||||||
|
state3 = 0;
|
||||||
|
}
|
||||||
|
} else if (c !== " " && c !== " ") {
|
||||||
|
if (state3 === 2) {
|
||||||
|
throw new TomlError("invalid escape: only line-ending whitespace may be escaped", {
|
||||||
toml: str,
|
toml: str,
|
||||||
ptr: tmp
|
ptr: sliceStart
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
sliceStart = ptr;
|
state3 = !isLiteral && c === "\\" ? 1 : 0;
|
||||||
} else if (!isLiteral && c === "\\") {
|
sliceStart = i;
|
||||||
tmp = ptr - 1;
|
|
||||||
isEscape = true;
|
|
||||||
parsed += str.slice(sliceStart, tmp);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return parsed + str.slice(sliceStart, endPtr - 1);
|
throw new TomlError("unfinished string", { toml: str, ptr });
|
||||||
}
|
}
|
||||||
function parseValue2(value, toml, ptr, integersAsBigInt) {
|
function parseValue2(value, toml, ptr, integersAsBigInt) {
|
||||||
if (value === "true")
|
if (value === "true")
|
||||||
@@ -97070,6 +97036,61 @@ function parseValue2(value, toml, ptr, integersAsBigInt) {
|
|||||||
return date;
|
return date;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// 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")
|
||||||
|
idx--;
|
||||||
|
return idx <= end ? idx : -1;
|
||||||
|
}
|
||||||
|
function skipComment(str, ptr) {
|
||||||
|
for (let i = ptr; i < str.length; i++) {
|
||||||
|
let c = str[i];
|
||||||
|
if (c === "\n")
|
||||||
|
return i;
|
||||||
|
if (c === "\r" && str[i + 1] === "\n")
|
||||||
|
return i + 1;
|
||||||
|
if (c < " " && c !== " " || c === "\x7F") {
|
||||||
|
throw new TomlError("control characters are not allowed in comments", {
|
||||||
|
toml: str,
|
||||||
|
ptr
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return str.length;
|
||||||
|
}
|
||||||
|
function skipVoid(str, ptr, banNewLines, banComments) {
|
||||||
|
let c;
|
||||||
|
while (1) {
|
||||||
|
while ((c = str[ptr]) === " " || c === " " || !banNewLines && (c === "\n" || c === "\r" && str[ptr + 1] === "\n"))
|
||||||
|
ptr++;
|
||||||
|
if (banComments || c !== "#")
|
||||||
|
break;
|
||||||
|
ptr = skipComment(str, ptr);
|
||||||
|
}
|
||||||
|
return ptr;
|
||||||
|
}
|
||||||
|
function skipUntil(str, ptr, sep8, end, banNewLines = false) {
|
||||||
|
if (!end) {
|
||||||
|
ptr = indexOfNewline(str, ptr);
|
||||||
|
return ptr < 0 ? str.length : ptr;
|
||||||
|
}
|
||||||
|
for (let i = ptr; i < str.length; i++) {
|
||||||
|
let c = str[i];
|
||||||
|
if (c === "#") {
|
||||||
|
i = indexOfNewline(str, i);
|
||||||
|
} else if (c === sep8) {
|
||||||
|
return i + 1;
|
||||||
|
} else if (c === end || banNewLines && (c === "\n" || c === "\r" && str[i + 1] === "\n")) {
|
||||||
|
return i;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
throw new TomlError("cannot find end of structure", {
|
||||||
|
toml: str,
|
||||||
|
ptr
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
// node_modules/smol-toml/dist/extract.js
|
// node_modules/smol-toml/dist/extract.js
|
||||||
function sliceAndTrimEndOf(str, startPtr, endPtr) {
|
function sliceAndTrimEndOf(str, startPtr, endPtr) {
|
||||||
let value = str.slice(startPtr, endPtr);
|
let value = str.slice(startPtr, endPtr);
|
||||||
@@ -97103,24 +97124,23 @@ function extractValue(str, ptr, end, depth, integersAsBigInt) {
|
|||||||
}
|
}
|
||||||
return [value, endPtr2];
|
return [value, endPtr2];
|
||||||
}
|
}
|
||||||
let endPtr;
|
|
||||||
if (c === '"' || c === "'") {
|
if (c === '"' || c === "'") {
|
||||||
endPtr = getStringEnd(str, ptr);
|
let [parsed, endPtr2] = parseString(str, ptr);
|
||||||
let parsed = parseString(str, ptr, endPtr);
|
|
||||||
if (end) {
|
if (end) {
|
||||||
endPtr = skipVoid(str, endPtr);
|
endPtr2 = skipVoid(str, endPtr2);
|
||||||
if (str[endPtr] && str[endPtr] !== "," && str[endPtr] !== end && str[endPtr] !== "\n" && str[endPtr] !== "\r") {
|
if (str[endPtr2] && str[endPtr2] !== "," && str[endPtr2] !== end && str[endPtr2] !== "\n" && str[endPtr2] !== "\r") {
|
||||||
throw new TomlError("unexpected character encountered", {
|
throw new TomlError("unexpected character encountered", {
|
||||||
toml: str,
|
toml: str,
|
||||||
ptr: endPtr
|
ptr: endPtr2
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
endPtr += +(str[endPtr] === ",");
|
if (str[endPtr2] === ",")
|
||||||
|
endPtr2++;
|
||||||
}
|
}
|
||||||
return [parsed, endPtr];
|
return [parsed, endPtr2];
|
||||||
}
|
}
|
||||||
endPtr = skipUntil(str, ptr, ",", end);
|
let endPtr = skipUntil(str, ptr, ",", end);
|
||||||
let slice = sliceAndTrimEndOf(str, ptr, endPtr - +(str[endPtr - 1] === ","));
|
let slice = sliceAndTrimEndOf(str, ptr, endPtr - (str[endPtr - 1] === "," ? 1 : 0));
|
||||||
if (!slice[0]) {
|
if (!slice[0]) {
|
||||||
throw new TomlError("incomplete key-value declaration: no value specified", {
|
throw new TomlError("incomplete key-value declaration: no value specified", {
|
||||||
toml: str,
|
toml: str,
|
||||||
@@ -97129,7 +97149,8 @@ function extractValue(str, ptr, end, depth, integersAsBigInt) {
|
|||||||
}
|
}
|
||||||
if (end && slice[1] > -1) {
|
if (end && slice[1] > -1) {
|
||||||
endPtr = skipVoid(str, ptr + slice[1]);
|
endPtr = skipVoid(str, ptr + slice[1]);
|
||||||
endPtr += +(str[endPtr] === ",");
|
if (str[endPtr] === ",")
|
||||||
|
endPtr++;
|
||||||
}
|
}
|
||||||
return [
|
return [
|
||||||
parseValue2(slice[0], str, ptr, integersAsBigInt),
|
parseValue2(slice[0], str, ptr, integersAsBigInt),
|
||||||
@@ -97159,13 +97180,7 @@ function parseKey(str, ptr, end = "=") {
|
|||||||
ptr
|
ptr
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
let eos = getStringEnd(str, ptr);
|
let [part, eos] = parseString(str, ptr);
|
||||||
if (eos < 0) {
|
|
||||||
throw new TomlError("unfinished string encountered", {
|
|
||||||
toml: str,
|
|
||||||
ptr
|
|
||||||
});
|
|
||||||
}
|
|
||||||
dot = str.indexOf(".", eos);
|
dot = str.indexOf(".", eos);
|
||||||
let strEnd = str.slice(eos, dot < 0 || dot > endPtr ? endPtr : dot);
|
let strEnd = str.slice(eos, dot < 0 || dot > endPtr ? endPtr : dot);
|
||||||
let newLine = indexOfNewline(strEnd);
|
let newLine = indexOfNewline(strEnd);
|
||||||
@@ -97190,7 +97205,7 @@ function parseKey(str, ptr, end = "=") {
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
parsed.push(parseString(str, ptr, eos));
|
parsed.push(part);
|
||||||
} else {
|
} else {
|
||||||
dot = str.indexOf(".", ptr);
|
dot = str.indexOf(".", ptr);
|
||||||
let part = str.slice(ptr, dot < 0 || dot > endPtr ? endPtr : dot);
|
let part = str.slice(ptr, dot < 0 || dot > endPtr ? endPtr : dot);
|
||||||
@@ -98394,10 +98409,10 @@ undici/lib/web/websocket/frame.js:
|
|||||||
undici/lib/web/websocket/frame.js:
|
undici/lib/web/websocket/frame.js:
|
||||||
(*! ws. MIT License. Einar Otto Stangvik <einaros@gmail.com> *)
|
(*! ws. MIT License. Einar Otto Stangvik <einaros@gmail.com> *)
|
||||||
|
|
||||||
smol-toml/dist/error.js:
|
|
||||||
smol-toml/dist/util.js:
|
|
||||||
smol-toml/dist/date.js:
|
smol-toml/dist/date.js:
|
||||||
|
smol-toml/dist/error.js:
|
||||||
smol-toml/dist/primitive.js:
|
smol-toml/dist/primitive.js:
|
||||||
|
smol-toml/dist/util.js:
|
||||||
smol-toml/dist/extract.js:
|
smol-toml/dist/extract.js:
|
||||||
smol-toml/dist/struct.js:
|
smol-toml/dist/struct.js:
|
||||||
smol-toml/dist/parse.js:
|
smol-toml/dist/parse.js:
|
||||||
|
|||||||
18
dist/update-known-checksums/index.cjs
generated
vendored
18
dist/update-known-checksums/index.cjs
generated
vendored
@@ -45701,6 +45701,24 @@ var semver = __toESM(require_semver(), 1);
|
|||||||
|
|
||||||
// src/download/checksum/known-checksums.ts
|
// src/download/checksum/known-checksums.ts
|
||||||
var KNOWN_CHECKSUMS = {
|
var KNOWN_CHECKSUMS = {
|
||||||
|
"aarch64-apple-darwin-0.11.29": "61c04acc52a33ef0f331e494bdfbedcdb6c26c6970c022ed3699e5860f8930e3",
|
||||||
|
"aarch64-pc-windows-msvc-0.11.29": "55b597ae81bc29531a7c352a1431a8a73cc2755d7a5b9ec454580cbe02e5154f",
|
||||||
|
"aarch64-unknown-linux-gnu-0.11.29": "94500fb064ae3c971a873cba64d94694c50677e0a4dbf78735c80509e7429919",
|
||||||
|
"aarch64-unknown-linux-musl-0.11.29": "593d79a797ece3f1dfaaf3e0a973263422a135d9262c7dbc6cd75d9c11acc0b4",
|
||||||
|
"arm-unknown-linux-musleabihf-0.11.29": "b160d7eb7dc45af378b3c9dd2cd6b07d64c65b509f2da673434e8e5dc996e5b1",
|
||||||
|
"armv7-unknown-linux-gnueabihf-0.11.29": "7b5717ae304fbb1e94104699fb8c08b32d1537fedc90dd8fcf87768d818951ed",
|
||||||
|
"armv7-unknown-linux-musleabihf-0.11.29": "bfd05286a80b39bd4708bbbb4450fe09f07fea86eea60d31ea2de0b5e816ef54",
|
||||||
|
"i686-pc-windows-msvc-0.11.29": "c173af6f6e125d65214b55d6b75fcf1a32d5e1c3a656938740fe0b2379cd4bcc",
|
||||||
|
"i686-unknown-linux-gnu-0.11.29": "c62af324951ae6f31f9453280e077176c96b6e31897d8133c00411a91a20878f",
|
||||||
|
"i686-unknown-linux-musl-0.11.29": "368dd75d030cae0512631ba0d50604e8471275ec2d9f02836edb91e4c82ad36a",
|
||||||
|
"powerpc64le-unknown-linux-gnu-0.11.29": "641b15637de9fedc7e738b0e4716b2233c792ba6dca722ba0484381749e1a9fd",
|
||||||
|
"riscv64gc-unknown-linux-gnu-0.11.29": "5c1229cc0309ebc6872ee847b8fc75564b3b7688edeb09e19427203e2dbc0ea7",
|
||||||
|
"riscv64gc-unknown-linux-musl-0.11.29": "d4708d913ba88fad9fe1d81da3e13aecadde7a3190cc095a7f2af2fa5c8caa8f",
|
||||||
|
"s390x-unknown-linux-gnu-0.11.29": "fa029183f550a3b00b89c06529fabfa11e0c69c097ccd397a8e7eae46f397348",
|
||||||
|
"x86_64-apple-darwin-0.11.29": "c4c4de482da9ccdd076dc4fb5cfe7b740609029385c72f58606be3153602387d",
|
||||||
|
"x86_64-pc-windows-msvc-0.11.29": "a047d55651bc3e0ca24595b25ec4cfcb10f9dca9fb56514e661269b37d4fae68",
|
||||||
|
"x86_64-unknown-linux-gnu-0.11.29": "04f8b82f5d47f0512dcd32c67a4a6f16a0ea27c81537c338fd0ad6b23cebe829",
|
||||||
|
"x86_64-unknown-linux-musl-0.11.29": "46711858adb2a3acaa9cee00f9060688ad1fd5706aecc005b96a6a7f285a00b7",
|
||||||
"aarch64-apple-darwin-0.11.28": "33540eb7c883ab857eff79bd5ac2aa31fe27b595abecb4a9c003a2c998447232",
|
"aarch64-apple-darwin-0.11.28": "33540eb7c883ab857eff79bd5ac2aa31fe27b595abecb4a9c003a2c998447232",
|
||||||
"aarch64-pc-windows-msvc-0.11.28": "3248109afad3ec59baad299d324ff53de17e2d9a3b3e21580ffd26744b11e036",
|
"aarch64-pc-windows-msvc-0.11.28": "3248109afad3ec59baad299d324ff53de17e2d9a3b3e21580ffd26744b11e036",
|
||||||
"aarch64-unknown-linux-gnu-0.11.28": "03e9fe0a81b0718d0bc84625de3885df6cc3f89a8b6af6121d6b9f6113fb6533",
|
"aarch64-unknown-linux-gnu-0.11.28": "03e9fe0a81b0718d0bc84625de3885df6cc3f89a8b6af6121d6b9f6113fb6533",
|
||||||
|
|||||||
@@ -6,7 +6,7 @@ This document covers advanced options for configuring which version of uv to ins
|
|||||||
|
|
||||||
```yaml
|
```yaml
|
||||||
- name: Install the latest version of uv
|
- name: Install the latest version of uv
|
||||||
uses: astral-sh/setup-uv@f98e06938123ccabd21905ea5d0069192241f9f1 # v8.3.1
|
uses: astral-sh/setup-uv@11f9893b081a58869d3b5fccaea48c9e9e46f990 # v8.3.2
|
||||||
with:
|
with:
|
||||||
version: "latest"
|
version: "latest"
|
||||||
```
|
```
|
||||||
@@ -15,7 +15,7 @@ This document covers advanced options for configuring which version of uv to ins
|
|||||||
|
|
||||||
```yaml
|
```yaml
|
||||||
- name: Install a specific version of uv
|
- name: Install a specific version of uv
|
||||||
uses: astral-sh/setup-uv@f98e06938123ccabd21905ea5d0069192241f9f1 # v8.3.1
|
uses: astral-sh/setup-uv@11f9893b081a58869d3b5fccaea48c9e9e46f990 # v8.3.2
|
||||||
with:
|
with:
|
||||||
version: "0.4.4"
|
version: "0.4.4"
|
||||||
```
|
```
|
||||||
@@ -28,21 +28,21 @@ to install the latest version that satisfies the range.
|
|||||||
|
|
||||||
```yaml
|
```yaml
|
||||||
- name: Install a semver range of uv
|
- name: Install a semver range of uv
|
||||||
uses: astral-sh/setup-uv@f98e06938123ccabd21905ea5d0069192241f9f1 # v8.3.1
|
uses: astral-sh/setup-uv@11f9893b081a58869d3b5fccaea48c9e9e46f990 # v8.3.2
|
||||||
with:
|
with:
|
||||||
version: ">=0.4.0"
|
version: ">=0.4.0"
|
||||||
```
|
```
|
||||||
|
|
||||||
```yaml
|
```yaml
|
||||||
- name: Pinning a minor version of uv
|
- name: Pinning a minor version of uv
|
||||||
uses: astral-sh/setup-uv@f98e06938123ccabd21905ea5d0069192241f9f1 # v8.3.1
|
uses: astral-sh/setup-uv@11f9893b081a58869d3b5fccaea48c9e9e46f990 # v8.3.2
|
||||||
with:
|
with:
|
||||||
version: "0.4.x"
|
version: "0.4.x"
|
||||||
```
|
```
|
||||||
|
|
||||||
```yaml
|
```yaml
|
||||||
- name: Install a pep440-specifier-satisfying version of uv
|
- name: Install a pep440-specifier-satisfying version of uv
|
||||||
uses: astral-sh/setup-uv@f98e06938123ccabd21905ea5d0069192241f9f1 # v8.3.1
|
uses: astral-sh/setup-uv@11f9893b081a58869d3b5fccaea48c9e9e46f990 # v8.3.2
|
||||||
with:
|
with:
|
||||||
version: ">=0.4.25,<0.5"
|
version: ">=0.4.25,<0.5"
|
||||||
```
|
```
|
||||||
@@ -54,7 +54,7 @@ You can change this behavior using the `resolution-strategy` input:
|
|||||||
|
|
||||||
```yaml
|
```yaml
|
||||||
- name: Install the lowest compatible version of uv
|
- name: Install the lowest compatible version of uv
|
||||||
uses: astral-sh/setup-uv@f98e06938123ccabd21905ea5d0069192241f9f1 # v8.3.1
|
uses: astral-sh/setup-uv@11f9893b081a58869d3b5fccaea48c9e9e46f990 # v8.3.2
|
||||||
with:
|
with:
|
||||||
version: ">=0.4.0"
|
version: ">=0.4.0"
|
||||||
resolution-strategy: "lowest"
|
resolution-strategy: "lowest"
|
||||||
@@ -76,7 +76,7 @@ uv defined as a dependency in `pyproject.toml` or `requirements.txt`.
|
|||||||
|
|
||||||
```yaml
|
```yaml
|
||||||
- name: Install uv based on the version defined in pyproject.toml
|
- name: Install uv based on the version defined in pyproject.toml
|
||||||
uses: astral-sh/setup-uv@f98e06938123ccabd21905ea5d0069192241f9f1 # v8.3.1
|
uses: astral-sh/setup-uv@11f9893b081a58869d3b5fccaea48c9e9e46f990 # v8.3.2
|
||||||
with:
|
with:
|
||||||
version-file: "pyproject.toml"
|
version-file: "pyproject.toml"
|
||||||
```
|
```
|
||||||
@@ -87,7 +87,7 @@ silently picking up a newer uv until the lockfile is updated.
|
|||||||
|
|
||||||
```yaml
|
```yaml
|
||||||
- name: Install uv based on the version locked in uv.lock
|
- name: Install uv based on the version locked in uv.lock
|
||||||
uses: astral-sh/setup-uv@f98e06938123ccabd21905ea5d0069192241f9f1 # v8.3.1
|
uses: astral-sh/setup-uv@11f9893b081a58869d3b5fccaea48c9e9e46f990 # v8.3.2
|
||||||
with:
|
with:
|
||||||
version-file: "uv.lock"
|
version-file: "uv.lock"
|
||||||
```
|
```
|
||||||
|
|||||||
@@ -23,7 +23,7 @@ The computed cache key is available as the `cache-key` output:
|
|||||||
```yaml
|
```yaml
|
||||||
- name: Setup uv
|
- name: Setup uv
|
||||||
id: setup-uv
|
id: setup-uv
|
||||||
uses: astral-sh/setup-uv@f98e06938123ccabd21905ea5d0069192241f9f1 # v8.3.1
|
uses: astral-sh/setup-uv@11f9893b081a58869d3b5fccaea48c9e9e46f990 # v8.3.2
|
||||||
with:
|
with:
|
||||||
enable-cache: true
|
enable-cache: true
|
||||||
- name: Print cache key
|
- name: Print cache key
|
||||||
@@ -50,7 +50,7 @@ You can optionally define a custom cache key suffix.
|
|||||||
```yaml
|
```yaml
|
||||||
- name: Enable caching and define a custom cache key suffix
|
- name: Enable caching and define a custom cache key suffix
|
||||||
id: setup-uv
|
id: setup-uv
|
||||||
uses: astral-sh/setup-uv@f98e06938123ccabd21905ea5d0069192241f9f1 # v8.3.1
|
uses: astral-sh/setup-uv@11f9893b081a58869d3b5fccaea48c9e9e46f990 # v8.3.2
|
||||||
with:
|
with:
|
||||||
enable-cache: true
|
enable-cache: true
|
||||||
cache-suffix: "optional-suffix"
|
cache-suffix: "optional-suffix"
|
||||||
@@ -89,7 +89,7 @@ changes. If you use relative paths, they are relative to the working directory.
|
|||||||
|
|
||||||
```yaml
|
```yaml
|
||||||
- name: Define a cache dependency glob
|
- name: Define a cache dependency glob
|
||||||
uses: astral-sh/setup-uv@f98e06938123ccabd21905ea5d0069192241f9f1 # v8.3.1
|
uses: astral-sh/setup-uv@11f9893b081a58869d3b5fccaea48c9e9e46f990 # v8.3.2
|
||||||
with:
|
with:
|
||||||
enable-cache: true
|
enable-cache: true
|
||||||
cache-dependency-glob: "**/pyproject.toml"
|
cache-dependency-glob: "**/pyproject.toml"
|
||||||
@@ -97,7 +97,7 @@ changes. If you use relative paths, they are relative to the working directory.
|
|||||||
|
|
||||||
```yaml
|
```yaml
|
||||||
- name: Define a list of cache dependency globs
|
- name: Define a list of cache dependency globs
|
||||||
uses: astral-sh/setup-uv@f98e06938123ccabd21905ea5d0069192241f9f1 # v8.3.1
|
uses: astral-sh/setup-uv@11f9893b081a58869d3b5fccaea48c9e9e46f990 # v8.3.2
|
||||||
with:
|
with:
|
||||||
enable-cache: true
|
enable-cache: true
|
||||||
cache-dependency-glob: |
|
cache-dependency-glob: |
|
||||||
@@ -107,7 +107,7 @@ changes. If you use relative paths, they are relative to the working directory.
|
|||||||
|
|
||||||
```yaml
|
```yaml
|
||||||
- name: Define an absolute cache dependency glob
|
- name: Define an absolute cache dependency glob
|
||||||
uses: astral-sh/setup-uv@f98e06938123ccabd21905ea5d0069192241f9f1 # v8.3.1
|
uses: astral-sh/setup-uv@11f9893b081a58869d3b5fccaea48c9e9e46f990 # v8.3.2
|
||||||
with:
|
with:
|
||||||
enable-cache: true
|
enable-cache: true
|
||||||
cache-dependency-glob: "/tmp/my-folder/requirements*.txt"
|
cache-dependency-glob: "/tmp/my-folder/requirements*.txt"
|
||||||
@@ -115,7 +115,7 @@ changes. If you use relative paths, they are relative to the working directory.
|
|||||||
|
|
||||||
```yaml
|
```yaml
|
||||||
- name: Never invalidate the cache
|
- name: Never invalidate the cache
|
||||||
uses: astral-sh/setup-uv@f98e06938123ccabd21905ea5d0069192241f9f1 # v8.3.1
|
uses: astral-sh/setup-uv@11f9893b081a58869d3b5fccaea48c9e9e46f990 # v8.3.2
|
||||||
with:
|
with:
|
||||||
enable-cache: true
|
enable-cache: true
|
||||||
cache-dependency-glob: ""
|
cache-dependency-glob: ""
|
||||||
@@ -128,7 +128,7 @@ By default, the cache will be restored.
|
|||||||
|
|
||||||
```yaml
|
```yaml
|
||||||
- name: Don't restore an existing cache
|
- name: Don't restore an existing cache
|
||||||
uses: astral-sh/setup-uv@f98e06938123ccabd21905ea5d0069192241f9f1 # v8.3.1
|
uses: astral-sh/setup-uv@11f9893b081a58869d3b5fccaea48c9e9e46f990 # v8.3.2
|
||||||
with:
|
with:
|
||||||
enable-cache: true
|
enable-cache: true
|
||||||
restore-cache: false
|
restore-cache: false
|
||||||
@@ -142,7 +142,7 @@ By default, the cache will be saved.
|
|||||||
|
|
||||||
```yaml
|
```yaml
|
||||||
- name: Don't save the cache after the run
|
- name: Don't save the cache after the run
|
||||||
uses: astral-sh/setup-uv@f98e06938123ccabd21905ea5d0069192241f9f1 # v8.3.1
|
uses: astral-sh/setup-uv@11f9893b081a58869d3b5fccaea48c9e9e46f990 # v8.3.2
|
||||||
with:
|
with:
|
||||||
enable-cache: true
|
enable-cache: true
|
||||||
save-cache: false
|
save-cache: false
|
||||||
@@ -168,7 +168,7 @@ It defaults to `setup-uv-cache` in the `TMP` dir, `D:\a\_temp\setup-uv-cache` on
|
|||||||
|
|
||||||
```yaml
|
```yaml
|
||||||
- name: Define a custom uv cache path
|
- name: Define a custom uv cache path
|
||||||
uses: astral-sh/setup-uv@f98e06938123ccabd21905ea5d0069192241f9f1 # v8.3.1
|
uses: astral-sh/setup-uv@11f9893b081a58869d3b5fccaea48c9e9e46f990 # v8.3.2
|
||||||
with:
|
with:
|
||||||
cache-local-path: "/path/to/cache"
|
cache-local-path: "/path/to/cache"
|
||||||
```
|
```
|
||||||
@@ -187,7 +187,7 @@ input.
|
|||||||
|
|
||||||
```yaml
|
```yaml
|
||||||
- name: Don't prune the cache before saving it
|
- name: Don't prune the cache before saving it
|
||||||
uses: astral-sh/setup-uv@f98e06938123ccabd21905ea5d0069192241f9f1 # v8.3.1
|
uses: astral-sh/setup-uv@11f9893b081a58869d3b5fccaea48c9e9e46f990 # v8.3.2
|
||||||
with:
|
with:
|
||||||
enable-cache: true
|
enable-cache: true
|
||||||
prune-cache: false
|
prune-cache: false
|
||||||
@@ -205,7 +205,7 @@ To force managed Python installs, set `UV_PYTHON_PREFERENCE=only-managed`.
|
|||||||
|
|
||||||
```yaml
|
```yaml
|
||||||
- name: Cache Python installs
|
- name: Cache Python installs
|
||||||
uses: astral-sh/setup-uv@f98e06938123ccabd21905ea5d0069192241f9f1 # v8.3.1
|
uses: astral-sh/setup-uv@11f9893b081a58869d3b5fccaea48c9e9e46f990 # v8.3.2
|
||||||
with:
|
with:
|
||||||
enable-cache: true
|
enable-cache: true
|
||||||
cache-python: true
|
cache-python: true
|
||||||
@@ -223,7 +223,7 @@ If you want to ignore this, set the `ignore-nothing-to-cache` input to `true`.
|
|||||||
|
|
||||||
```yaml
|
```yaml
|
||||||
- name: Ignore nothing to cache
|
- name: Ignore nothing to cache
|
||||||
uses: astral-sh/setup-uv@f98e06938123ccabd21905ea5d0069192241f9f1 # v8.3.1
|
uses: astral-sh/setup-uv@11f9893b081a58869d3b5fccaea48c9e9e46f990 # v8.3.2
|
||||||
with:
|
with:
|
||||||
enable-cache: true
|
enable-cache: true
|
||||||
ignore-nothing-to-cache: true
|
ignore-nothing-to-cache: true
|
||||||
|
|||||||
@@ -10,7 +10,7 @@ are automatically verified by this action. The sha256 hashes can be found on the
|
|||||||
|
|
||||||
```yaml
|
```yaml
|
||||||
- name: Install a specific version and validate the checksum
|
- name: Install a specific version and validate the checksum
|
||||||
uses: astral-sh/setup-uv@f98e06938123ccabd21905ea5d0069192241f9f1 # v8.3.1
|
uses: astral-sh/setup-uv@11f9893b081a58869d3b5fccaea48c9e9e46f990 # v8.3.2
|
||||||
with:
|
with:
|
||||||
version: "0.3.1"
|
version: "0.3.1"
|
||||||
checksum: "e11b01402ab645392c7ad6044db63d37e4fd1e745e015306993b07695ea5f9f8"
|
checksum: "e11b01402ab645392c7ad6044db63d37e4fd1e745e015306993b07695ea5f9f8"
|
||||||
@@ -39,7 +39,7 @@ The `archive_format` field is currently ignored.
|
|||||||
|
|
||||||
```yaml
|
```yaml
|
||||||
- name: Use a custom manifest file
|
- name: Use a custom manifest file
|
||||||
uses: astral-sh/setup-uv@f98e06938123ccabd21905ea5d0069192241f9f1 # v8.3.1
|
uses: astral-sh/setup-uv@11f9893b081a58869d3b5fccaea48c9e9e46f990 # v8.3.2
|
||||||
with:
|
with:
|
||||||
manifest-file: "https://example.com/my-custom-manifest.ndjson"
|
manifest-file: "https://example.com/my-custom-manifest.ndjson"
|
||||||
```
|
```
|
||||||
@@ -58,7 +58,7 @@ You can disable this by setting the `add-problem-matchers` input to `false`.
|
|||||||
|
|
||||||
```yaml
|
```yaml
|
||||||
- name: Install the latest version of uv without problem matchers
|
- name: Install the latest version of uv without problem matchers
|
||||||
uses: astral-sh/setup-uv@f98e06938123ccabd21905ea5d0069192241f9f1 # v8.3.1
|
uses: astral-sh/setup-uv@11f9893b081a58869d3b5fccaea48c9e9e46f990 # v8.3.2
|
||||||
with:
|
with:
|
||||||
add-problem-matchers: false
|
add-problem-matchers: false
|
||||||
```
|
```
|
||||||
|
|||||||
@@ -9,7 +9,7 @@ This allows directly using it in later steps:
|
|||||||
|
|
||||||
```yaml
|
```yaml
|
||||||
- name: Install the latest version of uv and activate the environment
|
- name: Install the latest version of uv and activate the environment
|
||||||
uses: astral-sh/setup-uv@f98e06938123ccabd21905ea5d0069192241f9f1 # v8.3.1
|
uses: astral-sh/setup-uv@11f9893b081a58869d3b5fccaea48c9e9e46f990 # v8.3.2
|
||||||
with:
|
with:
|
||||||
activate-environment: true
|
activate-environment: true
|
||||||
- run: uv pip install pip
|
- run: uv pip install pip
|
||||||
@@ -20,7 +20,7 @@ By default, the venv is created at `.venv` inside the `working-directory`.
|
|||||||
You can customize the venv location with `venv-path`, for example to place it in the runner temp directory:
|
You can customize the venv location with `venv-path`, for example to place it in the runner temp directory:
|
||||||
|
|
||||||
```yaml
|
```yaml
|
||||||
- uses: astral-sh/setup-uv@f98e06938123ccabd21905ea5d0069192241f9f1 # v8.3.1
|
- uses: astral-sh/setup-uv@11f9893b081a58869d3b5fccaea48c9e9e46f990 # v8.3.2
|
||||||
with:
|
with:
|
||||||
activate-environment: true
|
activate-environment: true
|
||||||
venv-path: ${{ runner.temp }}/custom-venv
|
venv-path: ${{ runner.temp }}/custom-venv
|
||||||
@@ -51,7 +51,7 @@ are not sufficient, you can provide a custom GitHub token with the necessary per
|
|||||||
|
|
||||||
```yaml
|
```yaml
|
||||||
- name: Install the latest version of uv with a custom GitHub token
|
- name: Install the latest version of uv with a custom GitHub token
|
||||||
uses: astral-sh/setup-uv@f98e06938123ccabd21905ea5d0069192241f9f1 # v8.3.1
|
uses: astral-sh/setup-uv@11f9893b081a58869d3b5fccaea48c9e9e46f990 # v8.3.2
|
||||||
with:
|
with:
|
||||||
github-token: ${{ secrets.CUSTOM_GITHUB_TOKEN }}
|
github-token: ${{ secrets.CUSTOM_GITHUB_TOKEN }}
|
||||||
```
|
```
|
||||||
@@ -69,7 +69,7 @@ input:
|
|||||||
|
|
||||||
```yaml
|
```yaml
|
||||||
- name: Install the latest version of uv with a custom tool dir
|
- name: Install the latest version of uv with a custom tool dir
|
||||||
uses: astral-sh/setup-uv@f98e06938123ccabd21905ea5d0069192241f9f1 # v8.3.1
|
uses: astral-sh/setup-uv@11f9893b081a58869d3b5fccaea48c9e9e46f990 # v8.3.2
|
||||||
with:
|
with:
|
||||||
tool-dir: "/path/to/tool/dir"
|
tool-dir: "/path/to/tool/dir"
|
||||||
```
|
```
|
||||||
@@ -88,7 +88,7 @@ If you want to change this behaviour (especially on self-hosted runners) you can
|
|||||||
|
|
||||||
```yaml
|
```yaml
|
||||||
- name: Install the latest version of uv with a custom tool bin dir
|
- name: Install the latest version of uv with a custom tool bin dir
|
||||||
uses: astral-sh/setup-uv@f98e06938123ccabd21905ea5d0069192241f9f1 # v8.3.1
|
uses: astral-sh/setup-uv@11f9893b081a58869d3b5fccaea48c9e9e46f990 # v8.3.2
|
||||||
with:
|
with:
|
||||||
tool-bin-dir: "/path/to/tool-bin/dir"
|
tool-bin-dir: "/path/to/tool-bin/dir"
|
||||||
```
|
```
|
||||||
@@ -105,7 +105,7 @@ This action supports expanding the `~` character to the user's home directory fo
|
|||||||
|
|
||||||
```yaml
|
```yaml
|
||||||
- name: Expand the tilde character
|
- name: Expand the tilde character
|
||||||
uses: astral-sh/setup-uv@f98e06938123ccabd21905ea5d0069192241f9f1 # v8.3.1
|
uses: astral-sh/setup-uv@11f9893b081a58869d3b5fccaea48c9e9e46f990 # v8.3.2
|
||||||
with:
|
with:
|
||||||
cache-local-path: "~/path/to/cache"
|
cache-local-path: "~/path/to/cache"
|
||||||
tool-dir: "~/path/to/tool/dir"
|
tool-dir: "~/path/to/tool/dir"
|
||||||
@@ -122,7 +122,7 @@ If you want to ignore this, set the `ignore-empty-workdir` input to `true`.
|
|||||||
|
|
||||||
```yaml
|
```yaml
|
||||||
- name: Ignore empty workdir
|
- name: Ignore empty workdir
|
||||||
uses: astral-sh/setup-uv@f98e06938123ccabd21905ea5d0069192241f9f1 # v8.3.1
|
uses: astral-sh/setup-uv@11f9893b081a58869d3b5fccaea48c9e9e46f990 # v8.3.2
|
||||||
with:
|
with:
|
||||||
ignore-empty-workdir: true
|
ignore-empty-workdir: true
|
||||||
```
|
```
|
||||||
@@ -145,7 +145,7 @@ This action sets several environment variables that influence uv's behavior and
|
|||||||
|
|
||||||
```yaml
|
```yaml
|
||||||
- name: Example using environment variables
|
- name: Example using environment variables
|
||||||
uses: astral-sh/setup-uv@f98e06938123ccabd21905ea5d0069192241f9f1 # v8.3.1
|
uses: astral-sh/setup-uv@11f9893b081a58869d3b5fccaea48c9e9e46f990 # v8.3.2
|
||||||
with:
|
with:
|
||||||
python-version: "3.12"
|
python-version: "3.12"
|
||||||
tool-dir: "/custom/tool/dir"
|
tool-dir: "/custom/tool/dir"
|
||||||
|
|||||||
85
package-lock.json
generated
85
package-lock.json
generated
@@ -16,18 +16,18 @@
|
|||||||
"@actions/io": "^3.0.2",
|
"@actions/io": "^3.0.2",
|
||||||
"@actions/tool-cache": "^4.0.0",
|
"@actions/tool-cache": "^4.0.0",
|
||||||
"@renovatebot/pep440": "^5.0.0",
|
"@renovatebot/pep440": "^5.0.0",
|
||||||
"smol-toml": "^1.6.1",
|
"smol-toml": "^1.7.0",
|
||||||
"undici": "^8.3.0"
|
"undici": "^8.3.0"
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@biomejs/biome": "^2.5.1",
|
"@biomejs/biome": "^2.5.1",
|
||||||
"@types/js-yaml": "^4.0.9",
|
"@types/js-yaml": "^4.0.9",
|
||||||
"@types/node": "^25.5.0",
|
"@types/node": "^26.0.1",
|
||||||
"@types/semver": "^7.7.1",
|
"@types/semver": "^7.7.1",
|
||||||
"@vercel/ncc": "^0.44.0",
|
"@vercel/ncc": "^0.44.1",
|
||||||
"esbuild": "^0.28.0",
|
"esbuild": "^0.28.0",
|
||||||
"jest": "^30.4.2",
|
"jest": "^30.4.2",
|
||||||
"js-yaml": "^4.1.1",
|
"js-yaml": "^5.2.1",
|
||||||
"ts-jest": "^29.4.11",
|
"ts-jest": "^29.4.11",
|
||||||
"typescript": "^6.0.3"
|
"typescript": "^6.0.3"
|
||||||
}
|
}
|
||||||
@@ -2145,13 +2145,13 @@
|
|||||||
"license": "MIT"
|
"license": "MIT"
|
||||||
},
|
},
|
||||||
"node_modules/@types/node": {
|
"node_modules/@types/node": {
|
||||||
"version": "25.5.0",
|
"version": "26.0.1",
|
||||||
"resolved": "https://registry.npmjs.org/@types/node/-/node-25.5.0.tgz",
|
"resolved": "https://registry.npmjs.org/@types/node/-/node-26.0.1.tgz",
|
||||||
"integrity": "sha512-jp2P3tQMSxWugkCUKLRPVUpGaL5MVFwF8RDuSRztfwgN1wmqJeMSbKlnEtQqU8UrhTmzEmZdu2I6v2dpp7XIxw==",
|
"integrity": "sha512-fc3KiUoBt6kie0N9bIW3E47vZsuaMf0PM2AaUpLCLT0s/LvX1nxAim6Fc049cNxODPpGm6qRAuUOB86SkRuPQw==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"undici-types": "~7.18.0"
|
"undici-types": "~8.3.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@types/semver": {
|
"node_modules/@types/semver": {
|
||||||
@@ -2520,9 +2520,9 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
"node_modules/@vercel/ncc": {
|
"node_modules/@vercel/ncc": {
|
||||||
"version": "0.44.0",
|
"version": "0.44.1",
|
||||||
"resolved": "https://registry.npmjs.org/@vercel/ncc/-/ncc-0.44.0.tgz",
|
"resolved": "https://registry.npmjs.org/@vercel/ncc/-/ncc-0.44.1.tgz",
|
||||||
"integrity": "sha512-pHyI+bZokSgIscTKFSmpNk5vZzmOrb9RW0Vu4SRyqUvkJ0kgg3PzaZLLDVTFXhbUiCqg0/Eu8L4fKtgViA92kg==",
|
"integrity": "sha512-cUjIE5P2YY1n+Kt9rFIazMMpGoPn1Fic04rOmTkElMkiDP5oszGfERMpo2shVkFKDL7rVppdM2pqJKC59shQWQ==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"bin": {
|
"bin": {
|
||||||
@@ -4365,16 +4365,25 @@
|
|||||||
"license": "MIT"
|
"license": "MIT"
|
||||||
},
|
},
|
||||||
"node_modules/js-yaml": {
|
"node_modules/js-yaml": {
|
||||||
"version": "4.1.1",
|
"version": "5.2.1",
|
||||||
"resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.1.tgz",
|
"resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-5.2.1.tgz",
|
||||||
"integrity": "sha512-qQKT4zQxXl8lLwBtHMWwaTcGfFOZviOJet3Oy/xmGk2gZH677CJM9EvtfdSkgWcATZhj/55JZ0rmy3myCT5lsA==",
|
"integrity": "sha512-zfLtNfQqxVqq3uaTqSkh4x4hZw3KHobGUA0fJUj4wawW8bsQLTVqpHdXSIzidh7o+4lEW36tANuAGdaFx6Zgnw==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"license": "MIT",
|
"funding": [
|
||||||
|
{
|
||||||
|
"type": "github",
|
||||||
|
"url": "https://github.com/sponsors/puzrin"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "github",
|
||||||
|
"url": "https://github.com/sponsors/nodeca"
|
||||||
|
}
|
||||||
|
],
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"argparse": "^2.0.1"
|
"argparse": "^2.0.1"
|
||||||
},
|
},
|
||||||
"bin": {
|
"bin": {
|
||||||
"js-yaml": "bin/js-yaml.js"
|
"js-yaml": "bin/js-yaml.mjs"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/jsesc": {
|
"node_modules/jsesc": {
|
||||||
@@ -4984,9 +4993,9 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/smol-toml": {
|
"node_modules/smol-toml": {
|
||||||
"version": "1.6.1",
|
"version": "1.7.0",
|
||||||
"resolved": "https://registry.npmjs.org/smol-toml/-/smol-toml-1.6.1.tgz",
|
"resolved": "https://registry.npmjs.org/smol-toml/-/smol-toml-1.7.0.tgz",
|
||||||
"integrity": "sha512-dWUG8F5sIIARXih1DTaQAX4SsiTXhInKf1buxdY9DIg4ZYPZK5nGM1VRIYmEbDbsHt7USo99xSLFu5Q1IqTmsg==",
|
"integrity": "sha512-aqVvWoyO21L23mb+drl4RmMXbf6N7FdHjAhTRA9ZBL7apWBgfWC16KjrASI+1p9GAroljyMHj6fK67i0UiTNvQ==",
|
||||||
"license": "BSD-3-Clause",
|
"license": "BSD-3-Clause",
|
||||||
"engines": {
|
"engines": {
|
||||||
"node": ">= 18"
|
"node": ">= 18"
|
||||||
@@ -5435,9 +5444,9 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/undici-types": {
|
"node_modules/undici-types": {
|
||||||
"version": "7.18.2",
|
"version": "8.3.0",
|
||||||
"resolved": "https://registry.npmjs.org/undici-types/-/undici-types-7.18.2.tgz",
|
"resolved": "https://registry.npmjs.org/undici-types/-/undici-types-8.3.0.tgz",
|
||||||
"integrity": "sha512-AsuCzffGHJybSaRrmr5eHr81mwJU3kjw6M+uprWvCXiNeN9SOGwQ3Jn8jb8m3Z6izVgknn1R0FTCEAP2QrLY/w==",
|
"integrity": "sha512-j375ScV60dom+YkPFIfTLcOiPxkN/buHz5GobjLhixFuANaNs3C9l4GmrWqejgXWJ7BbJcFYpTEUkS1Ge8bpZQ==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"license": "MIT"
|
"license": "MIT"
|
||||||
},
|
},
|
||||||
@@ -7143,12 +7152,12 @@
|
|||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
"@types/node": {
|
"@types/node": {
|
||||||
"version": "25.5.0",
|
"version": "26.0.1",
|
||||||
"resolved": "https://registry.npmjs.org/@types/node/-/node-25.5.0.tgz",
|
"resolved": "https://registry.npmjs.org/@types/node/-/node-26.0.1.tgz",
|
||||||
"integrity": "sha512-jp2P3tQMSxWugkCUKLRPVUpGaL5MVFwF8RDuSRztfwgN1wmqJeMSbKlnEtQqU8UrhTmzEmZdu2I6v2dpp7XIxw==",
|
"integrity": "sha512-fc3KiUoBt6kie0N9bIW3E47vZsuaMf0PM2AaUpLCLT0s/LvX1nxAim6Fc049cNxODPpGm6qRAuUOB86SkRuPQw==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"requires": {
|
"requires": {
|
||||||
"undici-types": "~7.18.0"
|
"undici-types": "~8.3.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"@types/semver": {
|
"@types/semver": {
|
||||||
@@ -7354,9 +7363,9 @@
|
|||||||
"optional": true
|
"optional": true
|
||||||
},
|
},
|
||||||
"@vercel/ncc": {
|
"@vercel/ncc": {
|
||||||
"version": "0.44.0",
|
"version": "0.44.1",
|
||||||
"resolved": "https://registry.npmjs.org/@vercel/ncc/-/ncc-0.44.0.tgz",
|
"resolved": "https://registry.npmjs.org/@vercel/ncc/-/ncc-0.44.1.tgz",
|
||||||
"integrity": "sha512-pHyI+bZokSgIscTKFSmpNk5vZzmOrb9RW0Vu4SRyqUvkJ0kgg3PzaZLLDVTFXhbUiCqg0/Eu8L4fKtgViA92kg==",
|
"integrity": "sha512-cUjIE5P2YY1n+Kt9rFIazMMpGoPn1Fic04rOmTkElMkiDP5oszGfERMpo2shVkFKDL7rVppdM2pqJKC59shQWQ==",
|
||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
"agent-base": {
|
"agent-base": {
|
||||||
@@ -8617,9 +8626,9 @@
|
|||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
"js-yaml": {
|
"js-yaml": {
|
||||||
"version": "4.1.1",
|
"version": "5.2.1",
|
||||||
"resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.1.tgz",
|
"resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-5.2.1.tgz",
|
||||||
"integrity": "sha512-qQKT4zQxXl8lLwBtHMWwaTcGfFOZviOJet3Oy/xmGk2gZH677CJM9EvtfdSkgWcATZhj/55JZ0rmy3myCT5lsA==",
|
"integrity": "sha512-zfLtNfQqxVqq3uaTqSkh4x4hZw3KHobGUA0fJUj4wawW8bsQLTVqpHdXSIzidh7o+4lEW36tANuAGdaFx6Zgnw==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"requires": {
|
"requires": {
|
||||||
"argparse": "^2.0.1"
|
"argparse": "^2.0.1"
|
||||||
@@ -9025,9 +9034,9 @@
|
|||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
"smol-toml": {
|
"smol-toml": {
|
||||||
"version": "1.6.1",
|
"version": "1.7.0",
|
||||||
"resolved": "https://registry.npmjs.org/smol-toml/-/smol-toml-1.6.1.tgz",
|
"resolved": "https://registry.npmjs.org/smol-toml/-/smol-toml-1.7.0.tgz",
|
||||||
"integrity": "sha512-dWUG8F5sIIARXih1DTaQAX4SsiTXhInKf1buxdY9DIg4ZYPZK5nGM1VRIYmEbDbsHt7USo99xSLFu5Q1IqTmsg=="
|
"integrity": "sha512-aqVvWoyO21L23mb+drl4RmMXbf6N7FdHjAhTRA9ZBL7apWBgfWC16KjrASI+1p9GAroljyMHj6fK67i0UiTNvQ=="
|
||||||
},
|
},
|
||||||
"source-map": {
|
"source-map": {
|
||||||
"version": "0.6.1",
|
"version": "0.6.1",
|
||||||
@@ -9298,9 +9307,9 @@
|
|||||||
"integrity": "sha512-TkUDgb6tl7KOGZ+7e8E3d2FYgUQgF6z5YypqjWmixVQSQERFcVrVg0ySADm2LVLRh5ljAaHTCR5Fmz3Q34rB7Q=="
|
"integrity": "sha512-TkUDgb6tl7KOGZ+7e8E3d2FYgUQgF6z5YypqjWmixVQSQERFcVrVg0ySADm2LVLRh5ljAaHTCR5Fmz3Q34rB7Q=="
|
||||||
},
|
},
|
||||||
"undici-types": {
|
"undici-types": {
|
||||||
"version": "7.18.2",
|
"version": "8.3.0",
|
||||||
"resolved": "https://registry.npmjs.org/undici-types/-/undici-types-7.18.2.tgz",
|
"resolved": "https://registry.npmjs.org/undici-types/-/undici-types-8.3.0.tgz",
|
||||||
"integrity": "sha512-AsuCzffGHJybSaRrmr5eHr81mwJU3kjw6M+uprWvCXiNeN9SOGwQ3Jn8jb8m3Z6izVgknn1R0FTCEAP2QrLY/w==",
|
"integrity": "sha512-j375ScV60dom+YkPFIfTLcOiPxkN/buHz5GobjLhixFuANaNs3C9l4GmrWqejgXWJ7BbJcFYpTEUkS1Ge8bpZQ==",
|
||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
"unrs-resolver": {
|
"unrs-resolver": {
|
||||||
|
|||||||
@@ -35,18 +35,18 @@
|
|||||||
"@actions/io": "^3.0.2",
|
"@actions/io": "^3.0.2",
|
||||||
"@actions/tool-cache": "^4.0.0",
|
"@actions/tool-cache": "^4.0.0",
|
||||||
"@renovatebot/pep440": "^5.0.0",
|
"@renovatebot/pep440": "^5.0.0",
|
||||||
"smol-toml": "^1.6.1",
|
"smol-toml": "^1.7.0",
|
||||||
"undici": "^8.3.0"
|
"undici": "^8.3.0"
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@biomejs/biome": "^2.5.1",
|
"@biomejs/biome": "^2.5.1",
|
||||||
"@types/js-yaml": "^4.0.9",
|
"@types/js-yaml": "^4.0.9",
|
||||||
"@types/node": "^25.5.0",
|
"@types/node": "^26.0.1",
|
||||||
"@types/semver": "^7.7.1",
|
"@types/semver": "^7.7.1",
|
||||||
"@vercel/ncc": "^0.44.0",
|
"@vercel/ncc": "^0.44.1",
|
||||||
"esbuild": "^0.28.0",
|
"esbuild": "^0.28.0",
|
||||||
"jest": "^30.4.2",
|
"jest": "^30.4.2",
|
||||||
"js-yaml": "^4.1.1",
|
"js-yaml": "^5.2.1",
|
||||||
"ts-jest": "^29.4.11",
|
"ts-jest": "^29.4.11",
|
||||||
"typescript": "^6.0.3"
|
"typescript": "^6.0.3"
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,5 +1,41 @@
|
|||||||
// AUTOGENERATED_DO_NOT_EDIT
|
// AUTOGENERATED_DO_NOT_EDIT
|
||||||
export const KNOWN_CHECKSUMS: { [key: string]: string } = {
|
export const KNOWN_CHECKSUMS: { [key: string]: string } = {
|
||||||
|
"aarch64-apple-darwin-0.11.29":
|
||||||
|
"61c04acc52a33ef0f331e494bdfbedcdb6c26c6970c022ed3699e5860f8930e3",
|
||||||
|
"aarch64-pc-windows-msvc-0.11.29":
|
||||||
|
"55b597ae81bc29531a7c352a1431a8a73cc2755d7a5b9ec454580cbe02e5154f",
|
||||||
|
"aarch64-unknown-linux-gnu-0.11.29":
|
||||||
|
"94500fb064ae3c971a873cba64d94694c50677e0a4dbf78735c80509e7429919",
|
||||||
|
"aarch64-unknown-linux-musl-0.11.29":
|
||||||
|
"593d79a797ece3f1dfaaf3e0a973263422a135d9262c7dbc6cd75d9c11acc0b4",
|
||||||
|
"arm-unknown-linux-musleabihf-0.11.29":
|
||||||
|
"b160d7eb7dc45af378b3c9dd2cd6b07d64c65b509f2da673434e8e5dc996e5b1",
|
||||||
|
"armv7-unknown-linux-gnueabihf-0.11.29":
|
||||||
|
"7b5717ae304fbb1e94104699fb8c08b32d1537fedc90dd8fcf87768d818951ed",
|
||||||
|
"armv7-unknown-linux-musleabihf-0.11.29":
|
||||||
|
"bfd05286a80b39bd4708bbbb4450fe09f07fea86eea60d31ea2de0b5e816ef54",
|
||||||
|
"i686-pc-windows-msvc-0.11.29":
|
||||||
|
"c173af6f6e125d65214b55d6b75fcf1a32d5e1c3a656938740fe0b2379cd4bcc",
|
||||||
|
"i686-unknown-linux-gnu-0.11.29":
|
||||||
|
"c62af324951ae6f31f9453280e077176c96b6e31897d8133c00411a91a20878f",
|
||||||
|
"i686-unknown-linux-musl-0.11.29":
|
||||||
|
"368dd75d030cae0512631ba0d50604e8471275ec2d9f02836edb91e4c82ad36a",
|
||||||
|
"powerpc64le-unknown-linux-gnu-0.11.29":
|
||||||
|
"641b15637de9fedc7e738b0e4716b2233c792ba6dca722ba0484381749e1a9fd",
|
||||||
|
"riscv64gc-unknown-linux-gnu-0.11.29":
|
||||||
|
"5c1229cc0309ebc6872ee847b8fc75564b3b7688edeb09e19427203e2dbc0ea7",
|
||||||
|
"riscv64gc-unknown-linux-musl-0.11.29":
|
||||||
|
"d4708d913ba88fad9fe1d81da3e13aecadde7a3190cc095a7f2af2fa5c8caa8f",
|
||||||
|
"s390x-unknown-linux-gnu-0.11.29":
|
||||||
|
"fa029183f550a3b00b89c06529fabfa11e0c69c097ccd397a8e7eae46f397348",
|
||||||
|
"x86_64-apple-darwin-0.11.29":
|
||||||
|
"c4c4de482da9ccdd076dc4fb5cfe7b740609029385c72f58606be3153602387d",
|
||||||
|
"x86_64-pc-windows-msvc-0.11.29":
|
||||||
|
"a047d55651bc3e0ca24595b25ec4cfcb10f9dca9fb56514e661269b37d4fae68",
|
||||||
|
"x86_64-unknown-linux-gnu-0.11.29":
|
||||||
|
"04f8b82f5d47f0512dcd32c67a4a6f16a0ea27c81537c338fd0ad6b23cebe829",
|
||||||
|
"x86_64-unknown-linux-musl-0.11.29":
|
||||||
|
"46711858adb2a3acaa9cee00f9060688ad1fd5706aecc005b96a6a7f285a00b7",
|
||||||
"aarch64-apple-darwin-0.11.28":
|
"aarch64-apple-darwin-0.11.28":
|
||||||
"33540eb7c883ab857eff79bd5ac2aa31fe27b595abecb4a9c003a2c998447232",
|
"33540eb7c883ab857eff79bd5ac2aa31fe27b595abecb4a9c003a2c998447232",
|
||||||
"aarch64-pc-windows-msvc-0.11.28":
|
"aarch64-pc-windows-msvc-0.11.28":
|
||||||
|
|||||||
@@ -102,6 +102,7 @@ export function getOSNameVersion(): string {
|
|||||||
|
|
||||||
function getLinuxOSNameVersion(): string {
|
function getLinuxOSNameVersion(): string {
|
||||||
const files = ["/etc/os-release", "/usr/lib/os-release"];
|
const files = ["/etc/os-release", "/usr/lib/os-release"];
|
||||||
|
let idWithoutVersion: string | undefined;
|
||||||
|
|
||||||
for (const file of files) {
|
for (const file of files) {
|
||||||
try {
|
try {
|
||||||
@@ -122,11 +123,22 @@ function getLinuxOSNameVersion(): string {
|
|||||||
if (id && buildId) {
|
if (id && buildId) {
|
||||||
return `${id}-${buildId}`;
|
return `${id}-${buildId}`;
|
||||||
}
|
}
|
||||||
|
// Remember the ID but keep looking: the next file might still
|
||||||
|
// provide a version field
|
||||||
|
if (id && idWithoutVersion === undefined) {
|
||||||
|
idWithoutVersion = id;
|
||||||
|
}
|
||||||
} catch {
|
} catch {
|
||||||
// Try next file
|
// Try next file
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Fallback for rolling releases (e.g. void) that have no version
|
||||||
|
// field at all
|
||||||
|
if (idWithoutVersion) {
|
||||||
|
return idWithoutVersion;
|
||||||
|
}
|
||||||
|
|
||||||
throw new Error(
|
throw new Error(
|
||||||
"Failed to determine Linux distribution. " +
|
"Failed to determine Linux distribution. " +
|
||||||
"Could not read /etc/os-release or /usr/lib/os-release",
|
"Could not read /etc/os-release or /usr/lib/os-release",
|
||||||
|
|||||||
Reference in New Issue
Block a user