@catladder/cli 3.18.0 → 3.20.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 (47) 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/pipeline/src/catenv/index.d.ts +7 -0
  15. package/dist/pipeline/src/catenv/index.js +12 -0
  16. package/dist/pipeline/src/catenv/index.js.map +1 -0
  17. package/dist/pipeline/src/index.d.ts +1 -0
  18. package/dist/pipeline/src/index.js +1 -0
  19. package/dist/pipeline/src/index.js.map +1 -1
  20. package/dist/pipeline/src/pipeline/createMainPipeline.js +1 -1
  21. package/dist/pipeline/src/pipeline/createMainPipeline.js.map +1 -1
  22. package/dist/pipeline/src/pipeline/generatePipelineFiles.d.ts +2 -1
  23. package/dist/pipeline/src/pipeline/generatePipelineFiles.js +3 -4
  24. package/dist/pipeline/src/pipeline/generatePipelineFiles.js.map +1 -1
  25. package/dist/pipeline/src/pipeline/gitlab/gitlabReleaseJobs.d.ts +2 -1
  26. package/dist/pipeline/src/pipeline/gitlab/gitlabReleaseJobs.js +29 -3
  27. package/dist/pipeline/src/pipeline/gitlab/gitlabReleaseJobs.js.map +1 -1
  28. package/dist/pipeline/src/rules/index.d.ts +0 -2
  29. package/dist/pipeline/src/rules/index.js +1 -31
  30. package/dist/pipeline/src/rules/index.js.map +1 -1
  31. package/dist/pipeline/src/types/config.d.ts +10 -0
  32. package/dist/pipeline/src/types/config.js.map +1 -1
  33. package/dist/pipeline/src/types/hooks.d.ts +26 -0
  34. package/dist/pipeline/src/types/hooks.js +3 -0
  35. package/dist/pipeline/src/types/hooks.js.map +1 -0
  36. package/dist/pipeline/src/types/release.d.ts +7 -0
  37. package/dist/pipeline/src/types/release.js +3 -0
  38. package/dist/pipeline/src/types/release.js.map +1 -0
  39. package/dist/pipeline/src/utils/writeFiles.d.ts +12 -4
  40. package/dist/pipeline/src/utils/writeFiles.js +42 -27
  41. package/dist/pipeline/src/utils/writeFiles.js.map +1 -1
  42. package/dist/tsconfig.tsbuildinfo +1 -1
  43. package/package.json +1 -1
  44. package/src/apps/catenv/catenv.ts +11 -5
  45. package/src/apps/catenv/printVariables.ts +6 -3
  46. package/src/apps/catenv/writeDotEnvFiles.ts +21 -8
  47. package/src/apps/catenv/writeEnvDTs.ts +15 -6
@@ -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"}
@@ -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"}
@@ -57,7 +57,7 @@ const createMainPipeline = async (pipelineType, config) => {
57
57
  stages: [...stages, "release"],
58
58
  jobs: {
59
59
  ...allJobs,
60
- ...Object.fromEntries(Object.entries((0, gitlabReleaseJobs_1.getGitlabReleaseJobs)()).map(([name, gitlabJob]) => [
60
+ ...Object.fromEntries(Object.entries((0, gitlabReleaseJobs_1.getGitlabReleaseJobs)(config)).map(([name, gitlabJob]) => [
61
61
  name,
62
62
  {
63
63
  gitlabJob,
@@ -1 +1 @@
1
- {"version":3,"file":"createMainPipeline.js","sourceRoot":"","sources":["../../../../../pipeline/src/pipeline/createMainPipeline.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"createMainPipeline.js","sourceRoot":"","sources":["../../../../../pipeline/src/pipeline/createMainPipeline.ts"],"names":[],"mappings":"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"}
@@ -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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"}
@@ -1,4 +1,5 @@
1
- export declare const getGitlabReleaseJobs: () => {
1
+ import type { Config } from "../../types/config";
2
+ export declare const getGitlabReleaseJobs: (config: Config) => {
2
3
  "create release": {
3
4
  stage: string;
4
5
  image: string;
@@ -4,20 +4,46 @@ exports.getGitlabReleaseJobs = void 0;
4
4
  const rules_1 = require("../../rules");
5
5
  const runner_1 = require("../../runner");
6
6
  const EXPIRED_TOKEN_HELP = "echo '👉 The project access token might be invald - run `project-renew-token` in catladder CLI to fix.'";
7
- const getGitlabReleaseJobs = () => {
7
+ const baseReleaseRules = [
8
+ rules_1.RULE_NEVER_ON_RELEASE_COMMIT,
9
+ rules_1.RULE_NEVER_ON_AGENT_TRIGGER,
10
+ rules_1.RULE_NEVER_ON_SCHEDULE,
11
+ ];
12
+ const getGitlabReleaseJobs = (config) => {
13
+ var _a;
8
14
  return {
9
15
  ["create release"]: {
10
16
  stage: "release",
11
17
  image: (0, runner_1.getRunnerImage)("semantic-release"),
12
18
  script: ["semanticRelease", EXPIRED_TOKEN_HELP],
13
- rules: rules_1.RULES_RELEASE,
19
+ rules: [
20
+ ...baseReleaseRules,
21
+ {
22
+ if: rules_1.RULE_CONDITION_MAIN_BRANCH,
23
+ when: ((_a = config.releases) === null || _a === void 0 ? void 0 : _a.when) === "auto" ? "on_success" : "manual",
24
+ },
25
+ {
26
+ if: rules_1.RULE_CONDITION_HOTFIX_BRANCH,
27
+ when: "manual",
28
+ },
29
+ ],
14
30
  },
15
31
  ["⚠️ force create release"]: {
16
32
  stage: "release",
17
33
  image: (0, runner_1.getRunnerImage)("semantic-release"),
18
34
  script: ["semanticRelease", EXPIRED_TOKEN_HELP],
19
35
  needs: [],
20
- rules: rules_1.RULES_MANUAL_RELEASE,
36
+ rules: [
37
+ ...baseReleaseRules,
38
+ {
39
+ if: rules_1.RULE_CONDITION_MAIN_BRANCH,
40
+ when: "manual",
41
+ },
42
+ {
43
+ if: rules_1.RULE_CONDITION_HOTFIX_BRANCH,
44
+ when: "manual",
45
+ },
46
+ ],
21
47
  },
22
48
  };
23
49
  };
@@ -1 +1 @@
1
- {"version":3,"file":"gitlabReleaseJobs.js","sourceRoot":"","sources":["../../../../../../pipeline/src/pipeline/gitlab/gitlabReleaseJobs.ts"],"names":[],"mappings":";;;AAAA,uCAAkE;AAClE,yCAA8C;AAE9C,MAAM,kBAAkB,GACtB,yGAAyG,CAAC;AAErG,MAAM,oBAAoB,GAAG,GAAG,EAAE;IACvC,OAAO;QACL,CAAC,gBAAgB,CAAC,EAAE;YAClB,KAAK,EAAE,SAAS;YAChB,KAAK,EAAE,IAAA,uBAAc,EAAC,kBAAkB,CAAC;YACzC,MAAM,EAAE,CAAC,iBAAiB,EAAE,kBAAkB,CAAC;YAC/C,KAAK,EAAE,qBAAa;SACrB;QACD,CAAC,yBAAyB,CAAC,EAAE;YAC3B,KAAK,EAAE,SAAS;YAChB,KAAK,EAAE,IAAA,uBAAc,EAAC,kBAAkB,CAAC;YACzC,MAAM,EAAE,CAAC,iBAAiB,EAAE,kBAAkB,CAAC;YAC/C,KAAK,EAAE,EAAE;YACT,KAAK,EAAE,4BAAoB;SAC5B;KACF,CAAC;AACJ,CAAC,CAAC;AAhBW,QAAA,oBAAoB,wBAgB/B"}
1
+ {"version":3,"file":"gitlabReleaseJobs.js","sourceRoot":"","sources":["../../../../../../pipeline/src/pipeline/gitlab/gitlabReleaseJobs.ts"],"names":[],"mappings":";;;AAAA,uCAMqB;AACrB,yCAA8C;AAI9C,MAAM,kBAAkB,GACtB,yGAAyG,CAAC;AAE5G,MAAM,gBAAgB,GAAG;IACvB,oCAA4B;IAC5B,mCAA2B;IAC3B,8BAAsB;CACvB,CAAC;AACK,MAAM,oBAAoB,GAAG,CAAC,MAAc,EAAE,EAAE;;IACrD,OAAO;QACL,CAAC,gBAAgB,CAAC,EAAE;YAClB,KAAK,EAAE,SAAS;YAChB,KAAK,EAAE,IAAA,uBAAc,EAAC,kBAAkB,CAAC;YACzC,MAAM,EAAE,CAAC,iBAAiB,EAAE,kBAAkB,CAAC;YAC/C,KAAK,EAAE;gBACL,GAAG,gBAAgB;gBACnB;oBACE,EAAE,EAAE,kCAA0B;oBAC9B,IAAI,EAAE,CAAA,MAAA,MAAM,CAAC,QAAQ,0CAAE,IAAI,MAAK,MAAM,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,QAAQ;iBACjE;gBACD;oBACE,EAAE,EAAE,oCAA4B;oBAChC,IAAI,EAAE,QAAQ;iBACf;aACqB;SACzB;QACD,CAAC,yBAAyB,CAAC,EAAE;YAC3B,KAAK,EAAE,SAAS;YAChB,KAAK,EAAE,IAAA,uBAAc,EAAC,kBAAkB,CAAC;YACzC,MAAM,EAAE,CAAC,iBAAiB,EAAE,kBAAkB,CAAC;YAC/C,KAAK,EAAE,EAAE;YACT,KAAK,EAAE;gBACL,GAAG,gBAAgB;gBACnB;oBACE,EAAE,EAAE,kCAA0B;oBAC9B,IAAI,EAAE,QAAQ;iBACf;gBACD;oBACE,EAAE,EAAE,oCAA4B;oBAChC,IAAI,EAAE,QAAQ;iBACf;aACqB;SACzB;KACF,CAAC;AACJ,CAAC,CAAC;AApCW,QAAA,oBAAoB,wBAoC/B"}
@@ -10,5 +10,3 @@ export declare const RULE_NEVER_ON_SCHEDULE: GitlabRule;
10
10
  export declare const RULE_IS_MERGE_REQUEST: GitlabRule;
11
11
  export declare const RULE_IS_TAGGED_RELEASE: GitlabRule;
12
12
  export declare const RULE_CONDITION_HOTFIX_BRANCH = "$CI_COMMIT_BRANCH =~ /^[0-9]+.([0-9]+|x).x$/";
13
- export declare const RULES_RELEASE: GitlabRule[];
14
- export declare const RULES_MANUAL_RELEASE: GitlabRule[];
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.RULES_MANUAL_RELEASE = exports.RULES_RELEASE = exports.RULE_CONDITION_HOTFIX_BRANCH = exports.RULE_IS_TAGGED_RELEASE = exports.RULE_IS_MERGE_REQUEST = exports.RULE_NEVER_ON_SCHEDULE = exports.RULE_NEVER_ON_AGENT_TRIGGER = exports.RULE_NEVER_ON_RELEASE_COMMIT = exports.RULE_IS_MAIN_BRANCH_AND_NOT_RELEASE_COMMIT = exports.RULE_IS_MAIN_BRANCH = exports.RULE_CONDITION_NOT_RELEASE_COMMIT = exports.RULE_CONDITION_RELEASE_COMMIT = exports.RULE_CONDITION_MAIN_BRANCH = void 0;
3
+ exports.RULE_CONDITION_HOTFIX_BRANCH = exports.RULE_IS_TAGGED_RELEASE = exports.RULE_IS_MERGE_REQUEST = exports.RULE_NEVER_ON_SCHEDULE = exports.RULE_NEVER_ON_AGENT_TRIGGER = exports.RULE_NEVER_ON_RELEASE_COMMIT = exports.RULE_IS_MAIN_BRANCH_AND_NOT_RELEASE_COMMIT = exports.RULE_IS_MAIN_BRANCH = exports.RULE_CONDITION_NOT_RELEASE_COMMIT = exports.RULE_CONDITION_RELEASE_COMMIT = exports.RULE_CONDITION_MAIN_BRANCH = void 0;
4
4
  exports.RULE_CONDITION_MAIN_BRANCH = "$CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH";
5
5
  exports.RULE_CONDITION_RELEASE_COMMIT = "$CI_COMMIT_MESSAGE =~ /^chore\\(release\\).*/";
6
6
  exports.RULE_CONDITION_NOT_RELEASE_COMMIT = "$CI_COMMIT_MESSAGE !~ /^chore\\(release\\).*/";
@@ -30,34 +30,4 @@ exports.RULE_IS_TAGGED_RELEASE = {
30
30
  if: "$CI_COMMIT_TAG",
31
31
  };
32
32
  exports.RULE_CONDITION_HOTFIX_BRANCH = "$CI_COMMIT_BRANCH =~ /^[0-9]+.([0-9]+|x).x$/";
33
- exports.RULES_RELEASE = [
34
- exports.RULE_NEVER_ON_RELEASE_COMMIT,
35
- exports.RULE_NEVER_ON_AGENT_TRIGGER,
36
- exports.RULE_NEVER_ON_SCHEDULE,
37
- {
38
- if: exports.RULE_CONDITION_MAIN_BRANCH + ' && $AUTO_RELEASE == "true"',
39
- when: "on_success",
40
- },
41
- {
42
- if: exports.RULE_CONDITION_MAIN_BRANCH,
43
- when: "manual",
44
- },
45
- {
46
- if: exports.RULE_CONDITION_HOTFIX_BRANCH,
47
- when: "manual",
48
- },
49
- ];
50
- exports.RULES_MANUAL_RELEASE = [
51
- exports.RULE_NEVER_ON_RELEASE_COMMIT,
52
- exports.RULE_NEVER_ON_AGENT_TRIGGER,
53
- exports.RULE_NEVER_ON_SCHEDULE,
54
- {
55
- if: exports.RULE_CONDITION_MAIN_BRANCH,
56
- when: "manual",
57
- },
58
- {
59
- if: exports.RULE_CONDITION_HOTFIX_BRANCH,
60
- when: "manual",
61
- },
62
- ];
63
33
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../pipeline/src/rules/index.ts"],"names":[],"mappings":";;;AACa,QAAA,0BAA0B,GACrC,yCAAyC,CAAC;AAE/B,QAAA,6BAA6B,GACxC,+CAA+C,CAAC;AAErC,QAAA,iCAAiC,GAC5C,+CAA+C,CAAC;AAErC,QAAA,mBAAmB,GAAe;IAC7C,EAAE,EAAE,kCAA0B;CAC/B,CAAC;AACW,QAAA,0CAA0C,GAAe;IACpE,EAAE,EAAE,kCAA0B,GAAG,MAAM,GAAG,yCAAiC;CAC5E,CAAC;AACW,QAAA,4BAA4B,GAAe;IACtD,EAAE,EAAE,qCAA6B;IACjC,IAAI,EAAE,OAAO;CACd,CAAC;AACF,mEAAmE;AACtD,QAAA,2BAA2B,GAAe;IACrD,EAAE,EAAE,mCAAmC;IACvC,IAAI,EAAE,OAAO;CACd,CAAC;AAEW,QAAA,sBAAsB,GAAe;IAChD,EAAE,EAAE,oCAAoC;IACxC,IAAI,EAAE,OAAO;CACd,CAAC;AAEW,QAAA,qBAAqB,GAAe;IAC/C,EAAE,EAAE,sBAAsB;CAC3B,CAAC;AAEW,QAAA,sBAAsB,GAAe;IAChD,EAAE,EAAE,gBAAgB;CACrB,CAAC;AAEW,QAAA,4BAA4B,GACvC,8CAA8C,CAAC;AAEpC,QAAA,aAAa,GAAiB;IACzC,oCAA4B;IAC5B,mCAA2B;IAC3B,8BAAsB;IACtB;QACE,EAAE,EAAE,kCAA0B,GAAG,6BAA6B;QAC9D,IAAI,EAAE,YAAY;KACnB;IACD;QACE,EAAE,EAAE,kCAA0B;QAC9B,IAAI,EAAE,QAAQ;KACf;IACD;QACE,EAAE,EAAE,oCAA4B;QAChC,IAAI,EAAE,QAAQ;KACf;CACF,CAAC;AAEW,QAAA,oBAAoB,GAAiB;IAChD,oCAA4B;IAC5B,mCAA2B;IAC3B,8BAAsB;IACtB;QACE,EAAE,EAAE,kCAA0B;QAC9B,IAAI,EAAE,QAAQ;KACf;IACD;QACE,EAAE,EAAE,oCAA4B;QAChC,IAAI,EAAE,QAAQ;KACf;CACF,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../pipeline/src/rules/index.ts"],"names":[],"mappings":";;;AACa,QAAA,0BAA0B,GACrC,yCAAyC,CAAC;AAE/B,QAAA,6BAA6B,GACxC,+CAA+C,CAAC;AAErC,QAAA,iCAAiC,GAC5C,+CAA+C,CAAC;AAErC,QAAA,mBAAmB,GAAe;IAC7C,EAAE,EAAE,kCAA0B;CAC/B,CAAC;AACW,QAAA,0CAA0C,GAAe;IACpE,EAAE,EAAE,kCAA0B,GAAG,MAAM,GAAG,yCAAiC;CAC5E,CAAC;AACW,QAAA,4BAA4B,GAAe;IACtD,EAAE,EAAE,qCAA6B;IACjC,IAAI,EAAE,OAAO;CACd,CAAC;AACF,mEAAmE;AACtD,QAAA,2BAA2B,GAAe;IACrD,EAAE,EAAE,mCAAmC;IACvC,IAAI,EAAE,OAAO;CACd,CAAC;AAEW,QAAA,sBAAsB,GAAe;IAChD,EAAE,EAAE,oCAAoC;IACxC,IAAI,EAAE,OAAO;CACd,CAAC;AAEW,QAAA,qBAAqB,GAAe;IAC/C,EAAE,EAAE,sBAAsB;CAC3B,CAAC;AAEW,QAAA,sBAAsB,GAAe;IAChD,EAAE,EAAE,gBAAgB;CACrB,CAAC;AAEW,QAAA,4BAA4B,GACvC,8CAA8C,CAAC"}
@@ -5,6 +5,8 @@ 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";
9
+ import type { ReleaseConfig } from "./release";
8
10
  export declare const ALL_PIPELINE_TRIGGERS: readonly ["mainBranch", "mr", "taggedRelease"];
9
11
  export type PipelineTrigger = (typeof ALL_PIPELINE_TRIGGERS)[number];
10
12
  /**
@@ -183,5 +185,13 @@ export type Config<C extends ConfigProps = never> = {
183
185
  * additional vars only for the runner in all jobs.
184
186
  */
185
187
  runnerVariables?: Record<string, string>;
188
+ /**
189
+ * hook into catladder generation
190
+ */
191
+ hooks?: Hooks;
192
+ /**
193
+ * configure tagged releases
194
+ */
195
+ releases?: ReleaseConfig;
186
196
  };
187
197
  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":";;;AAWa,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":""}
@@ -0,0 +1,7 @@
1
+ export type ReleaseConfig = {
2
+ /**
3
+ * Whether to release automatically or manually on main branch.
4
+ * Defaults to "manuel"
5
+ */
6
+ when?: "manual" | "auto";
7
+ };
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=release.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"release.js","sourceRoot":"","sources":["../../../../../pipeline/src/types/release.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