@catladder/cli 3.17.1 → 3.19.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 (46) hide show
  1. package/dist/bundles/catenv/index.js +2 -2
  2. package/dist/bundles/cli/index.js +1 -1
  3. package/dist/cli/src/apps/catenv/catenv.js +5 -4
  4. package/dist/cli/src/apps/catenv/catenv.js.map +1 -1
  5. package/dist/cli/src/apps/catenv/printVariables.d.ts +2 -2
  6. package/dist/cli/src/apps/catenv/printVariables.js +2 -2
  7. package/dist/cli/src/apps/catenv/printVariables.js.map +1 -1
  8. package/dist/cli/src/apps/catenv/writeDotEnvFiles.d.ts +2 -2
  9. package/dist/cli/src/apps/catenv/writeDotEnvFiles.js +5 -6
  10. package/dist/cli/src/apps/catenv/writeDotEnvFiles.js.map +1 -1
  11. package/dist/cli/src/apps/catenv/writeEnvDTs.d.ts +2 -2
  12. package/dist/cli/src/apps/catenv/writeEnvDTs.js +5 -6
  13. package/dist/cli/src/apps/catenv/writeEnvDTs.js.map +1 -1
  14. package/dist/cli/src/apps/cli/commands/project/setup/index.js +6 -3
  15. package/dist/cli/src/apps/cli/commands/project/setup/index.js.map +1 -1
  16. package/dist/cli/src/apps/cli/commands/project/setup/logSection.d.ts +2 -0
  17. package/dist/cli/src/apps/cli/commands/project/setup/logSection.js +17 -0
  18. package/dist/cli/src/apps/cli/commands/project/setup/logSection.js.map +1 -0
  19. package/dist/cli/src/apps/cli/commands/project/setup/setupContext.js +11 -15
  20. package/dist/cli/src/apps/cli/commands/project/setup/setupContext.js.map +1 -1
  21. package/dist/pipeline/src/catenv/index.d.ts +7 -0
  22. package/dist/pipeline/src/catenv/index.js +12 -0
  23. package/dist/pipeline/src/catenv/index.js.map +1 -0
  24. package/dist/pipeline/src/index.d.ts +1 -0
  25. package/dist/pipeline/src/index.js +1 -0
  26. package/dist/pipeline/src/index.js.map +1 -1
  27. package/dist/pipeline/src/pipeline/generatePipelineFiles.d.ts +2 -1
  28. package/dist/pipeline/src/pipeline/generatePipelineFiles.js +3 -4
  29. package/dist/pipeline/src/pipeline/generatePipelineFiles.js.map +1 -1
  30. package/dist/pipeline/src/types/config.d.ts +5 -0
  31. package/dist/pipeline/src/types/config.js.map +1 -1
  32. package/dist/pipeline/src/types/hooks.d.ts +26 -0
  33. package/dist/pipeline/src/types/hooks.js +3 -0
  34. package/dist/pipeline/src/types/hooks.js.map +1 -0
  35. package/dist/pipeline/src/utils/writeFiles.d.ts +12 -4
  36. package/dist/pipeline/src/utils/writeFiles.js +42 -27
  37. package/dist/pipeline/src/utils/writeFiles.js.map +1 -1
  38. package/dist/tsconfig.tsbuildinfo +1 -1
  39. package/package.json +1 -1
  40. package/src/apps/catenv/catenv.ts +11 -5
  41. package/src/apps/catenv/printVariables.ts +6 -3
  42. package/src/apps/catenv/writeDotEnvFiles.ts +21 -8
  43. package/src/apps/catenv/writeEnvDTs.ts +15 -6
  44. package/src/apps/cli/commands/project/setup/index.ts +8 -3
  45. package/src/apps/cli/commands/project/setup/logSection.ts +22 -0
  46. package/src/apps/cli/commands/project/setup/setupContext.ts +14 -19
@@ -11,11 +11,12 @@ exports.default = async (choice) => {
11
11
  if (!config) {
12
12
  return;
13
13
  }
14
+ const context = (0, pipeline_1.createCatenvContext)(config);
14
15
  await Promise.all([
15
- (0, pipeline_1.generatePipelineFiles)(config, (_a = config.pipelineType) !== null && _a !== void 0 ? _a : "gitlab"),
16
- (0, writeDotEnvFiles_1.writeDotEnvFiles)(config, choice),
17
- (0, writeEnvDTs_1.writeDTsFiles)(config, choice),
18
- (0, printVariables_1.printVariables)(config, choice),
16
+ (0, pipeline_1.generatePipelineFiles)(context, (_a = config.pipelineType) !== null && _a !== void 0 ? _a : "gitlab"),
17
+ (0, writeDotEnvFiles_1.writeDotEnvFiles)(context, choice),
18
+ (0, writeEnvDTs_1.writeDTsFiles)(context, choice),
19
+ (0, printVariables_1.printVariables)(context, choice),
19
20
  ]);
20
21
  };
21
22
  //# sourceMappingURL=catenv.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"catenv.js","sourceRoot":"","sources":["../../../../../src/apps/catenv/catenv.ts"],"names":[],"mappings":";;AAAA,oEAAiE;AACjE,qDAAkD;AAElD,yDAAsD;AACtD,+CAA8C;AAC9C,kDAA4D;AAE5D,kBAAe,KAAK,EAAE,MAAe,EAAE,EAAE;;IACvC,MAAM,MAAM,GAAG,MAAM,IAAA,mCAAgB,GAAE,CAAC;IACxC,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,OAAO;IACT,CAAC;IAED,MAAM,OAAO,CAAC,GAAG,CAAC;QAChB,IAAA,gCAAqB,EAAC,MAAM,EAAE,MAAA,MAAM,CAAC,YAAY,mCAAI,QAAQ,CAAC;QAC9D,IAAA,mCAAgB,EAAC,MAAM,EAAE,MAAM,CAAC;QAEhC,IAAA,2BAAa,EAAC,MAAM,EAAE,MAAM,CAAC;QAE7B,IAAA,+BAAc,EAAC,MAAM,EAAE,MAAM,CAAC;KAC/B,CAAC,CAAC;AACL,CAAC,CAAC"}
1
+ {"version":3,"file":"catenv.js","sourceRoot":"","sources":["../../../../../src/apps/catenv/catenv.ts"],"names":[],"mappings":";;AAAA,oEAAiE;AACjE,qDAAkD;AAElD,yDAAsD;AACtD,+CAA8C;AAC9C,kDAI6B;AAE7B,kBAAe,KAAK,EAAE,MAAe,EAAE,EAAE;;IACvC,MAAM,MAAM,GAAG,MAAM,IAAA,mCAAgB,GAAE,CAAC;IACxC,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,OAAO;IACT,CAAC;IAED,MAAM,OAAO,GAAG,IAAA,8BAAmB,EAAC,MAAM,CAAC,CAAC;IAE5C,MAAM,OAAO,CAAC,GAAG,CAAC;QAChB,IAAA,gCAAqB,EAAC,OAAO,EAAE,MAAA,MAAM,CAAC,YAAY,mCAAI,QAAQ,CAAC;QAC/D,IAAA,mCAAgB,EAAC,OAAO,EAAE,MAAM,CAAC;QAEjC,IAAA,2BAAa,EAAC,OAAO,EAAE,MAAM,CAAC;QAE9B,IAAA,+BAAc,EAAC,OAAO,EAAE,MAAM,CAAC;KAChC,CAAC,CAAC;AACL,CAAC,CAAC"}
@@ -1,3 +1,3 @@
1
- import type { Config } from "../../../../pipeline/src/index.js";
1
+ import type { CatenvContext } from "../../../../pipeline/src/index.js";
2
2
  import type { Choice } from "./types";
3
- export declare const printVariables: (config: Config, choice?: Choice) => Promise<void>;
3
+ export declare const printVariables: (context: CatenvContext, choice?: Choice) => Promise<void>;
@@ -37,8 +37,8 @@ const getAllVariablesToPrint = async (config, choice) => {
37
37
  }, Promise.resolve({}));
38
38
  }
39
39
  };
40
- const printVariables = async (config, choice) => {
41
- const variables = await getAllVariablesToPrint(config, choice);
40
+ const printVariables = async (context, choice) => {
41
+ const variables = await getAllVariablesToPrint(context.config, choice);
42
42
  console.log(makeExportKeyValuestring(variables));
43
43
  };
44
44
  exports.printVariables = printVariables;
@@ -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;IAC5B,SAAS,EAAE,SAAS;IACpB,aAAa,EAAE,EAAE,SAAS,EAAE,QAAQ,EAAE;CACvC,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,EACjC,OAAsB,EACtB,MAAe,EACf,EAAE;IACF,MAAM,SAAS,GAAG,MAAM,sBAAsB,CAAC,OAAO,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAEvE,OAAO,CAAC,GAAG,CAAC,wBAAwB,CAAC,SAAS,CAAC,CAAC,CAAC;AACnD,CAAC,CAAC;AAPW,QAAA,cAAc,kBAOzB;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,3 +1,3 @@
1
- import { type Config } from "../../../../pipeline/src/index.js";
2
1
  import type { Choice } from "./types";
3
- export declare const writeDotEnvFiles: (config: Config, choice?: Choice) => Promise<void>;
2
+ import type { CatenvContext } from "../../../../pipeline/src/index.js";
3
+ export declare const writeDotEnvFiles: (context: CatenvContext, choice?: Choice) => Promise<void>;
@@ -1,14 +1,13 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.writeDotEnvFiles = void 0;
4
- const pipeline_1 = require("../../../../pipeline/src/index.js");
5
4
  const path_1 = require("path");
6
5
  const getProjectConfig_1 = require("../../config/getProjectConfig");
7
6
  const projects_1 = require("../../utils/projects");
8
7
  const utils_1 = require("./utils");
9
- const writeDotEnvFiles = async (config, choice) => {
10
- const { env, currentComponent } = await (0, utils_1.getCurrentComponentAndEnvFromChoice)(config, choice);
11
- const componentsWithEnabledDotEnvWrite = Object.entries(config.components)
8
+ const writeDotEnvFiles = async (context, choice) => {
9
+ const { env, currentComponent } = await (0, utils_1.getCurrentComponentAndEnvFromChoice)(context.config, choice);
10
+ const componentsWithEnabledDotEnvWrite = Object.entries(context.config.components)
12
11
  .filter(([, component]) => { var _a; return (_a = component === null || component === void 0 ? void 0 : component.dotEnv) !== null && _a !== void 0 ? _a : true; }) // when set to true or "local"
13
12
  .map(([componentName]) => componentName);
14
13
  const componentsToActuallyWriteDotEnvNow = currentComponent
@@ -20,9 +19,9 @@ const writeDotEnvFiles = async (config, choice) => {
20
19
  for (const componentName of componentsToActuallyWriteDotEnvNow) {
21
20
  const variables = await (0, getProjectConfig_1.getEnvVarsResolved)(null, env, componentName);
22
21
  delete variables["_ALL_ENV_VAR_KEYS"];
23
- const componentDir = (0, utils_1.getComponentFullPath)(gitRoot, config, componentName);
22
+ const componentDir = (0, utils_1.getComponentFullPath)(gitRoot, context.config, componentName);
24
23
  const filePath = (0, path_1.join)(componentDir, ".env");
25
- await (0, pipeline_1.writeGeneratedFile)(filePath, (0, utils_1.makeKeyValueString)(variables), {
24
+ await context.fileWriter.writeGeneratedFile(filePath, (0, utils_1.makeKeyValueString)(variables), {
26
25
  commentChar: "#",
27
26
  });
28
27
  }
@@ -1 +1 @@
1
- {"version":3,"file":"writeDotEnvFiles.js","sourceRoot":"","sources":["../../../../../src/apps/catenv/writeDotEnvFiles.ts"],"names":[],"mappings":";;;AAAA,kDAAsE;AACtE,+BAA4B;AAC5B,oEAAmE;AACnE,mDAAkD;AAElD,mCAIiB;AAEV,MAAM,gBAAgB,GAAG,KAAK,EAAE,MAAc,EAAE,MAAe,EAAE,EAAE;IACxE,MAAM,EAAE,GAAG,EAAE,gBAAgB,EAAE,GAAG,MAAM,IAAA,2CAAmC,EACzE,MAAM,EACN,MAAM,CACP,CAAC;IAEF,MAAM,gCAAgC,GAAG,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,UAAU,CAAC;SACvE,MAAM,CAAC,CAAC,CAAC,EAAE,SAAS,CAAC,EAAE,EAAE,WAAC,OAAA,MAAA,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,MAAM,mCAAI,IAAI,CAAA,EAAA,CAAC,CAAC,8BAA8B;SACnF,GAAG,CAAC,CAAC,CAAC,aAAa,CAAC,EAAE,EAAE,CAAC,aAAa,CAAC,CAAC;IAE3C,MAAM,kCAAkC,GAAG,gBAAgB;QACzD,CAAC,CAAC,gCAAgC,CAAC,QAAQ,CAAC,gBAAgB,CAAC;YAC3D,CAAC,CAAC,CAAC,gBAAgB,CAAC;YACpB,CAAC,CAAC,EAAE;QACN,CAAC,CAAC,gCAAgC,CAAC;IACrC,MAAM,OAAO,GAAG,MAAM,IAAA,qBAAU,GAAE,CAAC;IAEnC,KAAK,MAAM,aAAa,IAAI,kCAAkC,EAAE,CAAC;QAC/D,MAAM,SAAS,GAAG,MAAM,IAAA,qCAAkB,EAAC,IAAI,EAAE,GAAG,EAAE,aAAa,CAAC,CAAC;QACrE,OAAO,SAAS,CAAC,mBAAmB,CAAC,CAAC;QACtC,MAAM,YAAY,GAAG,IAAA,4BAAoB,EAAC,OAAO,EAAE,MAAM,EAAE,aAAa,CAAC,CAAC;QAC1E,MAAM,QAAQ,GAAG,IAAA,WAAI,EAAC,YAAY,EAAE,MAAM,CAAC,CAAC;QAE5C,MAAM,IAAA,6BAAkB,EAAC,QAAQ,EAAE,IAAA,0BAAkB,EAAC,SAAS,CAAC,EAAE;YAChE,WAAW,EAAE,GAAG;SACjB,CAAC,CAAC;IACL,CAAC;AACH,CAAC,CAAC;AA3BW,QAAA,gBAAgB,oBA2B3B"}
1
+ {"version":3,"file":"writeDotEnvFiles.js","sourceRoot":"","sources":["../../../../../src/apps/catenv/writeDotEnvFiles.ts"],"names":[],"mappings":";;;AAAA,+BAA4B;AAC5B,oEAAmE;AACnE,mDAAkD;AAElD,mCAIiB;AAGV,MAAM,gBAAgB,GAAG,KAAK,EACnC,OAAsB,EACtB,MAAe,EACf,EAAE;IACF,MAAM,EAAE,GAAG,EAAE,gBAAgB,EAAE,GAAG,MAAM,IAAA,2CAAmC,EACzE,OAAO,CAAC,MAAM,EACd,MAAM,CACP,CAAC;IAEF,MAAM,gCAAgC,GAAG,MAAM,CAAC,OAAO,CACrD,OAAO,CAAC,MAAM,CAAC,UAAU,CAC1B;SACE,MAAM,CAAC,CAAC,CAAC,EAAE,SAAS,CAAC,EAAE,EAAE,WAAC,OAAA,MAAA,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,MAAM,mCAAI,IAAI,CAAA,EAAA,CAAC,CAAC,8BAA8B;SACnF,GAAG,CAAC,CAAC,CAAC,aAAa,CAAC,EAAE,EAAE,CAAC,aAAa,CAAC,CAAC;IAE3C,MAAM,kCAAkC,GAAG,gBAAgB;QACzD,CAAC,CAAC,gCAAgC,CAAC,QAAQ,CAAC,gBAAgB,CAAC;YAC3D,CAAC,CAAC,CAAC,gBAAgB,CAAC;YACpB,CAAC,CAAC,EAAE;QACN,CAAC,CAAC,gCAAgC,CAAC;IACrC,MAAM,OAAO,GAAG,MAAM,IAAA,qBAAU,GAAE,CAAC;IAEnC,KAAK,MAAM,aAAa,IAAI,kCAAkC,EAAE,CAAC;QAC/D,MAAM,SAAS,GAAG,MAAM,IAAA,qCAAkB,EAAC,IAAI,EAAE,GAAG,EAAE,aAAa,CAAC,CAAC;QACrE,OAAO,SAAS,CAAC,mBAAmB,CAAC,CAAC;QACtC,MAAM,YAAY,GAAG,IAAA,4BAAoB,EACvC,OAAO,EACP,OAAO,CAAC,MAAM,EACd,aAAa,CACd,CAAC;QACF,MAAM,QAAQ,GAAG,IAAA,WAAI,EAAC,YAAY,EAAE,MAAM,CAAC,CAAC;QAE5C,MAAM,OAAO,CAAC,UAAU,CAAC,kBAAkB,CACzC,QAAQ,EACR,IAAA,0BAAkB,EAAC,SAAS,CAAC,EAC7B;YACE,WAAW,EAAE,GAAG;SACjB,CACF,CAAC;IACJ,CAAC;AACH,CAAC,CAAC;AAxCW,QAAA,gBAAgB,oBAwC3B"}
@@ -1,3 +1,3 @@
1
- import { type Config } from "../../../../pipeline/src/index.js";
1
+ import type { CatenvContext } from "../../../../pipeline/src/index.js";
2
2
  import type { Choice } from "./types";
3
- export declare const writeDTsFiles: (config: Config, choice?: Choice) => Promise<void>;
3
+ export declare const writeDTsFiles: (context: CatenvContext, choice?: Choice) => Promise<void>;
@@ -1,14 +1,13 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.writeDTsFiles = void 0;
4
- const pipeline_1 = require("../../../../pipeline/src/index.js");
5
4
  const path_1 = require("path");
6
5
  const getProjectConfig_1 = require("../../config/getProjectConfig");
7
6
  const projects_1 = require("../../utils/projects");
8
7
  const utils_1 = require("./utils");
9
- const writeDTsFiles = async (config, choice) => {
10
- const { env, currentComponent } = await (0, utils_1.getCurrentComponentAndEnvFromChoice)(config, choice);
11
- const componentsWithEnabledEnvDTsWrite = Object.entries(config.components)
8
+ const writeDTsFiles = async (context, choice) => {
9
+ const { env, currentComponent } = await (0, utils_1.getCurrentComponentAndEnvFromChoice)(context.config, choice);
10
+ const componentsWithEnabledEnvDTsWrite = Object.entries(context.config.components)
12
11
  .filter(([, component]) => { var _a; return (_a = component === null || component === void 0 ? void 0 : component.envDTs) !== null && _a !== void 0 ? _a : true; })
13
12
  .map(([componentName]) => componentName);
14
13
  const componentsToActuallyWriteEnvDts = currentComponent
@@ -20,9 +19,9 @@ const writeDTsFiles = async (config, choice) => {
20
19
  for (const componentName of componentsToActuallyWriteEnvDts) {
21
20
  const envNames = await getEnvsForDTs(env, componentName);
22
21
  const envDTsContent = createEnvDTsContent(envNames);
23
- const componentDir = (0, utils_1.getComponentFullPath)(gitRoot, config, componentName);
22
+ const componentDir = (0, utils_1.getComponentFullPath)(gitRoot, context.config, componentName);
24
23
  const filePath = (0, path_1.join)(componentDir, "env.d.ts");
25
- await (0, pipeline_1.writeGeneratedFile)(filePath, envDTsContent, {
24
+ await context.fileWriter.writeGeneratedFile(filePath, envDTsContent, {
26
25
  commentChar: "//",
27
26
  });
28
27
  }
@@ -1 +1 @@
1
- {"version":3,"file":"writeEnvDTs.js","sourceRoot":"","sources":["../../../../../src/apps/catenv/writeEnvDTs.ts"],"names":[],"mappings":";;;AAAA,kDAAsE;AACtE,+BAA4B;AAC5B,oEAA+D;AAC/D,mDAAkD;AAElD,mCAGiB;AAEV,MAAM,aAAa,GAAG,KAAK,EAAE,MAAc,EAAE,MAAe,EAAE,EAAE;IACrE,MAAM,EAAE,GAAG,EAAE,gBAAgB,EAAE,GAAG,MAAM,IAAA,2CAAmC,EACzE,MAAM,EACN,MAAM,CACP,CAAC;IAEF,MAAM,gCAAgC,GAAG,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,UAAU,CAAC;SACvE,MAAM,CAAC,CAAC,CAAC,EAAE,SAAS,CAAC,EAAE,EAAE,WAAC,OAAA,MAAA,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,MAAM,mCAAI,IAAI,CAAA,EAAA,CAAC;SACpD,GAAG,CAAC,CAAC,CAAC,aAAa,CAAC,EAAE,EAAE,CAAC,aAAa,CAAC,CAAC;IAE3C,MAAM,+BAA+B,GAAG,gBAAgB;QACtD,CAAC,CAAC,gCAAgC,CAAC,QAAQ,CAAC,gBAAgB,CAAC;YAC3D,CAAC,CAAC,CAAC,gBAAgB,CAAC;YACpB,CAAC,CAAC,EAAE;QACN,CAAC,CAAC,gCAAgC,CAAC;IACrC,MAAM,OAAO,GAAG,MAAM,IAAA,qBAAU,GAAE,CAAC;IAEnC,KAAK,MAAM,aAAa,IAAI,+BAA+B,EAAE,CAAC;QAC5D,MAAM,QAAQ,GAAG,MAAM,aAAa,CAAC,GAAG,EAAE,aAAa,CAAC,CAAC;QACzD,MAAM,aAAa,GAAG,mBAAmB,CAAC,QAAQ,CAAC,CAAC;QAEpD,MAAM,YAAY,GAAG,IAAA,4BAAoB,EAAC,OAAO,EAAE,MAAM,EAAE,aAAa,CAAC,CAAC;QAC1E,MAAM,QAAQ,GAAG,IAAA,WAAI,EAAC,YAAY,EAAE,UAAU,CAAC,CAAC;QAChD,MAAM,IAAA,6BAAkB,EAAC,QAAQ,EAAE,aAAa,EAAE;YAChD,WAAW,EAAE,IAAI;SAClB,CAAC,CAAC;IACL,CAAC;AACH,CAAC,CAAC;AA3BW,QAAA,aAAa,iBA2BxB;AAEF,KAAK,UAAU,aAAa,CAC1B,GAAW,EACX,aAAqB;IAErB,MAAM,WAAW,GAAG,MAAM,IAAA,iCAAc,EAAC,GAAG,EAAE,aAAa,CAAC,CAAC;IAC7D,MAAM,UAAU,GAAG,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;IACpD,MAAM,aAAa,GAAG,IAAI,GAAG,CAC3B,WAAW,CAAC,gBAAgB;SACzB,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC;SACvB,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC;SACjB,MAAM,CAAC,CAAC,mBAAmB,CAAC,CAAC,CACjC,CAAC;IACF,MAAM,UAAU,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IAEnE,OAAO,UAAU,CAAC;AACpB,CAAC;AAED,SAAS,mBAAmB,CAAC,QAAkB;IAC7C,OAAO;;;;;;;;;EASP,QAAQ,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,SAAS,IAAI,UAAU,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;;;;CAI3D,CAAC;AACF,CAAC"}
1
+ {"version":3,"file":"writeEnvDTs.js","sourceRoot":"","sources":["../../../../../src/apps/catenv/writeEnvDTs.ts"],"names":[],"mappings":";;;AACA,+BAA4B;AAC5B,oEAA+D;AAC/D,mDAAkD;AAElD,mCAGiB;AAEV,MAAM,aAAa,GAAG,KAAK,EAChC,OAAsB,EACtB,MAAe,EACf,EAAE;IACF,MAAM,EAAE,GAAG,EAAE,gBAAgB,EAAE,GAAG,MAAM,IAAA,2CAAmC,EACzE,OAAO,CAAC,MAAM,EACd,MAAM,CACP,CAAC;IAEF,MAAM,gCAAgC,GAAG,MAAM,CAAC,OAAO,CACrD,OAAO,CAAC,MAAM,CAAC,UAAU,CAC1B;SACE,MAAM,CAAC,CAAC,CAAC,EAAE,SAAS,CAAC,EAAE,EAAE,WAAC,OAAA,MAAA,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,MAAM,mCAAI,IAAI,CAAA,EAAA,CAAC;SACpD,GAAG,CAAC,CAAC,CAAC,aAAa,CAAC,EAAE,EAAE,CAAC,aAAa,CAAC,CAAC;IAE3C,MAAM,+BAA+B,GAAG,gBAAgB;QACtD,CAAC,CAAC,gCAAgC,CAAC,QAAQ,CAAC,gBAAgB,CAAC;YAC3D,CAAC,CAAC,CAAC,gBAAgB,CAAC;YACpB,CAAC,CAAC,EAAE;QACN,CAAC,CAAC,gCAAgC,CAAC;IACrC,MAAM,OAAO,GAAG,MAAM,IAAA,qBAAU,GAAE,CAAC;IAEnC,KAAK,MAAM,aAAa,IAAI,+BAA+B,EAAE,CAAC;QAC5D,MAAM,QAAQ,GAAG,MAAM,aAAa,CAAC,GAAG,EAAE,aAAa,CAAC,CAAC;QACzD,MAAM,aAAa,GAAG,mBAAmB,CAAC,QAAQ,CAAC,CAAC;QAEpD,MAAM,YAAY,GAAG,IAAA,4BAAoB,EACvC,OAAO,EACP,OAAO,CAAC,MAAM,EACd,aAAa,CACd,CAAC;QACF,MAAM,QAAQ,GAAG,IAAA,WAAI,EAAC,YAAY,EAAE,UAAU,CAAC,CAAC;QAChD,MAAM,OAAO,CAAC,UAAU,CAAC,kBAAkB,CAAC,QAAQ,EAAE,aAAa,EAAE;YACnE,WAAW,EAAE,IAAI;SAClB,CAAC,CAAC;IACL,CAAC;AACH,CAAC,CAAC;AApCW,QAAA,aAAa,iBAoCxB;AAEF,KAAK,UAAU,aAAa,CAC1B,GAAW,EACX,aAAqB;IAErB,MAAM,WAAW,GAAG,MAAM,IAAA,iCAAc,EAAC,GAAG,EAAE,aAAa,CAAC,CAAC;IAC7D,MAAM,UAAU,GAAG,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;IACpD,MAAM,aAAa,GAAG,IAAI,GAAG,CAC3B,WAAW,CAAC,gBAAgB;SACzB,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC;SACvB,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC;SACjB,MAAM,CAAC,CAAC,mBAAmB,CAAC,CAAC,CACjC,CAAC;IACF,MAAM,UAAU,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IAEnE,OAAO,UAAU,CAAC;AACpB,CAAC;AAED,SAAS,mBAAmB,CAAC,QAAkB;IAC7C,OAAO;;;;;;;;;EASP,QAAQ,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,SAAS,IAAI,UAAU,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;;;;CAI3D,CAAC;AACF,CAAC"}
@@ -6,18 +6,21 @@ const setupAccessTokens_1 = require("./setupAccessTokens");
6
6
  const setupContext_1 = require("./setupContext");
7
7
  const setupTopic_1 = require("./setupTopic");
8
8
  const setupAgents_1 = require("./setupAgents");
9
+ const logSection_1 = require("./logSection");
9
10
  const setupProject = async (instance, onlyComponents) => {
10
11
  const allContext = await (0, getProjectConfig_1.getAllPipelineContexts)(onlyComponents);
11
12
  instance.log("will setup those contexts:");
12
13
  allContext.forEach((context) => {
13
14
  instance.log(` - ${context.name}:${context.env}`);
14
15
  });
16
+ await (0, logSection_1.logSection)(instance, "base setup", async () => {
17
+ await (0, setupAccessTokens_1.setupAccessTokens)(instance);
18
+ await (0, setupTopic_1.setupTopic)(instance);
19
+ await (0, setupAgents_1.setupAgents)(instance);
20
+ });
15
21
  for (const context of allContext) {
16
22
  await (0, setupContext_1.setupContext)(instance, context);
17
23
  }
18
- await (0, setupAccessTokens_1.setupAccessTokens)(instance);
19
- await (0, setupTopic_1.setupTopic)(instance);
20
- await (0, setupAgents_1.setupAgents)(instance);
21
24
  instance.log("");
22
25
  instance.log("gitlab is ready! 🥂");
23
26
  instance.log("\n");
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../../../src/apps/cli/commands/project/setup/index.ts"],"names":[],"mappings":";;;AACA,6EAAgF;AAChF,2DAAwD;AACxD,iDAA8C;AAC9C,6CAA0C;AAC1C,+CAA4C;AAErC,MAAM,YAAY,GAAG,KAAK,EAC/B,QAAyB,EACzB,cAAkC,EAClC,EAAE;IACF,MAAM,UAAU,GAAG,MAAM,IAAA,yCAAsB,EAAC,cAAc,CAAC,CAAC;IAChE,QAAQ,CAAC,GAAG,CAAC,4BAA4B,CAAC,CAAC;IAC3C,UAAU,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;QAC7B,QAAQ,CAAC,GAAG,CAAC,MAAM,OAAO,CAAC,IAAI,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;IACpD,CAAC,CAAC,CAAC;IACH,KAAK,MAAM,OAAO,IAAI,UAAU,EAAE,CAAC;QACjC,MAAM,IAAA,2BAAY,EAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;IACxC,CAAC;IACD,MAAM,IAAA,qCAAiB,EAAC,QAAQ,CAAC,CAAC;IAClC,MAAM,IAAA,uBAAU,EAAC,QAAQ,CAAC,CAAC;IAC3B,MAAM,IAAA,yBAAW,EAAC,QAAQ,CAAC,CAAC;IAC5B,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IACjB,QAAQ,CAAC,GAAG,CAAC,qBAAqB,CAAC,CAAC;IACpC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IACnB,QAAQ,CAAC,GAAG,CAAC,kCAAkC,CAAC,CAAC;IACjD;QACE,kCAAkC;QAClC,2BAA2B;QAC3B,qDAAqD;QACrD,qBAAqB;QACrB,eAAe;KAChB,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC,CAAC;IAC9C,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IACnB,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;AACrB,CAAC,CAAC;AA5BW,QAAA,YAAY,gBA4BvB"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../../../src/apps/cli/commands/project/setup/index.ts"],"names":[],"mappings":";;;AACA,6EAAgF;AAChF,2DAAwD;AACxD,iDAA8C;AAC9C,6CAA0C;AAC1C,+CAA4C;AAC5C,6CAA0C;AAEnC,MAAM,YAAY,GAAG,KAAK,EAC/B,QAAyB,EACzB,cAAkC,EAClC,EAAE;IACF,MAAM,UAAU,GAAG,MAAM,IAAA,yCAAsB,EAAC,cAAc,CAAC,CAAC;IAChE,QAAQ,CAAC,GAAG,CAAC,4BAA4B,CAAC,CAAC;IAC3C,UAAU,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;QAC7B,QAAQ,CAAC,GAAG,CAAC,MAAM,OAAO,CAAC,IAAI,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;IACpD,CAAC,CAAC,CAAC;IAEH,MAAM,IAAA,uBAAU,EAAC,QAAQ,EAAE,YAAY,EAAE,KAAK,IAAI,EAAE;QAClD,MAAM,IAAA,qCAAiB,EAAC,QAAQ,CAAC,CAAC;QAClC,MAAM,IAAA,uBAAU,EAAC,QAAQ,CAAC,CAAC;QAC3B,MAAM,IAAA,yBAAW,EAAC,QAAQ,CAAC,CAAC;IAC9B,CAAC,CAAC,CAAC;IACH,KAAK,MAAM,OAAO,IAAI,UAAU,EAAE,CAAC;QACjC,MAAM,IAAA,2BAAY,EAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;IACxC,CAAC;IAED,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IACjB,QAAQ,CAAC,GAAG,CAAC,qBAAqB,CAAC,CAAC;IACpC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IACnB,QAAQ,CAAC,GAAG,CAAC,kCAAkC,CAAC,CAAC;IACjD;QACE,kCAAkC;QAClC,2BAA2B;QAC3B,qDAAqD;QACrD,qBAAqB;QACrB,eAAe;KAChB,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC,CAAC;IAC9C,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IACnB,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;AACrB,CAAC,CAAC;AAhCW,QAAA,YAAY,gBAgCvB"}
@@ -0,0 +1,2 @@
1
+ import type { CommandInstance } from "vorpal";
2
+ export declare const logSection: (instance: CommandInstance, title: string, work: () => Promise<void>) => Promise<void>;
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.logSection = void 0;
4
+ const logSection = async (instance, title, work) => {
5
+ instance.log("");
6
+ instance.log("==================================================================================");
7
+ instance.log("🐱 🔧 " + title + "...");
8
+ instance.log("");
9
+ await work();
10
+ instance.log("");
11
+ instance.log("✅ " + title + " done!");
12
+ instance.log("");
13
+ instance.log("==================================================================================");
14
+ instance.log("");
15
+ };
16
+ exports.logSection = logSection;
17
+ //# sourceMappingURL=logSection.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"logSection.js","sourceRoot":"","sources":["../../../../../../../../src/apps/cli/commands/project/setup/logSection.ts"],"names":[],"mappings":";;;AAEO,MAAM,UAAU,GAAG,KAAK,EAC7B,QAAyB,EACzB,KAAa,EACb,IAAyB,EACzB,EAAE;IACF,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IACjB,QAAQ,CAAC,GAAG,CACV,oFAAoF,CACrF,CAAC;IACF,QAAQ,CAAC,GAAG,CAAC,QAAQ,GAAG,KAAK,GAAG,KAAK,CAAC,CAAC;IACvC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IACjB,MAAM,IAAI,EAAE,CAAC;IACb,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IACjB,QAAQ,CAAC,GAAG,CAAC,OAAO,GAAG,KAAK,GAAG,QAAQ,CAAC,CAAC;IACzC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IACjB,QAAQ,CAAC,GAAG,CACV,oFAAoF,CACrF,CAAC;IACF,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;AACnB,CAAC,CAAC;AAnBW,QAAA,UAAU,cAmBrB"}
@@ -4,22 +4,18 @@ exports.setupContext = void 0;
4
4
  const pipeline_1 = require("../../../../../../../pipeline/src/index.js");
5
5
  const setupCloudRun_1 = require("./setupCloudRun");
6
6
  const setupKubernetes_1 = require("./setupKubernetes");
7
+ const logSection_1 = require("./logSection");
7
8
  const setupContext = async (instance, context) => {
8
- var _a, _b;
9
- instance.log("");
10
- instance.log("==================================================================================");
11
- instance.log("🐱 🔧 setting up " + context.env + ":" + context.name + "...");
12
- instance.log("");
13
- if ((0, pipeline_1.isOfDeployType)((_a = context.deploy) === null || _a === void 0 ? void 0 : _a.config, "google-cloudrun")) {
14
- await (0, setupCloudRun_1.setupCloudRun)(instance, context);
15
- }
16
- const deployConfig = (_b = context.deploy) === null || _b === void 0 ? void 0 : _b.config;
17
- if ((0, pipeline_1.isOfDeployType)(deployConfig, "kubernetes")) {
18
- await (0, setupKubernetes_1.setupKubernetes)(instance, context);
19
- }
20
- instance.log("");
21
- instance.log("✅ " + context.env + ":" + context.name + " done!");
22
- instance.log("");
9
+ await (0, logSection_1.logSection)(instance, "setting up " + context.env + ":" + context.name, async () => {
10
+ var _a, _b;
11
+ if ((0, pipeline_1.isOfDeployType)((_a = context.deploy) === null || _a === void 0 ? void 0 : _a.config, "google-cloudrun")) {
12
+ await (0, setupCloudRun_1.setupCloudRun)(instance, context);
13
+ }
14
+ const deployConfig = (_b = context.deploy) === null || _b === void 0 ? void 0 : _b.config;
15
+ if ((0, pipeline_1.isOfDeployType)(deployConfig, "kubernetes")) {
16
+ await (0, setupKubernetes_1.setupKubernetes)(instance, context);
17
+ }
18
+ });
23
19
  };
24
20
  exports.setupContext = setupContext;
25
21
  //# sourceMappingURL=setupContext.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"setupContext.js","sourceRoot":"","sources":["../../../../../../../../src/apps/cli/commands/project/setup/setupContext.ts"],"names":[],"mappings":";;;AACA,kDAAqD;AAErD,mDAAgD;AAEhD,uDAAoD;AAE7C,MAAM,YAAY,GAAG,KAAK,EAC/B,QAAyB,EACzB,OAAyB,EACzB,EAAE;;IACF,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IACjB,QAAQ,CAAC,GAAG,CACV,oFAAoF,CACrF,CAAC;IAEF,QAAQ,CAAC,GAAG,CAAC,mBAAmB,GAAG,OAAO,CAAC,GAAG,GAAG,GAAG,GAAG,OAAO,CAAC,IAAI,GAAG,KAAK,CAAC,CAAC;IAC7E,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IACjB,IAAI,IAAA,yBAAc,EAAC,MAAA,OAAO,CAAC,MAAM,0CAAE,MAAM,EAAE,iBAAiB,CAAC,EAAE,CAAC;QAC9D,MAAM,IAAA,6BAAa,EAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;IACzC,CAAC;IAED,MAAM,YAAY,GAAG,MAAA,OAAO,CAAC,MAAM,0CAAE,MAAM,CAAC;IAC5C,IAAI,IAAA,yBAAc,EAAC,YAAY,EAAE,YAAY,CAAC,EAAE,CAAC;QAC/C,MAAM,IAAA,iCAAe,EAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;IAC3C,CAAC;IAED,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IACjB,QAAQ,CAAC,GAAG,CAAC,IAAI,GAAG,OAAO,CAAC,GAAG,GAAG,GAAG,GAAG,OAAO,CAAC,IAAI,GAAG,QAAQ,CAAC,CAAC;IAEjE,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;AACnB,CAAC,CAAC;AAxBW,QAAA,YAAY,gBAwBvB"}
1
+ {"version":3,"file":"setupContext.js","sourceRoot":"","sources":["../../../../../../../../src/apps/cli/commands/project/setup/setupContext.ts"],"names":[],"mappings":";;;AACA,kDAAqD;AAErD,mDAAgD;AAEhD,uDAAoD;AACpD,6CAA0C;AAEnC,MAAM,YAAY,GAAG,KAAK,EAC/B,QAAyB,EACzB,OAAyB,EACzB,EAAE;IACF,MAAM,IAAA,uBAAU,EACd,QAAQ,EACR,aAAa,GAAG,OAAO,CAAC,GAAG,GAAG,GAAG,GAAG,OAAO,CAAC,IAAI,EAChD,KAAK,IAAI,EAAE;;QACT,IAAI,IAAA,yBAAc,EAAC,MAAA,OAAO,CAAC,MAAM,0CAAE,MAAM,EAAE,iBAAiB,CAAC,EAAE,CAAC;YAC9D,MAAM,IAAA,6BAAa,EAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;QACzC,CAAC;QAED,MAAM,YAAY,GAAG,MAAA,OAAO,CAAC,MAAM,0CAAE,MAAM,CAAC;QAC5C,IAAI,IAAA,yBAAc,EAAC,YAAY,EAAE,YAAY,CAAC,EAAE,CAAC;YAC/C,MAAM,IAAA,iCAAe,EAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;QAC3C,CAAC;IACH,CAAC,CACF,CAAC;AACJ,CAAC,CAAC;AAlBW,QAAA,YAAY,gBAkBvB"}
@@ -0,0 +1,7 @@
1
+ import type { Config } from "../types";
2
+ import { FileWriter } from "../utils/writeFiles";
3
+ export type CatenvContext = {
4
+ config: Config;
5
+ fileWriter: FileWriter;
6
+ };
7
+ export declare const createCatenvContext: (config: Config) => CatenvContext;
@@ -0,0 +1,12 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.createCatenvContext = void 0;
4
+ const writeFiles_1 = require("../utils/writeFiles");
5
+ const createCatenvContext = (config) => {
6
+ return {
7
+ config,
8
+ fileWriter: writeFiles_1.FileWriter.create(config),
9
+ };
10
+ };
11
+ exports.createCatenvContext = createCatenvContext;
12
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../pipeline/src/catenv/index.ts"],"names":[],"mappings":";;;AACA,oDAAiD;AAO1C,MAAM,mBAAmB,GAAG,CAAC,MAAc,EAAiB,EAAE;IACnE,OAAO;QACL,MAAM;QACN,UAAU,EAAE,uBAAU,CAAC,MAAM,CAAC,MAAM,CAAC;KACtC,CAAC;AACJ,CAAC,CAAC;AALW,QAAA,mBAAmB,uBAK9B"}
@@ -9,3 +9,4 @@ export * from "./deploy";
9
9
  export * from "./utils/writeFiles";
10
10
  export * from "./variables/VariableValue";
11
11
  export * from "./bash";
12
+ export * from "./catenv";
@@ -25,4 +25,5 @@ __exportStar(require("./deploy"), exports);
25
25
  __exportStar(require("./utils/writeFiles"), exports);
26
26
  __exportStar(require("./variables/VariableValue"), exports);
27
27
  __exportStar(require("./bash"), exports);
28
+ __exportStar(require("./catenv"), exports);
28
29
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../pipeline/src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,6CAA2B;AAC3B,0CAAwB;AACxB,0CAAwB;AACxB,2CAAyB;AACzB,2CAAyB;AACzB,4CAA0B;AAC1B,0CAAwB;AACxB,2CAAyB;AACzB,qDAAmC;AACnC,4DAA0C;AAC1C,yCAAuB"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../pipeline/src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,6CAA2B;AAC3B,0CAAwB;AACxB,0CAAwB;AACxB,2CAAyB;AACzB,2CAAyB;AACzB,4CAA0B;AAC1B,0CAAwB;AACxB,2CAAyB;AACzB,qDAAmC;AACnC,4DAA0C;AAC1C,yCAAuB;AACvB,2CAAyB"}
@@ -1,5 +1,6 @@
1
1
  import type { Config, PipelineType } from "../types";
2
- export declare function generatePipelineFiles<T extends PipelineType>(config: Config, pipelineType: T): Promise<void>;
2
+ import type { CatenvContext } from "../catenv";
3
+ export declare function generatePipelineFiles<T extends PipelineType>(context: CatenvContext, pipelineType: T): Promise<void>;
3
4
  /**
4
5
  *
5
6
  * for testing purposes
@@ -3,16 +3,15 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.getGitlabCompletePipeline = exports.generatePipelineFiles = void 0;
4
4
  const promises_1 = require("fs/promises");
5
5
  const path_1 = require("path");
6
- const writeFiles_1 = require("../utils/writeFiles");
7
6
  const createMainPipeline_1 = require("./createMainPipeline");
8
7
  const sortGitLabJobDefProps_1 = require("./gitlab/sortGitLabJobDefProps");
9
8
  const CATLADDER_GENERATED_FOLDER = ".catladder-generated";
10
9
  const GITLAB_GENERATED_FOLDER = CATLADDER_GENERATED_FOLDER + "/gitlab";
11
- async function generatePipelineFiles(config, pipelineType) {
10
+ async function generatePipelineFiles(context, pipelineType) {
12
11
  if (pipelineType !== "gitlab") {
13
12
  throw new Error("Pipeline type not supported");
14
13
  }
15
- const includes = await getGitlabPipelineIncludes(config);
14
+ const includes = await getGitlabPipelineIncludes(context.config);
16
15
  const mainFile = {
17
16
  path: ".gitlab-ci.yml",
18
17
  content: {
@@ -25,7 +24,7 @@ async function generatePipelineFiles(config, pipelineType) {
25
24
  // write files
26
25
  await Promise.all(files.map(async ({ path, content }) => {
27
26
  await (0, promises_1.mkdir)((0, path_1.dirname)(path), { recursive: true });
28
- await (0, writeFiles_1.writeYamlfile)(path, content);
27
+ await context.fileWriter.writeYamlfile(path, content);
29
28
  }));
30
29
  }
31
30
  exports.generatePipelineFiles = generatePipelineFiles;
@@ -1 +1 @@
1
- {"version":3,"file":"generatePipelineFiles.js","sourceRoot":"","sources":["../../../../../pipeline/src/pipeline/generatePipelineFiles.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"generatePipelineFiles.js","sourceRoot":"","sources":["../../../../../pipeline/src/pipeline/generatePipelineFiles.ts"],"names":[],"mappings":"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"}
@@ -5,6 +5,7 @@ import type { ComponentContext } from "./context";
5
5
  import type { PartialDeep } from "./utils";
6
6
  import type { PipelineType, WorkspaceBuildConfig } from "..";
7
7
  import type { AgentConfig } from "./agent";
8
+ import type { Hooks } from "./hooks";
8
9
  export declare const ALL_PIPELINE_TRIGGERS: readonly ["mainBranch", "mr", "taggedRelease"];
9
10
  export type PipelineTrigger = (typeof ALL_PIPELINE_TRIGGERS)[number];
10
11
  /**
@@ -183,5 +184,9 @@ export type Config<C extends ConfigProps = never> = {
183
184
  * additional vars only for the runner in all jobs.
184
185
  */
185
186
  runnerVariables?: Record<string, string>;
187
+ /**
188
+ * hook into catladder generation
189
+ */
190
+ hooks?: Hooks;
186
191
  };
187
192
  export {};
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../../../../../pipeline/src/types/config.ts"],"names":[],"mappings":";;;AASa,QAAA,qBAAqB,GAAG;IACnC,YAAY;IACZ,IAAI;IACJ,eAAe;CACP,CAAC;AAGX;;;GAGG;AACU,QAAA,SAAS,GAAG;IACvB,GAAG,EAAE;QACH,QAAQ,EAAE,CAAC,YAAY,CAAC;KACzB;IACD,MAAM,EAAE;QACN,QAAQ,EAAE,CAAC,IAAI,CAAC;KACjB;IACD,KAAK,EAAE;QACL,QAAQ,EAAE,CAAC,eAAe,CAAC;KAC5B;IACD,IAAI,EAAE;QACJ,QAAQ,EAAE,CAAC,eAAe,CAAC;KAC5B;IACD,KAAK,EAAE;QACL,QAAQ,EAAE,EAAE;KACb;CACO,CAAC;AAEX;;;;GAIG;AACI,MAAM,oBAAoB,GAAG,CAAC,OAAwB,EAAE,EAAE,CAC/D,MAAM,CAAC,OAAO,CAAC,iBAAS,CAAC;KACtB,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CACf,CAAC,CAAC,QAAuC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAC7D;KACA,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAY,CAAC,CAAC;AALnB,QAAA,oBAAoB,wBAKD;AAEnB,QAAA,YAAY,GAAG,MAAM,CAAC,IAAI,CAAC,iBAAS,CAAC,CAAC;AACtC,QAAA,iBAAiB,GAAG,oBAAyB,CAAC;AAGpD,MAAM,aAAa,GAAG,CAAC,GAAW,EAAkB,EAAE;IAC3D,OAAO,GAAG,IAAI,iBAAS,CAAC;AAC1B,CAAC,CAAC;AAFW,QAAA,aAAa,iBAExB"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../../../../pipeline/src/types/config.ts"],"names":[],"mappings":";;;AAUa,QAAA,qBAAqB,GAAG;IACnC,YAAY;IACZ,IAAI;IACJ,eAAe;CACP,CAAC;AAGX;;;GAGG;AACU,QAAA,SAAS,GAAG;IACvB,GAAG,EAAE;QACH,QAAQ,EAAE,CAAC,YAAY,CAAC;KACzB;IACD,MAAM,EAAE;QACN,QAAQ,EAAE,CAAC,IAAI,CAAC;KACjB;IACD,KAAK,EAAE;QACL,QAAQ,EAAE,CAAC,eAAe,CAAC;KAC5B;IACD,IAAI,EAAE;QACJ,QAAQ,EAAE,CAAC,eAAe,CAAC;KAC5B;IACD,KAAK,EAAE;QACL,QAAQ,EAAE,EAAE;KACb;CACO,CAAC;AAEX;;;;GAIG;AACI,MAAM,oBAAoB,GAAG,CAAC,OAAwB,EAAE,EAAE,CAC/D,MAAM,CAAC,OAAO,CAAC,iBAAS,CAAC;KACtB,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CACf,CAAC,CAAC,QAAuC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAC7D;KACA,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAY,CAAC,CAAC;AALnB,QAAA,oBAAoB,wBAKD;AAEnB,QAAA,YAAY,GAAG,MAAM,CAAC,IAAI,CAAC,iBAAS,CAAC,CAAC;AACtC,QAAA,iBAAiB,GAAG,oBAAyB,CAAC;AAGpD,MAAM,aAAa,GAAG,CAAC,GAAW,EAAkB,EAAE;IAC3D,OAAO,GAAG,IAAI,iBAAS,CAAC;AAC1B,CAAC,CAAC;AAFW,QAAA,aAAa,iBAExB"}
@@ -0,0 +1,26 @@
1
+ export type FileHookContext = {
2
+ /**
3
+ * the filename of the file
4
+ */
5
+ filename: string;
6
+ /**
7
+ * the extension of the file
8
+ */
9
+ extension: string;
10
+ /**
11
+ * the path of the file
12
+ */
13
+ path: string;
14
+ /**
15
+ * the content of the file
16
+ */
17
+ content: string;
18
+ };
19
+ type MaybePromise<T> = T | Promise<T>;
20
+ export type Hooks = {
21
+ /**
22
+ * transform the file before it is written. If undefined is returned, the file is not modified
23
+ */
24
+ transformFileBeforeWrite: (fileHookContext: FileHookContext) => MaybePromise<string | undefined>;
25
+ };
26
+ export {};
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=hooks.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hooks.js","sourceRoot":"","sources":["../../../../../pipeline/src/types/hooks.ts"],"names":[],"mappings":""}
@@ -1,9 +1,17 @@
1
1
  import { stringify } from "yaml";
2
- export declare const getAutoGeneratedHeader: (commentChar: string) => string;
3
- export declare const writeGeneratedFile: (path: string, content: string, { commentChar, }: {
2
+ import type { Config } from "../types";
3
+ type WriteFileOptions = {
4
4
  commentChar: string;
5
- }) => Promise<void>;
5
+ };
6
6
  type StringifyOptions = Exclude<Parameters<typeof stringify>[2], null | undefined | string | number>;
7
7
  export declare const yamlStringifyOptions: StringifyOptions;
8
- export declare const writeYamlfile: (path: string, data: any) => Promise<void>;
8
+ export declare class FileWriter {
9
+ private readonly config;
10
+ static create(config: Config): FileWriter;
11
+ constructor(config: Config);
12
+ protected writeTheFile(path: string, content: string): Promise<void>;
13
+ writeGeneratedFile(path: string, content: string, options: WriteFileOptions): Promise<void>;
14
+ writeYamlfile(path: string, data: any): Promise<void>;
15
+ protected getAutoGeneratedHeader(commentChar: string): string;
16
+ }
9
17
  export {};
@@ -1,28 +1,8 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.writeYamlfile = exports.yamlStringifyOptions = exports.writeGeneratedFile = exports.getAutoGeneratedHeader = void 0;
3
+ exports.FileWriter = exports.yamlStringifyOptions = void 0;
4
4
  const promises_1 = require("fs/promises");
5
5
  const yaml_1 = require("yaml");
6
- const getAutoGeneratedHeader = (commentChar) => {
7
- return [
8
- "-------------------------------------------------",
9
- `🐱 🔨 This file is generated by catladder`,
10
- `🚨 Do not edit this file manually 🚨`,
11
- "-------------------------------------------------",
12
- ]
13
- .map((line) => `${commentChar} ${line}`)
14
- .join("\n")
15
- .concat("\n");
16
- };
17
- exports.getAutoGeneratedHeader = getAutoGeneratedHeader;
18
- const writeGeneratedFile = async (path, content, { commentChar, }) => {
19
- await (0, promises_1.writeFile)(path,
20
- // need to spread out the jobs, forgot why
21
- [(0, exports.getAutoGeneratedHeader)(commentChar), content].join("\n"), {
22
- encoding: "utf-8",
23
- });
24
- };
25
- exports.writeGeneratedFile = writeGeneratedFile;
26
6
  exports.yamlStringifyOptions = {
27
7
  // prevents colapsing long command statements into multiple lines
28
8
  lineWidth: 0,
@@ -31,10 +11,45 @@ exports.yamlStringifyOptions = {
31
11
  // Better readability when bash commands most often use double quotes
32
12
  singleQuote: true,
33
13
  };
34
- const writeYamlfile = async (path, data) => {
35
- await (0, exports.writeGeneratedFile)(path, (0, yaml_1.stringify)(data, exports.yamlStringifyOptions), {
36
- commentChar: "#",
37
- });
38
- };
39
- exports.writeYamlfile = writeYamlfile;
14
+ class FileWriter {
15
+ static create(config) {
16
+ return new FileWriter(config);
17
+ }
18
+ constructor(config) {
19
+ this.config = config;
20
+ this.config = config;
21
+ }
22
+ async writeTheFile(path, content) {
23
+ var _a, _b;
24
+ const transformedContent = await ((_a = this.config.hooks) === null || _a === void 0 ? void 0 : _a.transformFileBeforeWrite({
25
+ filename: path,
26
+ content,
27
+ extension: (_b = path.split(".").pop()) !== null && _b !== void 0 ? _b : "",
28
+ path,
29
+ }));
30
+ await (0, promises_1.writeFile)(path, transformedContent !== null && transformedContent !== void 0 ? transformedContent : content, {
31
+ encoding: "utf-8",
32
+ });
33
+ }
34
+ async writeGeneratedFile(path, content, options) {
35
+ await this.writeTheFile(path, [this.getAutoGeneratedHeader(options.commentChar), content].join("\n"));
36
+ }
37
+ writeYamlfile(path, data) {
38
+ return this.writeGeneratedFile(path, (0, yaml_1.stringify)(data, exports.yamlStringifyOptions), {
39
+ commentChar: "#",
40
+ });
41
+ }
42
+ getAutoGeneratedHeader(commentChar) {
43
+ return [
44
+ "-------------------------------------------------",
45
+ `🐱 🔨 This file is generated by catladder`,
46
+ `🚨 Do not edit this file manually 🚨`,
47
+ "-------------------------------------------------",
48
+ ]
49
+ .map((line) => `${commentChar} ${line}`)
50
+ .join("\n")
51
+ .concat("\n");
52
+ }
53
+ }
54
+ exports.FileWriter = FileWriter;
40
55
  //# sourceMappingURL=writeFiles.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"writeFiles.js","sourceRoot":"","sources":["../../../../../pipeline/src/utils/writeFiles.ts"],"names":[],"mappings":";;;AAAA,0CAAwC;AACxC,+BAAiC;AAE1B,MAAM,sBAAsB,GAAG,CAAC,WAAmB,EAAE,EAAE;IAC5D,OAAO;QACL,mDAAmD;QACnD,2CAA2C;QAC3C,sCAAsC;QACtC,mDAAmD;KACpD;SACE,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,GAAG,WAAW,IAAI,IAAI,EAAE,CAAC;SACvC,IAAI,CAAC,IAAI,CAAC;SACV,MAAM,CAAC,IAAI,CAAC,CAAC;AAClB,CAAC,CAAC;AAVW,QAAA,sBAAsB,0BAUjC;AAEK,MAAM,kBAAkB,GAAG,KAAK,EACrC,IAAY,EACZ,OAAe,EACf,EACE,WAAW,GAGZ,EACD,EAAE;IACF,MAAM,IAAA,oBAAS,EACb,IAAI;IACJ,0CAA0C;IAC1C,CAAC,IAAA,8BAAsB,EAAC,WAAW,CAAC,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EACzD;QACE,QAAQ,EAAE,OAAO;KAClB,CACF,CAAC;AACJ,CAAC,CAAC;AAjBW,QAAA,kBAAkB,sBAiB7B;AAMW,QAAA,oBAAoB,GAAqB;IACpD,iEAAiE;IACjE,SAAS,EAAE,CAAC;IACZ,4DAA4D;IAC5D,kBAAkB,EAAE,IAAI;IACxB,qEAAqE;IACrE,WAAW,EAAE,IAAI;CAClB,CAAC;AAEK,MAAM,aAAa,GAAG,KAAK,EAAE,IAAY,EAAE,IAAS,EAAE,EAAE;IAC7D,MAAM,IAAA,0BAAkB,EAAC,IAAI,EAAE,IAAA,gBAAS,EAAC,IAAI,EAAE,4BAAoB,CAAC,EAAE;QACpE,WAAW,EAAE,GAAG;KACjB,CAAC,CAAC;AACL,CAAC,CAAC;AAJW,QAAA,aAAa,iBAIxB"}
1
+ {"version":3,"file":"writeFiles.js","sourceRoot":"","sources":["../../../../../pipeline/src/utils/writeFiles.ts"],"names":[],"mappings":";;;AAAA,0CAAwC;AACxC,+BAAiC;AAWpB,QAAA,oBAAoB,GAAqB;IACpD,iEAAiE;IACjE,SAAS,EAAE,CAAC;IACZ,4DAA4D;IAC5D,kBAAkB,EAAE,IAAI;IACxB,qEAAqE;IACrE,WAAW,EAAE,IAAI;CAClB,CAAC;AAEF,MAAa,UAAU;IACd,MAAM,CAAC,MAAM,CAAC,MAAc;QACjC,OAAO,IAAI,UAAU,CAAC,MAAM,CAAC,CAAC;IAChC,CAAC;IAED,YAA6B,MAAc;QAAd,WAAM,GAAN,MAAM,CAAQ;QACzC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACvB,CAAC;IAES,KAAK,CAAC,YAAY,CAAC,IAAY,EAAE,OAAe;;QACxD,MAAM,kBAAkB,GACtB,MAAM,CAAA,MAAA,IAAI,CAAC,MAAM,CAAC,KAAK,0CAAE,wBAAwB,CAAC;YAChD,QAAQ,EAAE,IAAI;YACd,OAAO;YACP,SAAS,EAAE,MAAA,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,mCAAI,EAAE;YACtC,IAAI;SACL,CAAC,CAAA,CAAC;QACL,MAAM,IAAA,oBAAS,EAAC,IAAI,EAAE,kBAAkB,aAAlB,kBAAkB,cAAlB,kBAAkB,GAAI,OAAO,EAAE;YACnD,QAAQ,EAAE,OAAO;SAClB,CAAC,CAAC;IACL,CAAC;IAEM,KAAK,CAAC,kBAAkB,CAC7B,IAAY,EACZ,OAAe,EACf,OAAyB;QAEzB,MAAM,IAAI,CAAC,YAAY,CACrB,IAAI,EACJ,CAAC,IAAI,CAAC,sBAAsB,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CACvE,CAAC;IACJ,CAAC;IAEM,aAAa,CAAC,IAAY,EAAE,IAAS;QAC1C,OAAO,IAAI,CAAC,kBAAkB,CAC5B,IAAI,EACJ,IAAA,gBAAS,EAAC,IAAI,EAAE,4BAAoB,CAAC,EACrC;YACE,WAAW,EAAE,GAAG;SACjB,CACF,CAAC;IACJ,CAAC;IAES,sBAAsB,CAAC,WAAmB;QAClD,OAAO;YACL,mDAAmD;YACnD,2CAA2C;YAC3C,sCAAsC;YACtC,mDAAmD;SACpD;aACE,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,GAAG,WAAW,IAAI,IAAI,EAAE,CAAC;aACvC,IAAI,CAAC,IAAI,CAAC;aACV,MAAM,CAAC,IAAI,CAAC,CAAC;IAClB,CAAC;CACF;AAtDD,gCAsDC"}