@catladder/cli 0.0.0-refactor-resolve-references-next-de1019aa → 0.0.0-refactor-resolve-references-next-c8f614f7
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 +185 -28
- package/dist/bundles/cli/index.js +183 -24
- package/dist/cli/src/apps/catenv/printVariables.js.map +1 -1
- package/dist/cli/src/apps/catenv/types.d.ts +0 -2
- package/dist/cli/src/apps/catenv/utils.d.ts +2 -2
- package/dist/cli/src/apps/catenv/utils.js +2 -3
- package/dist/cli/src/apps/catenv/utils.js.map +1 -1
- package/dist/cli/src/apps/catenv/writeDotEnvFiles.js +0 -1
- package/dist/cli/src/apps/catenv/writeDotEnvFiles.js.map +1 -1
- package/dist/cli/src/config/getProjectConfig.d.ts +3 -3
- package/dist/cli/src/config/getProjectConfig.js.map +1 -1
- package/dist/pipeline/src/bash/bashEscape.d.ts +23 -3
- package/dist/pipeline/src/bash/bashEscape.js +108 -11
- package/dist/pipeline/src/bash/bashEscape.js.map +1 -1
- package/dist/pipeline/src/bash/bashYaml.js +2 -1
- package/dist/pipeline/src/bash/bashYaml.js.map +1 -1
- package/dist/pipeline/src/bash/getInjectVarsScript.js +5 -1
- package/dist/pipeline/src/bash/getInjectVarsScript.js.map +1 -1
- package/dist/pipeline/src/build/base/writeDotEnv.js +4 -5
- package/dist/pipeline/src/build/base/writeDotEnv.js.map +1 -1
- package/dist/pipeline/src/globalScriptFunctions/index.d.ts +14 -0
- package/dist/pipeline/src/globalScriptFunctions/index.js +32 -0
- package/dist/pipeline/src/globalScriptFunctions/index.js.map +1 -0
- package/dist/pipeline/src/pipeline/gitlab/createGitlabPipeline.d.ts +1 -1
- package/dist/pipeline/src/pipeline/gitlab/createGitlabPipeline.js +6 -1
- package/dist/pipeline/src/pipeline/gitlab/createGitlabPipeline.js.map +1 -1
- package/dist/pipeline/src/types/gitlab-types.d.ts +1 -0
- package/dist/pipeline/src/utils/gitlab.js +10 -2
- package/dist/pipeline/src/utils/gitlab.js.map +1 -1
- package/dist/pipeline/src/variables/VariableValueContainingReferences.d.ts +3 -5
- package/dist/pipeline/src/variables/VariableValueContainingReferences.js +8 -2
- package/dist/pipeline/src/variables/VariableValueContainingReferences.js.map +1 -1
- 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 +0 -2
- package/src/apps/catenv/utils.ts +8 -7
- package/src/apps/catenv/writeDotEnvFiles.ts +0 -1
- package/src/config/getProjectConfig.ts +1 -1
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import type { Config } from "../../../../pipeline/src/index.js";
|
|
2
|
-
import type { Choice
|
|
2
|
+
import type { Choice } from "./types";
|
|
3
3
|
export declare const getComponentFullPath: (gitRoot: string, config: Config, componentName: string) => string;
|
|
4
4
|
export declare const getCurrentComponentAndEnvFromChoice: (config: Config, choice?: Choice) => Promise<{
|
|
5
5
|
currentComponent: string;
|
|
6
6
|
env: string;
|
|
7
7
|
}>;
|
|
8
|
-
export declare const makeKeyValueString: (variables:
|
|
8
|
+
export declare const makeKeyValueString: (variables: Record<string, string>, keyPrefix?: string) => string;
|
|
9
9
|
export declare const sanitizeEnvVarName: (name: string) => string;
|
|
@@ -24,9 +24,8 @@ const getCurrentComponentAndEnvFromChoice = async (config, choice) => {
|
|
|
24
24
|
};
|
|
25
25
|
exports.getCurrentComponentAndEnvFromChoice = getCurrentComponentAndEnvFromChoice;
|
|
26
26
|
const makeKeyValueString = (variables, keyPrefix = "") => Object.entries(variables)
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
([key, value]) => `${keyPrefix}${key}='${(0, pipeline_1.bashEscape)(value, "single")}'`)
|
|
27
|
+
// quotes are important, otherwise line breaks don't work properly
|
|
28
|
+
.map(([key, value]) => `${keyPrefix}${key}=${(0, pipeline_1.escapeForDotEnv)(value)}`)
|
|
30
29
|
.join("\n");
|
|
31
30
|
exports.makeKeyValueString = makeKeyValueString;
|
|
32
31
|
const sanitizeEnvVarName = (name) => name.replace(/[\s\-.]+/g, "_");
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../../../src/apps/catenv/utils.ts"],"names":[],"mappings":";;;AACA,+BAA4B;AAC5B,mDAAkD;AAElD,
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../../../src/apps/catenv/utils.ts"],"names":[],"mappings":";;;AACA,+BAA4B;AAC5B,mDAAkD;AAElD,kDAAsD;AAC/C,MAAM,oBAAoB,GAAG,CAClC,OAAe,EACf,MAAc,EACd,aAAqB,EACrB,EAAE;IACF,OAAO,IAAA,WAAI,EAAC,OAAO,EAAE,MAAM,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC,GAAG,CAAC,CAAC;AAC7D,CAAC,CAAC;AANW,QAAA,oBAAoB,wBAM/B;AACF,MAAM,uBAAuB,GAAG,KAAK,EAAE,MAAc,EAAE,EAAE;IACvD,MAAM,OAAO,GAAG,MAAM,IAAA,qBAAU,GAAE,CAAC;IACnC,MAAM,UAAU,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;IACjC,OAAO,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAC/C,UAAU,CAAC,UAAU,CAAC,IAAA,4BAAoB,EAAC,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,CAChE,CAAC;AACJ,CAAC,CAAC;AAEK,MAAM,mCAAmC,GAAG,KAAK,EACtD,MAAc,EACd,MAAe,EACf,EAAE;;IACF,MAAM,GAAG,GAAG,MAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,GAAG,mCAAI,OAAO,CAAC;IACnC,MAAM,gBAAgB,GACpB,MAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,aAAa,mCAAI,CAAC,MAAM,uBAAuB,CAAC,MAAM,CAAC,CAAC,CAAC;IAEnE,OAAO;QACL,gBAAgB;QAChB,GAAG;KACJ,CAAC;AACJ,CAAC,CAAC;AAZW,QAAA,mCAAmC,uCAY9C;AAEK,MAAM,kBAAkB,GAAG,CAChC,SAAiC,EACjC,SAAS,GAAG,EAAE,EACd,EAAE,CACF,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC;IACvB,kEAAkE;KACjE,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,GAAG,SAAS,GAAG,GAAG,IAAI,IAAA,0BAAe,EAAC,KAAK,CAAC,EAAE,CAAC;KACrE,IAAI,CAAC,IAAI,CAAC,CAAC;AAPH,QAAA,kBAAkB,sBAOf;AAET,MAAM,kBAAkB,GAAG,CAAC,IAAY,EAAE,EAAE,CACjD,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC;AADpB,QAAA,kBAAkB,sBACE"}
|
|
@@ -22,7 +22,6 @@ const writeDotEnvFiles = async (config, choice) => {
|
|
|
22
22
|
delete variables["_ALL_ENV_VAR_KEYS"];
|
|
23
23
|
const componentDir = (0, utils_1.getComponentFullPath)(gitRoot, config, componentName);
|
|
24
24
|
const filePath = (0, path_1.join)(componentDir, ".env");
|
|
25
|
-
// many .dotenv don't like multiline values, so we sanitize them here
|
|
26
25
|
await (0, pipeline_1.writeGeneratedFile)(filePath, (0, utils_1.makeKeyValueString)(variables), {
|
|
27
26
|
commentChar: "#",
|
|
28
27
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"writeDotEnvFiles.js","sourceRoot":"","sources":["../../../../../src/apps/catenv/writeDotEnvFiles.ts"],"names":[],"mappings":";;;AAAA,kDAAsE;AACtE,+BAA4B;AAC5B,oEAAmE;AACnE,mDAAkD;AAElD,mCAIiB;AAEV,MAAM,gBAAgB,GAAG,KAAK,EAAE,MAAc,EAAE,MAAe,EAAE,EAAE;IACxE,MAAM,EAAE,GAAG,EAAE,gBAAgB,EAAE,GAAG,MAAM,IAAA,2CAAmC,EACzE,MAAM,EACN,MAAM,CACP,CAAC;IAEF,MAAM,gCAAgC,GAAG,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,UAAU,CAAC;SACvE,MAAM,CAAC,CAAC,CAAC,EAAE,SAAS,CAAC,EAAE,EAAE,WAAC,OAAA,MAAA,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,MAAM,mCAAI,IAAI,CAAA,EAAA,CAAC,CAAC,8BAA8B;SACnF,GAAG,CAAC,CAAC,CAAC,aAAa,CAAC,EAAE,EAAE,CAAC,aAAa,CAAC,CAAC;IAE3C,MAAM,kCAAkC,GAAG,gBAAgB;QACzD,CAAC,CAAC,gCAAgC,CAAC,QAAQ,CAAC,gBAAgB,CAAC;YAC3D,CAAC,CAAC,CAAC,gBAAgB,CAAC;YACpB,CAAC,CAAC,EAAE;QACN,CAAC,CAAC,gCAAgC,CAAC;IACrC,MAAM,OAAO,GAAG,MAAM,IAAA,qBAAU,GAAE,CAAC;IAEnC,KAAK,MAAM,aAAa,IAAI,kCAAkC,EAAE,CAAC;QAC/D,MAAM,SAAS,GAAG,MAAM,IAAA,qCAAkB,EAAC,IAAI,EAAE,GAAG,EAAE,aAAa,CAAC,CAAC;QACrE,OAAO,SAAS,CAAC,mBAAmB,CAAC,CAAC;QACtC,MAAM,YAAY,GAAG,IAAA,4BAAoB,EAAC,OAAO,EAAE,MAAM,EAAE,aAAa,CAAC,CAAC;QAC1E,MAAM,QAAQ,GAAG,IAAA,WAAI,EAAC,YAAY,EAAE,MAAM,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"writeDotEnvFiles.js","sourceRoot":"","sources":["../../../../../src/apps/catenv/writeDotEnvFiles.ts"],"names":[],"mappings":";;;AAAA,kDAAsE;AACtE,+BAA4B;AAC5B,oEAAmE;AACnE,mDAAkD;AAElD,mCAIiB;AAEV,MAAM,gBAAgB,GAAG,KAAK,EAAE,MAAc,EAAE,MAAe,EAAE,EAAE;IACxE,MAAM,EAAE,GAAG,EAAE,gBAAgB,EAAE,GAAG,MAAM,IAAA,2CAAmC,EACzE,MAAM,EACN,MAAM,CACP,CAAC;IAEF,MAAM,gCAAgC,GAAG,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,UAAU,CAAC;SACvE,MAAM,CAAC,CAAC,CAAC,EAAE,SAAS,CAAC,EAAE,EAAE,WAAC,OAAA,MAAA,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,MAAM,mCAAI,IAAI,CAAA,EAAA,CAAC,CAAC,8BAA8B;SACnF,GAAG,CAAC,CAAC,CAAC,aAAa,CAAC,EAAE,EAAE,CAAC,aAAa,CAAC,CAAC;IAE3C,MAAM,kCAAkC,GAAG,gBAAgB;QACzD,CAAC,CAAC,gCAAgC,CAAC,QAAQ,CAAC,gBAAgB,CAAC;YAC3D,CAAC,CAAC,CAAC,gBAAgB,CAAC;YACpB,CAAC,CAAC,EAAE;QACN,CAAC,CAAC,gCAAgC,CAAC;IACrC,MAAM,OAAO,GAAG,MAAM,IAAA,qBAAU,GAAE,CAAC;IAEnC,KAAK,MAAM,aAAa,IAAI,kCAAkC,EAAE,CAAC;QAC/D,MAAM,SAAS,GAAG,MAAM,IAAA,qCAAkB,EAAC,IAAI,EAAE,GAAG,EAAE,aAAa,CAAC,CAAC;QACrE,OAAO,SAAS,CAAC,mBAAmB,CAAC,CAAC;QACtC,MAAM,YAAY,GAAG,IAAA,4BAAoB,EAAC,OAAO,EAAE,MAAM,EAAE,aAAa,CAAC,CAAC;QAC1E,MAAM,QAAQ,GAAG,IAAA,WAAI,EAAC,YAAY,EAAE,MAAM,CAAC,CAAC;QAE5C,MAAM,IAAA,6BAAkB,EAAC,QAAQ,EAAE,IAAA,0BAAkB,EAAC,SAAS,CAAC,EAAE;YAChE,WAAW,EAAE,GAAG;SACjB,CAAC,CAAC;IACL,CAAC;AACH,CAAC,CAAC;AA3BW,QAAA,gBAAgB,oBA2B3B"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { Config
|
|
1
|
+
import type { Config } from "../../../pipeline/src/index.js";
|
|
2
2
|
import type { CommandInstance } from "vorpal";
|
|
3
3
|
export { parseChoice } from "./parseChoice";
|
|
4
4
|
export declare const getProjectConfig: () => Promise<Config>;
|
|
@@ -14,9 +14,9 @@ export declare const getAllComponentsWithAllEnvsHierarchical: () => Promise<{
|
|
|
14
14
|
export declare const getAllPipelineContexts: () => Promise<import("../../../pipeline/src/index.js").ComponentContext[]>;
|
|
15
15
|
export declare const getEnvironment: (env: string, componentName: string) => Promise<import("../../../pipeline/src/index.js").Environment>;
|
|
16
16
|
export declare const getGitlabVar: (vorpal: CommandInstance, env: string, componentName: string, variableName: string) => Promise<string>;
|
|
17
|
-
export declare const getEnvVarsResolved: (vorpal: CommandInstance | null, env: string, componentName: string | null) => Promise<Record<string,
|
|
17
|
+
export declare const getEnvVarsResolved: (vorpal: CommandInstance | null, env: string, componentName: string | null) => Promise<Record<string, string>>;
|
|
18
18
|
/**
|
|
19
19
|
*
|
|
20
20
|
* is used to get job only vars that should also be editable locally with catladder.
|
|
21
21
|
*/
|
|
22
|
-
export declare const getJobOnlyEnvVarsResolved: (vorpal: CommandInstance, env: string, componentName: string) => Promise<Record<string,
|
|
22
|
+
export declare const getJobOnlyEnvVarsResolved: (vorpal: CommandInstance, env: string, componentName: string) => Promise<Record<string, string>>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getProjectConfig.js","sourceRoot":"","sources":["../../../../src/config/getProjectConfig.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"getProjectConfig.js","sourceRoot":"","sources":["../../../../src/config/getProjectConfig.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,10 +1,30 @@
|
|
|
1
1
|
import type { VariableValue } from "../variables/VariableValue";
|
|
2
|
-
|
|
2
|
+
import { BashExpression } from "./BashExpression";
|
|
3
|
+
export type QuotesEscapeMode = "single" | "double";
|
|
4
|
+
export type EscapeOptions = {
|
|
5
|
+
quotes?: QuotesEscapeMode | false;
|
|
6
|
+
};
|
|
3
7
|
/**
|
|
4
8
|
* escapes a string or bash expression for bash
|
|
5
9
|
* it either can escape single or double quotes (double is default)
|
|
6
10
|
*/
|
|
7
|
-
export declare const bashEscape: (value: VariableValue | any,
|
|
8
|
-
export declare const escapeString: (value: string | null | undefined,
|
|
11
|
+
export declare const bashEscape: (value: VariableValue | any, options?: EscapeOptions) => string | BashExpression;
|
|
12
|
+
export declare const escapeString: (value: string | null | undefined, { quotes }?: EscapeOptions) => string;
|
|
13
|
+
export declare const escapeBashExpression: (value: BashExpression, options: EscapeOptions) => BashExpression;
|
|
9
14
|
export declare const escapeDoubleQuotes: (value: string | null | undefined) => string;
|
|
10
15
|
export declare const escapeSingleQuotes: (value: string | null | undefined) => string;
|
|
16
|
+
/**
|
|
17
|
+
*
|
|
18
|
+
* what an absolute nightmare.
|
|
19
|
+
* unfortunatly, dotenv has many limitations. You can't escape quotes properly.
|
|
20
|
+
*
|
|
21
|
+
* In order to be very forgiving, we need to do some magic here:
|
|
22
|
+
*
|
|
23
|
+
* - when the value contains no newlines, we are fine
|
|
24
|
+
* - if the value contains newlines, we need to wrap it in quotes. And thats where the problem begins:
|
|
25
|
+
* - you can't escape quotes. this is a shitty limitation of dotenv and node
|
|
26
|
+
* - you can have inner quotes, but they break in node.js (not in dotenv though), see https://github.com/nodejs/node/issues/54134
|
|
27
|
+
* - so we need to quote cleverly
|
|
28
|
+
* - to make things worse, we need to check whether we have a simple stirng or a bash expression, that needs to be evalulated first...
|
|
29
|
+
*/
|
|
30
|
+
export declare const escapeForDotEnv: (value: VariableValue | undefined | null) => string;
|
|
@@ -1,32 +1,129 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.escapeSingleQuotes = exports.escapeDoubleQuotes = exports.escapeString = exports.bashEscape = void 0;
|
|
3
|
+
exports.escapeForDotEnv = exports.escapeSingleQuotes = exports.escapeDoubleQuotes = exports.escapeBashExpression = exports.escapeString = exports.bashEscape = void 0;
|
|
4
|
+
const globalScriptFunctions_1 = require("../globalScriptFunctions");
|
|
4
5
|
const VariableValueContainingReferences_1 = require("../variables/VariableValueContainingReferences");
|
|
5
6
|
const BashExpression_1 = require("./BashExpression");
|
|
6
7
|
/**
|
|
7
8
|
* escapes a string or bash expression for bash
|
|
8
9
|
* it either can escape single or double quotes (double is default)
|
|
9
10
|
*/
|
|
10
|
-
const bashEscape = (value,
|
|
11
|
+
const bashEscape = (value, options = {
|
|
12
|
+
quotes: "double",
|
|
13
|
+
}) => {
|
|
11
14
|
if (value instanceof BashExpression_1.BashExpression) {
|
|
12
|
-
|
|
15
|
+
// no need to escape
|
|
16
|
+
return (0, exports.escapeBashExpression)(value, options);
|
|
13
17
|
}
|
|
14
18
|
if (value instanceof VariableValueContainingReferences_1.VariableValueContainingReferences) {
|
|
15
|
-
return value.toString(
|
|
16
|
-
escape: mode,
|
|
17
|
-
});
|
|
19
|
+
return value.toString(options);
|
|
18
20
|
}
|
|
19
|
-
return (0, exports.escapeString)(value,
|
|
21
|
+
return (0, exports.escapeString)(value, options);
|
|
20
22
|
};
|
|
21
23
|
exports.bashEscape = bashEscape;
|
|
22
|
-
const escapeString = (value,
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
24
|
+
const escapeString = (value, { quotes } = {
|
|
25
|
+
quotes: "double",
|
|
26
|
+
}) => {
|
|
27
|
+
const quoteEscaped = quotes
|
|
28
|
+
? quotes === "single"
|
|
29
|
+
? (0, exports.escapeSingleQuotes)(value)
|
|
30
|
+
: (0, exports.escapeDoubleQuotes)(value)
|
|
31
|
+
: value;
|
|
32
|
+
return quoteEscaped;
|
|
26
33
|
};
|
|
27
34
|
exports.escapeString = escapeString;
|
|
35
|
+
const escapeBashExpression = (value, options) => {
|
|
36
|
+
// no need to escape, we just return the string
|
|
37
|
+
return value;
|
|
38
|
+
};
|
|
39
|
+
exports.escapeBashExpression = escapeBashExpression;
|
|
28
40
|
const escapeDoubleQuotes = (value) => value === null || value === void 0 ? void 0 : value.toString().replace(/"/g, '\\"');
|
|
29
41
|
exports.escapeDoubleQuotes = escapeDoubleQuotes;
|
|
30
42
|
const escapeSingleQuotes = (value) => value === null || value === void 0 ? void 0 : value.toString().replace(/'/g, "\\'");
|
|
31
43
|
exports.escapeSingleQuotes = escapeSingleQuotes;
|
|
44
|
+
/**
|
|
45
|
+
*
|
|
46
|
+
* what an absolute nightmare.
|
|
47
|
+
* unfortunatly, dotenv has many limitations. You can't escape quotes properly.
|
|
48
|
+
*
|
|
49
|
+
* In order to be very forgiving, we need to do some magic here:
|
|
50
|
+
*
|
|
51
|
+
* - when the value contains no newlines, we are fine
|
|
52
|
+
* - if the value contains newlines, we need to wrap it in quotes. And thats where the problem begins:
|
|
53
|
+
* - you can't escape quotes. this is a shitty limitation of dotenv and node
|
|
54
|
+
* - you can have inner quotes, but they break in node.js (not in dotenv though), see https://github.com/nodejs/node/issues/54134
|
|
55
|
+
* - so we need to quote cleverly
|
|
56
|
+
* - to make things worse, we need to check whether we have a simple stirng or a bash expression, that needs to be evalulated first...
|
|
57
|
+
*/
|
|
58
|
+
const escapeForDotEnv = (value) => {
|
|
59
|
+
if (value === undefined || value === null) {
|
|
60
|
+
return "";
|
|
61
|
+
}
|
|
62
|
+
if (typeof value === "string") {
|
|
63
|
+
// if string contains newlines, we need to wrap it in quotes
|
|
64
|
+
// we additionaly escape newlines, that give best compatibility
|
|
65
|
+
if (value.includes("\n")) {
|
|
66
|
+
const newlinesReplaces = value.replace(/\n/g, "\\n");
|
|
67
|
+
// default to ", but if this is not possible, we try to use ' or `
|
|
68
|
+
const quote = value.includes(`"`)
|
|
69
|
+
? value.includes(`'`)
|
|
70
|
+
? value.includes("`")
|
|
71
|
+
? // If all quote types are present, default to no
|
|
72
|
+
""
|
|
73
|
+
: "`"
|
|
74
|
+
: "'"
|
|
75
|
+
: '"';
|
|
76
|
+
// if we found a quote, we can wrap the string in it
|
|
77
|
+
return `${quote}${newlinesReplaces}${quote}`;
|
|
78
|
+
}
|
|
79
|
+
else {
|
|
80
|
+
// otherwise we can return as is
|
|
81
|
+
return value;
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
else if (value instanceof BashExpression_1.BashExpression) {
|
|
85
|
+
return escapeBashExpressionForDotEnv(value);
|
|
86
|
+
}
|
|
87
|
+
else if (value instanceof VariableValueContainingReferences_1.VariableValueContainingReferences) {
|
|
88
|
+
// instead of doing it part-wise, we just do it all at once
|
|
89
|
+
const containsAnyBashExpression = value.parts.some((part) => part instanceof BashExpression_1.BashExpression);
|
|
90
|
+
if (!containsAnyBashExpression) {
|
|
91
|
+
return (0, exports.escapeForDotEnv)(value.toString({
|
|
92
|
+
quotes: "double",
|
|
93
|
+
}));
|
|
94
|
+
}
|
|
95
|
+
else {
|
|
96
|
+
const result = escapeBashExpressionForDotEnv(new BashExpression_1.BashExpression(value.toString({
|
|
97
|
+
quotes: "double",
|
|
98
|
+
})));
|
|
99
|
+
return result;
|
|
100
|
+
}
|
|
101
|
+
}
|
|
102
|
+
else {
|
|
103
|
+
return value;
|
|
104
|
+
}
|
|
105
|
+
};
|
|
106
|
+
exports.escapeForDotEnv = escapeForDotEnv;
|
|
107
|
+
// basically the same thing as above for bash
|
|
108
|
+
// thx chatgpt for this
|
|
109
|
+
const escapeForDotEnvScript = (0, globalScriptFunctions_1.registerGlobalScriptFunction)("escapeForDotEnv", `
|
|
110
|
+
input="\${1:-$(cat)}"
|
|
111
|
+
input="\${input//$'\\n'/\\\\n}"
|
|
112
|
+
if [[ "$input" == *\\\\n* ]]; then
|
|
113
|
+
if [[ "$input" == *\\"* && "$input" == *\\'* && "$input" == *\\\`* ]]; then
|
|
114
|
+
printf "%s\\n" "$input"
|
|
115
|
+
elif [[ "$input" == *\\"* && "$input" == *\\'* ]]; then
|
|
116
|
+
printf "\`%s\`\\n" "$input"
|
|
117
|
+
elif [[ "$input" == *\\"* ]]; then
|
|
118
|
+
printf "'%s'\\n" "$input"
|
|
119
|
+
else
|
|
120
|
+
printf "\\"%s\\"\\n" "$input"
|
|
121
|
+
fi
|
|
122
|
+
else
|
|
123
|
+
printf "%s\\n" "$input"
|
|
124
|
+
fi
|
|
125
|
+
`);
|
|
126
|
+
const escapeBashExpressionForDotEnv = (value) => {
|
|
127
|
+
return value.transformWithCommand(escapeForDotEnvScript.name).toString();
|
|
128
|
+
};
|
|
32
129
|
//# sourceMappingURL=bashEscape.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bashEscape.js","sourceRoot":"","sources":["../../../../../pipeline/src/bash/bashEscape.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"bashEscape.js","sourceRoot":"","sources":["../../../../../pipeline/src/bash/bashEscape.ts"],"names":[],"mappings":"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"}
|
|
@@ -34,7 +34,8 @@ const variableContainingReferences = {
|
|
|
34
34
|
const stringified = value.parts
|
|
35
35
|
.map((part) => part instanceof BashExpression_1.BashExpression
|
|
36
36
|
? indentNewlinesInBashExpression(part, ctx.indent)
|
|
37
|
-
:
|
|
37
|
+
: // indent every new line
|
|
38
|
+
part.toString().replace(/\n/g, `\n${ctx.indent}`))
|
|
38
39
|
.join("");
|
|
39
40
|
return "|-\n" + ctx.indent + stringified;
|
|
40
41
|
},
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bashYaml.js","sourceRoot":"","sources":["../../../../../pipeline/src/bash/bashYaml.ts"],"names":[],"mappings":";;;AACA,+BAAiC;AACjC,qDAAkD;AAClD,sGAAmG;AAEnG,MAAM,kBAAkB,GAAc;IACpC,GAAG,EAAE,EAAE;IACP,OAAO,EAAE,CAAC,GAAG,EAAE,EAAE;QACf,oDAAoD;QACpD,OAAO,IAAI,+BAAc,CAAC,GAAG,CAAC,CAAC;IACjC,CAAC;IACD,SAAS,CAAC,IAAS,EAAE,GAAQ;QAC3B,4BAA4B;QAC5B,kFAAkF;QAClF,4CAA4C;QAC5C,OAAO,CACL,MAAM;YACN,GAAG,CAAC,MAAM;YACV,8BAA8B,CAAC,IAAI,CAAC,KAAK,EAAE,GAAG,CAAC,MAAM,CAAC,CACvD,CAAC;IACJ,CAAC;IAED,QAAQ,EAAE,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,YAAY,+BAAc;CAClD,CAAC;AAEF,MAAM,8BAA8B,GAAG,CACrC,UAA0B,EAC1B,MAAc,EACd,EAAE;IACF,OAAO,UAAU,CAAC,oBAAoB,CAAC,cAAc,MAAM,IAAI,CAAC,CAAC;AACnE,CAAC,CAAC;AAEF,MAAM,4BAA4B,GAAc;IAC9C,GAAG,EAAE,EAAE;IACP,OAAO,EAAE,CAAC,GAAG,EAAE,EAAE;QACf,oDAAoD;QACpD,OAAO,IAAI,qEAAiC,CAAC,GAAG,CAAC,CAAC;IACpD,CAAC;IACD,SAAS,CAAC,IAAS,EAAE,GAAQ;QAC3B,MAAM,KAAK,GAAsC,IAAI,CAAC,KAAK,CAAC;QAC5D,MAAM,WAAW,GAAG,KAAK,CAAC,KAAK;aAC5B,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CACZ,IAAI,YAAY,+BAAc;YAC5B,CAAC,CAAC,8BAA8B,CAAC,IAAI,EAAE,GAAG,CAAC,MAAM,CAAC;YAClD,CAAC,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,KAAK,EAAE,KAAK,GAAG,CAAC,MAAM,EAAE,CAAC,CACtD;aACA,IAAI,CAAC,EAAE,CAAC,CAAC;QACZ,OAAO,MAAM,GAAG,GAAG,CAAC,MAAM,GAAG,WAAW,CAAC;IAC3C,CAAC;IAED,QAAQ,EAAE,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,YAAY,qEAAiC;CACrE,CAAC;AAEF;;;GAGG;AACI,MAAM,cAAc,GAAG,CAAC,KAAU,EAAE,EAAE;IAC3C,OAAO,IAAA,gBAAS,EAAC,KAAK,EAAE;QACtB,iBAAiB,EAAE,eAAe;QAClC,cAAc,EAAE,OAAO;QACvB,UAAU,EAAE,CAAC,kBAAkB,EAAE,4BAA4B,CAAC;QAC9D,qBAAqB,EAAE,KAAK;QAC5B,SAAS,EAAE,CAAC;KACb,CAAC,CAAC;AACL,CAAC,CAAC;AARW,QAAA,cAAc,kBAQzB;AAEF;;;GAGG;AACI,MAAM,yBAAyB,GAAG,CAAC,KAAU,EAAE,QAAgB,EAAE,EAAE;IACxE,OAAO;QACL,SAAS,QAAQ;EACnB,IAAA,sBAAc,EAAC,KAAK,CAAC;;CAEtB;KACE,CAAC;AACJ,CAAC,CAAC;AAPW,QAAA,yBAAyB,6BAOpC"}
|
|
1
|
+
{"version":3,"file":"bashYaml.js","sourceRoot":"","sources":["../../../../../pipeline/src/bash/bashYaml.ts"],"names":[],"mappings":";;;AACA,+BAAiC;AACjC,qDAAkD;AAClD,sGAAmG;AAEnG,MAAM,kBAAkB,GAAc;IACpC,GAAG,EAAE,EAAE;IACP,OAAO,EAAE,CAAC,GAAG,EAAE,EAAE;QACf,oDAAoD;QACpD,OAAO,IAAI,+BAAc,CAAC,GAAG,CAAC,CAAC;IACjC,CAAC;IACD,SAAS,CAAC,IAAS,EAAE,GAAQ;QAC3B,4BAA4B;QAC5B,kFAAkF;QAClF,4CAA4C;QAC5C,OAAO,CACL,MAAM;YACN,GAAG,CAAC,MAAM;YACV,8BAA8B,CAAC,IAAI,CAAC,KAAK,EAAE,GAAG,CAAC,MAAM,CAAC,CACvD,CAAC;IACJ,CAAC;IAED,QAAQ,EAAE,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,YAAY,+BAAc;CAClD,CAAC;AAEF,MAAM,8BAA8B,GAAG,CACrC,UAA0B,EAC1B,MAAc,EACd,EAAE;IACF,OAAO,UAAU,CAAC,oBAAoB,CAAC,cAAc,MAAM,IAAI,CAAC,CAAC;AACnE,CAAC,CAAC;AAEF,MAAM,4BAA4B,GAAc;IAC9C,GAAG,EAAE,EAAE;IACP,OAAO,EAAE,CAAC,GAAG,EAAE,EAAE;QACf,oDAAoD;QACpD,OAAO,IAAI,qEAAiC,CAAC,GAAG,CAAC,CAAC;IACpD,CAAC;IACD,SAAS,CAAC,IAAS,EAAE,GAAQ;QAC3B,MAAM,KAAK,GAAsC,IAAI,CAAC,KAAK,CAAC;QAC5D,MAAM,WAAW,GAAG,KAAK,CAAC,KAAK;aAC5B,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CACZ,IAAI,YAAY,+BAAc;YAC5B,CAAC,CAAC,8BAA8B,CAAC,IAAI,EAAE,GAAG,CAAC,MAAM,CAAC;YAClD,CAAC,CAAC,wBAAwB;gBACxB,IAAI,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,KAAK,EAAE,KAAK,GAAG,CAAC,MAAM,EAAE,CAAC,CACtD;aACA,IAAI,CAAC,EAAE,CAAC,CAAC;QACZ,OAAO,MAAM,GAAG,GAAG,CAAC,MAAM,GAAG,WAAW,CAAC;IAC3C,CAAC;IAED,QAAQ,EAAE,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,YAAY,qEAAiC;CACrE,CAAC;AAEF;;;GAGG;AACI,MAAM,cAAc,GAAG,CAAC,KAAU,EAAE,EAAE;IAC3C,OAAO,IAAA,gBAAS,EAAC,KAAK,EAAE;QACtB,iBAAiB,EAAE,eAAe;QAClC,cAAc,EAAE,OAAO;QACvB,UAAU,EAAE,CAAC,kBAAkB,EAAE,4BAA4B,CAAC;QAC9D,qBAAqB,EAAE,KAAK;QAC5B,SAAS,EAAE,CAAC;KACb,CAAC,CAAC;AACL,CAAC,CAAC;AARW,QAAA,cAAc,kBAQzB;AAEF;;;GAGG;AACI,MAAM,yBAAyB,GAAG,CAAC,KAAU,EAAE,QAAgB,EAAE,EAAE;IACxE,OAAO;QACL,SAAS,QAAQ;EACnB,IAAA,sBAAc,EAAC,KAAK,CAAC;;CAEtB;KACE,CAAC;AACJ,CAAC,CAAC;AAPW,QAAA,yBAAyB,6BAOpC"}
|
|
@@ -9,7 +9,11 @@ const getInjectVarsScript = (vars) => {
|
|
|
9
9
|
// filter out null and undefined values
|
|
10
10
|
return Object.entries(vars)
|
|
11
11
|
.filter(([, value]) => !(0, lodash_1.isNil)(value))
|
|
12
|
-
.map(([key, value]) => `export ${key}="${value
|
|
12
|
+
.map(([key, value]) => `export ${key}="${value
|
|
13
|
+
? (0, bashEscape_1.bashEscape)(value, {
|
|
14
|
+
quotes: "double",
|
|
15
|
+
})
|
|
16
|
+
: ""}"`);
|
|
13
17
|
};
|
|
14
18
|
exports.getInjectVarsScript = getInjectVarsScript;
|
|
15
19
|
//# sourceMappingURL=getInjectVarsScript.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getInjectVarsScript.js","sourceRoot":"","sources":["../../../../../pipeline/src/bash/getInjectVarsScript.ts"],"names":[],"mappings":";;;AACA,mCAA+B;AAC/B,6CAA0C;AAEnC,MAAM,mBAAmB,GAAG,CAAC,IAAyB,EAAE,EAAE;IAC/D,IAAI,CAAC,IAAI;QAAE,OAAO,EAAE,CAAC;IACrB,uCAAuC;IACvC,OAAO,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC;SACxB,MAAM,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC,IAAA,cAAK,EAAC,KAAK,CAAC,CAAC;SAEpC,GAAG,
|
|
1
|
+
{"version":3,"file":"getInjectVarsScript.js","sourceRoot":"","sources":["../../../../../pipeline/src/bash/getInjectVarsScript.ts"],"names":[],"mappings":";;;AACA,mCAA+B;AAC/B,6CAA0C;AAEnC,MAAM,mBAAmB,GAAG,CAAC,IAAyB,EAAE,EAAE;IAC/D,IAAI,CAAC,IAAI;QAAE,OAAO,EAAE,CAAC;IACrB,uCAAuC;IACvC,OAAO,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC;SACxB,MAAM,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC,IAAA,cAAK,EAAC,KAAK,CAAC,CAAC;SAEpC,GAAG,CACF,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE,CACf,UAAU,GAAG,KACX,KAAK;QACH,CAAC,CAAC,IAAA,uBAAU,EAAC,KAAK,EAAE;YAChB,MAAM,EAAE,QAAQ;SACjB,CAAC;QACJ,CAAC,CAAC,EACN,GAAG,CACN,CAAC;AACN,CAAC,CAAC;AAhBW,QAAA,mBAAmB,uBAgB9B"}
|
|
@@ -2,9 +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 gitlab_1 = require("../../utils/gitlab");
|
|
6
|
-
const getBuildInfoVariables_1 = require("../../context/getBuildInfoVariables");
|
|
7
5
|
const bashEscape_1 = require("../../bash/bashEscape");
|
|
6
|
+
const getBuildInfoVariables_1 = require("../../context/getBuildInfoVariables");
|
|
7
|
+
const gitlab_1 = require("../../utils/gitlab");
|
|
8
8
|
/**
|
|
9
9
|
* writes a .env file in the components folder
|
|
10
10
|
* @param context
|
|
@@ -19,10 +19,9 @@ const writeDotEnv = (context) => {
|
|
|
19
19
|
// filter out build variables, since they may interfer with caching like turbo
|
|
20
20
|
// build variables are rarely used anyway and we may treat them differently in the future
|
|
21
21
|
.filter(([key]) => !getBuildInfoVariables_1.ALL_BUILD_VARIABLES.includes(key))
|
|
22
|
-
|
|
23
|
-
.map(([key, value]) => `${key}='${(0, bashEscape_1.bashEscape)(value, "single")}'`)
|
|
22
|
+
.map(([key, value]) => `${key}=${(0, bashEscape_1.escapeForDotEnv)(value)}`)
|
|
24
23
|
.join("\n");
|
|
25
|
-
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)([
|
|
26
25
|
`cat <<EOF > ${context.build.dir}/.env
|
|
27
26
|
${keyValueString}
|
|
28
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"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
declare class GlobalScriptFunction {
|
|
2
|
+
name: string;
|
|
3
|
+
script: string;
|
|
4
|
+
constructor(name: string, script: string);
|
|
5
|
+
toBashFunction(): string;
|
|
6
|
+
invoke(...args: string[]): string;
|
|
7
|
+
}
|
|
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;
|
|
14
|
+
export {};
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.registerGlobalScriptFunction = exports.globalScriptFunctions = void 0;
|
|
4
|
+
class GlobalScriptFunction {
|
|
5
|
+
constructor(name, script) {
|
|
6
|
+
this.name = name;
|
|
7
|
+
this.script = script;
|
|
8
|
+
}
|
|
9
|
+
toBashFunction() {
|
|
10
|
+
return `function ${this.name} () {
|
|
11
|
+
${this.script.trim()}
|
|
12
|
+
}`.trim();
|
|
13
|
+
}
|
|
14
|
+
invoke(...args) {
|
|
15
|
+
return `${this.name} ${args.join(" ")}`;
|
|
16
|
+
}
|
|
17
|
+
}
|
|
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;
|
|
32
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +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;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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
import type { Pipeline } from "../../types";
|
|
2
2
|
type PickRequired<T, K extends keyof T> = Required<Pick<T, K>> & Omit<T, K>;
|
|
3
|
-
export declare const createGitlabPipelineWithDefaults: ({ image, variables, ...config }: PickRequired<Partial<Pipeline<"gitlab">>, "stages" | "jobs">) => Pipeline<"gitlab">;
|
|
3
|
+
export declare const createGitlabPipelineWithDefaults: ({ image, variables, before_script, ...config }: PickRequired<Partial<Pipeline<"gitlab">>, "stages" | "jobs">) => Pipeline<"gitlab">;
|
|
4
4
|
export {};
|
|
@@ -2,7 +2,8 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.createGitlabPipelineWithDefaults = void 0;
|
|
4
4
|
const runner_1 = require("../../runner");
|
|
5
|
-
const
|
|
5
|
+
const globalScriptFunctions_1 = require("../../globalScriptFunctions");
|
|
6
|
+
const createGitlabPipelineWithDefaults = ({ image, variables, before_script, ...config }) => {
|
|
6
7
|
return {
|
|
7
8
|
image: image !== null && image !== void 0 ? image : (0, runner_1.getRunnerImage)("jobs-default"), // default image
|
|
8
9
|
variables: {
|
|
@@ -13,6 +14,10 @@ const createGitlabPipelineWithDefaults = ({ image, variables, ...config }) => {
|
|
|
13
14
|
GIT_DEPTH: "1", // no need the full depth
|
|
14
15
|
...(variables !== null && variables !== void 0 ? variables : {}),
|
|
15
16
|
},
|
|
17
|
+
before_script: [
|
|
18
|
+
...[...globalScriptFunctions_1.globalScriptFunctions.values()].map((script) => script.toBashFunction()),
|
|
19
|
+
...(before_script !== null && before_script !== void 0 ? before_script : []),
|
|
20
|
+
],
|
|
16
21
|
...config,
|
|
17
22
|
};
|
|
18
23
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"createGitlabPipeline.js","sourceRoot":"","sources":["../../../../../../pipeline/src/pipeline/gitlab/createGitlabPipeline.ts"],"names":[],"mappings":";;;AAAA,yCAA8C;
|
|
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"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.collapseableSection = exports.repeatOnFailure = exports.sanitizeForBashVariable = exports.allowFailureInScripts = void 0;
|
|
4
|
+
const globalScriptFunctions_1 = require("../globalScriptFunctions");
|
|
4
5
|
const allowFailureInScripts = (script) => [
|
|
5
6
|
"set +e", // disable fail job on error
|
|
6
7
|
...script,
|
|
@@ -19,11 +20,18 @@ const repeatOnFailure = (command, options) => {
|
|
|
19
20
|
`;
|
|
20
21
|
};
|
|
21
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
|
+
`);
|
|
22
30
|
const collapseableSection = (name, header) => (commands) => {
|
|
23
31
|
return [
|
|
24
|
-
`
|
|
32
|
+
start.invoke(`"${name}"`, `"${header}"`),
|
|
25
33
|
...commands,
|
|
26
|
-
`
|
|
34
|
+
end.invoke(`"${name}"`),
|
|
27
35
|
];
|
|
28
36
|
};
|
|
29
37
|
exports.collapseableSection = collapseableSection;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"gitlab.js","sourceRoot":"","sources":["../../../../../pipeline/src/utils/gitlab.ts"],"names":[],"mappings":";;;
|
|
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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import
|
|
2
|
-
import type {
|
|
1
|
+
import { BashExpression } from "../bash/BashExpression";
|
|
2
|
+
import type { EscapeOptions } from "../bash/bashEscape";
|
|
3
3
|
export declare class UnresolvableReference {
|
|
4
4
|
reference: VariableReference;
|
|
5
5
|
constructor(reference: VariableReference);
|
|
@@ -16,9 +16,7 @@ type MaybeArray<T> = T | T[];
|
|
|
16
16
|
export declare class VariableValueContainingReferences {
|
|
17
17
|
parts: VariableValuePart[];
|
|
18
18
|
constructor(parts: MaybeArray<VariableValuePart | VariableValueContainingReferences>);
|
|
19
|
-
toString(options?:
|
|
20
|
-
escape?: EscapeMode | false;
|
|
21
|
-
}): string;
|
|
19
|
+
toString(options?: EscapeOptions): string;
|
|
22
20
|
}
|
|
23
21
|
export declare const createVariableValueContainingReferencesFromString: (value: string, options: {
|
|
24
22
|
componentName: string;
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.createVariableValueContainingReferencesFromString = exports.VariableValueContainingReferences = exports.VariableReference = exports.UnresolvableReference = void 0;
|
|
4
|
+
const BashExpression_1 = require("../bash/BashExpression");
|
|
4
5
|
const bashEscape_1 = require("../bash/bashEscape");
|
|
5
6
|
class UnresolvableReference {
|
|
6
7
|
constructor(reference) {
|
|
@@ -29,11 +30,16 @@ class VariableValueContainingReferences {
|
|
|
29
30
|
? []
|
|
30
31
|
: [part]);
|
|
31
32
|
}
|
|
32
|
-
toString(options = {
|
|
33
|
+
toString(options = {
|
|
34
|
+
quotes: false,
|
|
35
|
+
}) {
|
|
33
36
|
return this.parts
|
|
34
37
|
.map((part) => {
|
|
35
38
|
if (typeof part === "string") {
|
|
36
|
-
return
|
|
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);
|
|
37
43
|
}
|
|
38
44
|
else {
|
|
39
45
|
return part.toString();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"VariableValueContainingReferences.js","sourceRoot":"","sources":["../../../../../pipeline/src/variables/VariableValueContainingReferences.ts"],"names":[],"mappings":";;;
|
|
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"}
|