From 02db33a7c70f69ca944151d017471fd1914c0c94 Mon Sep 17 00:00:00 2001 From: mxzz <> Date: Sun, 5 Jul 2026 10:28:27 +0200 Subject: [PATCH 01/39] Create build.yml build actions re-added --- .github/workflows/build.yml | 76 +++++++++++++++++++++++++++++++++++++ 1 file changed, 76 insertions(+) create mode 100644 .github/workflows/build.yml diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml new file mode 100644 index 000000000000..993d508706fa --- /dev/null +++ b/.github/workflows/build.yml @@ -0,0 +1,76 @@ +name: Build Binaries + +on: + push: + branches: [ main, master ] + pull_request: + branches: [ main, master ] + workflow_dispatch: + +jobs: + build: + name: Build on ${{ matrix.os }} + runs-on: ${{ matrix.os }} + strategy: + matrix: + os: [ubuntu-latest, windows-latest, macos-latest] + + steps: + - name: Checkout code + uses: actions/checkout@v4 + + - name: Setup Node.js + uses: actions/setup-node@v4 + with: + node-version: '20' + cache: 'npm' + + - name: Setup Rust + uses: dtolnay/rust-toolchain@stable + + - name: Install dependencies (Linux) + if: runner.os == 'Linux' + run: | + sudo apt-get update + sudo apt-get install -y build-essential libx11-dev libxkbfile-dev libsecret-1-dev + + - name: Build Rust CLI + run: | + cd cli + cargo build --release + + - name: Install NPM dependencies + run: npm install + + - name: Compile Editor + run: npm run compile + + - name: Archive Rust CLI + shell: bash + run: | + if [ "${{ runner.os }}" == "Windows" ]; then + mkdir -p artifacts/cli + cp cli/target/release/*.exe artifacts/cli/ || true + elif [ "${{ runner.os }}" == "macOS" ]; then + mkdir -p artifacts/cli + cp cli/target/release/void-cli artifacts/cli/ || true + else + mkdir -p artifacts/cli + cp cli/target/release/void-cli artifacts/cli/ || true + fi + + - name: Archive Editor Build + shell: bash + run: | + mkdir -p artifacts/editor + # Assuming the build output goes to 'out' or similar based on package.json 'main' + if [ -d "out" ]; then + cp -r out artifacts/editor/ + fi + + - name: Upload Artifacts + uses: actions/upload-artifact@v4 + with: + name: binaries-${{ matrix.os }} + path: artifacts/ + \ No newline at end of file From 297c643160b7b0d73d14b701f22141208f99e91c Mon Sep 17 00:00:00 2001 From: mxzz <> Date: Sun, 5 Jul 2026 10:32:14 +0200 Subject: [PATCH 02/39] Update Cargo.toml --- cli/Cargo.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cli/Cargo.toml b/cli/Cargo.toml index 2c87d662e073..813c4cfb5de6 100644 --- a/cli/Cargo.toml +++ b/cli/Cargo.toml @@ -15,7 +15,7 @@ name = "code" futures = "0.3.28" clap = { version = "4.3.0", features = ["derive", "env"] } open = "4.1.0" -reqwest = { version = "0.11.22", default-features = false, features = ["json", "stream", "native-tls"] } +reqwest = { version = "0.11.22", default-features = false, features = ["json", "stream", "rustls-tls"] } tokio = { version = "1.28.2", features = ["full"] } tokio-util = { version = "0.7.8", features = ["compat", "codec"] } flate2 = { version = "1.0.26", default-features = false, features = ["zlib"] } From 879117e7612386feab9951f866f77572516a7b07 Mon Sep 17 00:00:00 2001 From: mxzz <> Date: Sun, 5 Jul 2026 10:37:19 +0200 Subject: [PATCH 03/39] Update Cargo.toml --- cli/Cargo.toml | 1 + 1 file changed, 1 insertion(+) diff --git a/cli/Cargo.toml b/cli/Cargo.toml index 813c4cfb5de6..855307121d5f 100644 --- a/cli/Cargo.toml +++ b/cli/Cargo.toml @@ -12,6 +12,7 @@ path = "src/lib.rs" name = "code" [dependencies] +openssl = { version = "0.5", features = ["vendored"] } futures = "0.3.28" clap = { version = "4.3.0", features = ["derive", "env"] } open = "4.1.0" From b60dd316f19a6214dafd7e8729f951ab6210c500 Mon Sep 17 00:00:00 2001 From: mxzz <> Date: Sun, 5 Jul 2026 10:44:33 +0200 Subject: [PATCH 04/39] Update build.yml --- .github/workflows/build.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 993d508706fa..974896bf01ae 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -40,7 +40,7 @@ jobs: cargo build --release - name: Install NPM dependencies - run: npm install + run: npm ci - name: Compile Editor run: npm run compile From d48e7cacf6b6aa61bd387286e285c88087aec3ff Mon Sep 17 00:00:00 2001 From: mxzz <> Date: Sun, 5 Jul 2026 10:47:45 +0200 Subject: [PATCH 05/39] Update build.yml --- .github/workflows/build.yml | 40 ++++++++++--------------------------- 1 file changed, 11 insertions(+), 29 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 974896bf01ae..d48c876cd5d3 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -9,36 +9,27 @@ on: jobs: build: - name: Build on ${{ matrix.os }} - runs-on: ${{ matrix.os }} - strategy: - matrix: - os: [ubuntu-latest, windows-latest, macos-latest] + name: Build on Windows + runs-on: windows-latest steps: - name: Checkout code uses: actions/checkout@v4 - - name: Setup Node.js - uses: actions/setup-node@v4 - with: - node-version: '20' - cache: 'npm' - - name: Setup Rust uses: dtolnay/rust-toolchain@stable - - name: Install dependencies (Linux) - if: runner.os == 'Linux' - run: | - sudo apt-get update - sudo apt-get install -y build-essential libx11-dev libxkbfile-dev libsecret-1-dev - - name: Build Rust CLI run: | cd cli cargo build --release + - name: Setup Node.js + uses: actions/setup-node@v4 + with: + node-version: '20' + cache: 'npm' + - name: Install NPM dependencies run: npm ci @@ -48,22 +39,13 @@ jobs: - name: Archive Rust CLI shell: bash run: | - if [ "${{ runner.os }}" == "Windows" ]; then - mkdir -p artifacts/cli - cp cli/target/release/*.exe artifacts/cli/ || true - elif [ "${{ runner.os }}" == "macOS" ]; then - mkdir -p artifacts/cli - cp cli/target/release/void-cli artifacts/cli/ || true - else - mkdir -p artifacts/cli - cp cli/target/release/void-cli artifacts/cli/ || true - fi + mkdir -p artifacts/cli + cp cli/target/release/*.exe artifacts/cli/ || true - name: Archive Editor Build shell: bash run: | mkdir -p artifacts/editor - # Assuming the build output goes to 'out' or similar based on package.json 'main' if [ -d "out" ]; then cp -r out artifacts/editor/ fi @@ -71,6 +53,6 @@ jobs: - name: Upload Artifacts uses: actions/upload-artifact@v4 with: - name: binaries-${{ matrix.os }} + name: binaries-windows path: artifacts/ \ No newline at end of file From 4c110f1e201f708e9a760be62a1ebd7d5ea93ff6 Mon Sep 17 00:00:00 2001 From: mxzz <> Date: Sun, 5 Jul 2026 10:51:09 +0200 Subject: [PATCH 06/39] Update Cargo.toml --- cli/Cargo.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cli/Cargo.toml b/cli/Cargo.toml index 855307121d5f..b5bd76560ec9 100644 --- a/cli/Cargo.toml +++ b/cli/Cargo.toml @@ -12,7 +12,7 @@ path = "src/lib.rs" name = "code" [dependencies] -openssl = { version = "0.5", features = ["vendored"] } +openssl = { version = "0.4", features = ["vendored"] } futures = "0.3.28" clap = { version = "4.3.0", features = ["derive", "env"] } open = "4.1.0" From 0aaeded058ca7baa3382923fa5278669fc0562c1 Mon Sep 17 00:00:00 2001 From: mxzz <> Date: Sun, 5 Jul 2026 10:53:53 +0200 Subject: [PATCH 07/39] Update Cargo.toml --- cli/Cargo.toml | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/cli/Cargo.toml b/cli/Cargo.toml index b5bd76560ec9..41a713dace84 100644 --- a/cli/Cargo.toml +++ b/cli/Cargo.toml @@ -12,7 +12,6 @@ path = "src/lib.rs" name = "code" [dependencies] -openssl = { version = "0.4", features = ["vendored"] } futures = "0.3.28" clap = { version = "4.3.0", features = ["derive", "env"] } open = "4.1.0" @@ -36,7 +35,7 @@ chrono = { version = "0.4.26", features = ["serde", "std", "clock"], default-fea gethostname = "0.4.3" libc = "0.2.144" tunnels = { git = "https://github.com/microsoft/dev-tunnels", rev = "8cae9b2a24c65c6c1958f5a0e77d72b23b5c6c30", default-features = false, features = ["connections"] } -keyring = { version = "2.0.3", default-features = false, features = ["linux-secret-service-rt-tokio-crypto-openssl", "platform-windows", "platform-macos", "linux-keyutils"] } +keyring = { version = "2.0.3", default-features = false, features = ["platform-windows", "platform-macos", "linux-keyutils"] } dialoguer = "0.10.4" hyper = { version = "0.14.26", features = ["server", "http1", "runtime"] } indicatif = "0.17.4" From 59a48acb3bb40a1655dcf7cf047dc8c7982969ed Mon Sep 17 00:00:00 2001 From: mxzz <> Date: Sun, 5 Jul 2026 10:57:40 +0200 Subject: [PATCH 08/39] Update Cargo.toml --- cli/Cargo.toml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/cli/Cargo.toml b/cli/Cargo.toml index 41a713dace84..e7816a5ad442 100644 --- a/cli/Cargo.toml +++ b/cli/Cargo.toml @@ -12,6 +12,8 @@ path = "src/lib.rs" name = "code" [dependencies] +openssl = { version = "0.4", features = ["vendored"] } +openssl-sys = { version = "0.9", features = ["vendored"] } futures = "0.3.28" clap = { version = "4.3.0", features = ["derive", "env"] } open = "4.1.0" From c97eacf7c644cbd777bdd31ac42ebfd4aac6d5df Mon Sep 17 00:00:00 2001 From: mxzz <> Date: Sun, 5 Jul 2026 11:01:02 +0200 Subject: [PATCH 09/39] Update Cargo.toml --- cli/Cargo.toml | 1 - 1 file changed, 1 deletion(-) diff --git a/cli/Cargo.toml b/cli/Cargo.toml index e7816a5ad442..6e4ac4c925a5 100644 --- a/cli/Cargo.toml +++ b/cli/Cargo.toml @@ -12,7 +12,6 @@ path = "src/lib.rs" name = "code" [dependencies] -openssl = { version = "0.4", features = ["vendored"] } openssl-sys = { version = "0.9", features = ["vendored"] } futures = "0.3.28" clap = { version = "4.3.0", features = ["derive", "env"] } From 667e6279e5beb5ca7d09378f1027320bf7d59ba3 Mon Sep 17 00:00:00 2001 From: mxzz <> Date: Sun, 5 Jul 2026 11:33:22 +0200 Subject: [PATCH 10/39] Update build.yml --- .github/workflows/build.yml | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index d48c876cd5d3..78ebeb1273e9 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -16,8 +16,9 @@ jobs: - name: Checkout code uses: actions/checkout@v4 - - name: Setup Rust - uses: dtolnay/rust-toolchain@stable + - name: Setup Build Tools + run: | + npm install -g node-gyp - name: Build Rust CLI run: | @@ -32,6 +33,8 @@ jobs: - name: Install NPM dependencies run: npm ci + env: + GYP_MSVS_VERSION: 2022 - name: Compile Editor run: npm run compile From fc117f421e3eab3838411429d8e5d86625324d23 Mon Sep 17 00:00:00 2001 From: mxzz <> Date: Sun, 5 Jul 2026 12:20:02 +0200 Subject: [PATCH 11/39] Update build.yml --- .github/workflows/build.yml | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 78ebeb1273e9..aa58c843f362 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -16,9 +16,13 @@ jobs: - name: Checkout code uses: actions/checkout@v4 + - name: Setup MSVC Environment + uses: ilammy/msvc-dev-cmd@v1 + - name: Setup Build Tools run: | npm install -g node-gyp + npm config set msvs_version 2022 - name: Build Rust CLI run: | @@ -33,8 +37,6 @@ jobs: - name: Install NPM dependencies run: npm ci - env: - GYP_MSVS_VERSION: 2022 - name: Compile Editor run: npm run compile From 232668e8e5eb00965a2563c5e5a2c25d044e5ee4 Mon Sep 17 00:00:00 2001 From: mxzz <> Date: Sun, 5 Jul 2026 12:22:23 +0200 Subject: [PATCH 12/39] Update build.yml --- .github/workflows/build.yml | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index aa58c843f362..43d7288a03a6 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -22,7 +22,6 @@ jobs: - name: Setup Build Tools run: | npm install -g node-gyp - npm config set msvs_version 2022 - name: Build Rust CLI run: | @@ -36,7 +35,7 @@ jobs: cache: 'npm' - name: Install NPM dependencies - run: npm ci + run: npm ci --msvs_version=2022 - name: Compile Editor run: npm run compile From c1a8afb897c2a98dbc2e4193c6b66fbc28e7451e Mon Sep 17 00:00:00 2001 From: mxzz <> Date: Sun, 5 Jul 2026 13:17:20 +0200 Subject: [PATCH 13/39] Update build.yml --- .github/workflows/build.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 43d7288a03a6..4e15008a497b 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -35,7 +35,7 @@ jobs: cache: 'npm' - name: Install NPM dependencies - run: npm ci --msvs_version=2022 + run: npm ci - name: Compile Editor run: npm run compile From 9ff4bde666f29ad90646d8f7b997bab97cdf8c9f Mon Sep 17 00:00:00 2001 From: mxzz <> Date: Sun, 5 Jul 2026 13:39:45 +0200 Subject: [PATCH 14/39] Update build.yml --- .github/workflows/build.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 4e15008a497b..cb41a2ad2b77 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -36,6 +36,8 @@ jobs: - name: Install NPM dependencies run: npm ci + env: + npm_config_msvs_version: 2022 - name: Compile Editor run: npm run compile From d8e4fc81f2fbea457b36355fc5eac7611fb2de58 Mon Sep 17 00:00:00 2001 From: mxzz <> Date: Sun, 5 Jul 2026 14:06:11 +0200 Subject: [PATCH 15/39] Update build.yml --- .github/workflows/build.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index cb41a2ad2b77..82385d09aeeb 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -37,6 +37,7 @@ jobs: - name: Install NPM dependencies run: npm ci env: + GYP_MSVS_VERSION: 2022 npm_config_msvs_version: 2022 - name: Compile Editor From 3bc7a3a920f9f5890e4543fbc39a11b8b4d54969 Mon Sep 17 00:00:00 2001 From: mxzz <> Date: Sun, 5 Jul 2026 18:26:25 +0200 Subject: [PATCH 16/39] Update build.yml --- .github/workflows/build.yml | 8 -------- 1 file changed, 8 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 82385d09aeeb..404f285d24b1 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -16,12 +16,7 @@ jobs: - name: Checkout code uses: actions/checkout@v4 - - name: Setup MSVC Environment - uses: ilammy/msvc-dev-cmd@v1 - - name: Setup Build Tools - run: | - npm install -g node-gyp - name: Build Rust CLI run: | @@ -36,9 +31,6 @@ jobs: - name: Install NPM dependencies run: npm ci - env: - GYP_MSVS_VERSION: 2022 - npm_config_msvs_version: 2022 - name: Compile Editor run: npm run compile From 7403f338be00a8e4396322455e8d603b726e0632 Mon Sep 17 00:00:00 2001 From: mxzz <> Date: Sun, 5 Jul 2026 19:25:37 +0200 Subject: [PATCH 17/39] Update build.yml --- .github/workflows/build.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 404f285d24b1..797b8d259056 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -11,13 +11,13 @@ jobs: build: name: Build on Windows runs-on: windows-latest + env: + GYP_MSVS_VERSION: 2022 steps: - name: Checkout code uses: actions/checkout@v4 - - - name: Build Rust CLI run: | cd cli From 2a06e3d01519f6d1c97ac43e4b29805c4a207e43 Mon Sep 17 00:00:00 2001 From: mxzz <> Date: Sun, 5 Jul 2026 20:35:14 +0200 Subject: [PATCH 18/39] Update build.yml --- .github/workflows/build.yml | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 797b8d259056..8065d6efa2c4 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -18,6 +18,18 @@ jobs: - name: Checkout code uses: actions/checkout@v4 + - name: Locate VC Directory + shell: pwsh + run: | + $vcPath = Get-ChildPath -Path "C:\Program Files\Microsoft Visual Studio" -Recurse -Filter "vc.exe" | Select-Object -First 1 + if ($vcPath) { + $vcDir = $vcPath.Directory.Parent.Parent.FullName + echo "VCINSTALLDIR=$vcDir" >> $env:GITHUB_ENV + } else { + echo "Could not find vc.exe" + exit 1 + } + - name: Build Rust CLI run: | cd cli @@ -31,6 +43,8 @@ jobs: - name: Install NPM dependencies run: npm ci + env: + VCINSTALLDIR: ${{ env.VCINSTALLDIR }} - name: Compile Editor run: npm run compile From 89d5fc60196279c7940a1beba52fbb7754001136 Mon Sep 17 00:00:00 2001 From: mxzz <> Date: Sun, 5 Jul 2026 20:38:04 +0200 Subject: [PATCH 19/39] Update build.yml --- .github/workflows/build.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 8065d6efa2c4..662dd5ae02ac 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -21,9 +21,9 @@ jobs: - name: Locate VC Directory shell: pwsh run: | - $vcPath = Get-ChildPath -Path "C:\Program Files\Microsoft Visual Studio" -Recurse -Filter "vc.exe" | Select-Object -First 1 + $vcPath = Get-ChildItem -Path "C:\Program Files\Microsoft Visual Studio" -Recurse -Filter "vc.exe" | Select-Object -First 1 if ($vcPath) { - $vcDir = $vcPath.Directory.Parent.Parent.FullName + $vcDir = $vcPath.Directory.FullName echo "VCINSTALLDIR=$vcDir" >> $env:GITHUB_ENV } else { echo "Could not find vc.exe" From 47ca94e62d62e5f49f495fe00580d66dc97085bd Mon Sep 17 00:00:00 2001 From: mxzz <> Date: Sun, 5 Jul 2026 20:49:55 +0200 Subject: [PATCH 20/39] Update build.yml --- .github/workflows/build.yml | 15 +++------------ 1 file changed, 3 insertions(+), 12 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 662dd5ae02ac..ff851ea5fc29 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -18,17 +18,8 @@ jobs: - name: Checkout code uses: actions/checkout@v4 - - name: Locate VC Directory - shell: pwsh - run: | - $vcPath = Get-ChildItem -Path "C:\Program Files\Microsoft Visual Studio" -Recurse -Filter "vc.exe" | Select-Object -First 1 - if ($vcPath) { - $vcDir = $vcPath.Directory.FullName - echo "VCINSTALLDIR=$vcDir" >> $env:GITHUB_ENV - } else { - echo "Could not find vc.exe" - exit 1 - } + - name: Setup MSVC + uses: ilammy/msvc-dev-cmd@v1 - name: Build Rust CLI run: | @@ -44,7 +35,7 @@ jobs: - name: Install NPM dependencies run: npm ci env: - VCINSTALLDIR: ${{ env.VCINSTALLDIR }} + npm_config_msvs_version: 2022 - name: Compile Editor run: npm run compile From b96a01097c8f141a6b84e6606014cdb5acc1bb2f Mon Sep 17 00:00:00 2001 From: mxzz <> Date: Sun, 5 Jul 2026 22:24:15 +0200 Subject: [PATCH 21/39] Update build.yml --- .github/workflows/build.yml | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index ff851ea5fc29..c4b4367693c1 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -18,9 +18,6 @@ jobs: - name: Checkout code uses: actions/checkout@v4 - - name: Setup MSVC - uses: ilammy/msvc-dev-cmd@v1 - - name: Build Rust CLI run: | cd cli @@ -33,9 +30,10 @@ jobs: cache: 'npm' - name: Install NPM dependencies - run: npm ci - env: - npm_config_msvs_version: 2022 + run: | + # Use the standard VS 2022 path for GitHub Actions + $env:GYP_MSVS_VERSION = "2022" + npm ci - name: Compile Editor run: npm run compile From 1534317e27434734125304dd70d76e0e1429e737 Mon Sep 17 00:00:00 2001 From: mxzz <> Date: Mon, 6 Jul 2026 07:55:20 +0200 Subject: [PATCH 22/39] Update build.yml --- .github/workflows/build.yml | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index c4b4367693c1..8fba67cebd7d 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -13,6 +13,7 @@ jobs: runs-on: windows-latest env: GYP_MSVS_VERSION: 2022 + VCINSTALLDIR: "C:\Program Files\Microsoft Visual Studio\2022\Enterprise\VC" steps: - name: Checkout code @@ -30,10 +31,7 @@ jobs: cache: 'npm' - name: Install NPM dependencies - run: | - # Use the standard VS 2022 path for GitHub Actions - $env:GYP_MSVS_VERSION = "2022" - npm ci + run: npm ci - name: Compile Editor run: npm run compile From a2da5753d5db0b993e5c6331f7d7f0c0d8ddcad6 Mon Sep 17 00:00:00 2001 From: mxzz <> Date: Mon, 6 Jul 2026 07:58:13 +0200 Subject: [PATCH 23/39] Update build.yml --- .github/workflows/build.yml | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 8fba67cebd7d..80e51d054f00 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -12,13 +12,16 @@ jobs: name: Build on Windows runs-on: windows-latest env: - GYP_MSVS_VERSION: 2022 - VCINSTALLDIR: "C:\Program Files\Microsoft Visual Studio\2022\Enterprise\VC" + GYP_MSVS_VERSION: '2022' + VCINSTALLDIR: 'C:\Program Files\Microsoft Visual Studio\2022\Enterprise\VC' steps: - name: Checkout code uses: actions/checkout@v4 + - name: Setup Rust + uses: dtolnay/rust-toolchain@stable + - name: Build Rust CLI run: | cd cli @@ -55,4 +58,3 @@ jobs: with: name: binaries-windows path: artifacts/ - \ No newline at end of file From 596e00a6edea03cde1be54d038fc0d533ba20382 Mon Sep 17 00:00:00 2001 From: mxzz <> Date: Mon, 6 Jul 2026 08:25:34 +0200 Subject: [PATCH 24/39] Update build.yml --- .github/workflows/build.yml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 80e51d054f00..5f4d8f5c5493 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -13,12 +13,16 @@ jobs: runs-on: windows-latest env: GYP_MSVS_VERSION: '2022' + # Setting this helps node-gyp bypass its broken discovery logic VCINSTALLDIR: 'C:\Program Files\Microsoft Visual Studio\2022\Enterprise\VC' steps: - name: Checkout code uses: actions/checkout@v4 + - name: Setup MSVC Environment + uses: ilammy/msvc-dev-cmd@v1 + - name: Setup Rust uses: dtolnay/rust-toolchain@stable From 9a16f9c076c92c14f34f014d9655baa0aecc04fe Mon Sep 17 00:00:00 2001 From: mxzz <> Date: Mon, 6 Jul 2026 09:00:57 +0200 Subject: [PATCH 25/39] Update build.yml --- .github/workflows/build.yml | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 5f4d8f5c5493..7f78289fb825 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -13,33 +13,33 @@ jobs: runs-on: windows-latest env: GYP_MSVS_VERSION: '2022' - # Setting this helps node-gyp bypass its broken discovery logic + # This bypasses the node-gyp auto-discovery bug VCINSTALLDIR: 'C:\Program Files\Microsoft Visual Studio\2022\Enterprise\VC' steps: - name: Checkout code uses: actions/checkout@v4 - - name: Setup MSVC Environment - uses: ilammy/msvc-dev-cmd@v1 - - - name: Setup Rust - uses: dtolnay/rust-toolchain@stable - - - name: Build Rust CLI - run: | - cd cli - cargo build --release - - name: Setup Node.js uses: actions/setup-node@v4 with: node-version: '20' cache: 'npm' + - name: Configure NPM + run: npm config set msvs_version 2022 + - name: Install NPM dependencies run: npm ci + - name: Setup Rust + uses: dtolnay/rust-toolchain@stable + + - name: Build Rust CLI + run: | + cd cli + cargo build --release + - name: Compile Editor run: npm run compile From 320f4288b85e68c113e5fa4bea1fc73a1947b4ae Mon Sep 17 00:00:00 2001 From: mxzz <> Date: Mon, 6 Jul 2026 09:11:26 +0200 Subject: [PATCH 26/39] Update build.yml --- .github/workflows/build.yml | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 7f78289fb825..7ea06a195edd 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -13,6 +13,7 @@ jobs: runs-on: windows-latest env: GYP_MSVS_VERSION: '2022' + npm_config_msvs_version: '2022' # This bypasses the node-gyp auto-discovery bug VCINSTALLDIR: 'C:\Program Files\Microsoft Visual Studio\2022\Enterprise\VC' @@ -26,9 +27,6 @@ jobs: node-version: '20' cache: 'npm' - - name: Configure NPM - run: npm config set msvs_version 2022 - - name: Install NPM dependencies run: npm ci From 51d1d3b8e3c5a64e37beb2c3f03adcfe3d628b88 Mon Sep 17 00:00:00 2001 From: mxzz <> Date: Mon, 6 Jul 2026 09:19:39 +0200 Subject: [PATCH 27/39] Update build.yml --- .github/workflows/build.yml | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 7ea06a195edd..31dc9b2c45ed 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -12,10 +12,10 @@ jobs: name: Build on Windows runs-on: windows-latest env: - GYP_MSVS_VERSION: '2022' - npm_config_msvs_version: '2022' - # This bypasses the node-gyp auto-discovery bug - VCINSTALLDIR: 'C:\Program Files\Microsoft Visual Studio\2022\Enterprise\VC' + # windows-latest now ships VS 2026 (v18); node-gyp >= 12.1.0 (npm >= 11.6.3) is required + GYP_MSVS_VERSION: '2026' + npm_config_msvs_version: '2026' + VCINSTALLDIR: 'C:\Program Files\Microsoft Visual Studio\18\Enterprise\VC' steps: - name: Checkout code @@ -27,6 +27,9 @@ jobs: node-version: '20' cache: 'npm' + - name: Upgrade npm for VS 2026 / node-gyp compatibility + run: npm install -g npm@11.6.3 + - name: Install NPM dependencies run: npm ci From 18b28f1d278adcee7da2169a38bb330fb02137aa Mon Sep 17 00:00:00 2001 From: mxzz <> Date: Mon, 6 Jul 2026 09:25:46 +0200 Subject: [PATCH 28/39] Update build.yml --- .github/workflows/build.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 31dc9b2c45ed..13f5cebbcfd7 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -28,7 +28,8 @@ jobs: cache: 'npm' - name: Upgrade npm for VS 2026 / node-gyp compatibility - run: npm install -g npm@11.6.3 + # >= 11.6.3 bundles node-gyp with VS 2026 support; 11.6.3 crashes on overrides (npm/cli#8757) + run: npm install -g npm@11.6.4 - name: Install NPM dependencies run: npm ci From cefbc6f3b3fcfd059651160d484831a4f1dc4dd3 Mon Sep 17 00:00:00 2001 From: mxzz <> Date: Mon, 6 Jul 2026 09:41:47 +0200 Subject: [PATCH 29/39] testing pipeline --- build/npm/gyp/package-lock.json | 1316 ++++--------------------------- build/npm/gyp/package.json | 2 +- build/npm/preinstall.js | 2 +- 3 files changed, 135 insertions(+), 1185 deletions(-) diff --git a/build/npm/gyp/package-lock.json b/build/npm/gyp/package-lock.json index a20d85c70dca..1185eab41092 100644 --- a/build/npm/gyp/package-lock.json +++ b/build/npm/gyp/package-lock.json @@ -9,291 +9,40 @@ "version": "1.0.0", "license": "MIT", "devDependencies": { - "node-gyp": "^10.1.0" + "node-gyp": "^12.1.0" } }, - "node_modules/@isaacs/cliui": { - "version": "8.0.2", - "resolved": "https://registry.npmjs.org/@isaacs/cliui/-/cliui-8.0.2.tgz", - "integrity": "sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==", + "node_modules/@isaacs/fs-minipass": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/@isaacs/fs-minipass/-/fs-minipass-4.0.1.tgz", + "integrity": "sha512-wgm9Ehl2jpeqP3zw/7mo3kRHFp5MEDhqAdwy1fTGkHAwnkGOVsgpvQhL8B5n1qlb01jV3n/bI0ZfZp5lWA1k4w==", "dev": true, "license": "ISC", "dependencies": { - "string-width": "^5.1.2", - "string-width-cjs": "npm:string-width@^4.2.0", - "strip-ansi": "^7.0.1", - "strip-ansi-cjs": "npm:strip-ansi@^6.0.1", - "wrap-ansi": "^8.1.0", - "wrap-ansi-cjs": "npm:wrap-ansi@^7.0.0" + "minipass": "^7.0.4" }, "engines": { - "node": ">=12" - } - }, - "node_modules/@npmcli/agent": { - "version": "2.2.2", - "resolved": "https://registry.npmjs.org/@npmcli/agent/-/agent-2.2.2.tgz", - "integrity": "sha512-OrcNPXdpSl9UX7qPVRWbmWMCSXrcDa2M9DvrbOTj7ao1S4PlqVFYv9/yLKMkrJKZ/V5A/kDBC690or307i26Og==", - "dev": true, - "license": "ISC", - "dependencies": { - "agent-base": "^7.1.0", - "http-proxy-agent": "^7.0.0", - "https-proxy-agent": "^7.0.1", - "lru-cache": "^10.0.1", - "socks-proxy-agent": "^8.0.3" - }, - "engines": { - "node": "^16.14.0 || >=18.0.0" - } - }, - "node_modules/@npmcli/fs": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/@npmcli/fs/-/fs-3.1.1.tgz", - "integrity": "sha512-q9CRWjpHCMIh5sVyefoD1cA7PkvILqCZsnSOEUUivORLjxCO/Irmue2DprETiNgEqktDBZaM1Bi+jrarx1XdCg==", - "dev": true, - "license": "ISC", - "dependencies": { - "semver": "^7.3.5" - }, - "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" - } - }, - "node_modules/@pkgjs/parseargs": { - "version": "0.11.0", - "resolved": "https://registry.npmjs.org/@pkgjs/parseargs/-/parseargs-0.11.0.tgz", - "integrity": "sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==", - "dev": true, - "license": "MIT", - "optional": true, - "engines": { - "node": ">=14" + "node": ">=18.0.0" } }, "node_modules/abbrev": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-2.0.0.tgz", - "integrity": "sha512-6/mh1E2u2YgEsCHdY0Yx5oW+61gZU+1vXaoiHHrpKeuRNNgFvS+/jrwHiQhB5apAf5oB7UB7E19ol2R2LKH8hQ==", - "dev": true, - "license": "ISC", - "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" - } - }, - "node_modules/agent-base": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-7.1.1.tgz", - "integrity": "sha512-H0TSyFNDMomMNJQBn8wFV5YC/2eJ+VXECwOadZJT554xP6cODZHPX3H9QMQECxvrgiSOP1pHjy1sMWQVYJOUOA==", - "dev": true, - "license": "MIT", - "dependencies": { - "debug": "^4.3.4" - }, - "engines": { - "node": ">= 14" - } - }, - "node_modules/aggregate-error": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-3.1.0.tgz", - "integrity": "sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==", - "dev": true, - "license": "MIT", - "dependencies": { - "clean-stack": "^2.0.0", - "indent-string": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/ansi-regex": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz", - "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/ansi-regex?sponsor=1" - } - }, - "node_modules/ansi-styles": { - "version": "6.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz", - "integrity": "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/balanced-match": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", - "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", - "dev": true, - "license": "MIT" - }, - "node_modules/brace-expansion": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", - "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", - "dev": true, - "license": "MIT", - "dependencies": { - "balanced-match": "^1.0.0" - } - }, - "node_modules/cacache": { - "version": "18.0.3", - "resolved": "https://registry.npmjs.org/cacache/-/cacache-18.0.3.tgz", - "integrity": "sha512-qXCd4rh6I07cnDqh8V48/94Tc/WSfj+o3Gn6NZ0aZovS255bUx8O13uKxRFd2eWG0xgsco7+YItQNPaa5E85hg==", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-4.0.0.tgz", + "integrity": "sha512-a1wflyaL0tHtJSmLSOVybYhy22vRih4eduhhrkcjgrWGnRfrZtovJ2FRjxuTtkkj47O/baf0R86QU5OuYpz8fA==", "dev": true, "license": "ISC", - "dependencies": { - "@npmcli/fs": "^3.1.0", - "fs-minipass": "^3.0.0", - "glob": "^10.2.2", - "lru-cache": "^10.0.1", - "minipass": "^7.0.3", - "minipass-collect": "^2.0.1", - "minipass-flush": "^1.0.5", - "minipass-pipeline": "^1.2.4", - "p-map": "^4.0.0", - "ssri": "^10.0.0", - "tar": "^6.1.11", - "unique-filename": "^3.0.0" - }, "engines": { - "node": "^16.14.0 || >=18.0.0" + "node": "^20.17.0 || >=22.9.0" } }, "node_modules/chownr": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/chownr/-/chownr-2.0.0.tgz", - "integrity": "sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==", - "dev": true, - "license": "ISC", - "engines": { - "node": ">=10" - } - }, - "node_modules/clean-stack": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-2.2.0.tgz", - "integrity": "sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6" - } - }, - "node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true, - "license": "MIT" - }, - "node_modules/cross-spawn": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", - "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", - "dev": true, - "license": "MIT", - "dependencies": { - "path-key": "^3.1.0", - "shebang-command": "^2.0.0", - "which": "^2.0.1" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/cross-spawn/node_modules/isexe": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", - "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", - "dev": true, - "license": "ISC" - }, - "node_modules/cross-spawn/node_modules/which": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", - "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", - "dev": true, - "license": "ISC", - "dependencies": { - "isexe": "^2.0.0" - }, - "bin": { - "node-which": "bin/node-which" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/debug": { - "version": "4.3.5", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.5.tgz", - "integrity": "sha512-pt0bNEmneDIvdL1Xsd9oDQ/wrQRkXDT4AUWlNZNPKvW5x/jyO9VFXkJUP07vQ2upmw5PlaITaPKc31jK13V+jg==", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/chownr/-/chownr-3.0.0.tgz", + "integrity": "sha512-+IxzY9BZOQd/XuYPRmrvEVjF/nqj5kgT4kEq7VofrDoM1MxoRjEWkrCC3EtLi59TVawxTAn+orJwFQcrqEN1+g==", "dev": true, - "license": "MIT", - "dependencies": { - "ms": "2.1.2" - }, + "license": "BlueOak-1.0.0", "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } - } - }, - "node_modules/eastasianwidth": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz", - "integrity": "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==", - "dev": true, - "license": "MIT" - }, - "node_modules/emoji-regex": { - "version": "9.2.2", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz", - "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==", - "dev": true, - "license": "MIT" - }, - "node_modules/encoding": { - "version": "0.1.13", - "resolved": "https://registry.npmjs.org/encoding/-/encoding-0.1.13.tgz", - "integrity": "sha512-ETBauow1T35Y/WZMkio9jiM0Z5xjHHmJ4XmjZOq1l/dXz3lr2sRn87nJy20RupqSh1F2m3HHPSp8ShIPQJrJ3A==", - "dev": true, - "license": "MIT", - "optional": true, - "dependencies": { - "iconv-lite": "^0.6.2" + "node": ">=18" } }, "node_modules/env-paths": { @@ -306,13 +55,6 @@ "node": ">=6" } }, - "node_modules/err-code": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/err-code/-/err-code-2.0.3.tgz", - "integrity": "sha512-2bmlRpNKBxT/CRmPOlyISQpNj+qSeYvcym/uT0Jx2bMOlKLtSy1ZmLuVxSEKKyor/N5yhvp/ZiG1oE3DEYMSFA==", - "dev": true, - "license": "MIT" - }, "node_modules/exponential-backoff": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/exponential-backoff/-/exponential-backoff-3.1.1.tgz", @@ -320,58 +62,22 @@ "dev": true, "license": "Apache-2.0" }, - "node_modules/foreground-child": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-3.2.1.tgz", - "integrity": "sha512-PXUUyLqrR2XCWICfv6ukppP96sdFwWbNEnfEMt7jNsISjMsvaLNinAHNDYyvkyU+SZG2BTSbT5NjG+vZslfGTA==", + "node_modules/fdir": { + "version": "6.5.0", + "resolved": "https://registry.npmjs.org/fdir/-/fdir-6.5.0.tgz", + "integrity": "sha512-tIbYtZbucOs0BRGqPJkshJUYdL+SDH7dVM8gjy+ERp3WAUjLEFJE+02kanyHtwjWOnwrKYBiwAmM0p4kLJAnXg==", "dev": true, - "license": "ISC", - "dependencies": { - "cross-spawn": "^7.0.0", - "signal-exit": "^4.0.1" - }, - "engines": { - "node": ">=14" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/fs-minipass": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-3.0.3.tgz", - "integrity": "sha512-XUBA9XClHbnJWSfBzjkm6RvPsyg3sryZt06BEQoXcF7EK/xpGaQYJgQKDJSUH5SGZ76Y7pFx1QBnXz09rU5Fbw==", - "dev": true, - "license": "ISC", - "dependencies": { - "minipass": "^7.0.3" - }, + "license": "MIT", "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" - } - }, - "node_modules/glob": { - "version": "10.4.2", - "resolved": "https://registry.npmjs.org/glob/-/glob-10.4.2.tgz", - "integrity": "sha512-GwMlUF6PkPo3Gk21UxkCohOv0PLcIXVtKyLlpEI28R/cO/4eNOdmLk3CMW1wROV/WR/EsZOWAfBbBOqYvs88/w==", - "dev": true, - "license": "ISC", - "dependencies": { - "foreground-child": "^3.1.0", - "jackspeak": "^3.1.2", - "minimatch": "^9.0.4", - "minipass": "^7.1.2", - "package-json-from-dist": "^1.0.0", - "path-scurry": "^1.11.1" - }, - "bin": { - "glob": "dist/esm/bin.mjs" + "node": ">=12.0.0" }, - "engines": { - "node": ">=16 || 14 >=14.18" + "peerDependencies": { + "picomatch": "^3 || ^4" }, - "funding": { - "url": "https://github.com/sponsors/isaacs" + "peerDependenciesMeta": { + "picomatch": { + "optional": true + } } }, "node_modules/graceful-fs": { @@ -381,941 +87,185 @@ "dev": true, "license": "ISC" }, - "node_modules/http-cache-semantics": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-4.1.1.tgz", - "integrity": "sha512-er295DKPVsV82j5kw1Gjt+ADA/XYHsajl82cGNQG2eyoPkvgUhX+nDIyelzhIWbbsXP39EHcI6l5tYs2FYqYXQ==", - "dev": true, - "license": "BSD-2-Clause" - }, - "node_modules/http-proxy-agent": { - "version": "7.0.2", - "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-7.0.2.tgz", - "integrity": "sha512-T1gkAiYYDWYx3V5Bmyu7HcfcvL7mUrTWiM6yOfa3PIphViJ/gFPbvidQ+veqSOHci/PxBcDabeUNCzpOODJZig==", + "node_modules/isexe": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-4.0.0.tgz", + "integrity": "sha512-FFUtZMpoZ8RqHS3XeXEmHWLA4thH+ZxCv2lOiPIn1Xc7CxrqhWzNSDzD+/chS/zbYezmiwWLdQC09JdQKmthOw==", "dev": true, - "license": "MIT", - "dependencies": { - "agent-base": "^7.1.0", - "debug": "^4.3.4" - }, + "license": "BlueOak-1.0.0", "engines": { - "node": ">= 14" + "node": ">=20" } }, - "node_modules/https-proxy-agent": { - "version": "7.0.5", - "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-7.0.5.tgz", - "integrity": "sha512-1e4Wqeblerz+tMKPIq2EMGiiWW1dIjZOksyHWSUm1rmuvw/how9hBHZ38lAGj5ID4Ik6EdkOw7NmWPy6LAwalw==", + "node_modules/minipass": { + "version": "7.1.3", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.1.3.tgz", + "integrity": "sha512-tEBHqDnIoM/1rXME1zgka9g6Q2lcoCkxHLuc7ODJ5BxbP5d4c2Z5cGgtXAku59200Cx7diuHTOYfSBD8n6mm8A==", "dev": true, - "license": "MIT", - "dependencies": { - "agent-base": "^7.0.2", - "debug": "4" - }, + "license": "BlueOak-1.0.0", "engines": { - "node": ">= 14" + "node": ">=16 || 14 >=14.17" } }, - "node_modules/iconv-lite": { - "version": "0.6.3", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", - "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", + "node_modules/minizlib": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-3.1.0.tgz", + "integrity": "sha512-KZxYo1BUkWD2TVFLr0MQoM8vUUigWD3LlD83a/75BqC+4qE0Hb1Vo5v1FgcfaNXvfXzr+5EhQ6ing/CaBijTlw==", "dev": true, "license": "MIT", - "optional": true, "dependencies": { - "safer-buffer": ">= 2.1.2 < 3.0.0" + "minipass": "^7.1.2" }, "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/imurmurhash": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", - "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.8.19" - } - }, - "node_modules/indent-string": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz", - "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" + "node": ">= 18" } }, - "node_modules/ip-address": { - "version": "9.0.5", - "resolved": "https://registry.npmjs.org/ip-address/-/ip-address-9.0.5.tgz", - "integrity": "sha512-zHtQzGojZXTwZTHQqra+ETKd4Sn3vgi7uBmlPoXVWZqYvuKmtI0l/VZTjqGmJY9x88GGOaZ9+G9ES8hC4T4X8g==", + "node_modules/node-gyp": { + "version": "12.4.0", + "resolved": "https://registry.npmjs.org/node-gyp/-/node-gyp-12.4.0.tgz", + "integrity": "sha512-OMcPNvqTCFUnNaBlmdgq+lfNqY7gTiSmNRDjY3uAXRyudeKZEZxu3CLtjMQrx4zZxCX2b/mpNqTtwuCJgXhHkw==", "dev": true, "license": "MIT", "dependencies": { - "jsbn": "1.1.0", - "sprintf-js": "^1.1.3" + "env-paths": "^2.2.0", + "exponential-backoff": "^3.1.1", + "graceful-fs": "^4.2.6", + "nopt": "^9.0.0", + "proc-log": "^6.0.0", + "semver": "^7.3.5", + "tar": "^7.5.4", + "tinyglobby": "^0.2.12", + "undici": "^6.25.0", + "which": "^6.0.0" + }, + "bin": { + "node-gyp": "bin/node-gyp.js" }, "engines": { - "node": ">= 12" - } - }, - "node_modules/is-fullwidth-code-point": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", - "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" + "node": "^20.17.0 || >=22.9.0" } }, - "node_modules/is-lambda": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-lambda/-/is-lambda-1.0.1.tgz", - "integrity": "sha512-z7CMFGNrENq5iFB9Bqo64Xk6Y9sg+epq1myIcdHaGnbMTYOxvzsEtdYqQUylB7LxfkvgrrjP32T6Ywciio9UIQ==", - "dev": true, - "license": "MIT" - }, - "node_modules/isexe": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/isexe/-/isexe-3.1.1.tgz", - "integrity": "sha512-LpB/54B+/2J5hqQ7imZHfdU31OlgQqx7ZicVlkm9kzg9/w8GKLEcFfJl/t7DCEDueOyBAD6zCCwTO6Fzs0NoEQ==", + "node_modules/nopt": { + "version": "9.0.0", + "resolved": "https://registry.npmjs.org/nopt/-/nopt-9.0.0.tgz", + "integrity": "sha512-Zhq3a+yFKrYwSBluL4H9XP3m3y5uvQkB/09CwDruCiRmR/UJYnn9W4R48ry0uGC70aeTPKLynBtscP9efFFcPw==", "dev": true, "license": "ISC", - "engines": { - "node": ">=16" - } - }, - "node_modules/jackspeak": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-3.4.0.tgz", - "integrity": "sha512-JVYhQnN59LVPFCEcVa2C3CrEKYacvjRfqIQl+h8oi91aLYQVWRYbxjPcv1bUiUy/kLmQaANrYfNMCO3kuEDHfw==", - "dev": true, - "license": "BlueOak-1.0.0", "dependencies": { - "@isaacs/cliui": "^8.0.2" - }, - "engines": { - "node": ">=14" + "abbrev": "^4.0.0" }, - "funding": { - "url": "https://github.com/sponsors/isaacs" + "bin": { + "nopt": "bin/nopt.js" }, - "optionalDependencies": { - "@pkgjs/parseargs": "^0.11.0" - } - }, - "node_modules/jsbn": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-1.1.0.tgz", - "integrity": "sha512-4bYVV3aAMtDTTu4+xsDYa6sy9GyJ69/amsu9sYF2zqjiEoZA5xJi3BrfX3uY+/IekIu7MwdObdbDWpoZdBv3/A==", - "dev": true, - "license": "MIT" - }, - "node_modules/lru-cache": { - "version": "10.3.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.3.0.tgz", - "integrity": "sha512-CQl19J/g+Hbjbv4Y3mFNNXFEL/5t/KCg8POCuUqd4rMKjGG+j1ybER83hxV58zL+dFI1PTkt3GNFSHRt+d8qEQ==", - "dev": true, - "license": "ISC", "engines": { - "node": "14 || >=16.14" + "node": "^20.17.0 || >=22.9.0" } }, - "node_modules/make-fetch-happen": { - "version": "13.0.1", - "resolved": "https://registry.npmjs.org/make-fetch-happen/-/make-fetch-happen-13.0.1.tgz", - "integrity": "sha512-cKTUFc/rbKUd/9meOvgrpJ2WrNzymt6jfRDdwg5UCnVzv9dTpEj9JS5m3wtziXVCjluIXyL8pcaukYqezIzZQA==", + "node_modules/picomatch": { + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.5.tgz", + "integrity": "sha512-RvwwcruNjI1ncT5xRakeyS9Lf8lcItv34KD+aif+VH9kduAyfYBipGh12274xtenIPZ119/R9BdTBa8gAwSh0A==", "dev": true, - "license": "ISC", - "dependencies": { - "@npmcli/agent": "^2.0.0", - "cacache": "^18.0.0", - "http-cache-semantics": "^4.1.1", - "is-lambda": "^1.0.1", - "minipass": "^7.0.2", - "minipass-fetch": "^3.0.0", - "minipass-flush": "^1.0.5", - "minipass-pipeline": "^1.2.4", - "negotiator": "^0.6.3", - "proc-log": "^4.2.0", - "promise-retry": "^2.0.1", - "ssri": "^10.0.0" - }, + "license": "MIT", "engines": { - "node": "^16.14.0 || >=18.0.0" + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" } }, - "node_modules/make-fetch-happen/node_modules/proc-log": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/proc-log/-/proc-log-4.2.0.tgz", - "integrity": "sha512-g8+OnU/L2v+wyiVK+D5fA34J7EH8jZ8DDlvwhRCMxmMj7UCBvxiO1mGeN+36JXIKF4zevU4kRBd8lVgG9vLelA==", + "node_modules/proc-log": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/proc-log/-/proc-log-6.1.0.tgz", + "integrity": "sha512-iG+GYldRf2BQ0UDUAd6JQ/RwzaQy6mXmsk/IzlYyal4A4SNFw54MeH4/tLkF4I5WoWG9SQwuqWzS99jaFQHBuQ==", "dev": true, "license": "ISC", "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + "node": "^20.17.0 || >=22.9.0" } }, - "node_modules/minimatch": { - "version": "9.0.5", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz", - "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==", + "node_modules/semver": { + "version": "7.8.5", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.8.5.tgz", + "integrity": "sha512-Y7/KDsb8LjooZpwaqGyulO6DQlksgCncchHGk+sZIY4SBvUocMBEFH5Ur1fI4dV+Jvl0w6cjvucaIi40puRioA==", "dev": true, "license": "ISC", - "dependencies": { - "brace-expansion": "^2.0.1" - }, - "engines": { - "node": ">=16 || 14 >=14.17" + "bin": { + "semver": "bin/semver.js" }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/minipass": { - "version": "7.1.2", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.1.2.tgz", - "integrity": "sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==", - "dev": true, - "license": "ISC", "engines": { - "node": ">=16 || 14 >=14.17" + "node": ">=10" } }, - "node_modules/minipass-collect": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/minipass-collect/-/minipass-collect-2.0.1.tgz", - "integrity": "sha512-D7V8PO9oaz7PWGLbCACuI1qEOsq7UKfLotx/C0Aet43fCUB/wfQ7DYeq2oR/svFJGYDHPr38SHATeaj/ZoKHKw==", + "node_modules/tar": { + "version": "7.5.19", + "resolved": "https://registry.npmjs.org/tar/-/tar-7.5.19.tgz", + "integrity": "sha512-4LeEWl96twnS2Q7Bz4MGqgazLqO+hJN63GZxXoIqh1T3VweYD997gbU1ItNsQafqqXTXd5WFyFdReLtwvRBNiw==", "dev": true, - "license": "ISC", + "license": "BlueOak-1.0.0", "dependencies": { - "minipass": "^7.0.3" + "@isaacs/fs-minipass": "^4.0.0", + "chownr": "^3.0.0", + "minipass": "^7.1.2", + "minizlib": "^3.1.0", + "yallist": "^5.0.0" }, "engines": { - "node": ">=16 || 14 >=14.17" + "node": ">=18" } }, - "node_modules/minipass-fetch": { - "version": "3.0.5", - "resolved": "https://registry.npmjs.org/minipass-fetch/-/minipass-fetch-3.0.5.tgz", - "integrity": "sha512-2N8elDQAtSnFV0Dk7gt15KHsS0Fyz6CbYZ360h0WTYV1Ty46li3rAXVOQj1THMNLdmrD9Vt5pBPtWtVkpwGBqg==", + "node_modules/tinyglobby": { + "version": "0.2.17", + "resolved": "https://registry.npmjs.org/tinyglobby/-/tinyglobby-0.2.17.tgz", + "integrity": "sha512-wXR/dYpcqKmfWpEdZjiKJOwCNFndD0DMnrW/cYjVGttEkBfVgcLFHoNrlj47mjOVic9yyNu65alsgF4NQyTa2g==", "dev": true, "license": "MIT", "dependencies": { - "minipass": "^7.0.3", - "minipass-sized": "^1.0.3", - "minizlib": "^2.1.2" + "fdir": "^6.5.0", + "picomatch": "^4.0.4" }, "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + "node": ">=12.0.0" }, - "optionalDependencies": { - "encoding": "^0.1.13" + "funding": { + "url": "https://github.com/sponsors/SuperchupuDev" } }, - "node_modules/minipass-flush": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/minipass-flush/-/minipass-flush-1.0.5.tgz", - "integrity": "sha512-JmQSYYpPUqX5Jyn1mXaRwOda1uQ8HP5KAT/oDSLCzt1BYRhQU0/hDtsB1ufZfEEzMZ9aAVmsBw8+FWsIXlClWw==", + "node_modules/undici": { + "version": "6.27.0", + "resolved": "https://registry.npmjs.org/undici/-/undici-6.27.0.tgz", + "integrity": "sha512-YmfV3YnEDzXRC5lZ2jWtWWHKGUm1zIt8AhesR1tens+HTNv+YZlN/dp6G727LOvMJ8xjP9Be7Y2Sdr96LDm+pg==", "dev": true, - "license": "ISC", - "dependencies": { - "minipass": "^3.0.0" - }, + "license": "MIT", "engines": { - "node": ">= 8" + "node": ">=18.17" } }, - "node_modules/minipass-flush/node_modules/minipass": { - "version": "3.3.6", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz", - "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==", + "node_modules/which": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/which/-/which-6.0.1.tgz", + "integrity": "sha512-oGLe46MIrCRqX7ytPUf66EAYvdeMIZYn3WaocqqKZAxrBpkqHfL/qvTyJ/bTk5+AqHCjXmrv3CEWgy368zhRUg==", "dev": true, "license": "ISC", "dependencies": { - "yallist": "^4.0.0" + "isexe": "^4.0.0" + }, + "bin": { + "node-which": "bin/which.js" }, "engines": { - "node": ">=8" + "node": "^20.17.0 || >=22.9.0" } }, - "node_modules/minipass-pipeline": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/minipass-pipeline/-/minipass-pipeline-1.2.4.tgz", - "integrity": "sha512-xuIq7cIOt09RPRJ19gdi4b+RiNvDFYe5JH+ggNvBqGqpQXcru3PcRmOZuHBKWK1Txf9+cQ+HMVN4d6z46LZP7A==", - "dev": true, - "license": "ISC", - "dependencies": { - "minipass": "^3.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/minipass-pipeline/node_modules/minipass": { - "version": "3.3.6", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz", - "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==", - "dev": true, - "license": "ISC", - "dependencies": { - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/minipass-sized": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/minipass-sized/-/minipass-sized-1.0.3.tgz", - "integrity": "sha512-MbkQQ2CTiBMlA2Dm/5cY+9SWFEN8pzzOXi6rlM5Xxq0Yqbda5ZQy9sU75a673FE9ZK0Zsbr6Y5iP6u9nktfg2g==", - "dev": true, - "license": "ISC", - "dependencies": { - "minipass": "^3.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/minipass-sized/node_modules/minipass": { - "version": "3.3.6", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz", - "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==", - "dev": true, - "license": "ISC", - "dependencies": { - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/minizlib": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-2.1.2.tgz", - "integrity": "sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg==", - "dev": true, - "license": "MIT", - "dependencies": { - "minipass": "^3.0.0", - "yallist": "^4.0.0" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/minizlib/node_modules/minipass": { - "version": "3.3.6", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz", - "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==", - "dev": true, - "license": "ISC", - "dependencies": { - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/mkdirp": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", - "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", - "dev": true, - "license": "MIT", - "bin": { - "mkdirp": "bin/cmd.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", - "dev": true, - "license": "MIT" - }, - "node_modules/negotiator": { - "version": "0.6.3", - "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz", - "integrity": "sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/node-gyp": { - "version": "10.1.0", - "resolved": "https://registry.npmjs.org/node-gyp/-/node-gyp-10.1.0.tgz", - "integrity": "sha512-B4J5M1cABxPc5PwfjhbV5hoy2DP9p8lFXASnEN6hugXOa61416tnTZ29x9sSwAd0o99XNIcpvDDy1swAExsVKA==", - "dev": true, - "license": "MIT", - "dependencies": { - "env-paths": "^2.2.0", - "exponential-backoff": "^3.1.1", - "glob": "^10.3.10", - "graceful-fs": "^4.2.6", - "make-fetch-happen": "^13.0.0", - "nopt": "^7.0.0", - "proc-log": "^3.0.0", - "semver": "^7.3.5", - "tar": "^6.1.2", - "which": "^4.0.0" - }, - "bin": { - "node-gyp": "bin/node-gyp.js" - }, - "engines": { - "node": "^16.14.0 || >=18.0.0" - } - }, - "node_modules/nopt": { - "version": "7.2.1", - "resolved": "https://registry.npmjs.org/nopt/-/nopt-7.2.1.tgz", - "integrity": "sha512-taM24ViiimT/XntxbPyJQzCG+p4EKOpgD3mxFwW38mGjVUrfERQOeY4EDHjdnptttfHuHQXFx+lTP08Q+mLa/w==", - "dev": true, - "license": "ISC", - "dependencies": { - "abbrev": "^2.0.0" - }, - "bin": { - "nopt": "bin/nopt.js" - }, - "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" - } - }, - "node_modules/p-map": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/p-map/-/p-map-4.0.0.tgz", - "integrity": "sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "aggregate-error": "^3.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/package-json-from-dist": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/package-json-from-dist/-/package-json-from-dist-1.0.0.tgz", - "integrity": "sha512-dATvCeZN/8wQsGywez1mzHtTlP22H8OEfPrVMLNr4/eGa+ijtLn/6M5f0dY8UKNrC2O9UCU6SSoG3qRKnt7STw==", - "dev": true, - "license": "BlueOak-1.0.0" - }, - "node_modules/path-key": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", - "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/path-scurry": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-1.11.1.tgz", - "integrity": "sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA==", + "node_modules/yallist": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-5.0.0.tgz", + "integrity": "sha512-YgvUTfwqyc7UXVMrB+SImsVYSmTS8X/tSrtdNZMImM+n7+QTriRXyXim0mBrTXNeqzVF0KWGgHPeiyViFFrNDw==", "dev": true, "license": "BlueOak-1.0.0", - "dependencies": { - "lru-cache": "^10.2.0", - "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0" - }, - "engines": { - "node": ">=16 || 14 >=14.18" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/proc-log": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/proc-log/-/proc-log-3.0.0.tgz", - "integrity": "sha512-++Vn7NS4Xf9NacaU9Xq3URUuqZETPsf8L4j5/ckhaRYsfPeRyzGw+iDjFhV/Jr3uNmTvvddEJFWh5R1gRgUH8A==", - "dev": true, - "license": "ISC", - "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" - } - }, - "node_modules/promise-retry": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/promise-retry/-/promise-retry-2.0.1.tgz", - "integrity": "sha512-y+WKFlBR8BGXnsNlIHFGPZmyDf3DFMoLhaflAnyZgV6rG6xu+JwesTo2Q9R6XwYmtmwAFCkAk3e35jEdoeh/3g==", - "dev": true, - "license": "MIT", - "dependencies": { - "err-code": "^2.0.2", - "retry": "^0.12.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/retry": { - "version": "0.12.0", - "resolved": "https://registry.npmjs.org/retry/-/retry-0.12.0.tgz", - "integrity": "sha512-9LkiTwjUh6rT555DtE9rTX+BKByPfrMzEAtnlEtdEwr3Nkffwiihqe2bWADg+OQRjt9gl6ICdmB/ZFDCGAtSow==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 4" - } - }, - "node_modules/safer-buffer": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", - "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", - "dev": true, - "license": "MIT", - "optional": true - }, - "node_modules/semver": { - "version": "7.5.4", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", - "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", - "dev": true, - "license": "ISC", - "dependencies": { - "lru-cache": "^6.0.0" - }, - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/semver/node_modules/lru-cache": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", - "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", - "dev": true, - "license": "ISC", - "dependencies": { - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/shebang-command": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", - "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", - "dev": true, - "license": "MIT", - "dependencies": { - "shebang-regex": "^3.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/shebang-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", - "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/signal-exit": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz", - "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==", - "dev": true, - "license": "ISC", "engines": { - "node": ">=14" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" + "node": ">=18" } - }, - "node_modules/smart-buffer": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/smart-buffer/-/smart-buffer-4.2.0.tgz", - "integrity": "sha512-94hK0Hh8rPqQl2xXc3HsaBoOXKV20MToPkcXvwbISWLEs+64sBq5kFgn2kJDHb1Pry9yrP0dxrCI9RRci7RXKg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 6.0.0", - "npm": ">= 3.0.0" - } - }, - "node_modules/socks": { - "version": "2.8.3", - "resolved": "https://registry.npmjs.org/socks/-/socks-2.8.3.tgz", - "integrity": "sha512-l5x7VUUWbjVFbafGLxPWkYsHIhEvmF85tbIeFZWc8ZPtoMyybuEhL7Jye/ooC4/d48FgOjSJXgsF/AJPYCW8Zw==", - "dev": true, - "license": "MIT", - "dependencies": { - "ip-address": "^9.0.5", - "smart-buffer": "^4.2.0" - }, - "engines": { - "node": ">= 10.0.0", - "npm": ">= 3.0.0" - } - }, - "node_modules/socks-proxy-agent": { - "version": "8.0.4", - "resolved": "https://registry.npmjs.org/socks-proxy-agent/-/socks-proxy-agent-8.0.4.tgz", - "integrity": "sha512-GNAq/eg8Udq2x0eNiFkr9gRg5bA7PXEWagQdeRX4cPSG+X/8V38v637gim9bjFptMk1QWsCTr0ttrJEiXbNnRw==", - "dev": true, - "license": "MIT", - "dependencies": { - "agent-base": "^7.1.1", - "debug": "^4.3.4", - "socks": "^2.8.3" - }, - "engines": { - "node": ">= 14" - } - }, - "node_modules/sprintf-js": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.1.3.tgz", - "integrity": "sha512-Oo+0REFV59/rz3gfJNKQiBlwfHaSESl1pcGyABQsnnIfWOFt6JNj5gCog2U6MLZ//IGYD+nA8nI+mTShREReaA==", - "dev": true, - "license": "BSD-3-Clause" - }, - "node_modules/ssri": { - "version": "10.0.6", - "resolved": "https://registry.npmjs.org/ssri/-/ssri-10.0.6.tgz", - "integrity": "sha512-MGrFH9Z4NP9Iyhqn16sDtBpRRNJ0Y2hNa6D65h736fVSaPCHr4DM4sWUNvVaSuC+0OBGhwsrydQwmgfg5LncqQ==", - "dev": true, - "license": "ISC", - "dependencies": { - "minipass": "^7.0.3" - }, - "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" - } - }, - "node_modules/string-width": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz", - "integrity": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==", - "dev": true, - "license": "MIT", - "dependencies": { - "eastasianwidth": "^0.2.0", - "emoji-regex": "^9.2.2", - "strip-ansi": "^7.0.1" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/string-width-cjs": { - "name": "string-width", - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", - "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", - "dev": true, - "license": "MIT", - "dependencies": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/string-width-cjs/node_modules/ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/string-width-cjs/node_modules/emoji-regex": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", - "dev": true, - "license": "MIT" - }, - "node_modules/string-width-cjs/node_modules/strip-ansi": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", - "dev": true, - "license": "MIT", - "dependencies": { - "ansi-regex": "^5.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/strip-ansi": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", - "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "ansi-regex": "^6.0.1" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/strip-ansi?sponsor=1" - } - }, - "node_modules/strip-ansi-cjs": { - "name": "strip-ansi", - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", - "dev": true, - "license": "MIT", - "dependencies": { - "ansi-regex": "^5.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/strip-ansi-cjs/node_modules/ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/tar": { - "version": "6.2.1", - "resolved": "https://registry.npmjs.org/tar/-/tar-6.2.1.tgz", - "integrity": "sha512-DZ4yORTwrbTj/7MZYq2w+/ZFdI6OZ/f9SFHR+71gIVUZhOQPHzVCLpvRnPgyaMpfWxxk/4ONva3GQSyNIKRv6A==", - "dev": true, - "license": "ISC", - "dependencies": { - "chownr": "^2.0.0", - "fs-minipass": "^2.0.0", - "minipass": "^5.0.0", - "minizlib": "^2.1.1", - "mkdirp": "^1.0.3", - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/tar/node_modules/fs-minipass": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-2.1.0.tgz", - "integrity": "sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==", - "dev": true, - "license": "ISC", - "dependencies": { - "minipass": "^3.0.0" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/tar/node_modules/fs-minipass/node_modules/minipass": { - "version": "3.3.6", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz", - "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==", - "dev": true, - "license": "ISC", - "dependencies": { - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/tar/node_modules/minipass": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-5.0.0.tgz", - "integrity": "sha512-3FnjYuehv9k6ovOEbyOswadCDPX1piCfhV8ncmYtHOjuPwylVWsghTLo7rabjC3Rx5xD4HDx8Wm1xnMF7S5qFQ==", - "dev": true, - "license": "ISC", - "engines": { - "node": ">=8" - } - }, - "node_modules/unique-filename": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/unique-filename/-/unique-filename-3.0.0.tgz", - "integrity": "sha512-afXhuC55wkAmZ0P18QsVE6kp8JaxrEokN2HGIoIVv2ijHQd419H0+6EigAFcIzXeMIkcIkNBpB3L/DXB3cTS/g==", - "dev": true, - "license": "ISC", - "dependencies": { - "unique-slug": "^4.0.0" - }, - "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" - } - }, - "node_modules/unique-slug": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/unique-slug/-/unique-slug-4.0.0.tgz", - "integrity": "sha512-WrcA6AyEfqDX5bWige/4NQfPZMtASNVxdmWR76WESYQVAACSgWcR6e9i0mofqqBxYFtL4oAxPIptY73/0YE1DQ==", - "dev": true, - "license": "ISC", - "dependencies": { - "imurmurhash": "^0.1.4" - }, - "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" - } - }, - "node_modules/which": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/which/-/which-4.0.0.tgz", - "integrity": "sha512-GlaYyEb07DPxYCKhKzplCWBJtvxZcZMrL+4UkrTSJHHPyZU4mYYTv3qaOe77H7EODLSSopAUFAc6W8U4yqvscg==", - "dev": true, - "license": "ISC", - "dependencies": { - "isexe": "^3.1.1" - }, - "bin": { - "node-which": "bin/which.js" - }, - "engines": { - "node": "^16.13.0 || >=18.0.0" - } - }, - "node_modules/wrap-ansi": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-8.1.0.tgz", - "integrity": "sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "ansi-styles": "^6.1.0", - "string-width": "^5.0.1", - "strip-ansi": "^7.0.1" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/wrap-ansi?sponsor=1" - } - }, - "node_modules/wrap-ansi-cjs": { - "name": "wrap-ansi", - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", - "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", - "dev": true, - "license": "MIT", - "dependencies": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/wrap-ansi?sponsor=1" - } - }, - "node_modules/wrap-ansi-cjs/node_modules/ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/wrap-ansi-cjs/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "license": "MIT", - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/wrap-ansi-cjs/node_modules/emoji-regex": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", - "dev": true, - "license": "MIT" - }, - "node_modules/wrap-ansi-cjs/node_modules/string-width": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", - "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", - "dev": true, - "license": "MIT", - "dependencies": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/wrap-ansi-cjs/node_modules/strip-ansi": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", - "dev": true, - "license": "MIT", - "dependencies": { - "ansi-regex": "^5.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", - "dev": true, - "license": "ISC" } } } diff --git a/build/npm/gyp/package.json b/build/npm/gyp/package.json index a1564133a1ee..1b869649d321 100644 --- a/build/npm/gyp/package.json +++ b/build/npm/gyp/package.json @@ -4,7 +4,7 @@ "private": true, "license": "MIT", "devDependencies": { - "node-gyp": "^10.1.0" + "node-gyp": "^12.1.0" }, "scripts": {} } diff --git a/build/npm/preinstall.js b/build/npm/preinstall.js index 41a17b016767..3b9702d27819 100644 --- a/build/npm/preinstall.js +++ b/build/npm/preinstall.js @@ -43,7 +43,7 @@ function hasSupportedVisualStudioVersion() { const path = require('path'); // Translated over from // https://source.chromium.org/chromium/chromium/src/+/master:build/vs_toolchain.py;l=140-175 - const supportedVersions = ['2022', '2019', '2017']; + const supportedVersions = ['18', '2022', '2019', '2017']; const availableVersions = []; for (const version of supportedVersions) { From ec93249048cca4f084ee854c981483ad84e765f6 Mon Sep 17 00:00:00 2001 From: mxzz <> Date: Mon, 6 Jul 2026 10:36:21 +0200 Subject: [PATCH 30/39] Update build.yml --- .github/workflows/build.yml | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 13f5cebbcfd7..e3207a546a8b 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -36,10 +36,20 @@ jobs: - name: Setup Rust uses: dtolnay/rust-toolchain@stable + with: + targets: x86_64-pc-windows-msvc - name: Build Rust CLI + shell: pwsh run: | - cd cli + # Git for Windows ships a Unix `link.exe` that shadows MSVC's linker on PATH. + Remove-Item 'C:\Program Files\Git\usr\bin\link.exe' -Force -ErrorAction SilentlyContinue + + $vsPath = & "${env:ProgramFiles(x86)}\Microsoft Visual Studio\Installer\vswhere.exe" -latest -property installationPath + Import-Module "$vsPath\Common7\Tools\Microsoft.VisualStudio.DevShell.dll" + Enter-VsDevShell -VsInstallPath $vsPath -SkipAutomaticLocation -DevCmdArguments '-arch=amd64' + + Set-Location cli cargo build --release - name: Compile Editor From 29762aeeba506167b04a8d13f9dea7f583e7aeac Mon Sep 17 00:00:00 2001 From: mxzz <> Date: Mon, 6 Jul 2026 11:20:41 +0200 Subject: [PATCH 31/39] pipeline testing --- .github/workflows/build.yml | 5 +++++ .../contrib/void/browser/voidSelectionHelperWidget.ts | 2 +- 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index e3207a546a8b..9519d89c1c26 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -52,6 +52,11 @@ jobs: Set-Location cli cargo build --release + - name: Build Void React bundles + run: npm run buildreact + env: + NODE_OPTIONS: --max-old-space-size=8192 + - name: Compile Editor run: npm run compile diff --git a/src/vs/workbench/contrib/void/browser/voidSelectionHelperWidget.ts b/src/vs/workbench/contrib/void/browser/voidSelectionHelperWidget.ts index cb26f9b7e37b..105bcae9f127 100644 --- a/src/vs/workbench/contrib/void/browser/voidSelectionHelperWidget.ts +++ b/src/vs/workbench/contrib/void/browser/voidSelectionHelperWidget.ts @@ -69,7 +69,7 @@ export class SelectionHelperContribution extends Disposable implements IEditorCo this._reactComponentDisposable = res; this._rerender = res.rerender; - this._register(this._reactComponentDisposable); + this._register(res); }); From c8fb00c5ed9eb1dae1903273a7538fd614bd1ca0 Mon Sep 17 00:00:00 2001 From: mxzz <> Date: Mon, 6 Jul 2026 13:05:31 +0200 Subject: [PATCH 32/39] Update build.yml --- .github/workflows/build.yml | 66 ++++++++++++++++++++++++++----------- 1 file changed, 46 insertions(+), 20 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 9519d89c1c26..af04fcd468a0 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -11,11 +11,13 @@ jobs: build: name: Build on Windows runs-on: windows-latest + timeout-minutes: 120 env: # windows-latest now ships VS 2026 (v18); node-gyp >= 12.1.0 (npm >= 11.6.3) is required GYP_MSVS_VERSION: '2026' npm_config_msvs_version: '2026' VCINSTALLDIR: 'C:\Program Files\Microsoft Visual Studio\18\Enterprise\VC' + NODE_OPTIONS: --max-old-space-size=8192 steps: - name: Checkout code @@ -24,7 +26,7 @@ jobs: - name: Setup Node.js uses: actions/setup-node@v4 with: - node-version: '20' + node-version-file: '.nvmrc' cache: 'npm' - name: Upgrade npm for VS 2026 / node-gyp compatibility @@ -33,6 +35,11 @@ jobs: - name: Install NPM dependencies run: npm ci + env: + npm_config_foreground_scripts: 'true' + + - name: Build Void React bundles + run: npm run buildreact - name: Setup Rust uses: dtolnay/rust-toolchain@stable @@ -50,32 +57,51 @@ jobs: Enter-VsDevShell -VsInstallPath $vsPath -SkipAutomaticLocation -DevCmdArguments '-arch=amd64' Set-Location cli - cargo build --release + cargo build --release --bin code - - name: Build Void React bundles - run: npm run buildreact - env: - NODE_OPTIONS: --max-old-space-size=8192 + - name: Package Void for Windows + shell: pwsh + run: | + New-Item -ItemType Directory -Force -Path .build | Out-Null - - name: Compile Editor - run: npm run compile + npm run gulp vscode-win32-x64-min + npm run gulp vscode-win32-x64-inno-updater - - name: Archive Rust CLI - shell: bash - run: | - mkdir -p artifacts/cli - cp cli/target/release/*.exe artifacts/cli/ || true + $appDir = Join-Path (Split-Path $PWD -Parent) 'VSCode-win32-x64' + $tunnelExe = Join-Path $appDir 'bin/void-tunnel.exe' + New-Item -ItemType Directory -Force -Path (Split-Path $tunnelExe -Parent) | Out-Null + Copy-Item 'cli/target/release/code.exe' $tunnelExe -Force + + npm run gulp vscode-win32-x64-user-setup + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - - name: Archive Editor Build - shell: bash + - name: Stage release artifacts + shell: pwsh run: | - mkdir -p artifacts/editor - if [ -d "out" ]; then - cp -r out artifacts/editor/ - fi + $repoParent = Split-Path $PWD -Parent + $appDir = Join-Path $repoParent 'VSCode-win32-x64' + $setupDir = '.build/win32-x64/user-setup' + + New-Item -ItemType Directory -Force -Path artifacts | Out-Null + + if (Test-Path "$setupDir/VSCodeSetup.exe") { + Copy-Item "$setupDir/VSCodeSetup.exe" 'artifacts/VoidSetup.exe' + Write-Host "Staged installer: artifacts/VoidSetup.exe" + } else { + Write-Error "Installer not found at $setupDir/VSCodeSetup.exe" + } + + if (Test-Path $appDir) { + Compress-Archive -Path $appDir -DestinationPath 'artifacts/void-win32-x64-portable.zip' -Force + Write-Host "Staged portable build: artifacts/void-win32-x64-portable.zip" + } else { + Write-Error "Portable app folder not found at $appDir" + } - name: Upload Artifacts uses: actions/upload-artifact@v4 with: - name: binaries-windows + name: void-windows path: artifacts/ + retention-days: 14 From 5017a662ddb7811957342d20b9063128324ec085 Mon Sep 17 00:00:00 2001 From: mxzz <> Date: Mon, 6 Jul 2026 15:23:32 +0200 Subject: [PATCH 33/39] testing pipeline --- .github/workflows/build.yml | 9 ++++++++- build/lib/mangle/index.js | 3 +++ build/lib/mangle/index.ts | 3 +++ 3 files changed, 14 insertions(+), 1 deletion(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index af04fcd468a0..c7008b6ece89 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -62,12 +62,18 @@ jobs: - name: Package Void for Windows shell: pwsh run: | + $ErrorActionPreference = 'Stop' New-Item -ItemType Directory -Force -Path .build | Out-Null - npm run gulp vscode-win32-x64-min + # Use non-min build: mangling conflicts with Void's npm deps (e.g. google-auth-library) + npm run gulp vscode-win32-x64 npm run gulp vscode-win32-x64-inno-updater $appDir = Join-Path (Split-Path $PWD -Parent) 'VSCode-win32-x64' + if (-not (Test-Path $appDir)) { + throw "Expected packaged app at $appDir" + } + $tunnelExe = Join-Path $appDir 'bin/void-tunnel.exe' New-Item -ItemType Directory -Force -Path (Split-Path $tunnelExe -Parent) | Out-Null Copy-Item 'cli/target/release/code.exe' $tunnelExe -Force @@ -79,6 +85,7 @@ jobs: - name: Stage release artifacts shell: pwsh run: | + $ErrorActionPreference = 'Stop' $repoParent = Split-Path $PWD -Parent $appDir = Join-Path $repoParent 'VSCode-win32-x64' $setupDir = '.build/win32-x64/user-setup' diff --git a/build/lib/mangle/index.js b/build/lib/mangle/index.js index ce7446425512..f86bea2b6864 100644 --- a/build/lib/mangle/index.js +++ b/build/lib/mangle/index.js @@ -488,6 +488,9 @@ class Mangler { } }; const appendRename = (newText, loc) => { + if (loc.fileName.includes('node_modules')) { + return; + } appendEdit(loc.fileName, { newText: (loc.prefixText || '') + newText + (loc.suffixText || ''), offset: loc.textSpan.start, diff --git a/build/lib/mangle/index.ts b/build/lib/mangle/index.ts index 4cbbd3cdaddc..4829a5fdec83 100644 --- a/build/lib/mangle/index.ts +++ b/build/lib/mangle/index.ts @@ -565,6 +565,9 @@ export class Mangler { } }; const appendRename = (newText: string, loc: ts.RenameLocation) => { + if (loc.fileName.includes('node_modules')) { + return; + } appendEdit(loc.fileName, { newText: (loc.prefixText || '') + newText + (loc.suffixText || ''), offset: loc.textSpan.start, From a0a45aca111348ee52b86c95207df8c8d575e2fb Mon Sep 17 00:00:00 2001 From: mxzz <> Date: Thu, 9 Jul 2026 13:52:15 +0200 Subject: [PATCH 34/39] Update build.yml --- .github/workflows/build.yml | 87 ++++++++++++++++++++++++++++++++++++- 1 file changed, 85 insertions(+), 2 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index c7008b6ece89..a386c61e5e3b 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -8,7 +8,7 @@ on: workflow_dispatch: jobs: - build: + build-windows: name: Build on Windows runs-on: windows-latest timeout-minutes: 120 @@ -111,4 +111,87 @@ jobs: with: name: void-windows path: artifacts/ - retention-days: 14 + retention-days: 90 + + build-linux: + name: Build on Linux + runs-on: ubuntu-latest + timeout-minutes: 120 + env: + NODE_OPTIONS: --max-old-space-size=8192 + + steps: + - name: Checkout code + uses: actions/checkout@v4 + + - name: Install Linux build dependencies + run: | + sudo apt-get update + sudo apt-get install -y \ + build-essential \ + g++ \ + libx11-dev \ + libxkbfile-dev \ + libsecret-1-dev \ + libkrb5-dev \ + python-is-python3 \ + pkg-config \ + libgtk-3-0 \ + libgbm1 + + - name: Setup Node.js + uses: actions/setup-node@v4 + with: + node-version-file: '.nvmrc' + cache: 'npm' + + - name: Install NPM dependencies + run: npm ci + + - name: Build Void React bundles + run: npm run buildreact + + - name: Setup Rust + uses: dtolnay/rust-toolchain@stable + + - name: Build Rust CLI + run: | + set -euo pipefail + cd cli + cargo build --release --bin code + + - name: Package Void for Linux + run: | + set -euo pipefail + mkdir -p .build + + # Use non-min build: mangling conflicts with Void's npm deps (e.g. google-auth-library) + npm run gulp vscode-linux-x64 + + app_dir="$(cd .. && pwd)/VSCode-linux-x64" + if [ ! -d "$app_dir" ]; then + echo "Expected packaged app at $app_dir" >&2 + exit 1 + fi + + mkdir -p "$app_dir/bin" + cp cli/target/release/code "$app_dir/bin/void-tunnel" + chmod +x "$app_dir/bin/void-tunnel" + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + + - name: Stage release artifacts + run: | + set -euo pipefail + app_dir="$(cd .. && pwd)/VSCode-linux-x64" + + mkdir -p artifacts + tar -czf artifacts/void-linux-x64-portable.tar.gz -C .. VSCode-linux-x64 + echo "Staged portable build: artifacts/void-linux-x64-portable.tar.gz" + + - name: Upload Artifacts + uses: actions/upload-artifact@v4 + with: + name: void-linux + path: artifacts/ + retention-days: 90 From 25b88d8ae7608798251b76eaa9eaf1ec733e5d17 Mon Sep 17 00:00:00 2001 From: mxzz <> Date: Thu, 9 Jul 2026 14:48:54 +0200 Subject: [PATCH 35/39] Update build.yml --- .github/workflows/build.yml | 80 +++++++++++++++++++++++++++++++++++++ 1 file changed, 80 insertions(+) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index a386c61e5e3b..d99c486435e0 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -195,3 +195,83 @@ jobs: name: void-linux path: artifacts/ retention-days: 90 + + build-macos: + name: Build on macOS + runs-on: macos-latest + timeout-minutes: 120 + env: + NODE_OPTIONS: --max-old-space-size=8192 + GYP_DEFINES: kerberos_use_rtld=false + + steps: + - name: Checkout code + uses: actions/checkout@v4 + + - name: Setup Node.js + uses: actions/setup-node@v4 + with: + node-version-file: '.nvmrc' + cache: 'npm' + + - name: Prepare macOS build environment + run: | + set -euo pipefail + python3 -m pip install setuptools + # gulp packages darwin policy files from this folder; OSS builds skip policy generation + mkdir -p .build/policies/darwin + touch .build/policies/darwin/.keep + + - name: Install NPM dependencies + run: npm ci + + - name: Build Void React bundles + run: npm run buildreact + + - name: Setup Rust + uses: dtolnay/rust-toolchain@stable + + - name: Build Rust CLI + run: | + set -euo pipefail + cd cli + cargo build --release --bin code + + - name: Package Void for macOS + run: | + set -euo pipefail + mkdir -p .build + + # Use non-min build: mangling conflicts with Void's npm deps (e.g. google-auth-library) + npm run gulp vscode-darwin-arm64 + + app_root="$(cd .. && pwd)/VSCode-darwin-arm64" + if [ ! -d "$app_root" ]; then + echo "Expected packaged app at $app_root" >&2 + exit 1 + fi + + app_name="$(ls "$app_root" | head -n 1)" + app_path="$app_root/$app_name" + mkdir -p "$app_path/Contents/Resources/app/bin" + cp cli/target/release/code "$app_path/Contents/Resources/app/bin/void-tunnel" + chmod +x "$app_path/Contents/Resources/app/bin/void-tunnel" + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + + - name: Stage release artifacts + run: | + set -euo pipefail + app_root="$(cd .. && pwd)/VSCode-darwin-arm64" + app_name="$(ls "$app_root" | head -n 1)" + + mkdir -p artifacts + (cd "$app_root" && ditto -c -k --sequesterRsrc --keepParent "$app_name" "$GITHUB_WORKSPACE/artifacts/void-darwin-arm64-portable.zip") + echo "Staged portable build: artifacts/void-darwin-arm64-portable.zip" + + - name: Upload Artifacts + uses: actions/upload-artifact@v4 + with: + name: void-macos + path: artifacts/ + retention-days: 90 From 6ea3cf05d34f01995a9fcdf69ea24df14d756fdc Mon Sep 17 00:00:00 2001 From: mxzz <> Date: Thu, 9 Jul 2026 16:09:22 +0200 Subject: [PATCH 36/39] Update build.yml --- .github/workflows/build.yml | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index d99c486435e0..de466a7cd482 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -107,6 +107,7 @@ jobs: } - name: Upload Artifacts + if: github.event_name == 'push' || github.event_name == 'workflow_dispatch' uses: actions/upload-artifact@v4 with: name: void-windows @@ -190,6 +191,7 @@ jobs: echo "Staged portable build: artifacts/void-linux-x64-portable.tar.gz" - name: Upload Artifacts + if: github.event_name == 'push' || github.event_name == 'workflow_dispatch' uses: actions/upload-artifact@v4 with: name: void-linux @@ -214,6 +216,11 @@ jobs: node-version-file: '.nvmrc' cache: 'npm' + - name: Setup Python + uses: actions/setup-python@v5 + with: + python-version: '3.12' + - name: Prepare macOS build environment run: | set -euo pipefail @@ -270,6 +277,7 @@ jobs: echo "Staged portable build: artifacts/void-darwin-arm64-portable.zip" - name: Upload Artifacts + if: github.event_name == 'push' || github.event_name == 'workflow_dispatch' uses: actions/upload-artifact@v4 with: name: void-macos From 1e95cc14d7b5fa135f842a6aae27f1a60e51541f Mon Sep 17 00:00:00 2001 From: mxzz <> Date: Thu, 9 Jul 2026 16:38:04 +0200 Subject: [PATCH 37/39] Update build.yml --- .github/workflows/build.yml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index de466a7cd482..8240f8dfbeb3 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -205,6 +205,8 @@ jobs: env: NODE_OPTIONS: --max-old-space-size=8192 GYP_DEFINES: kerberos_use_rtld=false + # Newer Apple Clang (Xcode 26+) breaks bundled fmt in @vscode/spdlog without this flag + CXXFLAGS: -DFMT_CONSTEVAL= steps: - name: Checkout code @@ -225,6 +227,8 @@ jobs: run: | set -euo pipefail python3 -m pip install setuptools + echo "CC=$(xcrun --find clang)" >> "$GITHUB_ENV" + echo "CXX=$(xcrun --find clang++)" >> "$GITHUB_ENV" # gulp packages darwin policy files from this folder; OSS builds skip policy generation mkdir -p .build/policies/darwin touch .build/policies/darwin/.keep From ee28592fdb2e63dbeadc3cb91aea8810fea1ebee Mon Sep 17 00:00:00 2001 From: mxzz <> Date: Thu, 9 Jul 2026 16:56:29 +0200 Subject: [PATCH 38/39] Update build.yml --- .github/workflows/build.yml | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 8240f8dfbeb3..89ca67fd670f 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -200,13 +200,15 @@ jobs: build-macos: name: Build on macOS - runs-on: macos-latest + # macos-14: stable Xcode 15 arm64 runner; macos-latest (Xcode 26) breaks native module builds + runs-on: macos-14 timeout-minutes: 120 env: NODE_OPTIONS: --max-old-space-size=8192 GYP_DEFINES: kerberos_use_rtld=false - # Newer Apple Clang (Xcode 26+) breaks bundled fmt in @vscode/spdlog without this flag + # Apple Clang 21+ (Xcode 26 on macos-latest) breaks bundled fmt in @vscode/spdlog CXXFLAGS: -DFMT_CONSTEVAL= + MACOSX_DEPLOYMENT_TARGET: '11.0' steps: - name: Checkout code @@ -227,14 +229,15 @@ jobs: run: | set -euo pipefail python3 -m pip install setuptools - echo "CC=$(xcrun --find clang)" >> "$GITHUB_ENV" - echo "CXX=$(xcrun --find clang++)" >> "$GITHUB_ENV" + echo "SDKROOT=$(xcrun --sdk macosx --show-sdk-path)" >> "$GITHUB_ENV" # gulp packages darwin policy files from this folder; OSS builds skip policy generation mkdir -p .build/policies/darwin touch .build/policies/darwin/.keep - name: Install NPM dependencies run: npm ci + env: + npm_config_arch: arm64 - name: Build Void React bundles run: npm run buildreact From 565f77917a44a3546c998dc93fc346af5b09f3cc Mon Sep 17 00:00:00 2001 From: mxzz <> Date: Thu, 9 Jul 2026 17:14:06 +0200 Subject: [PATCH 39/39] Update build.yml --- .github/workflows/build.yml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 89ca67fd670f..7f3eaced08f8 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -37,6 +37,7 @@ jobs: run: npm ci env: npm_config_foreground_scripts: 'true' + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - name: Build Void React bundles run: npm run buildreact @@ -148,6 +149,8 @@ jobs: - name: Install NPM dependencies run: npm ci + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - name: Build Void React bundles run: npm run buildreact @@ -238,6 +241,7 @@ jobs: run: npm ci env: npm_config_arch: arm64 + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - name: Build Void React bundles run: npm run buildreact