@catladder/cli 0.0.0-next-5f70052e → 0.0.0-next-32b3a548
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 +424 -181
- package/dist/bundles/cli/index.js +437 -187
- package/dist/cli/src/apps/catenv/printVariables.js.map +1 -1
- package/dist/cli/src/apps/catenv/types.d.ts +0 -1
- package/dist/cli/src/apps/catenv/utils.d.ts +2 -5
- package/dist/cli/src/apps/catenv/utils.js +4 -9
- package/dist/cli/src/apps/catenv/utils.js.map +1 -1
- package/dist/cli/src/apps/catenv/writeDotEnvFiles.js +1 -3
- package/dist/cli/src/apps/catenv/writeDotEnvFiles.js.map +1 -1
- package/dist/cli/src/apps/cli/commands/project/cloudSql/commandProjectRestoreDb.js +12 -12
- package/dist/cli/src/apps/cli/commands/project/cloudSql/commandProjectRestoreDb.js.map +1 -1
- package/dist/cli/src/apps/cli/commands/project/commandCloudSqlProxy.js +6 -6
- package/dist/cli/src/apps/cli/commands/project/commandCloudSqlProxy.js.map +1 -1
- package/dist/cli/src/config/getProjectConfig.js.map +1 -1
- package/dist/pipeline/src/bash/BashExpression.d.ts +0 -5
- package/dist/pipeline/src/bash/BashExpression.js +1 -15
- package/dist/pipeline/src/bash/BashExpression.js.map +1 -1
- package/dist/pipeline/src/bash/bashEscape.d.ts +30 -0
- package/dist/pipeline/src/bash/bashEscape.js +129 -0
- package/dist/pipeline/src/bash/bashEscape.js.map +1 -0
- package/dist/pipeline/src/bash/bashYaml.js +26 -2
- package/dist/pipeline/src/bash/bashYaml.js.map +1 -1
- package/dist/pipeline/src/bash/getInjectVarsScript.js +6 -2
- package/dist/pipeline/src/bash/getInjectVarsScript.js.map +1 -1
- package/dist/pipeline/src/bash/index.d.ts +2 -0
- package/dist/pipeline/src/bash/index.js +19 -0
- package/dist/pipeline/src/bash/index.js.map +1 -0
- package/dist/pipeline/src/build/base/writeDotEnv.js +4 -3
- package/dist/pipeline/src/build/base/writeDotEnv.js.map +1 -1
- package/dist/pipeline/src/build/docker.d.ts +3 -3
- package/dist/pipeline/src/context/getEnvironmentVariables.d.ts +3 -1
- package/dist/pipeline/src/context/getEnvironmentVariables.js +23 -12
- package/dist/pipeline/src/context/getEnvironmentVariables.js.map +1 -1
- package/dist/pipeline/src/deploy/cloudRun/createJobs/getCloudRunDeployScripts.js +2 -2
- package/dist/pipeline/src/deploy/cloudRun/createJobs/getCloudRunDeployScripts.js.map +1 -1
- package/dist/pipeline/src/deploy/cloudRun/utils/getServiceName.d.ts +1 -1
- package/dist/pipeline/src/deploy/kubernetes/cloudSql/index.d.ts +2 -2
- package/dist/pipeline/src/deploy/kubernetes/cloudSql/index.js.map +1 -1
- package/dist/pipeline/src/deploy/kubernetes/kubeEnv.d.ts +3 -3
- package/dist/pipeline/src/deploy/kubernetes/kubeValues.d.ts +2 -2
- package/dist/pipeline/src/globalScriptFunctions/index.d.ts +6 -2
- package/dist/pipeline/src/globalScriptFunctions/index.js +17 -10
- package/dist/pipeline/src/globalScriptFunctions/index.js.map +1 -1
- package/dist/pipeline/src/index.d.ts +2 -0
- package/dist/pipeline/src/index.js +2 -0
- package/dist/pipeline/src/index.js.map +1 -1
- package/dist/pipeline/src/pipeline/gitlab/createGitlabPipeline.js +2 -25
- package/dist/pipeline/src/pipeline/gitlab/createGitlabPipeline.js.map +1 -1
- package/dist/pipeline/src/types/context.d.ts +2 -1
- package/dist/pipeline/src/types/context.js.map +1 -1
- package/dist/pipeline/src/utils/gitlab.js +9 -2
- package/dist/pipeline/src/utils/gitlab.js.map +1 -1
- package/dist/pipeline/src/variables/VariableValue.d.ts +3 -0
- package/dist/pipeline/src/variables/VariableValue.js +3 -0
- package/dist/pipeline/src/variables/VariableValue.js.map +1 -0
- package/dist/pipeline/src/variables/VariableValueContainingReferences.d.ts +24 -0
- package/dist/pipeline/src/variables/VariableValueContainingReferences.js +69 -0
- package/dist/pipeline/src/variables/VariableValueContainingReferences.js.map +1 -0
- package/dist/pipeline/src/variables/resolveAllReferences.d.ts +3 -0
- package/dist/pipeline/src/variables/resolveAllReferences.js +25 -0
- package/dist/pipeline/src/variables/resolveAllReferences.js.map +1 -0
- package/dist/pipeline/src/variables/resolveAllReferencesOnce.d.ts +5 -0
- package/dist/pipeline/src/variables/resolveAllReferencesOnce.js +23 -0
- package/dist/pipeline/src/variables/resolveAllReferencesOnce.js.map +1 -0
- package/dist/pipeline/src/variables/resolveReferencesOnce.d.ts +8 -0
- package/dist/pipeline/src/variables/resolveReferencesOnce.js +21 -0
- package/dist/pipeline/src/variables/resolveReferencesOnce.js.map +1 -0
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +1 -1
- package/src/apps/catenv/printVariables.ts +2 -2
- package/src/apps/catenv/types.ts +2 -2
- package/src/apps/catenv/utils.ts +8 -12
- package/src/apps/catenv/writeDotEnvFiles.ts +2 -5
- package/src/apps/cli/commands/project/cloudSql/commandProjectRestoreDb.ts +16 -10
- package/src/apps/cli/commands/project/commandCloudSqlProxy.ts +5 -3
- package/src/config/getProjectConfig.ts +5 -1
- package/dist/pipeline/src/bash/replaceAsync.d.ts +0 -2
- package/dist/pipeline/src/bash/replaceAsync.js +0 -37
- package/dist/pipeline/src/bash/replaceAsync.js.map +0 -1
- package/dist/pipeline/src/context/resolveReferences.d.ts +0 -3
- package/dist/pipeline/src/context/resolveReferences.js +0 -56
- package/dist/pipeline/src/context/resolveReferences.js.map +0 -1
|
@@ -2,8 +2,9 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.componentContextNeedsBuildTimeDotEnv = exports.writeDotEnv = void 0;
|
|
4
4
|
const lodash_1 = require("lodash");
|
|
5
|
-
const
|
|
5
|
+
const bashEscape_1 = require("../../bash/bashEscape");
|
|
6
6
|
const getBuildInfoVariables_1 = require("../../context/getBuildInfoVariables");
|
|
7
|
+
const gitlab_1 = require("../../utils/gitlab");
|
|
7
8
|
/**
|
|
8
9
|
* writes a .env file in the components folder
|
|
9
10
|
* @param context
|
|
@@ -18,9 +19,9 @@ const writeDotEnv = (context) => {
|
|
|
18
19
|
// filter out build variables, since they may interfer with caching like turbo
|
|
19
20
|
// build variables are rarely used anyway and we may treat them differently in the future
|
|
20
21
|
.filter(([key]) => !getBuildInfoVariables_1.ALL_BUILD_VARIABLES.includes(key))
|
|
21
|
-
.map(([key, value]) => `${key}=${
|
|
22
|
+
.map(([key, value]) => `${key}=${(0, bashEscape_1.escapeForDotEnv)(value)}`)
|
|
22
23
|
.join("\n");
|
|
23
|
-
return (0, gitlab_1.collapseableSection)("write-dotenv-" + context.name, "write dot env")([
|
|
24
|
+
return (0, gitlab_1.collapseableSection)("write-dotenv-" + context.name, "write dot env for " + context.name)([
|
|
24
25
|
`cat <<EOF > ${context.build.dir}/.env
|
|
25
26
|
${keyValueString}
|
|
26
27
|
EOF`,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"writeDotEnv.js","sourceRoot":"","sources":["../../../../../../pipeline/src/build/base/writeDotEnv.ts"],"names":[],"mappings":";;;AAAA,mCAA+B;
|
|
1
|
+
{"version":3,"file":"writeDotEnv.js","sourceRoot":"","sources":["../../../../../../pipeline/src/build/base/writeDotEnv.ts"],"names":[],"mappings":";;;AAAA,mCAA+B;AAC/B,sDAAwD;AACxD,+EAA0E;AAE1E,+CAAyD;AAEzD;;;;GAIG;AACI,MAAM,WAAW,GAAG,CAAC,OAAyB,EAAE,EAAE;IACvD,MAAM,OAAO,GAAG,OAAO,CAAC,WAAW,CAAC,OAAO,CAAC;IAE5C,wCAAwC;IACxC,MAAM,cAAc,GAAG,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC;QAC5C,uCAAuC;SACtC,MAAM,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC,IAAA,cAAK,EAAC,KAAK,CAAC,CAAC;QACrC,8EAA8E;QAC9E,yFAAyF;SACxF,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC,2CAAmB,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;SAErD,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,IAAI,IAAA,4BAAe,EAAC,KAAK,CAAC,EAAE,CAAC;SACzD,IAAI,CAAC,IAAI,CAAC,CAAC;IAEd,OAAO,IAAA,4BAAmB,EACxB,eAAe,GAAG,OAAO,CAAC,IAAI,EAC9B,oBAAoB,GAAG,OAAO,CAAC,IAAI,CACpC,CAAC;QACA,eAAe,OAAO,CAAC,KAAK,CAAC,GAAG;EAClC,cAAc;IACZ;KACD,CAAC,CAAC;AACL,CAAC,CAAC;AAtBW,QAAA,WAAW,eAsBtB;AAEK,MAAM,oCAAoC,GAAG,CAClD,OAAyB,EACzB,EAAE;;IACF,OAAO,CAAC,MAAA,OAAO,CAAC,eAAe,CAAC,MAAM,mCAAI,IAAI,CAAC,KAAK,IAAI,CAAC,CAAC,kCAAkC;AAC9F,CAAC,CAAC;AAJW,QAAA,oCAAoC,wCAI/C"}
|
|
@@ -4,7 +4,7 @@ import type { CatladderJob } from "../types/jobs";
|
|
|
4
4
|
export declare const getDockerImageVariables: (context: ComponentContext) => {
|
|
5
5
|
DOCKER_IMAGE_TAG: string;
|
|
6
6
|
DOCKER_REGISTRY: string;
|
|
7
|
-
DOCKER_IMAGE: import("
|
|
7
|
+
DOCKER_IMAGE: import("..").StringOrBashExpression;
|
|
8
8
|
DOCKER_CACHE_IMAGE: string;
|
|
9
9
|
} | {
|
|
10
10
|
DOCKER_IMAGE_TAG: string;
|
|
@@ -20,7 +20,7 @@ export declare const requiresDockerBuild: (context: ComponentContext) => boolean
|
|
|
20
20
|
export declare const getDockerBuildVariables: (context: ComponentContext) => {
|
|
21
21
|
DOCKER_IMAGE_TAG: string;
|
|
22
22
|
DOCKER_REGISTRY: string;
|
|
23
|
-
DOCKER_IMAGE: import("
|
|
23
|
+
DOCKER_IMAGE: import("..").StringOrBashExpression;
|
|
24
24
|
DOCKER_CACHE_IMAGE: string;
|
|
25
25
|
APP_DIR: string;
|
|
26
26
|
DOCKER_BUILD_CONTEXT: string;
|
|
@@ -39,7 +39,7 @@ export declare const getDockerBuildVariables: (context: ComponentContext) => {
|
|
|
39
39
|
} | {
|
|
40
40
|
DOCKER_IMAGE_TAG: string;
|
|
41
41
|
DOCKER_REGISTRY: string;
|
|
42
|
-
DOCKER_IMAGE: import("
|
|
42
|
+
DOCKER_IMAGE: import("..").StringOrBashExpression;
|
|
43
43
|
DOCKER_CACHE_IMAGE: string;
|
|
44
44
|
APP_DIR: string;
|
|
45
45
|
DOCKER_BUILD_CONTEXT: string;
|
|
@@ -18,7 +18,9 @@ export type PredefinedVariables = BasePredefinedVariables & {
|
|
|
18
18
|
HOSTNAME_INTERNAL: StringOrBashExpression;
|
|
19
19
|
ROOT_URL_INTERNAL: StringOrBashExpression;
|
|
20
20
|
};
|
|
21
|
-
export declare const getEnvironmentVariables: (ctx: CreateComponentContextContext,
|
|
21
|
+
export declare const getEnvironmentVariables: (ctx: CreateComponentContextContext, options?: {
|
|
22
|
+
shouldResolveReferences?: boolean;
|
|
23
|
+
}) => Promise<EnvironmentVariables>;
|
|
22
24
|
export declare const getSecretVarName: (env: string, componentName: string, key: string) => string;
|
|
23
25
|
export declare const getSecretVarNameForContext: (context: ComponentContext, key: string) => string;
|
|
24
26
|
export {};
|
|
@@ -4,9 +4,10 @@ exports.getSecretVarNameForContext = exports.getSecretVarName = exports.getEnvir
|
|
|
4
4
|
const deploy_1 = require("../deploy");
|
|
5
5
|
const BashExpression_1 = require("../bash/BashExpression");
|
|
6
6
|
const types_1 = require("../build/types");
|
|
7
|
+
const VariableValueContainingReferences_1 = require("../variables/VariableValueContainingReferences");
|
|
8
|
+
const resolveAllReferences_1 = require("../variables/resolveAllReferences");
|
|
7
9
|
const getBuildInfoVariables_1 = require("./getBuildInfoVariables");
|
|
8
10
|
const getEnvironmentContext_1 = require("./getEnvironmentContext");
|
|
9
|
-
const resolveReferences_1 = require("./resolveReferences");
|
|
10
11
|
const transformJobOnlyVars_1 = require("./transformJobOnlyVars");
|
|
11
12
|
const envVars_1 = require("./utils/envVars");
|
|
12
13
|
const getBasePredefinedVariables = (ctx) => {
|
|
@@ -17,8 +18,8 @@ const getBasePredefinedVariables = (ctx) => {
|
|
|
17
18
|
...(ctx.envType !== "local" ? (0, getBuildInfoVariables_1.getBuildInfoVariables)(ctx) : {}),
|
|
18
19
|
};
|
|
19
20
|
};
|
|
20
|
-
const getEnvironmentVariables = async (ctx,
|
|
21
|
-
var _a, _b, _c, _d, _e, _f, _g;
|
|
21
|
+
const getEnvironmentVariables = async (ctx, options = {}) => {
|
|
22
|
+
var _a, _b, _c, _d, _e, _f, _g, _h;
|
|
22
23
|
const environmentContext = (0, getEnvironmentContext_1.getEnvironmentContext)(ctx);
|
|
23
24
|
const { config, env, componentName } = ctx;
|
|
24
25
|
const { envConfigRaw, deployConfigRaw, buildConfigRaw, envType } = environmentContext;
|
|
@@ -71,18 +72,28 @@ const getEnvironmentVariables = async (ctx, alreadyVisited = {}) => {
|
|
|
71
72
|
];
|
|
72
73
|
const secretEnvVars = (0, envVars_1.makeSecretEnvVarMapping)(env, componentName, secretEnvVarKeys);
|
|
73
74
|
const publicEnvVarsRawSanitized = (0, envVars_1.stringifyValues)(publicEnvVarsRaw);
|
|
74
|
-
const
|
|
75
|
+
const publicEnvVarsUnresolved = Object.fromEntries(Object.entries(publicEnvVarsRawSanitized).map(([key, value]) => [
|
|
76
|
+
key,
|
|
77
|
+
(0, VariableValueContainingReferences_1.createVariableValueContainingReferencesFromString)(value, {
|
|
78
|
+
componentName: ctx.componentName,
|
|
79
|
+
}),
|
|
80
|
+
]));
|
|
81
|
+
const publicEnvVars = ((_h = options.shouldResolveReferences) !== null && _h !== void 0 ? _h : true)
|
|
82
|
+
? await (0, resolveAllReferences_1.resolveAllReferences)(publicEnvVarsUnresolved, async (otherComponentName) => {
|
|
83
|
+
const { envVars: otherEnvVars } = await (0, exports.getEnvironmentVariables)({
|
|
84
|
+
...ctx,
|
|
85
|
+
componentName: otherComponentName,
|
|
86
|
+
}, {
|
|
87
|
+
shouldResolveReferences: false, // we already do this here with replaceAllReferences recursivly until re replaced all
|
|
88
|
+
});
|
|
89
|
+
return otherEnvVars;
|
|
90
|
+
})
|
|
91
|
+
: publicEnvVarsUnresolved;
|
|
92
|
+
const envVars = addIndexVar({
|
|
75
93
|
...predefinedVariables,
|
|
76
94
|
...secretEnvVars,
|
|
77
|
-
...
|
|
95
|
+
...publicEnvVars,
|
|
78
96
|
});
|
|
79
|
-
const envVars = (await (0, resolveReferences_1.resolveReferences)(envVarsRaw, async (otherComponentName, alreadyVisited) => {
|
|
80
|
-
const { envVars: otherEnvVars } = await (0, exports.getEnvironmentVariables)({
|
|
81
|
-
...ctx,
|
|
82
|
-
componentName: otherComponentName,
|
|
83
|
-
}, alreadyVisited);
|
|
84
|
-
return otherEnvVars;
|
|
85
|
-
}, alreadyVisited));
|
|
86
97
|
return {
|
|
87
98
|
envVars,
|
|
88
99
|
secretEnvVarKeys,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getEnvironmentVariables.js","sourceRoot":"","sources":["../../../../../pipeline/src/context/getEnvironmentVariables.ts"],"names":[],"mappings":";;;AAAA,sCAAyC;AASzC,2DAA6D;AAC7D,0CAAyD;AAEzD,mEAAgE;AAChE,mEAAgE;AAChE,
|
|
1
|
+
{"version":3,"file":"getEnvironmentVariables.js","sourceRoot":"","sources":["../../../../../pipeline/src/context/getEnvironmentVariables.ts"],"names":[],"mappings":"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"}
|
|
@@ -4,15 +4,15 @@ exports.getCloudRunDeployScripts = void 0;
|
|
|
4
4
|
const lodash_1 = require("lodash");
|
|
5
5
|
const gitlab_1 = require("../../../utils/gitlab");
|
|
6
6
|
const sbom_1 = require("../../sbom");
|
|
7
|
+
const __1 = require("..");
|
|
8
|
+
const bashYaml_1 = require("../../../bash/bashYaml");
|
|
7
9
|
const cleanup_1 = require("../cleanup");
|
|
8
10
|
const database_1 = require("../utils/database");
|
|
9
11
|
const gcloudServiceAccountLoginCommands_1 = require("../utils/gcloudServiceAccountLoginCommands");
|
|
10
12
|
const cloudRunJobs_1 = require("./cloudRunJobs");
|
|
11
13
|
const cloudRunServices_1 = require("./cloudRunServices");
|
|
12
14
|
const common_1 = require("./common");
|
|
13
|
-
const __1 = require("..");
|
|
14
15
|
const constants_1 = require("./constants");
|
|
15
|
-
const bashYaml_1 = require("../../../bash/bashYaml");
|
|
16
16
|
function getCloudRunDeployScripts(context) {
|
|
17
17
|
var _a;
|
|
18
18
|
const deployConfig = (0, common_1.getCloudRunDeployConfig)(context);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getCloudRunDeployScripts.js","sourceRoot":"","sources":["../../../../../../../pipeline/src/deploy/cloudRun/createJobs/getCloudRunDeployScripts.ts"],"names":[],"mappings":";;;AAAA,
|
|
1
|
+
{"version":3,"file":"getCloudRunDeployScripts.js","sourceRoot":"","sources":["../../../../../../../pipeline/src/deploy/cloudRun/createJobs/getCloudRunDeployScripts.ts"],"names":[],"mappings":";;;AAAA,mCAA8B;AAE9B,kDAA4D;AAC5D,qCAA4D;AAE5D,0BAAmD;AACnD,qDAAmE;AACnE,wCAAmE;AACnE,gDAA4D;AAC5D,kGAA+F;AAC/F,iDAIwB;AACxB,yDAA4D;AAC5D,qCAGkB;AAClB,2CAAgD;AAEhD,SAAgB,wBAAwB,CAAC,OAAyB;;IAChE,MAAM,YAAY,GAAG,IAAA,gCAAuB,EAAC,OAAO,CAAC,CAAC;IACtD,MAAM,UAAU,GAAG,IAAA,aAAI,EACrB,OAAO,CAAC,WAAW,CAAC,OAAO,EAC3B,iCAA6B,CAC9B,CAAC;IAEF,OAAO;QACL,GAAG,IAAA,4BAAmB,EACpB,SAAS,EACT,YAAY,CACb,CAAC;YACA,GAAG,IAAA,qEAAiC,EAAC,OAAO,CAAC;YAC7C,GAAG,IAAA,qCAA4B,EAAC,YAAY,CAAC;SAC9C,CAAC;QACF,GAAG,IAAA,4BAAmB,EACpB,cAAc,EACd,wBAAwB,CACzB,CAAC,IAAA,oCAAyB,EAAC,UAAU,EAAE,6BAAiB,CAAC,CAAC;QAE3D,GAAG,IAAA,4BAAmB,EACpB,QAAQ,EACR,qBAAqB,CACtB,CAAC;YACA,GAAG,CAAC,YAAY,CAAC,QAAQ;gBACvB,CAAC,CAAC,IAAA,kCAAuB,EAAC,OAAO,EAAE,YAAY,CAAC,CAAC,6DAA6D;gBAC9G,CAAC,CAAC,EAAE,CAAC;YACP,GAAG,IAAA,uCAAwB,EAAC,OAAO,CAAC;YACpC,GAAG,IAAA,kCAAmB,EAAC,OAAO,CAAC;YAC/B,GAAG,IAAA,+BAAgB,EAAC,OAAO,EAAE,WAAW,CAAC;YAEzC,GAAG,CAAC,YAAY,CAAC,OAAO,KAAK,KAAK;gBAChC,CAAC,CAAC,CAAC,IAAA,yCAAsB,EAAC,OAAO,EAAE,YAAY,CAAC,OAAO,CAAC,CAAC;gBACzD,CAAC,CAAC,EAAE,CAAC;YACP,GAAG,MAAM,CAAC,OAAO,CAAC,MAAA,YAAY,CAAC,kBAAkB,mCAAI,EAAE,CAAC,CAAC,GAAG,CAC1D,CAAC,CAAC,IAAI,EAAE,OAAO,CAAC,EAAE,EAAE,CAClB,IAAA,yCAAsB,EAAC,OAAO,EAAE,OAAO,EAAE,GAAG,GAAG,IAAI,CAAC,CACvD;YACD,GAAG,IAAA,+BAAgB,EAAC,OAAO,EAAE,YAAY,CAAC;SAC3C,CAAC;QACF,GAAG,IAAA,4BAAmB,EACpB,SAAS,EACT,SAAS,CACV,CACC,IAAA,+CAAqC,EAAC,OAAO,EAAE,YAAY,CAAC,CAC7D;QACD,GAAG,IAAA,qCAA8B,EAAC,OAAO,CAAC;KAC3C,CAAC;AACJ,CAAC;AAhDD,4DAgDC"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
import type { ComponentContext } from "../../../types/context";
|
|
2
|
-
export declare const getServiceName: (context: ComponentContext) => string | import("
|
|
2
|
+
export declare const getServiceName: (context: ComponentContext) => string | import("../../..").BashExpression;
|
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
import type { StringOrBashExpression } from "../../../bash/BashExpression";
|
|
2
1
|
import type { ComponentContext } from "../../../types";
|
|
2
|
+
import type { VariableValue } from "../../../variables/VariableValue";
|
|
3
3
|
export declare const hasKubernetesCloudSQL: (context: ComponentContext) => boolean;
|
|
4
4
|
type CloudSqlValues = {
|
|
5
5
|
enabled: boolean;
|
|
6
6
|
proxyCredentials: string;
|
|
7
7
|
instanceConnectionName: string;
|
|
8
|
-
fullDbName:
|
|
8
|
+
fullDbName: VariableValue;
|
|
9
9
|
dbUser: string;
|
|
10
10
|
};
|
|
11
11
|
export declare const createKubernetesCloudsqlBaseValues: (context: ComponentContext) => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../../pipeline/src/deploy/kubernetes/cloudSql/index.ts"],"names":[],"mappings":";;;AACA,8CAA8D;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../../pipeline/src/deploy/kubernetes/cloudSql/index.ts"],"names":[],"mappings":";;;AACA,8CAA8D;AAG9D,gDAAqD;AACrD,uCAA6C;AAEtC,MAAM,qBAAqB,GAAG,CAAC,OAAyB,EAAE,EAAE;;IACjE,MAAM,YAAY,GAAG,MAAA,OAAO,CAAC,MAAM,0CAAE,MAAM,CAAC;IAE5C,IAAI,IAAA,sBAAc,EAAC,YAAY,EAAE,YAAY,CAAC,EAAE,CAAC;QAC/C,OAAO,MAAA,MAAA,YAAY,CAAC,MAAM,0CAAE,QAAQ,0CAAE,OAAO,CAAC;IAChD,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC,CAAC;AAPW,QAAA,qBAAqB,yBAOhC;AAUK,MAAM,kCAAkC,GAAG,CAChD,OAAyB,EAGzB,EAAE;;IACF,MAAM,YAAY,GAAG,MAAA,OAAO,CAAC,MAAM,0CAAE,MAAM,CAAC;IAC5C,IAAI,CAAC,IAAA,sBAAc,EAAC,YAAY,EAAE,YAAY,CAAC,EAAE,CAAC;QAChD,MAAM,IAAI,KAAK,CAAC,6BAA6B,CAAC,CAAC;IACjD,CAAC;IAED,MAAM,MAAM,GAAG,MAAA,YAAY,CAAC,MAAM,0CAAE,QAAQ,CAAC;IAE7C,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,MAAM,IAAI,KAAK,CAAC,6BAA6B,CAAC,CAAC;IACjD,CAAC;IAED,MAAM,gBAAgB,GAAG,IAAI,IAAA,oCAA0B,EACrD,OAAO,EACP,0BAA0B,CAC3B,EAAE,CAAC;IACJ,IAAI,MAAM,CAAC,IAAI,KAAK,WAAW,EAAE,CAAC;QAChC,OAAO;YACL,QAAQ,EAAE;gBACR,OAAO,EAAE,MAAM,CAAC,OAAO;gBACvB,MAAM,EAAE,MAAA,MAAM,CAAC,MAAM,mCAAI,UAAU;gBACnC,sBAAsB,EAAE,MAAM,CAAC,sBAAsB;gBACrD,gBAAgB;gBAChB,UAAU,EAAE,IAAA,qBAAa,EACvB,MAAM,EACN,OAAO,CAAC,UAAU,EAClB,OAAO,CAAC,WAAW,CAAC,UAAU,EAC9B,OAAO,CAAC,IAAI,CACb;aACF;SACF,CAAC;IACJ,CAAC;SAAM,CAAC;QACN,MAAM,IAAI,KAAK,CAAC,cAAc,CAAC,CAAC;IAClC,CAAC;AACH,CAAC,CAAC;AAtCW,QAAA,kCAAkC,sCAsC7C"}
|
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import type { StringOrBashExpression } from "../../bash/BashExpression";
|
|
2
1
|
import type { ComponentContext } from "../../types";
|
|
2
|
+
import type { VariableValue } from "../../variables/VariableValue";
|
|
3
3
|
/**
|
|
4
4
|
* separate by secrets and public.
|
|
5
5
|
* we evalulate the actual values later, but want to store the secrets in kubernetes secrets
|
|
6
6
|
*/
|
|
7
7
|
export declare const createKubeEnv: (context: ComponentContext) => {
|
|
8
|
-
secret: Record<string,
|
|
9
|
-
public: Record<string,
|
|
8
|
+
secret: Record<string, VariableValue>;
|
|
9
|
+
public: Record<string, VariableValue>;
|
|
10
10
|
};
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import type { ComponentContext } from "../../types/context";
|
|
2
2
|
export declare const createKubeValues: (context: ComponentContext) => any[] | ({
|
|
3
3
|
env: {
|
|
4
|
-
secret: Record<string, import("
|
|
5
|
-
public: Record<string, import("
|
|
4
|
+
secret: Record<string, import("../..").VariableValue>;
|
|
5
|
+
public: Record<string, import("../..").VariableValue>;
|
|
6
6
|
};
|
|
7
7
|
application: false | import("../types/base").AllowUnknownProps<{
|
|
8
8
|
command?: string;
|
|
@@ -5,6 +5,10 @@ declare class GlobalScriptFunction {
|
|
|
5
5
|
toBashFunction(): string;
|
|
6
6
|
invoke(...args: string[]): string;
|
|
7
7
|
}
|
|
8
|
-
export declare const
|
|
9
|
-
|
|
8
|
+
export declare const globalScriptFunctions: Map<string, GlobalScriptFunction>;
|
|
9
|
+
/**
|
|
10
|
+
* registers a global script function
|
|
11
|
+
* only use that in top-level scopes as it will attach the function to the global scope
|
|
12
|
+
*/
|
|
13
|
+
export declare const registerGlobalScriptFunction: (name: string, script: string) => GlobalScriptFunction;
|
|
10
14
|
export {};
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
3
|
+
exports.registerGlobalScriptFunction = exports.globalScriptFunctions = void 0;
|
|
4
4
|
class GlobalScriptFunction {
|
|
5
5
|
constructor(name, script) {
|
|
6
6
|
this.name = name;
|
|
@@ -8,18 +8,25 @@ class GlobalScriptFunction {
|
|
|
8
8
|
}
|
|
9
9
|
toBashFunction() {
|
|
10
10
|
return `function ${this.name} () {
|
|
11
|
-
|
|
12
|
-
|
|
11
|
+
${this.script.trim()}
|
|
12
|
+
}`.trim();
|
|
13
13
|
}
|
|
14
14
|
invoke(...args) {
|
|
15
15
|
return `${this.name} ${args.join(" ")}`;
|
|
16
16
|
}
|
|
17
17
|
}
|
|
18
|
-
exports.
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
18
|
+
exports.globalScriptFunctions = new Map();
|
|
19
|
+
/**
|
|
20
|
+
* registers a global script function
|
|
21
|
+
* only use that in top-level scopes as it will attach the function to the global scope
|
|
22
|
+
*/
|
|
23
|
+
const registerGlobalScriptFunction = (name, script) => {
|
|
24
|
+
if (exports.globalScriptFunctions.has(name)) {
|
|
25
|
+
throw new Error(`Global script function ${name} already exists`);
|
|
26
|
+
}
|
|
27
|
+
const scriptFunction = new GlobalScriptFunction(name, script);
|
|
28
|
+
exports.globalScriptFunctions.set(name, scriptFunction);
|
|
29
|
+
return scriptFunction;
|
|
30
|
+
};
|
|
31
|
+
exports.registerGlobalScriptFunction = registerGlobalScriptFunction;
|
|
25
32
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../pipeline/src/globalScriptFunctions/index.ts"],"names":[],"mappings":";;;AAAA,MAAM,oBAAoB;IACxB,YACS,IAAY,EACZ,MAAc;QADd,SAAI,GAAJ,IAAI,CAAQ;QACZ,WAAM,GAAN,MAAM,CAAQ;IACpB,CAAC;IAEJ,cAAc;QACZ,OAAO,YAAY,IAAI,CAAC,IAAI;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../pipeline/src/globalScriptFunctions/index.ts"],"names":[],"mappings":";;;AAAA,MAAM,oBAAoB;IACxB,YACS,IAAY,EACZ,MAAc;QADd,SAAI,GAAJ,IAAI,CAAQ;QACZ,WAAM,GAAN,MAAM,CAAQ;IACpB,CAAC;IAEJ,cAAc;QACZ,OAAO,YAAY,IAAI,CAAC,IAAI;EAC9B,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE;EAClB,CAAC,IAAI,EAAE,CAAC;IACR,CAAC;IACD,MAAM,CAAC,GAAG,IAAc;QACtB,OAAO,GAAG,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;IAC1C,CAAC;CACF;AAEY,QAAA,qBAAqB,GAAG,IAAI,GAAG,EAAgC,CAAC;AAE7E;;;GAGG;AACI,MAAM,4BAA4B,GAAG,CAAC,IAAY,EAAE,MAAc,EAAE,EAAE;IAC3E,IAAI,6BAAqB,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;QACpC,MAAM,IAAI,KAAK,CAAC,0BAA0B,IAAI,iBAAiB,CAAC,CAAC;IACnE,CAAC;IACD,MAAM,cAAc,GAAG,IAAI,oBAAoB,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IAC9D,6BAAqB,CAAC,GAAG,CAAC,IAAI,EAAE,cAAc,CAAC,CAAC;IAChD,OAAO,cAAc,CAAC;AACxB,CAAC,CAAC;AAPW,QAAA,4BAA4B,gCAOvC"}
|
|
@@ -23,4 +23,6 @@ __exportStar(require("./context"), exports);
|
|
|
23
23
|
__exportStar(require("./build"), exports);
|
|
24
24
|
__exportStar(require("./deploy"), exports);
|
|
25
25
|
__exportStar(require("./utils/writeFiles"), exports);
|
|
26
|
+
__exportStar(require("./variables/VariableValue"), exports);
|
|
27
|
+
__exportStar(require("./bash"), exports);
|
|
26
28
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../pipeline/src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,6CAA2B;AAC3B,0CAAwB;AACxB,0CAAwB;AACxB,2CAAyB;AACzB,2CAAyB;AACzB,4CAA0B;AAC1B,0CAAwB;AACxB,2CAAyB;AACzB,qDAAmC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../pipeline/src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,6CAA2B;AAC3B,0CAAwB;AACxB,0CAAwB;AACxB,2CAAyB;AACzB,2CAAyB;AACzB,4CAA0B;AAC1B,0CAAwB;AACxB,2CAAyB;AACzB,qDAAmC;AACnC,4DAA0C;AAC1C,yCAAuB"}
|
|
@@ -1,31 +1,8 @@
|
|
|
1
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 __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
-
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
-
}) : function(o, v) {
|
|
16
|
-
o["default"] = v;
|
|
17
|
-
});
|
|
18
|
-
var __importStar = (this && this.__importStar) || function (mod) {
|
|
19
|
-
if (mod && mod.__esModule) return mod;
|
|
20
|
-
var result = {};
|
|
21
|
-
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
22
|
-
__setModuleDefault(result, mod);
|
|
23
|
-
return result;
|
|
24
|
-
};
|
|
25
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
26
3
|
exports.createGitlabPipelineWithDefaults = void 0;
|
|
27
4
|
const runner_1 = require("../../runner");
|
|
28
|
-
const
|
|
5
|
+
const globalScriptFunctions_1 = require("../../globalScriptFunctions");
|
|
29
6
|
const createGitlabPipelineWithDefaults = ({ image, variables, before_script, ...config }) => {
|
|
30
7
|
return {
|
|
31
8
|
image: image !== null && image !== void 0 ? image : (0, runner_1.getRunnerImage)("jobs-default"), // default image
|
|
@@ -38,7 +15,7 @@ const createGitlabPipelineWithDefaults = ({ image, variables, before_script, ...
|
|
|
38
15
|
...(variables !== null && variables !== void 0 ? variables : {}),
|
|
39
16
|
},
|
|
40
17
|
before_script: [
|
|
41
|
-
...
|
|
18
|
+
...[...globalScriptFunctions_1.globalScriptFunctions.values()].map((script) => script.toBashFunction()),
|
|
42
19
|
...(before_script !== null && before_script !== void 0 ? before_script : []),
|
|
43
20
|
],
|
|
44
21
|
...config,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"createGitlabPipeline.js","sourceRoot":"","sources":["../../../../../../pipeline/src/pipeline/gitlab/createGitlabPipeline.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"createGitlabPipeline.js","sourceRoot":"","sources":["../../../../../../pipeline/src/pipeline/gitlab/createGitlabPipeline.ts"],"names":[],"mappings":";;;AAAA,yCAA8C;AAE9C,uEAAoE;AAG7D,MAAM,gCAAgC,GAAG,CAAC,EAC/C,KAAK,EACL,SAAS,EACT,aAAa,EACb,GAAG,MAAM,EAIV,EAAsB,EAAE;IACvB,OAAO;QACL,KAAK,EAAE,KAAK,aAAL,KAAK,cAAL,KAAK,GAAI,IAAA,uBAAc,EAAC,cAAc,CAAC,EAAE,gBAAgB;QAChE,SAAS,EAAE;YACT,cAAc,EAAE,MAAM,EAAE,uFAAuF;YAC/G,0BAA0B,EAAE,MAAM,EAAE,kCAAkC;YACtE,uBAAuB,EAAE,MAAM,EAAE,gCAAgC;YACjE,wBAAwB,EAAE,IAAI,EAAE,0EAA0E;YAE1G,SAAS,EAAE,GAAG,EAAE,yBAAyB;YACzC,GAAG,CAAC,SAAS,aAAT,SAAS,cAAT,SAAS,GAAI,EAAE,CAAC;SACrB;QACD,aAAa,EAAE;YACb,GAAG,CAAC,GAAG,6CAAqB,CAAC,MAAM,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CACpD,MAAM,CAAC,cAAc,EAAE,CACxB;YACD,GAAG,CAAC,aAAa,aAAb,aAAa,cAAb,aAAa,GAAI,EAAE,CAAC;SACzB;QAED,GAAG,MAAM;KACV,CAAC;AACJ,CAAC,CAAC;AA7BW,QAAA,gCAAgC,oCA6B3C"}
|
|
@@ -2,10 +2,11 @@ import type { StringOrBashExpression } from "../bash/BashExpression";
|
|
|
2
2
|
import type { BuildConfigFromWorkspace, BuildConfigStandalone, WorkspaceBuildConfig } from "../build";
|
|
3
3
|
import type { PredefinedVariables, SecretEnvVar } from "../context";
|
|
4
4
|
import type { DeployConfig } from "../deploy";
|
|
5
|
+
import type { VariableValue } from "../variables/VariableValue";
|
|
5
6
|
import type { ComponentConfig, Config, EnvType, PipelineTrigger } from "./config";
|
|
6
7
|
import type { BaseStage, CatladderJob } from "./jobs";
|
|
7
8
|
import type { PipelineType } from "./pipeline";
|
|
8
|
-
export type UnspecifiedEnvVars = Record<string,
|
|
9
|
+
export type UnspecifiedEnvVars = Record<string, VariableValue | undefined | null>;
|
|
9
10
|
export type EnvironmentEnvVars<V extends UnspecifiedEnvVars = UnspecifiedEnvVars> = {
|
|
10
11
|
envVars: V & UnspecifiedEnvVars;
|
|
11
12
|
secretEnvVarKeys: SecretEnvVar[];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"context.js","sourceRoot":"","sources":["../../../../../pipeline/src/types/context.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"context.js","sourceRoot":"","sources":["../../../../../pipeline/src/types/context.ts"],"names":[],"mappings":";;;AAyLO,MAAM,iCAAiC,GAAG,CAC/C,OAAgD,EACK,EAAE;IACvD,OAAO,OAAO,CAAC,KAAK,CAAC,IAAI,KAAK,YAAY,CAAC;AAC7C,CAAC,CAAC;AAJW,QAAA,iCAAiC,qCAI5C;AAEK,MAAM,iCAAiC,GAAG,CAC/C,OAAgD,EACQ,EAAE;IAC1D,OAAO,OAAO,CAAC,KAAK,CAAC,IAAI,KAAK,eAAe,CAAC;AAChD,CAAC,CAAC;AAJW,QAAA,iCAAiC,qCAI5C"}
|
|
@@ -20,11 +20,18 @@ const repeatOnFailure = (command, options) => {
|
|
|
20
20
|
`;
|
|
21
21
|
};
|
|
22
22
|
exports.repeatOnFailure = repeatOnFailure;
|
|
23
|
+
const start = (0, globalScriptFunctions_1.registerGlobalScriptFunction)("collapseable_section_start", `local section_title="\${1}"
|
|
24
|
+
local section_description="\${2:-$section_title}"
|
|
25
|
+
echo -e "section_start:\`date +%s\`:\${section_title}[collapsed=true]\\r\\e[0K$\{section_description}"
|
|
26
|
+
`);
|
|
27
|
+
const end = (0, globalScriptFunctions_1.registerGlobalScriptFunction)("collapseable_section_end", `local section_title="\${1}"
|
|
28
|
+
echo -e "section_end:\`date +%s\`:\${section_title}\\r\\e[0K"
|
|
29
|
+
`);
|
|
23
30
|
const collapseableSection = (name, header) => (commands) => {
|
|
24
31
|
return [
|
|
25
|
-
|
|
32
|
+
start.invoke(`"${name}"`, `"${header}"`),
|
|
26
33
|
...commands,
|
|
27
|
-
|
|
34
|
+
end.invoke(`"${name}"`),
|
|
28
35
|
];
|
|
29
36
|
};
|
|
30
37
|
exports.collapseableSection = collapseableSection;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"gitlab.js","sourceRoot":"","sources":["../../../../../pipeline/src/utils/gitlab.ts"],"names":[],"mappings":";;;AAAA,
|
|
1
|
+
{"version":3,"file":"gitlab.js","sourceRoot":"","sources":["../../../../../pipeline/src/utils/gitlab.ts"],"names":[],"mappings":";;;AAAA,oEAAwE;AAEjE,MAAM,qBAAqB,GAAG,CAAC,MAAgB,EAAY,EAAE,CAAC;IACnE,QAAQ,EAAE,4BAA4B;IACtC,GAAG,MAAM;IACT,QAAQ,EAAE,WAAW;CACtB,CAAC;AAJW,QAAA,qBAAqB,yBAIhC;AAEK,MAAM,uBAAuB,GAAG,CAAC,IAAY,EAAE,EAAE,CACtD,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;AADb,QAAA,uBAAuB,2BACV;AAEnB,MAAM,eAAe,GAAG,CAC7B,OAAe,EACf,OAEC,EACO,EAAE;IACV,OAAO;YACG,OAAO;;;cAGL,OAAO,CAAC,cAAc;;GAEjC,CAAC;AACJ,CAAC,CAAC;AAbW,QAAA,eAAe,mBAa1B;AAEF,MAAM,KAAK,GAAG,IAAA,oDAA4B,EACxC,4BAA4B,EAC5B;;;CAGD,CACA,CAAC;AAEF,MAAM,GAAG,GAAG,IAAA,oDAA4B,EACtC,0BAA0B,EAC1B;;CAED,CACA,CAAC;AAEK,MAAM,mBAAmB,GAC9B,CAAC,IAAY,EAAE,MAAc,EAAE,EAAE,CACjC,CAAC,QAAkB,EAAY,EAAE;IAC/B,OAAO;QACL,KAAK,CAAC,MAAM,CAAC,IAAI,IAAI,GAAG,EAAE,IAAI,MAAM,GAAG,CAAC;QACxC,GAAG,QAAQ;QACX,GAAG,CAAC,MAAM,CAAC,IAAI,IAAI,GAAG,CAAC;KACxB,CAAC;AACJ,CAAC,CAAC;AARS,QAAA,mBAAmB,uBAQ5B"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"VariableValue.js","sourceRoot":"","sources":["../../../../../pipeline/src/variables/VariableValue.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { BashExpression } from "../bash/BashExpression";
|
|
2
|
+
import type { EscapeOptions } from "../bash/bashEscape";
|
|
3
|
+
export declare class UnresolvableReference {
|
|
4
|
+
reference: VariableReference;
|
|
5
|
+
constructor(reference: VariableReference);
|
|
6
|
+
toString(): string;
|
|
7
|
+
}
|
|
8
|
+
export declare class VariableReference {
|
|
9
|
+
componentName: string;
|
|
10
|
+
variableName: string;
|
|
11
|
+
constructor(componentName: string, variableName: string);
|
|
12
|
+
toString(): string;
|
|
13
|
+
}
|
|
14
|
+
type VariableValuePart = string | BashExpression | VariableReference | UnresolvableReference;
|
|
15
|
+
type MaybeArray<T> = T | T[];
|
|
16
|
+
export declare class VariableValueContainingReferences {
|
|
17
|
+
parts: VariableValuePart[];
|
|
18
|
+
constructor(parts: MaybeArray<VariableValuePart | VariableValueContainingReferences>);
|
|
19
|
+
toString(options?: EscapeOptions): string;
|
|
20
|
+
}
|
|
21
|
+
export declare const createVariableValueContainingReferencesFromString: (value: string, options: {
|
|
22
|
+
componentName: string;
|
|
23
|
+
}) => VariableValueContainingReferences;
|
|
24
|
+
export {};
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.createVariableValueContainingReferencesFromString = exports.VariableValueContainingReferences = exports.VariableReference = exports.UnresolvableReference = void 0;
|
|
4
|
+
const BashExpression_1 = require("../bash/BashExpression");
|
|
5
|
+
const bashEscape_1 = require("../bash/bashEscape");
|
|
6
|
+
class UnresolvableReference {
|
|
7
|
+
constructor(reference) {
|
|
8
|
+
this.reference = reference;
|
|
9
|
+
}
|
|
10
|
+
toString() {
|
|
11
|
+
return `Unresolvable reference: ${this.reference.toString()}`;
|
|
12
|
+
}
|
|
13
|
+
}
|
|
14
|
+
exports.UnresolvableReference = UnresolvableReference;
|
|
15
|
+
class VariableReference {
|
|
16
|
+
constructor(componentName, variableName) {
|
|
17
|
+
this.componentName = componentName;
|
|
18
|
+
this.variableName = variableName;
|
|
19
|
+
}
|
|
20
|
+
toString() {
|
|
21
|
+
return `\${${this.componentName}:${this.variableName}}`;
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
exports.VariableReference = VariableReference;
|
|
25
|
+
class VariableValueContainingReferences {
|
|
26
|
+
constructor(parts) {
|
|
27
|
+
this.parts = (Array.isArray(parts) ? parts : [parts]).flatMap((part) => part instanceof VariableValueContainingReferences
|
|
28
|
+
? part.parts
|
|
29
|
+
: part === ""
|
|
30
|
+
? []
|
|
31
|
+
: [part]);
|
|
32
|
+
}
|
|
33
|
+
toString(options = {
|
|
34
|
+
quotes: false,
|
|
35
|
+
}) {
|
|
36
|
+
return this.parts
|
|
37
|
+
.map((part) => {
|
|
38
|
+
if (typeof part === "string") {
|
|
39
|
+
return (0, bashEscape_1.escapeString)(part, options);
|
|
40
|
+
}
|
|
41
|
+
else if (part instanceof BashExpression_1.BashExpression) {
|
|
42
|
+
return (0, bashEscape_1.escapeBashExpression)(part, options);
|
|
43
|
+
}
|
|
44
|
+
else {
|
|
45
|
+
return part.toString();
|
|
46
|
+
}
|
|
47
|
+
})
|
|
48
|
+
.join("");
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
exports.VariableValueContainingReferences = VariableValueContainingReferences;
|
|
52
|
+
// regex to resolve references in catladder variables
|
|
53
|
+
// those expressions have the pattern ${componentName:variableName}
|
|
54
|
+
const REGEX = /\$\{(([^:}]+):)?([^}]+)}/gm;
|
|
55
|
+
const createVariableValueContainingReferencesFromString = (value, options) => {
|
|
56
|
+
const parts = [];
|
|
57
|
+
let match;
|
|
58
|
+
let lastIndex = 0;
|
|
59
|
+
while ((match = REGEX.exec(value)) !== null) {
|
|
60
|
+
const [fullMatch, _, otherComponentName, variableName] = match;
|
|
61
|
+
parts.push(value.slice(lastIndex, match.index));
|
|
62
|
+
parts.push(new VariableReference(otherComponentName || options.componentName, variableName));
|
|
63
|
+
lastIndex = REGEX.lastIndex;
|
|
64
|
+
}
|
|
65
|
+
parts.push(value.slice(lastIndex));
|
|
66
|
+
return new VariableValueContainingReferences(parts);
|
|
67
|
+
};
|
|
68
|
+
exports.createVariableValueContainingReferencesFromString = createVariableValueContainingReferencesFromString;
|
|
69
|
+
//# sourceMappingURL=VariableValueContainingReferences.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"VariableValueContainingReferences.js","sourceRoot":"","sources":["../../../../../pipeline/src/variables/VariableValueContainingReferences.ts"],"names":[],"mappings":";;;AAAA,2DAAwD;AAExD,mDAAwE;AAExE,MAAa,qBAAqB;IAChC,YAAmB,SAA4B;QAA5B,cAAS,GAAT,SAAS,CAAmB;IAAG,CAAC;IAC5C,QAAQ;QACb,OAAO,2BAA2B,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,EAAE,CAAC;IAChE,CAAC;CACF;AALD,sDAKC;AACD,MAAa,iBAAiB;IAI5B,YAAY,aAAqB,EAAE,YAAoB;QACrD,IAAI,CAAC,aAAa,GAAG,aAAa,CAAC;QACnC,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC;IACnC,CAAC;IAEM,QAAQ;QACb,OAAO,MAAM,IAAI,CAAC,aAAa,IAAI,IAAI,CAAC,YAAY,GAAG,CAAC;IAC1D,CAAC;CACF;AAZD,8CAYC;AASD,MAAa,iCAAiC;IAE5C,YACE,KAAwE;QAExE,IAAI,CAAC,KAAK,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE,CACrE,IAAI,YAAY,iCAAiC;YAC/C,CAAC,CAAC,IAAI,CAAC,KAAK;YACZ,CAAC,CAAC,IAAI,KAAK,EAAE;gBACX,CAAC,CAAC,EAAE;gBACJ,CAAC,CAAC,CAAC,IAAI,CAAC,CACb,CAAC;IACJ,CAAC;IAEM,QAAQ,CACb,UAAyB;QACvB,MAAM,EAAE,KAAK;KACd;QAED,OAAO,IAAI,CAAC,KAAK;aACd,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;YACZ,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;gBAC7B,OAAO,IAAA,yBAAY,EAAC,IAAI,EAAE,OAAO,CAAC,CAAC;YACrC,CAAC;iBAAM,IAAI,IAAI,YAAY,+BAAc,EAAE,CAAC;gBAC1C,OAAO,IAAA,iCAAoB,EAAC,IAAI,EAAE,OAAO,CAAC,CAAC;YAC7C,CAAC;iBAAM,CAAC;gBACN,OAAO,IAAI,CAAC,QAAQ,EAAE,CAAC;YACzB,CAAC;QACH,CAAC,CAAC;aACD,IAAI,CAAC,EAAE,CAAC,CAAC;IACd,CAAC;CACF;AA/BD,8EA+BC;AAED,qDAAqD;AACrD,mEAAmE;AACnE,MAAM,KAAK,GAAG,4BAA4B,CAAC;AACpC,MAAM,iDAAiD,GAAG,CAC/D,KAAa,EACb,OAAkC,EAClC,EAAE;IACF,MAAM,KAAK,GAA6B,EAAE,CAAC;IAC3C,IAAI,KAAU,CAAC;IACf,IAAI,SAAS,GAAG,CAAC,CAAC;IAClB,OAAO,CAAC,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC;QAC5C,MAAM,CAAC,SAAS,EAAE,CAAC,EAAE,kBAAkB,EAAE,YAAY,CAAC,GAAG,KAAK,CAAC;QAE/D,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,SAAS,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC;QAChD,KAAK,CAAC,IAAI,CACR,IAAI,iBAAiB,CACnB,kBAAkB,IAAI,OAAO,CAAC,aAAa,EAC3C,YAAY,CACb,CACF,CAAC;QACF,SAAS,GAAG,KAAK,CAAC,SAAS,CAAC;IAC9B,CAAC;IACD,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC;IACnC,OAAO,IAAI,iCAAiC,CAAC,KAAK,CAAC,CAAC;AACtD,CAAC,CAAC;AArBW,QAAA,iDAAiD,qDAqB5D"}
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import type { VariableValue } from "./VariableValue";
|
|
2
|
+
import type { VariableValueContainingReferences } from "./VariableValueContainingReferences";
|
|
3
|
+
export declare const resolveAllReferences: (values: Record<string, VariableValueContainingReferences>, getEnvVars: (componentName: string) => Promise<Record<string, VariableValue | null | undefined>>) => Promise<Record<string, VariableValueContainingReferences>>;
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.resolveAllReferences = void 0;
|
|
4
|
+
const VariableValueContainingReferences_1 = require("./VariableValueContainingReferences");
|
|
5
|
+
const resolveAllReferencesOnce_1 = require("./resolveAllReferencesOnce");
|
|
6
|
+
const resolveAllReferences = async (values, getEnvVars) => {
|
|
7
|
+
// replace until there aren't any references left
|
|
8
|
+
let result = values;
|
|
9
|
+
let i = 0;
|
|
10
|
+
while (Object.values(result).some((value) => value.parts.some((part) => part instanceof VariableValueContainingReferences_1.VariableReference))) {
|
|
11
|
+
const replaced = await (0, resolveAllReferencesOnce_1.resolveAllReferencesOnce)(result, getEnvVars);
|
|
12
|
+
result = replaced;
|
|
13
|
+
i++;
|
|
14
|
+
if (i > 1000) {
|
|
15
|
+
const unresolved = Object.entries(result).filter(([key, value]) => value.parts.some((part) => part instanceof VariableValueContainingReferences_1.VariableReference));
|
|
16
|
+
throw new Error("Infinite loop detected in these variables: " +
|
|
17
|
+
unresolved
|
|
18
|
+
.map(([key, value]) => `${key} (last reference: ${value.parts.find((part) => part instanceof VariableValueContainingReferences_1.VariableReference)})`)
|
|
19
|
+
.join(", "));
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
return result;
|
|
23
|
+
};
|
|
24
|
+
exports.resolveAllReferences = resolveAllReferences;
|
|
25
|
+
//# sourceMappingURL=resolveAllReferences.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"resolveAllReferences.js","sourceRoot":"","sources":["../../../../../pipeline/src/variables/resolveAllReferences.ts"],"names":[],"mappings":";;;AAEA,2FAAwE;AACxE,yEAAkG;AAE3F,MAAM,oBAAoB,GAAG,KAAK,EACvC,MAAyD,EACzD,UAE8D,EAC9D,EAAE;IACF,iDAAiD;IACjD,IAAI,MAAM,GAAG,MAAM,CAAC;IAEpB,IAAI,CAAC,GAAG,CAAC,CAAC;IAEV,OACE,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CACnC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,YAAY,qDAAiB,CAAC,CAC9D,EACD,CAAC;QACD,MAAM,QAAQ,GAAG,MAAM,IAAA,mDAAwB,EAAC,MAAM,EAAE,UAAU,CAAC,CAAC;QAEpE,MAAM,GAAG,QAAQ,CAAC;QAClB,CAAC,EAAE,CAAC;QACJ,IAAI,CAAC,GAAG,IAAI,EAAE,CAAC;YACb,MAAM,UAAU,GAAG,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE,CAChE,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,YAAY,qDAAiB,CAAC,CAC9D,CAAC;YAEF,MAAM,IAAI,KAAK,CACb,6CAA6C;gBAC3C,UAAU;qBACP,GAAG,CACF,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE,CACf,GAAG,GAAG,qBAAqB,KAAK,CAAC,KAAK,CAAC,IAAI,CACzC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,YAAY,qDAAiB,CAC5C,GAAG,CACP;qBACA,IAAI,CAAC,IAAI,CAAC,CAChB,CAAC;QACJ,CAAC;IACH,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC,CAAC;AAxCW,QAAA,oBAAoB,wBAwC/B"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import type { VariableValue } from "./VariableValue";
|
|
2
|
+
import type { VariableValueContainingReferences } from "./VariableValueContainingReferences";
|
|
3
|
+
export declare const resolveAllReferencesOnce: (values: Record<string, VariableValueContainingReferences>, getEnvVars: (componentName: string) => Promise<Record<string, VariableValue | undefined | null>>) => Promise<{
|
|
4
|
+
[k: string]: VariableValueContainingReferences;
|
|
5
|
+
}>;
|