voidzero-dev / voidzero-dev/vite-plus

Re-delegate elicited app targets through full CLI resolution

Open
#2,057 1 comment 1 reaction 0 assignees View on GitHub
Dominant language
Rust
Stars
5.8k
Forks
261
Avg merge
1d 34m
Merged PRs (30d)
135

Description

Follow-up to #2031, from Codex review round 7. When a bare app command at a root is retargeted by target elicitation (defaultPackage, picker, auto-select), the binding swaps the spawn cwd and PWD for the tool, but the executing local CLI, its Node runtime, and PATH were already resolved for the invocation directory.

Within one workspace this matches the supported single-Vite+-version model and the behavior is correct. The gap is the non-workspace framework shape: a root whose vite.config.ts points defaultPackage at a directory that carries its own vite-plus install or runtime pin (.node-version, devEngines.runtime). There, `cd && vp build` resolves that local install and runtime, while `vp build` at the root elicits inside the CLI chosen at the root (possibly the global bundled one), so versions can skew.

Candidate fix: when elicitation returns a target directory, re-delegate as if the user had run `vp -C ` from the top: the global binary re-runs local-CLI and runtime resolution from the target before dispatching (needs a signal across the NAPI boundary, or the global CLI performing elicitation for the bare-at-root case before choosing the local CLI). The RFC documents the current scoping in the equivalence section.

Contributor guide

Open the contributing guide

Research direction

Read the RFC's equivalence section, then trace target elicitation and the local CLI/runtime resolution used by `vp -C `. Compare that with `cd && vp build` for a root whose vite.config.ts sets defaultPackage. Done means an elicited target re-resolves its local CLI, Node runtime, and PATH before dispatch.

Written by the indexing model from the issue text.

Assessment

Tech stack
node.js, rust, typescript
Domain
build-system, cli, tooling
Issue type
Bug
Difficulty
5/5
Estimated time
Over a week
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.