Skip to content

fix(migrate): preserve unpinned package manager policy - #2817

Merged
fengmk2 merged 4 commits into
voidzero-dev:mainfrom
TheAlexLichter:build/migrate-preserve-package-manager-ci
Oct 6, 2026
Merged

fengmk2 merged 4 commits into
voidzero-dev:mainfrom
TheAlexLichter:build/migrate-preserve-package-manager-ci

Conversation

@TheAlexLichter

Copy link
Copy Markdown
Member

Closes #2816

This PR keeps projects without a specific package manager unpinned during migration and preserves existing package-manager declarations.

When Vite+ infers an undeclared package manager, it now warns users without adding a version pin and points them to vp env pin if they want to pin.

@fengmk2 fengmk2 self-assigned this Oct 6, 2026
@fengmk2
fengmk2 merged commit 6961386 into voidzero-dev:main Oct 6, 2026
66 checks passed
fengmk2 added a commit that referenced this pull request Oct 7, 2026
…pts (#2907)

Vite+ 1.1 starts `vp dev` faster and makes the interactive prompts
clearer, alongside fixes for `vp migrate`, package-manager commands, and
Windows terminals.

### Highlights

- `vp dev` reaches its local URL about 24% sooner and uses about 30%
less memory in the parent process, because Vite+ no longer loads Vite
and Vitest there before starting the dev server
([#2851](#2851)), by
@camc314.
- Interactive prompts render boxes, logs, and wrapped text consistently,
with clearer hints, validation, and navigation instructions
([#2870](#2870)), by
@cpojer.

### Features

- `vp run` sets `npm_execpath` and `npm_config_user_agent` for npm,
pnpm, and Yarn, so tools such as npm-run-all2 use the project's package
manager instead of falling back to npm
([#2895](#2895)), by
@naokihaba and @tarikermis.
- Upgrade `vite@8.3.1` to `vite@8.3.3`, `rolldown@1.2.11` to
`rolldown@1.2.12`, `vitest@5.0.1` to `vitest@5.0.3`, `oxlint@1.85.0` to
`oxlint@1.87.0`, and `oxfmt@0.70.0` to `oxfmt@0.72.0`. The new lint and
format versions can flag code that passed before, so run `vp fmt` after
upgrading if CI runs `vp check`. `vp migrate` now keeps the React
Refresh `allowCompoundComponents` option because the bundled Oxlint
supports it
([#2871](#2871),
[#2896](#2896),
[#2904](#2904)), by
@voidzero-guard[bot].

### Fixes & Enhancements

- `vp migrate` keeps Oxlint rules written with plugin aliases (such as
`@typescript-eslint/*`, `react-hooks/*`, and `import-x/*`) and removes
rules the bundled Oxlint does not support, listing them in a warning
([#2820](#2820),
[#2906](#2906)), by
@TheAlexLichter and @yusuke99.
- `vp migrate` leaves projects without a declared package manager
unpinned, keeps existing declarations, and points to `vp env pin` when
it infers one
([#2817](#2817)), by
@TheAlexLichter.
- `vp migrate` reports a short error for a directory without
`package.json` instead of an `ENOENT` stack trace
([#2821](#2821)), by
@TheAlexLichter.
- `vp create` in an existing pnpm workspace adds the catalog entries the
new application needs, so installation no longer fails with
`ERR_PNPM_CATALOG_ENTRY_NOT_FOUND_FOR_SPEC`
([#2808](#2808)), by
@SaKaNa-Y.
- On Windows, one Ctrl+C stops `vpr` scripts and managed Bun, pnpm, npm,
and Yarn commands without leaving `cmd.exe` stuck at `Terminate batch
job (Y/N)?`
([#2890](#2890)), by
@fengmk2.
- `vp pack --watch` on Windows rebuilds with the new options after the
config file changes
([#2826](#2826)), by
@liangmiQwQ.
- `vp test doctor` and `vp test complete` run the Vitest subcommands
instead of being treated as test file filters
([#2879](#2879)), by
@liangmiQwQ.
- With isolated dependency layouts such as pnpm's global virtual store,
`vp pack` finds installed Vue language tools and TypeScript Go for
declaration generation, and Playwright browser provider options keep
their types
([#2868](#2868),
[#2865](#2865)), by
@liangmiQwQ.
- Package-manager commands fail when the project's package manager does
not support a named option, instead of silently dropping it and
continuing. Bun 1.4.1+ receives `--offline` and `--prefer-offline`, and
Yarn Classic accepts a single `--filter` for `vp remove`
([#2775](#2775)), by
@jong-kyung.
- `vp pm config` in Bun projects falls back to npm, as its warning says
([#2899](#2899)), by
@jong-kyung.
- `vp pm approve-builds` states that Yarn Berry disables third-party
build scripts by default from 4.14.0, not in every version
([#2902](#2902)), by
@jong-kyung.
- `vp implode` asks you to type `boom` instead of `uninstall` to confirm
([#2901](#2901)), by
@fengmk2.
- Global package installs and updates print a green `+`, and removals a
red `-`, with bold package names in both
([#2828](#2828)), by
@liangmiQwQ.
- Setup headings and command hints keep their colors when the installer
captures stdout
([#2829](#2829)), by
@liangmiQwQ.

### Refactor

- Replace `semver` with `verkit` in the CLI, reducing the bundled CLI
JavaScript by about 26 KB
([#2837](#2837)), by
@liangmiQwQ.
- Share the shim filename logic between setup and `vp env doctor`, and
remove unused config migration metadata
([#2876](#2876),
[#2894](#2894)), by
@jong-kyung.

### Docs

- Announce Vite+ 1.0 on the website and update the homepage `vp pack`
demo ([#2843](#2843),
[#2844](#2844)), by
@TheAlexLichter and @naokihaba.
- Document `vp install -g --node` and explain when `vp env default`
re-resolves versions
([#2885](#2885),
[#2884](#2884)), by
@hyunbinseo.
- Use runnable package examples in the `vpx` guide and `vpx --help`
([#2864](#2864)), by
@SaKaNa-Y.
- Remove the redundant `vp install` step from `setup-vp` CI examples
([#2888](#2888)), by
@yusuke99.
- Explain how to return from a preview build, align manual installation
examples with the installed toolchain, and update the JetBrains Node.js
path and `vp env current --json` example for the split directory layout
([#2886](#2886),
[#2887](#2887),
[#2889](#2889),
[#2891](#2891)), by
@jong-kyung.

### Chore

- Update contributor setup instructions, move the logo files under
`docs/public`, and ignore the root `tmp` directory
([#2832](#2832),
[#2831](#2831),
[#2860](#2860)), by
@liangmiQwQ.
- Stabilize Node API reporter, catalog update, Bun, Yarn, and preview
snapshots ([#2869](#2869),
[#2872](#2872),
[#2893](#2893)), by
@liangmiQwQ and @fengmk2.
- Build the docs with the latest Vite+ and fix flaky CI tests
([#2855](#2855)), by
@fengmk2.
- Remove the unused `set-snapshot-version` action
([#2877](#2877)), by
@jong-kyung.
- Refine the release-manager guidance
([#2827](#2827),
[#2788](#2788)), by
@wan9chi and @fengmk2.

### Bundled Versions

| Tool | Version | Source | Changelog |
| --------------- | ---------- |
-------------------------------------------------------------------------------------------------
|
--------------------------------------------------------------------------------------------------------------------------------------------------
|
| vite | `8.3.3` |
[`fea5b21`](vitejs/vite@fea5b21)
| [8.3.2](https://github.com/vitejs/vite/releases/tag/v8.3.2),
[8.3.3](https://github.com/vitejs/vite/releases/tag/v8.3.3) |
| rolldown | `1.2.12` |
[`45e407b`](rolldown/rolldown@45e407b)
| [1.2.12](https://github.com/rolldown/rolldown/releases/tag/v1.2.12) |
| tsdown | `0.23.0` | [npm](https://npmx.dev/package/tsdown/v/0.23.0) |
unchanged |
| vitest | `5.0.3` | [npm](https://npmx.dev/package/vitest/v/5.0.3) |
[5.0.2](https://github.com/vitest-dev/vitest/releases/tag/v5.0.2),
[5.0.3](https://github.com/vitest-dev/vitest/releases/tag/v5.0.3) |
| oxlint | `1.87.0` | [npm](https://npmx.dev/package/oxlint/v/1.87.0) |
[1.86.0](https://github.com/oxc-project/oxc/releases/tag/oxlint_v1.86.0),
[1.87.0](https://github.com/oxc-project/oxc/releases/tag/oxlint_v1.87.0)
|
| oxlint-tsgolint | `7.0.2003` |
[npm](https://npmx.dev/package/oxlint-tsgolint/v/7.0.2003) | unchanged |
| oxfmt | `0.72.0` | [npm](https://npmx.dev/package/oxfmt/v/0.72.0) |
[0.71.0](https://github.com/oxc-project/oxc/releases/tag/oxfmt_v0.71.0),
[0.72.0](https://github.com/oxc-project/oxc/releases/tag/oxfmt_v0.72.0)
|

### Upgrade

```bash
vp upgrade
```

### New Contributors

@hyunbinseo

**Full Changelog**:
v1.0.0...v1.1.0

---

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) <fengmk2@gmail.com>
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Migration pins lockfile-only package managers and can break CI

2 participants