(devRoot: string)
| 74 | } |
| 75 | |
| 76 | function listDevStateDirs(devRoot: string): string[] { |
| 77 | let entries: fs.Dirent[]; |
| 78 | try { |
| 79 | entries = fs.readdirSync(devRoot, { withFileTypes: true }); |
| 80 | } catch { |
| 81 | return []; |
| 82 | } |
| 83 | return entries |
| 84 | .filter((entry) => entry.isDirectory()) |
| 85 | .map((entry) => path.join(devRoot, entry.name)); |
| 86 | } |
| 87 | |
| 88 | function hasLiveDaemon(stateDir: string): boolean { |
| 89 | const dirInfo = readDaemonInfo(path.join(stateDir, 'daemon.json')); |
no outgoing calls
no test coverage detected