@catladder/cli 1.101.4 → 1.103.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (44) hide show
  1. package/dist/apps/catenv/catenv.d.ts +2 -4
  2. package/dist/apps/catenv/catenv.js +8 -89
  3. package/dist/apps/catenv/catenv.js.map +1 -1
  4. package/dist/apps/catenv/printVariables.d.ts +3 -0
  5. package/dist/apps/catenv/printVariables.js +111 -0
  6. package/dist/apps/catenv/printVariables.js.map +1 -0
  7. package/dist/apps/catenv/types.d.ts +5 -0
  8. package/dist/apps/catenv/types.js +3 -0
  9. package/dist/apps/catenv/types.js.map +1 -0
  10. package/dist/apps/catenv/utils.d.ts +12 -0
  11. package/dist/apps/catenv/utils.js +108 -0
  12. package/dist/apps/catenv/utils.js.map +1 -0
  13. package/dist/apps/catenv/writeDotEnvFiles.d.ts +3 -0
  14. package/dist/apps/catenv/writeDotEnvFiles.js +93 -0
  15. package/dist/apps/catenv/writeDotEnvFiles.js.map +1 -0
  16. package/dist/apps/cli/commands/mongodb/projectMongoPortForward.js +1 -1
  17. package/dist/apps/cli/commands/mongodb/projectMongoPortForward.js.map +1 -1
  18. package/dist/apps/cli/commands/project/commandCloudSqlProxy.js +14 -11
  19. package/dist/apps/cli/commands/project/commandCloudSqlProxy.js.map +1 -1
  20. package/dist/apps/cli/commands/project/commandConfigSecrets.js +36 -11
  21. package/dist/apps/cli/commands/project/commandConfigSecrets.js.map +1 -1
  22. package/dist/apps/cli/commands/project/commandEnvVars.js +1 -1
  23. package/dist/apps/cli/commands/project/commandEnvVars.js.map +1 -1
  24. package/dist/bundles/catenv/index.js +3 -3
  25. package/dist/bundles/cli/index.js +2 -2
  26. package/dist/config/getProjectConfig.d.ts +8 -1
  27. package/dist/config/getProjectConfig.js +45 -6
  28. package/dist/config/getProjectConfig.js.map +1 -1
  29. package/dist/tsconfig.tsbuildinfo +1 -1
  30. package/dist/utils/gitlab.d.ts +4 -4
  31. package/dist/utils/gitlab.js.map +1 -1
  32. package/package.json +2 -2
  33. package/src/apps/catenv/catenv.ts +8 -62
  34. package/src/apps/catenv/printVariables.ts +51 -0
  35. package/src/apps/catenv/types.ts +6 -0
  36. package/src/apps/catenv/utils.ts +49 -0
  37. package/src/apps/catenv/writeDotEnvFiles.ts +45 -0
  38. package/src/apps/cli/commands/mongodb/projectMongoPortForward.ts +5 -2
  39. package/src/apps/cli/commands/project/commandCloudSqlProxy.ts +18 -12
  40. package/src/apps/cli/commands/project/commandConfigSecrets.ts +26 -7
  41. package/src/apps/cli/commands/project/commandEnvVars.ts +5 -2
  42. package/src/config/getProjectConfig.ts +30 -6
  43. package/src/utils/gitlab.ts +4 -4
  44. package/tsconfig.json +1 -1
@@ -1,5 +1,3 @@
1
- declare const _default: (choice?: {
2
- env?: string;
3
- componentName?: string;
4
- }) => Promise<void>;
1
+ import type { Choice } from "./types";
2
+ declare const _default: (choice?: Choice) => Promise<void>;
5
3
  export default _default;
@@ -1,15 +1,4 @@
1
1
  "use strict";
2
- var __assign = (this && this.__assign) || function () {
3
- __assign = Object.assign || function(t) {
4
- for (var s, i = 1, n = arguments.length; i < n; i++) {
5
- s = arguments[i];
6
- for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
7
- t[p] = s[p];
8
- }
9
- return t;
10
- };
11
- return __assign.apply(this, arguments);
12
- };
13
2
  var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
14
3
  function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
15
4
  return new (P || (P = Promise))(function (resolve, reject) {
@@ -48,77 +37,10 @@ var __generator = (this && this.__generator) || function (thisArg, body) {
48
37
  };
49
38
  exports.__esModule = true;
50
39
  var getProjectConfig_1 = require("../../config/getProjectConfig");
51
- var projects_1 = require("../../utils/projects");
52
- var path_1 = require("path");
53
- var getCurrentComponentName = function (components) { return __awaiter(void 0, void 0, void 0, function () {
54
- var gitRoot, currentDir;
55
- return __generator(this, function (_a) {
56
- switch (_a.label) {
57
- case 0: return [4 /*yield*/, (0, projects_1.getGitRoot)()];
58
- case 1:
59
- gitRoot = _a.sent();
60
- currentDir = process.cwd();
61
- return [2 /*return*/, Object.keys(components).find(function (c) {
62
- return currentDir.startsWith((0, path_1.join)(gitRoot, components[c].dir));
63
- })];
64
- }
65
- });
66
- }); };
67
- var sanitizeEnvVarName = function (name) { return name.replace(/[\s\-.]+/g, "_"); };
68
- var getAllVariablesToPrint = function (config, choice) { return __awaiter(void 0, void 0, void 0, function () {
69
- var env, components, currentComponent, _a, variables;
70
- var _b, _c;
71
- return __generator(this, function (_d) {
72
- switch (_d.label) {
73
- case 0:
74
- env = (_b = choice === null || choice === void 0 ? void 0 : choice.env) !== null && _b !== void 0 ? _b : "local";
75
- components = config.components;
76
- if (!((_c = choice === null || choice === void 0 ? void 0 : choice.componentName) !== null && _c !== void 0)) return [3 /*break*/, 1];
77
- _a = _c;
78
- return [3 /*break*/, 3];
79
- case 1: return [4 /*yield*/, getCurrentComponentName(components)];
80
- case 2:
81
- _a = (_d.sent());
82
- _d.label = 3;
83
- case 3:
84
- currentComponent = _a;
85
- variables = {};
86
- if (!currentComponent) return [3 /*break*/, 5];
87
- return [4 /*yield*/, (0, getProjectConfig_1.getEnvVars)(null, env, currentComponent)];
88
- case 4:
89
- variables = _d.sent();
90
- return [3 /*break*/, 7];
91
- case 5: return [4 /*yield*/, Object.keys(components).reduce(function (acc, componentName) { return __awaiter(void 0, void 0, void 0, function () {
92
- var subappvars, _a;
93
- return __generator(this, function (_b) {
94
- switch (_b.label) {
95
- case 0: return [4 /*yield*/, (0, getProjectConfig_1.getEnvVars)(null, env, componentName)];
96
- case 1:
97
- subappvars = _b.sent();
98
- _a = [{}];
99
- return [4 /*yield*/, acc];
100
- case 2: return [2 /*return*/, __assign.apply(void 0, [__assign.apply(void 0, [__assign.apply(void 0, _a.concat([(_b.sent())])), subappvars]), Object.fromEntries(Object.entries(subappvars).map(function (_a) {
101
- var key = _a[0], value = _a[1];
102
- return [
103
- "".concat(sanitizeEnvVarName(componentName.toUpperCase()), "_").concat(key),
104
- value,
105
- ];
106
- }))])];
107
- }
108
- });
109
- }); }, {})];
110
- case 6:
111
- // when in a monorep and not in a subapp, merge all env vars.
112
- // this is not 100% correct, but better than not exporting any vars at all
113
- // so we also add prefixed variants
114
- variables = _d.sent();
115
- _d.label = 7;
116
- case 7: return [2 /*return*/, variables];
117
- }
118
- });
119
- }); };
40
+ var printVariables_1 = require("./printVariables");
41
+ var writeDotEnvFiles_1 = require("./writeDotEnvFiles");
120
42
  exports["default"] = (function (choice) { return __awaiter(void 0, void 0, void 0, function () {
121
- var config, variables;
43
+ var config;
122
44
  return __generator(this, function (_a) {
123
45
  switch (_a.label) {
124
46
  case 0: return [4 /*yield*/, (0, getProjectConfig_1.getProjectConfig)()];
@@ -127,15 +49,12 @@ exports["default"] = (function (choice) { return __awaiter(void 0, void 0, void
127
49
  if (!config) {
128
50
  return [2 /*return*/];
129
51
  }
130
- return [4 /*yield*/, getAllVariablesToPrint(config, choice)];
52
+ return [4 /*yield*/, (0, printVariables_1.printVariables)(config, choice)];
131
53
  case 2:
132
- variables = _a.sent();
133
- console.log(Object.entries(variables)
134
- .map(function (_a) {
135
- var key = _a[0], value = _a[1];
136
- return "export ".concat(key, "='").concat(value, "'");
137
- })
138
- .join("\n"));
54
+ _a.sent();
55
+ return [4 /*yield*/, (0, writeDotEnvFiles_1.writeDotEnvFiles)(config, choice)];
56
+ case 3:
57
+ _a.sent();
139
58
  return [2 /*return*/];
140
59
  }
141
60
  });
@@ -1 +1 @@
1
- {"version":3,"file":"catenv.js","sourceRoot":"","sources":["../../../src/apps/catenv/catenv.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA,kEAA6E;AAC7E,iDAAkD;AAClD,6BAA4B;AAC5B,IAAM,uBAAuB,GAAG,UAC9B,UAA2C;;;;oBAE3B,qBAAM,IAAA,qBAAU,GAAE,EAAA;;gBAA5B,OAAO,GAAG,SAAkB;gBAC5B,UAAU,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;gBACjC,sBAAO,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,UAAC,CAAC;wBACpC,OAAA,UAAU,CAAC,UAAU,CAAC,IAAA,WAAI,EAAC,OAAO,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;oBAAvD,CAAuD,CACxD,EAAC;;;KACH,CAAC;AAEF,IAAM,kBAAkB,GAAG,UAAC,IAAY,IAAK,OAAA,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,GAAG,CAAC,EAA9B,CAA8B,CAAC;AAE5E,IAAM,sBAAsB,GAAG,UAC7B,MAAc,EACd,MAGC;;;;;;gBAEK,GAAG,GAAG,MAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,GAAG,mCAAI,OAAO,CAAC;gBAC3B,UAAU,GAAK,MAAM,WAAX,CAAY;4BAG5B,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,aAAa;;;oBAAK,qBAAM,uBAAuB,CAAC,UAAU,CAAC,EAAA;;gBAA1C,KAAA,CAAC,SAAyC,CAAC,CAAA;;;gBADhE,gBAAgB,KACgD;gBAElE,SAAS,GAAG,EAAE,CAAC;qBACf,gBAAgB,EAAhB,wBAAgB;gBACN,qBAAM,IAAA,6BAAU,EAAC,IAAI,EAAE,GAAG,EAAE,gBAAgB,CAAC,EAAA;;gBAAzD,SAAS,GAAG,SAA6C,CAAC;;oBAK9C,qBAAM,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,MAAM,CAC9C,UAAO,GAAG,EAAE,aAAa;;;;oCACJ,qBAAM,IAAA,6BAAU,EAAC,IAAI,EAAE,GAAG,EAAE,aAAa,CAAC,EAAA;;gCAAvD,UAAU,GAAG,SAA0C;;gCAEvD,qBAAM,GAAG,EAAA;oCADf,wGACK,CAAC,SAAS,CAAC,KACX,UAAU,IAEV,MAAM,CAAC,WAAW,CACnB,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,UAAC,EAAY;4CAAX,GAAG,QAAA,EAAE,KAAK,QAAA;wCAAM,OAAA;4CAC/C,UAAG,kBAAkB,CAAC,aAAa,CAAC,WAAW,EAAE,CAAC,cAAI,GAAG,CAAE;4CAC3D,KAAK;yCACN;oCAHgD,CAGhD,CAAC,CACH,IACD;;;qBACH,EACD,EAAE,CACH,EAAA;;gBAnBD,6DAA6D;gBAC7D,0EAA0E;gBAC1E,mCAAmC;gBACnC,SAAS,GAAG,SAgBX,CAAC;;oBAEJ,sBAAO,SAAS,EAAC;;;KAClB,CAAC;AACF,sBAAe,UAAO,MAAiD;;;;oBACtD,qBAAM,IAAA,mCAAgB,GAAE,EAAA;;gBAAjC,MAAM,GAAG,SAAwB;gBACvC,IAAI,CAAC,MAAM,EAAE;oBACX,sBAAO;iBACR;gBACiB,qBAAM,sBAAsB,CAAC,MAAM,EAAE,MAAM,CAAC,EAAA;;gBAAxD,SAAS,GAAG,SAA4C;gBAE9D,OAAO,CAAC,GAAG,CACT,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC;qBACtB,GAAG,CAAC,UAAC,EAAY;wBAAX,GAAG,QAAA,EAAE,KAAK,QAAA;oBAAM,OAAA,iBAAU,GAAG,eAAK,KAAK,MAAG;gBAA1B,CAA0B,CAAC;qBACjD,IAAI,CAAC,IAAI,CAAC,CACd,CAAC;;;;KACH,EAAC"}
1
+ {"version":3,"file":"catenv.js","sourceRoot":"","sources":["../../../src/apps/catenv/catenv.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,kEAAiE;AACjE,mDAAkD;AAElD,uDAAsD;AAEtD,sBAAe,UAAO,MAAe;;;;oBACpB,qBAAM,IAAA,mCAAgB,GAAE,EAAA;;gBAAjC,MAAM,GAAG,SAAwB;gBACvC,IAAI,CAAC,MAAM,EAAE;oBACX,sBAAO;iBACR;gBAED,qBAAM,IAAA,+BAAc,EAAC,MAAM,EAAE,MAAM,CAAC,EAAA;;gBAApC,SAAoC,CAAC;gBAErC,qBAAM,IAAA,mCAAgB,EAAC,MAAM,EAAE,MAAM,CAAC,EAAA;;gBAAtC,SAAsC,CAAC;;;;KACxC,EAAC"}
@@ -0,0 +1,3 @@
1
+ import type { Config } from "@catladder/pipeline";
2
+ import type { Choice } from "./types";
3
+ export declare const printVariables: (config: Config, choice?: Choice) => Promise<void>;
@@ -0,0 +1,111 @@
1
+ "use strict";
2
+ var __assign = (this && this.__assign) || function () {
3
+ __assign = Object.assign || function(t) {
4
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
5
+ s = arguments[i];
6
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
7
+ t[p] = s[p];
8
+ }
9
+ return t;
10
+ };
11
+ return __assign.apply(this, arguments);
12
+ };
13
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
14
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
15
+ return new (P || (P = Promise))(function (resolve, reject) {
16
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
17
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
18
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
19
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
20
+ });
21
+ };
22
+ var __generator = (this && this.__generator) || function (thisArg, body) {
23
+ var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
24
+ return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
25
+ function verb(n) { return function (v) { return step([n, v]); }; }
26
+ function step(op) {
27
+ if (f) throw new TypeError("Generator is already executing.");
28
+ while (_) try {
29
+ if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
30
+ if (y = 0, t) op = [op[0] & 2, t.value];
31
+ switch (op[0]) {
32
+ case 0: case 1: t = op; break;
33
+ case 4: _.label++; return { value: op[1], done: false };
34
+ case 5: _.label++; y = op[1]; op = [0]; continue;
35
+ case 7: op = _.ops.pop(); _.trys.pop(); continue;
36
+ default:
37
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
38
+ if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
39
+ if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
40
+ if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
41
+ if (t[2]) _.ops.pop();
42
+ _.trys.pop(); continue;
43
+ }
44
+ op = body.call(thisArg, _);
45
+ } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
46
+ if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
47
+ }
48
+ };
49
+ exports.__esModule = true;
50
+ exports.printVariables = void 0;
51
+ var getProjectConfig_1 = require("../../config/getProjectConfig");
52
+ var utils_1 = require("./utils");
53
+ var getAllVariablesToPrint = function (config, choice) { return __awaiter(void 0, void 0, void 0, function () {
54
+ var _a, env, currentComponent, variables;
55
+ return __generator(this, function (_b) {
56
+ switch (_b.label) {
57
+ case 0: return [4 /*yield*/, (0, utils_1.getCurrentComponentAndEnvFromChoice)(config, choice)];
58
+ case 1:
59
+ _a = _b.sent(), env = _a.env, currentComponent = _a.currentComponent;
60
+ variables = {};
61
+ if (!currentComponent) return [3 /*break*/, 3];
62
+ return [4 /*yield*/, (0, getProjectConfig_1.getEnvVarsResolved)(null, env, currentComponent)];
63
+ case 2:
64
+ variables = _b.sent();
65
+ return [3 /*break*/, 5];
66
+ case 3: return [4 /*yield*/, Object.keys(config.components).reduce(function (acc, componentName) { return __awaiter(void 0, void 0, void 0, function () {
67
+ var subappvars, _a;
68
+ return __generator(this, function (_b) {
69
+ switch (_b.label) {
70
+ case 0: return [4 /*yield*/, (0, getProjectConfig_1.getEnvVarsResolved)(null, env, componentName)];
71
+ case 1:
72
+ subappvars = _b.sent();
73
+ _a = [{}];
74
+ return [4 /*yield*/, acc];
75
+ case 2: return [2 /*return*/, __assign.apply(void 0, [__assign.apply(void 0, [__assign.apply(void 0, _a.concat([(_b.sent())])), subappvars]), Object.fromEntries(Object.entries(subappvars).map(function (_a) {
76
+ var key = _a[0], value = _a[1];
77
+ return [
78
+ "".concat((0, utils_1.sanitizeEnvVarName)(componentName.toUpperCase()), "_").concat(key),
79
+ value,
80
+ ];
81
+ }))])];
82
+ }
83
+ });
84
+ }); }, {})];
85
+ case 4:
86
+ // when in a monorep and not in a subapp, merge all env vars.
87
+ // this is not 100% correct, but better than not exporting any vars at all
88
+ // so we also add prefixed variants
89
+ variables = _b.sent();
90
+ _b.label = 5;
91
+ case 5: return [2 /*return*/, variables];
92
+ }
93
+ });
94
+ }); };
95
+ var printVariables = function (config, choice) { return __awaiter(void 0, void 0, void 0, function () {
96
+ var variables;
97
+ return __generator(this, function (_a) {
98
+ switch (_a.label) {
99
+ case 0: return [4 /*yield*/, getAllVariablesToPrint(config, choice)];
100
+ case 1:
101
+ variables = _a.sent();
102
+ console.log(makeExportKeyValuestring(variables));
103
+ return [2 /*return*/];
104
+ }
105
+ });
106
+ }); };
107
+ exports.printVariables = printVariables;
108
+ var makeExportKeyValuestring = function (variables) {
109
+ return (0, utils_1.makeKeyValueString)(variables, "export ");
110
+ };
111
+ //# sourceMappingURL=printVariables.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"printVariables.js","sourceRoot":"","sources":["../../../src/apps/catenv/printVariables.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA,kEAAmE;AAEnE,iCAIiB;AAEjB,IAAM,sBAAsB,GAAG,UAAO,MAAc,EAAE,MAAe;;;;oBACjC,qBAAM,IAAA,2CAAmC,EACzE,MAAM,EACN,MAAM,CACP,EAAA;;gBAHK,KAA4B,SAGjC,EAHO,GAAG,SAAA,EAAE,gBAAgB,sBAAA;gBAKzB,SAAS,GAAG,EAAE,CAAC;qBACf,gBAAgB,EAAhB,wBAAgB;gBACN,qBAAM,IAAA,qCAAkB,EAAC,IAAI,EAAE,GAAG,EAAE,gBAAgB,CAAC,EAAA;;gBAAjE,SAAS,GAAG,SAAqD,CAAC;;oBAKtD,qBAAM,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,MAAM,CACrD,UAAO,GAAG,EAAE,aAAa;;;;oCACJ,qBAAM,IAAA,qCAAkB,EAAC,IAAI,EAAE,GAAG,EAAE,aAAa,CAAC,EAAA;;gCAA/D,UAAU,GAAG,SAAkD;;gCAE/D,qBAAM,GAAG,EAAA;oCADf,wGACK,CAAC,SAAS,CAAC,KACX,UAAU,IAEV,MAAM,CAAC,WAAW,CACnB,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,UAAC,EAAY;4CAAX,GAAG,QAAA,EAAE,KAAK,QAAA;wCAAM,OAAA;4CAC/C,UAAG,IAAA,0BAAkB,EAAC,aAAa,CAAC,WAAW,EAAE,CAAC,cAAI,GAAG,CAAE;4CAC3D,KAAK;yCACN;oCAHgD,CAGhD,CAAC,CACH,IACD;;;qBACH,EACD,EAAE,CACH,EAAA;;gBAnBD,6DAA6D;gBAC7D,0EAA0E;gBAC1E,mCAAmC;gBACnC,SAAS,GAAG,SAgBX,CAAC;;oBAEJ,sBAAO,SAAS,EAAC;;;KAClB,CAAC;AAEK,IAAM,cAAc,GAAG,UAAO,MAAc,EAAE,MAAe;;;;oBAChD,qBAAM,sBAAsB,CAAC,MAAM,EAAE,MAAM,CAAC,EAAA;;gBAAxD,SAAS,GAAG,SAA4C;gBAE9D,OAAO,CAAC,GAAG,CAAC,wBAAwB,CAAC,SAAS,CAAC,CAAC,CAAC;;;;KAClD,CAAC;AAJW,QAAA,cAAc,kBAIzB;AAEF,IAAM,wBAAwB,GAAG,UAAC,SAAoB;IACpD,OAAA,IAAA,0BAAkB,EAAC,SAAS,EAAE,SAAS,CAAC;AAAxC,CAAwC,CAAC"}
@@ -0,0 +1,5 @@
1
+ export declare type Choice = {
2
+ env?: string;
3
+ componentName?: string;
4
+ };
5
+ export declare type Variables = Record<string, string>;
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ exports.__esModule = true;
3
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/apps/catenv/types.ts"],"names":[],"mappings":""}
@@ -0,0 +1,12 @@
1
+ import type { Config } from "@catladder/pipeline";
2
+ import type { Choice, Variables } from "./types";
3
+ export declare const getComponentFullPath: (gitRoot: string, config: Config, componentName: string) => string;
4
+ export declare const getCurrentComponentAndEnvFromChoice: (config: Config, choice?: Choice) => Promise<{
5
+ currentComponent: string;
6
+ env: string;
7
+ }>;
8
+ export declare const makeKeyValueString: (variables: Variables, keyPrefix?: string) => string;
9
+ export declare const sanitizeMultiLine: (variables: Variables) => {
10
+ [k: string]: string;
11
+ };
12
+ export declare const sanitizeEnvVarName: (name: string) => string;
@@ -0,0 +1,108 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ var __generator = (this && this.__generator) || function (thisArg, body) {
12
+ var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
13
+ return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
14
+ function verb(n) { return function (v) { return step([n, v]); }; }
15
+ function step(op) {
16
+ if (f) throw new TypeError("Generator is already executing.");
17
+ while (_) try {
18
+ if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
19
+ if (y = 0, t) op = [op[0] & 2, t.value];
20
+ switch (op[0]) {
21
+ case 0: case 1: t = op; break;
22
+ case 4: _.label++; return { value: op[1], done: false };
23
+ case 5: _.label++; y = op[1]; op = [0]; continue;
24
+ case 7: op = _.ops.pop(); _.trys.pop(); continue;
25
+ default:
26
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
27
+ if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
28
+ if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
29
+ if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
30
+ if (t[2]) _.ops.pop();
31
+ _.trys.pop(); continue;
32
+ }
33
+ op = body.call(thisArg, _);
34
+ } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
35
+ if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
36
+ }
37
+ };
38
+ exports.__esModule = true;
39
+ exports.sanitizeEnvVarName = exports.sanitizeMultiLine = exports.makeKeyValueString = exports.getCurrentComponentAndEnvFromChoice = exports.getComponentFullPath = void 0;
40
+ var path_1 = require("path");
41
+ var projects_1 = require("../../utils/projects");
42
+ var getComponentFullPath = function (gitRoot, config, componentName) {
43
+ return (0, path_1.join)(gitRoot, config.components[componentName].dir);
44
+ };
45
+ exports.getComponentFullPath = getComponentFullPath;
46
+ var getCurrentComponentName = function (config) { return __awaiter(void 0, void 0, void 0, function () {
47
+ var gitRoot, currentDir;
48
+ return __generator(this, function (_a) {
49
+ switch (_a.label) {
50
+ case 0: return [4 /*yield*/, (0, projects_1.getGitRoot)()];
51
+ case 1:
52
+ gitRoot = _a.sent();
53
+ currentDir = process.cwd();
54
+ return [2 /*return*/, Object.keys(config.components).find(function (c) {
55
+ return currentDir.startsWith((0, exports.getComponentFullPath)(gitRoot, config, c));
56
+ })];
57
+ }
58
+ });
59
+ }); };
60
+ var getCurrentComponentAndEnvFromChoice = function (config, choice) { return __awaiter(void 0, void 0, void 0, function () {
61
+ var env, currentComponent, _a;
62
+ var _b, _c;
63
+ return __generator(this, function (_d) {
64
+ switch (_d.label) {
65
+ case 0:
66
+ env = (_b = choice === null || choice === void 0 ? void 0 : choice.env) !== null && _b !== void 0 ? _b : "local";
67
+ if (!((_c = choice === null || choice === void 0 ? void 0 : choice.componentName) !== null && _c !== void 0)) return [3 /*break*/, 1];
68
+ _a = _c;
69
+ return [3 /*break*/, 3];
70
+ case 1: return [4 /*yield*/, getCurrentComponentName(config)];
71
+ case 2:
72
+ _a = (_d.sent());
73
+ _d.label = 3;
74
+ case 3:
75
+ currentComponent = _a;
76
+ return [2 /*return*/, {
77
+ currentComponent: currentComponent,
78
+ env: env
79
+ }];
80
+ }
81
+ });
82
+ }); };
83
+ exports.getCurrentComponentAndEnvFromChoice = getCurrentComponentAndEnvFromChoice;
84
+ var makeKeyValueString = function (variables, keyPrefix) {
85
+ if (keyPrefix === void 0) { keyPrefix = ""; }
86
+ return Object.entries(variables)
87
+ .map(function (_a) {
88
+ var key = _a[0], value = _a[1];
89
+ return "".concat(keyPrefix).concat(key, "='").concat(value, "'");
90
+ })
91
+ .join("\n");
92
+ };
93
+ exports.makeKeyValueString = makeKeyValueString;
94
+ var sanitizeMultiLine = function (variables) {
95
+ return Object.fromEntries(Object.entries(variables).map(function (_a) {
96
+ var key = _a[0], value = _a[1];
97
+ return [
98
+ key,
99
+ value.replaceAll("\n", "\\n"),
100
+ ];
101
+ }));
102
+ };
103
+ exports.sanitizeMultiLine = sanitizeMultiLine;
104
+ var sanitizeEnvVarName = function (name) {
105
+ return name.replace(/[\s\-.]+/g, "_");
106
+ };
107
+ exports.sanitizeEnvVarName = sanitizeEnvVarName;
108
+ //# sourceMappingURL=utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../src/apps/catenv/utils.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA,6BAA4B;AAC5B,iDAAkD;AAE3C,IAAM,oBAAoB,GAAG,UAClC,OAAe,EACf,MAAc,EACd,aAAqB;IAErB,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,IAAM,uBAAuB,GAAG,UAAO,MAAc;;;;oBACnC,qBAAM,IAAA,qBAAU,GAAE,EAAA;;gBAA5B,OAAO,GAAG,SAAkB;gBAC5B,UAAU,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;gBACjC,sBAAO,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,UAAC,CAAC;wBAC3C,OAAA,UAAU,CAAC,UAAU,CAAC,IAAA,4BAAoB,EAAC,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC;oBAA/D,CAA+D,CAChE,EAAC;;;KACH,CAAC;AAEK,IAAM,mCAAmC,GAAG,UACjD,MAAc,EACd,MAAe;;;;;;gBAET,GAAG,GAAG,MAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,GAAG,mCAAI,OAAO,CAAC;4BAEjC,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,aAAa;;;oBAAK,qBAAM,uBAAuB,CAAC,MAAM,CAAC,EAAA;;gBAAtC,KAAA,CAAC,SAAqC,CAAC,CAAA;;;gBAD5D,gBAAgB,KAC4C;gBAElE,sBAAO;wBACL,gBAAgB,kBAAA;wBAChB,GAAG,KAAA;qBACJ,EAAC;;;KACH,CAAC;AAZW,QAAA,mCAAmC,uCAY9C;AAEK,IAAM,kBAAkB,GAAG,UAAC,SAAoB,EAAE,SAAc;IAAd,0BAAA,EAAA,cAAc;IACrE,OAAA,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC;SACtB,GAAG,CAAC,UAAC,EAAY;YAAX,GAAG,QAAA,EAAE,KAAK,QAAA;QAAM,OAAA,UAAG,SAAS,SAAG,GAAG,eAAK,KAAK,MAAG;IAA/B,CAA+B,CAAC;SACtD,IAAI,CAAC,IAAI,CAAC;AAFb,CAEa,CAAC;AAHH,QAAA,kBAAkB,sBAGf;AAET,IAAM,iBAAiB,GAAG,UAAC,SAAoB;IACpD,OAAO,MAAM,CAAC,WAAW,CACvB,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,GAAG,CAAC,UAAC,EAAY;YAAX,GAAG,QAAA,EAAE,KAAK,QAAA;QAAM,OAAA;YAC9C,GAAG;YACH,KAAK,CAAC,UAAU,CAAC,IAAI,EAAE,KAAK,CAAC;SAC9B;IAH+C,CAG/C,CAAC,CACH,CAAC;AACJ,CAAC,CAAC;AAPW,QAAA,iBAAiB,qBAO5B;AAEK,IAAM,kBAAkB,GAAG,UAAC,IAAY;IAC7C,OAAA,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,GAAG,CAAC;AAA9B,CAA8B,CAAC;AADpB,QAAA,kBAAkB,sBACE"}
@@ -0,0 +1,3 @@
1
+ import type { Config } from "@catladder/pipeline";
2
+ import type { Choice } from "./types";
3
+ export declare const writeDotEnvFiles: (config: Config, choice?: Choice) => Promise<void>;
@@ -0,0 +1,93 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ var __generator = (this && this.__generator) || function (thisArg, body) {
12
+ var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
13
+ return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
14
+ function verb(n) { return function (v) { return step([n, v]); }; }
15
+ function step(op) {
16
+ if (f) throw new TypeError("Generator is already executing.");
17
+ while (_) try {
18
+ if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
19
+ if (y = 0, t) op = [op[0] & 2, t.value];
20
+ switch (op[0]) {
21
+ case 0: case 1: t = op; break;
22
+ case 4: _.label++; return { value: op[1], done: false };
23
+ case 5: _.label++; y = op[1]; op = [0]; continue;
24
+ case 7: op = _.ops.pop(); _.trys.pop(); continue;
25
+ default:
26
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
27
+ if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
28
+ if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
29
+ if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
30
+ if (t[2]) _.ops.pop();
31
+ _.trys.pop(); continue;
32
+ }
33
+ op = body.call(thisArg, _);
34
+ } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
35
+ if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
36
+ }
37
+ };
38
+ exports.__esModule = true;
39
+ exports.writeDotEnvFiles = void 0;
40
+ var fs_extra_1 = require("fs-extra");
41
+ var path_1 = require("path");
42
+ var getProjectConfig_1 = require("../../config/getProjectConfig");
43
+ var projects_1 = require("../../utils/projects");
44
+ var utils_1 = require("./utils");
45
+ var writeDotEnvFiles = function (config, choice) { return __awaiter(void 0, void 0, void 0, function () {
46
+ var _a, env, currentComponent, componentsWithEnabledDotEnvWrite, componentsToActuallyWriteDotEnvNow, gitRoot, _i, componentsToActuallyWriteDotEnvNow_1, componentName, variables, componentDir, filePath, variablesSanitized;
47
+ return __generator(this, function (_b) {
48
+ switch (_b.label) {
49
+ case 0: return [4 /*yield*/, (0, utils_1.getCurrentComponentAndEnvFromChoice)(config, choice)];
50
+ case 1:
51
+ _a = _b.sent(), env = _a.env, currentComponent = _a.currentComponent;
52
+ componentsWithEnabledDotEnvWrite = Object.entries(config.components)
53
+ .filter(function (_a) {
54
+ var component = _a[1];
55
+ return component === null || component === void 0 ? void 0 : component.dotEnv;
56
+ })
57
+ .map(function (_a) {
58
+ var componentName = _a[0];
59
+ return componentName;
60
+ });
61
+ componentsToActuallyWriteDotEnvNow = currentComponent
62
+ ? componentsWithEnabledDotEnvWrite.includes(currentComponent)
63
+ ? [currentComponent]
64
+ : []
65
+ : componentsWithEnabledDotEnvWrite;
66
+ return [4 /*yield*/, (0, projects_1.getGitRoot)()];
67
+ case 2:
68
+ gitRoot = _b.sent();
69
+ _i = 0, componentsToActuallyWriteDotEnvNow_1 = componentsToActuallyWriteDotEnvNow;
70
+ _b.label = 3;
71
+ case 3:
72
+ if (!(_i < componentsToActuallyWriteDotEnvNow_1.length)) return [3 /*break*/, 7];
73
+ componentName = componentsToActuallyWriteDotEnvNow_1[_i];
74
+ return [4 /*yield*/, (0, getProjectConfig_1.getEnvVarsResolved)(null, env, componentName)];
75
+ case 4:
76
+ variables = _b.sent();
77
+ componentDir = (0, utils_1.getComponentFullPath)(gitRoot, config, componentName);
78
+ filePath = (0, path_1.join)(componentDir, ".env");
79
+ variablesSanitized = (0, utils_1.sanitizeMultiLine)(variables);
80
+ return [4 /*yield*/, (0, fs_extra_1.writeFile)(filePath, "# automatically created by catladder. Do not modify!\n\n" +
81
+ (0, utils_1.makeKeyValueString)(variablesSanitized))];
82
+ case 5:
83
+ _b.sent();
84
+ _b.label = 6;
85
+ case 6:
86
+ _i++;
87
+ return [3 /*break*/, 3];
88
+ case 7: return [2 /*return*/];
89
+ }
90
+ });
91
+ }); };
92
+ exports.writeDotEnvFiles = writeDotEnvFiles;
93
+ //# sourceMappingURL=writeDotEnvFiles.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"writeDotEnvFiles.js","sourceRoot":"","sources":["../../../src/apps/catenv/writeDotEnvFiles.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA,qCAAqC;AACrC,6BAA4B;AAC5B,kEAAmE;AACnE,iDAAkD;AAElD,iCAKiB;AAEV,IAAM,gBAAgB,GAAG,UAAO,MAAc,EAAE,MAAe;;;;oBAClC,qBAAM,IAAA,2CAAmC,EACzE,MAAM,EACN,MAAM,CACP,EAAA;;gBAHK,KAA4B,SAGjC,EAHO,GAAG,SAAA,EAAE,gBAAgB,sBAAA;gBAOvB,gCAAgC,GAAG,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,UAAU,CAAC;qBACvE,MAAM,CAAC,UAAC,EAAa;wBAAV,SAAS,QAAA;oBAAM,OAAA,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,MAAM;gBAAjB,CAAiB,CAAC;qBAC5C,GAAG,CAAC,UAAC,EAAe;wBAAd,aAAa,QAAA;oBAAM,OAAA,aAAa;gBAAb,CAAa,CAAC,CAAC;gBAErC,kCAAkC,GAAG,gBAAgB;oBACzD,CAAC,CAAC,gCAAgC,CAAC,QAAQ,CAAC,gBAAgB,CAAC;wBAC3D,CAAC,CAAC,CAAC,gBAAgB,CAAC;wBACpB,CAAC,CAAC,EAAE;oBACN,CAAC,CAAC,gCAAgC,CAAC;gBACrB,qBAAM,IAAA,qBAAU,GAAE,EAAA;;gBAA5B,OAAO,GAAG,SAAkB;sBAE4B,EAAlC,yEAAkC;;;qBAAlC,CAAA,gDAAkC,CAAA;gBAAnD,aAAa;gBACJ,qBAAM,IAAA,qCAAkB,EAAC,IAAI,EAAE,GAAG,EAAE,aAAa,CAAC,EAAA;;gBAA9D,SAAS,GAAG,SAAkD;gBAC9D,YAAY,GAAG,IAAA,4BAAoB,EAAC,OAAO,EAAE,MAAM,EAAE,aAAa,CAAC,CAAC;gBACpE,QAAQ,GAAG,IAAA,WAAI,EAAC,YAAY,EAAE,MAAM,CAAC,CAAC;gBAEtC,kBAAkB,GAAG,IAAA,yBAAiB,EAAC,SAAS,CAAC,CAAC;gBACxD,qBAAM,IAAA,oBAAS,EACb,QAAQ,EACR,0DAA0D;wBACxD,IAAA,0BAAkB,EAAC,kBAAkB,CAAC,CACzC,EAAA;;gBAJD,SAIC,CAAC;;;gBAVwB,IAAkC,CAAA;;;;;KAY/D,CAAC;AA/BW,QAAA,gBAAgB,oBA+B3B"}
@@ -97,7 +97,7 @@ exports["default"] = (function (vorpal) { return __awaiter(void 0, void 0, void
97
97
  case 7:
98
98
  localPort = (_c.sent()).localPort;
99
99
  _b = (0, getProjectConfig_1.parseChoice)(envComponent), env = _b.env, componentName = _b.componentName;
100
- return [4 /*yield*/, (0, getProjectConfig_1.getEnvVars)(this, env, componentName)];
100
+ return [4 /*yield*/, (0, getProjectConfig_1.getEnvVarsResolved)(this, env, componentName)];
101
101
  case 8:
102
102
  envVars = _c.sent();
103
103
  MONGODB_ROOT_PASSWORD = envVars === null || envVars === void 0 ? void 0 : envVars.MONGODB_ROOT_PASSWORD;
@@ -1 +1 @@
1
- {"version":3,"file":"projectMongoPortForward.js","sourceRoot":"","sources":["../../../../../src/apps/cli/commands/mongodb/projectMongoPortForward.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA,wEAA8E;AAC9E,6CAAiD;AACjD,kEAA0E;AAC1E,uDAAiE;AACjE,oEAAoE;AACpE,iFAA2D;AAC3D,iCAAkE;AAClE,0DAAmC;AAEnC,sBAAe,UAAO,MAAc;;;;;gBAClC,KAAA,CAAA,KAAA,MAAM;qBACH,OAAO,CACN,2CAA2C,EAC3C,0BAA0B,CAC3B,CAAA;qBACA,YAAY,CAAA;gBAAC,qBAAM,IAAA,kCAAgB,GAAE,EAAA;oBALxC,sBAAA,cAKgB,SAAwB,EAAC;qBACtC,MAAM,CAAC,UAAgB,EAAgB;wBAAd,YAAY,kBAAA;;;;;wCACpC,qBAAM,0BAAa,CAAC,IAAI,CAAC,IAAI,EAAE,YAAY,CAAC,EAAA;;oCAA5C,SAA4C,CAAC;oCAC3B,qBAAM,IAAA,8BAAmB,EAAC,YAAY,CAAC,EAAA;;oCAAnD,SAAS,GAAG,SAAuC;oCACxC,qBAAM,IAAA,+CAAuC,EAC5D,YAAY,CACb,EAAA;;oCAFK,QAAQ,GAAG,SAEhB;oCACD,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE;wCACzB,IAAA,cAAQ,EAAC,IAAI,EAAE,sBAAsB,CAAC,CAAC;wCACvC,sBAAO;qCACR;yCAEG,CAAA,QAAQ,CAAC,MAAM,KAAK,CAAC,CAAA,EAArB,wBAAqB;oCACvB,OAAO,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;;wCAG1B,qBAAM,IAAI,CAAC,MAAM,CAAC;wCAChB,IAAI,EAAE,MAAM;wCACZ,IAAI,EAAE,SAAS;wCACf,OAAO,EAAE,QAAQ;wCACjB,OAAO,EAAE,eAAe;qCACzB,CAAC,EAAA;;oCANJ,OAAO,GAAG,CACR,SAKE,CACH,CAAC,OAAO,CAAC;;wCAGU,qBAAM,IAAI,CAAC,MAAM,CAAC;wCACtC,IAAI,EAAE,QAAQ;wCACd,IAAI,EAAE,WAAW;wCACjB,SAAO,EAAE,OAAO;wCAChB,OAAO,EAAE,cAAc;qCACxB,CAAC,EAAA;;oCALM,SAAS,GAAK,CAAA,SAKpB,CAAA,UALe;oCAMX,KAAyB,IAAA,8BAAW,EAAC,YAAY,CAAC,EAAhD,GAAG,SAAA,EAAE,aAAa,mBAAA,CAA+B;oCACzC,qBAAM,IAAA,6BAAU,EAAC,IAAI,EAAE,GAAG,EAAE,aAAa,CAAC,EAAA;;oCAApD,OAAO,GAAG,SAA0C;oCACpD,qBAAqB,GAAG,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,qBAAqB,CAAC;oCACvD,aAAa,GAAG,yBAAkB,qBAAqB,wBAAc,SAAS,CAAE,CAAC;oCACvF,uBAAS,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC;oCACnC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;oCACb,IAAI,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;oCAC3B,IAAI,CAAC,GAAG,CAAC,oBAAa,qBAAqB,CAAE,CAAC,CAAC;oCAC/C,IAAI,CAAC,GAAG,CAAC,6BAAsB,aAAa,CAAE,CAAC,CAAC;oCAChD,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;oCACb,IAAI,CAAC,GAAG,CAAC,yDAAyD,CAAC,CAAC;oCACpE,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;oCAEb,sBAAO,IAAA,kCAAoB,EAAC,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,SAAS,CAAC,EAAC;;;;iBACnE,CAAC,EAAA;;;KAAA,EAAC"}
1
+ {"version":3,"file":"projectMongoPortForward.js","sourceRoot":"","sources":["../../../../../src/apps/cli/commands/mongodb/projectMongoPortForward.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA,wEAG6C;AAC7C,6CAAiD;AACjD,kEAA0E;AAC1E,uDAAiE;AACjE,oEAAoE;AACpE,iFAA2D;AAC3D,iCAAkE;AAClE,0DAAmC;AAEnC,sBAAe,UAAO,MAAc;;;;;gBAClC,KAAA,CAAA,KAAA,MAAM;qBACH,OAAO,CACN,2CAA2C,EAC3C,0BAA0B,CAC3B,CAAA;qBACA,YAAY,CAAA;gBAAC,qBAAM,IAAA,kCAAgB,GAAE,EAAA;oBALxC,sBAAA,cAKgB,SAAwB,EAAC;qBACtC,MAAM,CAAC,UAAgB,EAAgB;wBAAd,YAAY,kBAAA;;;;;wCACpC,qBAAM,0BAAa,CAAC,IAAI,CAAC,IAAI,EAAE,YAAY,CAAC,EAAA;;oCAA5C,SAA4C,CAAC;oCAC3B,qBAAM,IAAA,8BAAmB,EAAC,YAAY,CAAC,EAAA;;oCAAnD,SAAS,GAAG,SAAuC;oCACxC,qBAAM,IAAA,+CAAuC,EAC5D,YAAY,CACb,EAAA;;oCAFK,QAAQ,GAAG,SAEhB;oCACD,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE;wCACzB,IAAA,cAAQ,EAAC,IAAI,EAAE,sBAAsB,CAAC,CAAC;wCACvC,sBAAO;qCACR;yCAEG,CAAA,QAAQ,CAAC,MAAM,KAAK,CAAC,CAAA,EAArB,wBAAqB;oCACvB,OAAO,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;;wCAG1B,qBAAM,IAAI,CAAC,MAAM,CAAC;wCAChB,IAAI,EAAE,MAAM;wCACZ,IAAI,EAAE,SAAS;wCACf,OAAO,EAAE,QAAQ;wCACjB,OAAO,EAAE,eAAe;qCACzB,CAAC,EAAA;;oCANJ,OAAO,GAAG,CACR,SAKE,CACH,CAAC,OAAO,CAAC;;wCAGU,qBAAM,IAAI,CAAC,MAAM,CAAC;wCACtC,IAAI,EAAE,QAAQ;wCACd,IAAI,EAAE,WAAW;wCACjB,SAAO,EAAE,OAAO;wCAChB,OAAO,EAAE,cAAc;qCACxB,CAAC,EAAA;;oCALM,SAAS,GAAK,CAAA,SAKpB,CAAA,UALe;oCAMX,KAAyB,IAAA,8BAAW,EAAC,YAAY,CAAC,EAAhD,GAAG,SAAA,EAAE,aAAa,mBAAA,CAA+B;oCACzC,qBAAM,IAAA,qCAAkB,EAAC,IAAI,EAAE,GAAG,EAAE,aAAa,CAAC,EAAA;;oCAA5D,OAAO,GAAG,SAAkD;oCAC5D,qBAAqB,GAAG,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,qBAAqB,CAAC;oCACvD,aAAa,GAAG,yBAAkB,qBAAqB,wBAAc,SAAS,CAAE,CAAC;oCACvF,uBAAS,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC;oCACnC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;oCACb,IAAI,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;oCAC3B,IAAI,CAAC,GAAG,CAAC,oBAAa,qBAAqB,CAAE,CAAC,CAAC;oCAC/C,IAAI,CAAC,GAAG,CAAC,6BAAsB,aAAa,CAAE,CAAC,CAAC;oCAChD,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;oCACb,IAAI,CAAC,GAAG,CAAC,yDAAyD,CAAC,CAAC;oCACpE,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;oCAEb,sBAAO,IAAA,kCAAoB,EAAC,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,SAAS,CAAC,EAAC;;;;iBACnE,CAAC,EAAA;;;KAAA,EAAC"}
@@ -37,7 +37,6 @@ var __generator = (this && this.__generator) || function (thisArg, body) {
37
37
  };
38
38
  exports.__esModule = true;
39
39
  var pipeline_1 = require("@catladder/pipeline");
40
- var pipeline_2 = require("@catladder/pipeline");
41
40
  var child_process_promise_1 = require("child-process-promise");
42
41
  var getProjectConfig_1 = require("../../../../config/getProjectConfig");
43
42
  var autocompletions_1 = require("./utils/autocompletions");
@@ -59,20 +58,24 @@ exports["default"] = (function (vorpal) { return __awaiter(void 0, void 0, void
59
58
  switch (_c.label) {
60
59
  case 0:
61
60
  _b = (0, getProjectConfig_1.parseChoice)(envComponent), env = _b.env, componentName = _b.componentName;
61
+ if (!componentName) {
62
+ this.log("need componentName");
63
+ return [2 /*return*/];
64
+ }
62
65
  return [4 /*yield*/, (0, getProjectConfig_1.getPipelineContextByChoice)(env, componentName)];
63
66
  case 1:
64
67
  context = _c.sent();
65
68
  if (env === "review") {
66
69
  vorpal.log("⚠️ connection string does not include mr information on review environments");
67
70
  }
68
- if (!(0, pipeline_2.isOfDeployType)(context.componentConfig.deploy, "kubernetes")) return [3 /*break*/, 3];
69
- return [4 /*yield*/, getProxyInfoForKubernetes(context)];
71
+ if (!(0, pipeline_1.isOfDeployType)(context.componentConfig.deploy, "kubernetes")) return [3 /*break*/, 3];
72
+ return [4 /*yield*/, getProxyInfoForKubernetes(this, context)];
70
73
  case 2:
71
74
  proxyInfo = _c.sent();
72
75
  return [3 /*break*/, 6];
73
76
  case 3:
74
- if (!(0, pipeline_2.isOfDeployType)(context.componentConfig.deploy, "google-cloudrun")) return [3 /*break*/, 5];
75
- return [4 /*yield*/, getProxyInfoForCloudRun(context)];
77
+ if (!(0, pipeline_1.isOfDeployType)(context.componentConfig.deploy, "google-cloudrun")) return [3 /*break*/, 5];
78
+ return [4 /*yield*/, getProxyInfoForCloudRun(this, context)];
76
79
  case 4:
77
80
  proxyInfo = _c.sent();
78
81
  return [3 /*break*/, 6];
@@ -110,15 +113,15 @@ exports["default"] = (function (vorpal) { return __awaiter(void 0, void 0, void
110
113
  }
111
114
  });
112
115
  }); });
113
- var getProxyInfoForKubernetes = function (context) { return __awaiter(void 0, void 0, void 0, function () {
116
+ var getProxyInfoForKubernetes = function (vorpal, context) { return __awaiter(void 0, void 0, void 0, function () {
114
117
  var envVars, cloudSqlValues, DB_PASSWORD, DB_NAME, instanceName;
115
118
  return __generator(this, function (_a) {
116
119
  switch (_a.label) {
117
120
  case 0:
118
- if (!(0, pipeline_2.isOfDeployType)(context.componentConfig.deploy, "kubernetes")) {
121
+ if (!(0, pipeline_1.isOfDeployType)(context.componentConfig.deploy, "kubernetes")) {
119
122
  throw new Error("unsupported");
120
123
  }
121
- return [4 /*yield*/, (0, getProjectConfig_1.getEnvVars)(this, context.environment.shortName, context.componentName)];
124
+ return [4 /*yield*/, (0, getProjectConfig_1.getEnvVarsResolved)(vorpal, context.environment.shortName, context.componentName)];
122
125
  case 1:
123
126
  envVars = _a.sent();
124
127
  cloudSqlValues = (0, pipeline_1.createKubernetesCloudsqlBaseValues)(context);
@@ -134,16 +137,16 @@ var getProxyInfoForKubernetes = function (context) { return __awaiter(void 0, vo
134
137
  }
135
138
  });
136
139
  }); };
137
- var getProxyInfoForCloudRun = function (context) { return __awaiter(void 0, void 0, void 0, function () {
140
+ var getProxyInfoForCloudRun = function (vorpal, context) { return __awaiter(void 0, void 0, void 0, function () {
138
141
  var envVars, DB_PASSWORD, DB_USER, DB_NAME;
139
142
  return __generator(this, function (_a) {
140
143
  switch (_a.label) {
141
144
  case 0:
142
- if (!(0, pipeline_2.isOfDeployType)(context.componentConfig.deploy, "google-cloudrun") ||
145
+ if (!(0, pipeline_1.isOfDeployType)(context.componentConfig.deploy, "google-cloudrun") ||
143
146
  !context.componentConfig.deploy.cloudSql) {
144
147
  throw new Error("unsupported");
145
148
  }
146
- return [4 /*yield*/, (0, getProjectConfig_1.getEnvVars)(this, context.environment.shortName, context.componentName)];
149
+ return [4 /*yield*/, (0, getProjectConfig_1.getEnvVarsResolved)(vorpal, context.environment.shortName, context.componentName)];
147
150
  case 1:
148
151
  envVars = _a.sent();
149
152
  DB_PASSWORD = envVars === null || envVars === void 0 ? void 0 : envVars.DB_PASSWORD;
@@ -1 +1 @@
1
- {"version":3,"file":"commandCloudSqlProxy.js","sourceRoot":"","sources":["../../../../../src/apps/cli/commands/project/commandCloudSqlProxy.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"commandCloudSqlProxy.js","sourceRoot":"","sources":["../../../../../src/apps/cli/commands/project/commandCloudSqlProxy.ts"],"names":[],"mappings":"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"}