Repository navigation
fix(runtime): preserve workspace bins through nested shims - #1207
Conversation
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Central YAML (base), Organization UI (inherited) Review profile: CHILL Plan: Pro Plus Run ID: 📒 Files selected for processing (5)
📝 WalkthroughWalkthrough
ChangesRuntime-aware execution
Estimated code review effort: 3 (Moderate) | ~20 minutes Possibly related PRs
Poem
🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
Greptile SummaryPreserves workspace-root binaries during local and recursive execs, restores activated package-manager shims for Node descendants, and adds regression coverage for sequential, parallel, and nested-runtime execution. Confidence Score: 5/5The PR appears safe to merge with no concrete blocking or non-blocking defects identified. The changed binary lookup and PATH construction preserve local precedence, add the intended workspace fallback, and resolve the initial real Node executable before activated shims are restored for descendants. Important Files Changed
Reviews (1): Last reviewed commit: "fix(runtime): preserve workspace bins th..." | Re-trigger Greptile |
Instruction counts
No instruction-count regression above 1%. Only instruction counts gate. Wall clock is shown for context — on identical hardware it moves 4-20% run to run. Measured by tak — instruction-counted CLI benchmarks, stored in this repository's git notes.
|
Summary
node_modules/.binfor recursive and member-local execsaube noderesolves the real Node executableRoot cause
Recursive exec resolved binaries only from each member's
.bin, unlike pnpm's workspace-rootextraBinPathsbehavior. Separately, the activatednodeshim sanitized the shim directory before handing off to real Node, so Node tools such as Rspack could not subsequently spawnpnpm.Validation
cargo testcargo clippy --all-targets -- -D warningscargo fmt --checkAI-assisted — Tool: Codex; model: openai/gpt-5; version: unavailable.
Note
Medium Risk
Touches exec PATH assembly and Node resolution paths used by scripts and nested spawns; behavior is regression-tested but affects runtime/shim ordering across workspaces and activation.
Overview
Recursive
aube execnow resolves binaries from the member’snode_modules/.binfirst, then the workspace root.binwhen present, matching pnpm-styleextraBinPaths.build_bin_commandalways sets childPATHfrom member plus root bin dirs (viapath_entries_with_project_bins) instead of only wiring PATH in shell mode or for native shims.aube noderesolves the real Node binary before applying PATH (resolved_node_program), and usesnode_child_path_entriesso activated pnpm/npm/yarn shims stay visible to Node descendants without re-entering thenodeshim. BATS cover workspace-root recursive exec and pnpm reachable from a Node grandchild under activation.Reviewed by Cursor Bugbot for commit e181824. Bugbot is set up for automated code reviews on this repo. Configure here.
Summary by CodeRabbit
Bug Fixes
Tests