@weezy20/zv 0.9.1 → 0.10.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/install.sh +48 -0
- package/package.json +19 -104
- package/run-zv.sh +5 -0
- package/.gitignore +0 -2
- package/LICENSE +0 -21
- package/README.md +0 -245
- package/binary-install.js +0 -212
- package/binary.js +0 -126
- package/install.js +0 -4
- package/npm-shrinkwrap.json +0 -519
- package/run-zv.js +0 -4
package/install.sh
ADDED
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
#!/usr/bin/env bash
|
|
2
|
+
# npm postinstall — downloads the correct zv binary from GitHub Releases.
|
|
3
|
+
#
|
|
4
|
+
# Environment:
|
|
5
|
+
# ZV_VERSION — version to install (set during npm pack, defaults to latest)
|
|
6
|
+
set -euo pipefail
|
|
7
|
+
|
|
8
|
+
VERSION="${ZV_VERSION:-}"
|
|
9
|
+
REPO="weezy20/zv"
|
|
10
|
+
GITHUB_API="https://api.github.com/repos/${REPO}"
|
|
11
|
+
GITHUB_RELEASE="https://github.com/${REPO}/releases"
|
|
12
|
+
|
|
13
|
+
OS="$(uname -s)"
|
|
14
|
+
ARCH="$(uname -m)"
|
|
15
|
+
|
|
16
|
+
case "${OS}-${ARCH}" in
|
|
17
|
+
Linux-x86_64) TARGET="x86_64-unknown-linux-gnu" ;;
|
|
18
|
+
Linux-aarch64) TARGET="aarch64-unknown-linux-gnu" ;;
|
|
19
|
+
Linux-arm64) TARGET="aarch64-unknown-linux-gnu" ;;
|
|
20
|
+
Darwin-x86_64) TARGET="x86_64-apple-darwin" ;;
|
|
21
|
+
Darwin-arm64) TARGET="aarch64-apple-darwin" ;;
|
|
22
|
+
*) echo "zv: unsupported platform ${OS}-${ARCH}, skipping install"; exit 0 ;;
|
|
23
|
+
esac
|
|
24
|
+
|
|
25
|
+
if [[ -z "${VERSION}" ]]; then
|
|
26
|
+
VERSION="$(curl -fsSL "${GITHUB_API}/releases/latest" | grep '"tag_name"' | head -1 | sed -E 's/.*"([^"]+)".*/\1/')"
|
|
27
|
+
fi
|
|
28
|
+
|
|
29
|
+
ARCHIVE_URL="${GITHUB_RELEASE}/download/${VERSION}/zv-${TARGET}.tar.gz"
|
|
30
|
+
|
|
31
|
+
DATA_DIR="${XDG_DATA_HOME:-$HOME/.local/share}/zv"
|
|
32
|
+
BIN_DIR="${DATA_DIR}/bin"
|
|
33
|
+
PUB_BIN_DIR="${XDG_BIN_HOME:-$HOME/.local/bin}"
|
|
34
|
+
|
|
35
|
+
TMPDIR="$(mktemp -d)"
|
|
36
|
+
trap 'rm -rf "${TMPDIR}"' EXIT
|
|
37
|
+
|
|
38
|
+
echo "zv: downloading ${VERSION} for ${TARGET}..."
|
|
39
|
+
curl -fsSL "${ARCHIVE_URL}" | tar xzf - -C "${TMPDIR}"
|
|
40
|
+
|
|
41
|
+
mkdir -p "${BIN_DIR}"
|
|
42
|
+
mv "${TMPDIR}/zv-${TARGET}/zv" "${BIN_DIR}/zv"
|
|
43
|
+
chmod +x "${BIN_DIR}/zv"
|
|
44
|
+
|
|
45
|
+
mkdir -p "${PUB_BIN_DIR}"
|
|
46
|
+
ln -sf "${BIN_DIR}/zv" "${PUB_BIN_DIR}/zv"
|
|
47
|
+
|
|
48
|
+
echo "zv: installed ${VERSION} to ${BIN_DIR}/zv (symlink: ${PUB_BIN_DIR}/zv)"
|
package/package.json
CHANGED
|
@@ -1,113 +1,28 @@
|
|
|
1
1
|
{
|
|
2
|
-
"
|
|
3
|
-
"
|
|
4
|
-
"bin": {
|
|
5
|
-
"zv": "run-zv.js"
|
|
6
|
-
},
|
|
7
|
-
"dependencies": {
|
|
8
|
-
"axios": "^1.13.2",
|
|
9
|
-
"axios-proxy-builder": "^0.1.2",
|
|
10
|
-
"console.table": "^0.10.0",
|
|
11
|
-
"detect-libc": "^2.1.2",
|
|
12
|
-
"rimraf": "^6.1.2"
|
|
13
|
-
},
|
|
2
|
+
"name": "@weezy20/zv",
|
|
3
|
+
"version": "0.10.0",
|
|
14
4
|
"description": "Ziglang Version Manager and Project Starter",
|
|
15
|
-
"
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
"node": ">=14",
|
|
20
|
-
"npm": ">=6"
|
|
5
|
+
"homepage": "https://github.com/weezy20/zv",
|
|
6
|
+
"license": "MIT",
|
|
7
|
+
"bin": {
|
|
8
|
+
"zv": "run-zv.sh"
|
|
21
9
|
},
|
|
22
|
-
"
|
|
23
|
-
"
|
|
24
|
-
"
|
|
10
|
+
"scripts": {
|
|
11
|
+
"postinstall": "bash install.sh",
|
|
12
|
+
"prepack": "bash prepack.sh"
|
|
25
13
|
},
|
|
26
|
-
"
|
|
14
|
+
"files": [
|
|
15
|
+
"install.sh",
|
|
16
|
+
"run-zv.sh"
|
|
17
|
+
],
|
|
27
18
|
"keywords": [
|
|
28
19
|
"ziglang",
|
|
20
|
+
"zig",
|
|
29
21
|
"version-manager",
|
|
30
|
-
"
|
|
31
|
-
"cli",
|
|
32
|
-
"development-tools"
|
|
22
|
+
"zvm"
|
|
33
23
|
],
|
|
34
|
-
"
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
"repository": "https://github.com/weezy20/zv",
|
|
38
|
-
"scripts": {
|
|
39
|
-
"fmt": "prettier --write **/*.js",
|
|
40
|
-
"fmt:check": "prettier --check **/*.js",
|
|
41
|
-
"postinstall": "node ./install.js"
|
|
42
|
-
},
|
|
43
|
-
"supportedPlatforms": {
|
|
44
|
-
"aarch64-apple-darwin": {
|
|
45
|
-
"artifactName": "zv-aarch64-apple-darwin.tar.gz",
|
|
46
|
-
"bins": {
|
|
47
|
-
"zv": "zv"
|
|
48
|
-
},
|
|
49
|
-
"zipExt": ".tar.gz"
|
|
50
|
-
},
|
|
51
|
-
"aarch64-pc-windows-msvc": {
|
|
52
|
-
"artifactName": "zv-x86_64-pc-windows-msvc.zip",
|
|
53
|
-
"bins": {
|
|
54
|
-
"zv": "zv.exe"
|
|
55
|
-
},
|
|
56
|
-
"zipExt": ".zip"
|
|
57
|
-
},
|
|
58
|
-
"aarch64-unknown-linux-gnu": {
|
|
59
|
-
"artifactName": "zv-aarch64-unknown-linux-gnu.tar.gz",
|
|
60
|
-
"bins": {
|
|
61
|
-
"zv": "zv"
|
|
62
|
-
},
|
|
63
|
-
"zipExt": ".tar.gz"
|
|
64
|
-
},
|
|
65
|
-
"x86_64-apple-darwin": {
|
|
66
|
-
"artifactName": "zv-x86_64-apple-darwin.tar.gz",
|
|
67
|
-
"bins": {
|
|
68
|
-
"zv": "zv"
|
|
69
|
-
},
|
|
70
|
-
"zipExt": ".tar.gz"
|
|
71
|
-
},
|
|
72
|
-
"x86_64-pc-windows-gnu": {
|
|
73
|
-
"artifactName": "zv-x86_64-pc-windows-msvc.zip",
|
|
74
|
-
"bins": {
|
|
75
|
-
"zv": "zv.exe"
|
|
76
|
-
},
|
|
77
|
-
"zipExt": ".zip"
|
|
78
|
-
},
|
|
79
|
-
"x86_64-pc-windows-msvc": {
|
|
80
|
-
"artifactName": "zv-x86_64-pc-windows-msvc.zip",
|
|
81
|
-
"bins": {
|
|
82
|
-
"zv": "zv.exe"
|
|
83
|
-
},
|
|
84
|
-
"zipExt": ".zip"
|
|
85
|
-
},
|
|
86
|
-
"x86_64-unknown-linux-gnu": {
|
|
87
|
-
"artifactName": "zv-x86_64-unknown-linux-gnu.tar.gz",
|
|
88
|
-
"bins": {
|
|
89
|
-
"zv": "zv"
|
|
90
|
-
},
|
|
91
|
-
"zipExt": ".tar.gz"
|
|
92
|
-
},
|
|
93
|
-
"x86_64-unknown-linux-musl-dynamic": {
|
|
94
|
-
"artifactName": "zv-x86_64-unknown-linux-musl.tar.gz",
|
|
95
|
-
"bins": {
|
|
96
|
-
"zv": "zv"
|
|
97
|
-
},
|
|
98
|
-
"zipExt": ".tar.gz"
|
|
99
|
-
},
|
|
100
|
-
"x86_64-unknown-linux-musl-static": {
|
|
101
|
-
"artifactName": "zv-x86_64-unknown-linux-musl.tar.gz",
|
|
102
|
-
"bins": {
|
|
103
|
-
"zv": "zv"
|
|
104
|
-
},
|
|
105
|
-
"zipExt": ".tar.gz"
|
|
106
|
-
}
|
|
107
|
-
},
|
|
108
|
-
"version": "0.9.1",
|
|
109
|
-
"volta": {
|
|
110
|
-
"node": "18.14.1",
|
|
111
|
-
"npm": "9.5.0"
|
|
24
|
+
"repository": {
|
|
25
|
+
"type": "git",
|
|
26
|
+
"url": "https://github.com/weezy20/zv.git"
|
|
112
27
|
}
|
|
113
|
-
}
|
|
28
|
+
}
|
package/run-zv.sh
ADDED
package/.gitignore
DELETED
package/LICENSE
DELETED
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
MIT License (Expat)
|
|
2
|
-
|
|
3
|
-
Copyright (c) Abhishek Shah
|
|
4
|
-
|
|
5
|
-
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
-
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
-
in the Software without restriction, including without limitation the rights
|
|
8
|
-
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
-
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
-
furnished to do so, subject to the following conditions:
|
|
11
|
-
|
|
12
|
-
The above copyright notice and this permission notice shall be included in all
|
|
13
|
-
copies or substantial portions of the Software.
|
|
14
|
-
|
|
15
|
-
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
-
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
-
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
-
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
-
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
-
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
-
SOFTWARE.
|
package/README.md
DELETED
|
@@ -1,245 +0,0 @@
|
|
|
1
|
-
# zv (zig version) manager
|
|
2
|
-
|
|
3
|
-
`zv` is a blazing-fast, cross-platform, simple-to-use compiler toolchain manager for Zig, written in Rust. `zv` aims to be a fast and dependable manager for Zig and ZLS, both system-wide and project-specific, with either inline syntax `zig +<version>` or by using a `.zigversion` file in your project root. A `version` can be a semver, `master`, or `latest` for the latest stable. These values are fetched from the cached Ziglang download index available at <a href="https://ziglang.org/download/index.json">Zig official index</a>.
|
|
4
|
-
|
|
5
|
-
With `zv` binaries, you can now build with the master branch without changing your default system Zig version:
|
|
6
|
-
```sh
|
|
7
|
-
zig +master build
|
|
8
|
-
```
|
|
9
|
-
Caching is built-in, so you never have to wait any longer than strictly necessary.
|
|
10
|
-
|
|
11
|
-
You can also specify a version number, e.g., `zig +0.15.1`. With `zv`, you also have the option of pinning per-project Zig versions using a `.zigversion` file, which takes the same format as `+` would for inline Zig commands. You can have a project with these contents:
|
|
12
|
-
|
|
13
|
-
```py
|
|
14
|
-
# file .zigversion
|
|
15
|
-
0.15.1
|
|
16
|
-
```
|
|
17
|
-
which will always use version `0.15.1` when you run any `zig` command inside it. How cool is that?
|
|
18
|
-
|
|
19
|
-
It also doubles as a project template starter, providing multiple variants of a Zig project, from a barebones template with a very trimmed-down `build.zig` and `main.zig` file, or the standard Zig project template. Find out more with `zv init --help`.
|
|
20
|
-
|
|
21
|
-
`zv` prefers community mirrors for downloads, as that's the official recommendation, with `minisign` and `shasum` verification done before any toolchain is installed.
|
|
22
|
-
|
|
23
|
-
## Installation
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
**Quick install script (Recommended):**
|
|
27
|
-
|
|
28
|
-
Linux/macOS:
|
|
29
|
-
```sh
|
|
30
|
-
curl --proto '=https' --tlsv1.2 -LsSf https://github.com/weezy20/zv/releases/latest/download/zv-installer.sh | sh
|
|
31
|
-
```
|
|
32
|
-
|
|
33
|
-
Windows (PowerShell):
|
|
34
|
-
```powershell
|
|
35
|
-
irm https://github.com/weezy20/zv/releases/latest/download/zv-installer.ps1 | iex
|
|
36
|
-
```
|
|
37
|
-
If you encounter an execution policy error, you can temporarily allow script execution by running:
|
|
38
|
-
```powershell
|
|
39
|
-
powershell -ExecutionPolicy Bypass -Command "irm https://github.com/weezy20/zv/releases/latest/download/zv-installer.ps1 | iex"
|
|
40
|
-
```
|
|
41
|
-
|
|
42
|
-
>The following methods use different package managers hence, after running `zv setup` we uninstall the package manager version of `zv` to avoid confusion. Since `zv` can self update for popular OS/Arch combinations, you don't need to rely on package managers for updates.
|
|
43
|
-
|
|
44
|
-
**HomeBrew:**
|
|
45
|
-
```sh
|
|
46
|
-
brew install weezy20/tap/zv
|
|
47
|
-
# Run zv setup to self-install
|
|
48
|
-
zv setup
|
|
49
|
-
# Remove brew installation
|
|
50
|
-
brew uninstall zv
|
|
51
|
-
```
|
|
52
|
-
|
|
53
|
-
**NPM:**
|
|
54
|
-
```sh
|
|
55
|
-
npm install -g @weezy20/zv
|
|
56
|
-
# Run zv setup to self-install
|
|
57
|
-
zv setup
|
|
58
|
-
# Remove npm installation
|
|
59
|
-
npm uninstall -g @weezy20/zv
|
|
60
|
-
```
|
|
61
|
-
|
|
62
|
-
<details>
|
|
63
|
-
<summary><b>Cargo (crates.io or build from source)</b></summary>
|
|
64
|
-
|
|
65
|
-
**Step 1:** Install the binary from crates.io or build from source
|
|
66
|
-
|
|
67
|
-
Using `cargo install`:
|
|
68
|
-
```sh
|
|
69
|
-
# From crates.io
|
|
70
|
-
cargo install zv
|
|
71
|
-
|
|
72
|
-
# OR from GitHub
|
|
73
|
-
cargo install --git https://github.com/weezy20/zv --locked
|
|
74
|
-
```
|
|
75
|
-
|
|
76
|
-
Or build from source (clone the repo first):
|
|
77
|
-
```sh
|
|
78
|
-
# Build release binary (creates target/release/zv)
|
|
79
|
-
cargo build --release
|
|
80
|
-
```
|
|
81
|
-
|
|
82
|
-
**Step 2:** Preview setup changes (optional but recommended)
|
|
83
|
-
|
|
84
|
-
Using `cargo installed binary`:
|
|
85
|
-
```sh
|
|
86
|
-
$HOME/.cargo/bin/zv setup --dry-run
|
|
87
|
-
# OR shorthand:
|
|
88
|
-
$HOME/.cargo/bin/zv setup -d
|
|
89
|
-
```
|
|
90
|
-
|
|
91
|
-
Or from source:
|
|
92
|
-
```sh
|
|
93
|
-
cargo run --release -- setup --dry-run
|
|
94
|
-
# OR shorthand:
|
|
95
|
-
cargo run --release -- setup -d
|
|
96
|
-
```
|
|
97
|
-
|
|
98
|
-
**Step 3:** Run setup to install `zv` to `ZV_DIR/bin` and configure your shell
|
|
99
|
-
|
|
100
|
-
Using `cargo installed binary`:
|
|
101
|
-
```sh
|
|
102
|
-
$HOME/.cargo/bin/zv setup
|
|
103
|
-
```
|
|
104
|
-
|
|
105
|
-
Or from source:
|
|
106
|
-
```sh
|
|
107
|
-
cargo run --release -- setup
|
|
108
|
-
# or if you already have ZV_DIR/bin in path
|
|
109
|
-
cargo run --release -- sync
|
|
110
|
-
```
|
|
111
|
-
|
|
112
|
-
This self-installs `zv` to `ZV_DIR/bin` (default: `$HOME/.zv/bin` on Unix, `%USERPROFILE%\.zv\bin` on Windows) and adds it to your PATH.
|
|
113
|
-
|
|
114
|
-
**Step 4:** Remove the cargo binary (optional cleanup - only if you used `cargo install`)
|
|
115
|
-
```sh
|
|
116
|
-
cargo uninstall zv
|
|
117
|
-
```
|
|
118
|
-
|
|
119
|
-
From now on, use the `zv` installed in `ZV_DIR/bin`.
|
|
120
|
-
|
|
121
|
-
</details>
|
|
122
|
-
|
|
123
|
-
---
|
|
124
|
-
|
|
125
|
-
> **Note:** The quick install scripts (shell/PowerShell), Homebrew, and npm all install `zv` directly to `ZV_DIR/bin` (default: `$HOME/.zv/bin` on Unix, `%USERPROFILE%\.zv\bin` on Windows) and configure your PATH automatically. You're ready to go! If you installed via cargo, see the instructions above for running `zv setup` or `zv sync`.
|
|
126
|
-
|
|
127
|
-
## Updating `zv`
|
|
128
|
-
|
|
129
|
-
**Simple update (Recommended):**
|
|
130
|
-
```sh
|
|
131
|
-
zv update # Installs latest stable release on supported targets*.
|
|
132
|
-
```
|
|
133
|
-
|
|
134
|
-
This command checks for new releases on GitHub and updates `zv` in place. It works whether you're running from `ZV_DIR/bin/zv` or from an external location (like cargo install).
|
|
135
|
-
|
|
136
|
-
**Options:**
|
|
137
|
-
```sh
|
|
138
|
-
zv update --force # Force reinstall even if already on the latest version
|
|
139
|
-
zv upgrade # Alias for update
|
|
140
|
-
zv update --rc # Update to latest pre-release (release candidate) version
|
|
141
|
-
```
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
<details>
|
|
146
|
-
<summary>Alternative update methods:</summary>
|
|
147
|
-
|
|
148
|
-
If you have the repo cloned or are using a cargo-installed binary:
|
|
149
|
-
```sh
|
|
150
|
-
# Build new version and update the binary in ZV_DIR/bin
|
|
151
|
-
cargo run --release -- sync
|
|
152
|
-
|
|
153
|
-
# Or if you installed from crates.io, install it and sync
|
|
154
|
-
cargo install zv --force
|
|
155
|
-
zv sync
|
|
156
|
-
# or if you already have ZV_DIR/bin in path
|
|
157
|
-
~/.cargo/bin/zv sync # $CARGO_HOME/bin/zv sync
|
|
158
|
-
```
|
|
159
|
-
</details>
|
|
160
|
-
|
|
161
|
-
## Usage
|
|
162
|
-
|
|
163
|
-
All `zv` data lives in `ZV_DIR`, including Zig versions, downloads, cache files, and the `zv` binary itself.
|
|
164
|
-
|
|
165
|
-
**Default locations:**
|
|
166
|
-
- Unix/Linux/macOS: `$HOME/.zv`
|
|
167
|
-
- Windows: `%USERPROFILE%\.zv`
|
|
168
|
-
|
|
169
|
-
You can customize this by setting the `ZV_DIR` environment variable.
|
|
170
|
-
|
|
171
|
-
## Use `zv` for project creation:
|
|
172
|
-
|
|
173
|
-
```sh
|
|
174
|
-
zv init [project_name] # Create a new Zig project with a name
|
|
175
|
-
zv init # Create a new Zig project in the current working directory
|
|
176
|
-
zv init --zig | -z # Create a new Zig project using the standard template provided by `zig init`
|
|
177
|
-
# Create a zig project with build.zig.zon:
|
|
178
|
-
zv init -p | --zon | --package <?name> # Create a zig project in current directory with build.zig.zon or with name if provided
|
|
179
|
-
# Note: this requires an active zig version >= 0.12.0 where build.zig.zon support was introduced
|
|
180
|
-
|
|
181
|
-
```
|
|
182
|
-
>Note: `zv init` will use the `build.zig` that's present in [templates/build.zig](templates/lean_build.zig) which is checked to work against minimum zig version specified in [templates/.zigversion](templates/.zigversion). If you want to use a different zig version, set it as active zig and use `zv init -z` or `zig init` directly.
|
|
183
|
-
|
|
184
|
-
## Use `zv` as your Zig compiler toolchain manager:
|
|
185
|
-
|
|
186
|
-
```sh
|
|
187
|
-
# Version selection - basic usage
|
|
188
|
-
# pass in -f or --force-ziglang to download using `ziglang.org` instead of community mirrors (default & recommended)
|
|
189
|
-
zv use <version | master | stable | latest> # Select a Zig version to use. Can be a semver, master (branch)
|
|
190
|
-
zv use 0.13.0 # Use a specific semantic version
|
|
191
|
-
zv use 0.14 -f # Use a version (auto-completes to 0.14.0) & downloads from `ziglang.org` due to -f
|
|
192
|
-
zv use master # Use master branch build (queries network to find the latest master build)
|
|
193
|
-
zv use stable # Use latest stable release (refers to cached index)
|
|
194
|
-
zv use latest # Use latest stable release (queries network to fetch the latest stable)
|
|
195
|
-
zv install <version,*> [-f ] # Install one or more Zig versions without switching to it. Use -f to download from ziglang.org instead of community mirrors.
|
|
196
|
-
zv i 0.15.1,0.14.0,master # Install multiple versions at once using a comma-separated list
|
|
197
|
-
|
|
198
|
-
# Per-project Zig config
|
|
199
|
-
zig +<version> [...zig args] # Run Zig using a specific <version> (fetches and downloads version if not present locally)
|
|
200
|
-
zig +master [...zig args] # Run Zig using master build. (If already cached, no download, but a network request is made to verify version)
|
|
201
|
-
zig [...zig args] # Uses current configured Zig or prefers version from `.zigversion` file in the repository adjacent to `build.zig`.
|
|
202
|
-
|
|
203
|
-
# Management commands
|
|
204
|
-
zv list | ls # List installed Zig versions
|
|
205
|
-
zv clean | rm # Remove Zig versions interactively. Additionally cleans up downloads cache, temporary download artifacts.
|
|
206
|
-
zv clean | rm <version | all> # Clean up all zv-managed installations using `all` or just a single one (e.g., zv clean 0.14).
|
|
207
|
-
zv clean 0.14,0.14.0 # Clean up multiple Zig installations using a comma-separated list.
|
|
208
|
-
zv clean --except <version,*> # Clean up every version except the version mentioned as argument to --except <version> where <version> maybe a comma separated list of ZigVersions. E.g. (zv clean --except 0.14.1,master@0.16.0-dev.565+f50c64797,stable@0.15.1)
|
|
209
|
-
zv rm master # Clean up the `master` branch toolchain.
|
|
210
|
-
zv rm master --outdated # Clean up any older master versions in the master folder that don't match latest `master`
|
|
211
|
-
zv setup # Set up shell environment for zv with interactive prompts (use --no-interactive for automation)
|
|
212
|
-
zv sync # Resync community mirrors list from [ziglang.org/download/community-mirrors.txt]; also force resync of index to fetch latest nightly builds. Replaces `ZV_DIR/bin/zv` if outdated against current invocation.
|
|
213
|
-
zv upgrade | update # Update zv to the latest release only if present in GH Releases: https://github.com/weezy20/zv/releases
|
|
214
|
-
zv help # Detailed instructions for zv. Use `--help` for long help or `-h` for short help with a subcommand.
|
|
215
|
-
zv uninstall # Uninstall zv completely by attempting to remove ZV_DIR.
|
|
216
|
-
```
|
|
217
|
-
|
|
218
|
-
`minisign` verification is done using [jedisct1/rust-minisign-verify](https://github.com/jedisct1/rust-minisign-verify) — a small minisign library in pure Rust.
|
|
219
|
-
|
|
220
|
-
It also supports `NO_COLOR` for non-TTY environments.
|
|
221
|
-
|
|
222
|
-
I hope you enjoy using it! ♥
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
---
|
|
226
|
-
### Customizing ZV behaviour:
|
|
227
|
-
|
|
228
|
-
### 🔧 Environment Variables for customizing zv
|
|
229
|
-
|
|
230
|
-
| Variable | Description | Default / Notes |
|
|
231
|
-
| ------------------------- | -------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------- |
|
|
232
|
-
| **`ZV_LOG`** | Sets the log level (same as `RUST_LOG`). If set, logging follows the specified level. | Inherits `RUST_LOG` behavior |
|
|
233
|
-
| **`ZV_DIR`** | Defines the home directory for `zv`. | Default `$HOME/.zv` for linux/macos or unix. For windows it usually will be `%USERPROFILE%/.zv` |
|
|
234
|
-
| **`ZV_INDEX_TTL_DAYS`** | Number of days between automatic [index](https://ziglang.org/download/index.json) syncs. | **21 days** — Using `master` or `latest` in inline mode use a shorter cache duration of just 1 day unlike `use` which will always fetch `master` & `latest` from network, so practically, you never have to worry about setting this variable yourself. |
|
|
235
|
-
| **`ZV_MIRRORS_TTL_DAYS`** | Number of days before refreshing the mirrors list. Broken mirrors degrade automatically. Use `zv sync` to force refresh. | **21 days** — mirrors and index can be resynced immediately with `zv sync`. `master` relies on latest builds & so does `latest` and some community mirrors may not have it available; `zv` will retry other mirrors in that case. |
|
|
236
|
-
| **`ZV_MAX_RETRIES`** | Maximum number of retry attempts for downloads when a download fails. | **3 retries** — If a download fails, `zv` will retry up to this many times before giving up. |
|
|
237
|
-
| **`NO_COLOR`** | If set, disables color output in all zv commands. | No color output; useful for non-TTY environments or scripts. |
|
|
238
|
-
|**`ZV_FETCH_TIMEOUT_SECS`** | Request timeout to use for network operations requiring fetching index/mirrors list from `ziglang.org`. | Default 4 seconds for most operations.
|
|
239
|
-
|
|
240
|
-
---
|
|
241
|
-
|
|
242
|
-
### Tips:
|
|
243
|
-
- If you prefer some mirrors to others, you can put it as `rank = 1` on your preferred mirrors (Default is rank 1 for all mirros) or lower the rank of mirrors that you don't want. `rank` is a range from 1..255, lower is better and more preferred when doing random selection. The mirrors file is generated at `<ZV_DIR>/mirrors.toml`
|
|
244
|
-
|
|
245
|
-
- Currently `zv use master` will only install the master as present in zig-index. This means that older master installations still remain under the masters folder and can be selected via `zv use master@<older master version>` which can be obtained via `zv ls`. Note, installing older master versions like this may work now (zv v0.6.0 onwards): `zv i <pre-release version>` or `zv use <pre-release version>` if some mirror has the build, it'll be fetched.
|
package/binary-install.js
DELETED
|
@@ -1,212 +0,0 @@
|
|
|
1
|
-
const { createWriteStream, existsSync, mkdirSync, mkdtemp } = require("fs");
|
|
2
|
-
const { join, sep } = require("path");
|
|
3
|
-
const { spawnSync } = require("child_process");
|
|
4
|
-
const { tmpdir } = require("os");
|
|
5
|
-
|
|
6
|
-
const axios = require("axios");
|
|
7
|
-
const rimraf = require("rimraf");
|
|
8
|
-
const tmpDir = tmpdir();
|
|
9
|
-
|
|
10
|
-
const error = (msg) => {
|
|
11
|
-
console.error(msg);
|
|
12
|
-
process.exit(1);
|
|
13
|
-
};
|
|
14
|
-
|
|
15
|
-
class Package {
|
|
16
|
-
constructor(platform, name, url, filename, zipExt, binaries) {
|
|
17
|
-
let errors = [];
|
|
18
|
-
if (typeof url !== "string") {
|
|
19
|
-
errors.push("url must be a string");
|
|
20
|
-
} else {
|
|
21
|
-
try {
|
|
22
|
-
new URL(url);
|
|
23
|
-
} catch (e) {
|
|
24
|
-
errors.push(e);
|
|
25
|
-
}
|
|
26
|
-
}
|
|
27
|
-
if (name && typeof name !== "string") {
|
|
28
|
-
errors.push("package name must be a string");
|
|
29
|
-
}
|
|
30
|
-
if (!name) {
|
|
31
|
-
errors.push("You must specify the name of your package");
|
|
32
|
-
}
|
|
33
|
-
if (binaries && typeof binaries !== "object") {
|
|
34
|
-
errors.push("binaries must be a string => string map");
|
|
35
|
-
}
|
|
36
|
-
if (!binaries) {
|
|
37
|
-
errors.push("You must specify the binaries in the package");
|
|
38
|
-
}
|
|
39
|
-
|
|
40
|
-
if (errors.length > 0) {
|
|
41
|
-
let errorMsg =
|
|
42
|
-
"One or more of the parameters you passed to the Binary constructor are invalid:\n";
|
|
43
|
-
errors.forEach((error) => {
|
|
44
|
-
errorMsg += error;
|
|
45
|
-
});
|
|
46
|
-
errorMsg +=
|
|
47
|
-
'\n\nCorrect usage: new Package("my-binary", "https://example.com/binary/download.tar.gz", {"my-binary": "my-binary"})';
|
|
48
|
-
error(errorMsg);
|
|
49
|
-
}
|
|
50
|
-
|
|
51
|
-
this.platform = platform;
|
|
52
|
-
this.url = url;
|
|
53
|
-
this.name = name;
|
|
54
|
-
this.filename = filename;
|
|
55
|
-
this.zipExt = zipExt;
|
|
56
|
-
this.installDirectory = join(__dirname, "node_modules", ".bin_real");
|
|
57
|
-
this.binaries = binaries;
|
|
58
|
-
|
|
59
|
-
if (!existsSync(this.installDirectory)) {
|
|
60
|
-
mkdirSync(this.installDirectory, { recursive: true });
|
|
61
|
-
}
|
|
62
|
-
}
|
|
63
|
-
|
|
64
|
-
exists() {
|
|
65
|
-
for (const binaryName in this.binaries) {
|
|
66
|
-
const binRelPath = this.binaries[binaryName];
|
|
67
|
-
const binPath = join(this.installDirectory, binRelPath);
|
|
68
|
-
if (!existsSync(binPath)) {
|
|
69
|
-
return false;
|
|
70
|
-
}
|
|
71
|
-
}
|
|
72
|
-
return true;
|
|
73
|
-
}
|
|
74
|
-
|
|
75
|
-
install(fetchOptions, suppressLogs = false) {
|
|
76
|
-
if (this.exists()) {
|
|
77
|
-
if (!suppressLogs) {
|
|
78
|
-
console.error(
|
|
79
|
-
`${this.name} is already installed, skipping installation.`,
|
|
80
|
-
);
|
|
81
|
-
}
|
|
82
|
-
return Promise.resolve();
|
|
83
|
-
}
|
|
84
|
-
|
|
85
|
-
if (existsSync(this.installDirectory)) {
|
|
86
|
-
rimraf.sync(this.installDirectory);
|
|
87
|
-
}
|
|
88
|
-
|
|
89
|
-
mkdirSync(this.installDirectory, { recursive: true });
|
|
90
|
-
|
|
91
|
-
if (!suppressLogs) {
|
|
92
|
-
console.error(`Downloading release from ${this.url}`);
|
|
93
|
-
}
|
|
94
|
-
|
|
95
|
-
return axios({ ...fetchOptions, url: this.url, responseType: "stream" })
|
|
96
|
-
.then((res) => {
|
|
97
|
-
return new Promise((resolve, reject) => {
|
|
98
|
-
mkdtemp(`${tmpDir}${sep}`, (err, directory) => {
|
|
99
|
-
let tempFile = join(directory, this.filename);
|
|
100
|
-
const sink = res.data.pipe(createWriteStream(tempFile));
|
|
101
|
-
sink.on("error", (err) => reject(err));
|
|
102
|
-
sink.on("close", () => {
|
|
103
|
-
if (/\.tar\.*/.test(this.zipExt)) {
|
|
104
|
-
const result = spawnSync("tar", [
|
|
105
|
-
"xf",
|
|
106
|
-
tempFile,
|
|
107
|
-
// The tarballs are stored with a leading directory
|
|
108
|
-
// component; we strip one component in the
|
|
109
|
-
// shell installers too.
|
|
110
|
-
"--strip-components",
|
|
111
|
-
"1",
|
|
112
|
-
"-C",
|
|
113
|
-
this.installDirectory,
|
|
114
|
-
]);
|
|
115
|
-
if (result.status == 0) {
|
|
116
|
-
resolve();
|
|
117
|
-
} else if (result.error) {
|
|
118
|
-
reject(result.error);
|
|
119
|
-
} else {
|
|
120
|
-
reject(
|
|
121
|
-
new Error(
|
|
122
|
-
`An error occurred untarring the artifact: stdout: ${result.stdout}; stderr: ${result.stderr}`,
|
|
123
|
-
),
|
|
124
|
-
);
|
|
125
|
-
}
|
|
126
|
-
} else if (this.zipExt == ".zip") {
|
|
127
|
-
let result;
|
|
128
|
-
if (this.platform.artifactName.includes("windows")) {
|
|
129
|
-
// Windows does not have "unzip" by default on many installations, instead
|
|
130
|
-
// we use Expand-Archive from powershell
|
|
131
|
-
result = spawnSync("powershell.exe", [
|
|
132
|
-
"-NoProfile",
|
|
133
|
-
"-NonInteractive",
|
|
134
|
-
"-Command",
|
|
135
|
-
`& {
|
|
136
|
-
param([string]$LiteralPath, [string]$DestinationPath)
|
|
137
|
-
Expand-Archive -LiteralPath $LiteralPath -DestinationPath $DestinationPath -Force
|
|
138
|
-
}`,
|
|
139
|
-
tempFile,
|
|
140
|
-
this.installDirectory,
|
|
141
|
-
]);
|
|
142
|
-
} else {
|
|
143
|
-
result = spawnSync("unzip", [
|
|
144
|
-
"-q",
|
|
145
|
-
tempFile,
|
|
146
|
-
"-d",
|
|
147
|
-
this.installDirectory,
|
|
148
|
-
]);
|
|
149
|
-
}
|
|
150
|
-
|
|
151
|
-
if (result.status == 0) {
|
|
152
|
-
resolve();
|
|
153
|
-
} else if (result.error) {
|
|
154
|
-
reject(result.error);
|
|
155
|
-
} else {
|
|
156
|
-
reject(
|
|
157
|
-
new Error(
|
|
158
|
-
`An error occurred unzipping the artifact: stdout: ${result.stdout}; stderr: ${result.stderr}`,
|
|
159
|
-
),
|
|
160
|
-
);
|
|
161
|
-
}
|
|
162
|
-
} else {
|
|
163
|
-
reject(
|
|
164
|
-
new Error(`Unrecognized file extension: ${this.zipExt}`),
|
|
165
|
-
);
|
|
166
|
-
}
|
|
167
|
-
});
|
|
168
|
-
});
|
|
169
|
-
});
|
|
170
|
-
})
|
|
171
|
-
.then(() => {
|
|
172
|
-
if (!suppressLogs) {
|
|
173
|
-
console.error(`${this.name} has been installed!`);
|
|
174
|
-
}
|
|
175
|
-
})
|
|
176
|
-
.catch((e) => {
|
|
177
|
-
error(`Error fetching release: ${e.message}`);
|
|
178
|
-
});
|
|
179
|
-
}
|
|
180
|
-
|
|
181
|
-
run(binaryName, fetchOptions) {
|
|
182
|
-
const promise = !this.exists()
|
|
183
|
-
? this.install(fetchOptions, true)
|
|
184
|
-
: Promise.resolve();
|
|
185
|
-
|
|
186
|
-
promise
|
|
187
|
-
.then(() => {
|
|
188
|
-
const [, , ...args] = process.argv;
|
|
189
|
-
|
|
190
|
-
const options = { cwd: process.cwd(), stdio: "inherit" };
|
|
191
|
-
|
|
192
|
-
const binRelPath = this.binaries[binaryName];
|
|
193
|
-
if (!binRelPath) {
|
|
194
|
-
error(`${binaryName} is not a known binary in ${this.name}`);
|
|
195
|
-
}
|
|
196
|
-
const binPath = join(this.installDirectory, binRelPath);
|
|
197
|
-
const result = spawnSync(binPath, args, options);
|
|
198
|
-
|
|
199
|
-
if (result.error) {
|
|
200
|
-
error(result.error);
|
|
201
|
-
}
|
|
202
|
-
|
|
203
|
-
process.exit(result.status);
|
|
204
|
-
})
|
|
205
|
-
.catch((e) => {
|
|
206
|
-
error(e.message);
|
|
207
|
-
process.exit(1);
|
|
208
|
-
});
|
|
209
|
-
}
|
|
210
|
-
}
|
|
211
|
-
|
|
212
|
-
module.exports.Package = Package;
|
package/binary.js
DELETED
|
@@ -1,126 +0,0 @@
|
|
|
1
|
-
const { Package } = require("./binary-install");
|
|
2
|
-
const os = require("os");
|
|
3
|
-
const cTable = require("console.table");
|
|
4
|
-
const libc = require("detect-libc");
|
|
5
|
-
const { configureProxy } = require("axios-proxy-builder");
|
|
6
|
-
|
|
7
|
-
const error = (msg) => {
|
|
8
|
-
console.error(msg);
|
|
9
|
-
process.exit(1);
|
|
10
|
-
};
|
|
11
|
-
|
|
12
|
-
const {
|
|
13
|
-
name,
|
|
14
|
-
artifactDownloadUrl,
|
|
15
|
-
supportedPlatforms,
|
|
16
|
-
glibcMinimum,
|
|
17
|
-
} = require("./package.json");
|
|
18
|
-
|
|
19
|
-
const builderGlibcMajorVersion = glibcMinimum.major;
|
|
20
|
-
const builderGlibcMInorVersion = glibcMinimum.series;
|
|
21
|
-
|
|
22
|
-
const getPlatform = () => {
|
|
23
|
-
const rawOsType = os.type();
|
|
24
|
-
const rawArchitecture = os.arch();
|
|
25
|
-
|
|
26
|
-
// We want to use rust-style target triples as the canonical key
|
|
27
|
-
// for a platform, so translate the "os" library's concepts into rust ones
|
|
28
|
-
let osType = "";
|
|
29
|
-
switch (rawOsType) {
|
|
30
|
-
case "Windows_NT":
|
|
31
|
-
osType = "pc-windows-msvc";
|
|
32
|
-
break;
|
|
33
|
-
case "Darwin":
|
|
34
|
-
osType = "apple-darwin";
|
|
35
|
-
break;
|
|
36
|
-
case "Linux":
|
|
37
|
-
osType = "unknown-linux-gnu";
|
|
38
|
-
break;
|
|
39
|
-
}
|
|
40
|
-
|
|
41
|
-
let arch = "";
|
|
42
|
-
switch (rawArchitecture) {
|
|
43
|
-
case "x64":
|
|
44
|
-
arch = "x86_64";
|
|
45
|
-
break;
|
|
46
|
-
case "arm64":
|
|
47
|
-
arch = "aarch64";
|
|
48
|
-
break;
|
|
49
|
-
}
|
|
50
|
-
|
|
51
|
-
if (rawOsType === "Linux") {
|
|
52
|
-
if (libc.familySync() == "musl") {
|
|
53
|
-
osType = "unknown-linux-musl-dynamic";
|
|
54
|
-
} else if (libc.isNonGlibcLinuxSync()) {
|
|
55
|
-
console.warn(
|
|
56
|
-
"Your libc is neither glibc nor musl; trying static musl binary instead",
|
|
57
|
-
);
|
|
58
|
-
osType = "unknown-linux-musl-static";
|
|
59
|
-
} else {
|
|
60
|
-
let libcVersion = libc.versionSync();
|
|
61
|
-
let splitLibcVersion = libcVersion.split(".");
|
|
62
|
-
let libcMajorVersion = splitLibcVersion[0];
|
|
63
|
-
let libcMinorVersion = splitLibcVersion[1];
|
|
64
|
-
if (
|
|
65
|
-
libcMajorVersion != builderGlibcMajorVersion ||
|
|
66
|
-
libcMinorVersion < builderGlibcMInorVersion
|
|
67
|
-
) {
|
|
68
|
-
// We can't run the glibc binaries, but we can run the static musl ones
|
|
69
|
-
// if they exist
|
|
70
|
-
console.warn(
|
|
71
|
-
"Your glibc isn't compatible; trying static musl binary instead",
|
|
72
|
-
);
|
|
73
|
-
osType = "unknown-linux-musl-static";
|
|
74
|
-
}
|
|
75
|
-
}
|
|
76
|
-
}
|
|
77
|
-
|
|
78
|
-
// Assume the above succeeded and build a target triple to look things up with.
|
|
79
|
-
// If any of it failed, this lookup will fail and we'll handle it like normal.
|
|
80
|
-
let targetTriple = `${arch}-${osType}`;
|
|
81
|
-
let platform = supportedPlatforms[targetTriple];
|
|
82
|
-
|
|
83
|
-
if (!platform) {
|
|
84
|
-
error(
|
|
85
|
-
`Platform with type "${rawOsType}" and architecture "${rawArchitecture}" is not supported by ${name}.\nYour system must be one of the following:\n\n${Object.keys(
|
|
86
|
-
supportedPlatforms,
|
|
87
|
-
).join(",")}`,
|
|
88
|
-
);
|
|
89
|
-
}
|
|
90
|
-
|
|
91
|
-
return platform;
|
|
92
|
-
};
|
|
93
|
-
|
|
94
|
-
const getPackage = () => {
|
|
95
|
-
const platform = getPlatform();
|
|
96
|
-
const url = `${artifactDownloadUrl}/${platform.artifactName}`;
|
|
97
|
-
let filename = platform.artifactName;
|
|
98
|
-
let ext = platform.zipExt;
|
|
99
|
-
let binary = new Package(platform, name, url, filename, ext, platform.bins);
|
|
100
|
-
|
|
101
|
-
return binary;
|
|
102
|
-
};
|
|
103
|
-
|
|
104
|
-
const install = (suppressLogs) => {
|
|
105
|
-
if (!artifactDownloadUrl || artifactDownloadUrl.length === 0) {
|
|
106
|
-
console.warn("in demo mode, not installing binaries");
|
|
107
|
-
return;
|
|
108
|
-
}
|
|
109
|
-
const package = getPackage();
|
|
110
|
-
const proxy = configureProxy(package.url);
|
|
111
|
-
|
|
112
|
-
return package.install(proxy, suppressLogs);
|
|
113
|
-
};
|
|
114
|
-
|
|
115
|
-
const run = (binaryName) => {
|
|
116
|
-
const package = getPackage();
|
|
117
|
-
const proxy = configureProxy(package.url);
|
|
118
|
-
|
|
119
|
-
package.run(binaryName, proxy);
|
|
120
|
-
};
|
|
121
|
-
|
|
122
|
-
module.exports = {
|
|
123
|
-
install,
|
|
124
|
-
run,
|
|
125
|
-
getPackage,
|
|
126
|
-
};
|
package/install.js
DELETED
package/npm-shrinkwrap.json
DELETED
|
@@ -1,519 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"lockfileVersion": 3,
|
|
3
|
-
"name": "@weezy20/zv",
|
|
4
|
-
"packages": {
|
|
5
|
-
"": {
|
|
6
|
-
"bin": {
|
|
7
|
-
"zv": "run-zv.js"
|
|
8
|
-
},
|
|
9
|
-
"dependencies": {
|
|
10
|
-
"axios": "^1.13.2",
|
|
11
|
-
"axios-proxy-builder": "^0.1.2",
|
|
12
|
-
"console.table": "^0.10.0",
|
|
13
|
-
"detect-libc": "^2.1.2",
|
|
14
|
-
"rimraf": "^6.1.2"
|
|
15
|
-
},
|
|
16
|
-
"devDependencies": {
|
|
17
|
-
"prettier": "^3.7.4"
|
|
18
|
-
},
|
|
19
|
-
"engines": {
|
|
20
|
-
"node": ">=14",
|
|
21
|
-
"npm": ">=6"
|
|
22
|
-
},
|
|
23
|
-
"hasInstallScript": true,
|
|
24
|
-
"license": "MIT",
|
|
25
|
-
"name": "@weezy20/zv",
|
|
26
|
-
"version": "0.9.1"
|
|
27
|
-
},
|
|
28
|
-
"node_modules/@isaacs/balanced-match": {
|
|
29
|
-
"engines": {
|
|
30
|
-
"node": "20 || >=22"
|
|
31
|
-
},
|
|
32
|
-
"integrity": "sha512-yzMTt9lEb8Gv7zRioUilSglI0c0smZ9k5D65677DLWLtWJaXIS3CqcGyUFByYKlnUj6TkjLVs54fBl6+TiGQDQ==",
|
|
33
|
-
"license": "MIT",
|
|
34
|
-
"resolved": "https://registry.npmjs.org/@isaacs/balanced-match/-/balanced-match-4.0.1.tgz",
|
|
35
|
-
"version": "4.0.1"
|
|
36
|
-
},
|
|
37
|
-
"node_modules/@isaacs/brace-expansion": {
|
|
38
|
-
"dependencies": {
|
|
39
|
-
"@isaacs/balanced-match": "^4.0.1"
|
|
40
|
-
},
|
|
41
|
-
"engines": {
|
|
42
|
-
"node": "20 || >=22"
|
|
43
|
-
},
|
|
44
|
-
"integrity": "sha512-ZT55BDLV0yv0RBm2czMiZ+SqCGO7AvmOM3G/w2xhVPH+te0aKgFjmBvGlL1dH+ql2tgGO3MVrbb3jCKyvpgnxA==",
|
|
45
|
-
"license": "MIT",
|
|
46
|
-
"resolved": "https://registry.npmjs.org/@isaacs/brace-expansion/-/brace-expansion-5.0.0.tgz",
|
|
47
|
-
"version": "5.0.0"
|
|
48
|
-
},
|
|
49
|
-
"node_modules/asynckit": {
|
|
50
|
-
"integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==",
|
|
51
|
-
"license": "MIT",
|
|
52
|
-
"resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz",
|
|
53
|
-
"version": "0.4.0"
|
|
54
|
-
},
|
|
55
|
-
"node_modules/axios": {
|
|
56
|
-
"dependencies": {
|
|
57
|
-
"follow-redirects": "^1.15.6",
|
|
58
|
-
"form-data": "^4.0.4",
|
|
59
|
-
"proxy-from-env": "^1.1.0"
|
|
60
|
-
},
|
|
61
|
-
"integrity": "sha512-VPk9ebNqPcy5lRGuSlKx752IlDatOjT9paPlm8A7yOuW2Fbvp4X3JznJtT4f0GzGLLiWE9W8onz51SqLYwzGaA==",
|
|
62
|
-
"license": "MIT",
|
|
63
|
-
"resolved": "https://registry.npmjs.org/axios/-/axios-1.13.2.tgz",
|
|
64
|
-
"version": "1.13.2"
|
|
65
|
-
},
|
|
66
|
-
"node_modules/axios-proxy-builder": {
|
|
67
|
-
"dependencies": {
|
|
68
|
-
"tunnel": "^0.0.6"
|
|
69
|
-
},
|
|
70
|
-
"integrity": "sha512-6uBVsBZzkB3tCC8iyx59mCjQckhB8+GQrI9Cop8eC7ybIsvs/KtnNgEBfRMSEa7GqK2VBGUzgjNYMdPIfotyPA==",
|
|
71
|
-
"license": "MIT",
|
|
72
|
-
"resolved": "https://registry.npmjs.org/axios-proxy-builder/-/axios-proxy-builder-0.1.2.tgz",
|
|
73
|
-
"version": "0.1.2"
|
|
74
|
-
},
|
|
75
|
-
"node_modules/call-bind-apply-helpers": {
|
|
76
|
-
"dependencies": {
|
|
77
|
-
"es-errors": "^1.3.0",
|
|
78
|
-
"function-bind": "^1.1.2"
|
|
79
|
-
},
|
|
80
|
-
"engines": {
|
|
81
|
-
"node": ">= 0.4"
|
|
82
|
-
},
|
|
83
|
-
"integrity": "sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ==",
|
|
84
|
-
"license": "MIT",
|
|
85
|
-
"resolved": "https://registry.npmjs.org/call-bind-apply-helpers/-/call-bind-apply-helpers-1.0.2.tgz",
|
|
86
|
-
"version": "1.0.2"
|
|
87
|
-
},
|
|
88
|
-
"node_modules/clone": {
|
|
89
|
-
"engines": {
|
|
90
|
-
"node": ">=0.8"
|
|
91
|
-
},
|
|
92
|
-
"integrity": "sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg==",
|
|
93
|
-
"license": "MIT",
|
|
94
|
-
"optional": true,
|
|
95
|
-
"resolved": "https://registry.npmjs.org/clone/-/clone-1.0.4.tgz",
|
|
96
|
-
"version": "1.0.4"
|
|
97
|
-
},
|
|
98
|
-
"node_modules/combined-stream": {
|
|
99
|
-
"dependencies": {
|
|
100
|
-
"delayed-stream": "~1.0.0"
|
|
101
|
-
},
|
|
102
|
-
"engines": {
|
|
103
|
-
"node": ">= 0.8"
|
|
104
|
-
},
|
|
105
|
-
"integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==",
|
|
106
|
-
"license": "MIT",
|
|
107
|
-
"resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz",
|
|
108
|
-
"version": "1.0.8"
|
|
109
|
-
},
|
|
110
|
-
"node_modules/console.table": {
|
|
111
|
-
"dependencies": {
|
|
112
|
-
"easy-table": "1.1.0"
|
|
113
|
-
},
|
|
114
|
-
"engines": {
|
|
115
|
-
"node": "> 0.10"
|
|
116
|
-
},
|
|
117
|
-
"integrity": "sha512-dPyZofqggxuvSf7WXvNjuRfnsOk1YazkVP8FdxH4tcH2c37wc79/Yl6Bhr7Lsu00KMgy2ql/qCMuNu8xctZM8g==",
|
|
118
|
-
"license": "MIT",
|
|
119
|
-
"resolved": "https://registry.npmjs.org/console.table/-/console.table-0.10.0.tgz",
|
|
120
|
-
"version": "0.10.0"
|
|
121
|
-
},
|
|
122
|
-
"node_modules/defaults": {
|
|
123
|
-
"dependencies": {
|
|
124
|
-
"clone": "^1.0.2"
|
|
125
|
-
},
|
|
126
|
-
"funding": {
|
|
127
|
-
"url": "https://github.com/sponsors/sindresorhus"
|
|
128
|
-
},
|
|
129
|
-
"integrity": "sha512-eFuaLoy/Rxalv2kr+lqMlUnrDWV+3j4pljOIJgLIhI058IQfWJ7vXhyEIHu+HtC738klGALYxOKDO0bQP3tg8A==",
|
|
130
|
-
"license": "MIT",
|
|
131
|
-
"optional": true,
|
|
132
|
-
"resolved": "https://registry.npmjs.org/defaults/-/defaults-1.0.4.tgz",
|
|
133
|
-
"version": "1.0.4"
|
|
134
|
-
},
|
|
135
|
-
"node_modules/delayed-stream": {
|
|
136
|
-
"engines": {
|
|
137
|
-
"node": ">=0.4.0"
|
|
138
|
-
},
|
|
139
|
-
"integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==",
|
|
140
|
-
"license": "MIT",
|
|
141
|
-
"resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz",
|
|
142
|
-
"version": "1.0.0"
|
|
143
|
-
},
|
|
144
|
-
"node_modules/detect-libc": {
|
|
145
|
-
"engines": {
|
|
146
|
-
"node": ">=8"
|
|
147
|
-
},
|
|
148
|
-
"integrity": "sha512-Btj2BOOO83o3WyH59e8MgXsxEQVcarkUOpEYrubB0urwnN10yQ364rsiByU11nZlqWYZm05i/of7io4mzihBtQ==",
|
|
149
|
-
"license": "Apache-2.0",
|
|
150
|
-
"resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-2.1.2.tgz",
|
|
151
|
-
"version": "2.1.2"
|
|
152
|
-
},
|
|
153
|
-
"node_modules/dunder-proto": {
|
|
154
|
-
"dependencies": {
|
|
155
|
-
"call-bind-apply-helpers": "^1.0.1",
|
|
156
|
-
"es-errors": "^1.3.0",
|
|
157
|
-
"gopd": "^1.2.0"
|
|
158
|
-
},
|
|
159
|
-
"engines": {
|
|
160
|
-
"node": ">= 0.4"
|
|
161
|
-
},
|
|
162
|
-
"integrity": "sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==",
|
|
163
|
-
"license": "MIT",
|
|
164
|
-
"resolved": "https://registry.npmjs.org/dunder-proto/-/dunder-proto-1.0.1.tgz",
|
|
165
|
-
"version": "1.0.1"
|
|
166
|
-
},
|
|
167
|
-
"node_modules/easy-table": {
|
|
168
|
-
"integrity": "sha512-oq33hWOSSnl2Hoh00tZWaIPi1ievrD9aFG82/IgjlycAnW9hHx5PkJiXpxPsgEE+H7BsbVQXFVFST8TEXS6/pA==",
|
|
169
|
-
"license": "MIT",
|
|
170
|
-
"optionalDependencies": {
|
|
171
|
-
"wcwidth": ">=1.0.1"
|
|
172
|
-
},
|
|
173
|
-
"resolved": "https://registry.npmjs.org/easy-table/-/easy-table-1.1.0.tgz",
|
|
174
|
-
"version": "1.1.0"
|
|
175
|
-
},
|
|
176
|
-
"node_modules/es-define-property": {
|
|
177
|
-
"engines": {
|
|
178
|
-
"node": ">= 0.4"
|
|
179
|
-
},
|
|
180
|
-
"integrity": "sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g==",
|
|
181
|
-
"license": "MIT",
|
|
182
|
-
"resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.1.tgz",
|
|
183
|
-
"version": "1.0.1"
|
|
184
|
-
},
|
|
185
|
-
"node_modules/es-errors": {
|
|
186
|
-
"engines": {
|
|
187
|
-
"node": ">= 0.4"
|
|
188
|
-
},
|
|
189
|
-
"integrity": "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==",
|
|
190
|
-
"license": "MIT",
|
|
191
|
-
"resolved": "https://registry.npmjs.org/es-errors/-/es-errors-1.3.0.tgz",
|
|
192
|
-
"version": "1.3.0"
|
|
193
|
-
},
|
|
194
|
-
"node_modules/es-object-atoms": {
|
|
195
|
-
"dependencies": {
|
|
196
|
-
"es-errors": "^1.3.0"
|
|
197
|
-
},
|
|
198
|
-
"engines": {
|
|
199
|
-
"node": ">= 0.4"
|
|
200
|
-
},
|
|
201
|
-
"integrity": "sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA==",
|
|
202
|
-
"license": "MIT",
|
|
203
|
-
"resolved": "https://registry.npmjs.org/es-object-atoms/-/es-object-atoms-1.1.1.tgz",
|
|
204
|
-
"version": "1.1.1"
|
|
205
|
-
},
|
|
206
|
-
"node_modules/es-set-tostringtag": {
|
|
207
|
-
"dependencies": {
|
|
208
|
-
"es-errors": "^1.3.0",
|
|
209
|
-
"get-intrinsic": "^1.2.6",
|
|
210
|
-
"has-tostringtag": "^1.0.2",
|
|
211
|
-
"hasown": "^2.0.2"
|
|
212
|
-
},
|
|
213
|
-
"engines": {
|
|
214
|
-
"node": ">= 0.4"
|
|
215
|
-
},
|
|
216
|
-
"integrity": "sha512-j6vWzfrGVfyXxge+O0x5sh6cvxAog0a/4Rdd2K36zCMV5eJ+/+tOAngRO8cODMNWbVRdVlmGZQL2YS3yR8bIUA==",
|
|
217
|
-
"license": "MIT",
|
|
218
|
-
"resolved": "https://registry.npmjs.org/es-set-tostringtag/-/es-set-tostringtag-2.1.0.tgz",
|
|
219
|
-
"version": "2.1.0"
|
|
220
|
-
},
|
|
221
|
-
"node_modules/follow-redirects": {
|
|
222
|
-
"engines": {
|
|
223
|
-
"node": ">=4.0"
|
|
224
|
-
},
|
|
225
|
-
"funding": [
|
|
226
|
-
{
|
|
227
|
-
"type": "individual",
|
|
228
|
-
"url": "https://github.com/sponsors/RubenVerborgh"
|
|
229
|
-
}
|
|
230
|
-
],
|
|
231
|
-
"integrity": "sha512-wWN62YITEaOpSK584EZXJafH1AGpO8RVgElfkuXbTOrPX4fIfOyEpW/CsiNd8JdYrAoOvafRTOEnvsO++qCqFA==",
|
|
232
|
-
"license": "MIT",
|
|
233
|
-
"peerDependenciesMeta": {
|
|
234
|
-
"debug": {
|
|
235
|
-
"optional": true
|
|
236
|
-
}
|
|
237
|
-
},
|
|
238
|
-
"resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.6.tgz",
|
|
239
|
-
"version": "1.15.6"
|
|
240
|
-
},
|
|
241
|
-
"node_modules/form-data": {
|
|
242
|
-
"dependencies": {
|
|
243
|
-
"asynckit": "^0.4.0",
|
|
244
|
-
"combined-stream": "^1.0.8",
|
|
245
|
-
"es-set-tostringtag": "^2.1.0",
|
|
246
|
-
"hasown": "^2.0.2",
|
|
247
|
-
"mime-types": "^2.1.12"
|
|
248
|
-
},
|
|
249
|
-
"engines": {
|
|
250
|
-
"node": ">= 6"
|
|
251
|
-
},
|
|
252
|
-
"integrity": "sha512-KrGhL9Q4zjj0kiUt5OO4Mr/A/jlI2jDYs5eHBpYHPcBEVSiipAvn2Ko2HnPe20rmcuuvMHNdZFp+4IlGTMF0Ow==",
|
|
253
|
-
"license": "MIT",
|
|
254
|
-
"resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.4.tgz",
|
|
255
|
-
"version": "4.0.4"
|
|
256
|
-
},
|
|
257
|
-
"node_modules/function-bind": {
|
|
258
|
-
"funding": {
|
|
259
|
-
"url": "https://github.com/sponsors/ljharb"
|
|
260
|
-
},
|
|
261
|
-
"integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==",
|
|
262
|
-
"license": "MIT",
|
|
263
|
-
"resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz",
|
|
264
|
-
"version": "1.1.2"
|
|
265
|
-
},
|
|
266
|
-
"node_modules/get-intrinsic": {
|
|
267
|
-
"dependencies": {
|
|
268
|
-
"call-bind-apply-helpers": "^1.0.2",
|
|
269
|
-
"es-define-property": "^1.0.1",
|
|
270
|
-
"es-errors": "^1.3.0",
|
|
271
|
-
"es-object-atoms": "^1.1.1",
|
|
272
|
-
"function-bind": "^1.1.2",
|
|
273
|
-
"get-proto": "^1.0.1",
|
|
274
|
-
"gopd": "^1.2.0",
|
|
275
|
-
"has-symbols": "^1.1.0",
|
|
276
|
-
"hasown": "^2.0.2",
|
|
277
|
-
"math-intrinsics": "^1.1.0"
|
|
278
|
-
},
|
|
279
|
-
"engines": {
|
|
280
|
-
"node": ">= 0.4"
|
|
281
|
-
},
|
|
282
|
-
"funding": {
|
|
283
|
-
"url": "https://github.com/sponsors/ljharb"
|
|
284
|
-
},
|
|
285
|
-
"integrity": "sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ==",
|
|
286
|
-
"license": "MIT",
|
|
287
|
-
"resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.3.0.tgz",
|
|
288
|
-
"version": "1.3.0"
|
|
289
|
-
},
|
|
290
|
-
"node_modules/get-proto": {
|
|
291
|
-
"dependencies": {
|
|
292
|
-
"dunder-proto": "^1.0.1",
|
|
293
|
-
"es-object-atoms": "^1.0.0"
|
|
294
|
-
},
|
|
295
|
-
"engines": {
|
|
296
|
-
"node": ">= 0.4"
|
|
297
|
-
},
|
|
298
|
-
"integrity": "sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==",
|
|
299
|
-
"license": "MIT",
|
|
300
|
-
"resolved": "https://registry.npmjs.org/get-proto/-/get-proto-1.0.1.tgz",
|
|
301
|
-
"version": "1.0.1"
|
|
302
|
-
},
|
|
303
|
-
"node_modules/glob": {
|
|
304
|
-
"dependencies": {
|
|
305
|
-
"minimatch": "^10.1.1",
|
|
306
|
-
"minipass": "^7.1.2",
|
|
307
|
-
"path-scurry": "^2.0.0"
|
|
308
|
-
},
|
|
309
|
-
"engines": {
|
|
310
|
-
"node": "20 || >=22"
|
|
311
|
-
},
|
|
312
|
-
"funding": {
|
|
313
|
-
"url": "https://github.com/sponsors/isaacs"
|
|
314
|
-
},
|
|
315
|
-
"integrity": "sha512-tvZgpqk6fz4BaNZ66ZsRaZnbHvP/jG3uKJvAZOwEVUL4RTA5nJeeLYfyN9/VA8NX/V3IBG+hkeuGpKjvELkVhA==",
|
|
316
|
-
"license": "BlueOak-1.0.0",
|
|
317
|
-
"resolved": "https://registry.npmjs.org/glob/-/glob-13.0.0.tgz",
|
|
318
|
-
"version": "13.0.0"
|
|
319
|
-
},
|
|
320
|
-
"node_modules/gopd": {
|
|
321
|
-
"engines": {
|
|
322
|
-
"node": ">= 0.4"
|
|
323
|
-
},
|
|
324
|
-
"funding": {
|
|
325
|
-
"url": "https://github.com/sponsors/ljharb"
|
|
326
|
-
},
|
|
327
|
-
"integrity": "sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==",
|
|
328
|
-
"license": "MIT",
|
|
329
|
-
"resolved": "https://registry.npmjs.org/gopd/-/gopd-1.2.0.tgz",
|
|
330
|
-
"version": "1.2.0"
|
|
331
|
-
},
|
|
332
|
-
"node_modules/has-symbols": {
|
|
333
|
-
"engines": {
|
|
334
|
-
"node": ">= 0.4"
|
|
335
|
-
},
|
|
336
|
-
"funding": {
|
|
337
|
-
"url": "https://github.com/sponsors/ljharb"
|
|
338
|
-
},
|
|
339
|
-
"integrity": "sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ==",
|
|
340
|
-
"license": "MIT",
|
|
341
|
-
"resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.1.0.tgz",
|
|
342
|
-
"version": "1.1.0"
|
|
343
|
-
},
|
|
344
|
-
"node_modules/has-tostringtag": {
|
|
345
|
-
"dependencies": {
|
|
346
|
-
"has-symbols": "^1.0.3"
|
|
347
|
-
},
|
|
348
|
-
"engines": {
|
|
349
|
-
"node": ">= 0.4"
|
|
350
|
-
},
|
|
351
|
-
"funding": {
|
|
352
|
-
"url": "https://github.com/sponsors/ljharb"
|
|
353
|
-
},
|
|
354
|
-
"integrity": "sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==",
|
|
355
|
-
"license": "MIT",
|
|
356
|
-
"resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.2.tgz",
|
|
357
|
-
"version": "1.0.2"
|
|
358
|
-
},
|
|
359
|
-
"node_modules/hasown": {
|
|
360
|
-
"dependencies": {
|
|
361
|
-
"function-bind": "^1.1.2"
|
|
362
|
-
},
|
|
363
|
-
"engines": {
|
|
364
|
-
"node": ">= 0.4"
|
|
365
|
-
},
|
|
366
|
-
"integrity": "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==",
|
|
367
|
-
"license": "MIT",
|
|
368
|
-
"resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz",
|
|
369
|
-
"version": "2.0.2"
|
|
370
|
-
},
|
|
371
|
-
"node_modules/lru-cache": {
|
|
372
|
-
"engines": {
|
|
373
|
-
"node": "20 || >=22"
|
|
374
|
-
},
|
|
375
|
-
"integrity": "sha512-B5Y16Jr9LB9dHVkh6ZevG+vAbOsNOYCX+sXvFWFu7B3Iz5mijW3zdbMyhsh8ANd2mSWBYdJgnqi+mL7/LrOPYg==",
|
|
376
|
-
"license": "BlueOak-1.0.0",
|
|
377
|
-
"resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-11.2.4.tgz",
|
|
378
|
-
"version": "11.2.4"
|
|
379
|
-
},
|
|
380
|
-
"node_modules/math-intrinsics": {
|
|
381
|
-
"engines": {
|
|
382
|
-
"node": ">= 0.4"
|
|
383
|
-
},
|
|
384
|
-
"integrity": "sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==",
|
|
385
|
-
"license": "MIT",
|
|
386
|
-
"resolved": "https://registry.npmjs.org/math-intrinsics/-/math-intrinsics-1.1.0.tgz",
|
|
387
|
-
"version": "1.1.0"
|
|
388
|
-
},
|
|
389
|
-
"node_modules/mime-db": {
|
|
390
|
-
"engines": {
|
|
391
|
-
"node": ">= 0.6"
|
|
392
|
-
},
|
|
393
|
-
"integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==",
|
|
394
|
-
"license": "MIT",
|
|
395
|
-
"resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz",
|
|
396
|
-
"version": "1.52.0"
|
|
397
|
-
},
|
|
398
|
-
"node_modules/mime-types": {
|
|
399
|
-
"dependencies": {
|
|
400
|
-
"mime-db": "1.52.0"
|
|
401
|
-
},
|
|
402
|
-
"engines": {
|
|
403
|
-
"node": ">= 0.6"
|
|
404
|
-
},
|
|
405
|
-
"integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==",
|
|
406
|
-
"license": "MIT",
|
|
407
|
-
"resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz",
|
|
408
|
-
"version": "2.1.35"
|
|
409
|
-
},
|
|
410
|
-
"node_modules/minimatch": {
|
|
411
|
-
"dependencies": {
|
|
412
|
-
"@isaacs/brace-expansion": "^5.0.0"
|
|
413
|
-
},
|
|
414
|
-
"engines": {
|
|
415
|
-
"node": "20 || >=22"
|
|
416
|
-
},
|
|
417
|
-
"funding": {
|
|
418
|
-
"url": "https://github.com/sponsors/isaacs"
|
|
419
|
-
},
|
|
420
|
-
"integrity": "sha512-enIvLvRAFZYXJzkCYG5RKmPfrFArdLv+R+lbQ53BmIMLIry74bjKzX6iHAm8WYamJkhSSEabrWN5D97XnKObjQ==",
|
|
421
|
-
"license": "BlueOak-1.0.0",
|
|
422
|
-
"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-10.1.1.tgz",
|
|
423
|
-
"version": "10.1.1"
|
|
424
|
-
},
|
|
425
|
-
"node_modules/minipass": {
|
|
426
|
-
"engines": {
|
|
427
|
-
"node": ">=16 || 14 >=14.17"
|
|
428
|
-
},
|
|
429
|
-
"integrity": "sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==",
|
|
430
|
-
"license": "ISC",
|
|
431
|
-
"resolved": "https://registry.npmjs.org/minipass/-/minipass-7.1.2.tgz",
|
|
432
|
-
"version": "7.1.2"
|
|
433
|
-
},
|
|
434
|
-
"node_modules/package-json-from-dist": {
|
|
435
|
-
"integrity": "sha512-UEZIS3/by4OC8vL3P2dTXRETpebLI2NiI5vIrjaD/5UtrkFX/tNbwjTSRAGC/+7CAo2pIcBaRgWmcBBHcsaCIw==",
|
|
436
|
-
"license": "BlueOak-1.0.0",
|
|
437
|
-
"resolved": "https://registry.npmjs.org/package-json-from-dist/-/package-json-from-dist-1.0.1.tgz",
|
|
438
|
-
"version": "1.0.1"
|
|
439
|
-
},
|
|
440
|
-
"node_modules/path-scurry": {
|
|
441
|
-
"dependencies": {
|
|
442
|
-
"lru-cache": "^11.0.0",
|
|
443
|
-
"minipass": "^7.1.2"
|
|
444
|
-
},
|
|
445
|
-
"engines": {
|
|
446
|
-
"node": "20 || >=22"
|
|
447
|
-
},
|
|
448
|
-
"funding": {
|
|
449
|
-
"url": "https://github.com/sponsors/isaacs"
|
|
450
|
-
},
|
|
451
|
-
"integrity": "sha512-oWyT4gICAu+kaA7QWk/jvCHWarMKNs6pXOGWKDTr7cw4IGcUbW+PeTfbaQiLGheFRpjo6O9J0PmyMfQPjH71oA==",
|
|
452
|
-
"license": "BlueOak-1.0.0",
|
|
453
|
-
"resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-2.0.1.tgz",
|
|
454
|
-
"version": "2.0.1"
|
|
455
|
-
},
|
|
456
|
-
"node_modules/prettier": {
|
|
457
|
-
"bin": {
|
|
458
|
-
"prettier": "bin/prettier.cjs"
|
|
459
|
-
},
|
|
460
|
-
"dev": true,
|
|
461
|
-
"engines": {
|
|
462
|
-
"node": ">=14"
|
|
463
|
-
},
|
|
464
|
-
"funding": {
|
|
465
|
-
"url": "https://github.com/prettier/prettier?sponsor=1"
|
|
466
|
-
},
|
|
467
|
-
"integrity": "sha512-v6UNi1+3hSlVvv8fSaoUbggEM5VErKmmpGA7Pl3HF8V6uKY7rvClBOJlH6yNwQtfTueNkGVpOv/mtWL9L4bgRA==",
|
|
468
|
-
"license": "MIT",
|
|
469
|
-
"resolved": "https://registry.npmjs.org/prettier/-/prettier-3.7.4.tgz",
|
|
470
|
-
"version": "3.7.4"
|
|
471
|
-
},
|
|
472
|
-
"node_modules/proxy-from-env": {
|
|
473
|
-
"integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==",
|
|
474
|
-
"license": "MIT",
|
|
475
|
-
"resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz",
|
|
476
|
-
"version": "1.1.0"
|
|
477
|
-
},
|
|
478
|
-
"node_modules/rimraf": {
|
|
479
|
-
"bin": {
|
|
480
|
-
"rimraf": "dist/esm/bin.mjs"
|
|
481
|
-
},
|
|
482
|
-
"dependencies": {
|
|
483
|
-
"glob": "^13.0.0",
|
|
484
|
-
"package-json-from-dist": "^1.0.1"
|
|
485
|
-
},
|
|
486
|
-
"engines": {
|
|
487
|
-
"node": "20 || >=22"
|
|
488
|
-
},
|
|
489
|
-
"funding": {
|
|
490
|
-
"url": "https://github.com/sponsors/isaacs"
|
|
491
|
-
},
|
|
492
|
-
"integrity": "sha512-cFCkPslJv7BAXJsYlK1dZsbP8/ZNLkCAQ0bi1hf5EKX2QHegmDFEFA6QhuYJlk7UDdc+02JjO80YSOrWPpw06g==",
|
|
493
|
-
"license": "BlueOak-1.0.0",
|
|
494
|
-
"resolved": "https://registry.npmjs.org/rimraf/-/rimraf-6.1.2.tgz",
|
|
495
|
-
"version": "6.1.2"
|
|
496
|
-
},
|
|
497
|
-
"node_modules/tunnel": {
|
|
498
|
-
"engines": {
|
|
499
|
-
"node": ">=0.6.11 <=0.7.0 || >=0.7.3"
|
|
500
|
-
},
|
|
501
|
-
"integrity": "sha512-1h/Lnq9yajKY2PEbBadPXj3VxsDDu844OnaAo52UVmIzIvwwtBPIuNvkjuzBlTWpfJyUbG3ez0KSBibQkj4ojg==",
|
|
502
|
-
"license": "MIT",
|
|
503
|
-
"resolved": "https://registry.npmjs.org/tunnel/-/tunnel-0.0.6.tgz",
|
|
504
|
-
"version": "0.0.6"
|
|
505
|
-
},
|
|
506
|
-
"node_modules/wcwidth": {
|
|
507
|
-
"dependencies": {
|
|
508
|
-
"defaults": "^1.0.3"
|
|
509
|
-
},
|
|
510
|
-
"integrity": "sha512-XHPEwS0q6TaxcvG85+8EYkbiCux2XtWG2mkc47Ng2A77BQu9+DqIOJldST4HgPkuea7dvKSj5VgX3P1d4rW8Tg==",
|
|
511
|
-
"license": "MIT",
|
|
512
|
-
"optional": true,
|
|
513
|
-
"resolved": "https://registry.npmjs.org/wcwidth/-/wcwidth-1.0.1.tgz",
|
|
514
|
-
"version": "1.0.1"
|
|
515
|
-
}
|
|
516
|
-
},
|
|
517
|
-
"requires": true,
|
|
518
|
-
"version": "0.9.1"
|
|
519
|
-
}
|
package/run-zv.js
DELETED