Skip to content

fix(global): respect custom VP_HOME#2029

Merged
fengmk2 merged 27 commits into
voidzero-dev:mainfrom
liangmiQwQ:fix/custom-vp-home-broken
Jul 5, 2026
Merged

fix(global): respect custom VP_HOME#2029
fengmk2 merged 27 commits into
voidzero-dev:mainfrom
liangmiQwQ:fix/custom-vp-home-broken

Conversation

@liangmiQwQ

@liangmiQwQ liangmiQwQ commented Jul 3, 2026

Copy link
Copy Markdown
Collaborator

At present, Vite+ allows users to specific VP_HOME as an installation directory. However, for any future vp runs without manual VP_HOME environment, we still use default ~/.vite-plus or vp's grandparent directory if its name is .vite-plus (It's related to #1185 by me).

It will cause mess, like multiple Vite+ instances, vp binary not finding, packages unusable and a lot of unexpected behavior.

This PR improves all related logic, include:

  • Set VP_HOME in env files
  • Improve prompt and implode check related to VP_HOME
  • Respect VP_HOME in pnpm boostrap-cli at devtime.

The new install.sh prompt looks like that:
image

🤖 Generated by Codex

@netlify

netlify Bot commented Jul 3, 2026

Copy link
Copy Markdown

Deploy Preview for viteplus-preview canceled.

Name Link
🔨 Latest commit 4216823
🔍 Latest deploy log https://app.netlify.com/projects/viteplus-preview/deploys/6a49dfab6600b700082b43a4

@liangmiQwQ

Copy link
Copy Markdown
Collaborator Author

@codex review

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 410a38e18e

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread crates/vite_global_cli/src/commands/env/setup.rs Outdated
@liangmiQwQ

Copy link
Copy Markdown
Collaborator Author

@codex review

@chatgpt-codex-connector

Copy link
Copy Markdown

Codex Review: Didn't find any major issues. Already looking forward to the next diff.

Reviewed commit: 7e3e24e536

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

@liangmiQwQ liangmiQwQ marked this pull request as ready for review July 3, 2026 05:52
@liangmiQwQ

Copy link
Copy Markdown
Collaborator Author

@fengmk2 Worth mentioning: after this change, Vite+ will start injecting VP_HOME in shellrc, just like Volta. (VOLTA_HOME). It may also help to check whether Vite+ is installed for other tools :)

@fengmk2

fengmk2 commented Jul 3, 2026

Copy link
Copy Markdown
Member

@fengmk2 Worth mentioning: after this change, Vite+ will start injecting VP_HOME in shellrc, just like Volta. (VOLTA_HOME). It may also help to check whether Vite+ is installed for other tools :)

Good news, maybe after your pr merge, my one can be closed #1958 😄

@fengmk2 fengmk2 requested review from naokihaba and nekomoyi July 3, 2026 06:01
@fengmk2

fengmk2 commented Jul 3, 2026

Copy link
Copy Markdown
Member

@nekomoyi @naokihaba I need your help to see if this added environment variable will have any side effects.

@liangmiQwQ

Copy link
Copy Markdown
Collaborator Author

Good news, maybe after your pr merge, my one can be closed #1958 😄

Oh? I haven't seen it, I would take a look at it later.

@fengmk2

fengmk2 commented Jul 3, 2026

Copy link
Copy Markdown
Member

If I have previously installed vite-plus, and this time I reinstall it and set VP_HOME to a new directory, should we prompt the user whether they need to remove the previous ~/.vite-plus directory?

@fengmk2 fengmk2 added test: e2e Auto run e2e tests test: install-e2e run vite install e2e test test: create-e2e Run `vp create` e2e tests test: sfw labels Jul 3, 2026

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 003cc49858

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread crates/vite_shared/src/home.rs Outdated
Comment thread packages/cli/install.sh
Comment thread packages/cli/install.sh
@liangmiQwQ

Copy link
Copy Markdown
Collaborator Author

@codex review

@chatgpt-codex-connector

Copy link
Copy Markdown

Codex Review: Didn't find any major issues. Hooray!

Reviewed commit: 40bb28be7d

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

@liangmiQwQ liangmiQwQ marked this pull request as ready for review July 4, 2026 08:53
@liangmiQwQ

Copy link
Copy Markdown
Collaborator Author

This PR lets me run vp implode for the first time lol.

@fengmk2 fengmk2 left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@liangmiQwQ Nice improve!

I will do a round simplify before I merge.

Comment thread crates/vite_global_cli/src/commands/env/setup.rs Outdated
Comment thread crates/vite_global_cli/src/commands/env/setup.rs Outdated
…pers

- implode: normalize source-line args to forward slashes once instead of
  enumerating separator variants per root; drop path_ref_with_backslashes,
  push_path_ref and the env.nu special case; document the matcher's
  multi-install rationale and writer cross-references
- home: share VP_BINARY_NAME from vite_shared (re-exported by vite_setup),
  avoid the per-PATH-entry clone, and drop redundant test guards
- env/setup: reuse render_home_relative_path for the Nu VP_HOME and explain
  why it must stay absolute
- install.sh: reuse abbreviate_path for the shims prompt, simplify
  normalize_existing_dir, use command -v directly
- install.ps1: reuse the USERPROFILE-to-~ display idiom, drop the dead
  .Source fallback and redundant TrimEnd calls
@fengmk2

fengmk2 commented Jul 4, 2026

Copy link
Copy Markdown
Member

@liangmiQwQ I'm done, back to your control.

@fengmk2

fengmk2 commented Jul 4, 2026

Copy link
Copy Markdown
Member

@liangmiQwQ I ran it once under Windows and haven't found any issues so far.

@liangmiQwQ

Copy link
Copy Markdown
Collaborator Author

@fengmk2 @nekomoyi @naokihaba Thank the team for inspecting, reviewing and simplifying!

I'm a bit sleepy tonight, and I will take a look to know if there is anything need doing on my side tomorrow.

@fengmk2 And I left a comment in your pull request, you can take a look #1958 (comment)

@fengmk2

fengmk2 commented Jul 5, 2026

Copy link
Copy Markdown
Member

GO!

@fengmk2 fengmk2 merged commit 638c447 into voidzero-dev:main Jul 5, 2026
112 of 113 checks passed
@liangmiQwQ liangmiQwQ deleted the fix/custom-vp-home-broken branch July 5, 2026 05:03
wan9chi added a commit that referenced this pull request Jul 7, 2026
…xes (#2081)

Release vite-plus v0.2.3: config extraction, create, and `vp run`
reliability fixes.

A patch release that restores static config extraction for projects
importing `defineConfig` from `vite`, fixes `vp create` for org
templates on registries that strip custom package fields, cleans up
terminal output after Ctrl-C during `vp run`, and updates bundled Vite
to 8.1.3.

### Highlights

- **Custom `VP_HOME` is honored on every run**: the global `vp` now
respects a user-set `VP_HOME` for its home directory instead of falling
back to `~/.vite-plus`, and persists it in the generated env files, so a
custom install location no longer produces multiple instances or
unusable packages
([#2029](#2029)), by
@liangmiQwQ

### Features

- Upgrade bundled Vite from `8.1.2` to `8.1.3` (inlined CSS after the
shebang line, CSS preload for nested dynamic imports, SSR stacktrace
column fix)
([#2042](#2042)), by
@voidzero-guard[bot]

### Fixes & Enhancements

- `vp run` no longer misreads a `vite.config.ts` when its `defineConfig`
comes from a preset or a custom wrapper instead of `vite-plus` or
`vite`. Such configs are now evaluated at runtime rather than assumed to
be Vite+'s own, so projects that use them no longer wrongly report `Task
"build" not found`
([#2060](#2060),
[#2075](#2075)), by
@liangmiQwQ and @fengmk2
- Killing a `vp run` task with Ctrl-C no longer leaves odd OSC escape
sequences in the terminal; `vp` defers its own Ctrl-C handling until the
child process exits
([#2079](#2079)), by
@forehalo
- `vp migrate`: rewriting a `package.json` prettier script now emits a
single `--check`, so scripts that combined `--check` with
`--list-different` / `-l` / `-c` no longer produce a duplicated `vp fmt
--check --check`
([#2044](#2044)), by
@shulaoda
- `vp create @org:name`: read the org template catalog (`createConfig`)
from the published tarball when the registry (e.g. GitHub Packages)
strips custom fields from packument metadata
([#2063](#2063)), by
@hiro-daikin
- `vp run`: missing env vars requested through
`@voidzero-dev/vite-task-client` now return `undefined` instead of
`null`, preserving Vite production `NODE_ENV` semantics when builds run
through `vp run`
([vite-task#508](voidzero-dev/vite-task#508),
via [#2076](#2076)), by
@wan9chi

### Refactor

- `static_config`: drop the unreachable `vite.config.json` branch
([#2045](#2045)), and
remove unused exported CLI helpers
([#2046](#2046)), by
@shulaoda

### Docs

- Update the announcement links and callout for the beta release
([#2027](#2027)), remove
the stale `Dockerfile.alpine` comment
([#2068](#2068)), by
@fengmk2
- Add the missing `pnpm-workspace.yaml` to the docs Dockerfile
([#2059](#2059)), by
@wan-kong
- Refresh the root agent guide
([#2072](#2072)), by
@jong-kyung

### Chore

- Cross-compile Windows tests and CLI binaries on Linux with cargo-xwin
([#1824](#1824)), install
local vite-plus builds through a local npm registry
([#2021](#2021)), fast
docs format check for docs-only PRs
([#2028](#2028)), pack
local dirs for the registry bridge instead of pkg.pr.new
([#2038](#2038)), remove
the stale create workflow updater
([#2061](#2061)), and add
PTY-based interactive CLI snapshot tests
([#2052](#2052)), by
@fengmk2
- Cache `vp run` output for docs builds
([#2006](#2006)), by
@wan9chi
- Remove legacy completion cleanup
([#2050](#2050)), by
@nekomoyi
- Update the crate-ci/typos action
([#2039](#2039)) and
GitHub Actions
([#2055](#2055),
[#1905](#1905)), by
@renovate[bot]
- Refresh the Node.js release keyring
([#2058](#2058)) and the
docs trusted-stack stats
([#2064](#2064)), by
@voidzero-guard[bot]

### Bundled Versions

| Tool | Version | Source |
| --- | --- | --- |
| vite | `8.1.3` |
[`578ffb8`](vitejs/vite@578ffb8)
|
| rolldown | `1.1.4` |
[`6cbd233`](rolldown/rolldown@6cbd233)
|
| tsdown | `0.22.3` | [npm](https://npmx.dev/package/tsdown/v/0.22.3) |
| vitest | `4.1.9` | [npm](https://npmx.dev/package/vitest/v/4.1.9) |
| oxlint | `1.72.0` | [npm](https://npmx.dev/package/oxlint/v/1.72.0) |
| oxlint-tsgolint | `0.24.0` |
[npm](https://npmx.dev/package/oxlint-tsgolint/v/0.24.0) |
| oxfmt | `0.57.0` | [npm](https://npmx.dev/package/oxfmt/v/0.57.0) |

### Upgrade

```bash
vp upgrade
```

### New Contributors

@wan-kong and @hiro-daikin made their first contributions.

**Full Changelog**:
v0.2.2...v0.2.3

---

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: wan9chi <dk4rest@gmail.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

test: create-e2e Run `vp create` e2e tests test: e2e Auto run e2e tests test: install-e2e run vite install e2e test test: sfw

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants