release: v0.3.1: manage package-manager versions with vp env - #2623
Conversation
✅ Deploy Preview for viteplus-preview canceled.
|
🚀 Deploying Preview to Cloudflare 🚀Preview URL: https://release-v0-3-1-viteplus-dev.voidzero-docs.workers.dev (commit fbe9607)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.92 MiB | 3.92 MiB | 0 B (0.00%) |
| Combined package dist | Directory total | 6.06 MiB | 6.06 MiB | 0 B (0.00%) |
vp (Linux x64) |
Binary | 10.99 MiB | 10.99 MiB | 0 B (0.00%) |
vp (Linux x64) |
gzip -9 | 4.76 MiB | 4.76 MiB | +1.30 KiB (+0.03%) |
| NAPI (Linux x64) | Binary | 31.93 MiB | 31.93 MiB | 0 B (0.00%) |
| NAPI (Linux x64) | gzip -9 | 12.61 MiB | 12.61 MiB | +1.15 KiB (+0.01%) |
vp (macOS ARM64) |
Binary | 8.19 MiB | 8.19 MiB | 0 B (0.00%) |
vp (macOS ARM64) |
gzip -9 | 4.15 MiB | 4.15 MiB | -1.09 KiB (-0.03%) |
| NAPI (macOS ARM64) | Binary | 39.55 MiB | 39.55 MiB | 0 B (0.00%) |
| NAPI (macOS ARM64) | gzip -9 | 16.93 MiB | 16.92 MiB | -5.16 KiB (-0.03%) |
vp (Windows x64) |
Binary | 8.86 MiB | 8.86 MiB | 0 B (0.00%) |
vp (Windows x64) |
gzip -9 | 3.88 MiB | 3.88 MiB | -424 B (-0.01%) |
| NAPI (Windows x64) | Binary | 26.81 MiB | 26.81 MiB | 0 B (0.00%) |
| NAPI (Windows x64) | gzip -9 | 10.70 MiB | 10.70 MiB | -155 B (-0.00%) |
| Trampoline (Windows x64) | Binary | 14.00 KiB | 14.00 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.50 MiB | 4.50 MiB | 0 B (0.00%) |
| Installer (Windows x64) | gzip -9 | 2.11 MiB | 2.11 MiB | 0 B (0.00%) |
Registry bridge build (
|
| Package | Version |
|---|---|
vite-plus |
0.0.0-commit.6d65e1780791e2b24b27cf7deb63f57a420e78de |
@voidzero-dev/vite-plus-core |
0.0.0-commit.6d65e1780791e2b24b27cf7deb63f57a420e78de |
Install the Vite+ CLI built from this commit, then migrate a project:
# macOS / Linux
curl -fsSL https://github.com/@raw/voidzero-dev/vite-plus/6d65e1780791e2b24b27cf7deb63f57a420e78de/packages/cli/install.sh | VP_PR_VERSION=2623 bash# Windows (PowerShell)
$env:VP_PR_VERSION="2623"; irm https://raw.githubusercontent.com/voidzero-dev/vite-plus/6d65e1780791e2b24b27cf7deb63f57a420e78de/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.6d65e1780791e2b24b27cf7deb63f57a420e78de" --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.6d65e1780791e2b24b27cf7deb63f57a420e78de",
"vite": "npm:@voidzero-dev/vite-plus-core@0.0.0-commit.6d65e1780791e2b24b27cf7deb63f57a420e78de"
}
}
🐳 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-2623 2>/dev/null; docker pull ghcr.io/voidzero-dev/vite-plus:pr-2623Quick check: docker run --rm ghcr.io/voidzero-dev/vite-plus:pr-2623 vp --versionSee docs/guide/docker.md for usage. |
6d65e17 to
8c38fc8
Compare
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.
…kill Adds a registry-visibility gate after npm publish. A green Release job only means the registry accepted the request; v0.3.0 shipped with vite-plus on latest depending on a core version that stayed invisible for about 35 minutes, breaking every install and failing the Docker and docs jobs. Also drops the PR-title opener from the body template, records that Docs covers the published site rather than contributor files, keeps resolution logic out of entries, requires a migration path on breaking changes, and stops posting the Discord draft to the release PR. (cherry picked from commit 54f70dd)
8c38fc8 to
fbe9607
Compare
vp envnow manages Node.js and package-manager versions together. This release also fixes TanStack Start routing and stale Vitest aliases.Breaking Changes
Package-manager setup
Vite+ replaces Corepack with managed
npm,pnpm,yarn, andbuncommands. It removes thecorepackshim and legacy global package-manager installations (#2391), by @liangmiQwQ.Replace Corepack setup commands in shell profiles, CI jobs, and Dockerfiles:
corepack enablevp env setupvp install -g pnpm@<version>vp env default pnpm@<version>vp install -g yarn@<version>vp env default yarn@<version>vp install -g bun@<version>vp env default bun@<version>vp install -g corepackUse
vp env pin <manager>@<version>to set a project version.vp envcommand scope and JSON outputUnscoped
vp envcommands now operate on Node.js and package managers. Package managers support independent defaults, project pins, session overrides, and installation commands (#2398), by @liangmiQwQ.Add
nodeto limit an operation to Node.js, for example,vp env off nodeorvp env unpin node. Bare versions, such asvp env default 22.19.0, still select Node.js.Update scripts that read JSON output:
vp env current --jsonnodeandpackage_managerobjectsvp env list --json,vp env list-remote --jsonnodeandpackage_managersgroupsSee the environment guide.
vp packmigration totsdown0.23vp packnow usestsdown0.23, which removes deprecated options and changes defaults (#2614), by @fengmk2.vp migrateto update supported static configurations and package scripts, including projects that already use Vite+.vite.config.*,tsdown.config.*, andpackage.json..map()require manual changes, even when migration reports no warning.vp packto check the result.bundle: falseunbundle: trueoutExtensionoutExtensionspublicDir/--public-dircopy/--copyremoveNodeProtocol: truenodeProtocol: 'strip'injectStylecss.injectinlineOnly/deps.onlyAllowBundledeps.onlyBundlenoExternaldeps.alwaysBundleskipNodeModulesBundle: true/deps.skipNodeModulesBundle: truedeps.neverBundle: truedts.tsgo: true/dts.oxc: truedts.generator: 'tsgo'/dts.generator: 'oxc'Migration preserves the previous defaults for dependency resolution and ATTW.
tsdownno longer supports Node.js25. Use Node.js^22.18.0,^24.11.0, or>=26.0.0. The programmaticbuild()API now returns{ bundles, watch }.See the complete migration guide for declaration and TypeScript module-resolution changes.
CLI argument validation
vp staged,vp config,vp hooks,vp migrate, andvp createnow reject unsupported options and extra positional arguments (#2523), by @fengmk2.Remove unsupported arguments from scripts. For example, replace
vp config --hooks-onlywithvp config --no-agent.Highlights
404responses caused by separate Vite runtime copies (#2617), by @fengmk2.vp-shim.exesize from214 KiBto14 KiB(#2466), by @fengmk2.vp check --quietto hide lint warning diagnostics while retaining errors and summary counts (#2593), by @RSS1102.Features
vp sync-versions --jsonso automation can request dependency alignment plans from manifest snapshots without changing project files (#2600), by @afonsojramos.vp create --gitsuggest an initial commit command after Git initialization (#2581), by @fengmk2.vp migratereplace frozenvoidzero-dev/setup-vp@v1workflow references with the supported version pin (#2540), by @fengmk2.rolldownfrom1.2.5to1.2.7,tsdownfrom0.22.14to0.23.0, and Oxc from0.146.0to0.148.0. Upgradeoxlintfrom1.79.0to1.81.0andoxfmtfrom0.64.0to0.66.0. These versions can flag code that passed before. Runvp fmtafter upgrading if CI runsvp check(#2580, #2613), by @voidzero-guard[bot].Fixes & Enhancements
package.json. Usevp env pinorvp env unpinto change project declarations explicitly (#2399), by @liangmiQwQ.vp migraterepair stalevitestaliases that previously prevented the CLI from starting (#2605), by @fengmk2.4.xmajor (#2612), by @fengmk2.tsdownoption from the prompts package build (#2597), by @jong-kyung.Refactor
whichdependency to resolve relativePATHentries (#2583), by @RSS1102.async-traitannotation fromJsRuntimeProvider(#2538), by @jong-kyung.Docs
runtimeOnFailsetting (#2620), by @liangmiQwQ.Chore
vinextfixture to an upstream fix (#2571), by @jong-kyung.tempfiledependencies, an unused runtime helper, and unused error variants. Update theunit_bindingslint name (#2555, #2558, #2566, #2567), by @jong-kyung.actions/setup-nodev7(#2544, #2545, #2582, #2618), by @renovate[bot].crate-ci/typosthroughv1.50.1(#2584, #2589, #2609), by @renovate[bot].11.24.0(#2590), by @renovate[bot].voidzero-dev/setup-vptov1.19.0(#2619), by @renovate[bot].Bundled Versions
vite8.2.2de1111arolldown1.2.726b4c6etsdown0.23.0vitest4.1.11oxlint1.81.0oxlint-tsgolint7.0.2001oxfmt0.66.0Upgrade
New Contributors
@afonsojramos, @joschuba
Full Changelog: v0.3.0...v0.3.1
Merging this PR will trigger the release workflow.