@catladder/cli 1.101.4 → 1.102.0
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/catenv/catenv.js +2 -2
- package/dist/apps/catenv/catenv.js.map +1 -1
- package/dist/apps/cli/commands/mongodb/projectMongoPortForward.js +1 -1
- package/dist/apps/cli/commands/mongodb/projectMongoPortForward.js.map +1 -1
- package/dist/apps/cli/commands/project/commandCloudSqlProxy.js +14 -11
- package/dist/apps/cli/commands/project/commandCloudSqlProxy.js.map +1 -1
- package/dist/apps/cli/commands/project/commandConfigSecrets.js +36 -11
- package/dist/apps/cli/commands/project/commandConfigSecrets.js.map +1 -1
- package/dist/apps/cli/commands/project/commandEnvVars.js +1 -1
- package/dist/apps/cli/commands/project/commandEnvVars.js.map +1 -1
- package/dist/bundles/catenv/index.js +3 -3
- package/dist/bundles/cli/index.js +2 -2
- package/dist/config/getProjectConfig.d.ts +8 -1
- package/dist/config/getProjectConfig.js +45 -6
- package/dist/config/getProjectConfig.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/dist/utils/gitlab.d.ts +4 -4
- package/dist/utils/gitlab.js.map +1 -1
- package/package.json +2 -2
- package/src/apps/catenv/catenv.ts +6 -3
- package/src/apps/cli/commands/mongodb/projectMongoPortForward.ts +5 -2
- package/src/apps/cli/commands/project/commandCloudSqlProxy.ts +18 -12
- package/src/apps/cli/commands/project/commandConfigSecrets.ts +26 -7
- package/src/apps/cli/commands/project/commandEnvVars.ts +5 -2
- package/src/config/getProjectConfig.ts +30 -6
- package/src/utils/gitlab.ts +4 -4
package/dist/utils/gitlab.d.ts
CHANGED
|
@@ -2,10 +2,10 @@ import memoizee from "memoizee";
|
|
|
2
2
|
import type { CommandInstance } from "vorpal";
|
|
3
3
|
export declare const hasGitlabToken: () => Promise<boolean>;
|
|
4
4
|
export declare const setupGitlabToken: (vorpal: CommandInstance) => Promise<void>;
|
|
5
|
-
export declare const getGitlabToken: (vorpal: CommandInstance) => Promise<string>;
|
|
5
|
+
export declare const getGitlabToken: (vorpal: CommandInstance | null) => Promise<string>;
|
|
6
6
|
declare type Method = "GET" | "PUT" | "POST" | "DELETE";
|
|
7
|
-
export declare const doGitlabRequest: <T = any>(vorpal: CommandInstance, path: string, data?: any, method?: Method) => Promise<T>;
|
|
8
|
-
export declare const getProjectInfo: (vorpal: CommandInstance) => Promise<{
|
|
7
|
+
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
9
|
id: string;
|
|
10
10
|
web_url: string;
|
|
11
11
|
}>;
|
|
@@ -17,7 +17,7 @@ declare type GitlabVariable = {
|
|
|
17
17
|
masked: boolean;
|
|
18
18
|
environment_scope: string;
|
|
19
19
|
};
|
|
20
|
-
export declare const getAllVariables: ((vorpal: CommandInstance) => Promise<Array<GitlabVariable>>) & memoizee.Memoized<(vorpal: CommandInstance) => Promise<Array<GitlabVariable>>>;
|
|
20
|
+
export declare const getAllVariables: ((vorpal: CommandInstance | null) => Promise<Array<GitlabVariable>>) & memoizee.Memoized<(vorpal: CommandInstance | null) => Promise<Array<GitlabVariable>>>;
|
|
21
21
|
export declare const getVariableValueByRawName: (vorpal: CommandInstance, rawName: string) => Promise<string>;
|
|
22
22
|
export declare const clearBackups: (vorpal: CommandInstance, keep: number) => Promise<void>;
|
|
23
23
|
export declare const upsertAllVariables: (vorpal: CommandInstance, variables: Record<string, any>, env: string, componentName: string, backup?: boolean, masked?: boolean) => Promise<void>;
|
package/dist/utils/gitlab.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"gitlab.js","sourceRoot":"","sources":["../../src/utils/gitlab.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,gDAAuD;AACvD,+DAA6C;AAC7C,iCAAuC;AACvC,sDAAgC;AAChC,0DAA+B;AAC/B,8CAAwB;AAExB,6CAA4E;AAE5E,IAAM,SAAS,GAAG,8BAA8B,CAAC;AAE1C,IAAM,cAAc,GAAG;;gBAAY,qBAAM,IAAA,2BAAa,EAAC,SAAS,CAAC,EAAA;gBAA9B,sBAAA,SAA8B,EAAA;;SAAA,CAAC;AAA5D,QAAA,cAAc,kBAA8C;AAClE,IAAM,gBAAgB,GAAG,UAAO,MAAuB;;;;;gBAC5D,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;gBACf,MAAM,CAAC,GAAG,CAAC,+DAA+D,CAAC,CAAC;gBAC5E,MAAM,CAAC,GAAG,CAAC,mDAAmD,CAAC,CAAC;gBAChE,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;gBACf,MAAM,CAAC,GAAG,CAAC,yCAAyC,CAAC,CAAC;gBACtD,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;gBACY,qBAAM,MAAM,CAAC,MAAM,CAAC;wBAC7C,SAAO,EAAE,IAAI;wBACb,OAAO,EAAE,IAAI;wBACb,IAAI,EAAE,gBAAgB;wBACtB,IAAI,EAAE,QAAQ;qBACf,CAAC,EAAA;;gBALM,cAAc,GAAK,CAAA,SAKzB,CAAA,eALoB;gBAOtB,IAAA,iBAAI,EAAC,wDAAwD,CAAC,CAAC;gBAE/D,MAAM,CAAC,GAAG,CAAC,+CAA+C,CAAC,CAAC;gBAElC,qBAAM,MAAM,CAAC,MAAM,CAAC;wBAC5C,IAAI,EAAE,QAAQ;wBACd,IAAI,EAAE,eAAe;wBACrB,SAAO,EAAE,EAAE;wBACX,OAAO,EAAE,6BAA6B;qBACvC,CAAC,EAAA;;gBALM,aAAa,GAAK,CAAA,SAKxB,CAAA,cALmB;qBAMjB,aAAa,EAAb,wBAAa;gBACf,qBAAM,IAAA,2BAAa,EAAC,SAAS,EAAE,aAAa,CAAC,EAAA;;gBAA7C,SAA6C,CAAC;;;;;KAEjD,CAAC;AA3BW,QAAA,gBAAgB,oBA2B3B;AACK,IAAM,cAAc,GAAG,UAAO,
|
|
1
|
+
{"version":3,"file":"gitlab.js","sourceRoot":"","sources":["../../src/utils/gitlab.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -24,7 +24,7 @@
|
|
|
24
24
|
"node": ">=12.0.0"
|
|
25
25
|
},
|
|
26
26
|
"devDependencies": {
|
|
27
|
-
"@catladder/pipeline": "1.
|
|
27
|
+
"@catladder/pipeline": "1.102.0",
|
|
28
28
|
"@kubernetes/client-node": "^0.16.2",
|
|
29
29
|
"@tsconfig/node14": "^1.0.1",
|
|
30
30
|
"@types/common-tags": "^1.8.0",
|
|
@@ -57,5 +57,5 @@
|
|
|
57
57
|
"typescript": "^4.5.4",
|
|
58
58
|
"vorpal": "^1.12.0"
|
|
59
59
|
},
|
|
60
|
-
"version": "1.
|
|
60
|
+
"version": "1.102.0"
|
|
61
61
|
}
|
|
@@ -1,5 +1,8 @@
|
|
|
1
1
|
import type { Config, ComponentConfig } from "@catladder/pipeline";
|
|
2
|
-
import {
|
|
2
|
+
import {
|
|
3
|
+
getEnvVarsResolved,
|
|
4
|
+
getProjectConfig,
|
|
5
|
+
} from "../../config/getProjectConfig";
|
|
3
6
|
import { getGitRoot } from "../../utils/projects";
|
|
4
7
|
import { join } from "path";
|
|
5
8
|
const getCurrentComponentName = async (
|
|
@@ -29,14 +32,14 @@ const getAllVariablesToPrint = async (
|
|
|
29
32
|
|
|
30
33
|
let variables = {};
|
|
31
34
|
if (currentComponent) {
|
|
32
|
-
variables = await
|
|
35
|
+
variables = await getEnvVarsResolved(null, env, currentComponent);
|
|
33
36
|
} else {
|
|
34
37
|
// when in a monorep and not in a subapp, merge all env vars.
|
|
35
38
|
// this is not 100% correct, but better than not exporting any vars at all
|
|
36
39
|
// so we also add prefixed variants
|
|
37
40
|
variables = await Object.keys(components).reduce(
|
|
38
41
|
async (acc, componentName) => {
|
|
39
|
-
const subappvars = await
|
|
42
|
+
const subappvars = await getEnvVarsResolved(null, env, componentName);
|
|
40
43
|
return {
|
|
41
44
|
...(await acc),
|
|
42
45
|
...subappvars,
|
|
@@ -1,5 +1,8 @@
|
|
|
1
1
|
import type Vorpal from "vorpal";
|
|
2
|
-
import {
|
|
2
|
+
import {
|
|
3
|
+
getEnvVarsResolved,
|
|
4
|
+
parseChoice,
|
|
5
|
+
} from "../../../../config/getProjectConfig";
|
|
3
6
|
import { logError } from "../../../../utils/log";
|
|
4
7
|
import { startKubePortForward } from "../../../../kubernetes/portForward";
|
|
5
8
|
import { getProjectNamespace } from "../../../../utils/projects";
|
|
@@ -46,7 +49,7 @@ export default async (vorpal: Vorpal) =>
|
|
|
46
49
|
message: "Local port: ",
|
|
47
50
|
});
|
|
48
51
|
const { env, componentName } = parseChoice(envComponent);
|
|
49
|
-
const envVars = await
|
|
52
|
+
const envVars = await getEnvVarsResolved(this, env, componentName);
|
|
50
53
|
const MONGODB_ROOT_PASSWORD = envVars?.MONGODB_ROOT_PASSWORD;
|
|
51
54
|
const connectionUrl = `mongodb://root:${MONGODB_ROOT_PASSWORD}@localhost:${localPort}`;
|
|
52
55
|
clipboard.writeSync(connectionUrl);
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
import type { Context } from "@catladder/pipeline";
|
|
2
|
-
import {
|
|
3
|
-
|
|
2
|
+
import {
|
|
3
|
+
createKubernetesCloudsqlBaseValues,
|
|
4
|
+
isOfDeployType,
|
|
5
|
+
} from "@catladder/pipeline";
|
|
4
6
|
import { spawn } from "child-process-promise";
|
|
5
|
-
import { writeFile } from "fs-extra";
|
|
6
|
-
import { withFile } from "tmp-promise";
|
|
7
7
|
import type Vorpal from "vorpal";
|
|
8
|
+
import type { CommandInstance } from "vorpal";
|
|
8
9
|
import {
|
|
9
|
-
|
|
10
|
-
getGitlabVar,
|
|
10
|
+
getEnvVarsResolved,
|
|
11
11
|
getPipelineContextByChoice,
|
|
12
12
|
parseChoice,
|
|
13
13
|
} from "../../../../config/getProjectConfig";
|
|
@@ -25,6 +25,10 @@ export default async (vorpal: Vorpal) =>
|
|
|
25
25
|
.autocomplete(await envAndComponents())
|
|
26
26
|
.action(async function ({ envComponent }) {
|
|
27
27
|
const { env, componentName } = parseChoice(envComponent);
|
|
28
|
+
if (!componentName) {
|
|
29
|
+
this.log("need componentName");
|
|
30
|
+
return;
|
|
31
|
+
}
|
|
28
32
|
|
|
29
33
|
const context = await getPipelineContextByChoice(env, componentName);
|
|
30
34
|
let proxyInfo: ProxyInfo;
|
|
@@ -35,11 +39,11 @@ export default async (vorpal: Vorpal) =>
|
|
|
35
39
|
);
|
|
36
40
|
}
|
|
37
41
|
if (isOfDeployType(context.componentConfig.deploy, "kubernetes")) {
|
|
38
|
-
proxyInfo = await getProxyInfoForKubernetes(context);
|
|
42
|
+
proxyInfo = await getProxyInfoForKubernetes(this, context);
|
|
39
43
|
} else if (
|
|
40
44
|
isOfDeployType(context.componentConfig.deploy, "google-cloudrun")
|
|
41
45
|
) {
|
|
42
|
-
proxyInfo = await getProxyInfoForCloudRun(context);
|
|
46
|
+
proxyInfo = await getProxyInfoForCloudRun(this, context);
|
|
43
47
|
} else {
|
|
44
48
|
throw new Error("unsupported environment");
|
|
45
49
|
}
|
|
@@ -77,14 +81,15 @@ export default async (vorpal: Vorpal) =>
|
|
|
77
81
|
});
|
|
78
82
|
|
|
79
83
|
const getProxyInfoForKubernetes = async (
|
|
84
|
+
vorpal: CommandInstance,
|
|
80
85
|
context: Context
|
|
81
86
|
): Promise<ProxyInfo> => {
|
|
82
87
|
if (!isOfDeployType(context.componentConfig.deploy, "kubernetes")) {
|
|
83
88
|
throw new Error("unsupported");
|
|
84
89
|
}
|
|
85
90
|
|
|
86
|
-
const envVars = await
|
|
87
|
-
|
|
91
|
+
const envVars = await getEnvVarsResolved(
|
|
92
|
+
vorpal,
|
|
88
93
|
context.environment.shortName,
|
|
89
94
|
context.componentName
|
|
90
95
|
);
|
|
@@ -106,6 +111,7 @@ const getProxyInfoForKubernetes = async (
|
|
|
106
111
|
};
|
|
107
112
|
|
|
108
113
|
const getProxyInfoForCloudRun = async (
|
|
114
|
+
vorpal: CommandInstance,
|
|
109
115
|
context: Context
|
|
110
116
|
): Promise<ProxyInfo> => {
|
|
111
117
|
if (
|
|
@@ -115,8 +121,8 @@ const getProxyInfoForCloudRun = async (
|
|
|
115
121
|
throw new Error("unsupported");
|
|
116
122
|
}
|
|
117
123
|
|
|
118
|
-
const envVars = await
|
|
119
|
-
|
|
124
|
+
const envVars = await getEnvVarsResolved(
|
|
125
|
+
vorpal,
|
|
120
126
|
context.environment.shortName,
|
|
121
127
|
context.componentName
|
|
122
128
|
);
|
|
@@ -7,7 +7,8 @@ import type Vorpal from "vorpal";
|
|
|
7
7
|
import {
|
|
8
8
|
getAllComponentsWithAllEnvsHierarchical,
|
|
9
9
|
getEnvironment,
|
|
10
|
-
|
|
10
|
+
getEnvVarsResolved,
|
|
11
|
+
getJobOnlyEnvVarsResolved,
|
|
11
12
|
getProjectComponents,
|
|
12
13
|
parseChoice,
|
|
13
14
|
} from "../../../../config/getProjectConfig";
|
|
@@ -45,24 +46,42 @@ const resolveJson = (v: Vars) =>
|
|
|
45
46
|
})
|
|
46
47
|
);
|
|
47
48
|
|
|
48
|
-
const
|
|
49
|
+
const getSecretEnvVarKeysToConfigure = async (
|
|
49
50
|
env: string,
|
|
50
51
|
componentName: string
|
|
51
52
|
) => {
|
|
52
|
-
const { secretEnvVarKeys } = await getEnvironment(
|
|
53
|
-
|
|
53
|
+
const { secretEnvVarKeys, jobOnlyVars } = await getEnvironment(
|
|
54
|
+
env,
|
|
55
|
+
componentName
|
|
56
|
+
);
|
|
57
|
+
return [
|
|
58
|
+
...jobOnlyVars.build.secretEnvVarKeys,
|
|
59
|
+
...jobOnlyVars.deploy.secretEnvVarKeys,
|
|
60
|
+
...secretEnvVarKeys,
|
|
61
|
+
]
|
|
62
|
+
.filter((k) => !k.hidden)
|
|
63
|
+
.map((k) => k.key);
|
|
54
64
|
};
|
|
55
65
|
const getEnvVarsToEdit = async (
|
|
56
66
|
instance: CommandInstance,
|
|
57
67
|
env: string,
|
|
58
68
|
componentName: string
|
|
59
69
|
) => {
|
|
60
|
-
const secretEnvVarKeys = await
|
|
70
|
+
const secretEnvVarKeys = await getSecretEnvVarKeysToConfigure(
|
|
61
71
|
env,
|
|
62
72
|
componentName
|
|
63
73
|
);
|
|
64
74
|
|
|
65
|
-
const
|
|
75
|
+
const normalEnvVars = await getEnvVarsResolved(instance, env, componentName);
|
|
76
|
+
const jobOnlyEnvVars = await getJobOnlyEnvVarsResolved(
|
|
77
|
+
instance,
|
|
78
|
+
env,
|
|
79
|
+
componentName
|
|
80
|
+
);
|
|
81
|
+
const allEnvVars = {
|
|
82
|
+
...normalEnvVars,
|
|
83
|
+
...jobOnlyEnvVars,
|
|
84
|
+
};
|
|
66
85
|
return Object.fromEntries(
|
|
67
86
|
secretEnvVarKeys.map((key) => {
|
|
68
87
|
const value = allEnvVars[key];
|
|
@@ -117,7 +136,7 @@ const doItFor = async (
|
|
|
117
136
|
? Object.keys(valuesToEdit[componentName][env])
|
|
118
137
|
: [];
|
|
119
138
|
// check whether newValues have the exact number of keys
|
|
120
|
-
const secretEnvVarKeys = await
|
|
139
|
+
const secretEnvVarKeys = await getSecretEnvVarKeysToConfigure(
|
|
121
140
|
env,
|
|
122
141
|
componentName
|
|
123
142
|
);
|
|
@@ -1,5 +1,8 @@
|
|
|
1
1
|
import type Vorpal from "vorpal";
|
|
2
|
-
import {
|
|
2
|
+
import {
|
|
3
|
+
getEnvVarsResolved,
|
|
4
|
+
parseChoice,
|
|
5
|
+
} from "../../../../config/getProjectConfig";
|
|
3
6
|
import { envAndComponents } from "./utils/autocompletions";
|
|
4
7
|
|
|
5
8
|
export default async (vorpal: Vorpal) =>
|
|
@@ -8,7 +11,7 @@ export default async (vorpal: Vorpal) =>
|
|
|
8
11
|
.autocomplete(await envAndComponents())
|
|
9
12
|
.action(async function ({ envComponent }) {
|
|
10
13
|
const { env, componentName } = parseChoice(envComponent);
|
|
11
|
-
const envvars = await
|
|
14
|
+
const envvars = await getEnvVarsResolved(this, env, componentName);
|
|
12
15
|
Object.keys(envvars).forEach((key) =>
|
|
13
16
|
this.log(`${key}: ${envvars[key]}`)
|
|
14
17
|
);
|
|
@@ -16,7 +16,7 @@ import { watch } from "fs";
|
|
|
16
16
|
|
|
17
17
|
export { parseChoice } from "./parseChoice";
|
|
18
18
|
|
|
19
|
-
let currentConfig: Config = null;
|
|
19
|
+
let currentConfig: Config | null = null;
|
|
20
20
|
|
|
21
21
|
// reload the config on change
|
|
22
22
|
const reloadConfigAndObserve = async () => {
|
|
@@ -39,7 +39,7 @@ export const getProjectConfig = async () => {
|
|
|
39
39
|
// initially
|
|
40
40
|
await reloadConfigAndObserve();
|
|
41
41
|
}
|
|
42
|
-
return currentConfig;
|
|
42
|
+
return currentConfig as Config;
|
|
43
43
|
};
|
|
44
44
|
|
|
45
45
|
export const getGitlabCiFilePath = async () => {
|
|
@@ -123,7 +123,7 @@ export const getGitlabVar = async (
|
|
|
123
123
|
};
|
|
124
124
|
|
|
125
125
|
const resolveSecrets = async (
|
|
126
|
-
vorpal: CommandInstance,
|
|
126
|
+
vorpal: CommandInstance | null,
|
|
127
127
|
allEnvVars: Record<string, string>
|
|
128
128
|
) => {
|
|
129
129
|
const allVariablesInGitlab = await getAllVariables(vorpal);
|
|
@@ -145,11 +145,14 @@ const resolveSecrets = async (
|
|
|
145
145
|
);
|
|
146
146
|
};
|
|
147
147
|
|
|
148
|
-
export const
|
|
149
|
-
vorpal: CommandInstance,
|
|
148
|
+
export const getEnvVarsResolved = async (
|
|
149
|
+
vorpal: CommandInstance | null,
|
|
150
150
|
env: string,
|
|
151
|
-
componentName: string
|
|
151
|
+
componentName: string | null
|
|
152
152
|
) => {
|
|
153
|
+
if (!componentName) {
|
|
154
|
+
return {};
|
|
155
|
+
}
|
|
153
156
|
try {
|
|
154
157
|
const envionment = await getEnvironment(env, componentName);
|
|
155
158
|
// in the pipeline the secrets alreadyy exists and bash will expand them
|
|
@@ -160,3 +163,24 @@ export const getEnvVars = async (
|
|
|
160
163
|
return {};
|
|
161
164
|
}
|
|
162
165
|
};
|
|
166
|
+
|
|
167
|
+
/**
|
|
168
|
+
*
|
|
169
|
+
* is used to get job only vars that should also be editable locally with catladder.
|
|
170
|
+
*/
|
|
171
|
+
export const getJobOnlyEnvVarsResolved = async (
|
|
172
|
+
vorpal: CommandInstance,
|
|
173
|
+
env: string,
|
|
174
|
+
componentName: string
|
|
175
|
+
) => {
|
|
176
|
+
try {
|
|
177
|
+
const envionment = await getEnvironment(env, componentName);
|
|
178
|
+
return resolveSecrets(vorpal, {
|
|
179
|
+
...envionment.jobOnlyVars.build.envVars,
|
|
180
|
+
...envionment.jobOnlyVars.deploy.envVars,
|
|
181
|
+
});
|
|
182
|
+
} catch (e) {
|
|
183
|
+
// env is disabled
|
|
184
|
+
return {};
|
|
185
|
+
}
|
|
186
|
+
};
|
package/src/utils/gitlab.ts
CHANGED
|
@@ -38,7 +38,7 @@ export const setupGitlabToken = async (vorpal: CommandInstance) => {
|
|
|
38
38
|
await setPreference(TOKEN_KEY, personalToken);
|
|
39
39
|
}
|
|
40
40
|
};
|
|
41
|
-
export const getGitlabToken = async (vorpal: CommandInstance) => {
|
|
41
|
+
export const getGitlabToken = async (vorpal: CommandInstance | null) => {
|
|
42
42
|
if (!(await hasGitlabToken())) {
|
|
43
43
|
if (!vorpal) {
|
|
44
44
|
console.error(
|
|
@@ -53,7 +53,7 @@ export const getGitlabToken = async (vorpal: CommandInstance) => {
|
|
|
53
53
|
|
|
54
54
|
type Method = "GET" | "PUT" | "POST" | "DELETE";
|
|
55
55
|
export const doGitlabRequest = async <T = any>(
|
|
56
|
-
vorpal: CommandInstance,
|
|
56
|
+
vorpal: CommandInstance | null,
|
|
57
57
|
path: string,
|
|
58
58
|
data: any = undefined,
|
|
59
59
|
method: Method = "GET"
|
|
@@ -89,7 +89,7 @@ export const doGitlabRequest = async <T = any>(
|
|
|
89
89
|
};
|
|
90
90
|
|
|
91
91
|
export const getProjectInfo = async (
|
|
92
|
-
vorpal: CommandInstance
|
|
92
|
+
vorpal: CommandInstance | null
|
|
93
93
|
): Promise<{ id: string; web_url: string }> => {
|
|
94
94
|
const gitRemoteOriginUrl = (
|
|
95
95
|
await exec("git config --get remote.origin.url")
|
|
@@ -114,7 +114,7 @@ type GitlabVariable = {
|
|
|
114
114
|
environment_scope: string;
|
|
115
115
|
};
|
|
116
116
|
export const getAllVariables = memoizee(
|
|
117
|
-
async (vorpal: CommandInstance): Promise<Array<GitlabVariable>> => {
|
|
117
|
+
async (vorpal: CommandInstance | null): Promise<Array<GitlabVariable>> => {
|
|
118
118
|
const { id } = await getProjectInfo(vorpal);
|
|
119
119
|
let all: Array<GitlabVariable> = [];
|
|
120
120
|
let result: Array<GitlabVariable>;
|