Repository navigation
Conversation
kmcginnes
added this pull request to stack #2306
September 29, 2026 21:08
kmcginnes
force-pushed
the
vite-plus
branch
from
September 29, 2026 22:45
898393d to
6cbeb9c
Compare
kmcginnes
removed this pull request from stack #2306
September 29, 2026 22:52
kmcginnes
force-pushed
the
vite-plus
branch
2 times, most recently
from
September 29, 2026 23:04
3b0105d to
17a6a55
Compare
kmcginnes
changed the base branch from
explicit-vitest-imports
to
remove-coverage
September 29, 2026 23:05
kmcginnes
added this pull request to stack #2310
September 29, 2026 23:05
kmcginnes
force-pushed
the
vite-plus
branch
2 times, most recently
from
September 30, 2026 19:14
b74946b to
c791fbc
Compare
kmcginnes
force-pushed
the
vite-plus
branch
2 times, most recently
from
October 1, 2026 19:31
3c2e77c to
11e1ef5
Compare
This branch has not been deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Migrates the toolchain to Vite+ 1.1 using
vp migrate, then finishes by hand what it left. The app, the proxy server, and the Docker image behave the same. Only contributor tooling changes.What
vp migratedid (first commit):vite.config.tsoxlint,oxfmt, andoxlint-tsgolintwithvite-plus, pinned through a pnpm catalog.vitenow points at@voidzero-dev/vite-plus-corevitestimports tovite-plus/testand droppedvitestfrom every manifestWhat I finished by hand (second commit):
minimumReleaseAgeExcludelist the migrator added. It exempted vite-plus, vitest, and the oxc packages from our 24h release-age gate.stagedblock and.vite-hooks/pre-commit.vp configwon't replace acore.hooksPathit doesn't own. Sopreparefirst unsets it when it points at Husky, which means existing clones pick up the new hooks on their nextpnpm install:husky, and|| cd .keeps it portable to cmd. It can go after a release or two.ENV VP_GIT_HOOKS=0, because the image has nogit, andvp configfails the install where Husky skipped quietly.vite-plusgroup, because the catalog aliasesviteto@voidzero-dev/vite-plus-coreat the vite-plus version.AGENTS.md: allows runningvpsubcommands directly.Review follow-ups (third commit):
test.projectsmoved intovite.config.ts, and the proxy-server and sharedvitest.config.tsfiles are nowvite.config.tstypeChecklint option the migrator added.tscinpnpm check:typesstays the one type check, sopnpm checksdoesn't type-check twice and the pre-commit hook doesn't start blocking on type errors.github/dependabot.ymlandpnpm-workspace.yaml: vite-plus bumps carry Vite, Vitest, oxlint, and oxfmt fixes, andvp migratere-adds the release-age exclusions on every upgradedocs/agents/testing.mdimports fromvite-plus/test.docs/development.mdgains a Tooling section and drops apnpm add -D vitestexample.REVIEW.mdnamesvp lintandvp fmtTool versions: vite-plus 1.1.0 bundles vitest 5.0.3, oxlint 1.87.0, and oxfmt 0.72.0, each at or ahead of what
mainpins today.vitestis no longer a direct dependency anywhere. Vite+ bundles it and re-exports it asvite-plus/test, so it moves in lockstep withvite-plus.Evidence
pnpm checkspasses. Test files with deliberate violations still trip type-aware rules (switch-exhaustiveness-check) and JS plugins (react-compiler/set-state-in-render), so the merged lint config has parity.pnpm testpasses: 251 files, 3343 testspnpm buildpassesdocker buildpasses, and the running container returns 200 on/explorer/pnpm devserves the app with the React Compiler transform applied.vite-hooks/pre-commitrunsvp lint --fixandvp fmton the staged filespnpm installfrom agit archiveextract (no.git) passescore.hooksPath=.husky/_gets.vite-hooks/_afterpnpm installMerge Danger
Door: two-way
A revert restores the old tooling. Contributors then need one
pnpm installso Husky resets the hooks path.Blast Radius: contributors
Release notes for contributors:
pnpm installafter pulling. It moves your git hooks from Husky to Vite+.VoidZero.vite-plus-extension-pack), oroxc-zedfor Zed.vpsubcommands (vp test,vp lint,vp fmt,vp check) now work directly.core.hooksPathis shared by every worktree of a clone. While some worktrees are still on older branches, installing on this branch and on an older branch will flip the path back and forth, and the hook only runs in worktrees that match the current value. It settles once every worktree is onmain.The shipped bundle is now built by
vite-plus-coreinstead ofvite8.3. The build and Docker smoke tests above cover that swap.