Skip to content

fix(vite-plus): pin VP_HOME so the official installer actually installs vp - #93

Merged
baxyz merged 2 commits into
mainfrom
fix/vite-plus-vp-home
Sep 9, 2026
Merged

baxyz merged 2 commits into
mainfrom
fix/vite-plus-vp-home

Conversation

@baxyz

@baxyz baxyz commented Sep 9, 2026

Copy link
Copy Markdown
Contributor

Summary

  • The official Vite+ installer changed its default install location (XDG split layout at ~/.local/share/vite-plus/bin) instead of the ~/.vite-plus/bin this feature assumed, unless VP_HOME is explicitly set.
  • Without the pin, vp silently failed to land where the feature expected — no symlink to /usr/local/bin/vp, command -v vp failing for the target user — while install.sh still printed "✅ Vite+ feature installed successfully!" and exited 0. Every current consumer of the published vite-plus feature gets a container with no working vp CLI.
  • Fix 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 now fails loudly (exit 1) if the binary still isn't there afterward instead of silently continuing.
  • Verified directly with devcontainer features test --features vite-plus --base-image mcr.microsoft.com/devcontainers/typescript-node:20 . against a real container: vp v0.3.1 now installs, resolves, and symlinks correctly.

Test plan

  • devcontainer features test --features vite-plus passes locally (vp CLI is available, vp version displays)
  • CI green on this PR

@github-actions

github-actions Bot commented Sep 9, 2026

Copy link
Copy Markdown

✅ PR Validation Passed

All checks passed!


📋 Pipeline Status

Job Status
🧾 Conventional Commits passing
🔖 Version Bump passing
🧪 Feature Tests passing
🐚 ShellCheck passing

🤖 Generated by @helpers4 CI • 2026-09-09

baxyz and others added 2 commits September 9, 2026 18:40
…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
baxyz force-pushed the fix/vite-plus-vp-home branch from 2c99866 to 3efb1a0 Compare September 9, 2026 18:41
@baxyz
baxyz merged commit ea6d1eb into main Sep 9, 2026
40 checks passed
@baxyz
baxyz deleted the fix/vite-plus-vp-home branch September 9, 2026 18:47
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.

1 participant