Repository navigation
release: v7.0.3 - #71
Conversation
There was a problem hiding this comment.
🧪 PR Review is completed: Clean release PR: moves @vscode/ripgrep into dependencies and appends the bundled rg dir to PATH for spawned shells and hooks — the implementation is well-guarded (cached resolution, Windows Path-casing aware, append-only so user binaries take precedence). Reviewed src/utils/shell.ts: no issues found. Reviewed src/core/hooks.ts: no issues found. Reviewed src/tools/executors/executeCommand.ts: no issues found. Reviewed src/tools/executors/backgroundCommands.ts: no issues found. Reviewed package.json: no issues found.
Skipped files
CHANGELOG.md: Skipped file pattern
⬇️ Low Priority Suggestions (1)
test/read-only-command.test.ts (1 suggestion)
Location:
test/read-only-command.test.ts(Lines 57-62)🔵 Test Robustness
Issue: The new test hard-fails via
assert.ok(rgPath, "expected @vscode/ripgrep binary to resolve on this host")on any host where the platform-specific ripgrep binary isn't installed (e.g. linux-ia32, win32-ia32, openbsd — the platform packages are optionalDependencies of@vscode/ripgrep).getBundledRipgrepPath()is explicitly designed to returnundefinedin that case (per the catch comment in shell.ts), sonpm run test:readonlybreaks on those architectures instead of degrading gracefully the way the production code does.Fix: Accept the node:test
TestContextandt.skip()when the bundled binary doesn't resolve, keeping the full assertions on supported platforms.Impact: Test suite stays green on unsupported architectures while still verifying the full PATH-exposure behavior where the binary exists.
- test("bundled ripgrep is exposed on PATH for Bash commands", async () => { - const { getBundledRipgrepDir, getBundledRipgrepPath, withBundledToolsOnPath } = await import("../src/utils/shell.js") - const { executeCommand } = await import("../src/tools/executors/executeCommand.js") - const rgPath = getBundledRipgrepPath() - const rgDir = getBundledRipgrepDir() - assert.ok(rgPath, "expected @vscode/ripgrep binary to resolve on this host") + test("bundled ripgrep is exposed on PATH for Bash commands", async (t) => { + const { getBundledRipgrepDir, getBundledRipgrepPath, withBundledToolsOnPath } = await import("../src/utils/shell.js") + const { executeCommand } = await import("../src/tools/executors/executeCommand.js") + const rgPath = getBundledRipgrepPath() + if (!rgPath) return t.skip("@vscode/ripgrep platform binary not installed on this host") + const rgDir = getBundledRipgrepDir()
Summary
@vscode/ripgrepfromoptionalDependenciestodependenciesso the prebuilt platform binary (darwin,linux,win32across architectures) is always installed with@matterailab/orbcode.@vscode/ripgrepbin/directory toPATHwhen spawning foregroundBashcommands, backgroundBashcommands, and hooks, sorgworks out of the box when not installed globally while preserving any systemrgearlier onPATH.7.0.3.