Repository navigation
release: v1.5.1 - #3401
release: v1.5.1#3401
Conversation
🚀 Deploying Preview to Cloudflare 🚀Preview URL: https://release-v1-5-1-viteplus-dev.voidzero-docs.workers.dev (commit cedc53c)This URL reflects your latest Preview deploymentPreview Deployments by commit
|
NAPI bakes the package.json version into binding/index.cjs version checks. The prepare_release workflow bumps package.json but does not regenerate this file, so the CI build's regeneration step produces a diff that the post-build no-unexpected-changes guard rejects. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
|
✅ Staging deployment successful! Preview: https://viteplus-staging.void.app/ |
CLI artifact sizes (
|
| Artifact | Format | Base | PR | Change |
|---|---|---|---|---|
packages/cli/dist |
Directory total | 2.33 MiB | 2.33 MiB | 0 B (0.00%) |
packages/core/dist |
Directory total | 4.09 MiB | 4.09 MiB | 0 B (0.00%) |
| Combined package dist | Directory total | 6.42 MiB | 6.42 MiB | 0 B (0.00%) |
vp (Linux x64) |
Binary | 8.31 MiB | 8.31 MiB | 0 B (0.00%) |
vp (Linux x64) |
gzip -9 | 3.80 MiB | 3.80 MiB | -120 B (-0.00%) |
| NAPI (Linux x64) | Binary | 36.27 MiB | 36.27 MiB | 0 B (0.00%) |
| NAPI (Linux x64) | gzip -9 | 14.48 MiB | 14.48 MiB | +299 B (+0.00%) |
vp (macOS ARM64) |
Binary | 5.42 MiB | 5.42 MiB | 0 B (0.00%) |
vp (macOS ARM64) |
gzip -9 | 3.24 MiB | 3.24 MiB | -31 B (-0.00%) |
| NAPI (macOS ARM64) | Binary | 43.05 MiB | 43.05 MiB | 0 B (0.00%) |
| NAPI (macOS ARM64) | gzip -9 | 18.68 MiB | 18.68 MiB | -121 B (-0.00%) |
vp (Windows x64) |
Binary | 6.16 MiB | 6.16 MiB | 0 B (0.00%) |
vp (Windows x64) |
gzip -9 | 2.85 MiB | 2.85 MiB | +141 B (+0.00%) |
| NAPI (Windows x64) | Binary | 32.38 MiB | 32.38 MiB | 0 B (0.00%) |
| NAPI (Windows x64) | gzip -9 | 13.25 MiB | 13.25 MiB | +13 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 | 0 B (0.00%) |
| Installer (Windows x64) | Binary | 4.66 MiB | 4.66 MiB | 0 B (0.00%) |
| Installer (Windows x64) | gzip -9 | 2.24 MiB | 2.24 MiB | +1 B (+0.00%) |
Preview binary sizes (
|
| Binary | Latest release | Preview | Change |
|---|---|---|---|
vp (macOS ARM64) |
5.42 MiB | 5.42 MiB | +128 B (+0.00%) |
| NAPI (macOS ARM64) | 42.98 MiB | 43.01 MiB | +32.34 KiB (+0.07%) |
vp (macOS x64) |
6.89 MiB | 6.90 MiB | +8.04 KiB (+0.11%) |
| NAPI (macOS x64) | 48.23 MiB | 48.29 MiB | +64.17 KiB (+0.13%) |
vp (Linux ARM64 GNU) |
6.87 MiB | 6.88 MiB | +3.88 KiB (+0.06%) |
| NAPI (Linux ARM64 GNU) | 32.24 MiB | 32.28 MiB | +38.04 KiB (+0.12%) |
vp (Linux ARM64 musl) |
6.94 MiB | 6.95 MiB | +8.45 KiB (+0.12%) |
| NAPI (Linux ARM64 musl) | 31.44 MiB | 31.48 MiB | +44.27 KiB (+0.14%) |
vp (Linux x64 GNU) |
8.31 MiB | 8.31 MiB | +3.88 KiB (+0.05%) |
| NAPI (Linux x64 GNU) | 36.39 MiB | 36.19 MiB | -203.36 KiB (-0.55%) |
vp (Linux x64 musl) |
8.37 MiB | 8.38 MiB | +6.85 KiB (+0.08%) |
| NAPI (Linux x64 musl) | 35.35 MiB | 35.39 MiB | +51.02 KiB (+0.14%) |
vp (Windows x64) |
6.15 MiB | 6.16 MiB | +12.00 KiB (+0.19%) |
| NAPI (Windows x64) | 31.97 MiB | 32.02 MiB | +44.50 KiB (+0.14%) |
| Trampoline (Windows x64) | 13.00 KiB | 13.00 KiB | 0 B (0.00%) |
| Installer (Windows x64) | 4.66 MiB | 4.67 MiB | +4.00 KiB (+0.08%) |
vp (Windows ARM64) |
5.39 MiB | 5.40 MiB | +11.00 KiB (+0.20%) |
| NAPI (Windows ARM64) | 28.27 MiB | 28.31 MiB | +46.50 KiB (+0.16%) |
| Trampoline (Windows ARM64) | 13.00 KiB | 13.00 KiB | 0 B (0.00%) |
| Installer (Windows ARM64) | 3.84 MiB | 3.84 MiB | +3.50 KiB (+0.09%) |
gzip -9 sizes
| Binary | Latest release | Preview | Change |
|---|---|---|---|
vp (macOS ARM64) |
3.23 MiB | 3.24 MiB | +7.40 KiB (+0.22%) |
| NAPI (macOS ARM64) | 18.64 MiB | 18.68 MiB | +37.58 KiB (+0.20%) |
vp (macOS x64) |
3.41 MiB | 3.42 MiB | +5.73 KiB (+0.16%) |
| NAPI (macOS x64) | 19.87 MiB | 19.91 MiB | +38.15 KiB (+0.19%) |
vp (Linux ARM64 GNU) |
3.73 MiB | 3.73 MiB | +4.42 KiB (+0.12%) |
| NAPI (Linux ARM64 GNU) | 13.72 MiB | 13.74 MiB | +20.06 KiB (+0.14%) |
vp (Linux ARM64 musl) |
3.75 MiB | 3.75 MiB | +4.76 KiB (+0.12%) |
| NAPI (Linux ARM64 musl) | 13.41 MiB | 13.44 MiB | +31.04 KiB (+0.23%) |
vp (Linux x64 GNU) |
3.80 MiB | 3.80 MiB | +2.81 KiB (+0.07%) |
| NAPI (Linux x64 GNU) | 14.55 MiB | 14.44 MiB | -116.56 KiB (-0.78%) |
vp (Linux x64 musl) |
3.82 MiB | 3.82 MiB | +6.13 KiB (+0.16%) |
| NAPI (Linux x64 musl) | 14.08 MiB | 14.11 MiB | +30.95 KiB (+0.21%) |
vp (Windows x64) |
2.84 MiB | 2.85 MiB | +8.56 KiB (+0.29%) |
| NAPI (Windows x64) | 13.09 MiB | 13.11 MiB | +27.91 KiB (+0.21%) |
| Trampoline (Windows x64) | 7.14 KiB | 7.14 KiB | 0 B (0.00%) |
| Installer (Windows x64) | 2.23 MiB | 2.24 MiB | +4.09 KiB (+0.18%) |
vp (Windows ARM64) |
2.72 MiB | 2.72 MiB | +6.15 KiB (+0.22%) |
| NAPI (Windows ARM64) | 12.42 MiB | 12.45 MiB | +23.89 KiB (+0.19%) |
| Trampoline (Windows ARM64) | 6.93 KiB | 6.93 KiB | 0 B (0.00%) |
| Installer (Windows ARM64) | 2.13 MiB | 2.13 MiB | +4.07 KiB (+0.19%) |
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.cedc53cfb17e5b3fe2ec7e7571618cfa41ef7442 |
@voidzero-dev/vite-plus-core |
0.0.0-commit.cedc53cfb17e5b3fe2ec7e7571618cfa41ef7442 |
create-vite-plus |
0.0.0-commit.cedc53cfb17e5b3fe2ec7e7571618cfa41ef7442 |
Install the Vite+ CLI built from this commit, then migrate a project:
# macOS / Linux
curl -fsSL https://raw.githubusercontent.com/voidzero-dev/vite-plus/cedc53cfb17e5b3fe2ec7e7571618cfa41ef7442/packages/cli/install.sh | VP_PR_VERSION=3401 VP_LEGACY_INSTALLER_URL=https://raw.githubusercontent.com/voidzero-dev/vite-plus/cedc53cfb17e5b3fe2ec7e7571618cfa41ef7442/packages/cli/install-legacy.sh bash# Windows (PowerShell)
$env:VP_PR_VERSION="3401"; $env:VP_LEGACY_INSTALLER_URL="https://raw.githubusercontent.com/voidzero-dev/vite-plus/cedc53cfb17e5b3fe2ec7e7571618cfa41ef7442/packages/cli/install-legacy.ps1"; irm https://raw.githubusercontent.com/voidzero-dev/vite-plus/cedc53cfb17e5b3fe2ec7e7571618cfa41ef7442/packages/cli/install.ps1 | iexOr install with Homebrew (macOS / glibc Linux):
These commands use the formula and binary from this published commit. Replace brew install with brew reinstall if the tap package is already installed.
If Homebrew Core’s vite-plus is installed, run brew uninstall vite-plus first. This keeps your user data; do not run vp implode to switch installations.
(
set -eu
export HOMEBREW_NO_AUTO_UPDATE=1
export HOMEBREW_VP_PR_VERSION=cedc53cfb17e5b3fe2ec7e7571618cfa41ef7442
brew tap voidzero-dev/vite-plus https://github.com/voidzero-dev/vite-plus
preview_tap="$(brew --repository voidzero-dev/vite-plus)"
git -C "$preview_tap" fetch --depth=1 https://github.com/voidzero-dev/vite-plus.git "$HOMEBREW_VP_PR_VERSION"
git -C "$preview_tap" switch --detach "$HOMEBREW_VP_PR_VERSION"
brew install voidzero-dev/vite-plus/vp
brew test voidzero-dev/vite-plus/vp
"$(brew --prefix)/bin/vp"
)The tap stays at the tested commit. Return it to main after testing:
git -C "$(brew --repository voidzero-dev/vite-plus)" switch mainOr 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.cedc53cfb17e5b3fe2ec7e7571618cfa41ef7442" --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.cedc53cfb17e5b3fe2ec7e7571618cfa41ef7442 # or: npm create vite-plus@0.0.0-commit.cedc53cfb17e5b3fe2ec7e7571618cfa41ef7442$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.cedc53cfb17e5b3fe2ec7e7571618cfa41ef7442 # or: npm create vite-plus@0.0.0-commit.cedc53cfb17e5b3fe2ec7e7571618cfa41ef7442pnpm 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.cedc53cfb17e5b3fe2ec7e7571618cfa41ef7442",
"vite": "npm:@voidzero-dev/vite-plus-core@0.0.0-commit.cedc53cfb17e5b3fe2ec7e7571618cfa41ef7442"
}
}
🐳 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-3401 2>/dev/null; docker pull ghcr.io/voidzero-dev/vite-plus:pr-3401Quick check: docker run --rm ghcr.io/voidzero-dev/vite-plus:pr-3401 vp --versionSee docs/guide/docker.md for usage. |
Vite+ 1.5.1 checks managed package-manager downloads against the integrity hash in
packageManager, restores interactive input invp runtasks, fixesvp migrateconfig merges, and adds a reference page for each package command.Features
packageManagerfield instead of the hash that the registry reports, and rejects a download that does not match. Mirrors and private registries that serve the same package still pass. Each pinned version gets its own cache directory, so a project with a pinned package manager downloads it once more after the upgrade. Unpinned installs keep their current location (#3400), by @fengmk2 and @arkmarta.vite@8.3.5tovite@8.3.7. A pnpm install no longer turns every cached build into a cache miss, because Vite tells Vite Task to ignorenode_modules/.modules.yaml. It also fixes named imports from Node.js built-ins and reloads in bundled dev mode, subpath imports (#) in the dependency optimizer, SSR builds withbuild.ssr: true, and chunks shared with workers.rolldown@1.2.16torolldown@1.2.18, with module source maps that keep only the sources and names that they trace.@voidzero-dev/vite-plus-corerequirespostcss@^8.5.32, as the bundled Vite does.Fixes & Enhancements
vp runstarts get a blocking stdin again when therunblock ofvite.config.tsis not statically analyzable (for example, a task command held in a constant), so interactive prompts such asvp update --interactivewait for input instead of failing withEAGAIN(#3361), by @everton-dgn.vp migratechanges only thereturnstatements of adefineConfigcallback, so functions inside the config, such as RolldowncodeSplitting.groups[].namecallbacks, keep their return values and the build no longer fails. When a callback return cannot receive the merged settings, migration keeps the standalone config files and asks for a manual merge. Pack and task cache migration also recognize configs wrapped in parentheses,as,satisfies,<T>, or!(#3325, #3372), by @jong-kyung.vp create react-routerpasses--no-git-inittocreate-react-router, so the generator's initial commit no longer stops the Vite+ setup when no Git identity is configured (#3363), by @chbaefront.env.fishcalls fish built-ins throughbuiltin, sovp env usechanges the Node.js version even when a user function has the name of a built-in such ascount(#3353), by @naokihaba.vp i<Tab>offersinstallandvp up<Tab>offersupdate. An alias stays available when no full name matches (#3337), by @nekomoyi.vp runandvprskips comment keys such as"# docs #"inpackage.jsonscripts, matches task names that contain:, and shows each task's command as its description in Zsh and Fish (#3354), by @nekomoyi.vp pm dist-tag rmworks with Yarn Berry, because Vite+ passesremovetoyarn npm tag(#3358), by @jong-kyung.pnpm@latestinvp env use, must be a valid semver version. Vite+ rejects any other registry reply with an error, including a version with surrounding whitespace (#3395), by @fengmk2 and @arkmarta.Docs
Chore
@napi-rs/cli@3.10.12, let the linker reject unresolved symbols, and run Linux CI onubuntu-latestagain. Let the dependency upgrade workflow change workflow files (#3349, #3384), by @fengmk2.AGENTS.mdseparates thevite-pluspackage from the globalvpCLI and replacesCLAUDE.md, and the Node.js version RFCs describe.nvmrcsupport (#3388, #3383), by @liangmiQwQ and @hyunbinseo.import.meta.dirname, so the docs dev server no longer warns about__dirname(#3379), by @liangmiQwQ..node-versionparse tests into one table (#3355), by @Brooooooklyn.Bundled Versions
8.3.75def9361.2.18f9a49d61.0.17ff14c30.23.45.1.01.91.07.0.20050.76.0Upgrade
New Contributors
@chbaefront, @everton-dgn
Full Changelog: v1.5.0...v1.5.1
Merging this PR will trigger the release workflow.