About vite-plus
A Vite+ skill documenting migration, checks, workspace task behavior, and runtime or CI constraints that are easy to miss in upstream documentation. It is for teams maintaining Vite+ projects and provides version-specific operational guidance.
Key features
- 01Migration steps and review items
- 02Vite+ check and task guidance
- 03Workspace command behavior notes
- 04Node and Git version constraints
- 05CI cache and release cautions
Use cases
- 01Plan a Vite+ version migration
- 02Configure type checking and lint commands
- 03Run tasks across workspace packages
- 04Review runtime and CI requirements
Install
Copy the command and run it in a terminal.
$
npx skills add https:/ / github.com/ uinaf/ agent-skills --skill vite-plusAfter installing, type/vite-plusin Claude Code to confirm it loaded.
Bundled filesagents/openai.yaml
Details
From the project READMEVite+
Rules the upstream docs leave implicit.
Migrate
- Run the target migrator before any
pnpm updateorpnpm add, with the original lockfile installed: it detects the source Vitest version from it. Projects below Vitest 4 go to a 0.x release first. - Convert tsup with
pnpm --package=vite-plus@<exact> dlx vp migrate --full; plainvp migrateskips it. On 1.0.0-rc.0 it leaves an intermediatetsdown.config.ts, a directtsdowndependency, and atsdownscript. Move the settings into thepackblock ofvite.config.ts, switch the script tovp pack, droptsdown, delete the intermediate config, and prove output parity for ESM, CJS,.d.ts, and.d.cts. - The 1.0 migrator exits 0 with
REVIEWitems outstanding; resolve all of them before committing.BLOCKstops dependency updates: fix and rerun. Save the review report before reinstalling. - Restore
vite: catalog:wherevp upwrote a literal alias (fixed in 0.3.0), and point the catalog entry atnpm:@voidzero-dev/vite-plus-core@<target>. - Under pnpm 12, unknown keys in
pnpm-workspace.yamlfail the install. Move them to a non-pnpm owner instead of relaxing validation or downgrading pnpm.
Checks and tasks
- Set
lint.options.typeCheck: truesovp checkreports type errors. Drop a separatetsc --noEmitonly after one run shows identical diagnostics. A framework checker such asvue-tscstays as the only standalone type check, on TypeScript 6 until the TypeScript 7.1 API ships. - 1.0 no longer ships the
oxlintandoxfmtbinaries. Point editors and scripts atvp lint --lsp,vp fmt --lsp, andvp fmt --stdin-filepath. - From Vitest 5,
vp testno longer searches parent directories for a config; package-level runs need--config <root>/vite.config.ts --dir .. - From 0.3.0, bare app commands at the workspace root prefer
defaultPackageor the root config, so a green root run does not prove workspace coverage. Usevp run -r <task>. - Built-ins don't dispatch same-named package scripts; use
vp run <script>orvpr <script>.
Runtimes and CI
- 1.0.0-rc.0 requires Node
^22.18.0 || ^24.11.0 || >=26.0.0. The migrator bumps version files, not CI images, containers, or publishedengines.node. To keep Node 20 in the public contract, constrain contributors withdevEngines.runtime. vp stagedon 1.0 needs Node^22.22.1 || ^24.11.0 || >=26.0.0and Git 2.32+ wherever the hook runs; the migrator's.nvmrcof 22.18.0 is too low.- Projects tested with
@cloudflare/vitest-pool-workers0.22.0 stay on their 0.x Vite+ pin until workers-sdk#15618 ships: every Worker test file fails to start on 1.0.0-rc.0. - In secret-bearing release, publish, or deploy jobs keep dependency caches
off (
setup-vpcachedefaults tofalse; don't carry overcache: pnpm), install fresh, and verify the exact payload before credentials are used. vp implodedeletes managed runtimes and global state, so align CI paths some other way. The toolchain container is for build tooling, not a production runtime.- Keep package-script caching off in Vite+ task graphs unless every script is
pure; a global
run.cache: truealso caches deploy, publish, and migration scripts. Put runtime and toolchain pins in every cached task's inputs, not only in CI cache keys.
Comments
Markdown supported