(filePath: string)
| 32 | } |
| 33 | |
| 34 | function isExecutableFile(filePath: string) { |
| 35 | try { |
| 36 | if (!statSync(filePath).isFile()) return false |
| 37 | accessSync(filePath, constants.X_OK) |
| 38 | return true |
| 39 | } catch { |
| 40 | return false |
| 41 | } |
| 42 | } |
| 43 | |
| 44 | function runShellNodeProbe(shell: string) { |
| 45 | return new Promise<string | null>((resolve) => { |
no outgoing calls
no test coverage detected