fix(vite-plus): pin VP_HOME so the official installer actually installs vp - #93
Merged
Merged
Conversation
✅ PR Validation Passed
📋 Pipeline Status
🤖 Generated by @helpers4 CI • 2026-09-09 |
…alls vp The official Vite+ installer now defaults to an XDG split layout (~/.local/share/vite-plus/bin) instead of the ~/.vite-plus/bin this feature assumed, unless VP_HOME is explicitly set — verified directly in a real container. Without the pin, vp silently failed to land at the expected path (no symlink to /usr/local/bin/vp, `command -v vp` failing for the user), while the feature still printed "installed successfully" and exited 0 — every consumer of the currently-published version gets a container with no working vp CLI. Now pins VP_HOME explicitly, sets VP_NODE_MANAGER=no for a deterministic non-interactive install (per the installer's own documented CI/devcontainer support), and fails loudly (exit 1) if the binary still isn't there afterward instead of silently continuing — same failure-swallowing pattern already fixed once before in helpers4-common's git-config-self-heal.sh. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
…-v vp The existing "vp CLI is available" check ran command -v vp inside a login shell for the target user, so it kept passing via the official installer's own PATH line in ~/.bashrc/~/.profile — even with the VP_HOME bug this PR fixes, where /usr/local/bin/vp (installGlobally's actual documented contract: system-wide, no PATH reliance) was never created. That gap is exactly how the regression stayed green: root, other users, and any non-login context got nothing, while this one login shell still found vp by accident. Verified directly: this check fails (exit 1) against the pre-fix install.sh, and passes (exit 0) against the fix in this PR. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
baxyz
force-pushed
the
fix/vite-plus-vp-home
branch
from
September 9, 2026 18:41
2c99866 to
3efb1a0
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
~/.local/share/vite-plus/bin) instead of the~/.vite-plus/binthis feature assumed, unlessVP_HOMEis explicitly set.vpsilently failed to land where the feature expected — no symlink to/usr/local/bin/vp,command -v vpfailing for the target user — whileinstall.shstill printed "✅ Vite+ feature installed successfully!" and exited 0. Every current consumer of the publishedvite-plusfeature gets a container with no workingvpCLI.VP_HOMEexplicitly, setsVP_NODE_MANAGER=nofor a deterministic non-interactive install (per the installer's own documented CI/devcontainer support), and now fails loudly (exit 1) if the binary still isn't there afterward instead of silently continuing.devcontainer features test --features vite-plus --base-image mcr.microsoft.com/devcontainers/typescript-node:20 .against a real container:vp v0.3.1now installs, resolves, and symlinks correctly.Test plan
devcontainer features test --features vite-pluspasses locally (vp CLI is available,vp version displays)