1 | "use strict";
|
2 | Object.defineProperty(exports, "__esModule", { value: true });
|
3 | const Debug = require("debug");
|
4 | const os = require("os");
|
5 | const debug = Debug('ionic:utils-terminal');
|
6 |
|
7 |
|
8 |
|
9 |
|
10 |
|
11 | exports.CI_ENVIRONMENT_VARIABLES = ['CI', 'BUILD_ID', 'BUILD_NUMBER', 'BITBUCKET_COMMIT', 'CODEBUILD_BUILD_ARN', 'GITHUB_ACTIONS'];
|
12 | exports.CI_ENVIRONMENT_VARIABLES_DETECTED = exports.CI_ENVIRONMENT_VARIABLES.filter(v => !!process.env[v]);
|
13 | function getShell() {
|
14 | const { shell } = os.userInfo();
|
15 | if (shell) {
|
16 | return shell;
|
17 | }
|
18 | if (process.env.SHELL) {
|
19 | return process.env.SHELL;
|
20 | }
|
21 | if (process.platform === 'darwin') {
|
22 | return '/bin/bash';
|
23 | }
|
24 | if (process.platform === 'win32') {
|
25 | return process.env.COMSPEC ? process.env.COMSPEC : 'cmd.exe';
|
26 | }
|
27 | return '/bin/sh';
|
28 | }
|
29 | if (exports.CI_ENVIRONMENT_VARIABLES_DETECTED.length > 0) {
|
30 | debug(`Environment variables for CI detected: ${exports.CI_ENVIRONMENT_VARIABLES_DETECTED.join(', ')}`);
|
31 | }
|
32 | exports.TERMINAL_INFO = Object.freeze({
|
33 | ci: exports.CI_ENVIRONMENT_VARIABLES_DETECTED.length > 0,
|
34 | shell: getShell(),
|
35 | tty: Boolean(process.stdin.isTTY && process.stdout.isTTY && process.stderr.isTTY),
|
36 | windows: process.platform === 'win32' || !!(process.env.OSTYPE && /^(msys|cygwin)$/.test(process.env.OSTYPE) ||
|
37 | process.env.MSYSTEM && /^MINGW(32|64)$/.test(process.env.MSYSTEM)),
|
38 | });
|