| FazBrowse GitHub Viewer | Trending | | Home |
| Tools: [Download Repo ZIP] [Original HTTPS Page] |
Sorry, something went wrong.
…tays effective `vp create vite:monorepo` stripped vite/vitest from apps/website for every package manager. For pnpm this removed the only direct `vite` dependency, so the pnpm-workspace.yaml `overrides.vite: catalog:` entry had no consumer and `vp why vite` resolved to upstream vite instead of @voidzero-dev/vite-plus-core, making the override look ineffective. Skip the strip for pnpm so the workspace override has a direct consumer. npm, yarn, and bun are unaffected: their root overrides/resolutions redirect the transitive/peer vite to @voidzero-dev/vite-plus-core regardless of a direct dep (verified), so they keep dropping the dead-weight keys.
✅ Deploy Preview for viteplus-preview canceled.
|
Sorry, something went wrong.
…ompt The migration prompt told agents to "remove old vite and vitest dependencies" after rewriting imports. On pnpm that direct (aliased) entry is what gives the pnpm-workspace.yaml `overrides.vite: catalog:` a consumer to redirect, so removing it makes `vp why vite` report upstream vite and the override look ineffective. Reword the prompt (in both docs/guide/migrate.md and the CLI-printed copy) to keep the aliased entries on pnpm; other package managers can still drop them once import rewrites are confirmed. Regenerate the two migration snap tests that capture the printed prompt.
|
✅ Staging deployment successful! Preview: https://viteplus-staging.void.app/ |
Sorry, something went wrong.
There was a problem hiding this comment.
✅ Bugbot reviewed your changes and found no new issues!
Comment @cursor review or bugbot run to trigger another review on this PR
Reviewed by Cursor Bugbot for commit 16f7d45. Configure here.
Sorry, something went wrong.
Release vite-plus v0.1.24. A new `vp pm stage` publishing workflow, hardened installs and upgrades, a Node-version mismatch reinstall prompt, and the bundled vite/vitest/tsdown stack moves forward. ### Features - `vp pm stage`: a new `vp pm` subcommand exposing npm's staged-publishing workflow (upload a build to a staging area without 2FA, then approve or reject it from a trusted device); it maps to `pnpm stage` / `npm stage` / `yarn npm ... --staged` per package manager, with an npm fallback for yarn Classic and bun ([#1715](#1715)), by @fengmk2 - `vp`: prompt to reinstall when up-to-date global packages were built against a different Node.js than the active one (defaults to no); adds `--reinstall-node-mismatch` and `--ignore-node-mismatch`, and skips the prompt in CI ([#1666](#1666)), by @liangmiQwQ - `vp format`: add `format` as a visible alias of `vp fmt`, so the common slip `vp format` resolves correctly and `vp format --init` / `--migrate` apply the same `vite.config.ts` wiring as `vp fmt` ([#1727](#1727)), by @semimikoh ### Fixes & Enhancements - `vp install` / Node runtime download: HTTP retries now wrap the whole body stream, hash verification, and archive extraction (not just the request headers), so truncated or corrupt downloads of package managers and Node are re-fetched instead of failing on the first attempt ([#1719](#1719)), by @fengmk2 - `vp upgrade --force` on Windows: install into a fresh directory before repointing `current`, so the forced reinstall no longer fails trying to overwrite the running `vp.exe` ([#1714](#1714)), by @fengmk2 - `vp install -g`: install global packages directly into their final prefix instead of a temp dir that gets moved, so packages whose postinstall scripts bake in absolute or relative temp paths still resolve their bins; a failed package in a multi-package install no longer removes the shims of the ones that already succeeded ([#1698](#1698)), by @liangmiQwQ - `vp why`: remove the `-g` / `--global` flag, which delegated to the package manager's global mode and ignored Vite+-managed global packages; `vp why` stays project-scoped while `vp outdated -g` keeps using the managed global flow ([#1720](#1720)), by @liangmiQwQ - Windows installer: remove the existing `current` link via PowerShell (detecting junctions, symlinks, and stale directories) instead of `cmd /c rmdir`, which could fail with "The directory is not empty" ([#1726](#1726)), by @TheAlexLichter - `vp create`: skip editor-config detection and package-local editor settings by default when creating a project inside an existing monorepo; `--editor <name>` stays an explicit opt-in and `--no-editor` an opt-out ([#1729](#1729)), by @jong-kyung - `vp create vite:monorepo` (pnpm): keep the aliased `vite`/`vitest` in the website app's `package.json` so the workspace `overrides.vite: catalog:` has a direct consumer and `vp why vite` resolves to `@voidzero-dev/vite-plus-core`; npm/yarn/bun still drop the dead-weight keys ([#1728](#1728)), by @fengmk2 - `vp pack`: rewrite direct `createRequire(...)("picomatch")` calls in bundled tsdown output to the local bundled CJS entry, so packing no longer depends on an undeclared runtime `picomatch` under pnpm `hoist: false` ([#1732](#1732)), by @fengmk2 - `vp migrate`: resolve a `catalog:` husky pin from the workspace catalog (`pnpm-workspace.yaml`, `.yarnrc.yml`, or `package.json` catalogs) during the git-hooks preflight, so a compatible catalog-pinned husky no longer triggers a false "could not determine husky version" warning and skips hook setup ([#1710](#1710)), by @fengmk2 ### Docs - Add a **Copy Prompt** button to the docs site that copies an AI-friendly getting-started prompt (intro, `llms-full.txt` pointer, install commands, and core `vp` commands) for handing straight to a coding agent ([#1706](#1706)), by @fengmk2 - Update `troubleshooting.md`: `vite.config.ts` related issues are resolved by updating oxlint and oxfmt ([#1708](#1708)), by @leaysgur - Clarify the product and repository documentation locations and the new Run guide/config paths in `AGENTS.md` ([#1707](#1707)), by @leaysgur ### Chore - `vp` install: reduce retained `vp` versions from 5 to 3 across the installer, `vp upgrade`, and the shell/PowerShell bootstrap scripts (active and previous versions stay protected for rollback); document the 3-version retention and `vp upgrade --rollback` ([#1716](#1716)), by @fengmk2 - Exclude the snap-tests directory from Vitest config discovery so the VS Code Vitest extension stops generating a stray `.vitest-plugin-loaded` file ([#1723](#1723)), by @liangmiQwQ - Refresh trusted stack stats on the docs homepage ([#1734](#1734)), by @voidzero-guard[bot] - Update @wan9chi's GitHub handle (formerly `branchseer`) ([#1705](#1705)), by @wan9chi - Update GitHub Actions ([#1724](#1724), [#1730](#1730)), by @renovate[bot] - Upgrade upstream dependencies: vite `8.0.14 → 8.0.16`, vitest `4.1.7 → 4.1.8`, tsdown `0.22.0 → 0.22.1`, `@vitejs/devtools` `0.2.0 → 0.3.1` ([#1713](#1713), [#1735](#1735), [#1737](#1737)), by @voidzero-guard[bot] ### Bundled Versions | Tool | Version | Source | | --- | --- | --- | | vite | `8.0.16` | [`f94df87`](vitejs/vite@f94df87) | | rolldown | `1.0.3` | [`a287faa`](rolldown/rolldown@a287faa) | | tsdown | `0.22.1` | [npm](https://npmx.dev/package/tsdown/v/0.22.1) | | vitest | `4.1.8` | [npm](https://npmx.dev/package/vitest/v/4.1.8) | | oxlint | `1.67.0` | [npm](https://npmx.dev/package/oxlint/v/1.67.0) | | oxlint-tsgolint | `0.23.0` | [npm](https://npmx.dev/package/oxlint-tsgolint/v/0.23.0) | | oxfmt | `0.52.0` | [npm](https://npmx.dev/package/oxfmt/v/0.52.0) | ### New Contributors Welcome to our new contributor @semimikoh! 🎉 **Full Changelog**: v0.1.23...v0.1.24 Merging this PR will trigger the release workflow. --------- Co-authored-by: voidzero-guard[bot] <278573678+voidzero-guard[bot]@users.noreply.github.com> Co-authored-by: MK <fengmk2@gmail.com>
| Back | FazBrowse Home | New Git URL |
Summary
In a monorepo created via vp create vite:monorepo with pnpm, running vp why vite reported the override as ineffective: it resolved vite to upstream vite (a transitive dependency of @voidzero-dev/vite-plus-core) rather than to @voidzero-dev/vite-plus-core itself.
Root cause
PR #1697 added dropAliasedRuntimeDevDeps, which strips vite/vitest from apps/website/package.json for every package manager. For pnpm this removed the only direct vite dependency in a fresh workspace, so the pnpm-workspace.yaml overrides.vite: catalog: entry had no consumer to redirect. The only vite left in the tree was vite-plus-core's own internal vite, so vp why vite showed upstream vite and the override looked ineffective. The single-package app keeps vite: catalog: and resolves correctly.
npm / yarn / bun: confirmed not affected (no fix needed)
I verified their override is effective in both single-app and monorepo: node_modules/vite resolves to @voidzero-dev/vite-plus-core, and <pm> why @voidzero-dev/vite-plus-core shows it redirecting even vite-plus-test's peer vite. Their root overrides/resolutions redirect the transitive/peer vite regardless of a direct dependency. Their vp why vite display gap is a pre-existing limitation of npm explain / yarn why / bun why (they query by resolved package name, not the vite alias key), identical with or without the monorepo strip, so it is out of scope here.
Fix
dropAliasedRuntimeDevDeps now returns early for pnpm, keeping the aliased vite/vitest so the workspace override has a direct consumer. npm/yarn/bun keep stripping the dead-weight keys.
Before / after (vp why vite in a fresh pnpm monorepo)
Before:
vite@8.0.14 └─┬ @voidzero-dev/vite-plus-test@0.1.23 └─┬ vite-plus@0.1.23 ... Found 1 version of viteAfter:
Verification
Note
Low Risk
Scoped to monorepo scaffold post-processing and documentation; behavior change is intentional and covered by unit, snap, and CI checks.
Overview
pnpm monorepo create no longer strips aliased vite/vitest from apps/website/package.json. The logic moves into exported dropAliasedRuntimeDevDeps, which returns early for pnpm so workspace overrides still have a direct vite consumer (fixing misleading vp why vite after vp create vite:monorepo). npm, yarn, and bun still remove those keys after migration.
Migration guidance is updated in docs/guide/migrate.md, vp migrate help, and snap tests to say: on pnpm, keep migrator-aliased vite/vitest; on other package managers, remove them after import rewrites.
CI (test-vp-create.yml) now asserts pnpm keeps vite on the website app while other PMs must not. New monorepo.spec.ts covers pnpm vs npm/yarn/bun behavior; new-vite-monorepo snap expects vite: catalog: on the website.
Reviewed by Cursor Bugbot for commit 16f7d45. Configure here.