release: v0.3.2: independent package-manager versions and Oxlint plugin APIs - #2692
Conversation
🚀 Deploying Preview to Cloudflare 🚀Preview URL: https://release-v0-3-2-viteplus-dev.voidzero-docs.workers.dev (commit 4968901)This URL reflects your latest Preview deploymentPreview Deployments by commit
|
CLI artifact sizes (
|
| Artifact | Format | Base | PR | Change |
|---|---|---|---|---|
packages/cli/dist |
Directory total | 2.14 MiB | 2.14 MiB | 0 B (0.00%) |
packages/core/dist |
Directory total | 3.94 MiB | 3.94 MiB | 0 B (0.00%) |
| Combined package dist | Directory total | 6.09 MiB | 6.09 MiB | 0 B (0.00%) |
vp (Linux x64) |
Binary | 11.18 MiB | 11.18 MiB | 0 B (0.00%) |
vp (Linux x64) |
gzip -9 | 4.84 MiB | 4.84 MiB | +19 B (+0.00%) |
| NAPI (Linux x64) | Binary | 32.12 MiB | 32.12 MiB | 0 B (0.00%) |
| NAPI (Linux x64) | gzip -9 | 12.71 MiB | 12.70 MiB | -2.70 KiB (-0.02%) |
vp (macOS ARM64) |
Binary | 8.33 MiB | 8.33 MiB | 0 B (0.00%) |
vp (macOS ARM64) |
gzip -9 | 4.21 MiB | 4.21 MiB | +1.62 KiB (+0.04%) |
| NAPI (macOS ARM64) | Binary | 39.68 MiB | 39.68 MiB | 0 B (0.00%) |
| NAPI (macOS ARM64) | gzip -9 | 17.00 MiB | 17.00 MiB | -2.14 KiB (-0.01%) |
vp (Windows x64) |
Binary | 9.06 MiB | 9.06 MiB | 0 B (0.00%) |
vp (Windows x64) |
gzip -9 | 3.95 MiB | 3.95 MiB | +575 B (+0.01%) |
| NAPI (Windows x64) | Binary | 27.03 MiB | 27.03 MiB | 0 B (0.00%) |
| NAPI (Windows x64) | gzip -9 | 10.80 MiB | 10.80 MiB | -196 B (-0.00%) |
| Trampoline (Windows x64) | Binary | 13.50 KiB | 13.50 KiB | 0 B (0.00%) |
| Trampoline (Windows x64) | gzip -9 | 7.03 KiB | 7.03 KiB | -1 B (-0.01%) |
| Installer (Windows x64) | Binary | 4.53 MiB | 4.53 MiB | 0 B (0.00%) |
| Installer (Windows x64) | gzip -9 | 2.12 MiB | 2.12 MiB | -1 B (-0.00%) |
Registry bridge build (
|
| Package | Version |
|---|---|
vite-plus |
0.0.0-commit.4968901f7a745f2393de3a0aee85375b0d67d4e9 |
@voidzero-dev/vite-plus-core |
0.0.0-commit.4968901f7a745f2393de3a0aee85375b0d67d4e9 |
Install the Vite+ CLI built from this commit, then migrate a project:
# macOS / Linux
curl -fsSL https://raw.githubusercontent.com/voidzero-dev/vite-plus/4968901f7a745f2393de3a0aee85375b0d67d4e9/packages/cli/install.sh | VP_PR_VERSION=2692 VP_LEGACY_INSTALLER_URL=https://raw.githubusercontent.com/voidzero-dev/vite-plus/4968901f7a745f2393de3a0aee85375b0d67d4e9/packages/cli/install-legacy.sh bash# Windows (PowerShell)
$env:VP_PR_VERSION="2692"; $env:VP_LEGACY_INSTALLER_URL="https://raw.githubusercontent.com/voidzero-dev/vite-plus/4968901f7a745f2393de3a0aee85375b0d67d4e9/packages/cli/install-legacy.ps1"; irm https://raw.githubusercontent.com/voidzero-dev/vite-plus/4968901f7a745f2393de3a0aee85375b0d67d4e9/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.4968901f7a745f2393de3a0aee85375b0d67d4e9" --registry "https://registry-bridge.viteplus.dev/"After installing, upgrade the current project's vite-plus to this test build with:
vp migrateOr 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.4968901f7a745f2393de3a0aee85375b0d67d4e9",
"vite": "npm:@voidzero-dev/vite-plus-core@0.0.0-commit.4968901f7a745f2393de3a0aee85375b0d67d4e9"
}
}
🐳 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-2692 2>/dev/null; docker pull ghcr.io/voidzero-dev/vite-plus:pr-2692Quick check: docker run --rm ghcr.io/voidzero-dev/vite-plus:pr-2692 vp --versionSee docs/guide/docker.md for usage. |
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.
6b5bbca to
4968901
Compare
vp env usenow sets each package manager's version independently. This release also adds Oxlint plugin APIs and fixes migration, installation, and template extraction.Breaking Changes
Package-manager overrides
Direct package-manager commands no longer use
VP_PACKAGE_MANAGER. Use the matching version variable in shell profiles, CI jobs, and Dockerfiles:VP_PACKAGE_MANAGER=npm@<version>VP_NPM_VERSION=<version>VP_PACKAGE_MANAGER=pnpm@<version>VP_PNPM_VERSION=<version>VP_PACKAGE_MANAGER=yarn@<version>VP_YARN_VERSION=<version>VP_PACKAGE_MANAGER=bun@<version>VP_BUN_VERSION=<version>VP_PACKAGE_MANAGERstill selects the manager and version forvp installand related commands.vp env use pnpm@10now changes only the direct pnpm commands. To overridevp install, setVP_PACKAGE_MANAGERexplicitly.The old
.session-package-managerfile is no longer read or migrated. Runvp env useagain to create the new session files. Projects that use only project pins or global defaults need no changes. See the environment guide (#2658, #2659), by @liangmiQwQ.Installer preferences
VP_NODE_MANAGERnow controls only Node.js. Existing installations retain saved preferences during upgrades, sovp upgradeneeds no configuration changes. For scripted installations, setVP_PM_MANAGERto apply the same choice to package managers:VP_NODE_MANAGER=noVP_NODE_MANAGER=no VP_PM_MANAGER=noVP_NODE_MANAGER=yesVP_NODE_MANAGER=yes VP_PM_MANAGER=yesUpdate installer commands in CI jobs and Dockerfiles. Use
VP_NPM_MANAGER,VP_PNPM_MANAGER,VP_YARN_MANAGER, orVP_BUN_MANAGERfor individual preferences. The interactive prompt retains its combined choice. See the installer variables guide (#2681), by @liangmiQwQ.Vite DevTools
Projects that install
@vitejs/devtoolsmust update its dependency range from^0.4.0 || ^0.5.0to^0.7.1. Projects without this optional dependency need no changes. This requirement comes with the Vite upgrade listed below.Highlights
vp upgradeshare setup behavior across platforms, which simplifies maintenance. The installers retain support for older releases (#2611), by @liangmiQwQ.vite-plus/lint/pluginsandvite-plus/lint/plugins-dev.vp migrateupdates supported existing imports (#2328), by @fengmk2.vp installandvp addnow honor--ignore-scriptsfor named packages and managed global installations (#2682), by @jong-kyung.vp createrejects malformed registry versions that could place organization template files outside the cache directory (#2665), by @fengmk2.Features
vite@8.2.2tovite@8.3.0and fromrolldown@1.2.7torolldown@1.2.8. They also update fromoxlint@1.81.0tooxlint@1.82.0and fromoxfmt@0.66.0tooxfmt@0.67.0. The new linter and formatter can flag code that passed before. Runvp fmtafter the upgrade if CI runsvp check(#2670), by @fengmk2.Fixes & Enhancements
vp env pinupdates an active local.nvmrcand preserves its comments. Use--target nvmrcto select this file explicitly (#2676), by @ywenhao.vp migratereports unsupported ESLint rules that it skips, so users can review the missing checks (#2689), by @yusuke99.vp migrateimports leftover tsdown configuration when a project already uses Vite+ (#2646), by @TheAlexLichter.vp migrateaccepts single-line JSON formatter configuration with a final newline (#2643), by @TheAlexLichter.vp migrateavoids a redundantplaywrightdependency when the project already declares@playwright/test(#2637), by @yusuke99.--no-interactiveand report missing arguments without prompts. Existing generators need the updated entrypoint (#2677), by @SaKaNa-Y.vp upgradeinstalls its dependencies correctly when the installation directory is inside a pnpm workspace (#2644), by @fengmk2.nodeis absent fromPATH(#2673), by @fengmk2.package.jsonerrors include the affected file's path (#2683), by @adamaveray.Docs
envfield (#2653), by @SaKaNa-Y.viteandvitestdependencies (#2660), by @naokihaba.Chore
Bundled Versions
vite8.3.0434e8e9rolldown1.2.89704b56tsdown0.23.0vitest4.1.11oxlint1.82.0oxlint-tsgolint7.0.2001oxfmt0.67.0Upgrade
New Contributors
@yusuke99, @pablog12, @SaKaNa-Y, @ywenhao, @adamaveray
Full Changelog: v0.3.1...v0.3.2
Merging this PR will trigger the release workflow.