@factiii/stack 0.1.124 → 0.1.125
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"github-cli.d.ts","sourceRoot":"","sources":["../../../../../src/plugins/pipelines/factiii/scanfix/github-cli.ts"],"names":[],"mappings":"AAAA;;;GAGG;
|
|
1
|
+
{"version":3,"file":"github-cli.d.ts","sourceRoot":"","sources":["../../../../../src/plugins/pipelines/factiii/scanfix/github-cli.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAIH,OAAO,KAAK,EAAiB,GAAG,EAAE,MAAM,4BAA4B,CAAC;AAsBrE,eAAO,MAAM,cAAc,EAAE,GAAG,EA4C/B,CAAC"}
|
|
@@ -3,10 +3,63 @@
|
|
|
3
3
|
* GitHub CLI fixes for Factiii Pipeline plugin
|
|
4
4
|
* Handles GitHub CLI installation for dev environment
|
|
5
5
|
*/
|
|
6
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
7
|
+
if (k2 === undefined) k2 = k;
|
|
8
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
9
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
10
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
11
|
+
}
|
|
12
|
+
Object.defineProperty(o, k2, desc);
|
|
13
|
+
}) : (function(o, m, k, k2) {
|
|
14
|
+
if (k2 === undefined) k2 = k;
|
|
15
|
+
o[k2] = m[k];
|
|
16
|
+
}));
|
|
17
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
18
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
19
|
+
}) : function(o, v) {
|
|
20
|
+
o["default"] = v;
|
|
21
|
+
});
|
|
22
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
23
|
+
var ownKeys = function(o) {
|
|
24
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
25
|
+
var ar = [];
|
|
26
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
27
|
+
return ar;
|
|
28
|
+
};
|
|
29
|
+
return ownKeys(o);
|
|
30
|
+
};
|
|
31
|
+
return function (mod) {
|
|
32
|
+
if (mod && mod.__esModule) return mod;
|
|
33
|
+
var result = {};
|
|
34
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
35
|
+
__setModuleDefault(result, mod);
|
|
36
|
+
return result;
|
|
37
|
+
};
|
|
38
|
+
})();
|
|
6
39
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
7
40
|
exports.githubCliFixes = void 0;
|
|
41
|
+
const fs = __importStar(require("fs"));
|
|
8
42
|
const child_process_1 = require("child_process");
|
|
9
43
|
const config_helpers_js_1 = require("../../../../utils/config-helpers.js");
|
|
44
|
+
/**
|
|
45
|
+
* Check if gh CLI is available on the system.
|
|
46
|
+
* On Windows, also checks common install paths since PATH may not be refreshed.
|
|
47
|
+
*/
|
|
48
|
+
function isGhInstalled() {
|
|
49
|
+
const cmd = process.platform === 'win32' ? 'where gh' : 'which gh';
|
|
50
|
+
try {
|
|
51
|
+
(0, child_process_1.execSync)(cmd, { stdio: 'pipe' });
|
|
52
|
+
return true;
|
|
53
|
+
}
|
|
54
|
+
catch {
|
|
55
|
+
// On Windows, check default install path (PATH may not be refreshed)
|
|
56
|
+
if (process.platform === 'win32') {
|
|
57
|
+
return fs.existsSync('C:\\Program Files\\GitHub CLI\\gh.exe')
|
|
58
|
+
|| fs.existsSync('C:\\Program Files (x86)\\GitHub CLI\\gh.exe');
|
|
59
|
+
}
|
|
60
|
+
return false;
|
|
61
|
+
}
|
|
62
|
+
}
|
|
10
63
|
exports.githubCliFixes = [
|
|
11
64
|
{
|
|
12
65
|
id: 'gh-cli-not-installed',
|
|
@@ -19,53 +72,36 @@ exports.githubCliFixes = [
|
|
|
19
72
|
// Only needed on dev machine, not on staging/prod servers
|
|
20
73
|
if (process.env.FACTIII_ON_SERVER)
|
|
21
74
|
return false;
|
|
22
|
-
|
|
23
|
-
const cmd = process.platform === 'win32' ? 'where gh' : 'which gh';
|
|
24
|
-
(0, child_process_1.execSync)(cmd, { stdio: 'pipe' });
|
|
25
|
-
return false;
|
|
26
|
-
}
|
|
27
|
-
catch {
|
|
28
|
-
return true;
|
|
29
|
-
}
|
|
75
|
+
return !isGhInstalled();
|
|
30
76
|
},
|
|
31
77
|
fix: async (_config, _rootDir) => {
|
|
32
|
-
|
|
33
|
-
const checkCmd = isWin ? 'where gh' : 'which gh';
|
|
34
|
-
if (isWin) {
|
|
78
|
+
if (process.platform === 'win32') {
|
|
35
79
|
console.log(' Installing GitHub CLI via winget...');
|
|
36
80
|
try {
|
|
37
81
|
(0, child_process_1.execSync)('winget install --id GitHub.cli -e --accept-source-agreements --accept-package-agreements', { stdio: 'inherit' });
|
|
38
82
|
}
|
|
39
83
|
catch {
|
|
40
|
-
// winget returns non-zero for "already installed, no upgrade"
|
|
84
|
+
// winget returns non-zero for "already installed, no upgrade"
|
|
41
85
|
}
|
|
86
|
+
}
|
|
87
|
+
else {
|
|
88
|
+
console.log(' Installing GitHub CLI via Homebrew...');
|
|
42
89
|
try {
|
|
43
|
-
(0, child_process_1.execSync)(
|
|
44
|
-
|
|
45
|
-
return true;
|
|
90
|
+
(0, child_process_1.execSync)('which brew', { stdio: 'pipe' });
|
|
91
|
+
(0, child_process_1.execSync)('brew install gh', { stdio: 'inherit' });
|
|
46
92
|
}
|
|
47
93
|
catch {
|
|
48
|
-
|
|
49
|
-
return false;
|
|
94
|
+
// brew may fail if already installed
|
|
50
95
|
}
|
|
51
96
|
}
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
(0, child_process_1.execSync)('which brew', { stdio: 'pipe' });
|
|
55
|
-
(0, child_process_1.execSync)('brew install gh', { stdio: 'inherit' });
|
|
56
|
-
}
|
|
57
|
-
catch {
|
|
58
|
-
// brew may fail if already installed — check if gh exists
|
|
59
|
-
}
|
|
60
|
-
try {
|
|
61
|
-
(0, child_process_1.execSync)(checkCmd, { stdio: 'pipe' });
|
|
62
|
-
console.log(' ✅ GitHub CLI is installed. Run: gh auth login');
|
|
97
|
+
if (isGhInstalled()) {
|
|
98
|
+
console.log(' ✅ GitHub CLI is installed. Restart terminal if `gh` is not in PATH, then run: gh auth login');
|
|
63
99
|
return true;
|
|
64
100
|
}
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
101
|
+
console.log(process.platform === 'win32'
|
|
102
|
+
? ' ⚠️ Installation failed. Install manually: winget install GitHub.cli'
|
|
103
|
+
: ' ⚠️ Installation failed. Install manually: brew install gh');
|
|
104
|
+
return false;
|
|
69
105
|
},
|
|
70
106
|
manualFix: process.platform === 'win32'
|
|
71
107
|
? 'Install GitHub CLI: winget install GitHub.cli (or visit https://cli.github.com/)'
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"github-cli.js","sourceRoot":"","sources":["../../../../../src/plugins/pipelines/factiii/scanfix/github-cli.ts"],"names":[],"mappings":";AAAA;;;GAGG
|
|
1
|
+
{"version":3,"file":"github-cli.js","sourceRoot":"","sources":["../../../../../src/plugins/pipelines/factiii/scanfix/github-cli.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEH,uCAAyB;AACzB,iDAAyC;AAEzC,2EAAsE;AAEtE;;;GAGG;AACH,SAAS,aAAa;IACpB,MAAM,GAAG,GAAG,OAAO,CAAC,QAAQ,KAAK,OAAO,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC;IACnE,IAAI,CAAC;QACH,IAAA,wBAAQ,EAAC,GAAG,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC;QACjC,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,MAAM,CAAC;QACP,qEAAqE;QACrE,IAAI,OAAO,CAAC,QAAQ,KAAK,OAAO,EAAE,CAAC;YACjC,OAAO,EAAE,CAAC,UAAU,CAAC,uCAAuC,CAAC;mBACxD,EAAE,CAAC,UAAU,CAAC,6CAA6C,CAAC,CAAC;QACpE,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAEY,QAAA,cAAc,GAAU;IACnC;QACE,EAAE,EAAE,sBAAsB;QAC1B,KAAK,EAAE,KAAK;QACZ,QAAQ,EAAE,MAAM;QAChB,WAAW,EAAE,qEAAqE;QAClF,IAAI,EAAE,KAAK,EAAE,OAAsB,EAAE,QAAgB,EAAoB,EAAE;YACzE,IAAI,CAAC,IAAA,mCAAe,EAAC,OAAO,CAAC;gBAAE,OAAO,KAAK,CAAC;YAC5C,0DAA0D;YAC1D,IAAI,OAAO,CAAC,GAAG,CAAC,iBAAiB;gBAAE,OAAO,KAAK,CAAC;YAChD,OAAO,CAAC,aAAa,EAAE,CAAC;QAC1B,CAAC;QACD,GAAG,EAAE,KAAK,EAAE,OAAsB,EAAE,QAAgB,EAAoB,EAAE;YACxE,IAAI,OAAO,CAAC,QAAQ,KAAK,OAAO,EAAE,CAAC;gBACjC,OAAO,CAAC,GAAG,CAAC,wCAAwC,CAAC,CAAC;gBACtD,IAAI,CAAC;oBACH,IAAA,wBAAQ,EAAC,0FAA0F,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC;gBAC7H,CAAC;gBAAC,MAAM,CAAC;oBACP,8DAA8D;gBAChE,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,OAAO,CAAC,GAAG,CAAC,0CAA0C,CAAC,CAAC;gBACxD,IAAI,CAAC;oBACH,IAAA,wBAAQ,EAAC,YAAY,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC;oBAC1C,IAAA,wBAAQ,EAAC,iBAAiB,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC;gBACpD,CAAC;gBAAC,MAAM,CAAC;oBACP,qCAAqC;gBACvC,CAAC;YACH,CAAC;YAED,IAAI,aAAa,EAAE,EAAE,CAAC;gBACpB,OAAO,CAAC,GAAG,CAAC,gGAAgG,CAAC,CAAC;gBAC9G,OAAO,IAAI,CAAC;YACd,CAAC;YAED,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,QAAQ,KAAK,OAAO;gBACtC,CAAC,CAAC,yEAAyE;gBAC3E,CAAC,CAAC,+DAA+D,CAAC,CAAC;YACrE,OAAO,KAAK,CAAC;QACf,CAAC;QACD,SAAS,EAAE,OAAO,CAAC,QAAQ,KAAK,OAAO;YACrC,CAAC,CAAC,kFAAkF;YACpF,CAAC,CAAC,wEAAwE;KAC7E;CACF,CAAC"}
|