## 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`
```
34 lines
794 B
JSON
34 lines
794 B
JSON
{
|
|
"name": "codex-monorepo",
|
|
"lockfileVersion": 3,
|
|
"requires": true,
|
|
"packages": {
|
|
"": {
|
|
"name": "codex-monorepo",
|
|
"devDependencies": {
|
|
"prettier": "^3.5.3"
|
|
},
|
|
"engines": {
|
|
"node": ">=22",
|
|
"pnpm": ">=9.0.0"
|
|
}
|
|
},
|
|
"node_modules/prettier": {
|
|
"version": "3.6.2",
|
|
"resolved": "https://registry.npmjs.org/prettier/-/prettier-3.6.2.tgz",
|
|
"integrity": "sha512-I7AIg5boAr5R0FFtJ6rCfD+LFsWHp81dolrFD8S79U9tb8Az2nGrJncnMSnys+bpQJfRUzqs9hnA81OAA3hCuQ==",
|
|
"dev": true,
|
|
"license": "MIT",
|
|
"bin": {
|
|
"prettier": "bin/prettier.cjs"
|
|
},
|
|
"engines": {
|
|
"node": ">=14"
|
|
},
|
|
"funding": {
|
|
"url": "https://github.com/prettier/prettier?sponsor=1"
|
|
}
|
|
}
|
|
}
|
|
}
|