@catladder/cli 0.0.0-refactor-cli-add-improved-git-utilities-583a3a54 → 0.0.0-refactor-cli-add-improved-git-utilities-916545cc
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/bundles/catenv/index.js +43662 -26847
- package/dist/bundles/cli/index.js +95055 -78228
- package/dist/cli/src/apps/cli/commands/project/setup/setupAccessTokens.d.ts +2 -1
- package/dist/cli/src/apps/cli/commands/project/setup/setupAccessTokens.js +3 -1
- package/dist/cli/src/apps/cli/commands/project/setup/setupAccessTokens.js.map +1 -1
- package/dist/cli/src/apps/cli/commands/project/setup/setupCloudRun.js +4 -2
- package/dist/cli/src/apps/cli/commands/project/setup/setupCloudRun.js.map +1 -1
- package/dist/cli/src/apps/cli/commands/project/setup/setupKubernetes.d.ts +2 -1
- package/dist/cli/src/apps/cli/commands/project/setup/setupKubernetes.js +23 -9
- package/dist/cli/src/apps/cli/commands/project/setup/setupKubernetes.js.map +1 -1
- package/dist/cli/src/apps/cli/commands/project/setup/setupTopic.js +6 -4
- package/dist/cli/src/apps/cli/commands/project/setup/setupTopic.js.map +1 -1
- package/dist/cli/src/gitlab/apiClient.d.ts +3 -1
- package/dist/cli/src/gitlab/apiClient.js +1 -0
- package/dist/cli/src/gitlab/apiClient.js.map +1 -1
- package/dist/cli/src/gitlab/getGitlabProjectId.d.ts +4 -0
- package/dist/cli/src/gitlab/{getGitlabProjectInfo.js → getGitlabProjectId.js} +8 -4
- package/dist/cli/src/gitlab/getGitlabProjectId.js.map +1 -0
- package/dist/cli/src/gitlab/index.d.ts +3 -0
- package/dist/cli/src/gitlab/index.js +20 -0
- package/dist/cli/src/gitlab/index.js.map +1 -0
- package/dist/cli/src/utils/gitlab.d.ts +9 -6
- package/dist/cli/src/utils/gitlab.js +59 -42
- package/dist/cli/src/utils/gitlab.js.map +1 -1
- package/dist/cli/src/utils/projectPreferences.d.ts +0 -1
- package/dist/cli/src/utils/projectPreferences.js +0 -2
- package/dist/cli/src/utils/projectPreferences.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +1 -1
- package/src/apps/cli/commands/project/setup/setupAccessTokens.ts +11 -1
- package/src/apps/cli/commands/project/setup/setupCloudRun.ts +4 -2
- package/src/apps/cli/commands/project/setup/setupKubernetes.ts +30 -27
- package/src/apps/cli/commands/project/setup/setupTopic.ts +6 -11
- package/src/gitlab/apiClient.ts +4 -1
- package/src/gitlab/{getGitlabProjectInfo.ts → getGitlabProjectId.ts} +10 -3
- package/src/gitlab/index.ts +3 -0
- package/src/utils/gitlab.ts +88 -96
- package/src/utils/projectPreferences.ts +0 -3
- package/dist/cli/src/gitlab/getGitlabProjectInfo.d.ts +0 -3
- package/dist/cli/src/gitlab/getGitlabProjectInfo.js.map +0 -1
|
@@ -1,2 +1,3 @@
|
|
|
1
1
|
import type { CommandInstance } from "vorpal";
|
|
2
|
-
|
|
2
|
+
import { type GitlabRestClient } from "../../../../../gitlab";
|
|
3
|
+
export declare const setupAccessTokens: (instance: CommandInstance, preinit?: [number, GitlabRestClient]) => Promise<void>;
|
|
@@ -6,8 +6,10 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
6
6
|
exports.setupAccessTokens = void 0;
|
|
7
7
|
const dayjs_1 = __importDefault(require("dayjs"));
|
|
8
8
|
const gitlab_1 = require("../../../../../utils/gitlab");
|
|
9
|
+
const gitlab_2 = require("../../../../../gitlab");
|
|
9
10
|
const TOKEN_NAME = "semantic-release";
|
|
10
|
-
const setupAccessTokens = async (instance) => {
|
|
11
|
+
const setupAccessTokens = async (instance, preinit) => {
|
|
12
|
+
const [id, gitlabApi] = preinit !== null && preinit !== void 0 ? preinit : (await Promise.all([(0, gitlab_2.getGitlabProjectId)(), (0, gitlab_2.gitlabApiClient)()]));
|
|
11
13
|
const { id: projectId } = await (0, gitlab_1.getProjectInfo)(instance);
|
|
12
14
|
const projectTokens = await (0, gitlab_1.doGitlabRequest)(instance, `projects/${projectId}/access_tokens`);
|
|
13
15
|
const token = projectTokens.find((t) => t.name === TOKEN_NAME && t.active === true);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"setupAccessTokens.js","sourceRoot":"","sources":["../../../../../../../../src/apps/cli/commands/project/setup/setupAccessTokens.ts"],"names":[],"mappings":";;;;;;AACA,kDAA0B;AAC1B,wDAA8E;
|
|
1
|
+
{"version":3,"file":"setupAccessTokens.js","sourceRoot":"","sources":["../../../../../../../../src/apps/cli/commands/project/setup/setupAccessTokens.ts"],"names":[],"mappings":";;;;;;AACA,kDAA0B;AAC1B,wDAA8E;AAC9E,kDAI+B;AAE/B,MAAM,UAAU,GAAG,kBAAkB,CAAC;AAE/B,MAAM,iBAAiB,GAAG,KAAK,EACpC,QAAyB,EACzB,OAAoC,EACpC,EAAE;IACF,MAAM,CAAC,EAAE,EAAE,SAAS,CAAC,GACnB,OAAO,aAAP,OAAO,cAAP,OAAO,GAAI,CAAC,MAAM,OAAO,CAAC,GAAG,CAAC,CAAC,IAAA,2BAAkB,GAAE,EAAE,IAAA,wBAAe,GAAE,CAAC,CAAC,CAAC,CAAC;IAC5E,MAAM,EAAE,EAAE,EAAE,SAAS,EAAE,GAAG,MAAM,IAAA,uBAAc,EAAC,QAAQ,CAAC,CAAC;IAEzD,MAAM,aAAa,GAAG,MAAM,IAAA,wBAAe,EACzC,QAAQ,EACR,YAAY,SAAS,gBAAgB,CACtC,CAAC;IACF,MAAM,KAAK,GAAG,aAAa,CAAC,IAAI,CAC9B,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,UAAU,IAAI,CAAC,CAAC,MAAM,KAAK,IAAI,CAClD,CAAC;IAEF,MAAM,UAAU,GAAG,IAAA,eAAK,GAAE;SACvB,GAAG,CAAC,CAAC,EAAE,MAAM,CAAC;SACd,QAAQ,CAAC,CAAC,EAAE,KAAK,CAAC;SAClB,MAAM,CAAC,YAAY,CAAC,CAAC;IAExB,MAAM,QAAQ,GAAG,KAAK;QACpB,CAAC,CAAC,MAAM,IAAA,wBAAe,EACnB,QAAQ,EACR,YAAY,SAAS,kBAAkB,KAAK,CAAC,EAAE,SAAS,EACxD,EAAE,UAAU,EAAE,EACd,MAAM,CACP;QACH,CAAC,CAAC,MAAM,IAAA,wBAAe,EACnB,QAAQ,EACR,YAAY,SAAS,gBAAgB,EACrC;YACE,IAAI,EAAE,UAAU;YAChB,MAAM,EAAE,CAAC,KAAK,EAAE,iBAAiB,CAAC;YAClC,YAAY,EAAE,EAAE,EAAE,aAAa;YAC/B,UAAU;SACX,EACD,MAAM,CACP,CAAC;IAEN,IAAI,CAAC;QACH,MAAM,IAAA,wBAAe,EAAC,QAAQ,EAAE,YAAY,SAAS,qBAAqB,CAAC,CAAC;QAC5E,MAAM,IAAA,wBAAe,EACnB,QAAQ,EACR,YAAY,SAAS,qBAAqB,EAC1C,EAAE,KAAK,EAAE,QAAQ,CAAC,KAAK,EAAE,EACzB,KAAK,CACN,CAAC;IACJ,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,IAAI,CAAC,CAAC,OAAO,KAAK,WAAW,EAAE,CAAC;YAC9B,MAAM,CAAC,CAAC;QACV,CAAC;QACD,YAAY;QACZ,MAAM,IAAA,wBAAe,EACnB,QAAQ,EACR,YAAY,SAAS,YAAY,EACjC;YACE,GAAG,EAAE,UAAU;YACf,KAAK,EAAE,QAAQ,CAAC,KAAK;YACrB,MAAM,EAAE,IAAI;SACb,EACD,MAAM,CACP,CAAC;IACJ,CAAC;IAED,QAAQ,CAAC,GAAG,CACV,kEAAkE,CACnE,CAAC;AACJ,CAAC,CAAC;AApEW,QAAA,iBAAiB,qBAoE5B"}
|
|
@@ -50,8 +50,10 @@ const setupCloudRun = async (instance, context) => {
|
|
|
50
50
|
instance.log("domain suffix: " + suffix);
|
|
51
51
|
await (0, gitlab_1.upsertAllVariables)(instance, {
|
|
52
52
|
[pipeline_1.GCLOUD_RUN_CANONICAL_HOST_SUFFIX]: suffix,
|
|
53
|
-
}, context.env, context.name,
|
|
54
|
-
|
|
53
|
+
}, context.env, context.name, {
|
|
54
|
+
backup: false,
|
|
55
|
+
masked: false,
|
|
56
|
+
});
|
|
55
57
|
};
|
|
56
58
|
exports.setupCloudRun = setupCloudRun;
|
|
57
59
|
//# sourceMappingURL=setupCloudRun.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"setupCloudRun.js","sourceRoot":"","sources":["../../../../../../../../src/apps/cli/commands/project/setup/setupCloudRun.ts"],"names":[],"mappings":";;;AACA,kDAI6B;AAG7B,+EAAwF;AACxF,oGAAiG;AACjG,yEAA4E;AAC5E,2EAAgG;AAChG,wDAAiE;AAE1D,MAAM,aAAa,GAAG,KAAK,EAChC,QAAyB,EACzB,OAAyB,EACzB,EAAE;;IACF,IAAI,CAAC,IAAA,yBAAc,EAAC,MAAA,OAAO,CAAC,MAAM,0CAAE,MAAM,EAAE,iBAAiB,CAAC,EAAE,CAAC;QAC/D,MAAM,IAAI,KAAK,CAAC,gDAAgD,CAAC,CAAC;IACpE,CAAC;IAED,MAAM,MAAM,GAAG,MAAA,OAAO,CAAC,MAAM,0CAAE,MAAM,CAAC;IAEtC,kBAAkB;IAElB,QAAQ,CAAC,GAAG,CAAC,6BAA6B,CAAC,CAAC;IAC5C,MAAM,IAAA,qCAAoB,EACxB;QACE,oBAAoB;QACpB,iCAAiC;QACjC,+BAA+B,EAAE,sBAAsB;QACvD,qCAAqC,EAAE,mDAAmD;QAC1F,GAAG,CAAC,MAAM,CAAC,QAAQ;YACjB,CAAC,CAAC,CAAC,yBAAyB,EAAE,8BAA8B,CAAC;YAC7D,CAAC,CAAC,EAAE,CAAC;KACR,EACD,MAAM,CACP,CAAC;IACF,QAAQ,CAAC,GAAG,CAAC,8BAA8B,CAAC,CAAC;IAC7C,MAAM,IAAA,iDAA6B,EAAC,MAAM,CAAC,CAAC;IAE5C,QAAQ,CAAC,GAAG,CAAC,kCAAkC,CAAC,CAAC;IACjD,MAAM,IAAA,yDAAuC,EAC3C,QAAQ,EACR,OAAO,EACP;QACE,SAAS,EAAE,MAAM,CAAC,SAAS;QAC3B,WAAW,EAAE,yBAAyB;QACtC,WAAW,EAAE,8CAA8C;QAC3D,IAAI,EAAE,MAAM;QACZ,yLAAyL;QACzL,KAAK,EAAE;YACL,kCAAkC;YAClC,iBAAiB;YACjB,8BAA8B;YAC9B,4BAA4B,EAAE,iBAAiB;YAC/C,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,sBAAsB,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;SACrD;KACF,EACD,wCAA6B,CAC9B,CAAC;IAEF,+CAA+C;IAC/C,qDAAqD;IACrD,qEAAqE;IACrE,iEAAiE;IACjE,QAAQ,CAAC,GAAG,CACV,gEAAgE,CACjE,CAAC;IACF,MAAM,MAAM,GAAG,MAAM,IAAA,iDAAuB,EAAC,MAAM,CAAC,CAAC;IACrD,QAAQ,CAAC,GAAG,CAAC,iBAAiB,GAAG,MAAM,CAAC,CAAC;IAEzC,MAAM,IAAA,2BAAkB,EACtB,QAAQ,EACR;QACE,CAAC,2CAAgC,CAAC,EAAE,MAAM;KAC3C,EACD,OAAO,CAAC,GAAG,EACX,OAAO,CAAC,IAAI,EACZ,
|
|
1
|
+
{"version":3,"file":"setupCloudRun.js","sourceRoot":"","sources":["../../../../../../../../src/apps/cli/commands/project/setup/setupCloudRun.ts"],"names":[],"mappings":";;;AACA,kDAI6B;AAG7B,+EAAwF;AACxF,oGAAiG;AACjG,yEAA4E;AAC5E,2EAAgG;AAChG,wDAAiE;AAE1D,MAAM,aAAa,GAAG,KAAK,EAChC,QAAyB,EACzB,OAAyB,EACzB,EAAE;;IACF,IAAI,CAAC,IAAA,yBAAc,EAAC,MAAA,OAAO,CAAC,MAAM,0CAAE,MAAM,EAAE,iBAAiB,CAAC,EAAE,CAAC;QAC/D,MAAM,IAAI,KAAK,CAAC,gDAAgD,CAAC,CAAC;IACpE,CAAC;IAED,MAAM,MAAM,GAAG,MAAA,OAAO,CAAC,MAAM,0CAAE,MAAM,CAAC;IAEtC,kBAAkB;IAElB,QAAQ,CAAC,GAAG,CAAC,6BAA6B,CAAC,CAAC;IAC5C,MAAM,IAAA,qCAAoB,EACxB;QACE,oBAAoB;QACpB,iCAAiC;QACjC,+BAA+B,EAAE,sBAAsB;QACvD,qCAAqC,EAAE,mDAAmD;QAC1F,GAAG,CAAC,MAAM,CAAC,QAAQ;YACjB,CAAC,CAAC,CAAC,yBAAyB,EAAE,8BAA8B,CAAC;YAC7D,CAAC,CAAC,EAAE,CAAC;KACR,EACD,MAAM,CACP,CAAC;IACF,QAAQ,CAAC,GAAG,CAAC,8BAA8B,CAAC,CAAC;IAC7C,MAAM,IAAA,iDAA6B,EAAC,MAAM,CAAC,CAAC;IAE5C,QAAQ,CAAC,GAAG,CAAC,kCAAkC,CAAC,CAAC;IACjD,MAAM,IAAA,yDAAuC,EAC3C,QAAQ,EACR,OAAO,EACP;QACE,SAAS,EAAE,MAAM,CAAC,SAAS;QAC3B,WAAW,EAAE,yBAAyB;QACtC,WAAW,EAAE,8CAA8C;QAC3D,IAAI,EAAE,MAAM;QACZ,yLAAyL;QACzL,KAAK,EAAE;YACL,kCAAkC;YAClC,iBAAiB;YACjB,8BAA8B;YAC9B,4BAA4B,EAAE,iBAAiB;YAC/C,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,sBAAsB,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;SACrD;KACF,EACD,wCAA6B,CAC9B,CAAC;IAEF,+CAA+C;IAC/C,qDAAqD;IACrD,qEAAqE;IACrE,iEAAiE;IACjE,QAAQ,CAAC,GAAG,CACV,gEAAgE,CACjE,CAAC;IACF,MAAM,MAAM,GAAG,MAAM,IAAA,iDAAuB,EAAC,MAAM,CAAC,CAAC;IACrD,QAAQ,CAAC,GAAG,CAAC,iBAAiB,GAAG,MAAM,CAAC,CAAC;IAEzC,MAAM,IAAA,2BAAkB,EACtB,QAAQ,EACR;QACE,CAAC,2CAAgC,CAAC,EAAE,MAAM;KAC3C,EACD,OAAO,CAAC,GAAG,EACX,OAAO,CAAC,IAAI,EACZ;QACE,MAAM,EAAE,KAAK;QACb,MAAM,EAAE,KAAK;KACd,CACF,CAAC;AACJ,CAAC,CAAC;AAvEW,QAAA,aAAa,iBAuExB"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
1
|
import type { ComponentContext } from "../../../../../../../pipeline/src/index.js";
|
|
2
2
|
import type { CommandInstance } from "vorpal";
|
|
3
|
-
|
|
3
|
+
import type { GitlabRestClient } from "../../../../../gitlab";
|
|
4
|
+
export declare const setupKubernetes: (instance: CommandInstance, context: ComponentContext, preinit?: [number, GitlabRestClient]) => Promise<void>;
|
|
@@ -9,21 +9,33 @@ const child_process_promise_1 = require("child-process-promise");
|
|
|
9
9
|
const cluster_1 = require("../../../../../utils/cluster");
|
|
10
10
|
const gitlab_1 = require("../../../../../utils/gitlab");
|
|
11
11
|
const ensureNamespace_1 = __importDefault(require("../utils/ensureNamespace"));
|
|
12
|
-
const
|
|
12
|
+
const gitlab_2 = require("../../../../../gitlab");
|
|
13
|
+
const setupKubernetes = async (instance, context, preinit) => {
|
|
13
14
|
var _a;
|
|
14
15
|
const deployConfig = (_a = context.deploy) === null || _a === void 0 ? void 0 : _a.config;
|
|
15
16
|
if (!(0, pipeline_1.isOfDeployType)(deployConfig, "kubernetes")) {
|
|
16
17
|
throw new Error("cannot run setupKubernetes on non-kubernetes deployments");
|
|
17
18
|
}
|
|
18
|
-
const
|
|
19
|
-
const deploy_tokens = await
|
|
19
|
+
const [id, gitlabApi] = preinit !== null && preinit !== void 0 ? preinit : (await Promise.all([(0, gitlab_2.getGitlabProjectId)(), (0, gitlab_2.gitlabApiClient)()]));
|
|
20
|
+
const deploy_tokens = await gitlabApi.DeployTokens.all({ projectId: id });
|
|
21
|
+
// const { id: projectId } = await getProjectInfo(instance);
|
|
22
|
+
// const deploy_tokens = await doGitlabRequest(
|
|
23
|
+
// instance,
|
|
24
|
+
// `projects/${projectId}/deploy_tokens`,
|
|
25
|
+
// );
|
|
20
26
|
if (!deploy_tokens.find((v) => v.name === "gitlab-deploy-token")) {
|
|
21
27
|
instance.log("I will setup the 'GitLab Deploy Token', so Kubernetes can pull images from this project.");
|
|
22
|
-
await (
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
28
|
+
await gitlabApi.DeployTokens.create("gitlab-deploy-token", ["read_registry"], { projectId: id });
|
|
29
|
+
// await doGitlabRequest(
|
|
30
|
+
// instance,
|
|
31
|
+
// `projects/${projectId}/deploy_tokens`,
|
|
32
|
+
// {
|
|
33
|
+
// id: projectId,
|
|
34
|
+
// name: "gitlab-deploy-token",
|
|
35
|
+
// scopes: ["read_registry"],
|
|
36
|
+
// },
|
|
37
|
+
// "POST",
|
|
38
|
+
// );
|
|
27
39
|
}
|
|
28
40
|
const fullName = (0, pipeline_1.getFullKubernetesClusterName)(deployConfig.cluster);
|
|
29
41
|
instance.log(`cluster: ${fullName}`);
|
|
@@ -108,7 +120,9 @@ EOF
|
|
|
108
120
|
instance.log("service accounts created / updated!");
|
|
109
121
|
instance.log("");
|
|
110
122
|
instance.log("pusing secrets to gitlab...");
|
|
111
|
-
await (0, gitlab_1.upsertAllVariables)(instance, vars, context.env, context.name,
|
|
123
|
+
await (0, gitlab_1.upsertAllVariables)(instance, vars, context.env, context.name, {
|
|
124
|
+
backup: false,
|
|
125
|
+
});
|
|
112
126
|
instance.log("done!");
|
|
113
127
|
};
|
|
114
128
|
exports.setupKubernetes = setupKubernetes;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"setupKubernetes.js","sourceRoot":"","sources":["../../../../../../../../src/apps/cli/commands/project/setup/setupKubernetes.ts"],"names":[],"mappings":";;;;;;AACA,kDAG6B;AAE7B,iEAA6C;AAC7C,0DAAgE;AAChE,
|
|
1
|
+
{"version":3,"file":"setupKubernetes.js","sourceRoot":"","sources":["../../../../../../../../src/apps/cli/commands/project/setup/setupKubernetes.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,12 +1,14 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.setupTopic = void 0;
|
|
4
|
-
const gitlab_1 = require("../../../../../
|
|
4
|
+
const gitlab_1 = require("../../../../../gitlab");
|
|
5
5
|
const catladderTopic = "catladder";
|
|
6
6
|
const setupTopic = async (instance) => {
|
|
7
|
-
const
|
|
8
|
-
const
|
|
9
|
-
await (
|
|
7
|
+
const api = await (0, gitlab_1.gitlabApiClient)();
|
|
8
|
+
const info = await (0, gitlab_1.getGitlabProjectInfo)(api);
|
|
9
|
+
await api.Projects.edit(info.id, {
|
|
10
|
+
topics: [catladderTopic, ...info.topics],
|
|
11
|
+
});
|
|
10
12
|
};
|
|
11
13
|
exports.setupTopic = setupTopic;
|
|
12
14
|
//# sourceMappingURL=setupTopic.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"setupTopic.js","sourceRoot":"","sources":["../../../../../../../../src/apps/cli/commands/project/setup/setupTopic.ts"],"names":[],"mappings":";;;AACA,
|
|
1
|
+
{"version":3,"file":"setupTopic.js","sourceRoot":"","sources":["../../../../../../../../src/apps/cli/commands/project/setup/setupTopic.ts"],"names":[],"mappings":";;;AACA,kDAA8E;AAE9E,MAAM,cAAc,GAAG,WAAW,CAAC;AAE5B,MAAM,UAAU,GAAG,KAAK,EAAE,QAAyB,EAAE,EAAE;IAC5D,MAAM,GAAG,GAAG,MAAM,IAAA,wBAAe,GAAE,CAAC;IACpC,MAAM,IAAI,GAAG,MAAM,IAAA,6BAAoB,EAAC,GAAG,CAAC,CAAC;IAC7C,MAAM,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE;QAC/B,MAAM,EAAE,CAAC,cAAc,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC;KACzC,CAAC,CAAC;AACL,CAAC,CAAC;AANW,QAAA,UAAU,cAMrB"}
|
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
import { Gitlab } from "@gitbeaker/rest";
|
|
2
|
+
export type GitlabRestClient = InstanceType<typeof Gitlab<false>>;
|
|
1
3
|
export declare const gitlabApiClient: ({ gitlabHost, }?: {
|
|
2
4
|
gitlabHost?: string;
|
|
3
|
-
}) => Promise<
|
|
5
|
+
}) => Promise<GitlabRestClient>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"apiClient.js","sourceRoot":"","sources":["../../../../src/gitlab/apiClient.ts"],"names":[],"mappings":";;;AAAA,0CAAyC;AACzC,+CAA+C;
|
|
1
|
+
{"version":3,"file":"apiClient.js","sourceRoot":"","sources":["../../../../src/gitlab/apiClient.ts"],"names":[],"mappings":";;;AAAA,0CAAyC;AACzC,+CAA+C;AAIxC,MAAM,eAAe,GAAG,KAAK,EAAE,EACpC,UAAU,MAGR,EAAE,EAA6B,EAAE;IACnC,MAAM,EAAE,KAAK,EAAE,aAAa,EAAE,GAAG,MAAM,IAAA,4BAAc,EAAC,UAAU,CAAC,CAAC;IAClE,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9B,MAAM,IAAI,KAAK,CAAC,0CAA0C,CAAC,CAAC;IAC9D,CAAC;IACD,IAAI,CAAC,aAAa,EAAE,CAAC;QACnB,MAAM,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAC;IAC1C,CAAC;IACD,OAAO,IAAI,aAAM,CAAC;QAChB,KAAK;QACL,IAAI,EAAE,WAAW,aAAa,EAAE;QAChC,QAAQ,EAAE,KAAK;KAChB,CAAC,CAAC;AACL,CAAC,CAAC;AAjBW,QAAA,eAAe,mBAiB1B"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import type { ProjectSchema } from "@gitbeaker/rest";
|
|
2
|
+
import type { GitlabRestClient } from "./apiClient";
|
|
3
|
+
export declare const getGitlabProjectInfo: (existingInstance?: GitlabRestClient) => Promise<ProjectSchema>;
|
|
4
|
+
export declare const getGitlabProjectId: () => Promise<number>;
|
|
@@ -4,10 +4,14 @@ exports.getGitlabProjectId = exports.getGitlabProjectInfo = void 0;
|
|
|
4
4
|
const getGitRemoteHostAndPath_1 = require("../git/getGitRemoteHostAndPath");
|
|
5
5
|
const apiClient_1 = require("./apiClient");
|
|
6
6
|
const projectPreferences_1 = require("../utils/projectPreferences");
|
|
7
|
-
const getGitlabProjectInfo = async () => {
|
|
8
|
-
const api = await (0, apiClient_1.gitlabApiClient)();
|
|
7
|
+
const getGitlabProjectInfo = async (existingInstance) => {
|
|
8
|
+
const api = existingInstance !== null && existingInstance !== void 0 ? existingInstance : (await (0, apiClient_1.gitlabApiClient)());
|
|
9
9
|
const { gitRemotePath } = await (0, getGitRemoteHostAndPath_1.getGitRemoteHostAndPath)();
|
|
10
|
-
const projectInfo = await api.Projects.show(gitRemotePath
|
|
10
|
+
const projectInfo = await api.Projects.show(gitRemotePath, {
|
|
11
|
+
statistics: false,
|
|
12
|
+
withCustomAttributes: false,
|
|
13
|
+
license: false,
|
|
14
|
+
});
|
|
11
15
|
// write unawaited intentionally
|
|
12
16
|
(0, projectPreferences_1.upsertProjectPerferences)({ gitlabProjectId: projectInfo.id });
|
|
13
17
|
return projectInfo;
|
|
@@ -22,4 +26,4 @@ const getGitlabProjectId = async () => {
|
|
|
22
26
|
return projectInfo.id;
|
|
23
27
|
};
|
|
24
28
|
exports.getGitlabProjectId = getGitlabProjectId;
|
|
25
|
-
//# sourceMappingURL=
|
|
29
|
+
//# sourceMappingURL=getGitlabProjectId.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getGitlabProjectId.js","sourceRoot":"","sources":["../../../../src/gitlab/getGitlabProjectId.ts"],"names":[],"mappings":";;;AACA,4EAAyE;AAEzE,2CAA8C;AAC9C,oEAGqC;AAE9B,MAAM,oBAAoB,GAAG,KAAK,EACvC,gBAAmC,EACX,EAAE;IAC1B,MAAM,GAAG,GAAG,gBAAgB,aAAhB,gBAAgB,cAAhB,gBAAgB,GAAI,CAAC,MAAM,IAAA,2BAAe,GAAE,CAAC,CAAC;IAC1D,MAAM,EAAE,aAAa,EAAE,GAAG,MAAM,IAAA,iDAAuB,GAAE,CAAC;IAC1D,MAAM,WAAW,GAAG,MAAM,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,aAAa,EAAE;QACzD,UAAU,EAAE,KAAK;QACjB,oBAAoB,EAAE,KAAK;QAC3B,OAAO,EAAE,KAAK;KACf,CAAC,CAAC;IACH,gCAAgC;IAChC,IAAA,6CAAwB,EAAC,EAAE,eAAe,EAAE,WAAW,CAAC,EAAE,EAAE,CAAC,CAAC;IAC9D,OAAO,WAAW,CAAC;AACrB,CAAC,CAAC;AAbW,QAAA,oBAAoB,wBAa/B;AAEK,MAAM,kBAAkB,GAAG,KAAK,IAAqB,EAAE;IAC5D,MAAM,EAAE,eAAe,EAAE,GAAG,MAAM,IAAA,0CAAqB,GAAE,CAAC;IAC1D,IAAI,eAAe,EAAE,CAAC;QACpB,OAAO,eAAe,CAAC;IACzB,CAAC;IACD,MAAM,WAAW,GAAG,MAAM,IAAA,4BAAoB,GAAE,CAAC;IACjD,OAAO,WAAW,CAAC,EAAE,CAAC;AACxB,CAAC,CAAC;AAPW,QAAA,kBAAkB,sBAO7B"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
__exportStar(require("./apiClient"), exports);
|
|
18
|
+
__exportStar(require("./getGitlabProjectId"), exports);
|
|
19
|
+
__exportStar(require("./gitlabToken"), exports);
|
|
20
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/gitlab/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,8CAA4B;AAC5B,uDAAqC;AACrC,gDAA8B"}
|
|
@@ -1,14 +1,13 @@
|
|
|
1
1
|
import memoizee from "memoizee";
|
|
2
2
|
import type { CommandInstance } from "vorpal";
|
|
3
|
+
import { type GitlabRestClient } from "../gitlab";
|
|
4
|
+
import type { Camelize, ProjectVariableSchema } from "@gitbeaker/rest";
|
|
3
5
|
export declare const hasGitlabToken: () => Promise<boolean>;
|
|
4
6
|
export declare const setupGitlabToken: (vorpal: CommandInstance) => Promise<void>;
|
|
5
7
|
export declare const getGitlabToken: (vorpal: CommandInstance | null) => Promise<string>;
|
|
6
8
|
type Method = "GET" | "PUT" | "POST" | "DELETE";
|
|
7
9
|
export declare const doGitlabRequest: <T = any>(vorpal: CommandInstance | null, path: string, data?: any, method?: Method) => Promise<T>;
|
|
8
|
-
export declare const getProjectInfo: (vorpal: CommandInstance | null) => Promise<
|
|
9
|
-
id: string;
|
|
10
|
-
web_url: string;
|
|
11
|
-
}>;
|
|
10
|
+
export declare const getProjectInfo: (vorpal: CommandInstance | null) => Promise<import("@gitbeaker/core").ProjectSchema>;
|
|
12
11
|
export type GitlabVariable = {
|
|
13
12
|
variable_type: string;
|
|
14
13
|
key: string;
|
|
@@ -17,8 +16,12 @@ export type GitlabVariable = {
|
|
|
17
16
|
masked: boolean;
|
|
18
17
|
environment_scope: string;
|
|
19
18
|
};
|
|
20
|
-
export declare const getAllVariables: ((vorpal: CommandInstance | null,
|
|
19
|
+
export declare const getAllVariables: ((vorpal: CommandInstance | null, preinit?: [number, GitlabRestClient]) => Promise<(ProjectVariableSchema | Camelize<ProjectVariableSchema>)[]>) & memoizee.Memoized<(vorpal: CommandInstance | null, preinit?: [number, GitlabRestClient]) => Promise<(ProjectVariableSchema | Camelize<ProjectVariableSchema>)[]>>;
|
|
21
20
|
export declare const getVariableValueByRawName: (vorpal: CommandInstance, rawName: string) => Promise<string>;
|
|
22
21
|
export declare const clearBackups: (vorpal: CommandInstance, keep: number) => Promise<void>;
|
|
23
|
-
export declare const upsertAllVariables: (vorpal: CommandInstance, variables: Record<string, any>, env: string, componentName: string, backup
|
|
22
|
+
export declare const upsertAllVariables: (vorpal: CommandInstance, variables: Record<string, any>, env: string, componentName: string, { backup, masked, preinit, }?: {
|
|
23
|
+
backup?: boolean;
|
|
24
|
+
masked?: boolean;
|
|
25
|
+
preinit?: [number, GitlabRestClient];
|
|
26
|
+
}) => Promise<void>;
|
|
24
27
|
export {};
|
|
@@ -5,12 +5,12 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
6
|
exports.upsertAllVariables = exports.clearBackups = exports.getVariableValueByRawName = exports.getAllVariables = exports.getProjectInfo = exports.doGitlabRequest = exports.getGitlabToken = exports.setupGitlabToken = exports.hasGitlabToken = void 0;
|
|
7
7
|
const pipeline_1 = require("../../../pipeline/src/index.js");
|
|
8
|
-
const child_process_promise_1 = require("child-process-promise");
|
|
9
8
|
const lodash_1 = require("lodash");
|
|
10
9
|
const memoizee_1 = __importDefault(require("memoizee"));
|
|
11
10
|
const node_fetch_1 = __importDefault(require("node-fetch"));
|
|
12
11
|
const open_1 = __importDefault(require("open"));
|
|
13
12
|
const preferences_1 = require("./preferences");
|
|
13
|
+
const gitlab_1 = require("../gitlab");
|
|
14
14
|
const hasGitlabToken = async () => await (0, preferences_1.hasPreference)("gitlab-personal-access-token");
|
|
15
15
|
exports.hasGitlabToken = hasGitlabToken;
|
|
16
16
|
const setupGitlabToken = async (vorpal) => {
|
|
@@ -26,6 +26,10 @@ const setupGitlabToken = async (vorpal) => {
|
|
|
26
26
|
name: "shouldContinue",
|
|
27
27
|
type: "prompt",
|
|
28
28
|
});
|
|
29
|
+
if (!shouldContinue) {
|
|
30
|
+
console.info("Aborted by user");
|
|
31
|
+
process.exit(0);
|
|
32
|
+
}
|
|
29
33
|
(0, open_1.default)("https://git.panter.ch/-/profile/personal_access_tokens");
|
|
30
34
|
vorpal.log("Please type in gitlab's personal access token");
|
|
31
35
|
const { personalToken } = await vorpal.prompt({
|
|
@@ -35,7 +39,7 @@ const setupGitlabToken = async (vorpal) => {
|
|
|
35
39
|
message: "Your personal access token ",
|
|
36
40
|
});
|
|
37
41
|
if (typeof personalToken === "string" && personalToken.length) {
|
|
38
|
-
await (0,
|
|
42
|
+
await (0, gitlab_1.setGitlabToken)(personalToken);
|
|
39
43
|
}
|
|
40
44
|
else {
|
|
41
45
|
console.error("⚠️ no gitlab personal access token set");
|
|
@@ -43,14 +47,15 @@ const setupGitlabToken = async (vorpal) => {
|
|
|
43
47
|
};
|
|
44
48
|
exports.setupGitlabToken = setupGitlabToken;
|
|
45
49
|
const getGitlabToken = async (vorpal) => {
|
|
46
|
-
|
|
50
|
+
const { token } = await (0, gitlab_1.getGitlabToken)();
|
|
51
|
+
if (!(token === null || token === void 0 ? void 0 : token.length)) {
|
|
47
52
|
if (!vorpal) {
|
|
48
53
|
console.error("⚠️ gitlab token missing, please run catladder to set it up");
|
|
49
54
|
process.exit(1);
|
|
50
55
|
}
|
|
51
56
|
await (0, exports.setupGitlabToken)(vorpal);
|
|
52
57
|
}
|
|
53
|
-
return
|
|
58
|
+
return token;
|
|
54
59
|
};
|
|
55
60
|
exports.getGitlabToken = getGitlabToken;
|
|
56
61
|
const doGitlabRequest = async (vorpal, path, data = undefined, method = "GET") => {
|
|
@@ -79,25 +84,31 @@ const doGitlabRequest = async (vorpal, path, data = undefined, method = "GET") =
|
|
|
79
84
|
throw new Error(`Could not send request to gitlab api ${path}: ${result.status} "${result.statusText}".\nResponse: ${JSON.stringify(await result.json(), null, 2)}`);
|
|
80
85
|
};
|
|
81
86
|
exports.doGitlabRequest = doGitlabRequest;
|
|
82
|
-
const getProjectInfo = async (vorpal) =>
|
|
83
|
-
const gitRemoteOriginUrl = (await (0, child_process_promise_1.exec)("git config --get remote.origin.url")).stdout.trim();
|
|
84
|
-
const projectPath = /(https:\/\/|git@)git\.panter\.ch[:/]([^.]*)(\.git)?/g.exec(gitRemoteOriginUrl);
|
|
85
|
-
const project = await (0, exports.doGitlabRequest)(vorpal, `projects/${encodeURIComponent(projectPath[2])}`);
|
|
86
|
-
return project;
|
|
87
|
-
};
|
|
87
|
+
const getProjectInfo = async (vorpal) => (0, gitlab_1.getGitlabProjectInfo)();
|
|
88
88
|
exports.getProjectInfo = getProjectInfo;
|
|
89
|
-
exports.getAllVariables = (0, memoizee_1.default)(async (vorpal,
|
|
90
|
-
const
|
|
89
|
+
exports.getAllVariables = (0, memoizee_1.default)(async (vorpal, preinit) => {
|
|
90
|
+
const [id, gitlabApi] = preinit !== null && preinit !== void 0 ? preinit : (await Promise.all([(0, gitlab_1.getGitlabProjectId)(), (0, gitlab_1.gitlabApiClient)()]));
|
|
91
|
+
// how many requests to do in parallel, 5 seems a good value for many projects, ideally we would do one request in parallel per component
|
|
92
|
+
const n = 5;
|
|
91
93
|
let all = [];
|
|
92
94
|
let result = [];
|
|
93
95
|
let page = 1;
|
|
94
96
|
do {
|
|
95
97
|
// Create an array of promises for N pages
|
|
96
98
|
const promises = Array.from({ length: n }, (_, i) => {
|
|
97
|
-
return
|
|
99
|
+
return gitlabApi.ProjectVariables.all(id, {
|
|
100
|
+
page: page + i,
|
|
101
|
+
perPage: 100,
|
|
102
|
+
});
|
|
98
103
|
});
|
|
99
104
|
// Wait for all promises to resolve
|
|
100
|
-
result = await Promise.all(
|
|
105
|
+
result = await Promise.all(Array.from({ length: n }, async (_, i) => {
|
|
106
|
+
const res = await gitlabApi.ProjectVariables.all(id, {
|
|
107
|
+
page: page + i,
|
|
108
|
+
perPage: 100,
|
|
109
|
+
});
|
|
110
|
+
return res;
|
|
111
|
+
}));
|
|
101
112
|
// Increment the page by N
|
|
102
113
|
page += n;
|
|
103
114
|
// Flatten the result array and add it to 'all'
|
|
@@ -114,25 +125,8 @@ const getVariableValueByRawName = async (vorpal, rawName) => {
|
|
|
114
125
|
exports.getVariableValueByRawName = getVariableValueByRawName;
|
|
115
126
|
const maskableRegex = new RegExp("^[a-zA-Z0-9_+=/@:.~-]{8,}$"); // SEE https://gitlab.com/gitlab-org/gitlab-foss/-/blob/master/spec/frontend/ci_variable_list/components/ci_variable_modal_spec.js#L20
|
|
116
127
|
const isMaskable = (value) => maskableRegex.test(value);
|
|
117
|
-
const
|
|
118
|
-
|
|
119
|
-
key,
|
|
120
|
-
value,
|
|
121
|
-
masked: masked && isMaskable(value),
|
|
122
|
-
environment_scope,
|
|
123
|
-
}, "POST");
|
|
124
|
-
};
|
|
125
|
-
const updateVariable = async (vorpal, projectId, key, value, masked = true) => {
|
|
126
|
-
return await (0, exports.doGitlabRequest)(vorpal, `projects/${projectId}/variables/${key}`, {
|
|
127
|
-
value,
|
|
128
|
-
masked: masked && isMaskable(value),
|
|
129
|
-
}, "PUT");
|
|
130
|
-
};
|
|
131
|
-
const deleteVariable = async (vorpal, projectId, key) => {
|
|
132
|
-
return await (0, exports.doGitlabRequest)(vorpal, `projects/${projectId}/variables/${key}`, undefined, "DELETE");
|
|
133
|
-
};
|
|
134
|
-
const getAllCatladderEnvVarsInGitlab = async (vorpal) => {
|
|
135
|
-
const allVariables = await (0, exports.getAllVariables)(vorpal).then((v) => v.reduce((acc, variable) => {
|
|
128
|
+
const getAllCatladderEnvVarsInGitlab = async (vorpal, preinit) => {
|
|
129
|
+
const allVariables = await (0, exports.getAllVariables)(vorpal, preinit).then((v) => v.reduce((acc, variable) => {
|
|
136
130
|
var _a, _b, _c, _d;
|
|
137
131
|
const { key } = variable;
|
|
138
132
|
if (key.startsWith("CL_")) {
|
|
@@ -164,23 +158,35 @@ const getAllCatladderEnvVarsInGitlab = async (vorpal) => {
|
|
|
164
158
|
};
|
|
165
159
|
const getBackupKey = (fullKey, timestamp) => `${fullKey}_backup_${timestamp}`;
|
|
166
160
|
const clearBackups = async (vorpal, keep) => {
|
|
167
|
-
const
|
|
168
|
-
|
|
161
|
+
const [id, gitlabApi] = await Promise.all([
|
|
162
|
+
(0, gitlab_1.getGitlabProjectId)(),
|
|
163
|
+
(0, gitlab_1.gitlabApiClient)(),
|
|
164
|
+
]);
|
|
165
|
+
const existingVariables = await getAllCatladderEnvVarsInGitlab(vorpal, [
|
|
166
|
+
id,
|
|
167
|
+
gitlabApi,
|
|
168
|
+
]);
|
|
169
|
+
// const { id } = await getProjectInfo(vorpal);
|
|
169
170
|
for (const [key, { backups }] of Object.entries(existingVariables)) {
|
|
170
171
|
const backupsSorted = backups.sort((a, b) => b - a);
|
|
171
172
|
//const toKeep = backupsSorted.slice(0, keep);
|
|
172
173
|
const toDelete = backupsSorted.slice(keep);
|
|
173
174
|
for (const timestamp of toDelete) {
|
|
174
|
-
await
|
|
175
|
+
await gitlabApi.ProjectVariables.remove(id, getBackupKey(key, timestamp));
|
|
176
|
+
// await deleteVariable(vorpal, id, getBackupKey(key, timestamp));
|
|
175
177
|
}
|
|
176
178
|
}
|
|
177
179
|
};
|
|
178
180
|
exports.clearBackups = clearBackups;
|
|
179
|
-
const upsertAllVariables = async (vorpal, variables, env, componentName, backup = true, masked = true) => {
|
|
181
|
+
const upsertAllVariables = async (vorpal, variables, env, componentName, { backup = true, masked = true, preinit, } = {}) => {
|
|
180
182
|
var _a;
|
|
181
|
-
const
|
|
183
|
+
const [id, gitlabApi] = preinit !== null && preinit !== void 0 ? preinit : (await Promise.all([(0, gitlab_1.getGitlabProjectId)(), (0, gitlab_1.gitlabApiClient)()]));
|
|
184
|
+
// const { id } = await getProjectInfo(vorpal);
|
|
182
185
|
// we list all existing variables. We also gather backup versions, but its currently unused
|
|
183
|
-
const existingVariables = await getAllCatladderEnvVarsInGitlab(vorpal
|
|
186
|
+
const existingVariables = await getAllCatladderEnvVarsInGitlab(vorpal, [
|
|
187
|
+
id,
|
|
188
|
+
gitlabApi,
|
|
189
|
+
]);
|
|
184
190
|
for (const [key, value] of Object.entries(variables !== null && variables !== void 0 ? variables : {})) {
|
|
185
191
|
const fullKey = (0, pipeline_1.getSecretVarName)(env, componentName, key);
|
|
186
192
|
const valueSanitized = (0, lodash_1.isObject)(value) ? JSON.stringify(value) : `${value}`;
|
|
@@ -190,15 +196,26 @@ const upsertAllVariables = async (vorpal, variables, env, componentName, backup
|
|
|
190
196
|
if (changed) {
|
|
191
197
|
if (exists) {
|
|
192
198
|
vorpal.log(`changed: ${key}`);
|
|
193
|
-
await
|
|
199
|
+
await gitlabApi.ProjectVariables.edit(id, fullKey, valueSanitized, {
|
|
200
|
+
filter: { environment_scope: "All (default)" },
|
|
201
|
+
masked,
|
|
202
|
+
});
|
|
203
|
+
// await updateVariable(vorpal, id, fullKey, valueSanitized, masked);
|
|
194
204
|
// write backup
|
|
195
205
|
if (backup) {
|
|
196
|
-
await
|
|
206
|
+
await gitlabApi.ProjectVariables.create(id, getBackupKey(fullKey, new Date().getTime()), oldValue, {
|
|
207
|
+
environmentScope: "_backup",
|
|
208
|
+
masked,
|
|
209
|
+
});
|
|
197
210
|
}
|
|
198
211
|
}
|
|
199
212
|
else {
|
|
200
213
|
vorpal.log(`new : ${key}`);
|
|
201
|
-
await
|
|
214
|
+
await gitlabApi.ProjectVariables.create(id, fullKey, valueSanitized, {
|
|
215
|
+
environmentScope: "All (default)",
|
|
216
|
+
masked,
|
|
217
|
+
});
|
|
218
|
+
// await createVariable(vorpal, id, fullKey, valueSanitized, masked);
|
|
202
219
|
}
|
|
203
220
|
}
|
|
204
221
|
else {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"gitlab.js","sourceRoot":"","sources":["../../../../src/utils/gitlab.ts"],"names":[],"mappings":";;;;;;AAAA,kDAAuD;
|
|
1
|
+
{"version":3,"file":"gitlab.js","sourceRoot":"","sources":["../../../../src/utils/gitlab.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
export type CatladderCliProjectPreferences = {
|
|
2
2
|
gitlabProjectId?: number | null;
|
|
3
|
-
gitlabHttpUrlToRepo?: string | null;
|
|
4
3
|
};
|
|
5
4
|
export declare const getProjectPreferences: (givenFilePath?: string) => Promise<CatladderCliProjectPreferences>;
|
|
6
5
|
export declare const upsertProjectPerferences: (newPerfs?: Partial<CatladderCliProjectPreferences>, givenFilePath?: string) => Promise<void>;
|
|
@@ -9,11 +9,9 @@ const directory = ".catladder";
|
|
|
9
9
|
const file = "preferences.json";
|
|
10
10
|
const perfKeys = [
|
|
11
11
|
"gitlabProjectId",
|
|
12
|
-
"gitlabHttpUrlToRepo",
|
|
13
12
|
];
|
|
14
13
|
const fallbackValues = {
|
|
15
14
|
gitlabProjectId: null,
|
|
16
|
-
gitlabHttpUrlToRepo: null,
|
|
17
15
|
};
|
|
18
16
|
const perferencesWithParsed = (parsed) => perfKeys.reduce((acc, key) => { var _a, _b; return Object.assign(acc, { [key]: (_b = (_a = parsed[key]) !== null && _a !== void 0 ? _a : fallbackValues[key]) !== null && _b !== void 0 ? _b : null }); }, {});
|
|
19
17
|
const encoding = "utf-8";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"projectPreferences.js","sourceRoot":"","sources":["../../../../src/utils/projectPreferences.ts"],"names":[],"mappings":";;;AAAA,0CAAyD;AACzD,2BAAgC;AAChC,+BAA4B;AAC5B,gCAA4C;AAE5C,MAAM,SAAS,GAAG,YAAY,CAAC;AAC/B,MAAM,IAAI,GAAG,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"projectPreferences.js","sourceRoot":"","sources":["../../../../src/utils/projectPreferences.ts"],"names":[],"mappings":"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"}
|