@goldstack/utils-terraform 0.4.69 → 0.4.71
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/src/utilsTerraform.d.ts.map +1 -1
- package/dist/src/utilsTerraform.js +0 -2
- package/dist/src/utilsTerraform.js.map +1 -1
- package/dist/src/writeBackendConfig.d.ts.map +1 -1
- package/dist/src/writeBackendConfig.js +5 -4
- package/dist/src/writeBackendConfig.js.map +1 -1
- package/dist/src/writeVarsFile.d.ts +11 -0
- package/dist/src/writeVarsFile.d.ts.map +1 -1
- package/dist/src/writeVarsFile.js +30 -9
- package/dist/src/writeVarsFile.js.map +1 -1
- package/package.json +9 -10
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utilsTerraform.d.ts","sourceRoot":"","sources":["../../src/utilsTerraform.ts"],"names":[],"mappings":"AAAA,YAAY,EACV,mBAAmB,EACnB,iBAAiB,EACjB,kBAAkB,GACnB,MAAM,8BAA8B,CAAC;AAEtC,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAErD,YAAY,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAIrD,OAAO,EAAE,0BAA0B,EAAE,MAAM,kBAAkB,CAAC;AAC9D,OAAO,EAAE,EAAE,EAAE,MAAM,gBAAgB,CAAC;AAEpC,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,OAAO,CAAC;AAGlC,eAAO,MAAM,aAAa,QAAO,CAAC,CAAC,KAAK,EAAE,IAAI,CAAC,GAAG,CAAC,KAAK,IAAI,CAAC,GAAG,CAAC,
|
|
1
|
+
{"version":3,"file":"utilsTerraform.d.ts","sourceRoot":"","sources":["../../src/utilsTerraform.ts"],"names":[],"mappings":"AAAA,YAAY,EACV,mBAAmB,EACnB,iBAAiB,EACjB,kBAAkB,GACnB,MAAM,8BAA8B,CAAC;AAEtC,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAErD,YAAY,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAIrD,OAAO,EAAE,0BAA0B,EAAE,MAAM,kBAAkB,CAAC;AAC9D,OAAO,EAAE,EAAE,EAAE,MAAM,gBAAgB,CAAC;AAEpC,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,OAAO,CAAC;AAGlC,eAAO,MAAM,aAAa,QAAO,CAAC,CAAC,KAAK,EAAE,IAAI,CAAC,GAAG,CAAC,KAAK,IAAI,CAAC,GAAG,CAAC,CAiHhE,CAAC;AAEF,MAAM,WAAW,gBAAgB;IAC/B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,aAAa,CAAC;CAC1B;AAED,MAAM,MAAM,kBAAkB,GAAG;IAC/B,OAAO,EAAE,gBAAgB,CAAC;IAC1B,cAAc,EAAE,MAAM,CAAC;IACvB,cAAc,EAAE,MAAM,CAAC;IACvB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,gBAAgB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC5B,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,mBAAmB,CAAC,EAAE,OAAO,CAAC;CAC/B,CAAC;AAEF,eAAO,MAAM,YAAY,GAAI,QAAQ,kBAAkB,KAAG,IAwDzD,CAAC"}
|
|
@@ -10,7 +10,6 @@ Object.defineProperty(exports, "tf", { enumerable: true, get: function () { retu
|
|
|
10
10
|
const infraCommands = () => {
|
|
11
11
|
// biome-ignore lint/suspicious/noExplicitAny: yargs command definition
|
|
12
12
|
const deploymentPositional = (yargs) => {
|
|
13
|
-
// biome-ignore lint/suspicious/noExplicitAny: yargs command definition
|
|
14
13
|
return yargs.positional('deployment', {
|
|
15
14
|
type: 'string',
|
|
16
15
|
describe: 'Name of the deployment this command should be applied to',
|
|
@@ -19,7 +18,6 @@ const infraCommands = () => {
|
|
|
19
18
|
};
|
|
20
19
|
// biome-ignore lint/suspicious/noExplicitAny: yargs command definition
|
|
21
20
|
const ignoreMissingDeploymentsOption = (yargs) => {
|
|
22
|
-
// biome-ignore lint/suspicious/noExplicitAny: yargs command definition
|
|
23
21
|
return yargs.option('ignore-missing-deployments', {
|
|
24
22
|
description: 'If the deployment does not exist, show a warning instead of failing.',
|
|
25
23
|
default: false,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utilsTerraform.js","sourceRoot":"","sources":["../../src/utilsTerraform.ts"],"names":[],"mappings":";;;AAUA,qDAAkD;AAElD,mDAA8D;AAArD,4HAAA,0BAA0B,OAAA;AACnC,+CAAoC;AAA3B,kGAAA,EAAE,OAAA;AAIX,uEAAuE;AAChE,MAAM,aAAa,GAAG,GAAsC,EAAE;IACnE,uEAAuE;IACvE,MAAM,oBAAoB,GAAG,CAAC,KAAgB,EAAa,EAAE;QAC3D,
|
|
1
|
+
{"version":3,"file":"utilsTerraform.js","sourceRoot":"","sources":["../../src/utilsTerraform.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"writeBackendConfig.d.ts","sourceRoot":"","sources":["../../src/writeBackendConfig.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"writeBackendConfig.d.ts","sourceRoot":"","sources":["../../src/writeBackendConfig.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAGhD,wBAAgB,kBAAkB,CAAC,aAAa,EAAE,SAAS,EAAE,GAAG,EAAE,MAAM,GAAG,IAAI,CA8B9E"}
|
|
@@ -36,6 +36,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
36
36
|
exports.writeBackendConfig = writeBackendConfig;
|
|
37
37
|
const fs = __importStar(require("fs"));
|
|
38
38
|
const path = __importStar(require("path"));
|
|
39
|
+
const writeVarsFile_1 = require("./writeVarsFile");
|
|
39
40
|
function writeBackendConfig(backendConfig, dir) {
|
|
40
41
|
var _a, _b, _c, _d;
|
|
41
42
|
if (!backendConfig || backendConfig.length === 0) {
|
|
@@ -49,10 +50,10 @@ function writeBackendConfig(backendConfig, dir) {
|
|
|
49
50
|
|
|
50
51
|
terraform {
|
|
51
52
|
backend "s3" {
|
|
52
|
-
bucket = "${bucket}"
|
|
53
|
-
key = "${key}"
|
|
54
|
-
region = "${region}"
|
|
55
|
-
dynamodb_table = "${dynamodbTable}"
|
|
53
|
+
bucket = "${(0, writeVarsFile_1.terraformEscape)(bucket || '')}"
|
|
54
|
+
key = "${(0, writeVarsFile_1.terraformEscape)(key || '')}"
|
|
55
|
+
region = "${(0, writeVarsFile_1.terraformEscape)(region || '')}"
|
|
56
|
+
dynamodb_table = "${(0, writeVarsFile_1.terraformEscape)(dynamodbTable || '')}"
|
|
56
57
|
|
|
57
58
|
# Skipping various checks to speed up backend initialisation
|
|
58
59
|
skip_credentials_validation = true
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"writeBackendConfig.js","sourceRoot":"","sources":["../../src/writeBackendConfig.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"writeBackendConfig.js","sourceRoot":"","sources":["../../src/writeBackendConfig.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAKA,gDA8BC;AAnCD,uCAAyB;AACzB,2CAA6B;AAE7B,mDAAkD;AAElD,SAAgB,kBAAkB,CAAC,aAAwB,EAAE,GAAW;;IACtE,IAAI,CAAC,aAAa,IAAI,aAAa,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACjD,OAAO;IACT,CAAC;IAED,MAAM,MAAM,GAAG,MAAA,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,GAAG,KAAK,QAAQ,CAAC,0CAAG,CAAC,CAAC,CAAC;IACpE,MAAM,GAAG,GAAG,MAAA,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,GAAG,KAAK,KAAK,CAAC,0CAAG,CAAC,CAAC,CAAC;IAC9D,MAAM,aAAa,GAAG,MAAA,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,GAAG,KAAK,gBAAgB,CAAC,0CAAG,CAAC,CAAC,CAAC;IACnF,MAAM,MAAM,GAAG,MAAA,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,GAAG,KAAK,QAAQ,CAAC,0CAAG,CAAC,CAAC,CAAC;IAEpE,MAAM,cAAc,GAAG;;;;gBAIT,IAAA,+BAAe,EAAC,MAAM,IAAI,EAAE,CAAC;gBAC7B,IAAA,+BAAe,EAAC,GAAG,IAAI,EAAE,CAAC;gBAC1B,IAAA,+BAAe,EAAC,MAAM,IAAI,EAAE,CAAC;wBACrB,IAAA,+BAAe,EAAC,aAAa,IAAI,EAAE,CAAC;;;;;;;;;EAS1D,CAAC;IAED,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,YAAY,CAAC,CAAC;IACjD,EAAE,CAAC,aAAa,CAAC,WAAW,EAAE,cAAc,CAAC,CAAC;AAChD,CAAC"}
|
|
@@ -1,3 +1,14 @@
|
|
|
1
1
|
import type { Variables } from './terraformCli';
|
|
2
|
+
/**
|
|
3
|
+
* Escapes a string for use in Terraform HCL.
|
|
4
|
+
* Handles backslashes, quotes, and interpolation/directive sequences (${ and %{).
|
|
5
|
+
*/
|
|
6
|
+
export declare const terraformEscape: (value: string) => string;
|
|
7
|
+
/**
|
|
8
|
+
* Escapes a string for use in Terraform HCL heredoc.
|
|
9
|
+
* Only handles interpolation/directive sequences (${ and %{).
|
|
10
|
+
*/
|
|
11
|
+
export declare const terraformEscapeHeredoc: (value: string) => string;
|
|
12
|
+
export declare const formatTerraformValue: (value: unknown) => string;
|
|
2
13
|
export declare function writeVarsFile(variables: Variables, filePath: string): void;
|
|
3
14
|
//# sourceMappingURL=writeVarsFile.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"writeVarsFile.d.ts","sourceRoot":"","sources":["../../src/writeVarsFile.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"writeVarsFile.d.ts","sourceRoot":"","sources":["../../src/writeVarsFile.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAWhD;;;GAGG;AACH,eAAO,MAAM,eAAe,GAAI,OAAO,MAAM,KAAG,MAM/C,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,sBAAsB,GAAI,OAAO,MAAM,KAAG,MAItD,CAAC;AAEF,eAAO,MAAM,oBAAoB,GAAI,OAAO,OAAO,KAAG,MAgBrD,CAAC;AAEF,wBAAgB,aAAa,CAAC,SAAS,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,GAAG,IAAI,CA0B1E"}
|
|
@@ -33,6 +33,7 @@ var __importStar = (this && this.__importStar) || (function () {
|
|
|
33
33
|
};
|
|
34
34
|
})();
|
|
35
35
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
36
|
+
exports.formatTerraformValue = exports.terraformEscapeHeredoc = exports.terraformEscape = void 0;
|
|
36
37
|
exports.writeVarsFile = writeVarsFile;
|
|
37
38
|
const fs = __importStar(require("fs"));
|
|
38
39
|
const isJsonString = (str) => {
|
|
@@ -44,23 +45,46 @@ const isJsonString = (str) => {
|
|
|
44
45
|
return false;
|
|
45
46
|
}
|
|
46
47
|
};
|
|
48
|
+
/**
|
|
49
|
+
* Escapes a string for use in Terraform HCL.
|
|
50
|
+
* Handles backslashes, quotes, and interpolation/directive sequences (${ and %{).
|
|
51
|
+
*/
|
|
52
|
+
const terraformEscape = (value) => {
|
|
53
|
+
return value
|
|
54
|
+
.replace(/\\/g, '\\\\') // Escape backslashes first
|
|
55
|
+
.replace(/"/g, '\\"') // Escape quotes
|
|
56
|
+
.replace(/\$\{/g, () => '$${') // Escape ${ as $${
|
|
57
|
+
.replace(/%\{/g, () => '%%{'); // Escape %{ as %%{
|
|
58
|
+
};
|
|
59
|
+
exports.terraformEscape = terraformEscape;
|
|
60
|
+
/**
|
|
61
|
+
* Escapes a string for use in Terraform HCL heredoc.
|
|
62
|
+
* Only handles interpolation/directive sequences (${ and %{).
|
|
63
|
+
*/
|
|
64
|
+
const terraformEscapeHeredoc = (value) => {
|
|
65
|
+
return value
|
|
66
|
+
.replace(/\$\{/g, () => '$${') // Escape ${ as $${
|
|
67
|
+
.replace(/%\{/g, () => '%%{'); // Escape %{ as %%{
|
|
68
|
+
};
|
|
69
|
+
exports.terraformEscapeHeredoc = terraformEscapeHeredoc;
|
|
47
70
|
const formatTerraformValue = (value) => {
|
|
48
71
|
if (typeof value === 'string') {
|
|
49
|
-
return `"${
|
|
72
|
+
return `"${(0, exports.terraformEscape)(value)}"`;
|
|
50
73
|
}
|
|
51
74
|
if (typeof value === 'number' || typeof value === 'boolean') {
|
|
52
75
|
return value.toString();
|
|
53
76
|
}
|
|
54
77
|
if (Array.isArray(value)) {
|
|
55
|
-
return `[${value.map(formatTerraformValue).join(', ')}]`;
|
|
78
|
+
return `[${value.map(exports.formatTerraformValue).join(', ')}]`;
|
|
56
79
|
}
|
|
57
80
|
if (typeof value === 'object' && value !== null) {
|
|
58
81
|
return `{${Object.entries(value)
|
|
59
|
-
.map(([k, v]) => `"${k}" = ${formatTerraformValue(v)}`)
|
|
82
|
+
.map(([k, v]) => `"${(0, exports.terraformEscape)(k)}" = ${(0, exports.formatTerraformValue)(v)}`)
|
|
60
83
|
.join(', ')}}`;
|
|
61
84
|
}
|
|
62
85
|
return 'null';
|
|
63
86
|
};
|
|
87
|
+
exports.formatTerraformValue = formatTerraformValue;
|
|
64
88
|
function writeVarsFile(variables, filePath) {
|
|
65
89
|
if (variables.length === 0) {
|
|
66
90
|
return;
|
|
@@ -69,18 +93,15 @@ function writeVarsFile(variables, filePath) {
|
|
|
69
93
|
.map(([key, value]) => {
|
|
70
94
|
// Handle multiline strings by using heredoc syntax
|
|
71
95
|
if (value.includes('\n')) {
|
|
72
|
-
return `${key} = <<-EOT\n${value}\nEOT`;
|
|
96
|
+
return `${key} = <<-EOT\n${(0, exports.terraformEscapeHeredoc)(value)}\nEOT`;
|
|
73
97
|
}
|
|
74
98
|
// Handle JSON strings by parsing and formatting as Terraform map
|
|
75
99
|
if (isJsonString(value)) {
|
|
76
100
|
const parsed = JSON.parse(value);
|
|
77
|
-
return `${key} = ${formatTerraformValue(parsed)}`;
|
|
101
|
+
return `${key} = ${(0, exports.formatTerraformValue)(parsed)}`;
|
|
78
102
|
}
|
|
79
103
|
// Handle regular strings with proper escaping
|
|
80
|
-
|
|
81
|
-
.replace(/\\/g, '\\\\') // Escape backslashes first
|
|
82
|
-
.replace(/"/g, '\\"'); // Escape quotes
|
|
83
|
-
return `${key} = "${escapedValue}"`;
|
|
104
|
+
return `${key} = "${(0, exports.terraformEscape)(value)}"`;
|
|
84
105
|
})
|
|
85
106
|
.join('\n');
|
|
86
107
|
const varsFilePath = filePath; // path.join(dir, 'terraform.tfvars');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"writeVarsFile.js","sourceRoot":"","sources":["../../src/writeVarsFile.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"writeVarsFile.js","sourceRoot":"","sources":["../../src/writeVarsFile.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@goldstack/utils-terraform",
|
|
3
|
-
"version": "0.4.
|
|
3
|
+
"version": "0.4.71",
|
|
4
4
|
"description": "Run Terraform commands easily as npm package scripts",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"goldstack",
|
|
@@ -33,17 +33,16 @@
|
|
|
33
33
|
"prepublishOnly": "yarn run build",
|
|
34
34
|
"publish": "yarn npm publish --tolerate-republish",
|
|
35
35
|
"test": "jest --passWithNoTests --config=./jest.config.js --runInBand",
|
|
36
|
-
"
|
|
37
|
-
"version:apply:force": "yarn version $@ && yarn version apply"
|
|
36
|
+
"patch-when-changed": "git diff --quiet HEAD^...HEAD -- . && git diff --quiet -- . && git diff --quiet --staged -- . || yarn version patch"
|
|
38
37
|
},
|
|
39
38
|
"dependencies": {
|
|
40
|
-
"@goldstack/infra": "0.4.
|
|
41
|
-
"@goldstack/infra-aws": "0.4.
|
|
42
|
-
"@goldstack/utils-config": "0.4.
|
|
43
|
-
"@goldstack/utils-docker": "0.4.
|
|
44
|
-
"@goldstack/utils-log": "0.3.
|
|
45
|
-
"@goldstack/utils-package": "0.4.
|
|
46
|
-
"@goldstack/utils-sh": "0.5.
|
|
39
|
+
"@goldstack/infra": "0.4.39",
|
|
40
|
+
"@goldstack/infra-aws": "0.4.57",
|
|
41
|
+
"@goldstack/utils-config": "0.4.39",
|
|
42
|
+
"@goldstack/utils-docker": "0.4.40",
|
|
43
|
+
"@goldstack/utils-log": "0.3.33",
|
|
44
|
+
"@goldstack/utils-package": "0.4.41",
|
|
45
|
+
"@goldstack/utils-sh": "0.5.38",
|
|
47
46
|
"json-stable-stringify": "^1.0.1",
|
|
48
47
|
"yargs": "^17"
|
|
49
48
|
},
|