@catladder/cli 0.0.0-main-18bd4513 → 0.0.0-main-0b5c90c3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/bundles/catenv/index.js +82 -49
- package/dist/bundles/cli/index.js +106 -49
- package/dist/cli/src/apps/catenv/catenv.js +5 -4
- package/dist/cli/src/apps/catenv/catenv.js.map +1 -1
- package/dist/cli/src/apps/catenv/printVariables.d.ts +2 -2
- package/dist/cli/src/apps/catenv/printVariables.js +2 -2
- package/dist/cli/src/apps/catenv/printVariables.js.map +1 -1
- package/dist/cli/src/apps/catenv/writeDotEnvFiles.d.ts +2 -2
- package/dist/cli/src/apps/catenv/writeDotEnvFiles.js +5 -6
- package/dist/cli/src/apps/catenv/writeDotEnvFiles.js.map +1 -1
- package/dist/cli/src/apps/catenv/writeEnvDTs.d.ts +2 -2
- package/dist/cli/src/apps/catenv/writeEnvDTs.js +5 -6
- package/dist/cli/src/apps/catenv/writeEnvDTs.js.map +1 -1
- package/dist/cli/src/apps/cli/commands/project/setup/index.js +6 -3
- package/dist/cli/src/apps/cli/commands/project/setup/index.js.map +1 -1
- package/dist/cli/src/apps/cli/commands/project/setup/logSection.d.ts +2 -0
- package/dist/cli/src/apps/cli/commands/project/setup/logSection.js +17 -0
- package/dist/cli/src/apps/cli/commands/project/setup/logSection.js.map +1 -0
- package/dist/cli/src/apps/cli/commands/project/setup/setupContext.js +11 -15
- package/dist/cli/src/apps/cli/commands/project/setup/setupContext.js.map +1 -1
- package/dist/pipeline/src/catenv/index.d.ts +7 -0
- package/dist/pipeline/src/catenv/index.js +12 -0
- package/dist/pipeline/src/catenv/index.js.map +1 -0
- package/dist/pipeline/src/index.d.ts +1 -0
- package/dist/pipeline/src/index.js +1 -0
- package/dist/pipeline/src/index.js.map +1 -1
- package/dist/pipeline/src/pipeline/generatePipelineFiles.d.ts +2 -1
- package/dist/pipeline/src/pipeline/generatePipelineFiles.js +3 -4
- package/dist/pipeline/src/pipeline/generatePipelineFiles.js.map +1 -1
- package/dist/pipeline/src/types/config.d.ts +5 -0
- package/dist/pipeline/src/types/config.js.map +1 -1
- package/dist/pipeline/src/types/hooks.d.ts +26 -0
- package/dist/pipeline/src/types/hooks.js +3 -0
- package/dist/pipeline/src/types/hooks.js.map +1 -0
- package/dist/pipeline/src/utils/writeFiles.d.ts +12 -4
- package/dist/pipeline/src/utils/writeFiles.js +42 -27
- package/dist/pipeline/src/utils/writeFiles.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +1 -1
- package/src/apps/catenv/catenv.ts +11 -5
- package/src/apps/catenv/printVariables.ts +6 -3
- package/src/apps/catenv/writeDotEnvFiles.ts +21 -8
- package/src/apps/catenv/writeEnvDTs.ts +15 -6
- package/src/apps/cli/commands/project/setup/index.ts +8 -3
- package/src/apps/cli/commands/project/setup/logSection.ts +22 -0
- package/src/apps/cli/commands/project/setup/setupContext.ts +14 -19
|
@@ -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;
|
|
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,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
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
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;
|
|
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,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"}
|
|
@@ -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
|
-
|
|
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(
|
|
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
|
|
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":";;;AAAA,0CAAwC;AACxC,+BAA+B;
|
|
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":";;;
|
|
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 @@
|
|
|
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
|
-
|
|
3
|
-
|
|
2
|
+
import type { Config } from "../types";
|
|
3
|
+
type WriteFileOptions = {
|
|
4
4
|
commentChar: string;
|
|
5
|
-
}
|
|
5
|
+
};
|
|
6
6
|
type StringifyOptions = Exclude<Parameters<typeof stringify>[2], null | undefined | string | number>;
|
|
7
7
|
export declare const yamlStringifyOptions: StringifyOptions;
|
|
8
|
-
export declare
|
|
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.
|
|
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
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
}
|
|
38
|
-
|
|
39
|
-
|
|
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;
|
|
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"}
|