vp migrate: follow-up UX & correctness issues from real-world e2e
@fengmk2 is already working on this.
Since Jul 3, 2026.
Assessment
This issue has not been assessed yet.
Description
Follow-up tracker for the unresolved items surfaced during the real-world migration pass in https://github.com/voidzero-dev/vite-plus/pull/1891#issuecomment-4764461957.
Goal: keep improving the vp migrate experience by fixing the concrete failures below. Each item links back to the project PR / CI log where it reproduces. Grouped by theme, not by project.
1. Migrated config is wrong or lossy or not good
- Don't pin
pnpm@11.1.1— migrate selects a badpackageManagerpin.
vinext (review) -
packageManagerinvalid semver —Invalid semver version "11.17.0" does not match "11.13.0" for "packageManager".
svelte-multiselect (log) -
viteshould be written to the catalog, not inline — migrate left a directviteversion instead of a catalog reference.
typed-xlsx (diff, source) - IDE settings JSON comments stripped — migrate rewrote
.vscode/settings.json(jsonc) and dropped its comments.
vue-core (diff); fix PR https://github.com/voidzero-dev/vite-plus/pull/1956 -
tsconfig.jsonnot auto-migrated — leaves removedmoduleResolution: node10, which now errors:Option 'moduleResolution=node10' has been removed.
vitepress-carbon (log) -
@types/nodepeer floor too low after migrate —@voidzero-dev/vite-plus-corerequires@types/node ^20.19.0 || >=22.12.0, but the project pins^20.14.12. Below that peer range, pnpm resolves two separatevitest@4.1.9instances, so the snapshot singleton state is lost at runtime.
iles (PR) - Should use
catalog:vite-plusinstead ofcatalogon pnpm https://github.com/npmx-dev/npmx.dev/pull/2990/changes#diff-18ae0a0fab29a7db7aded913fd05f30a2c8f6c104fadae86c9d217091709794c - when
@playwright/testdeps exists, no need to addplaywrightto devDeps. https://github.com/npmx-dev/npmx.dev/pull/2990/changes#r3523965945
Fixed in https://github.com/voidzero-dev/vite-plus/pull/2637 - peerDependencyRules is no need? https://github.com/npmx-dev/npmx.dev/pull/2990#discussion_r3523966046
2. Lint migration
-
vp lint -crejects duplicate flag — generated command runsvp lint -c .oxlintrc.jsonand fails withError: argument '-c' cannot be used multiple times in this context.
pdfme (log) - Unknown oxlint rule after migrate —
Rule 'camelcase' not found in plugin 'eslint'.
tech-interview-handbook (PR)
3. Post-migrate build / type resolution
- Nuxt build:
Cannot find package 'rolldown'—@nuxt/vite-builderimportsrolldown, which is not resolvable after migrate. Reproduces on multiple Nuxt projects.
npmx (diff),
unplugin-turbo-console (log) -
vite-plus/clienttypes not found — commit-hooktsc --noEmitfails:Cannot find type definition file for 'vite-plus/client'(from"types": ["vitest/globals", "vite-plus/client"]).
gitify (log) -
@voidzero-dev/vite-plus-testnot found in tests —Cannot find package '@voidzero-dev/vite-plus-test'imported from a*.test.ts.
react-doctor (PR) - postinstall failures — "postinstall hells" after migrate.
odysee-frontend (PR)
4. pnpm trust policy (no-downgrade)
- Trust-downgrade blocks a legit prerelease dep —
ERR_PNPM_TRUST_DOWNGRADE High-risk trust downgrade for "effect@4.0.0-beta.70" (possible package takeover).
react-doctor (PR)
Won't-fix / out of scope (tracked for context)
- matterviz:
TS2783: 'staged' is specified more than once— caused by the user's shared dotfiles config, not migrate. (PR) - ohbug: install fails — user code issue, won't fix. (PR)
Pending e2e runs (no migrate bug identified yet, just not finished)
cs-demo-manager, museeks, bippy, rari, dify, BlockNote, vuestrata, anywidget, media-processors, sigle, mantine. These still need a completed migration run; open a dedicated issue only if a real bug surfaces. Status stays tracked in https://github.com/voidzero-dev/vite-plus/pull/1891#issuecomment-4764461957.
- Dominant language
- Rust
- Stars
- 5.8k
- Forks
- 263
- Avg merge
- 1d 3h
- Merged PRs (30d)
- 147
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from voidzero-dev/vite-plus
-
Difficulty 2/5 1-3 hours Newbie friendliness 75/100
voidzero-dev/vite-plus#2804 · 1 reaction ·
-
pending triage
Difficulty 2/5 1-3 hours Newbie friendliness 75/100
voidzero-dev/vite-plus#2801 · 1 reaction ·
-
enhancement
Difficulty 2/5 1-3 hours Newbie friendliness 62/100
voidzero-dev/vite-plus#2097 · 10 comments · 2 reactions ·
-
documentation
voidzero-dev/vite-plus#2800 · 1 assignee ·
-
pending triage
Difficulty 3/5 1-2 days Newbie friendliness 65/100
voidzero-dev/vite-plus#2796 · 1 comment ·
All issues in voidzero-dev/vite-plus
Similar issues
-
Difficulty 2/5 1-3 hours Newbie friendliness 75/100
-
state:needs triage
Difficulty 2/5 1-3 hours Newbie friendliness 70/100
zed-industries/zed#64680 · 2 comments ·
-
Difficulty 2/5 1-3 hours Newbie friendliness 70/100
-
Difficulty 2/5 1-3 hours Newbie friendliness 70/100
RustPython/RustPython#8802 ·
-
Difficulty 2/5 1-3 hours Newbie friendliness 75/100
TheLarkInn/aipm#2390 ·