@catladder/cli 0.0.0-main-ef2d95a2 → 0.0.0-main-05a96e20
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.
- package/dist/apps/cli/cli.js +6 -11
- package/dist/apps/cli/cli.js.map +1 -1
- package/dist/apps/cli/commands/project/commandConfigSecrets.js +0 -1
- package/dist/apps/cli/commands/project/commandConfigSecrets.js.map +1 -1
- package/dist/apps/cli/commands/project/commandReloadConfig.d.ts +3 -0
- package/dist/apps/cli/commands/project/commandReloadConfig.js +62 -0
- package/dist/apps/cli/commands/project/commandReloadConfig.js.map +1 -0
- package/dist/apps/cli/commands/project/index.js +2 -0
- package/dist/apps/cli/commands/project/index.js.map +1 -1
- package/dist/apps/cli/commands/project/utils/showProjectBanner.d.ts +2 -0
- package/dist/apps/cli/commands/project/utils/showProjectBanner.js +58 -0
- package/dist/apps/cli/commands/project/utils/showProjectBanner.js.map +1 -0
- package/dist/apps/cli/verify/index.js +30 -11
- package/dist/apps/cli/verify/index.js.map +1 -1
- package/dist/config/getProjectConfig.d.ts +1 -0
- package/dist/config/getProjectConfig.js +3 -1
- package/dist/config/getProjectConfig.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/dist/utils/gitlab.d.ts +2 -0
- package/dist/utils/gitlab.js +35 -11
- package/dist/utils/gitlab.js.map +1 -1
- package/package.json +2 -2
- package/src/apps/cli/cli.ts +6 -7
- package/src/apps/cli/commands/project/commandConfigSecrets.ts +0 -2
- package/src/apps/cli/commands/project/commandReloadConfig.ts +12 -0
- package/src/apps/cli/commands/project/index.ts +2 -0
- package/src/apps/cli/commands/project/utils/showProjectBanner.ts +11 -0
- package/src/apps/cli/verify/index.ts +10 -0
- package/src/config/getProjectConfig.ts +2 -0
- package/src/utils/gitlab.ts +37 -28
package/dist/utils/gitlab.d.ts
CHANGED
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
import memoizee from "memoizee";
|
|
2
2
|
import { CommandInstance } from "vorpal";
|
|
3
|
+
export declare const hasGitlabToken: () => Promise<boolean>;
|
|
4
|
+
export declare const setupGitlabToken: (vorpal: CommandInstance) => Promise<void>;
|
|
3
5
|
export declare const getGitlabToken: (vorpal: CommandInstance) => Promise<any>;
|
|
4
6
|
export declare const doGitlabRequest: <T = any>(vorpal: CommandInstance, path: string, data?: any, update?: boolean) => Promise<T>;
|
|
5
7
|
export declare const getProjectInfo: (vorpal: CommandInstance) => Promise<{
|
package/dist/utils/gitlab.js
CHANGED
|
@@ -48,7 +48,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
48
48
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
49
49
|
};
|
|
50
50
|
exports.__esModule = true;
|
|
51
|
-
exports.upsertAllVariables = exports.getAllVariables = exports.getProjectInfo = exports.doGitlabRequest = exports.getGitlabToken = void 0;
|
|
51
|
+
exports.upsertAllVariables = exports.getAllVariables = exports.getProjectInfo = exports.doGitlabRequest = exports.getGitlabToken = exports.setupGitlabToken = exports.hasGitlabToken = void 0;
|
|
52
52
|
var child_process_promise_1 = require("child-process-promise");
|
|
53
53
|
var lodash_1 = require("lodash");
|
|
54
54
|
var memoizee_1 = __importDefault(require("memoizee"));
|
|
@@ -56,13 +56,18 @@ var node_fetch_1 = __importDefault(require("node-fetch"));
|
|
|
56
56
|
var open_1 = __importDefault(require("open"));
|
|
57
57
|
var preferences_1 = require("./preferences");
|
|
58
58
|
var TOKEN_KEY = "gitlab-personal-access-token";
|
|
59
|
-
var
|
|
59
|
+
var hasGitlabToken = function () { return __awaiter(void 0, void 0, void 0, function () { return __generator(this, function (_a) {
|
|
60
|
+
switch (_a.label) {
|
|
61
|
+
case 0: return [4 /*yield*/, (0, preferences_1.hasPreference)(TOKEN_KEY)];
|
|
62
|
+
case 1: return [2 /*return*/, _a.sent()];
|
|
63
|
+
}
|
|
64
|
+
}); }); };
|
|
65
|
+
exports.hasGitlabToken = hasGitlabToken;
|
|
66
|
+
var setupGitlabToken = function (vorpal) { return __awaiter(void 0, void 0, void 0, function () {
|
|
60
67
|
var shouldContinue, personalToken;
|
|
61
68
|
return __generator(this, function (_a) {
|
|
62
69
|
switch (_a.label) {
|
|
63
|
-
case 0:
|
|
64
|
-
case 1:
|
|
65
|
-
if (!!(_a.sent())) return [3 /*break*/, 5];
|
|
70
|
+
case 0:
|
|
66
71
|
vorpal.log("");
|
|
67
72
|
vorpal.log("☝ in order to access the api, we need a personal access token");
|
|
68
73
|
vorpal.log("Its best to create one specifically for catladder");
|
|
@@ -75,7 +80,7 @@ var getGitlabToken = function (vorpal) { return __awaiter(void 0, void 0, void 0
|
|
|
75
80
|
name: "shouldContinue",
|
|
76
81
|
type: "prompt"
|
|
77
82
|
})];
|
|
78
|
-
case
|
|
83
|
+
case 1:
|
|
79
84
|
shouldContinue = (_a.sent()).shouldContinue;
|
|
80
85
|
(0, open_1["default"])("https://git.panter.ch/-/profile/personal_access_tokens");
|
|
81
86
|
vorpal.log("Please type in gitlab's personal access token");
|
|
@@ -85,14 +90,33 @@ var getGitlabToken = function (vorpal) { return __awaiter(void 0, void 0, void 0
|
|
|
85
90
|
"default": "",
|
|
86
91
|
message: "Your personal access token "
|
|
87
92
|
})];
|
|
88
|
-
case
|
|
93
|
+
case 2:
|
|
89
94
|
personalToken = (_a.sent()).personalToken;
|
|
90
|
-
if (!personalToken) return [3 /*break*/,
|
|
95
|
+
if (!personalToken) return [3 /*break*/, 4];
|
|
91
96
|
return [4 /*yield*/, (0, preferences_1.setPreference)(TOKEN_KEY, personalToken)];
|
|
92
|
-
case
|
|
97
|
+
case 3:
|
|
93
98
|
_a.sent();
|
|
94
|
-
_a.label =
|
|
95
|
-
case
|
|
99
|
+
_a.label = 4;
|
|
100
|
+
case 4: return [2 /*return*/];
|
|
101
|
+
}
|
|
102
|
+
});
|
|
103
|
+
}); };
|
|
104
|
+
exports.setupGitlabToken = setupGitlabToken;
|
|
105
|
+
var getGitlabToken = function (vorpal) { return __awaiter(void 0, void 0, void 0, function () {
|
|
106
|
+
return __generator(this, function (_a) {
|
|
107
|
+
switch (_a.label) {
|
|
108
|
+
case 0: return [4 /*yield*/, (0, exports.hasGitlabToken)()];
|
|
109
|
+
case 1:
|
|
110
|
+
if (!!(_a.sent())) return [3 /*break*/, 3];
|
|
111
|
+
if (!vorpal) {
|
|
112
|
+
console.error("⚠️ gitlab token missing, please run catladder to set it up");
|
|
113
|
+
process.exit(1);
|
|
114
|
+
}
|
|
115
|
+
return [4 /*yield*/, (0, exports.setupGitlabToken)(vorpal)];
|
|
116
|
+
case 2:
|
|
117
|
+
_a.sent();
|
|
118
|
+
_a.label = 3;
|
|
119
|
+
case 3: return [2 /*return*/, (0, preferences_1.getPreference)(TOKEN_KEY)];
|
|
96
120
|
}
|
|
97
121
|
});
|
|
98
122
|
}); };
|
package/dist/utils/gitlab.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"gitlab.js","sourceRoot":"","sources":["../../src/utils/gitlab.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,+DAA6C;AAC7C,iCAA0C;AAC1C,sDAAgC;AAChC,0DAA+B;AAC/B,8CAAwB;AAExB,6CAA4E;AAE5E,IAAM,SAAS,GAAG,8BAA8B,CAAC;
|
|
1
|
+
{"version":3,"file":"gitlab.js","sourceRoot":"","sources":["../../src/utils/gitlab.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -17,7 +17,7 @@
|
|
|
17
17
|
},
|
|
18
18
|
"dependencies": {
|
|
19
19
|
"@bitwarden/cli": "^1.8.0",
|
|
20
|
-
"@catladder/pipeline": "0.0.0-main-
|
|
20
|
+
"@catladder/pipeline": "0.0.0-main-05a96e20",
|
|
21
21
|
"@kubernetes/client-node": "^0.16.1",
|
|
22
22
|
"child-process-promise": "^2.2.1",
|
|
23
23
|
"clipboardy": "^2.2.0",
|
|
@@ -60,6 +60,6 @@
|
|
|
60
60
|
"eslint": "^8.7.0",
|
|
61
61
|
"typescript": "^4.5.4"
|
|
62
62
|
},
|
|
63
|
-
"version": "0.0.0-main-
|
|
63
|
+
"version": "0.0.0-main-05a96e20",
|
|
64
64
|
"stableVersion": "0.0.0-test7"
|
|
65
65
|
}
|
package/src/apps/cli/cli.ts
CHANGED
|
@@ -10,12 +10,12 @@ import theStuffThatReallyMatters from "./commands/theStuffThatReallyMatters";
|
|
|
10
10
|
|
|
11
11
|
import { getProjectConfig } from "../../config/getProjectConfig";
|
|
12
12
|
import { verify } from "./verify";
|
|
13
|
+
import { showProjectBanner } from "./commands/project/utils/showProjectBanner";
|
|
13
14
|
|
|
14
15
|
export default async () => {
|
|
15
16
|
const vorpal = new Vorpal();
|
|
16
|
-
|
|
17
|
+
|
|
17
18
|
const welcomeMessage = `catladder 2022 😻 version ${packageInfos.version}`;
|
|
18
|
-
const projectConfig = await getProjectConfig();
|
|
19
19
|
|
|
20
20
|
vorpal
|
|
21
21
|
.delimiter("catladder $") // emoji messes with cursor :-( https://github.com/dthree/vorpal/issues/332
|
|
@@ -24,11 +24,10 @@ export default async () => {
|
|
|
24
24
|
.log("")
|
|
25
25
|
.log(welcomeMessage)
|
|
26
26
|
.log("");
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
}
|
|
27
|
+
|
|
28
|
+
await showProjectBanner(vorpal);
|
|
29
|
+
|
|
30
|
+
verify(vorpal);
|
|
32
31
|
|
|
33
32
|
general(vorpal);
|
|
34
33
|
project(vorpal);
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import Vorpal from "vorpal";
|
|
2
|
+
import { reloadConfig } from "../../../../config/getProjectConfig";
|
|
3
|
+
import { showProjectBanner } from "./utils/showProjectBanner";
|
|
4
|
+
|
|
5
|
+
export default async (vorpal: Vorpal) =>
|
|
6
|
+
vorpal
|
|
7
|
+
.command("project-reload-config", "reloads the config")
|
|
8
|
+
|
|
9
|
+
.action(async function () {
|
|
10
|
+
await reloadConfig();
|
|
11
|
+
await showProjectBanner(vorpal);
|
|
12
|
+
});
|
|
@@ -24,8 +24,10 @@ import commandPortForward from "./commandPortForward";
|
|
|
24
24
|
import commandTriggerCronjob from "./commandTriggerCronjob";
|
|
25
25
|
|
|
26
26
|
import commandOpenGrafanaPod from "./commandOpenGrafanaPod";
|
|
27
|
+
import commandReloadConfig from "./commandReloadConfig";
|
|
27
28
|
|
|
28
29
|
export default async (vorpal: Vorpal) => {
|
|
30
|
+
commandReloadConfig(vorpal);
|
|
29
31
|
commandInitProject(vorpal);
|
|
30
32
|
commandInitGitlab(vorpal);
|
|
31
33
|
commandEnvVars(vorpal);
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import Vorpal from "vorpal";
|
|
2
|
+
import { getProjectConfig } from "../../../../../config/getProjectConfig";
|
|
3
|
+
|
|
4
|
+
export const showProjectBanner = async (vorpal: Vorpal) => {
|
|
5
|
+
const projectConfig = await getProjectConfig();
|
|
6
|
+
if (projectConfig) {
|
|
7
|
+
vorpal.log("project: " + projectConfig.appName);
|
|
8
|
+
vorpal.log("customer: " + projectConfig.customerName);
|
|
9
|
+
vorpal.log("");
|
|
10
|
+
}
|
|
11
|
+
};
|
|
@@ -3,9 +3,19 @@ import {
|
|
|
3
3
|
getGitlabCi,
|
|
4
4
|
getProjectConfig,
|
|
5
5
|
} from "../../../config/getProjectConfig";
|
|
6
|
+
import { hasGitlabToken, setupGitlabToken } from "../../../utils/gitlab";
|
|
6
7
|
import { migrateV2 } from "./migration/fromv2";
|
|
7
8
|
|
|
8
9
|
export const verify = async (vorpal: Vorpal) => {
|
|
10
|
+
// check if has all settings
|
|
11
|
+
|
|
12
|
+
if (!(await hasGitlabToken())) {
|
|
13
|
+
vorpal.command("setup-gitlab-token").action(async function () {
|
|
14
|
+
await setupGitlabToken(this);
|
|
15
|
+
});
|
|
16
|
+
vorpal.exec("setup-gitlab-token");
|
|
17
|
+
}
|
|
18
|
+
|
|
9
19
|
const projectConfig = await getProjectConfig();
|
|
10
20
|
try {
|
|
11
21
|
const gitlabCi = getGitlabCi();
|
|
@@ -25,6 +25,8 @@ export const getProjectConfig = memoizee(
|
|
|
25
25
|
{ promise: true }
|
|
26
26
|
);
|
|
27
27
|
|
|
28
|
+
export const reloadConfig = () => getProjectConfig.clear();
|
|
29
|
+
|
|
28
30
|
export const getGitlabCiFilePath = async () => {
|
|
29
31
|
const gitRoot = await getGitRoot();
|
|
30
32
|
return gitRoot + "/.gitlab-ci.yml";
|
package/src/utils/gitlab.ts
CHANGED
|
@@ -7,36 +7,45 @@ import { CommandInstance } from "vorpal";
|
|
|
7
7
|
import { getPreference, hasPreference, setPreference } from "./preferences";
|
|
8
8
|
|
|
9
9
|
const TOKEN_KEY = "gitlab-personal-access-token";
|
|
10
|
+
|
|
11
|
+
export const hasGitlabToken = async () => await hasPreference(TOKEN_KEY);
|
|
12
|
+
export const setupGitlabToken = async (vorpal: CommandInstance) => {
|
|
13
|
+
vorpal.log("");
|
|
14
|
+
vorpal.log("☝ in order to access the api, we need a personal access token");
|
|
15
|
+
vorpal.log("Its best to create one specifically for catladder");
|
|
16
|
+
vorpal.log("");
|
|
17
|
+
vorpal.log("☝ we open up the settings page for you!");
|
|
18
|
+
vorpal.log("");
|
|
19
|
+
const { shouldContinue } = await vorpal.prompt({
|
|
20
|
+
default: true,
|
|
21
|
+
message: "Ok",
|
|
22
|
+
name: "shouldContinue",
|
|
23
|
+
type: "prompt",
|
|
24
|
+
});
|
|
25
|
+
|
|
26
|
+
open("https://git.panter.ch/-/profile/personal_access_tokens");
|
|
27
|
+
|
|
28
|
+
vorpal.log("Please type in gitlab's personal access token");
|
|
29
|
+
|
|
30
|
+
const { personalToken } = await vorpal.prompt({
|
|
31
|
+
type: "string",
|
|
32
|
+
name: "personalToken",
|
|
33
|
+
default: "",
|
|
34
|
+
message: "Your personal access token ",
|
|
35
|
+
});
|
|
36
|
+
if (personalToken) {
|
|
37
|
+
await setPreference(TOKEN_KEY, personalToken);
|
|
38
|
+
}
|
|
39
|
+
};
|
|
10
40
|
export const getGitlabToken = async (vorpal: CommandInstance) => {
|
|
11
|
-
if (!(await
|
|
12
|
-
vorpal
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
vorpal.log("");
|
|
18
|
-
vorpal.log("☝ we open up the settings page for you!");
|
|
19
|
-
vorpal.log("");
|
|
20
|
-
const { shouldContinue } = await vorpal.prompt({
|
|
21
|
-
default: true,
|
|
22
|
-
message: "Ok",
|
|
23
|
-
name: "shouldContinue",
|
|
24
|
-
type: "prompt",
|
|
25
|
-
});
|
|
26
|
-
|
|
27
|
-
open("https://git.panter.ch/-/profile/personal_access_tokens");
|
|
28
|
-
|
|
29
|
-
vorpal.log("Please type in gitlab's personal access token");
|
|
30
|
-
|
|
31
|
-
const { personalToken } = await vorpal.prompt({
|
|
32
|
-
type: "string",
|
|
33
|
-
name: "personalToken",
|
|
34
|
-
default: "",
|
|
35
|
-
message: "Your personal access token ",
|
|
36
|
-
});
|
|
37
|
-
if (personalToken) {
|
|
38
|
-
await setPreference(TOKEN_KEY, personalToken);
|
|
41
|
+
if (!(await hasGitlabToken())) {
|
|
42
|
+
if (!vorpal) {
|
|
43
|
+
console.error(
|
|
44
|
+
"⚠️ gitlab token missing, please run catladder to set it up"
|
|
45
|
+
);
|
|
46
|
+
process.exit(1);
|
|
39
47
|
}
|
|
48
|
+
await setupGitlabToken(vorpal);
|
|
40
49
|
}
|
|
41
50
|
return getPreference(TOKEN_KEY);
|
|
42
51
|
};
|