fix(env): track injected tools across nested shim calls - #2631
Conversation
✅ Deploy Preview for viteplus-preview canceled.
|
|
@liangmiQwQ I've updated this draft to track injected tools with |
|
Per-tool PATH tracking is in place, but a forwarding loop remains between renamed Vite+ installations. The current shim detection cannot reliably distinguish these from shared external-manager entrypoints such as mise. This PR remains in draft while I revisit that boundary. |
I'll take a look soon |
@lyzno1 This is another problem that already exists on Vite+. It is a little bit difficult to fix and not introduced by your PR. You can mark it as ready to review if you are ready. |
|
@codex review |
Codex Review SummaryThis comment shows the latest Codex review activity on this pull request.
ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings. |
|
Codex Review: Didn't find any major issues. Already looking forward to the next diff. Reviewed commit: ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
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". |
|
It would be better to update this RFC document: Line 307 in d546393 |
liangmiQwQ
left a comment
There was a problem hiding this comment.
Others LGTM 💯
Huge thanks for working on this!
|
@lyzno1 please fix the conflicts, thanks. |
Nested package-manager calls can fail or select a system version because the boolean recursion guard assumes every tool is already on PATH.
Replace it with
VP_PATH_INJECTED_TOOLSand shared child PATH preparation. Track available tools per installation, exclude other Vite+ shims, and recover missing bundled tools from the selected Node installation. Explicitvp env execresolves a fresh selection, while nested shim calls preserve the parent's runtime and package-manager precedence through JS delegation.Fixes #2630.