( env: EnvMap, io?: AuthIo, )
| 472 | } |
| 473 | |
| 474 | function detectAuthMode( |
| 475 | env: EnvMap, |
| 476 | io?: AuthIo, |
| 477 | ): 'local-browser' | 'device-code' | 'non-interactive' { |
| 478 | const stdinIsTTY = io?.stdinIsTTY ?? process.stdin.isTTY; |
| 479 | const stdoutIsTTY = io?.stdoutIsTTY ?? process.stdout.isTTY; |
| 480 | if (isCi(env) || !stdinIsTTY || !stdoutIsTTY) return 'non-interactive'; |
| 481 | if (isRemoteShell(env)) return 'device-code'; |
| 482 | return 'local-browser'; |
| 483 | } |
| 484 | |
| 485 | function isCi(env: EnvMap): boolean { |
| 486 | return env.CI === 'true' || env.GITHUB_ACTIONS === 'true' || env.BUILDKITE === 'true'; |
no test coverage detected