## Summary
Ripgrep is our preferred tool for file search. When users install via
`brew install codex`, it's automatically installed as a dependency. We
want to ensure that users running via an npm install also have this
tool! Microsoft has already solved this problem for VS Code - let's not
reinvent the wheel.
This approach of appending to the PATH directly might be a bit
heavy-handed, but feels reasonably robust to a variety of environment
concerns. Open to thoughts on better approaches here!
## Testing
- [x] confirmed this import approach works with `node -e "const { rgPath
} = require('@vscode/ripgrep'); require('child_process').spawn(rgPath,
['--version'], { stdio: 'inherit' })"`
- [x] Ran codex.js locally with `rg` uninstalled, asked it to run `which
rg`. Output below:
```
⚡ Ran command which rg; echo $?
⎿ /Users/dylan.hurd/code/dh--npm-rg/node_modules/@vscode/ripgrep/bin/rg
0
codex
Re-running to confirm the path and exit code.
- Path: `/Users/dylan.hurd/code/dh--npm-rg/node_modules/@vscode/ripgrep/bin/rg`
- Exit code: `0`
```
26 lines
578 B
JSON
26 lines
578 B
JSON
{
|
|
"name": "codex-monorepo",
|
|
"private": true,
|
|
"description": "Tools for repo-wide maintenance.",
|
|
"scripts": {
|
|
"format": "prettier --check *.json *.md .github/workflows/*.yml **/*.js",
|
|
"format:fix": "prettier --write *.json *.md .github/workflows/*.yml **/*.js"
|
|
},
|
|
"devDependencies": {
|
|
"prettier": "^3.5.3"
|
|
},
|
|
"resolutions": {
|
|
"braces": "^3.0.3",
|
|
"micromatch": "^4.0.8",
|
|
"semver": "^7.7.1"
|
|
},
|
|
"overrides": {
|
|
"punycode": "^2.3.1"
|
|
},
|
|
"engines": {
|
|
"node": ">=22",
|
|
"pnpm": ">=9.0.0"
|
|
},
|
|
"packageManager": "pnpm@10.8.1"
|
|
}
|