#Nodejs #ripgrep #JavaScript #TypeScript
## 事象
[[Node.js]]の[[child_process.exec]]や[[child_process.spawn]]で[[ripgrep]]を実行すると結果が返却されない。(実行が完了しない)
## 原因
標準入力待ちになっていたから。
## 解決方法
[[child_process.spawn]]の第3引数で `stdio: ['ignore', 'pipe', 'pipe']`を指定する。
```ts
import { spawn } from "child_process";
const results = spawn("rg", ["word"], {
stdio: ["ignore", "pipe", "pipe"],
});
results.stdout.on("data", (data) => {
console.log(data.toString())
}
```
> [!attention]
> [[ripgrep]]の引数に検索パスを指定する方法もあるが、なぜかオプションによってはダメだった
## 参考
- [vscode extensions \- Node\.js child process is not giving any response or any error \- Stack Overflow](https://stackoverflow.com/questions/68947940/node-js-child-process-is-not-giving-any-response-or-any-error)