Skip to content

release: v1.0.0-rc.0: Vitest 5 migration and npm provenance checks - #2780

Merged
fengmk2 merged 3 commits into
mainfrom
release/v1.0.0-rc.0
Sep 22, 2026
Merged

fengmk2 merged 3 commits into
mainfrom
release/v1.0.0-rc.0

Conversation

@voidzero-guard

@voidzero-guard voidzero-guard Bot commented Sep 22, 2026 •

Copy link
Copy Markdown
Contributor

Vite+ now uses Vitest 5, and vp migrate helps Vitest 4 projects adopt the new APIs and defaults. Standalone installs and upgrades now require verified npm provenance for release binaries.

Breaking Changes

Vitest 5

vp test and the public vite-plus/test* exports now use vitest@5.0.1 (#2551), by @fengmk2.

Area Old New
Test runner vitest@4.1.11 vitest@5.0.1
CLI Node.js range ^20.19.0 || ^22.18.0 || >=24.11.0 ^22.18.0 || ^24.11.0 || >=26.0.0
vite-plus/test/runners and vite-plus/test/suite Vite+ compatibility exports Use supported APIs from vite-plus/test; review unsupported runner and expect plugins
vite-plus/test/browser-webdriverio Bundled export Use the community @vitest/browser-webdriverio package

Run vp migrate from the workspace root before you install the new dependencies. The migrator updates supported config, source, benchmark, command, and import changes. It reports manual work as BLOCK or REVIEW items. See the Vitest 5 migration guide for the full process. Projects can stay on the prior release until their runtimes and tests are ready.

vp staged runtime requirements

vp staged now uses lint-staged@17.5.1 (#2754), by @fengmk2.

Requirement Old New
Node.js for vp staged The Vite+ CLI runtime range ^22.22.1 || ^24.11.0 || >=26.0.0
Git No separate documented minimum >=2.32.0

Update Node.js and Git on developer machines and CI runners that execute vp staged or its pre-commit hook. Other workflows do not use these extra requirements.

Highlights

  • Standalone installers, vp upgrade, and vp-setup.exe now reject release binaries without supported SLSA provenance (#2440), by @kazupon.
  • Installers now show progress and the exact shell activation command. Download progress preserves earlier terminal output (#2744, #2741), by @fengmk2.
  • System-first runtime and package-manager shims now use a fallback directory at the end of PATH. Setup restores missing package-manager preferences (#2758, #2763), by @liangmiQwQ and @fengmk2.
  • vp run now finishes when background processes remain. Large file traces run without caching instead of killing the task (#2767, vite-task#675), by @wan9chi.

Features

  • vp add now supports shared install options such as --offline, --frozen-lockfile, and --lockfile-only (#2722), by @jong-kyung.
  • vp pm patch and vp pm patch-commit now use the native commands in npm 12 and later (#2736), by @jong-kyung.
  • vp rebuild now supports Yarn Berry and forwards package names and extra arguments (#2761), by @jong-kyung.
  • The bundled tools update oxlint 1.83.0 -> 1.85.0, oxlint-tsgolint 7.0.2001 -> 7.0.2002, and oxfmt 0.68.0 -> 0.70.0 (#2745, #2773, #2778), by @voidzero-guard[bot]. These versions can flag or format code that passed before. Run vp fmt after upgrading if CI runs vp check.

Fixes & Enhancements

  • oxlint and oxfmt no longer expose bin wrappers that conflict with upstream packages. Editors must use vp lint --lsp, vp fmt --lsp, or vp fmt --stdin-filepath (#2672), by @fengmk2.
  • vp create vite:generator now replaces catalog references for package managers that do not support catalogs (#2720), by @SaKaNa-Y.
  • Unpinned npm projects now use the npm version bundled with the selected Node.js runtime. The same policy works during migration (#2742, #2748), by @liangmiQwQ.
  • The CLI now loads its local versions module through a file URL, including on Windows paths (#2749), by @YanChenBai.
  • Package-manager commands now use pnpm when the project has no detected package manager (#2750), by @liangmiQwQ.
  • vp migrate now removes unused @oxlint/plugins dependencies after it rewrites plugin imports (#2751), by @fengmk2.
  • vp update --no-save now warns that Yarn Classic and Yarn Berry do not support the option (#2762), by @jong-kyung.
  • vp migrate now explains its tsdown@0.23 compatibility settings and links to removal guidance (#2769), by @fengmk2.
  • Environment setup now installs and diagnoses the official pn and pnx aliases for pnpm (#2770), by @iruoy.
  • Cached tasks now receive GitHub Actions OIDC variables, so npm Trusted Publishing works through vp run (vite-task#691), by @naokihaba.
  • Automatic task input tracking now records file access from signal handlers (vite-task#687), by @wan9chi.

Refactor

  • vp lint, vp fmt, and vp check now use native config discovery. Package commands keep matching workspace-root settings, while explicit config flags take precedence (#2731), by @fengmk2.

Chore

  • Generated workflows and vp migrate now use setup-vp@v1.21.1, including its installation fixes (#2760, #2772), by @renovate[bot] and @fengmk2.

Bundled Versions

Tool Version Source
vite 8.3.0 434e8e9
rolldown 1.2.9 5b4746e
tsdown 0.23.0 npm
vitest 5.0.1 npm
oxlint 1.85.0 npm
oxlint-tsgolint 7.0.2002 npm
oxfmt 0.70.0 npm

Upgrade

vp upgrade

New Contributors

@YanChenBai, @iruoy

Full Changelog: v0.3.3...v1.0.0-rc.0


Merging this PR will trigger the release workflow.

@cloudflare-workers-and-pages

cloudflare-workers-and-pages Bot commented Sep 22, 2026 •

Copy link
Copy Markdown

🚀 Deploying Preview to Cloudflare 🚀

Preview URL: https://release-v1-0-0-rc-0-viteplus-dev.voidzero-docs.workers.dev (commit e0f77ee)

This URL reflects your latest Preview deployment

Preview Deployments by commit

Status Deployment URL Commit Updated (UTC) See this deployment's details
  • Build: Success ✅
  • Deployment: Success ✅

View logs ↗
https://adcda6ef-viteplus-dev.voidzero-docs.workers.dev e0f77ee 2026-09-22T08:25:09.543Z Visit the dashboard ↗
  • Build: Success ✅
  • Deployment: Success ✅

View logs ↗
https://4b4736ad-viteplus-dev.voidzero-docs.workers.dev 13cbc7b 2026-09-22T07:57:16.071Z Visit the dashboard ↗
  • Build: In progress 🔵

View logs ↗
567c888 2026-09-22T07:55:13.939Z View logs ↗

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.
@github-actions

github-actions Bot commented Sep 22, 2026 •

Copy link
Copy Markdown
Contributor

✅ Staging deployment successful!

Preview: https://viteplus-staging.void.app/
Commit: e0f77ee

@fengmk2 fengmk2 changed the title release: v1.0.0-rc.0 release: v1.0.0-rc.0: Vitest 5 migration and npm provenance checks Sep 22, 2026
@github-actions

github-actions Bot commented Sep 22, 2026 •

Copy link
Copy Markdown
Contributor

CLI artifact sizes (e0f77ee)

Final release artifacts built by the canonical build-upstream and build-windows-cli actions.
The dist rows use the Linux build. The core total excludes .node files to match the release artifact.

Artifact Format Base PR Change
packages/cli/dist Directory total 2.12 MiB 2.12 MiB +27 B (+0.00%)
packages/core/dist Directory total 3.95 MiB 3.95 MiB +80 B (+0.00%)
Combined package dist Directory total 6.07 MiB 6.07 MiB +107 B (+0.00%)
vp (Linux x64) Binary 11.28 MiB 11.28 MiB 0 B (0.00%)
vp (Linux x64) gzip -9 4.88 MiB 4.88 MiB +21 B (+0.00%)
NAPI (Linux x64) Binary 32.11 MiB 32.11 MiB 0 B (0.00%)
NAPI (Linux x64) gzip -9 12.74 MiB 12.73 MiB -4.28 KiB (-0.03%)
vp (macOS ARM64) Binary 8.41 MiB 8.41 MiB 0 B (0.00%)
vp (macOS ARM64) gzip -9 4.26 MiB 4.26 MiB -64 B (-0.00%)
NAPI (macOS ARM64) Binary 39.72 MiB 39.72 MiB 0 B (0.00%)
NAPI (macOS ARM64) gzip -9 17.04 MiB 17.04 MiB -1.30 KiB (-0.01%)
vp (Windows x64) Binary 9.16 MiB 9.16 MiB 0 B (0.00%)
vp (Windows x64) gzip -9 4.00 MiB 4.00 MiB +155 B (+0.00%)
NAPI (Windows x64) Binary 27.07 MiB 27.07 MiB 0 B (0.00%)
NAPI (Windows x64) gzip -9 10.84 MiB 10.84 MiB -566 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.56 MiB 4.56 MiB 0 B (0.00%)
Installer (Windows x64) gzip -9 2.13 MiB 2.13 MiB 0 B (0.00%)

@fengmk2 fengmk2 added test: e2e Auto run e2e tests test: install-e2e run vite install e2e test test: create-e2e Run `vp create` e2e tests test: sfw labels Sep 22, 2026
@fengmk2 fengmk2 added the preview-build Publish this PR's commits to the registry bridge as preview builds label Sep 22, 2026
@github-actions

Copy link
Copy Markdown
Contributor

Registry bridge build (e0f77ee)

This commit build is published to the registry bridge, which serves these as ordinary npm versions (every other package proxies to npmjs):

Package Version
vite-plus 0.0.0-commit.e0f77ee2353b38c77d7165d3305f9f6d705b4d62
@voidzero-dev/vite-plus-core 0.0.0-commit.e0f77ee2353b38c77d7165d3305f9f6d705b4d62

Install the Vite+ CLI built from this commit, then migrate a project:

# macOS / Linux
curl -fsSL https://raw.githubusercontent.com/voidzero-dev/vite-plus/e0f77ee2353b38c77d7165d3305f9f6d705b4d62/packages/cli/install.sh | VP_PR_VERSION=2780 VP_LEGACY_INSTALLER_URL=https://raw.githubusercontent.com/voidzero-dev/vite-plus/e0f77ee2353b38c77d7165d3305f9f6d705b4d62/packages/cli/install-legacy.sh bash
# Windows (PowerShell)
$env:VP_PR_VERSION="2780"; $env:VP_LEGACY_INSTALLER_URL="https://raw.githubusercontent.com/voidzero-dev/vite-plus/e0f77ee2353b38c77d7165d3305f9f6d705b4d62/packages/cli/install-legacy.ps1"; irm https://raw.githubusercontent.com/voidzero-dev/vite-plus/e0f77ee2353b38c77d7165d3305f9f6d705b4d62/packages/cli/install.ps1 | iex

Or 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.e0f77ee2353b38c77d7165d3305f9f6d705b4d62" --registry "https://registry-bridge.viteplus.dev/"

After installing, upgrade the current project's vite-plus to this test build with:

vp migrate

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.e0f77ee2353b38c77d7165d3305f9f6d705b4d62",
    "vite": "npm:@voidzero-dev/vite-plus-core@0.0.0-commit.e0f77ee2353b38c77d7165d3305f9f6d705b4d62"
  }
}

@github-actions

Copy link
Copy Markdown
Contributor

🐳 Docker preview image

Built from this PR's registry bridge build:

Image Compressed size
ghcr.io/voidzero-dev/vite-plus:pr-2780 224MB
# remove any stale local copy from a previous run, then pull fresh
docker rmi ghcr.io/voidzero-dev/vite-plus:pr-2780 2>/dev/null; docker pull ghcr.io/voidzero-dev/vite-plus:pr-2780

Quick check:

docker run --rm ghcr.io/voidzero-dev/vite-plus:pr-2780 vp --version

See docs/guide/docker.md for usage.

@fengmk2
fengmk2 merged commit 173e734 into main Sep 22, 2026
158 of 162 checks passed
@fengmk2
fengmk2 deleted the release/v1.0.0-rc.0 branch September 22, 2026 13:12
@liangmiQwQ

Copy link
Copy Markdown
Collaborator

Congratulations!

@jong-kyung

Copy link
Copy Markdown
Collaborator

Congrats 💜

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

preview-build Publish this PR's commits to the registry bridge as preview builds test: create-e2e Run `vp create` e2e tests test: e2e Auto run e2e tests test: install-e2e run vite install e2e test test: sfw

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants