@catladder/cli 0.0.0-fix-config-move-not-working-again-bf012644 → 0.0.0-fix-handle-missing-cloud-sql-proxy-command-error-and-show-nice-4dbbecce

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 (49) hide show
  1. package/dist/bundles/catenv/index.js +327 -124
  2. package/dist/bundles/cli/index.js +470 -181
  3. package/dist/cli/src/apps/catenv/printVariables.js +4 -1
  4. package/dist/cli/src/apps/catenv/printVariables.js.map +1 -1
  5. package/dist/cli/src/apps/catenv/utils.d.ts +6 -2
  6. package/dist/cli/src/apps/catenv/utils.js +4 -2
  7. package/dist/cli/src/apps/catenv/utils.js.map +1 -1
  8. package/dist/cli/src/apps/cli/commands/project/commandCloudSqlProxy.js +84 -51
  9. package/dist/cli/src/apps/cli/commands/project/commandCloudSqlProxy.js.map +1 -1
  10. package/dist/cli/src/utils/log.d.ts +65 -1
  11. package/dist/cli/src/utils/log.js +66 -8
  12. package/dist/cli/src/utils/log.js.map +1 -1
  13. package/dist/pipeline/src/bash/bashEscape.d.ts +4 -1
  14. package/dist/pipeline/src/bash/bashEscape.js +4 -2
  15. package/dist/pipeline/src/bash/bashEscape.js.map +1 -1
  16. package/dist/pipeline/src/context/getEnvConfig.js +14 -2
  17. package/dist/pipeline/src/context/getEnvConfig.js.map +1 -1
  18. package/dist/pipeline/src/deploy/cloudRun/createJobs/cloudRunJobs.d.ts +5 -3
  19. package/dist/pipeline/src/deploy/cloudRun/createJobs/cloudRunJobs.js +18 -107
  20. package/dist/pipeline/src/deploy/cloudRun/createJobs/cloudRunJobs.js.map +1 -1
  21. package/dist/pipeline/src/deploy/cloudRun/createJobs/execute/onDeploy.d.ts +4 -0
  22. package/dist/pipeline/src/deploy/cloudRun/createJobs/execute/onDeploy.js +85 -0
  23. package/dist/pipeline/src/deploy/cloudRun/createJobs/execute/onDeploy.js.map +1 -0
  24. package/dist/pipeline/src/deploy/cloudRun/createJobs/execute/schedules.d.ts +3 -0
  25. package/dist/pipeline/src/deploy/cloudRun/createJobs/execute/schedules.js +136 -0
  26. package/dist/pipeline/src/deploy/cloudRun/createJobs/execute/schedules.js.map +1 -0
  27. package/dist/pipeline/src/deploy/cloudRun/createJobs/getCloudRunDeployScripts.js +5 -3
  28. package/dist/pipeline/src/deploy/cloudRun/createJobs/getCloudRunDeployScripts.js.map +1 -1
  29. package/dist/pipeline/src/deploy/cloudRun/createJobs/getCloudRunStopScripts.js +5 -3
  30. package/dist/pipeline/src/deploy/cloudRun/createJobs/getCloudRunStopScripts.js.map +1 -1
  31. package/dist/pipeline/src/deploy/cloudRun/index.js +6 -2
  32. package/dist/pipeline/src/deploy/cloudRun/index.js.map +1 -1
  33. package/dist/pipeline/src/deploy/cloudRun/utils/cloudRunExecutionUrl.d.ts +6 -0
  34. package/dist/pipeline/src/deploy/cloudRun/utils/cloudRunExecutionUrl.js +11 -0
  35. package/dist/pipeline/src/deploy/cloudRun/utils/cloudRunExecutionUrl.js.map +1 -0
  36. package/dist/pipeline/src/deploy/cloudRun/utils/jobName.d.ts +5 -1
  37. package/dist/pipeline/src/deploy/cloudRun/utils/jobName.js +7 -1
  38. package/dist/pipeline/src/deploy/cloudRun/utils/jobName.js.map +1 -1
  39. package/dist/pipeline/src/deploy/types/googleCloudRun.d.ts +99 -1
  40. package/dist/pipeline/src/deploy/types/index.d.ts +1 -0
  41. package/dist/pipeline/src/deploy/types/index.js +7 -1
  42. package/dist/pipeline/src/deploy/types/index.js.map +1 -1
  43. package/dist/pipeline/src/types/config.d.ts +11 -6
  44. package/dist/tsconfig.tsbuildinfo +1 -1
  45. package/package.json +1 -1
  46. package/src/apps/catenv/printVariables.ts +4 -1
  47. package/src/apps/catenv/utils.ts +12 -3
  48. package/src/apps/cli/commands/project/commandCloudSqlProxy.ts +130 -66
  49. package/src/utils/log.ts +104 -8
@@ -42,5 +42,8 @@ const printVariables = async (config, choice) => {
42
42
  console.log(makeExportKeyValuestring(variables));
43
43
  };
44
44
  exports.printVariables = printVariables;
45
- const makeExportKeyValuestring = (variables) => (0, utils_1.makeKeyValueString)(variables, "export ");
45
+ const makeExportKeyValuestring = (variables) => (0, utils_1.makeKeyValueString)(variables, {
46
+ keyPrefix: "export ",
47
+ escapeOptions: { quoteMode: "always" },
48
+ });
46
49
  //# sourceMappingURL=printVariables.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"printVariables.js","sourceRoot":"","sources":["../../../../../src/apps/catenv/printVariables.ts"],"names":[],"mappings":";;;AACA,oEAAmE;AAEnE,mCAIiB;AAEjB,MAAM,sBAAsB,GAAG,KAAK,EAAE,MAAc,EAAE,MAAe,EAAE,EAAE;;IACvE,MAAM,EAAE,GAAG,EAAE,gBAAgB,EAAE,GAAG,MAAM,IAAA,2CAAmC,EACzE,MAAM,EACN,MAAM,CACP,CAAC;IAEF,IAAI,gBAAgB,EAAE,CAAC;QACrB,wCAAwC;QACxC,IAAI,MAAA,MAAM,CAAC,UAAU,CAAC,gBAAgB,CAAC,CAAC,MAAM,mCAAI,IAAI,EAAE,CAAC;YACvD,OAAO,EAAE,CAAC;QACZ,CAAC;QACD,OAAO,MAAM,IAAA,qCAAkB,EAAC,IAAI,EAAE,GAAG,EAAE,gBAAgB,CAAC,CAAC;IAC/D,CAAC;SAAM,CAAC;QACN,6DAA6D;QAC7D,0EAA0E;QAC1E,mCAAmC;QACnC,OAAO,MAAM,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,MAAM,CAChD,KAAK,EAAE,GAAG,EAAE,aAAa,EAAE,EAAE;;YAC3B,wCAAwC;YACxC,IAAI,MAAA,MAAM,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC,MAAM,mCAAI,IAAI,EAAE,CAAC;gBACpD,OAAO,MAAM,GAAG,CAAC;YACnB,CAAC;YACD,MAAM,UAAU,GAAG,MAAM,IAAA,qCAAkB,EAAC,IAAI,EAAE,GAAG,EAAE,aAAa,CAAC,CAAC;YACtE,OAAO,UAAU,CAAC,mBAAmB,CAAC,CAAC;YACvC,OAAO;gBACL,GAAG,CAAC,MAAM,GAAG,CAAC;gBACd,GAAG,UAAU;gBACb,qCAAqC;gBACrC,GAAG,MAAM,CAAC,WAAW,CACnB,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC;oBAC/C,GAAG,IAAA,0BAAkB,EAAC,aAAa,CAAC,WAAW,EAAE,CAAC,IAAI,GAAG,EAAE;oBAC3D,KAAK;iBACN,CAAC,CACH;aACF,CAAC;QACJ,CAAC,EACD,OAAO,CAAC,OAAO,CAAC,EAA4B,CAAC,CAC9C,CAAC;IACJ,CAAC;AACH,CAAC,CAAC;AAEK,MAAM,cAAc,GAAG,KAAK,EAAE,MAAc,EAAE,MAAe,EAAE,EAAE;IACtE,MAAM,SAAS,GAAG,MAAM,sBAAsB,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAE/D,OAAO,CAAC,GAAG,CAAC,wBAAwB,CAAC,SAAS,CAAC,CAAC,CAAC;AACnD,CAAC,CAAC;AAJW,QAAA,cAAc,kBAIzB;AAEF,MAAM,wBAAwB,GAAG,CAAC,SAAiC,EAAE,EAAE,CACrE,IAAA,0BAAkB,EAAC,SAAS,EAAE,SAAS,CAAC,CAAC"}
1
+ {"version":3,"file":"printVariables.js","sourceRoot":"","sources":["../../../../../src/apps/catenv/printVariables.ts"],"names":[],"mappings":";;;AACA,oEAAmE;AAEnE,mCAIiB;AAEjB,MAAM,sBAAsB,GAAG,KAAK,EAAE,MAAc,EAAE,MAAe,EAAE,EAAE;;IACvE,MAAM,EAAE,GAAG,EAAE,gBAAgB,EAAE,GAAG,MAAM,IAAA,2CAAmC,EACzE,MAAM,EACN,MAAM,CACP,CAAC;IAEF,IAAI,gBAAgB,EAAE,CAAC;QACrB,wCAAwC;QACxC,IAAI,MAAA,MAAM,CAAC,UAAU,CAAC,gBAAgB,CAAC,CAAC,MAAM,mCAAI,IAAI,EAAE,CAAC;YACvD,OAAO,EAAE,CAAC;QACZ,CAAC;QACD,OAAO,MAAM,IAAA,qCAAkB,EAAC,IAAI,EAAE,GAAG,EAAE,gBAAgB,CAAC,CAAC;IAC/D,CAAC;SAAM,CAAC;QACN,6DAA6D;QAC7D,0EAA0E;QAC1E,mCAAmC;QACnC,OAAO,MAAM,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,MAAM,CAChD,KAAK,EAAE,GAAG,EAAE,aAAa,EAAE,EAAE;;YAC3B,wCAAwC;YACxC,IAAI,MAAA,MAAM,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC,MAAM,mCAAI,IAAI,EAAE,CAAC;gBACpD,OAAO,MAAM,GAAG,CAAC;YACnB,CAAC;YACD,MAAM,UAAU,GAAG,MAAM,IAAA,qCAAkB,EAAC,IAAI,EAAE,GAAG,EAAE,aAAa,CAAC,CAAC;YACtE,OAAO,UAAU,CAAC,mBAAmB,CAAC,CAAC;YACvC,OAAO;gBACL,GAAG,CAAC,MAAM,GAAG,CAAC;gBACd,GAAG,UAAU;gBACb,qCAAqC;gBACrC,GAAG,MAAM,CAAC,WAAW,CACnB,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC;oBAC/C,GAAG,IAAA,0BAAkB,EAAC,aAAa,CAAC,WAAW,EAAE,CAAC,IAAI,GAAG,EAAE;oBAC3D,KAAK;iBACN,CAAC,CACH;aACF,CAAC;QACJ,CAAC,EACD,OAAO,CAAC,OAAO,CAAC,EAA4B,CAAC,CAC9C,CAAC;IACJ,CAAC;AACH,CAAC,CAAC;AAEK,MAAM,cAAc,GAAG,KAAK,EAAE,MAAc,EAAE,MAAe,EAAE,EAAE;IACtE,MAAM,SAAS,GAAG,MAAM,sBAAsB,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAE/D,OAAO,CAAC,GAAG,CAAC,wBAAwB,CAAC,SAAS,CAAC,CAAC,CAAC;AACnD,CAAC,CAAC;AAJW,QAAA,cAAc,kBAIzB;AAEF,MAAM,wBAAwB,GAAG,CAAC,SAAiC,EAAE,EAAE,CACrE,IAAA,0BAAkB,EAAC,SAAS,EAAE;IAC5B,SAAS,EAAE,SAAS;IACpB,aAAa,EAAE,EAAE,SAAS,EAAE,QAAQ,EAAE;CACvC,CAAC,CAAC"}
@@ -1,9 +1,13 @@
1
- import type { Config } from "../../../../pipeline/src/index.js";
1
+ import type { Config, EscapeForDotEnvOptions } from "../../../../pipeline/src/index.js";
2
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: Record<string, string>, keyPrefix?: string) => string;
8
+ export type MakeKeyValueStringOptions = {
9
+ keyPrefix?: string;
10
+ escapeOptions?: EscapeForDotEnvOptions;
11
+ };
12
+ export declare const makeKeyValueString: (variables: Record<string, string>, { keyPrefix, escapeOptions }?: MakeKeyValueStringOptions) => string;
9
13
  export declare const sanitizeEnvVarName: (name: string) => string;
@@ -23,9 +23,11 @@ const getCurrentComponentAndEnvFromChoice = async (config, choice) => {
23
23
  };
24
24
  };
25
25
  exports.getCurrentComponentAndEnvFromChoice = getCurrentComponentAndEnvFromChoice;
26
- const makeKeyValueString = (variables, keyPrefix = "") => Object.entries(variables)
26
+ const makeKeyValueString = (variables, { keyPrefix, escapeOptions } = {
27
+ keyPrefix: "",
28
+ }) => Object.entries(variables)
27
29
  // quotes are important, otherwise line breaks don't work properly
28
- .map(([key, value]) => `${keyPrefix}${key}=${(0, pipeline_1.escapeForDotEnv)(value)}`)
30
+ .map(([key, value]) => `${keyPrefix}${key}=${(0, pipeline_1.escapeForDotEnv)(value, escapeOptions)}`)
29
31
  .join("\n");
30
32
  exports.makeKeyValueString = makeKeyValueString;
31
33
  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,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"}
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;AAMK,MAAM,kBAAkB,GAAG,CAChC,SAAiC,EACjC,EAAE,SAAS,EAAE,aAAa,KAAgC;IACxD,SAAS,EAAE,EAAE;CACd,EACD,EAAE,CACF,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC;IACvB,kEAAkE;KACjE,GAAG,CACF,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE,CACf,GAAG,SAAS,GAAG,GAAG,IAAI,IAAA,0BAAe,EAAC,KAAK,EAAE,aAAa,CAAC,EAAE,CAChE;KACA,IAAI,CAAC,IAAI,CAAC,CAAC;AAZH,QAAA,kBAAkB,sBAYf;AAET,MAAM,kBAAkB,GAAG,CAAC,IAAY,EAAE,EAAE,CACjD,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC;AADpB,QAAA,kBAAkB,sBACE"}
@@ -1,55 +1,24 @@
1
1
  "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
2
5
  Object.defineProperty(exports, "__esModule", { value: true });
3
6
  const pipeline_1 = require("../../../../../../pipeline/src/index.js");
7
+ const clipboardy_1 = __importDefault(require("clipboardy"));
4
8
  const getProjectConfig_1 = require("../../../../config/getProjectConfig");
5
9
  const autocompletions_1 = require("./utils/autocompletions");
6
10
  const startProxy_1 = require("../../../../gcloud/cloudSql/startProxy");
7
- exports.default = async (vorpal) => vorpal
8
- .command("project-cloud-sql-proxy <envComponent>", "proxy to cloud sql db")
9
- .autocomplete(await (0, autocompletions_1.envAndComponents)())
10
- .action(async function ({ envComponent }) {
11
- var _a, _b;
12
- const { env, componentName } = (0, getProjectConfig_1.parseChoice)(envComponent);
13
- if (!componentName) {
14
- this.log("need componentName");
15
- return;
16
- }
17
- const context = await (0, getProjectConfig_1.getPipelineContextByChoice)(env, componentName);
18
- let proxyInfo;
19
- if (env === "review") {
20
- vorpal.log("⚠️ connection string does not include mr information on review environments");
21
- }
11
+ const log_1 = require("../../../../utils/log");
12
+ const getProxyInfo = (context) => {
13
+ var _a, _b, _c, _d;
22
14
  if ((0, pipeline_1.isOfDeployType)((_a = context.deploy) === null || _a === void 0 ? void 0 : _a.config, "kubernetes")) {
23
- proxyInfo = await getProxyInfoForKubernetes(this, context);
15
+ return getProxyInfoForKubernetes(this, context);
24
16
  }
25
17
  else if ((0, pipeline_1.isOfDeployType)((_b = context.deploy) === null || _b === void 0 ? void 0 : _b.config, "google-cloudrun")) {
26
- proxyInfo = await getProxyInfoForCloudRun(this, context);
27
- }
28
- else {
29
- throw new Error("unsupported environment");
18
+ return getProxyInfoForCloudRun(this, context);
30
19
  }
31
- // skynet-164509:europe-west6:pvl-cyclomania-review=tcp:5432
32
- const { DB_PASSWORD, DB_NAME, DB_USER, instanceName } = proxyInfo;
33
- const { localPort } = await this.prompt({
34
- type: "number",
35
- name: "localPort",
36
- default: "54320",
37
- message: "Local port: ",
38
- });
39
- this.log("");
40
- this.log(`postgres-PW: ${DB_PASSWORD}`);
41
- this.log("");
42
- this.log("connection strings:");
43
- this.log("");
44
- this.log(`DATABASE_URL=postgresql://${DB_USER}:${DB_PASSWORD}@localhost:${localPort}/${DB_NAME}?schema=public`);
45
- this.log("");
46
- this.log(`DATABASE_JDBC_URL=jdbc:postgresql://localhost:${localPort}/${DB_NAME}?schema=public&user=${DB_USER}&password=${DB_PASSWORD}`);
47
- this.log("");
48
- await (0, startProxy_1.startCloudSqlProxyInCurrentShell)({
49
- instanceName,
50
- localPort,
51
- });
52
- });
20
+ throw new Error(`unsupported environment: ${(_d = (_c = context.deploy) === null || _c === void 0 ? void 0 : _c.config) === null || _d === void 0 ? void 0 : _d.type}`);
21
+ };
53
22
  const getProxyInfoForKubernetes = async (vorpal, context) => {
54
23
  var _a, _b;
55
24
  if (!(0, pipeline_1.isOfDeployType)((_a = context.deploy) === null || _a === void 0 ? void 0 : _a.config, "kubernetes")) {
@@ -69,20 +38,84 @@ const getProxyInfoForKubernetes = async (vorpal, context) => {
69
38
  };
70
39
  };
71
40
  const getProxyInfoForCloudRun = async (vorpal, context) => {
72
- var _a, _b, _c, _d, _e;
41
+ var _a, _b, _c, _d, _e, _f;
73
42
  if (!(0, pipeline_1.isOfDeployType)((_a = context.deploy) === null || _a === void 0 ? void 0 : _a.config, "google-cloudrun") ||
74
43
  !((_b = context.deploy) === null || _b === void 0 ? void 0 : _b.config.cloudSql)) {
75
- throw new Error("unsupported");
44
+ const deployType = (0, pipeline_1.getDeployConfigType)((_c = context.deploy) === null || _c === void 0 ? void 0 : _c.config);
45
+ const errorMessage = deployType === "google-cloudrun"
46
+ ? `DeployConfig is missing the cloudSql property`
47
+ : `Unsupported DeployConfig type: ${deployType}`;
48
+ (0, log_1.logError)(vorpal, errorMessage);
49
+ throw new Error(errorMessage);
76
50
  }
77
51
  const envVars = await (0, getProjectConfig_1.getEnvVarsResolved)(vorpal, context.env, context.name);
78
- const DB_PASSWORD = (_c = envVars === null || envVars === void 0 ? void 0 : envVars.DB_PASSWORD) === null || _c === void 0 ? void 0 : _c.toString();
79
- const DB_USER = (_d = envVars === null || envVars === void 0 ? void 0 : envVars.DB_USER) === null || _d === void 0 ? void 0 : _d.toString();
80
- const DB_NAME = context.environment.envVars.DB_NAME.toString();
81
52
  return {
82
- instanceName: (_e = context.deploy) === null || _e === void 0 ? void 0 : _e.config.cloudSql.instanceConnectionName,
83
- DB_PASSWORD,
84
- DB_NAME,
85
- DB_USER,
53
+ instanceName: (_d = context.deploy) === null || _d === void 0 ? void 0 : _d.config.cloudSql.instanceConnectionName,
54
+ DB_PASSWORD: (_e = envVars === null || envVars === void 0 ? void 0 : envVars.DB_PASSWORD) === null || _e === void 0 ? void 0 : _e.toString(),
55
+ DB_NAME: context.environment.envVars.DB_NAME.toString(),
56
+ DB_USER: (_f = envVars === null || envVars === void 0 ? void 0 : envVars.DB_USER) === null || _f === void 0 ? void 0 : _f.toString(),
86
57
  };
87
58
  };
59
+ const getDbUrl = ({ DB_PASSWORD, DB_NAME, DB_USER }, localPort, additional = "") => `DATABASE_URL="postgresql://${DB_USER}:${DB_PASSWORD}@localhost:${localPort}/${DB_NAME}${additional}"`;
60
+ const getJdbcUrl = ({ DB_PASSWORD, DB_NAME, DB_USER }, localPort) => `DATABASE_JDBC_URL="jdbc:postgresql://localhost:${localPort}/${DB_NAME}?schema=public&user=${DB_USER}&password=${DB_PASSWORD}"`;
61
+ exports.default = async (vorpal) => vorpal
62
+ .command("project-cloud-sql-proxy <envComponent>", "proxy to cloud sql db")
63
+ .autocomplete(await (0, autocompletions_1.envAndComponents)())
64
+ .action(async function ({ envComponent }) {
65
+ const { env, componentName } = (0, getProjectConfig_1.parseChoice)(envComponent);
66
+ if (!componentName) {
67
+ (0, log_1.logWarning)(this, "need componentName");
68
+ return;
69
+ }
70
+ const context = await (0, getProjectConfig_1.getPipelineContextByChoice)(env, componentName);
71
+ if (env === "review") {
72
+ (0, log_1.logWarning)(this, "connection string does not include mr information on review environments");
73
+ }
74
+ const { localPort } = await this.prompt({
75
+ type: "number",
76
+ name: "localPort",
77
+ default: "54320",
78
+ message: "Local port: ",
79
+ });
80
+ const proxyInfo = await getProxyInfo(context);
81
+ /**
82
+ * Env variables for libpq (e.g. psql client)
83
+ * https://www.postgresql.org/docs/current/libpq-envars.html#LIBPQ-ENVARS
84
+ */
85
+ const psqlEnvVars = {
86
+ PGPASSWORD: proxyInfo.DB_PASSWORD,
87
+ PGUSER: proxyInfo.DB_USER,
88
+ PGDATABASE: proxyInfo.DB_NAME,
89
+ PGHOST: "localhost",
90
+ PGPORT: localPort,
91
+ };
92
+ const lipbqEnvVarDeclarations = Object.entries(psqlEnvVars).map(([key, value]) => `${key}="${value}"`);
93
+ const dbUrl = getDbUrl(proxyInfo, localPort);
94
+ const jdbcUrl = getJdbcUrl(proxyInfo, localPort);
95
+ clipboardy_1.default.writeSync([
96
+ "",
97
+ "## CloudSQL proxy connection .env variables",
98
+ dbUrl,
99
+ jdbcUrl,
100
+ "## DATABASE_URL with schema=public parameter (e. g. Prisma requires this):",
101
+ `# ${getDbUrl(proxyInfo, localPort, `?schema=public`)}`,
102
+ "## Env variables for libpq (e.g. psql client https://www.postgresql.org/docs/current/libpq-envars.html#LIBPQ-ENVARS)",
103
+ ...lipbqEnvVarDeclarations,
104
+ "",
105
+ ].join("\n"));
106
+ (0, log_1.logLines)(this, null, "Connection strings env variables DATABASE_URL and those for the 'psql' client (copied to your clipboard for .env file):", dbUrl, jdbcUrl, ...lipbqEnvVarDeclarations, null, "DATABASE_URL with schema=public parameter (e. g. Prisma requires this):", getDbUrl(proxyInfo, localPort, `?schema=public`), null);
107
+ try {
108
+ await (0, startProxy_1.startCloudSqlProxyInCurrentShell)({
109
+ instanceName: proxyInfo.instanceName,
110
+ localPort,
111
+ });
112
+ }
113
+ catch (error) {
114
+ if (!(error instanceof Error))
115
+ throw error;
116
+ if (error.message !== startProxy_1.ERROR_NOT_INSTALLED)
117
+ throw error;
118
+ (0, log_1.logError)(this, error.message, null, "Please install the Cloud SQL Auth Proxy from:", `https://cloud.google.com/sql/docs/postgres/connect-auth-proxy#install`, null);
119
+ }
120
+ });
88
121
  //# sourceMappingURL=commandCloudSqlProxy.js.map
@@ -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":";;;;;AACA,kDAI6B;AAG7B,4DAAmC;AACnC,0EAI6C;AAC7C,6DAA2D;AAC3D,uEAGgD;AAChD,+CAAuE;AASvE,MAAM,YAAY,GAAG,CAAC,OAAyB,EAAE,EAAE;;IACjD,IAAI,IAAA,yBAAc,EAAC,MAAA,OAAO,CAAC,MAAM,0CAAE,MAAM,EAAE,YAAY,CAAC,EAAE,CAAC;QACzD,OAAO,yBAAyB,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IAClD,CAAC;SAAM,IAAI,IAAA,yBAAc,EAAC,MAAA,OAAO,CAAC,MAAM,0CAAE,MAAM,EAAE,iBAAiB,CAAC,EAAE,CAAC;QACrE,OAAO,uBAAuB,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IAChD,CAAC;IACD,MAAM,IAAI,KAAK,CAAC,4BAA4B,MAAA,MAAA,OAAO,CAAC,MAAM,0CAAE,MAAM,0CAAE,IAAI,EAAE,CAAC,CAAC;AAC9E,CAAC,CAAC;AAEF,MAAM,yBAAyB,GAAG,KAAK,EACrC,MAAuB,EACvB,OAAyB,EACL,EAAE;;IACtB,IAAI,CAAC,IAAA,yBAAc,EAAC,MAAA,OAAO,CAAC,MAAM,0CAAE,MAAM,EAAE,YAAY,CAAC,EAAE,CAAC;QAC1D,MAAM,IAAI,KAAK,CAAC,aAAa,CAAC,CAAC;IACjC,CAAC;IAED,MAAM,OAAO,GAAG,MAAM,IAAA,qCAAkB,EAAC,MAAM,EAAE,OAAO,CAAC,GAAG,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;IAC5E,2EAA2E;IAC3E,MAAM,cAAc,GAAG,IAAA,6CAAkC,EAAC,OAAO,CAAC,CAAC;IAEnE,MAAM,WAAW,GAAG,MAAA,CAClB,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,WAAW,MAAI,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,mBAAmB,CAAA,CACrD,0CAAE,QAAQ,EAAE,CAAC;IAEd,MAAM,OAAO,GAAG,cAAc,CAAC,QAAQ,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC;IAE9D,MAAM,YAAY,GAAG,cAAc,CAAC,QAAQ,CAAC,sBAAsB,CAAC;IAEpE,OAAO;QACL,YAAY;QACZ,WAAW;QACX,OAAO;QACP,OAAO,EAAE,UAAU;KACpB,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,uBAAuB,GAAG,KAAK,EACnC,MAAuB,EACvB,OAAyB,EACL,EAAE;;IACtB,IACE,CAAC,IAAA,yBAAc,EAAC,MAAA,OAAO,CAAC,MAAM,0CAAE,MAAM,EAAE,iBAAiB,CAAC;QAC1D,CAAC,CAAA,MAAA,OAAO,CAAC,MAAM,0CAAE,MAAM,CAAC,QAAQ,CAAA,EAChC,CAAC;QACD,MAAM,UAAU,GAAG,IAAA,8BAAmB,EAAC,MAAA,OAAO,CAAC,MAAM,0CAAE,MAAM,CAAC,CAAC;QAC/D,MAAM,YAAY,GAChB,UAAU,KAAK,iBAAiB;YAC9B,CAAC,CAAC,+CAA+C;YACjD,CAAC,CAAC,kCAAkC,UAAU,EAAE,CAAC;QACrD,IAAA,cAAQ,EAAC,MAAM,EAAE,YAAY,CAAC,CAAC;QAC/B,MAAM,IAAI,KAAK,CAAC,YAAY,CAAC,CAAC;IAChC,CAAC;IACD,MAAM,OAAO,GAAG,MAAM,IAAA,qCAAkB,EAAC,MAAM,EAAE,OAAO,CAAC,GAAG,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;IAC5E,OAAO;QACL,YAAY,EAAE,MAAA,OAAO,CAAC,MAAM,0CAAE,MAAM,CAAC,QAAQ,CAAC,sBAAsB;QACpE,WAAW,EAAE,MAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,WAAW,0CAAE,QAAQ,EAAE;QAC7C,OAAO,EAAE,OAAO,CAAC,WAAW,CAAC,OAAO,CAAC,OAAO,CAAC,QAAQ,EAAE;QACvD,OAAO,EAAE,MAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,OAAO,0CAAE,QAAQ,EAAE;KACtC,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,QAAQ,GAAG,CACf,EAAE,WAAW,EAAE,OAAO,EAAE,OAAO,EAAa,EAC5C,SAAiB,EACjB,aAAqB,EAAE,EACvB,EAAE,CACF,8BAA8B,OAAO,IAAI,WAAW,cAAc,SAAS,IAAI,OAAO,GAAG,UAAU,GAAG,CAAC;AAEzG,MAAM,UAAU,GAAG,CACjB,EAAE,WAAW,EAAE,OAAO,EAAE,OAAO,EAAa,EAC5C,SAAiB,EACjB,EAAE,CACF,kDAAkD,SAAS,IAAI,OAAO,uBAAuB,OAAO,aAAa,WAAW,GAAG,CAAC;AAElI,kBAAe,KAAK,EAAE,MAAc,EAAE,EAAE,CACtC,MAAM;KACH,OAAO,CAAC,wCAAwC,EAAE,uBAAuB,CAAC;KAC1E,YAAY,CAAC,MAAM,IAAA,kCAAgB,GAAE,CAAC;KACtC,MAAM,CAAC,KAAK,WAAW,EAAE,YAAY,EAAE;IACtC,MAAM,EAAE,GAAG,EAAE,aAAa,EAAE,GAAG,IAAA,8BAAW,EAAC,YAAY,CAAC,CAAC;IACzD,IAAI,CAAC,aAAa,EAAE,CAAC;QACnB,IAAA,gBAAU,EAAC,IAAI,EAAE,oBAAoB,CAAC,CAAC;QACvC,OAAO;IACT,CAAC;IAED,MAAM,OAAO,GAAG,MAAM,IAAA,6CAA0B,EAAC,GAAG,EAAE,aAAa,CAAC,CAAC;IAErE,IAAI,GAAG,KAAK,QAAQ,EAAE,CAAC;QACrB,IAAA,gBAAU,EACR,IAAI,EACJ,0EAA0E,CAC3E,CAAC;IACJ,CAAC;IAED,MAAM,EAAE,SAAS,EAAE,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC;QACtC,IAAI,EAAE,QAAQ;QACd,IAAI,EAAE,WAAW;QACjB,OAAO,EAAE,OAAO;QAChB,OAAO,EAAE,cAAc;KACxB,CAAC,CAAC;IAEH,MAAM,SAAS,GAAG,MAAM,YAAY,CAAC,OAAO,CAAC,CAAC;IAE9C;;;OAGG;IACH,MAAM,WAAW,GAAG;QAClB,UAAU,EAAE,SAAS,CAAC,WAAW;QACjC,MAAM,EAAE,SAAS,CAAC,OAAO;QACzB,UAAU,EAAE,SAAS,CAAC,OAAO;QAC7B,MAAM,EAAE,WAAW;QACnB,MAAM,EAAE,SAAS;KAClB,CAAC;IACF,MAAM,uBAAuB,GAAG,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,GAAG,CAC7D,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,KAAK,KAAK,GAAG,CACtC,CAAC;IACF,MAAM,KAAK,GAAG,QAAQ,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;IAC7C,MAAM,OAAO,GAAG,UAAU,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;IAEjD,oBAAS,CAAC,SAAS,CACjB;QACE,EAAE;QACF,6CAA6C;QAC7C,KAAK;QACL,OAAO;QACP,4EAA4E;QAC5E,KAAK,QAAQ,CAAC,SAAS,EAAE,SAAS,EAAE,gBAAgB,CAAC,EAAE;QACvD,sHAAsH;QACtH,GAAG,uBAAuB;QAC1B,EAAE;KACH,CAAC,IAAI,CAAC,IAAI,CAAC,CACb,CAAC;IAEF,IAAA,cAAQ,EACN,IAAI,EACJ,IAAI,EACJ,yHAAyH,EACzH,KAAK,EACL,OAAO,EACP,GAAG,uBAAuB,EAC1B,IAAI,EACJ,yEAAyE,EACzE,QAAQ,CAAC,SAAS,EAAE,SAAS,EAAE,gBAAgB,CAAC,EAChD,IAAI,CACL,CAAC;IAEF,IAAI,CAAC;QACH,MAAM,IAAA,6CAAgC,EAAC;YACrC,YAAY,EAAE,SAAS,CAAC,YAAY;YACpC,SAAS;SACV,CAAC,CAAC;IACL,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,CAAC,CAAC,KAAK,YAAY,KAAK,CAAC;YAAE,MAAM,KAAK,CAAC;QAC3C,IAAI,KAAK,CAAC,OAAO,KAAK,gCAAmB;YAAE,MAAM,KAAK,CAAC;QACvD,IAAA,cAAQ,EACN,IAAI,EACJ,KAAK,CAAC,OAAO,EACb,IAAI,EACJ,+CAA+C,EAC/C,uEAAuE,EACvE,IAAI,CACL,CAAC;IACJ,CAAC;AACH,CAAC,CAAC,CAAC"}
@@ -1 +1,65 @@
1
- export declare const logError: (cmd: any, message: string, additionalMessage?: any) => void;
1
+ import type { CommandInstance } from "vorpal";
2
+ type AnyMessagesFn = (message?: any, ...optionalParams: any[]) => void;
3
+ type StringMessagesFn = (message?: string, ...optionalParams: string[]) => void;
4
+ type AnyMessageFn = (message?: any) => void;
5
+ type StringMessageFn = (message?: string) => void;
6
+ type StringMessageSpreadFn = (...message: string[]) => void;
7
+ type AnyMessageSpreadFn = (...message: any[]) => void;
8
+ type SomeKindOfLogFn = AnyMessagesFn | StringMessagesFn | AnyMessageFn | StringMessageFn | StringMessageSpreadFn | AnyMessageSpreadFn;
9
+ type HasSomeKindOfLogMethod = {
10
+ log: SomeKindOfLogFn;
11
+ };
12
+ /**
13
+ * Something that has a .log method taking a string argument.
14
+ *
15
+ * null and undefined will fall back to console.log.
16
+ */
17
+ export type LoggerCmdInstance = CommandInstance | Console | HasSomeKindOfLogMethod | null | undefined;
18
+ type LinesArgItem = string | null | undefined;
19
+ type LinesArg = LinesArgItem | LinesArgItem[];
20
+ /**
21
+ * Logs multiple lines using the log method of the provided {@link LoggerCmdInstance}.
22
+ *
23
+ * Line items that are `null` or `undefined` are logged as empty lines.
24
+ *
25
+ * @param cmd - The logger instance to use. If `null` or `undefined`, `console` will be used.
26
+ *
27
+ * @example
28
+ * ```ts
29
+ * logLines(cmd, "line 1", "line 2", null, "line 3");
30
+ * logLines(cmd, ...linesArray); // arrays can be spread into the function
31
+ * logLines(cmd, linesArray); // but it will flatten the plain array for convenience
32
+ * ```
33
+ */
34
+ export declare function logLines(cmd?: LoggerCmdInstance, ...lines: LinesArg[]): void;
35
+ /**
36
+ * Logs an error message using the log method of the provided {@link LoggerCmdInstance}.
37
+ *
38
+ * Line items that are `null` or `undefined` are logged as empty lines.
39
+ *
40
+ * @example
41
+ * ```ts
42
+ * logError(cmd, "Message");
43
+ * logError(cmd, "Message", "Additional message");
44
+ * logError(cmd, "Message", "Additional message", "Another additional message line");
45
+ * logError(cmd, "Message", ...additionalMessages); // arrays can be spread into the function
46
+ * logError(cmd, "Message", additionalMessages); // but it will flatten the plain array for convenience
47
+ * ```
48
+ */
49
+ export declare const logError: (cmd: LoggerCmdInstance, message: string, ...additionalMessages: LinesArg[]) => void;
50
+ /**
51
+ * Logs a warning message using the log method of the provided {@link LoggerCmdInstance}.
52
+ *
53
+ * Line items that are `null` or `undefined` are logged as empty lines.
54
+ *
55
+ * @example
56
+ * ```ts
57
+ * logWarning(cmd, "Message");
58
+ * logWarning(cmd, "Message", "Additional message");
59
+ * logWarning(cmd, "Message", "Additional message", "Another additional message line");
60
+ * logWarning(cmd, "Message", ...additionalMessages); // arrays can be spread into the function
61
+ * logWarning(cmd, "Message", additionalMessages); // but it will flatten the plain array for convenience
62
+ * ```
63
+ */
64
+ export declare const logWarning: (cmd: LoggerCmdInstance, message: string, ...additionalMessages: LinesArg[]) => void;
65
+ export {};
@@ -1,14 +1,72 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.logError = void 0;
4
- const logError = (cmd, message, additionalMessage) => {
5
- cmd.log("");
6
- cmd.log(`[ERROR] 🙀 :${message}`);
7
- cmd.log("");
8
- if (additionalMessage) {
9
- cmd.log(additionalMessage);
10
- cmd.log("");
3
+ exports.logWarning = exports.logError = exports.logLines = void 0;
4
+ /**
5
+ * Logs multiple lines using the log method of the provided {@link LoggerCmdInstance}.
6
+ *
7
+ * Line items that are `null` or `undefined` are logged as empty lines.
8
+ *
9
+ * @param cmd - The logger instance to use. If `null` or `undefined`, `console` will be used.
10
+ *
11
+ * @example
12
+ * ```ts
13
+ * logLines(cmd, "line 1", "line 2", null, "line 3");
14
+ * logLines(cmd, ...linesArray); // arrays can be spread into the function
15
+ * logLines(cmd, linesArray); // but it will flatten the plain array for convenience
16
+ * ```
17
+ */
18
+ function logLines(cmd = console, ...lines) {
19
+ const logger = cmd !== null && cmd !== void 0 ? cmd : console;
20
+ for (const line of lines.flat()) {
21
+ if (line === null || line === undefined) {
22
+ logger.log("");
23
+ }
24
+ else {
25
+ logger.log(line);
26
+ }
27
+ }
28
+ }
29
+ exports.logLines = logLines;
30
+ /**
31
+ * Logs an error message using the log method of the provided {@link LoggerCmdInstance}.
32
+ *
33
+ * Line items that are `null` or `undefined` are logged as empty lines.
34
+ *
35
+ * @example
36
+ * ```ts
37
+ * logError(cmd, "Message");
38
+ * logError(cmd, "Message", "Additional message");
39
+ * logError(cmd, "Message", "Additional message", "Another additional message line");
40
+ * logError(cmd, "Message", ...additionalMessages); // arrays can be spread into the function
41
+ * logError(cmd, "Message", additionalMessages); // but it will flatten the plain array for convenience
42
+ * ```
43
+ */
44
+ const logError = (cmd = console, message, ...additionalMessages) => {
45
+ logLines(cmd, null, `[ERROR] 🙀 :${message}`, null);
46
+ if (additionalMessages === null || additionalMessages === void 0 ? void 0 : additionalMessages.length) {
47
+ logLines(cmd, ...additionalMessages.flat(), null);
11
48
  }
12
49
  };
13
50
  exports.logError = logError;
51
+ /**
52
+ * Logs a warning message using the log method of the provided {@link LoggerCmdInstance}.
53
+ *
54
+ * Line items that are `null` or `undefined` are logged as empty lines.
55
+ *
56
+ * @example
57
+ * ```ts
58
+ * logWarning(cmd, "Message");
59
+ * logWarning(cmd, "Message", "Additional message");
60
+ * logWarning(cmd, "Message", "Additional message", "Another additional message line");
61
+ * logWarning(cmd, "Message", ...additionalMessages); // arrays can be spread into the function
62
+ * logWarning(cmd, "Message", additionalMessages); // but it will flatten the plain array for convenience
63
+ * ```
64
+ */
65
+ const logWarning = (cmd = console, message, ...additionalMessages) => {
66
+ logLines(cmd, `[WARNING] ⚠️ : ${message}`);
67
+ if (additionalMessages === null || additionalMessages === void 0 ? void 0 : additionalMessages.length) {
68
+ logLines(cmd, ...additionalMessages.flat(), null);
69
+ }
70
+ };
71
+ exports.logWarning = logWarning;
14
72
  //# sourceMappingURL=log.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"log.js","sourceRoot":"","sources":["../../../../src/utils/log.ts"],"names":[],"mappings":";;;AAAO,MAAM,QAAQ,GAAG,CACtB,GAAQ,EACR,OAAe,EACf,iBAAuB,EACvB,EAAE;IACF,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IACZ,GAAG,CAAC,GAAG,CAAC,eAAe,OAAO,EAAE,CAAC,CAAC;IAClC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IACZ,IAAI,iBAAiB,EAAE,CAAC;QACtB,GAAG,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC;QAC3B,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IACd,CAAC;AACH,CAAC,CAAC;AAZW,QAAA,QAAQ,YAYnB"}
1
+ {"version":3,"file":"log.js","sourceRoot":"","sources":["../../../../src/utils/log.ts"],"names":[],"mappings":";;;AAgCA;;;;;;;;;;;;;GAaG;AACH,SAAgB,QAAQ,CACtB,MAAyB,OAAO,EAChC,GAAG,KAAiB;IAEpB,MAAM,MAAM,GAAG,GAAG,aAAH,GAAG,cAAH,GAAG,GAAI,OAAO,CAAC;IAC9B,KAAK,MAAM,IAAI,IAAI,KAAK,CAAC,IAAI,EAAE,EAAE,CAAC;QAChC,IAAI,IAAI,KAAK,IAAI,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;YACxC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACjB,CAAC;aAAM,CAAC;YACN,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACnB,CAAC;IACH,CAAC;AACH,CAAC;AAZD,4BAYC;AAED;;;;;;;;;;;;;GAaG;AACI,MAAM,QAAQ,GAAG,CACtB,MAAyB,OAAO,EAChC,OAAe,EACf,GAAG,kBAA8B,EACjC,EAAE;IACF,QAAQ,CAAC,GAAG,EAAE,IAAI,EAAE,eAAe,OAAO,EAAE,EAAE,IAAI,CAAC,CAAC;IACpD,IAAI,kBAAkB,aAAlB,kBAAkB,uBAAlB,kBAAkB,CAAE,MAAM,EAAE,CAAC;QAC/B,QAAQ,CAAC,GAAG,EAAE,GAAG,kBAAkB,CAAC,IAAI,EAAE,EAAE,IAAI,CAAC,CAAC;IACpD,CAAC;AACH,CAAC,CAAC;AATW,QAAA,QAAQ,YASnB;AAEF;;;;;;;;;;;;;GAaG;AACI,MAAM,UAAU,GAAG,CACxB,MAAyB,OAAO,EAChC,OAAe,EACf,GAAG,kBAA8B,EACjC,EAAE;IACF,QAAQ,CAAC,GAAG,EAAE,kBAAkB,OAAO,EAAE,CAAC,CAAC;IAC3C,IAAI,kBAAkB,aAAlB,kBAAkB,uBAAlB,kBAAkB,CAAE,MAAM,EAAE,CAAC;QAC/B,QAAQ,CAAC,GAAG,EAAE,GAAG,kBAAkB,CAAC,IAAI,EAAE,EAAE,IAAI,CAAC,CAAC;IACpD,CAAC;AACH,CAAC,CAAC;AATW,QAAA,UAAU,cASrB"}
@@ -13,6 +13,9 @@ export declare const escapeString: (value: string | null | undefined, { quotes }
13
13
  export declare const escapeBashExpression: (value: BashExpression, options: EscapeOptions) => BashExpression;
14
14
  export declare const escapeDoubleQuotes: (value: string | null | undefined) => string;
15
15
  export declare const escapeSingleQuotes: (value: string | null | undefined) => string;
16
+ export type EscapeForDotEnvOptions = {
17
+ quoteMode: "auto" | "always";
18
+ };
16
19
  /**
17
20
  *
18
21
  * escape env vars for .env files.
@@ -29,4 +32,4 @@ export declare const escapeSingleQuotes: (value: string | null | undefined) => s
29
32
  *
30
33
  * - other languages are currently only partially supported, since most .env implementations are slightly different
31
34
  */
32
- export declare const escapeForDotEnv: (value: VariableValue | undefined | null) => string;
35
+ export declare const escapeForDotEnv: (value: VariableValue | undefined | null, options?: EscapeForDotEnvOptions) => string;
@@ -57,14 +57,16 @@ exports.escapeSingleQuotes = escapeSingleQuotes;
57
57
  *
58
58
  * - other languages are currently only partially supported, since most .env implementations are slightly different
59
59
  */
60
- const escapeForDotEnv = (value) => {
60
+ const escapeForDotEnv = (value, options = {
61
+ quoteMode: "auto",
62
+ }) => {
61
63
  if (value === undefined || value === null) {
62
64
  return "";
63
65
  }
64
66
  if (typeof value === "string") {
65
67
  // if string contains newlines, we need to wrap it in quotes
66
68
  // we additionaly escape newlines, that give best compatibility
67
- if (value.includes("\n")) {
69
+ if (options.quoteMode === "always" || value.includes("\n")) {
68
70
  const newlinesReplaces = value.replace(/\n/g, "\\n");
69
71
  // default to ", but if this is not possible, we try to use ' or `
70
72
  const quote = value.includes(`"`)
@@ -1 +1 @@
1
- {"version":3,"file":"bashEscape.js","sourceRoot":"","sources":["../../../../../pipeline/src/bash/bashEscape.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"bashEscape.js","sourceRoot":"","sources":["../../../../../pipeline/src/bash/bashEscape.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.getEnvConfig = void 0;
4
- const utils_1 = require("../utils");
4
+ const lodash_1 = require("lodash");
5
5
  const getEnvConfig = (config, componentName, env) => {
6
6
  var _a, _b;
7
7
  const defaultConfig = config.components[componentName];
@@ -13,7 +13,19 @@ const getEnvConfig = (config, componentName, env) => {
13
13
  // env is disabled, still return the default config
14
14
  return defaultConfig;
15
15
  }
16
- return (0, utils_1.mergeWithMergingArrays)(defaultConfig, envCustomizations);
16
+ /**
17
+ * env config is merged with default. Arrays are not merged.
18
+ * you can customize this by providing a function that takes the default value as argument
19
+ */
20
+ return (0, lodash_1.mergeWith)({}, defaultConfig, envCustomizations, (defaultValue, customValue) => {
21
+ // check if custom value is a function (and default is not),
22
+ // we currently don't have config options that are functions, but we might in the future
23
+ if (typeof customValue === "function" &&
24
+ typeof defaultValue !== "function") {
25
+ return customValue(defaultValue);
26
+ }
27
+ return undefined;
28
+ });
17
29
  };
18
30
  exports.getEnvConfig = getEnvConfig;
19
31
  //# sourceMappingURL=getEnvConfig.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"getEnvConfig.js","sourceRoot":"","sources":["../../../../../pipeline/src/context/getEnvConfig.ts"],"names":[],"mappings":";;;AAEA,oCAAkD;AAE3C,MAAM,YAAY,GAAG,CAC1B,MAAc,EACd,aAAqB,EACrB,GAAW,EACa,EAAE;;IAC1B,MAAM,aAAa,GAAG,MAAM,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC;IACvD,IAAI,CAAC,aAAa,EAAE,CAAC;QACnB,MAAM,IAAI,KAAK,CAAC,oBAAoB,GAAG,aAAa,CAAC,CAAC;IACxD,CAAC;IAED,MAAM,iBAAiB,GAAG,MAAA,MAAA,aAAa,CAAC,GAAG,0CAAG,GAAG,CAAC,mCAAI,EAAE,CAAC;IACzD,IAAI,iBAAiB,KAAK,KAAK,EAAE,CAAC;QAChC,mDAAmD;QACnD,OAAO,aAAa,CAAC;IACvB,CAAC;IACD,OAAO,IAAA,8BAAsB,EAAC,aAAa,EAAE,iBAAiB,CAAC,CAAC;AAClE,CAAC,CAAC;AAhBW,QAAA,YAAY,gBAgBvB"}
1
+ {"version":3,"file":"getEnvConfig.js","sourceRoot":"","sources":["../../../../../pipeline/src/context/getEnvConfig.ts"],"names":[],"mappings":";;;AAAA,mCAAmC;AAG5B,MAAM,YAAY,GAAG,CAC1B,MAAc,EACd,aAAqB,EACrB,GAAW,EACa,EAAE;;IAC1B,MAAM,aAAa,GAAG,MAAM,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC;IACvD,IAAI,CAAC,aAAa,EAAE,CAAC;QACnB,MAAM,IAAI,KAAK,CAAC,oBAAoB,GAAG,aAAa,CAAC,CAAC;IACxD,CAAC;IAED,MAAM,iBAAiB,GAAG,MAAA,MAAA,aAAa,CAAC,GAAG,0CAAG,GAAG,CAAC,mCAAI,EAAE,CAAC;IACzD,IAAI,iBAAiB,KAAK,KAAK,EAAE,CAAC;QAChC,mDAAmD;QACnD,OAAO,aAAa,CAAC;IACvB,CAAC;IACD;;;OAGG;IACH,OAAO,IAAA,kBAAS,EACd,EAAE,EACF,aAAa,EACb,iBAAiB,EACjB,CAAC,YAAY,EAAE,WAAW,EAAE,EAAE;QAC5B,4DAA4D;QAC5D,wFAAwF;QACxF,IACE,OAAO,WAAW,KAAK,UAAU;YACjC,OAAO,YAAY,KAAK,UAAU,EAClC,CAAC;YACD,OAAO,WAAW,CAAC,YAAY,CAAC,CAAC;QACnC,CAAC;QAED,OAAO,SAAS,CAAC;IACnB,CAAC,CACF,CAAC;AACJ,CAAC,CAAC;AApCW,QAAA,YAAY,gBAoCvB"}
@@ -1,7 +1,9 @@
1
1
  import type { ComponentContext } from "../../../types/context";
2
2
  import type { DeployConfigCloudRunJob } from "../../types/googleCloudRun";
3
- export declare const getDeleteSchedulesScripts: (context: ComponentContext) => string[];
4
3
  export declare const getDeleteJobsScripts: (context: ComponentContext) => string[];
5
- export declare const getJobRunScripts: (context: ComponentContext, when: DeployConfigCloudRunJob["when"]) => string[];
6
4
  export declare const getJobCreateScripts: (context: ComponentContext) => string[];
7
- export declare const getCreateScheduleScripts: (context: ComponentContext) => string[];
5
+ export declare const getCloudRunJobsWithNames: (context: ComponentContext) => {
6
+ fullJobName: import("../../..").StringOrBashExpression;
7
+ job: DeployConfigCloudRunJob;
8
+ jobName: string;
9
+ }[];