@catladder/cli 5.3.1 → 5.3.2

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.
@@ -8428,6 +8428,9 @@ function computeCustomImageHash(config) {
8428
8428
  watchedPaths.push(`${extraDir}/**/*`);
8429
8429
  }
8430
8430
  watchedPaths.push(...hashExtras(hash, config));
8431
+ if (config.salt) {
8432
+ hash.update(config.salt);
8433
+ }
8431
8434
  return {
8432
8435
  hash: hash.digest("hex").slice(0, 12),
8433
8436
  watchedPaths,
@@ -8497,8 +8500,27 @@ const toResolvedJobImage = ({ imageRef, jobName, }) => ({
8497
8500
  */
8498
8501
  const materializeDir = (sourceDir, targetDir) => listFilesRecursive(sourceDir).map((file) => ({
8499
8502
  path: (0, path_1.join)(targetDir, file),
8500
- content: (0, fs_1.readFileSync)((0, path_1.join)(sourceDir, file), "utf-8"),
8503
+ content: readVerbatim((0, path_1.join)(sourceDir, file)),
8501
8504
  }));
8505
+ /**
8506
+ * text files stay strings, anything that is not valid utf-8 (e.g. the
8507
+ * packaged helm chart dependencies of the kubernetes image) stays a
8508
+ * Buffer, so it is written byte for byte instead of being mangled into
8509
+ * replacement characters
8510
+ */
8511
+ const readVerbatim = (path) => {
8512
+ const bytes = (0, fs_1.readFileSync)(path);
8513
+ const text = bytes.toString("utf-8");
8514
+ return Buffer.from(text, "utf-8").equals(bytes) ? text : bytes;
8515
+ };
8516
+ /**
8517
+ * part of the tag of every shipped image. Bump it when the images built
8518
+ * from the materialized definitions change while the shipped definitions
8519
+ * don't, so repositories rebuild them instead of reusing the existing tag:
8520
+ * - 2: up to 5.3.1 binary files were materialized as utf-8 text, which
8521
+ * corrupted the helm chart dependencies of the kubernetes image
8522
+ */
8523
+ const SHIPPED_IMAGE_HASH_SALT = "2";
8502
8524
  // built-in (catladder-shipped) images carry the catladder marker in
8503
8525
  // their job name; project-declared images get the short plain name
8504
8526
  const ensureJobName = (name) => `🐳 catladder image ${name}`;
@@ -8661,6 +8683,7 @@ class JobImagesPlan {
8661
8683
  const { hash } = (0, hash_1.computeCustomImageHash)({
8662
8684
  dir: (0, shippedImages_1.getShippedImageDir)(name),
8663
8685
  extraDirs: dependencies.map((dependency) => (0, shippedImages_1.getShippedImageDir)(dependency)),
8686
+ salt: SHIPPED_IMAGE_HASH_SALT,
8664
8687
  });
8665
8688
  const targetDir = `${exports.GENERATED_IMAGES_FOLDER}/${name}`;
8666
8689
  const planned = {
@@ -12552,7 +12575,7 @@ async function generatePipelineFilesForBackend(context, backend) {
12552
12575
  // write files
12553
12576
  await Promise.all(files.map(async ({ path, content }) => {
12554
12577
  await (0, promises_1.mkdir)((0, path_1.dirname)(path), { recursive: true });
12555
- if (typeof content === "string") {
12578
+ if (typeof content === "string" || Buffer.isBuffer(content)) {
12556
12579
  await context.fileWriter.writeGeneratedFileRaw(path, content);
12557
12580
  }
12558
12581
  else {
@@ -13581,6 +13604,11 @@ class FileWriter {
13581
13604
  * parser directives like `# syntax = ...`
13582
13605
  */
13583
13606
  async writeGeneratedFileRaw(path, content) {
13607
+ if (Buffer.isBuffer(content)) {
13608
+ // binary content is written as is, file hooks only transform text
13609
+ await (0, promises_1.writeFile)(path, content);
13610
+ return;
13611
+ }
13584
13612
  await this.writeTheFile(path, content);
13585
13613
  }
13586
13614
  async writeGeneratedFile(path, content, options) {
@@ -15005,6 +15005,9 @@ function computeCustomImageHash(config) {
15005
15005
  watchedPaths.push(`${extraDir}/**/*`);
15006
15006
  }
15007
15007
  watchedPaths.push(...hashExtras(hash, config));
15008
+ if (config.salt) {
15009
+ hash.update(config.salt);
15010
+ }
15008
15011
  return {
15009
15012
  hash: hash.digest("hex").slice(0, 12),
15010
15013
  watchedPaths,
@@ -15074,8 +15077,27 @@ const toResolvedJobImage = ({ imageRef, jobName, }) => ({
15074
15077
  */
15075
15078
  const materializeDir = (sourceDir, targetDir) => listFilesRecursive(sourceDir).map((file) => ({
15076
15079
  path: (0, path_1.join)(targetDir, file),
15077
- content: (0, fs_1.readFileSync)((0, path_1.join)(sourceDir, file), "utf-8"),
15080
+ content: readVerbatim((0, path_1.join)(sourceDir, file)),
15078
15081
  }));
15082
+ /**
15083
+ * text files stay strings, anything that is not valid utf-8 (e.g. the
15084
+ * packaged helm chart dependencies of the kubernetes image) stays a
15085
+ * Buffer, so it is written byte for byte instead of being mangled into
15086
+ * replacement characters
15087
+ */
15088
+ const readVerbatim = (path) => {
15089
+ const bytes = (0, fs_1.readFileSync)(path);
15090
+ const text = bytes.toString("utf-8");
15091
+ return Buffer.from(text, "utf-8").equals(bytes) ? text : bytes;
15092
+ };
15093
+ /**
15094
+ * part of the tag of every shipped image. Bump it when the images built
15095
+ * from the materialized definitions change while the shipped definitions
15096
+ * don't, so repositories rebuild them instead of reusing the existing tag:
15097
+ * - 2: up to 5.3.1 binary files were materialized as utf-8 text, which
15098
+ * corrupted the helm chart dependencies of the kubernetes image
15099
+ */
15100
+ const SHIPPED_IMAGE_HASH_SALT = "2";
15079
15101
  // built-in (catladder-shipped) images carry the catladder marker in
15080
15102
  // their job name; project-declared images get the short plain name
15081
15103
  const ensureJobName = (name) => `🐳 catladder image ${name}`;
@@ -15238,6 +15260,7 @@ class JobImagesPlan {
15238
15260
  const { hash } = (0, hash_1.computeCustomImageHash)({
15239
15261
  dir: (0, shippedImages_1.getShippedImageDir)(name),
15240
15262
  extraDirs: dependencies.map((dependency) => (0, shippedImages_1.getShippedImageDir)(dependency)),
15263
+ salt: SHIPPED_IMAGE_HASH_SALT,
15241
15264
  });
15242
15265
  const targetDir = `${exports.GENERATED_IMAGES_FOLDER}/${name}`;
15243
15266
  const planned = {
@@ -19129,7 +19152,7 @@ async function generatePipelineFilesForBackend(context, backend) {
19129
19152
  // write files
19130
19153
  await Promise.all(files.map(async ({ path, content }) => {
19131
19154
  await (0, promises_1.mkdir)((0, path_1.dirname)(path), { recursive: true });
19132
- if (typeof content === "string") {
19155
+ if (typeof content === "string" || Buffer.isBuffer(content)) {
19133
19156
  await context.fileWriter.writeGeneratedFileRaw(path, content);
19134
19157
  }
19135
19158
  else {
@@ -20158,6 +20181,11 @@ class FileWriter {
20158
20181
  * parser directives like `# syntax = ...`
20159
20182
  */
20160
20183
  async writeGeneratedFileRaw(path, content) {
20184
+ if (Buffer.isBuffer(content)) {
20185
+ // binary content is written as is, file hooks only transform text
20186
+ await (0, promises_1.writeFile)(path, content);
20187
+ return;
20188
+ }
20161
20189
  await this.writeTheFile(path, content);
20162
20190
  }
20163
20191
  async writeGeneratedFile(path, content, options) {
@@ -1,8 +1,12 @@
1
+ /// <reference types="node" />
1
2
  import type { Config, PipelineType } from "../types";
2
3
  export type PipelineFile = {
3
4
  path: string;
4
- /** yaml data, or a verbatim string (e.g. materialized dockerfiles) */
5
- content: Record<string, unknown> | string;
5
+ /**
6
+ * yaml data, or verbatim content (e.g. materialized dockerfiles, or
7
+ * binary files of a materialized image definition as Buffer)
8
+ */
9
+ content: Record<string, unknown> | string | Buffer;
6
10
  };
7
11
  /**
8
12
  * A pipeline backend renders catladder jobs into the files of a concrete
@@ -7,6 +7,10 @@ export type ImageHashConfig = {
7
7
  extraDirs?: string[];
8
8
  hashExtraPaths?: string[];
9
9
  buildArgs?: Record<string, string>;
10
+ /**
11
+ * bumped to change the hash although no hashed file changed
12
+ */
13
+ salt?: string;
10
14
  };
11
15
  export type CustomImageHashResult = {
12
16
  hash: string;
@@ -65,6 +65,9 @@ function computeCustomImageHash(config) {
65
65
  watchedPaths.push(`${extraDir}/**/*`);
66
66
  }
67
67
  watchedPaths.push(...hashExtras(hash, config));
68
+ if (config.salt) {
69
+ hash.update(config.salt);
70
+ }
68
71
  return {
69
72
  hash: hash.digest("hex").slice(0, 12),
70
73
  watchedPaths,
@@ -1 +1 @@
1
- {"version":3,"file":"hash.js","sourceRoot":"","sources":["../../../../../../../packages/pipeline/src/customImages/hash.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"hash.js","sourceRoot":"","sources":["../../../../../../../packages/pipeline/src/customImages/hash.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,4 @@
1
+ /// <reference types="node" />
1
2
  import type { CatladderImageRef } from "../runner";
2
3
  import type { GitlabJobImage, PipelineType } from "../types";
3
4
  import type { CatladderJob, CatladderJobNeed } from "../types/jobs";
@@ -13,7 +14,7 @@ export type ResolvedJobImage = {
13
14
  };
14
15
  export type GeneratedImageFile = {
15
16
  path: string;
16
- content: string;
17
+ content: string | Buffer;
17
18
  };
18
19
  /**
19
20
  * where inline project Dockerfiles are materialized — a subfolder, so a
@@ -37,8 +37,27 @@ const toResolvedJobImage = ({ imageRef, jobName, }) => ({
37
37
  */
38
38
  const materializeDir = (sourceDir, targetDir) => listFilesRecursive(sourceDir).map((file) => ({
39
39
  path: (0, path_1.join)(targetDir, file),
40
- content: (0, fs_1.readFileSync)((0, path_1.join)(sourceDir, file), "utf-8"),
40
+ content: readVerbatim((0, path_1.join)(sourceDir, file)),
41
41
  }));
42
+ /**
43
+ * text files stay strings, anything that is not valid utf-8 (e.g. the
44
+ * packaged helm chart dependencies of the kubernetes image) stays a
45
+ * Buffer, so it is written byte for byte instead of being mangled into
46
+ * replacement characters
47
+ */
48
+ const readVerbatim = (path) => {
49
+ const bytes = (0, fs_1.readFileSync)(path);
50
+ const text = bytes.toString("utf-8");
51
+ return Buffer.from(text, "utf-8").equals(bytes) ? text : bytes;
52
+ };
53
+ /**
54
+ * part of the tag of every shipped image. Bump it when the images built
55
+ * from the materialized definitions change while the shipped definitions
56
+ * don't, so repositories rebuild them instead of reusing the existing tag:
57
+ * - 2: up to 5.3.1 binary files were materialized as utf-8 text, which
58
+ * corrupted the helm chart dependencies of the kubernetes image
59
+ */
60
+ const SHIPPED_IMAGE_HASH_SALT = "2";
42
61
  // built-in (catladder-shipped) images carry the catladder marker in
43
62
  // their job name; project-declared images get the short plain name
44
63
  const ensureJobName = (name) => `🐳 catladder image ${name}`;
@@ -201,6 +220,7 @@ class JobImagesPlan {
201
220
  const { hash } = (0, hash_1.computeCustomImageHash)({
202
221
  dir: (0, shippedImages_1.getShippedImageDir)(name),
203
222
  extraDirs: dependencies.map((dependency) => (0, shippedImages_1.getShippedImageDir)(dependency)),
223
+ salt: SHIPPED_IMAGE_HASH_SALT,
204
224
  });
205
225
  const targetDir = `${exports.GENERATED_IMAGES_FOLDER}/${name}`;
206
226
  const planned = {
@@ -1 +1 @@
1
- {"version":3,"file":"jobImagesPlan.js","sourceRoot":"","sources":["../../../../../../../packages/pipeline/src/customImages/jobImagesPlan.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"jobImagesPlan.js","sourceRoot":"","sources":["../../../../../../../packages/pipeline/src/customImages/jobImagesPlan.ts"],"names":[],"mappings":"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"}
@@ -51,7 +51,7 @@ async function generatePipelineFilesForBackend(context, backend) {
51
51
  // write files
52
52
  await Promise.all(files.map(async ({ path, content }) => {
53
53
  await (0, promises_1.mkdir)((0, path_1.dirname)(path), { recursive: true });
54
- if (typeof content === "string") {
54
+ if (typeof content === "string" || Buffer.isBuffer(content)) {
55
55
  await context.fileWriter.writeGeneratedFileRaw(path, content);
56
56
  }
57
57
  else {
@@ -1 +1 @@
1
- {"version":3,"file":"generatePipelineFiles.js","sourceRoot":"","sources":["../../../../../../../packages/pipeline/src/pipeline/generatePipelineFiles.ts"],"names":[],"mappings":";;;AAAA,0CAAwC;AACxC,+BAA+B;AAI/B,0CAIqB;AACrB,+CAAmD;AAEnD,iEAAwE;AACxE,wDAA+D;AAC/D,gDAAqD;AAErD;;;;GAIG;AACI,KAAK,UAAU,qBAAqB,CACzC,OAAsB,EACtB,YAA2B;IAE3B,MAAM,aAAa,GAAG,YAAY;QAChC,CAAC,CAAC,CAAC,YAAY,CAAC;QAChB,CAAC,CAAC,IAAA,kCAAuB,EAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IAE5C,IAAI,CAAC,YAAY,EAAE,CAAC;QAClB,oEAAoE;QACpE,kEAAkE;QAClE,oEAAoE;QACpE,0CAA0C;QAC1C,MAAM,IAAA,aAAE,EAAC,uCAAuB,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;QACpE,iEAAiE;QACjE,MAAM,IAAA,aAAE,EAAC,qCAAsB,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;QACnE,8DAA8D;QAC9D,mEAAmE;QACnE,gEAAgE;QAChE,gEAAgE;QAChE,oEAAoE;QACpE,wBAAwB;QACxB,MAAM,aAAa,GAAG,IAAA,8BAAmB,GAAE,CAAC,MAAM,CAChD,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,aAAa,CAAC,QAAQ,CAAC,IAAI,CAAC,CACxC,CAAC;QACF,KAAK,MAAM,IAAI,IAAI,aAAa,EAAE,CAAC;YACjC,MAAM,IAAA,6BAAkB,EAAC,IAAI,CAAC,CAAC,OAAO,EAAE,CAAC;QAC3C,CAAC;QACD,mEAAmE;QACnE,aAAa;QACb,MAAM,IAAA,iCAAmB,EAAC,OAAO,CAAC,CAAC;IACrC,CAAC;IAED,KAAK,MAAM,IAAI,IAAI,aAAa,EAAE,CAAC;QACjC,MAAM,+BAA+B,CAAC,OAAO,EAAE,IAAA,6BAAkB,EAAC,IAAI,CAAC,CAAC,CAAC;IAC3E,CAAC;AACH,CAAC;AApCD,sDAoCC;AAED,KAAK,UAAU,+BAA+B,CAC5C,OAAsB,EACtB,OAAwB;IAExB,MAAM,KAAK,GAAG,MAAM,OAAO,CAAC,WAAW,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IAExD,4CAA4C;IAC5C,MAAM,OAAO,CAAC,OAAO,EAAE,CAAC;IACxB,cAAc;IACd,MAAM,OAAO,CAAC,GAAG,CACf,KAAK,CAAC,GAAG,CAAC,KAAK,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,EAAE;QACpC,MAAM,IAAA,gBAAK,EAAC,IAAA,cAAO,EAAC,IAAI,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAChD,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE,CAAC;YAChC,MAAM,OAAO,CAAC,UAAU,CAAC,qBAAqB,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QAChE,CAAC;aAAM,CAAC;YACN,MAAM,OAAO,CAAC,UAAU,CAAC,aAAa,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QACxD,CAAC;IACH,CAAC,CAAC,CACH,CAAC;AACJ,CAAC;AAED;;;GAGG;AACI,KAAK,UAAU,yBAAyB,CAAC,MAAc;IAC5D,OAAO,IAAI,sBAAa,EAAE,CAAC,sBAAsB,CAAC,MAAM,CAAC,CAAC;AAC5D,CAAC;AAFD,8DAEC"}
1
+ {"version":3,"file":"generatePipelineFiles.js","sourceRoot":"","sources":["../../../../../../../packages/pipeline/src/pipeline/generatePipelineFiles.ts"],"names":[],"mappings":";;;AAAA,0CAAwC;AACxC,+BAA+B;AAI/B,0CAIqB;AACrB,+CAAmD;AAEnD,iEAAwE;AACxE,wDAA+D;AAC/D,gDAAqD;AAErD;;;;GAIG;AACI,KAAK,UAAU,qBAAqB,CACzC,OAAsB,EACtB,YAA2B;IAE3B,MAAM,aAAa,GAAG,YAAY;QAChC,CAAC,CAAC,CAAC,YAAY,CAAC;QAChB,CAAC,CAAC,IAAA,kCAAuB,EAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IAE5C,IAAI,CAAC,YAAY,EAAE,CAAC;QAClB,oEAAoE;QACpE,kEAAkE;QAClE,oEAAoE;QACpE,0CAA0C;QAC1C,MAAM,IAAA,aAAE,EAAC,uCAAuB,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;QACpE,iEAAiE;QACjE,MAAM,IAAA,aAAE,EAAC,qCAAsB,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;QACnE,8DAA8D;QAC9D,mEAAmE;QACnE,gEAAgE;QAChE,gEAAgE;QAChE,oEAAoE;QACpE,wBAAwB;QACxB,MAAM,aAAa,GAAG,IAAA,8BAAmB,GAAE,CAAC,MAAM,CAChD,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,aAAa,CAAC,QAAQ,CAAC,IAAI,CAAC,CACxC,CAAC;QACF,KAAK,MAAM,IAAI,IAAI,aAAa,EAAE,CAAC;YACjC,MAAM,IAAA,6BAAkB,EAAC,IAAI,CAAC,CAAC,OAAO,EAAE,CAAC;QAC3C,CAAC;QACD,mEAAmE;QACnE,aAAa;QACb,MAAM,IAAA,iCAAmB,EAAC,OAAO,CAAC,CAAC;IACrC,CAAC;IAED,KAAK,MAAM,IAAI,IAAI,aAAa,EAAE,CAAC;QACjC,MAAM,+BAA+B,CAAC,OAAO,EAAE,IAAA,6BAAkB,EAAC,IAAI,CAAC,CAAC,CAAC;IAC3E,CAAC;AACH,CAAC;AApCD,sDAoCC;AAED,KAAK,UAAU,+BAA+B,CAC5C,OAAsB,EACtB,OAAwB;IAExB,MAAM,KAAK,GAAG,MAAM,OAAO,CAAC,WAAW,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IAExD,4CAA4C;IAC5C,MAAM,OAAO,CAAC,OAAO,EAAE,CAAC;IACxB,cAAc;IACd,MAAM,OAAO,CAAC,GAAG,CACf,KAAK,CAAC,GAAG,CAAC,KAAK,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,EAAE;QACpC,MAAM,IAAA,gBAAK,EAAC,IAAA,cAAO,EAAC,IAAI,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAChD,IAAI,OAAO,OAAO,KAAK,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;YAC5D,MAAM,OAAO,CAAC,UAAU,CAAC,qBAAqB,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QAChE,CAAC;aAAM,CAAC;YACN,MAAM,OAAO,CAAC,UAAU,CAAC,aAAa,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QACxD,CAAC;IACH,CAAC,CAAC,CACH,CAAC;AACJ,CAAC;AAED;;;GAGG;AACI,KAAK,UAAU,yBAAyB,CAAC,MAAc;IAC5D,OAAO,IAAI,sBAAa,EAAE,CAAC,sBAAsB,CAAC,MAAM,CAAC,CAAC;AAC5D,CAAC;AAFD,8DAEC"}
@@ -1,3 +1,4 @@
1
+ /// <reference types="node" />
1
2
  import { stringify } from "yaml";
2
3
  import type { Config } from "../types";
3
4
  import type { BaseHookContext } from "../types/hooks";
@@ -23,7 +24,7 @@ export declare class FileWriter {
23
24
  * materialized dockerfiles, where a leading comment would break
24
25
  * parser directives like `# syntax = ...`
25
26
  */
26
- writeGeneratedFileRaw(path: string, content: string): Promise<void>;
27
+ writeGeneratedFileRaw(path: string, content: string | Buffer): Promise<void>;
27
28
  writeGeneratedFile(path: string, content: string, options: WriteFileOptions): Promise<void>;
28
29
  writeYamlfile(path: string, data: any): Promise<void>;
29
30
  protected getAutoGeneratedHeader(commentChar: string): string;
@@ -50,6 +50,11 @@ class FileWriter {
50
50
  * parser directives like `# syntax = ...`
51
51
  */
52
52
  async writeGeneratedFileRaw(path, content) {
53
+ if (Buffer.isBuffer(content)) {
54
+ // binary content is written as is, file hooks only transform text
55
+ await (0, promises_1.writeFile)(path, content);
56
+ return;
57
+ }
53
58
  await this.writeTheFile(path, content);
54
59
  }
55
60
  async writeGeneratedFile(path, content, options) {
@@ -1 +1 @@
1
- {"version":3,"file":"writeFiles.js","sourceRoot":"","sources":["../../../../../../../packages/pipeline/src/utils/writeFiles.ts"],"names":[],"mappings":";;;AAAA,0CAAwC;AACxC,+BAAiC;AAQjC;;;;GAIG;AACU,QAAA,qBAAqB,GAChC,2CAA2C,CAAC;AAMjC,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,MAAA,IAAI,CAAC,MAAM,CAAC,KAAK,0CAAE,wBAAwB,mDAAG;YAClD,GAAG,CAAC,MAAM,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC;YACxC,OAAO;SACR,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;IAES,KAAK,CAAC,kBAAkB,CAAC,IAAY;;QAC7C,MAAM,QAAQ,GAAG,MAAA,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,mCAAI,EAAE,CAAC;QAC7C,OAAO;YACL,QAAQ;YACR,IAAI;YACJ,SAAS,EAAE,MAAA,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,mCAAI,EAAE;SACvC,CAAC;IACJ,CAAC;IAED;;;;OAIG;IACI,KAAK,CAAC,qBAAqB,CAAC,IAAY,EAAE,OAAe;QAC9D,MAAM,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IACzC,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,KAAK,CAAC,aAAa,CAAC,IAAY,EAAE,IAAS;;QAChD,MAAM,eAAe,GAAG,MAAM,CAAA,MAAA,MAAA,IAAI,CAAC,MAAM,CAAC,KAAK,0CAAE,wBAAwB,mDACvE;YACE,GAAG,CAAC,MAAM,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC;YACxC,IAAI;SACL,CACF,CAAA,CAAC;QACF,OAAO,IAAI,CAAC,kBAAkB,CAC5B,IAAI,EACJ,IAAA,gBAAS,EAAC,eAAe,aAAf,eAAe,cAAf,eAAe,GAAI,IAAI,EAAE,4BAAoB,CAAC,EACxD;YACE,WAAW,EAAE,GAAG;SACjB,CACF,CAAC;IACJ,CAAC;IAES,sBAAsB,CAAC,WAAmB;QAClD,OAAO;YACL,mDAAmD;YACnD,6BAAqB;YACrB,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;AA5ED,gCA4EC"}
1
+ {"version":3,"file":"writeFiles.js","sourceRoot":"","sources":["../../../../../../../packages/pipeline/src/utils/writeFiles.ts"],"names":[],"mappings":"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"}