Repository navigation
fix(install): share the Node 24 pin with development and CI - #3269
Conversation
|
✅ Staging deployment successful! Preview: https://viteplus-staging.void.app/ |
CLI artifact sizes (
|
| Artifact | Format | Base | PR | Change |
|---|---|---|---|---|
packages/cli/dist |
Directory total | 2.26 MiB | 2.26 MiB | 0 B (0.00%) |
packages/core/dist |
Directory total | 4.07 MiB | 4.07 MiB | 0 B (0.00%) |
| Combined package dist | Directory total | 6.34 MiB | 6.34 MiB | 0 B (0.00%) |
vp (Linux x64) |
Binary | 8.27 MiB | 8.26 MiB | -8.00 KiB (-0.09%) |
vp (Linux x64) |
gzip -9 | 3.78 MiB | 3.77 MiB | -2.50 KiB (-0.06%) |
| NAPI (Linux x64) | Binary | 35.53 MiB | 35.53 MiB | 0 B (0.00%) |
| NAPI (Linux x64) | gzip -9 | 14.15 MiB | 14.15 MiB | 0 B (0.00%) |
vp (macOS ARM64) |
Binary | 5.39 MiB | 5.39 MiB | -64 B (-0.00%) |
vp (macOS ARM64) |
gzip -9 | 3.21 MiB | 3.21 MiB | -2.41 KiB (-0.07%) |
| NAPI (macOS ARM64) | Binary | 42.30 MiB | 42.30 MiB | 0 B (0.00%) |
| NAPI (macOS ARM64) | gzip -9 | 18.29 MiB | 18.29 MiB | 0 B (0.00%) |
vp (Windows x64) |
Binary | 6.12 MiB | 6.12 MiB | -6.50 KiB (-0.10%) |
vp (Windows x64) |
gzip -9 | 2.83 MiB | 2.83 MiB | -1.09 KiB (-0.04%) |
| NAPI (Windows x64) | Binary | 31.55 MiB | 31.55 MiB | 0 B (0.00%) |
| NAPI (Windows x64) | gzip -9 | 12.85 MiB | 12.85 MiB | +2 B (+0.00%) |
| Trampoline (Windows x64) | Binary | 13.50 KiB | 13.50 KiB | 0 B (0.00%) |
| Trampoline (Windows x64) | gzip -9 | 7.09 KiB | 7.09 KiB | +1 B (+0.01%) |
| Installer (Windows x64) | Binary | 4.68 MiB | 4.65 MiB | -30.50 KiB (-0.64%) |
| Installer (Windows x64) | gzip -9 | 2.24 MiB | 2.23 MiB | -13.71 KiB (-0.60%) |
1f99415 to
08cd4b1
Compare
08cd4b1 to
ed0ab24
Compare
ed0ab24 to
4a00d4a
Compare
bf2ee2e to
82f9cb6
Compare
3c67091 to
57987ee
Compare
Preview binary sizes (
|
| Binary | Latest release | Preview | Change |
|---|---|---|---|
vp (macOS ARM64) |
5.38 MiB | 5.39 MiB | +16.31 KiB (+0.30%) |
| NAPI (macOS ARM64) | 42.20 MiB | 42.27 MiB | +64.55 KiB (+0.15%) |
vp (macOS x64) |
6.82 MiB | 6.85 MiB | +32.12 KiB (+0.46%) |
| NAPI (macOS x64) | 47.34 MiB | 47.42 MiB | +84.12 KiB (+0.17%) |
vp (Linux ARM64 GNU) |
6.81 MiB | 6.84 MiB | +24.05 KiB (+0.34%) |
| NAPI (Linux ARM64 GNU) | 31.44 MiB | 31.53 MiB | +87.25 KiB (+0.27%) |
vp (Linux ARM64 musl) |
6.88 MiB | 6.91 MiB | +28.93 KiB (+0.41%) |
| NAPI (Linux ARM64 musl) | 30.67 MiB | 30.71 MiB | +43.19 KiB (+0.14%) |
vp (Linux x64 GNU) |
8.22 MiB | 8.26 MiB | +36.05 KiB (+0.43%) |
| NAPI (Linux x64 GNU) | 35.45 MiB | 35.53 MiB | +79.31 KiB (+0.22%) |
vp (Linux x64 musl) |
8.29 MiB | 8.33 MiB | +40.65 KiB (+0.48%) |
| NAPI (Linux x64 musl) | 34.43 MiB | 34.49 MiB | +52.38 KiB (+0.15%) |
vp (Windows x64) |
6.09 MiB | 6.12 MiB | +26.50 KiB (+0.42%) |
| NAPI (Windows x64) | 31.16 MiB | 31.21 MiB | +49.00 KiB (+0.15%) |
| Trampoline (Windows x64) | 13.00 KiB | 13.00 KiB | 0 B (0.00%) |
| Installer (Windows x64) | 4.67 MiB | 4.66 MiB | -16.00 KiB (-0.33%) |
vp (Windows ARM64) |
5.33 MiB | 5.36 MiB | +29.00 KiB (+0.53%) |
| NAPI (Windows ARM64) | 27.57 MiB | 27.60 MiB | +38.50 KiB (+0.14%) |
| Trampoline (Windows ARM64) | 13.00 KiB | 13.00 KiB | 0 B (0.00%) |
| Installer (Windows ARM64) | 3.85 MiB | 3.83 MiB | -16.00 KiB (-0.41%) |
gzip -9 sizes
| Binary | Latest release | Preview | Change |
|---|---|---|---|
vp (macOS ARM64) |
3.20 MiB | 3.21 MiB | +14.20 KiB (+0.43%) |
| NAPI (macOS ARM64) | 18.25 MiB | 18.28 MiB | +28.18 KiB (+0.15%) |
vp (macOS x64) |
3.38 MiB | 3.40 MiB | +16.20 KiB (+0.47%) |
| NAPI (macOS x64) | 19.44 MiB | 19.48 MiB | +36.96 KiB (+0.19%) |
vp (Linux ARM64 GNU) |
3.69 MiB | 3.71 MiB | +16.89 KiB (+0.45%) |
| NAPI (Linux ARM64 GNU) | 13.31 MiB | 13.34 MiB | +26.35 KiB (+0.19%) |
vp (Linux ARM64 musl) |
3.71 MiB | 3.73 MiB | +15.39 KiB (+0.40%) |
| NAPI (Linux ARM64 musl) | 13.01 MiB | 13.03 MiB | +21.57 KiB (+0.16%) |
vp (Linux x64 GNU) |
3.76 MiB | 3.77 MiB | +16.72 KiB (+0.43%) |
| NAPI (Linux x64 GNU) | 14.12 MiB | 14.15 MiB | +29.46 KiB (+0.20%) |
vp (Linux x64 musl) |
3.78 MiB | 3.80 MiB | +16.23 KiB (+0.42%) |
| NAPI (Linux x64 musl) | 13.66 MiB | 13.68 MiB | +16.28 KiB (+0.12%) |
vp (Windows x64) |
2.82 MiB | 2.83 MiB | +10.70 KiB (+0.37%) |
| NAPI (Windows x64) | 12.69 MiB | 12.71 MiB | +18.70 KiB (+0.14%) |
| Trampoline (Windows x64) | 7.14 KiB | 7.14 KiB | +1 B (+0.01%) |
| Installer (Windows x64) | 2.24 MiB | 2.23 MiB | -8.95 KiB (-0.39%) |
vp (Windows ARM64) |
2.69 MiB | 2.70 MiB | +14.30 KiB (+0.52%) |
| NAPI (Windows ARM64) | 12.05 MiB | 12.07 MiB | +18.01 KiB (+0.15%) |
| Trampoline (Windows ARM64) | 6.93 KiB | 6.93 KiB | -1 B (-0.01%) |
| Installer (Windows ARM64) | 2.14 MiB | 2.12 MiB | -10.76 KiB (-0.49%) |
Raw sizes are uncompressed file sizes. gzip sizes recompress each binary at level 9; they are not package or download archive sizes.
The baseline uses published release files, including NAPI packages from npm at the same version. Build versions and toolchains can affect the difference.
Registry bridge build (
|
| Package | Version |
|---|---|
vite-plus |
0.0.0-commit.a92f3032cc7f27db653214b4800e101a5b3d36c5 |
@voidzero-dev/vite-plus-core |
0.0.0-commit.a92f3032cc7f27db653214b4800e101a5b3d36c5 |
create-vite-plus |
0.0.0-commit.a92f3032cc7f27db653214b4800e101a5b3d36c5 |
Install the Vite+ CLI built from this commit, then migrate a project:
# macOS / Linux
curl -fsSL https://raw.githubusercontent.com/voidzero-dev/vite-plus/a92f3032cc7f27db653214b4800e101a5b3d36c5/packages/cli/install.sh | VP_PR_VERSION=3269 VP_LEGACY_INSTALLER_URL=https://raw.githubusercontent.com/voidzero-dev/vite-plus/a92f3032cc7f27db653214b4800e101a5b3d36c5/packages/cli/install-legacy.sh bash# Windows (PowerShell)
$env:VP_PR_VERSION="3269"; $env:VP_LEGACY_INSTALLER_URL="https://raw.githubusercontent.com/voidzero-dev/vite-plus/a92f3032cc7f27db653214b4800e101a5b3d36c5/packages/cli/install-legacy.ps1"; irm https://raw.githubusercontent.com/voidzero-dev/vite-plus/a92f3032cc7f27db653214b4800e101a5b3d36c5/packages/cli/install.ps1 | iexOr download the standalone Windows installer built from this commit:
| Architecture | Installer |
|---|---|
| x64 | vp-setup-x86_64-pc-windows-msvc.exe |
| Arm64 | vp-setup-aarch64-pc-windows-msvc.exe |
GitHub requires you to sign in and downloads each installer as a ZIP artifact. Extract vp-setup.exe, then run it against this preview build:
.\vp-setup.exe --version "0.0.0-commit.a92f3032cc7f27db653214b4800e101a5b3d36c5" --registry "https://registry-bridge.viteplus.dev/"After installing, upgrade the current project's vite-plus to this test build with:
vp migrateOr create a new project from this commit without installing the CLI:
export npm_config_registry=https://registry-bridge.viteplus.dev/ pnpm_config_registry=https://registry-bridge.viteplus.dev/
pnpm create vite-plus@0.0.0-commit.a92f3032cc7f27db653214b4800e101a5b3d36c5 # or: npm create vite-plus@0.0.0-commit.a92f3032cc7f27db653214b4800e101a5b3d36c5$env:npm_config_registry="https://registry-bridge.viteplus.dev/"; $env:pnpm_config_registry="https://registry-bridge.viteplus.dev/"
pnpm create vite-plus@0.0.0-commit.a92f3032cc7f27db653214b4800e101a5b3d36c5 # or: npm create vite-plus@0.0.0-commit.a92f3032cc7f27db653214b4800e101a5b3d36c5pnpm 11+ reads pnpm_config_registry, npm and older pnpm read npm_config_registry. The new project pins this build, so keep the registry set for later installs, or configure it as below.
Or point your package manager at the bridge registry https://registry-bridge.viteplus.dev/:
| Package manager | Registry config |
|---|---|
| npm / pnpm / Bun | .npmrc: registry=https://registry-bridge.viteplus.dev/ |
| Yarn (v2+) | .yarnrc.yml: npmRegistryServer: "https://registry-bridge.viteplus.dev/" |
Then pin the build (vite aliases to vite-plus-core; pnpm can use a catalog, npm an overrides entry):
{
"devDependencies": {
"vite-plus": "0.0.0-commit.a92f3032cc7f27db653214b4800e101a5b3d36c5",
"vite": "npm:@voidzero-dev/vite-plus-core@0.0.0-commit.a92f3032cc7f27db653214b4800e101a5b3d36c5"
}
}
🐳 Docker preview imageBuilt from this PR's registry bridge build:
# remove any stale local copy from a previous run, then pull fresh
docker rmi ghcr.io/voidzero-dev/vite-plus:pr-3269 2>/dev/null; docker pull ghcr.io/voidzero-dev/vite-plus:pr-3269Quick check: docker run --rm ghcr.io/voidzero-dev/vite-plus:pr-3269 vp --versionSee docs/guide/docker.md for usage. |
8c63847 to
c4533d1
Compare
The docs deployment uses `void@0.23.0`, which skips `docs/public/_redirects` without a `routing` configuration. This leaves `/vp-setup` and the moved guide URLs returning `404`. The deployment now uses `void@1.3.0` and explicitly connects to `https://api.void.cloud`. It keeps the existing project selection and token, and includes the redirect rules in static deployments. It uses the shared Node.js pin from `.node-version`, introduced by #3269. This change also removes `netlify.toml`, the `build:netlify` script, and the related CI path exclusion. The installer RFC now references `docs/public/_redirects`.
The root
.node-versionpins Node.js24.22.1for development, CI, and installation of global CLI dependencies. Each release embeds this installation default at build time. Runtime commands retain their existing selection order and latest LTS fallback..github/workflows/upgrade-deps.ymlupdates the pin to the latest stable24.xrelease. Nix follows the major;flake.lockcontrols its exact package version. Snapshot tests reuse prewarmed runtimes, including version ranges and theltsandlatestaliases.Platform packages publish the same pin as
vpNodeVersion.vp upgradereads this field and installs dependencies with the target release's Node.js version before activation. Missing metadata uses the running binary's embedded installation default. Invalid or incompatible pins stop the upgrade. Older clients keep their existing behavior.flowchart LR subgraph Build["Release build"] A[".node-version"] --> B["Native vp<br/>Embedded installation Node pin"] A --> M["Platform package metadata<br/>vpNodeVersion"] end subgraph Install["Default installation"] C["install.sh<br/>Download target vp"] --> D["Target self-setup<br/>Use installation Node pin"] end subgraph Upgrade["vp upgrade"] U["Resolve target version<br/>Read platform metadata"] --> P["Install dependencies<br/>Use target Node pin"] P -->|"Success"| S["Activate target binary"] end B --> C B -->|"Target artifact"| U M --> U