Skip to content

Re-delegate elicited app targets through full CLI resolution #2057

Description

@fengmk2

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 <dir> && 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 <dir> <cmd> 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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Fields

    Priority

    None yet

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions