bingo-stratum 0.5.7 → 0.5.9

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 (35) hide show
  1. package/lib/mergers/mergeAddonsIfUpdated.d.ts.map +1 -1
  2. package/lib/mergers/mergeAddonsIfUpdated.js +24 -0
  3. package/lib/mergers/mergeAddonsIfUpdated.js.map +1 -1
  4. package/lib/mergers/mergeAddonsIfUpdated.test.js +5 -0
  5. package/lib/mergers/mergeAddonsIfUpdated.test.js.map +1 -1
  6. package/lib/producers/produceBlock.d.ts +17 -3
  7. package/lib/producers/produceBlock.d.ts.map +1 -1
  8. package/lib/producers/produceBlock.js +1 -1
  9. package/lib/producers/produceBlock.js.map +1 -1
  10. package/lib/producers/produceBlock.test.d.ts +2 -0
  11. package/lib/producers/produceBlock.test.d.ts.map +1 -0
  12. package/lib/producers/produceBlock.test.js +83 -0
  13. package/lib/producers/produceBlock.test.js.map +1 -0
  14. package/lib/producers/produceBlocks.d.ts +4 -2
  15. package/lib/producers/produceBlocks.d.ts.map +1 -1
  16. package/lib/producers/produceBlocks.js +32 -10
  17. package/lib/producers/produceBlocks.js.map +1 -1
  18. package/lib/producers/produceBlocks.test.js +72 -2
  19. package/lib/producers/produceBlocks.test.js.map +1 -1
  20. package/lib/producers/producePreset.d.ts +6 -1
  21. package/lib/producers/producePreset.d.ts.map +1 -1
  22. package/lib/producers/producePreset.js +3 -2
  23. package/lib/producers/producePreset.js.map +1 -1
  24. package/lib/producers/produceStratumTemplate.d.ts +3 -1
  25. package/lib/producers/produceStratumTemplate.d.ts.map +1 -1
  26. package/lib/producers/produceStratumTemplate.js +3 -2
  27. package/lib/producers/produceStratumTemplate.js.map +1 -1
  28. package/lib/runners/runPreset.d.ts +7 -1
  29. package/lib/runners/runPreset.d.ts.map +1 -1
  30. package/lib/runners/runPreset.js.map +1 -1
  31. package/lib/types/blocks.d.ts +169 -5
  32. package/lib/types/blocks.d.ts.map +1 -1
  33. package/lib/types/creations.d.ts +5 -0
  34. package/lib/types/creations.d.ts.map +1 -1
  35. package/package.json +3 -3
@@ -1 +1 @@
1
- {"version":3,"file":"mergeAddonsIfUpdated.d.ts","sourceRoot":"","sources":["../../src/mergers/mergeAddonsIfUpdated.ts"],"names":[],"mappings":"AAEA,wBAAgB,oBAAoB,CAAC,CAAC,SAAS,MAAM,EACpD,cAAc,EAAE,CAAC,EACjB,SAAS,EAAE,CAAC,GACV,KAAK,GAAG,CAAC,GAAG,SAAS,CA+DvB"}
1
+ {"version":3,"file":"mergeAddonsIfUpdated.d.ts","sourceRoot":"","sources":["../../src/mergers/mergeAddonsIfUpdated.ts"],"names":[],"mappings":"AAEA,wBAAgB,oBAAoB,CAAC,CAAC,SAAS,MAAM,EACpD,cAAc,EAAE,CAAC,EACjB,SAAS,EAAE,CAAC,GACV,KAAK,GAAG,CAAC,GAAG,SAAS,CAwEvB"}
@@ -1,5 +1,14 @@
1
1
  import hashObject from "hash-object";
2
2
  export function mergeAddonsIfUpdated(existingAddons, newAddons) {
3
+ if (Array.isArray(existingAddons)) {
4
+ if (!Array.isArray(newAddons)) {
5
+ return new Error("Mismatched merging addons (Array.isArray).");
6
+ }
7
+ return mergeAddonsArraysIfUpdated(existingAddons, newAddons);
8
+ }
9
+ else if (Array.isArray(newAddons)) {
10
+ return new Error("Mismatched merging addons (Array.isArray).");
11
+ }
3
12
  const newEntries = Object.entries(newAddons);
4
13
  const result = { ...existingAddons };
5
14
  let updated = newEntries.length !== Object.keys(existingAddons).length;
@@ -52,4 +61,19 @@ function createHash(value) {
52
61
  ? hashObject(value)
53
62
  : String(value);
54
63
  }
64
+ function mergeAddonsArraysIfUpdated(existingAddons, newAddons) {
65
+ const result = [...existingAddons];
66
+ const hashes = new Set(existingAddons.map(createHash));
67
+ let updated = false;
68
+ for (const newAddon of newAddons) {
69
+ const newHash = createHash(newAddon);
70
+ if (hashes.has(newHash)) {
71
+ continue;
72
+ }
73
+ hashes.add(newHash);
74
+ result.push(newAddon);
75
+ updated = true;
76
+ }
77
+ return updated ? result : undefined;
78
+ }
55
79
  //# sourceMappingURL=mergeAddonsIfUpdated.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"mergeAddonsIfUpdated.js","sourceRoot":"","sources":["../../src/mergers/mergeAddonsIfUpdated.ts"],"names":[],"mappings":"AAAA,OAAO,UAAU,MAAM,aAAa,CAAC;AAErC,MAAM,UAAU,oBAAoB,CACnC,cAAiB,EACjB,SAAY;IAEZ,MAAM,UAAU,GAAG,MAAM,CAAC,OAAO,CAAC,SAAS,CAAyB,CAAC;IACrE,MAAM,MAAM,GAAG,EAAE,GAAG,cAAc,EAAE,CAAC;IACrC,IAAI,OAAO,GAAG,UAAU,CAAC,MAAM,KAAK,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,MAAM,CAAC;IAEvE,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,UAAU,EAAE,CAAC;QACvC,IAAI,CAAC,CAAC,GAAG,IAAI,MAAM,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC;YAC7C,OAAO,GAAG,IAAI,CAAC;YACf,MAAM,CAAC,GAAG,CAAC,GAAG,KAAmB,CAAC;YAClC,SAAS;QACV,CAAC;QAED,IAAI,KAAK,IAAI,IAAI,EAAE,CAAC;YACnB,SAAS;QACV,CAAC;QAED,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC;YAChC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;gBAC3B,OAAO,IAAI,KAAK,CAAC,4CAA4C,CAAC,CAAC;YAChE,CAAC;YAED,MAAM,mBAAmB,GAAG,IAAI,GAAG,CAClC,MAAM,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAC7C,CAAC;YAEF,KAAK,MAAM,UAAU,IAAI,KAAK,EAAE,CAAC;gBAChC,MAAM,aAAa,GAAG,UAAU,CAAC,UAAU,CAAC,CAAC;gBAC7C,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,aAAa,CAAC,EAAE,CAAC;oBAC7C,mBAAmB,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;oBACvC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;oBAC7B,OAAO,GAAG,IAAI,CAAC;gBAChB,CAAC;YACF,CAAC;YAED,SAAS;QACV,CAAC;QAED,IAAI,OAAO,MAAM,CAAC,GAAG,CAAC,KAAK,QAAQ,EAAE,CAAC;YACrC,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;gBAC/B,OAAO,IAAI,KAAK,CAAC,4CAA4C,CAAC,CAAC;YAChE,CAAC;YAED,MAAM,WAAW,GAAG,oBAAoB,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,KAAK,CAAC,CAAC;YAC7D,IAAI,WAAW,EAAE,CAAC;gBACjB,IAAI,WAAW,YAAY,KAAK,EAAE,CAAC;oBAClC,OAAO,WAAW,CAAC;gBACpB,CAAC;gBAED,MAAM,CAAC,GAAG,CAAC,GAAG,WAAyB,CAAC;gBACxC,OAAO,GAAG,IAAI,CAAC;YAChB,CAAC;YAED,SAAS;QACV,CAAC;QAED,IAAI,MAAM,CAAC,GAAG,CAAC,KAAK,KAAK,EAAE,CAAC;YAC3B,OAAO,IAAI,KAAK,CACf,8BAA8B,MAAM,CAAC,GAAG,CAAW,QAAQ,KAAe,IAAI,CAC9E,CAAC;QACH,CAAC;IACF,CAAC;IAED,OAAO,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC;AACrC,CAAC;AAED,SAAS,UAAU,CAAC,KAAc;IACjC,OAAO,OAAO,KAAK,KAAK,QAAQ;QAC/B,CAAC,CAAC,UAAU,CAAC,KAAgC,CAAC;QAC9C,CAAC,CAAC,MAAM,CAAC,KAAqD,CAAC,CAAC;AAClE,CAAC"}
1
+ {"version":3,"file":"mergeAddonsIfUpdated.js","sourceRoot":"","sources":["../../src/mergers/mergeAddonsIfUpdated.ts"],"names":[],"mappings":"AAAA,OAAO,UAAU,MAAM,aAAa,CAAC;AAErC,MAAM,UAAU,oBAAoB,CACnC,cAAiB,EACjB,SAAY;IAEZ,IAAI,KAAK,CAAC,OAAO,CAAC,cAAc,CAAC,EAAE,CAAC;QACnC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC;YAC/B,OAAO,IAAI,KAAK,CAAC,4CAA4C,CAAC,CAAC;QAChE,CAAC;QACD,OAAO,0BAA0B,CAAC,cAAc,EAAE,SAAS,CAAM,CAAC;IACnE,CAAC;SAAM,IAAI,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC;QACrC,OAAO,IAAI,KAAK,CAAC,4CAA4C,CAAC,CAAC;IAChE,CAAC;IAED,MAAM,UAAU,GAAG,MAAM,CAAC,OAAO,CAAC,SAAS,CAAyB,CAAC;IACrE,MAAM,MAAM,GAAG,EAAE,GAAG,cAAc,EAAE,CAAC;IACrC,IAAI,OAAO,GAAG,UAAU,CAAC,MAAM,KAAK,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,MAAM,CAAC;IAEvE,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,UAAU,EAAE,CAAC;QACvC,IAAI,CAAC,CAAC,GAAG,IAAI,MAAM,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC;YAC7C,OAAO,GAAG,IAAI,CAAC;YACf,MAAM,CAAC,GAAG,CAAC,GAAG,KAAmB,CAAC;YAClC,SAAS;QACV,CAAC;QAED,IAAI,KAAK,IAAI,IAAI,EAAE,CAAC;YACnB,SAAS;QACV,CAAC;QAED,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC;YAChC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;gBAC3B,OAAO,IAAI,KAAK,CAAC,4CAA4C,CAAC,CAAC;YAChE,CAAC;YAED,MAAM,mBAAmB,GAAG,IAAI,GAAG,CAClC,MAAM,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAC7C,CAAC;YAEF,KAAK,MAAM,UAAU,IAAI,KAAK,EAAE,CAAC;gBAChC,MAAM,aAAa,GAAG,UAAU,CAAC,UAAU,CAAC,CAAC;gBAC7C,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,aAAa,CAAC,EAAE,CAAC;oBAC7C,mBAAmB,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;oBACvC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;oBAC7B,OAAO,GAAG,IAAI,CAAC;gBAChB,CAAC;YACF,CAAC;YAED,SAAS;QACV,CAAC;QAED,IAAI,OAAO,MAAM,CAAC,GAAG,CAAC,KAAK,QAAQ,EAAE,CAAC;YACrC,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;gBAC/B,OAAO,IAAI,KAAK,CAAC,4CAA4C,CAAC,CAAC;YAChE,CAAC;YAED,MAAM,WAAW,GAAG,oBAAoB,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,KAAK,CAAC,CAAC;YAC7D,IAAI,WAAW,EAAE,CAAC;gBACjB,IAAI,WAAW,YAAY,KAAK,EAAE,CAAC;oBAClC,OAAO,WAAW,CAAC;gBACpB,CAAC;gBAED,MAAM,CAAC,GAAG,CAAC,GAAG,WAAyB,CAAC;gBACxC,OAAO,GAAG,IAAI,CAAC;YAChB,CAAC;YAED,SAAS;QACV,CAAC;QAED,IAAI,MAAM,CAAC,GAAG,CAAC,KAAK,KAAK,EAAE,CAAC;YAC3B,OAAO,IAAI,KAAK,CACf,8BAA8B,MAAM,CAAC,GAAG,CAAW,QAAQ,KAAe,IAAI,CAC9E,CAAC;QACH,CAAC;IACF,CAAC;IAED,OAAO,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC;AACrC,CAAC;AAED,SAAS,UAAU,CAAC,KAAc;IACjC,OAAO,OAAO,KAAK,KAAK,QAAQ;QAC/B,CAAC,CAAC,UAAU,CAAC,KAAgC,CAAC;QAC9C,CAAC,CAAC,MAAM,CAAC,KAAqD,CAAC,CAAC;AAClE,CAAC;AAED,SAAS,0BAA0B,CAClC,cAAmB,EACnB,SAAc;IAEd,MAAM,MAAM,GAAG,CAAC,GAAG,cAAc,CAAC,CAAC;IACnC,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,cAAc,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC;IACvD,IAAI,OAAO,GAAG,KAAK,CAAC;IAEpB,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE,CAAC;QAClC,MAAM,OAAO,GAAG,UAAU,CAAC,QAAQ,CAAC,CAAC;QACrC,IAAI,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC;YACzB,SAAS;QACV,CAAC;QAED,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QACpB,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACtB,OAAO,GAAG,IAAI,CAAC;IAChB,CAAC;IAED,OAAO,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC;AACrC,CAAC"}
@@ -3,6 +3,11 @@ import { mergeAddonsIfUpdated } from "./mergeAddonsIfUpdated.js";
3
3
  describe("mergeArgsIfUpdated", () => {
4
4
  it.each([
5
5
  [{}, {}, undefined],
6
+ [[], [], undefined],
7
+ [[], {}, new Error("Mismatched merging addons (Array.isArray).")],
8
+ [{}, [], new Error("Mismatched merging addons (Array.isArray).")],
9
+ [["a"], ["a"], undefined],
10
+ [["a"], ["b"], ["a", "b"]],
6
11
  [{ a: true }, {}, { a: true }],
7
12
  [{ a: true }, { a: null }, undefined],
8
13
  [{ a: true }, { a: true }, undefined],
@@ -1 +1 @@
1
- {"version":3,"file":"mergeAddonsIfUpdated.test.js","sourceRoot":"","sources":["../../src/mergers/mergeAddonsIfUpdated.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"mergeAddonsIfUpdated.test.js","sourceRoot":"","sources":["../../src/mergers/mergeAddonsIfUpdated.test.ts"],"names":[],"mappings":"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"}
@@ -3,18 +3,21 @@ import { BlockWithAddons, BlockWithoutAddons } from "../types/blocks.js";
3
3
  import { BlockCreation } from "../types/creations.js";
4
4
  /**
5
5
  * Settings to run a Block with {@link produceBlock} that might have addons.
6
- * @template Addons Schema of Block-specific args defined by the Block, if defined.
6
+ * @template Addons Block-specific extensions, if defined by the Block's schema.
7
7
  * @template Options Options values as described by the Block's Base's options schema, as well as preset.
8
8
  * @see {@link https://www.create.bingo/engines/stratum/apis/producers#produceblock}
9
9
  */
10
10
  export type ProduceBlockSettings<Addons extends object | undefined, Options extends object> = Addons extends object ? ProduceBlockSettingsWithAddons<Addons, Options> : ProduceBlockSettingsWithoutAddons<Options>;
11
11
  /**
12
12
  * Settings to run a Block with {@link produceBlock} that defines addons.
13
- * @template Addons Schema of Block-specific args defined by the Block.
13
+ * @template Addons Block-specific extensions as defined by the Block's schema.
14
14
  * @template Options Options values as described by the Block's Base's options schema, as well as preset.
15
15
  * @see {@link https://www.create.bingo/engines/stratum/apis/producers#produceblock}
16
16
  */
17
17
  export interface ProduceBlockSettingsWithAddons<Addons extends object, Options extends object> extends ProduceBlockSettingsWithoutAddons<Options> {
18
+ /**
19
+ * Addon values to provide to the Block.
20
+ */
18
21
  addons?: Addons;
19
22
  }
20
23
  /**
@@ -23,13 +26,24 @@ export interface ProduceBlockSettingsWithAddons<Addons extends object, Options e
23
26
  * @see {@link https://www.create.bingo/engines/stratum/apis/producers#produceblock}
24
27
  */
25
28
  export interface ProduceBlockSettingsWithoutAddons<Options extends object> {
29
+ /**
30
+ * Which repository mode Bingo is being run in.
31
+ * @see {@link https://create.bingo/build/concepts/modes}
32
+ */
26
33
  mode?: ProductionMode;
34
+ /**
35
+ * Whether Bingo is being run in an "offline" mode.
36
+ * @see {@link http://create.bingo/build/details/contexts#options-offline}
37
+ */
27
38
  offline?: boolean;
39
+ /**
40
+ * Options values as described by the Block's Base's options schema.
41
+ */
28
42
  options: Options;
29
43
  }
30
44
  /**
31
45
  * Produces a single Block that defines addons.
32
- * @template Addons Schema of Block-specific args defined by the Block, if defined.
46
+ * @template Addons Block-specific extensions, if defined by the Block's schema.
33
47
  * @template Options Options values as described by the Block's Base's options schema, as well as preset.
34
48
  * @see {@link https://www.create.bingo/engines/stratum/apis/producers#produceblock}
35
49
  */
@@ -1 +1 @@
1
- {"version":3,"file":"produceBlock.d.ts","sourceRoot":"","sources":["../../src/producers/produceBlock.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,OAAO,CAAC;AAGvC,OAAO,EAAE,eAAe,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AACzE,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAGtD;;;;;GAKG;AACH,MAAM,MAAM,oBAAoB,CAC/B,MAAM,SAAS,MAAM,GAAG,SAAS,EACjC,OAAO,SAAS,MAAM,IACnB,MAAM,SAAS,MAAM,GACtB,8BAA8B,CAAC,MAAM,EAAE,OAAO,CAAC,GAC/C,iCAAiC,CAAC,OAAO,CAAC,CAAC;AAE9C;;;;;GAKG;AACH,MAAM,WAAW,8BAA8B,CAC9C,MAAM,SAAS,MAAM,EACrB,OAAO,SAAS,MAAM,CACrB,SAAQ,iCAAiC,CAAC,OAAO,CAAC;IACnD,MAAM,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;;;GAIG;AACH,MAAM,WAAW,iCAAiC,CAAC,OAAO,SAAS,MAAM;IACxE,IAAI,CAAC,EAAE,cAAc,CAAC;IACtB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,OAAO,EAAE,OAAO,CAAC;CACjB;AAED;;;;;GAKG;AACH,wBAAgB,YAAY,CAAC,MAAM,SAAS,MAAM,EAAE,OAAO,SAAS,MAAM,EACzE,KAAK,EAAE,eAAe,CAAC,MAAM,EAAE,OAAO,CAAC,EACvC,QAAQ,EAAE,8BAA8B,CAAC,MAAM,EAAE,OAAO,CAAC,GACvD,OAAO,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,CAAC;AACnC;;;;GAIG;AACH,wBAAgB,YAAY,CAAC,OAAO,SAAS,MAAM,EAClD,KAAK,EAAE,kBAAkB,CAAC,OAAO,CAAC,EAClC,QAAQ,EAAE,iCAAiC,CAAC,OAAO,CAAC,GAClD,OAAO,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"produceBlock.d.ts","sourceRoot":"","sources":["../../src/producers/produceBlock.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,OAAO,CAAC;AAGvC,OAAO,EAAE,eAAe,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AACzE,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAGtD;;;;;GAKG;AACH,MAAM,MAAM,oBAAoB,CAC/B,MAAM,SAAS,MAAM,GAAG,SAAS,EACjC,OAAO,SAAS,MAAM,IACnB,MAAM,SAAS,MAAM,GACtB,8BAA8B,CAAC,MAAM,EAAE,OAAO,CAAC,GAC/C,iCAAiC,CAAC,OAAO,CAAC,CAAC;AAE9C;;;;;GAKG;AACH,MAAM,WAAW,8BAA8B,CAC9C,MAAM,SAAS,MAAM,EACrB,OAAO,SAAS,MAAM,CACrB,SAAQ,iCAAiC,CAAC,OAAO,CAAC;IACnD;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;;;GAIG;AACH,MAAM,WAAW,iCAAiC,CAAC,OAAO,SAAS,MAAM;IACxE;;;OAGG;IACH,IAAI,CAAC,EAAE,cAAc,CAAC;IAEtB;;;OAGG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;IAElB;;OAEG;IACH,OAAO,EAAE,OAAO,CAAC;CACjB;AAED;;;;;GAKG;AACH,wBAAgB,YAAY,CAAC,MAAM,SAAS,MAAM,EAAE,OAAO,SAAS,MAAM,EACzE,KAAK,EAAE,eAAe,CAAC,MAAM,EAAE,OAAO,CAAC,EACvC,QAAQ,EAAE,8BAA8B,CAAC,MAAM,EAAE,OAAO,CAAC,GACvD,OAAO,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,CAAC;AAEnC;;;;GAIG;AACH,wBAAgB,YAAY,CAAC,OAAO,SAAS,MAAM,EAClD,KAAK,EAAE,kBAAkB,CAAC,OAAO,CAAC,EAClC,QAAQ,EAAE,iCAAiC,CAAC,OAAO,CAAC,GAClD,OAAO,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,CAAC"}
@@ -1,7 +1,7 @@
1
1
  import { mergeBlockCreations } from "../mergers/mergeBlockCreations.js";
2
2
  /**
3
3
  * Produces a single Block.
4
- * @template Addons Schema of Block-specific args defined by the Block, if defined.
4
+ * @template Addons Block-specific extensions, if defined by the Block's schema.
5
5
  * @template Options Options values as described by the Block's Base's options schema, as well as preset.
6
6
  * @see {@link https://www.create.bingo/engines/stratum/apis/producers#produceblock}
7
7
  */
@@ -1 +1 @@
1
- {"version":3,"file":"produceBlock.js","sourceRoot":"","sources":["../../src/producers/produceBlock.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,mBAAmB,EAAE,MAAM,mCAAmC,CAAC;AA6DxE;;;;;GAKG;AACH,MAAM,UAAU,YAAY,CAI3B,KAAqE,EACrE,QAA+C;IAE/C,IAAI,QAAQ,GAAG,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;IAEvC,MAAM,OAAO,GAAG,QAAQ,CAAC,IAAI,IAAI,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;IACtD,IAAI,OAAO,EAAE,CAAC;QACb,MAAM,SAAS,GAAG,OAAO,CAAC;YACzB,MAAM,EAAE,EAAY;YACpB,GAAG,QAAQ;SACX,CAAC,CAAC;QACH,QAAQ,GAAG,mBAAmB,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;IACrD,CAAC;IAED,OAAO,QAAQ,CAAC;AACjB,CAAC"}
1
+ {"version":3,"file":"produceBlock.js","sourceRoot":"","sources":["../../src/producers/produceBlock.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,mBAAmB,EAAE,MAAM,mCAAmC,CAAC;AA+ExE;;;;;GAKG;AACH,MAAM,UAAU,YAAY,CAI3B,KAAqE,EACrE,QAA+C;IAE/C,IAAI,QAAQ,GAAG,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;IAEvC,MAAM,OAAO,GAAG,QAAQ,CAAC,IAAI,IAAI,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;IACtD,IAAI,OAAO,EAAE,CAAC;QACb,MAAM,SAAS,GAAG,OAAO,CAAC;YACzB,MAAM,EAAE,EAAY;YACpB,GAAG,QAAQ;SACX,CAAC,CAAC;QACH,QAAQ,GAAG,mBAAmB,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;IACrD,CAAC;IAED,OAAO,QAAQ,CAAC;AACjB,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=produceBlock.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"produceBlock.test.d.ts","sourceRoot":"","sources":["../../src/producers/produceBlock.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,83 @@
1
+ import { describe, expect, it } from "vitest";
2
+ import { z } from "zod";
3
+ import { createBase } from "../creators/createBase.js";
4
+ import { produceBlock } from "./produceBlock.js";
5
+ const base = createBase({
6
+ options: {
7
+ value: z.string(),
8
+ },
9
+ });
10
+ const options = {
11
+ value: "Hello, world!",
12
+ };
13
+ describe("produceBlock", () => {
14
+ it("returns the creation when no Addons or mode are defined", () => {
15
+ const block = base.createBlock({
16
+ produce({ options }) {
17
+ return {
18
+ files: { "README.md": options.value },
19
+ };
20
+ },
21
+ });
22
+ const actual = produceBlock(block, { options });
23
+ expect(actual).toEqual({
24
+ files: {
25
+ "README.md": "Hello, world!",
26
+ },
27
+ });
28
+ });
29
+ it("passes Addons to the Block when addons is defined", () => {
30
+ const block = base.createBlock({
31
+ addons: {
32
+ extra: z.record(z.string()).optional(),
33
+ },
34
+ produce({ addons, options }) {
35
+ return {
36
+ files: {
37
+ "README.md": options.value,
38
+ ...addons.extra,
39
+ },
40
+ };
41
+ },
42
+ });
43
+ const actual = produceBlock(block, {
44
+ addons: {
45
+ extra: {
46
+ "a.txt": "a",
47
+ },
48
+ },
49
+ options,
50
+ });
51
+ expect(actual).toEqual({
52
+ files: {
53
+ "a.txt": "a",
54
+ "README.md": "Hello, world!",
55
+ },
56
+ });
57
+ });
58
+ it("augments the creation when mode is provided and the Block has that mode-specific producer", () => {
59
+ const block = base.createBlock({
60
+ produce({ options }) {
61
+ return {
62
+ files: { "README.md": options.value },
63
+ };
64
+ },
65
+ setup() {
66
+ return {
67
+ files: { "extra.txt": "setup" },
68
+ };
69
+ },
70
+ });
71
+ const actual = produceBlock(block, {
72
+ mode: "setup",
73
+ options,
74
+ });
75
+ expect(actual).toEqual({
76
+ files: {
77
+ "extra.txt": "setup",
78
+ "README.md": "Hello, world!",
79
+ },
80
+ });
81
+ });
82
+ });
83
+ //# sourceMappingURL=produceBlock.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"produceBlock.test.js","sourceRoot":"","sources":["../../src/producers/produceBlock.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAC;AAC9C,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AACvD,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAEjD,MAAM,IAAI,GAAG,UAAU,CAAC;IACvB,OAAO,EAAE;QACR,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE;KACjB;CACD,CAAC,CAAC;AAEH,MAAM,OAAO,GAAG;IACf,KAAK,EAAE,eAAe;CACtB,CAAC;AAEF,QAAQ,CAAC,cAAc,EAAE,GAAG,EAAE;IAC7B,EAAE,CAAC,yDAAyD,EAAE,GAAG,EAAE;QAClE,MAAM,KAAK,GAAG,IAAI,CAAC,WAAW,CAAC;YAC9B,OAAO,CAAC,EAAE,OAAO,EAAE;gBAClB,OAAO;oBACN,KAAK,EAAE,EAAE,WAAW,EAAE,OAAO,CAAC,KAAK,EAAE;iBACrC,CAAC;YACH,CAAC;SACD,CAAC,CAAC;QAEH,MAAM,MAAM,GAAG,YAAY,CAAC,KAAK,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC;QAEhD,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC;YACtB,KAAK,EAAE;gBACN,WAAW,EAAE,eAAe;aAC5B;SACD,CAAC,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,mDAAmD,EAAE,GAAG,EAAE;QAC5D,MAAM,KAAK,GAAG,IAAI,CAAC,WAAW,CAAC;YAC9B,MAAM,EAAE;gBACP,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE;aACtC;YACD,OAAO,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE;gBAC1B,OAAO;oBACN,KAAK,EAAE;wBACN,WAAW,EAAE,OAAO,CAAC,KAAK;wBAC1B,GAAG,MAAM,CAAC,KAAK;qBACf;iBACD,CAAC;YACH,CAAC;SACD,CAAC,CAAC;QAEH,MAAM,MAAM,GAAG,YAAY,CAAC,KAAK,EAAE;YAClC,MAAM,EAAE;gBACP,KAAK,EAAE;oBACN,OAAO,EAAE,GAAG;iBACZ;aACD;YACD,OAAO;SACP,CAAC,CAAC;QAEH,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC;YACtB,KAAK,EAAE;gBACN,OAAO,EAAE,GAAG;gBACZ,WAAW,EAAE,eAAe;aAC5B;SACD,CAAC,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,2FAA2F,EAAE,GAAG,EAAE;QACpG,MAAM,KAAK,GAAG,IAAI,CAAC,WAAW,CAAC;YAC9B,OAAO,CAAC,EAAE,OAAO,EAAE;gBAClB,OAAO;oBACN,KAAK,EAAE,EAAE,WAAW,EAAE,OAAO,CAAC,KAAK,EAAE;iBACrC,CAAC;YACH,CAAC;YACD,KAAK;gBACJ,OAAO;oBACN,KAAK,EAAE,EAAE,WAAW,EAAE,OAAO,EAAE;iBAC/B,CAAC;YACH,CAAC;SACD,CAAC,CAAC;QAEH,MAAM,MAAM,GAAG,YAAY,CAAC,KAAK,EAAE;YAClC,IAAI,EAAE,OAAO;YACb,OAAO;SACP,CAAC,CAAC;QAEH,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC;YACtB,KAAK,EAAE;gBACN,WAAW,EAAE,OAAO;gBACpB,WAAW,EAAE,eAAe;aAC5B;SACD,CAAC,CAAC;IACJ,CAAC,CAAC,CAAC;AACJ,CAAC,CAAC,CAAC"}
@@ -1,11 +1,13 @@
1
1
  import { ProductionMode } from "bingo";
2
+ import { IntakeDirectory } from "bingo-fs";
2
3
  import { Block } from "../types/blocks.js";
3
4
  import { CreatedBlockAddons } from "../types/creations.js";
4
5
  export interface ProduceBlocksSettings<Options extends object> {
5
- addons?: CreatedBlockAddons<object, Options>[];
6
+ blockAddons?: CreatedBlockAddons<object, Options>[];
7
+ files?: IntakeDirectory;
6
8
  mode?: ProductionMode;
7
9
  offline?: boolean;
8
10
  options: Options;
9
11
  }
10
- export declare function produceBlocks<Options extends object>(blocks: Block<object | undefined, Options>[], { addons, mode, offline, options }: ProduceBlocksSettings<Options>): {};
12
+ export declare function produceBlocks<Options extends object>(blocks: Block<object | undefined, Options>[], { blockAddons, files, mode, offline, options, }: ProduceBlocksSettings<Options>): {};
11
13
  //# sourceMappingURL=produceBlocks.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"produceBlocks.d.ts","sourceRoot":"","sources":["../../src/producers/produceBlocks.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,OAAO,CAAC;AAGvC,OAAO,EAAE,KAAK,EAAmB,MAAM,oBAAoB,CAAC;AAC5D,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAO3D,MAAM,WAAW,qBAAqB,CAAC,OAAO,SAAS,MAAM;IAC5D,MAAM,CAAC,EAAE,kBAAkB,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAAC;IAC/C,IAAI,CAAC,EAAE,cAAc,CAAC;IACtB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,OAAO,EAAE,OAAO,CAAC;CACjB;AAED,wBAAgB,aAAa,CAAC,OAAO,SAAS,MAAM,EACnD,MAAM,EAAE,KAAK,CAAC,MAAM,GAAG,SAAS,EAAE,OAAO,CAAC,EAAE,EAC5C,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,EAAE,qBAAqB,CAAC,OAAO,CAAC,MAiElE"}
1
+ {"version":3,"file":"produceBlocks.d.ts","sourceRoot":"","sources":["../../src/producers/produceBlocks.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,OAAO,CAAC;AACvC,OAAO,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAG3C,OAAO,EAAE,KAAK,EAAmB,MAAM,oBAAoB,CAAC;AAC5D,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAO3D,MAAM,WAAW,qBAAqB,CAAC,OAAO,SAAS,MAAM;IAC5D,WAAW,CAAC,EAAE,kBAAkB,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAAC;IACpD,KAAK,CAAC,EAAE,eAAe,CAAC;IACxB,IAAI,CAAC,EAAE,cAAc,CAAC;IACtB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,OAAO,EAAE,OAAO,CAAC;CACjB;AAED,wBAAgB,aAAa,CAAC,OAAO,SAAS,MAAM,EACnD,MAAM,EAAE,KAAK,CAAC,MAAM,GAAG,SAAS,EAAE,OAAO,CAAC,EAAE,EAC5C,EACC,WAAW,EACX,KAAU,EACV,IAAI,EACJ,OAAO,EACP,OAAO,GACP,EAAE,qBAAqB,CAAC,OAAO,CAAC,MAqFjC"}
@@ -1,19 +1,38 @@
1
1
  import { mergeBlockCreations } from "../mergers/mergeBlockCreations.js";
2
2
  import { getUpdatedBlockAddons, } from "./getUpdatedBlockAddons.js";
3
3
  import { produceBlock } from "./produceBlock.js";
4
- export function produceBlocks(blocks, { addons, mode, offline, options }) {
4
+ export function produceBlocks(blocks, { blockAddons, files = {}, mode, offline, options, }) {
5
5
  // From Templating Engines > Stratum > Details > Execution:
6
6
  // This engine continuously re-runs Blocks until no new Addons are provided.
7
- const blockProductions = new Map(addons?.map((addon) => [addon.block, { addons: addon.addons }]));
8
- // 1. Create a queue of Blocks to be run, starting with all defined in the Preset
7
+ // Collect all Blocks defined in the Preset, along with their Addons:
8
+ const blockProductions = new Map();
9
+ // 1.1. Run any intake methods to generate default Addons values
10
+ for (const block of blocks) {
11
+ if (isBlockWithAddons(block)) {
12
+ const addons = block.intake?.({ files });
13
+ if (addons) {
14
+ blockProductions.set(block, { addons });
15
+ }
16
+ }
17
+ }
18
+ // 2.2. Apply all provided refinements on top of those
19
+ for (const { addons, block } of blockAddons ?? []) {
20
+ blockProductions.set(block, {
21
+ addons: {
22
+ ...blockProductions.get(block)?.addons,
23
+ ...addons,
24
+ },
25
+ });
26
+ }
27
+ // 2. Create a queue of Blocks to be run, starting with all defined in the Preset
9
28
  const allowedBlocks = new Set(blocks);
10
29
  const blocksToBeRun = new Set(blocks);
11
- // 2. For each Block in the queue:
30
+ // 3. For each Block in the queue:
12
31
  while (blocksToBeRun.size) {
13
32
  for (const currentBlock of blocksToBeRun) {
14
33
  blocksToBeRun.delete(currentBlock);
15
- // 2.1. Get the Creation from the Block, passing any current known Addons
16
- // 2.2. If a mode is specified, additionally generate the appropriate Block Creations
34
+ // 3.1. Get the Creation from the Block, passing any current known Addons
35
+ // 3.2. If a mode is specified, additionally generate the appropriate Block Creations
17
36
  const previousProduction = blockProductions.get(currentBlock);
18
37
  const previousAddons = previousProduction?.addons ?? {};
19
38
  const blockCreation = produceBlock(currentBlock, {
@@ -22,14 +41,14 @@ export function produceBlocks(blocks, { addons, mode, offline, options }) {
22
41
  offline,
23
42
  options,
24
43
  });
25
- // 2.3. Store that Block's Creation
44
+ // 3.3. Store that Block's Creation
26
45
  blockProductions.set(currentBlock, {
27
46
  addons: previousAddons,
28
47
  creation: blockCreation,
29
48
  });
30
- // 2.4. If the Block specified new addons for any defined Blocks:
49
+ // 3.4. If the Block specified new addons for any defined Blocks:
31
50
  const updatedBlockAddons = getUpdatedBlockAddons(allowedBlocks, blockProductions, blockCreation.addons);
32
- // 2.4.1: Add those Blocks to the queue to re-run
51
+ // 3.4.1: Add those Blocks to the queue to re-run
33
52
  for (const [updatedBlock, updatedAddons] of updatedBlockAddons) {
34
53
  const addedBlockPreviousProduction = blockProductions.get(updatedBlock);
35
54
  blockProductions.set(updatedBlock, {
@@ -40,7 +59,10 @@ export function produceBlocks(blocks, { addons, mode, offline, options }) {
40
59
  }
41
60
  }
42
61
  }
43
- // 3. Merge all Block Creations together
62
+ // 4. Merge all Block Creations together
44
63
  return Array.from(blockProductions.values()).reduce((created, next) => mergeBlockCreations(created, next.creation ?? {}), {});
45
64
  }
65
+ function isBlockWithAddons(block) {
66
+ return !!("addons" in block);
67
+ }
46
68
  //# sourceMappingURL=produceBlocks.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"produceBlocks.js","sourceRoot":"","sources":["../../src/producers/produceBlocks.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,mBAAmB,EAAE,MAAM,mCAAmC,CAAC;AAGxE,OAAO,EAEN,qBAAqB,GACrB,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AASjD,MAAM,UAAU,aAAa,CAC5B,MAA4C,EAC5C,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAkC;IAElE,2DAA2D;IAC3D,4EAA4E;IAE5E,MAAM,gBAAgB,GAAG,IAAI,GAAG,CAG9B,MAAM,EAAE,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,KAAK,EAAE,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC;IAEnE,iFAAiF;IACjF,MAAM,aAAa,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,CAAC;IACtC,MAAM,aAAa,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,CAAC;IAEtC,kCAAkC;IAClC,OAAO,aAAa,CAAC,IAAI,EAAE,CAAC;QAC3B,KAAK,MAAM,YAAY,IAAI,aAAa,EAAE,CAAC;YAC1C,aAAa,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;YAEnC,yEAAyE;YACzE,qFAAqF;YACrF,MAAM,kBAAkB,GAAG,gBAAgB,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;YAC9D,MAAM,cAAc,GAAG,kBAAkB,EAAE,MAAM,IAAI,EAAE,CAAC;YACxD,MAAM,aAAa,GAAG,YAAY,CACjC,YAAgD,EAChD;gBACC,MAAM,EAAE,cAAc;gBACtB,IAAI;gBACJ,OAAO;gBACP,OAAO;aACP,CACD,CAAC;YAEF,mCAAmC;YACnC,gBAAgB,CAAC,GAAG,CAAC,YAAY,EAAE;gBAClC,MAAM,EAAE,cAAc;gBACtB,QAAQ,EAAE,aAAa;aACvB,CAAC,CAAC;YAEH,iEAAiE;YACjE,MAAM,kBAAkB,GAAG,qBAAqB,CAC/C,aAAa,EACb,gBAAgB,EAChB,aAAa,CAAC,MAAM,CACpB,CAAC;YAEF,iDAAiD;YACjD,KAAK,MAAM,CAAC,YAAY,EAAE,aAAa,CAAC,IAAI,kBAAkB,EAAE,CAAC;gBAChE,MAAM,4BAA4B,GAAG,gBAAgB,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;gBACxE,gBAAgB,CAAC,GAAG,CAAC,YAAY,EAAE;oBAClC,GAAG,4BAA4B;oBAC/B,MAAM,EAAE,aAAa;iBACrB,CAAC,CAAC;gBACH,aAAa,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;YACjC,CAAC;QACF,CAAC;IACF,CAAC;IAED,wCAAwC;IACxC,OACC,KAAK,CAAC,IAAI,CAAC,gBAAgB,CAAC,MAAM,EAAE,CACpC,CAAC,MAAM,CACP,CAAC,OAAO,EAAE,IAAI,EAAE,EAAE,CAAC,mBAAmB,CAAC,OAAO,EAAE,IAAI,CAAC,QAAQ,IAAI,EAAE,CAAC,EACpE,EAAE,CACF,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"produceBlocks.js","sourceRoot":"","sources":["../../src/producers/produceBlocks.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,mBAAmB,EAAE,MAAM,mCAAmC,CAAC;AAGxE,OAAO,EAEN,qBAAqB,GACrB,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAUjD,MAAM,UAAU,aAAa,CAC5B,MAA4C,EAC5C,EACC,WAAW,EACX,KAAK,GAAG,EAAE,EACV,IAAI,EACJ,OAAO,EACP,OAAO,GACyB;IAEjC,2DAA2D;IAC3D,4EAA4E;IAE5E,qEAAqE;IACrE,MAAM,gBAAgB,GAAG,IAAI,GAAG,EAG7B,CAAC;IAEJ,gEAAgE;IAChE,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QAC5B,IAAI,iBAAiB,CAAC,KAAK,CAAC,EAAE,CAAC;YAC9B,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;YACzC,IAAI,MAAM,EAAE,CAAC;gBACZ,gBAAgB,CAAC,GAAG,CAAC,KAAK,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC;YACzC,CAAC;QACF,CAAC;IACF,CAAC;IACD,sDAAsD;IACtD,KAAK,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,WAAW,IAAI,EAAE,EAAE,CAAC;QACnD,gBAAgB,CAAC,GAAG,CAAC,KAAK,EAAE;YAC3B,MAAM,EAAE;gBACP,GAAG,gBAAgB,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,MAAM;gBACtC,GAAG,MAAM;aACT;SACD,CAAC,CAAC;IACJ,CAAC;IAED,iFAAiF;IACjF,MAAM,aAAa,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,CAAC;IACtC,MAAM,aAAa,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,CAAC;IAEtC,kCAAkC;IAClC,OAAO,aAAa,CAAC,IAAI,EAAE,CAAC;QAC3B,KAAK,MAAM,YAAY,IAAI,aAAa,EAAE,CAAC;YAC1C,aAAa,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;YAEnC,yEAAyE;YACzE,qFAAqF;YACrF,MAAM,kBAAkB,GAAG,gBAAgB,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;YAC9D,MAAM,cAAc,GAAG,kBAAkB,EAAE,MAAM,IAAI,EAAE,CAAC;YACxD,MAAM,aAAa,GAAG,YAAY,CACjC,YAAgD,EAChD;gBACC,MAAM,EAAE,cAAc;gBACtB,IAAI;gBACJ,OAAO;gBACP,OAAO;aACP,CACD,CAAC;YAEF,mCAAmC;YACnC,gBAAgB,CAAC,GAAG,CAAC,YAAY,EAAE;gBAClC,MAAM,EAAE,cAAc;gBACtB,QAAQ,EAAE,aAAa;aACvB,CAAC,CAAC;YAEH,iEAAiE;YACjE,MAAM,kBAAkB,GAAG,qBAAqB,CAC/C,aAAa,EACb,gBAAgB,EAChB,aAAa,CAAC,MAAM,CACpB,CAAC;YAEF,iDAAiD;YACjD,KAAK,MAAM,CAAC,YAAY,EAAE,aAAa,CAAC,IAAI,kBAAkB,EAAE,CAAC;gBAChE,MAAM,4BAA4B,GAAG,gBAAgB,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;gBACxE,gBAAgB,CAAC,GAAG,CAAC,YAAY,EAAE;oBAClC,GAAG,4BAA4B;oBAC/B,MAAM,EAAE,aAAa;iBACrB,CAAC,CAAC;gBACH,aAAa,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;YACjC,CAAC;QACF,CAAC;IACF,CAAC;IAED,wCAAwC;IACxC,OACC,KAAK,CAAC,IAAI,CAAC,gBAAgB,CAAC,MAAM,EAAE,CACpC,CAAC,MAAM,CACP,CAAC,OAAO,EAAE,IAAI,EAAE,EAAE,CAAC,mBAAmB,CAAC,OAAO,EAAE,IAAI,CAAC,QAAQ,IAAI,EAAE,CAAC,EACpE,EAAE,CACF,CAAC;AACH,CAAC;AAED,SAAS,iBAAiB,CACzB,KAAyC;IAEzC,OAAO,CAAC,CAAC,CAAC,QAAQ,IAAI,KAAK,CAAC,CAAC;AAC9B,CAAC"}
@@ -28,7 +28,7 @@ describe("produceBlocks", () => {
28
28
  },
29
29
  });
30
30
  });
31
- it("adds addons when provided", () => {
31
+ it("adds addons when provided only under blockAddons", () => {
32
32
  const block = base.createBlock({
33
33
  about: {
34
34
  name: "Example Block",
@@ -43,7 +43,7 @@ describe("produceBlocks", () => {
43
43
  },
44
44
  });
45
45
  const result = produceBlocks([block], {
46
- addons: [block({ extra: "line" })],
46
+ blockAddons: [block({ extra: "line" })],
47
47
  options: { value: "Hello, world!" },
48
48
  });
49
49
  expect(result).toEqual({
@@ -52,6 +52,76 @@ describe("produceBlocks", () => {
52
52
  },
53
53
  });
54
54
  });
55
+ it("adds addons when provided only via Block intake", () => {
56
+ const block = base.createBlock({
57
+ about: {
58
+ name: "Example Block",
59
+ },
60
+ addons: {
61
+ extra: z.string().optional(),
62
+ },
63
+ intake({ files }) {
64
+ return {
65
+ extra: files["README.md"][0].split("\n").at(-1),
66
+ };
67
+ },
68
+ produce({ addons, options }) {
69
+ return {
70
+ files: { "README.md": [options.value, addons.extra].join("\n") },
71
+ };
72
+ },
73
+ });
74
+ const result = produceBlocks([block], {
75
+ files: {
76
+ "README.md": ["Before\nline"],
77
+ },
78
+ options: { value: "Hello, world!" },
79
+ });
80
+ expect(result).toEqual({
81
+ files: {
82
+ "README.md": "Hello, world!\nline",
83
+ },
84
+ });
85
+ });
86
+ it("adds merges addons when provided by Block intake and blockAddons", () => {
87
+ const block = base.createBlock({
88
+ about: {
89
+ name: "Example Block",
90
+ },
91
+ addons: {
92
+ a: z.string().optional(),
93
+ b: z.string().optional(),
94
+ c: z.string().optional(),
95
+ },
96
+ intake() {
97
+ return {
98
+ a: "intake",
99
+ b: "intake",
100
+ };
101
+ },
102
+ produce({ addons, options }) {
103
+ return {
104
+ files: {
105
+ "README.md": [options.value, addons.a, addons.b, addons.c].join("\n"),
106
+ },
107
+ };
108
+ },
109
+ });
110
+ const result = produceBlocks([block], {
111
+ blockAddons: [
112
+ block({
113
+ b: "provided",
114
+ c: "provided",
115
+ }),
116
+ ],
117
+ options: { value: "Hello, world!" },
118
+ });
119
+ expect(result).toEqual({
120
+ files: {
121
+ "README.md": "Hello, world!\nintake\nprovided\nprovided",
122
+ },
123
+ });
124
+ });
55
125
  it("doesn't include addons to blocks that aren't defined", () => {
56
126
  const blockKnown = base.createBlock({
57
127
  about: {
@@ -1 +1 @@
1
- {"version":3,"file":"produceBlocks.test.js","sourceRoot":"","sources":["../../src/producers/produceBlocks.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"produceBlocks.test.js","sourceRoot":"","sources":["../../src/producers/produceBlocks.test.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,5 @@
1
1
  import { AnyShape, InferredObject, ProduceTemplateSettings } from "bingo";
2
+ import { IntakeDirectory } from "bingo-fs";
2
3
  import { BlockCreation } from "../types/creations.js";
3
4
  import { Preset } from "../types/presets.js";
4
5
  import { StratumRefinements } from "../types/refinements.js";
@@ -9,6 +10,10 @@ import { StratumTemplate } from "../types/templates.js";
9
10
  * @see {@link https://www.create.bingo/engines/stratum/apis/producers#producetemplate}
10
11
  */
11
12
  export interface ProducePresetSettings<OptionsShape extends AnyShape> extends ProduceTemplateSettings<OptionsShape, StratumRefinements<InferredObject<OptionsShape>>> {
13
+ /**
14
+ * Existing file creations to be used for Blocks that can intake Addons.
15
+ */
16
+ files?: IntakeDirectory;
12
17
  /**
13
18
  * Any optional Stratum customizations.
14
19
  * @see {@link https://create.bingo/engines/stratum/details/configurations#refinements}
@@ -24,5 +29,5 @@ export interface ProducePresetSettings<OptionsShape extends AnyShape> extends Pr
24
29
  * @template OptionsShape Schemas of options defined by the Preset's Base.
25
30
  * @see {@link https://www.create.bingo/engines/stratum/apis/producers#producetemplate}
26
31
  */
27
- export declare function producePreset<OptionsShape extends AnyShape>(preset: Preset<OptionsShape>, { mode, offline, options, refinements, template, }: ProducePresetSettings<OptionsShape>): BlockCreation<InferredObject<OptionsShape>>;
32
+ export declare function producePreset<OptionsShape extends AnyShape>(preset: Preset<OptionsShape>, { files, mode, offline, options, refinements, template, }: ProducePresetSettings<OptionsShape>): BlockCreation<InferredObject<OptionsShape>>;
28
33
  //# sourceMappingURL=producePreset.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"producePreset.d.ts","sourceRoot":"","sources":["../../src/producers/producePreset.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,cAAc,EAAE,uBAAuB,EAAE,MAAM,OAAO,CAAC;AAE1E,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AACtD,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAC7C,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAC7D,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAIxD;;;;GAIG;AACH,MAAM,WAAW,qBAAqB,CAAC,YAAY,SAAS,QAAQ,CACnE,SAAQ,uBAAuB,CAC9B,YAAY,EACZ,kBAAkB,CAAC,cAAc,CAAC,YAAY,CAAC,CAAC,CAChD;IACD;;;OAGG;IACH,WAAW,CAAC,EAAE,kBAAkB,CAAC,cAAc,CAAC,YAAY,CAAC,CAAC,CAAC;IAE/D;;OAEG;IACH,QAAQ,CAAC,EAAE,eAAe,CAAC,YAAY,CAAC,CAAC;CACzC;AAED;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,YAAY,SAAS,QAAQ,EAC1D,MAAM,EAAE,MAAM,CAAC,YAAY,CAAC,EAC5B,EACC,IAAI,EACJ,OAAO,EACP,OAAO,EACP,WAAgB,EAChB,QAAQ,GACR,EAAE,qBAAqB,CAAC,YAAY,CAAC,GACpC,aAAa,CAAC,cAAc,CAAC,YAAY,CAAC,CAAC,CAuB7C"}
1
+ {"version":3,"file":"producePreset.d.ts","sourceRoot":"","sources":["../../src/producers/producePreset.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,cAAc,EAAE,uBAAuB,EAAE,MAAM,OAAO,CAAC;AAC1E,OAAO,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAE3C,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AACtD,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAC7C,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAC7D,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAIxD;;;;GAIG;AACH,MAAM,WAAW,qBAAqB,CAAC,YAAY,SAAS,QAAQ,CACnE,SAAQ,uBAAuB,CAC9B,YAAY,EACZ,kBAAkB,CAAC,cAAc,CAAC,YAAY,CAAC,CAAC,CAChD;IACD;;OAEG;IACH,KAAK,CAAC,EAAE,eAAe,CAAC;IAExB;;;OAGG;IACH,WAAW,CAAC,EAAE,kBAAkB,CAAC,cAAc,CAAC,YAAY,CAAC,CAAC,CAAC;IAE/D;;OAEG;IACH,QAAQ,CAAC,EAAE,eAAe,CAAC,YAAY,CAAC,CAAC;CACzC;AAED;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,YAAY,SAAS,QAAQ,EAC1D,MAAM,EAAE,MAAM,CAAC,YAAY,CAAC,EAC5B,EACC,KAAK,EACL,IAAI,EACJ,OAAO,EACP,OAAO,EACP,WAAgB,EAChB,QAAQ,GACR,EAAE,qBAAqB,CAAC,YAAY,CAAC,GACpC,aAAa,CAAC,cAAc,CAAC,YAAY,CAAC,CAAC,CAwB7C"}
@@ -5,10 +5,11 @@ import { produceBlocks } from "./produceBlocks.js";
5
5
  * @template OptionsShape Schemas of options defined by the Preset's Base.
6
6
  * @see {@link https://www.create.bingo/engines/stratum/apis/producers#producetemplate}
7
7
  */
8
- export function producePreset(preset, { mode, offline, options, refinements = {}, template, }) {
8
+ export function producePreset(preset, { files, mode, offline, options, refinements = {}, template, }) {
9
9
  const blocks = applyBlockRefinements(template?.blocks ?? preset.blocks, preset.blocks, options, refinements.blocks);
10
10
  const creation = produceBlocks(blocks, {
11
- addons: refinements.addons,
11
+ blockAddons: refinements.addons,
12
+ files,
12
13
  mode,
13
14
  offline,
14
15
  options,
@@ -1 +1 @@
1
- {"version":3,"file":"producePreset.js","sourceRoot":"","sources":["../../src/producers/producePreset.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AACnE,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAwBnD;;;;GAIG;AACH,MAAM,UAAU,aAAa,CAC5B,MAA4B,EAC5B,EACC,IAAI,EACJ,OAAO,EACP,OAAO,EACP,WAAW,GAAG,EAAE,EAChB,QAAQ,GAC6B;IAEtC,MAAM,MAAM,GAAG,qBAAqB,CACnC,QAAQ,EAAE,MAAM,IAAI,MAAM,CAAC,MAAM,EACjC,MAAM,CAAC,MAAM,EACb,OAAO,EACP,WAAW,CAAC,MAAM,CAClB,CAAC;IAEF,MAAM,QAAQ,GAAG,aAAa,CAAC,MAAM,EAAE;QACtC,MAAM,EAAE,WAAW,CAAC,MAAM;QAC1B,IAAI;QACJ,OAAO;QACP,OAAO;KACP,CAAC,CAAC;IAEH,OAAO;QACN,MAAM,EAAE,EAAE;QACV,KAAK,EAAE,EAAE;QACT,QAAQ,EAAE,EAAE;QACZ,OAAO,EAAE,EAAE;QACX,WAAW,EAAE,EAAE;QACf,GAAG,QAAQ;KACX,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"producePreset.js","sourceRoot":"","sources":["../../src/producers/producePreset.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AACnE,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AA6BnD;;;;GAIG;AACH,MAAM,UAAU,aAAa,CAC5B,MAA4B,EAC5B,EACC,KAAK,EACL,IAAI,EACJ,OAAO,EACP,OAAO,EACP,WAAW,GAAG,EAAE,EAChB,QAAQ,GAC6B;IAEtC,MAAM,MAAM,GAAG,qBAAqB,CACnC,QAAQ,EAAE,MAAM,IAAI,MAAM,CAAC,MAAM,EACjC,MAAM,CAAC,MAAM,EACb,OAAO,EACP,WAAW,CAAC,MAAM,CAClB,CAAC;IAEF,MAAM,QAAQ,GAAG,aAAa,CAAC,MAAM,EAAE;QACtC,WAAW,EAAE,WAAW,CAAC,MAAM;QAC/B,KAAK;QACL,IAAI;QACJ,OAAO;QACP,OAAO;KACP,CAAC,CAAC;IAEH,OAAO;QACN,MAAM,EAAE,EAAE;QACV,KAAK,EAAE,EAAE;QACT,QAAQ,EAAE,EAAE;QACZ,OAAO,EAAE,EAAE;QACX,WAAW,EAAE,EAAE;QACf,GAAG,QAAQ;KACX,CAAC;AACH,CAAC"}
@@ -1,7 +1,9 @@
1
1
  import { AnyShape, InferredObject, ProductionMode } from "bingo";
2
+ import { IntakeDirectory } from "bingo-fs";
2
3
  import { StratumRefinements } from "../types/refinements.js";
3
4
  import { StratumTemplate } from "../types/templates.js";
4
5
  export interface ProduceStratumTemplateSettings<OptionsShape extends AnyShape> {
6
+ files?: IntakeDirectory;
5
7
  mode?: ProductionMode;
6
8
  offline?: boolean;
7
9
  options: InferredObject<OptionsShape> & {
@@ -9,5 +11,5 @@ export interface ProduceStratumTemplateSettings<OptionsShape extends AnyShape> {
9
11
  };
10
12
  refinements?: StratumRefinements<InferredObject<OptionsShape>>;
11
13
  }
12
- export declare function produceStratumTemplate<OptionsShape extends AnyShape = AnyShape>(template: StratumTemplate<OptionsShape>, { mode, offline, options, refinements, }: ProduceStratumTemplateSettings<OptionsShape>): {};
14
+ export declare function produceStratumTemplate<OptionsShape extends AnyShape = AnyShape>(template: StratumTemplate<OptionsShape>, { files, mode, offline, options, refinements, }: ProduceStratumTemplateSettings<OptionsShape>): {};
13
15
  //# sourceMappingURL=produceStratumTemplate.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"produceStratumTemplate.d.ts","sourceRoot":"","sources":["../../src/producers/produceStratumTemplate.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,OAAO,CAAC;AAEjE,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAC7D,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAKxD,MAAM,WAAW,8BAA8B,CAAC,YAAY,SAAS,QAAQ;IAC5E,IAAI,CAAC,EAAE,cAAc,CAAC;IACtB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,OAAO,EAAE,cAAc,CAAC,YAAY,CAAC,GAAG;QAAE,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;IAC3D,WAAW,CAAC,EAAE,kBAAkB,CAAC,cAAc,CAAC,YAAY,CAAC,CAAC,CAAC;CAC/D;AAED,wBAAgB,sBAAsB,CACrC,YAAY,SAAS,QAAQ,GAAG,QAAQ,EAExC,QAAQ,EAAE,eAAe,CAAC,YAAY,CAAC,EACvC,EACC,IAAI,EACJ,OAAO,EACP,OAAO,EACP,WAAgB,GAChB,EAAE,8BAA8B,CAAC,YAAY,CAAC,MAoB/C"}
1
+ {"version":3,"file":"produceStratumTemplate.d.ts","sourceRoot":"","sources":["../../src/producers/produceStratumTemplate.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,OAAO,CAAC;AACjE,OAAO,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAE3C,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAC7D,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAKxD,MAAM,WAAW,8BAA8B,CAAC,YAAY,SAAS,QAAQ;IAC5E,KAAK,CAAC,EAAE,eAAe,CAAC;IACxB,IAAI,CAAC,EAAE,cAAc,CAAC;IACtB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,OAAO,EAAE,cAAc,CAAC,YAAY,CAAC,GAAG;QAAE,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;IAC3D,WAAW,CAAC,EAAE,kBAAkB,CAAC,cAAc,CAAC,YAAY,CAAC,CAAC,CAAC;CAC/D;AAED,wBAAgB,sBAAsB,CACrC,YAAY,SAAS,QAAQ,GAAG,QAAQ,EAExC,QAAQ,EAAE,eAAe,CAAC,YAAY,CAAC,EACvC,EACC,KAAK,EACL,IAAI,EACJ,OAAO,EACP,OAAO,EACP,WAAgB,GAChB,EAAE,8BAA8B,CAAC,YAAY,CAAC,MAqB/C"}
@@ -1,14 +1,15 @@
1
1
  import { getPresetByName } from "../utils/getPresetByName.js";
2
2
  import { applyBlockRefinements } from "./applyBlockRefinements.js";
3
3
  import { produceBlocks } from "./produceBlocks.js";
4
- export function produceStratumTemplate(template, { mode, offline, options, refinements = {}, }) {
4
+ export function produceStratumTemplate(template, { files, mode, offline, options, refinements = {}, }) {
5
5
  const preset = getPresetByName(template.presets, options.preset);
6
6
  if (preset instanceof Error) {
7
7
  throw preset;
8
8
  }
9
9
  const blocks = applyBlockRefinements(template.blocks, preset.blocks, options, refinements.blocks);
10
10
  return produceBlocks(blocks, {
11
- addons: refinements.addons,
11
+ blockAddons: refinements.addons,
12
+ files,
12
13
  mode,
13
14
  offline,
14
15
  options,
@@ -1 +1 @@
1
- {"version":3,"file":"produceStratumTemplate.js","sourceRoot":"","sources":["../../src/producers/produceStratumTemplate.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAC9D,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AACnE,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AASnD,MAAM,UAAU,sBAAsB,CAGrC,QAAuC,EACvC,EACC,IAAI,EACJ,OAAO,EACP,OAAO,EACP,WAAW,GAAG,EAAE,GAC8B;IAE/C,MAAM,MAAM,GAAG,eAAe,CAAC,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;IACjE,IAAI,MAAM,YAAY,KAAK,EAAE,CAAC;QAC7B,MAAM,MAAM,CAAC;IACd,CAAC;IAED,MAAM,MAAM,GAAG,qBAAqB,CACnC,QAAQ,CAAC,MAAM,EACf,MAAM,CAAC,MAAM,EACb,OAAO,EACP,WAAW,CAAC,MAAM,CAClB,CAAC;IAEF,OAAO,aAAa,CAAC,MAAM,EAAE;QAC5B,MAAM,EAAE,WAAW,CAAC,MAAM;QAC1B,IAAI;QACJ,OAAO;QACP,OAAO;KACP,CAAC,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"produceStratumTemplate.js","sourceRoot":"","sources":["../../src/producers/produceStratumTemplate.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAC9D,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AACnE,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAUnD,MAAM,UAAU,sBAAsB,CAGrC,QAAuC,EACvC,EACC,KAAK,EACL,IAAI,EACJ,OAAO,EACP,OAAO,EACP,WAAW,GAAG,EAAE,GAC8B;IAE/C,MAAM,MAAM,GAAG,eAAe,CAAC,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;IACjE,IAAI,MAAM,YAAY,KAAK,EAAE,CAAC;QAC7B,MAAM,MAAM,CAAC;IACd,CAAC;IAED,MAAM,MAAM,GAAG,qBAAqB,CACnC,QAAQ,CAAC,MAAM,EACf,MAAM,CAAC,MAAM,EACb,OAAO,EACP,WAAW,CAAC,MAAM,CAClB,CAAC;IAEF,OAAO,aAAa,CAAC,MAAM,EAAE;QAC5B,WAAW,EAAE,WAAW,CAAC,MAAM;QAC/B,KAAK;QACL,IAAI;QACJ,OAAO;QACP,OAAO;KACP,CAAC,CAAC;AACJ,CAAC"}
@@ -1,8 +1,14 @@
1
1
  import { AnyShape, InferredObject, RunTemplateSettings } from "bingo";
2
+ import { IntakeDirectory } from "bingo-fs";
2
3
  import { BlockCreation } from "../types/creations.js";
3
4
  import { Preset } from "../types/presets.js";
4
5
  import { StratumRefinements } from "../types/refinements.js";
5
- export type RunPresetSettings<OptionsShape extends AnyShape> = RunTemplateSettings<OptionsShape, StratumRefinements<InferredObject<OptionsShape>>>;
6
+ export interface RunPresetSettings<OptionsShape extends AnyShape> extends RunTemplateSettings<OptionsShape, StratumRefinements<InferredObject<OptionsShape>>> {
7
+ /**
8
+ * Existing file creations to be used for Blocks that can intake Addons.
9
+ */
10
+ files?: IntakeDirectory;
11
+ }
6
12
  /**
7
13
  * Generates and applies the Blocks in a Preset.
8
14
  * @template OptionsShape Schemas of options the Preset's Base takes in.
@@ -1 +1 @@
1
- {"version":3,"file":"runPreset.d.ts","sourceRoot":"","sources":["../../src/runners/runPreset.ts"],"names":[],"mappings":"AAAA,OAAO,EACN,QAAQ,EAER,cAAc,EAEd,mBAAmB,EACnB,MAAM,OAAO,CAAC;AAGf,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AACtD,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAC7C,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAE7D,MAAM,MAAM,iBAAiB,CAAC,YAAY,SAAS,QAAQ,IAC1D,mBAAmB,CAClB,YAAY,EACZ,kBAAkB,CAAC,cAAc,CAAC,YAAY,CAAC,CAAC,CAChD,CAAC;AAEH;;;;GAIG;AACH,wBAAsB,SAAS,CAAC,YAAY,SAAS,QAAQ,EAC5D,MAAM,EAAE,MAAM,CAAC,YAAY,CAAC,EAC5B,QAAQ,EAAE,iBAAiB,CAAC,YAAY,CAAC,GACvC,OAAO,CAAC,aAAa,CAAC,cAAc,CAAC,YAAY,CAAC,CAAC,CAAC,CAStD"}
1
+ {"version":3,"file":"runPreset.d.ts","sourceRoot":"","sources":["../../src/runners/runPreset.ts"],"names":[],"mappings":"AAAA,OAAO,EACN,QAAQ,EAER,cAAc,EAEd,mBAAmB,EACnB,MAAM,OAAO,CAAC;AACf,OAAO,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAG3C,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AACtD,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAC7C,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAE7D,MAAM,WAAW,iBAAiB,CAAC,YAAY,SAAS,QAAQ,CAC/D,SAAQ,mBAAmB,CAC1B,YAAY,EACZ,kBAAkB,CAAC,cAAc,CAAC,YAAY,CAAC,CAAC,CAChD;IACD;;OAEG;IACH,KAAK,CAAC,EAAE,eAAe,CAAC;CACxB;AAED;;;;GAIG;AACH,wBAAsB,SAAS,CAAC,YAAY,SAAS,QAAQ,EAC5D,MAAM,EAAE,MAAM,CAAC,YAAY,CAAC,EAC5B,QAAQ,EAAE,iBAAiB,CAAC,YAAY,CAAC,GACvC,OAAO,CAAC,aAAa,CAAC,cAAc,CAAC,YAAY,CAAC,CAAC,CAAC,CAStD"}
@@ -1 +1 @@
1
- {"version":3,"file":"runPreset.js","sourceRoot":"","sources":["../../src/runners/runPreset.ts"],"names":[],"mappings":"AAAA,OAAO,EAEN,2BAA2B,EAE3B,WAAW,GAEX,MAAM,OAAO,CAAC;AAEf,OAAO,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AAW9D;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,SAAS,CAC9B,MAA4B,EAC5B,QAAyC;IAEzC,MAAM,EAAE,SAAS,GAAG,GAAG,EAAE,OAAO,EAAE,GAAG,QAAQ,CAAC;IAC9C,MAAM,MAAM,GAAG,MAAM,2BAA2B,CAAC,EAAE,SAAS,EAAE,GAAG,QAAQ,EAAE,CAAC,CAAC;IAE7E,MAAM,QAAQ,GAAG,aAAa,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;IAEjD,MAAM,WAAW,CAAC,QAAQ,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC;IAEjD,OAAO,QAAQ,CAAC;AACjB,CAAC"}
1
+ {"version":3,"file":"runPreset.js","sourceRoot":"","sources":["../../src/runners/runPreset.ts"],"names":[],"mappings":"AAAA,OAAO,EAEN,2BAA2B,EAE3B,WAAW,GAEX,MAAM,OAAO,CAAC;AAGf,OAAO,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AAgB9D;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,SAAS,CAC9B,MAA4B,EAC5B,QAAyC;IAEzC,MAAM,EAAE,SAAS,GAAG,GAAG,EAAE,OAAO,EAAE,GAAG,QAAQ,CAAC;IAC9C,MAAM,MAAM,GAAG,MAAM,2BAA2B,CAAC,EAAE,SAAS,EAAE,GAAG,QAAQ,EAAE,CAAC,CAAC;IAE7E,MAAM,QAAQ,GAAG,aAAa,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;IAEjD,MAAM,WAAW,CAAC,QAAQ,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC;IAEjD,OAAO,QAAQ,CAAC;AACjB,CAAC"}
@@ -1,50 +1,214 @@
1
1
  import { AboutBase, AnyOptionalShape, InferredObject } from "bingo";
2
+ import { IntakeDirectory } from "bingo-fs";
2
3
  import { BlockCreation, CreatedBlockAddons } from "./creations.js";
3
4
  import { StratumTemplateOptions } from "./templates.js";
5
+ /**
6
+ * Logic to create one portion of a repository.
7
+ * @template Addons Block-specific extensions, if defined by the Block's schema.
8
+ * @template Options Options values as described by the Base's options schema.
9
+ */
4
10
  export type Block<Addons extends object | undefined = object | undefined, Options extends object = object> = Addons extends object ? BlockWithAddons<Addons, Options> : BlockWithoutAddons<Options>;
11
+ /**
12
+ * Augments additional creations into a production from a Block with addons.
13
+ * @param context Shared Block helper functions and information.
14
+ * @template Addons Block-specific extensions, as defined by the Block's schema.
15
+ * @template Options Options values as described by the Base's options schema.
16
+ */
5
17
  export type BlockAugmentWithAddons<Addons extends object, Options extends object> = (context: BlockContextWithAddons<Addons, Options>) => Partial<BlockCreation<Options>>;
18
+ /**
19
+ * Augments additional creations into a production from a Block without addons.
20
+ * @param context Shared Block helper functions and information.
21
+ * @template Options Options values as described by the Base's options schema.
22
+ */
6
23
  export type BlockAugmentWithoutAddons<Options extends object> = (context: BlockContextWithoutAddons<Options>) => Partial<BlockCreation<Options>>;
7
24
  export interface BlockBase {
25
+ /**
26
+ * Metadata about the Block that can be used by tooling to describe it.
27
+ * @see {@link https://www.create.bingo/engines/stratum/apis/create-base#createblock-about}
28
+ */
8
29
  about?: AboutBase;
9
30
  }
31
+ /**
32
+ * Shared helper functions and information passed to producers of Blocks with required Addons.
33
+ * @template Addons Block-specific extensions, as defined by the Block's schema.
34
+ * @template Options Options values as described by the Base's options schema.
35
+ */
10
36
  export interface BlockContextWithAddons<Addons extends object, Options extends object> extends BlockContextWithoutAddons<Options> {
11
37
  addons: Addons;
12
38
  }
39
+ /**
40
+ * Shared helper functions and information passed to Block intake()s.
41
+ */
42
+ export interface BlockIntakeContext {
43
+ /**
44
+ * Any existing files on disk.
45
+ */
46
+ files: IntakeDirectory;
47
+ }
48
+ /**
49
+ * Shared helper functions and information passed to producers of Blocks with optional Addons.
50
+ * @template Addons Block-specific extensions, as defined by the Block's schema.
51
+ * @template Options Options values as described by the Base's options schema.
52
+ */
13
53
  export interface BlockContextWithOptionalAddons<Addons extends object, Options extends object> extends BlockContextWithoutAddons<Options> {
14
54
  addons?: Addons;
15
55
  }
56
+ /**
57
+ * Shared helper functions and information passed to producers of Blocks without Addons.
58
+ * @template Options Options values as described by the Base's options schema.
59
+ */
16
60
  export interface BlockContextWithoutAddons<Options extends object> {
17
61
  offline?: boolean;
18
62
  options: Options & StratumTemplateOptions;
19
63
  }
64
+ /**
65
+ * Definition for creating a new Block that may have Addons.
66
+ * @template AddonsShape Schema of Addons the Block takes in, if defined.
67
+ * @template Options Options values as described by the Base's options schema.
68
+ */
20
69
  export type BlockDefinition<AddonsShape extends AnyOptionalShape | undefined, Options extends object> = AddonsShape extends object ? BlockDefinitionWithAddons<AddonsShape, Options> : BlockDefinitionWithoutAddons<Options>;
21
- export interface BlockDefinitionBase {
22
- about?: AboutBase;
23
- }
70
+ /**
71
+ * Generates the creations describing a portion of a repository from a Block with Addons.
72
+ * @template Addons Block-specific extensions, as defined by the Block's schema.
73
+ * @template Options Options values as described by the Base's options schema.
74
+ */
24
75
  export type BlockDefinitionProducerWithAddons<Addons extends object, Options extends object> = (context: BlockContextWithAddons<Addons, Options>) => Partial<BlockCreation<Options>>;
76
+ /**
77
+ * Generates the creations describing a portion of a repository from a Block without Addons.
78
+ * @template Options Options values as described by the Base's options schema.
79
+ */
25
80
  export type BlockDefinitionProducerWithoutAddons<Options extends object> = (context: BlockContextWithoutAddons<Options>) => Partial<BlockCreation<Options>>;
26
- export interface BlockDefinitionWithAddons<AddonsShape extends AnyOptionalShape, Options extends object> extends BlockDefinitionBase {
81
+ /**
82
+ * Definition for creating a new Block with Addons.
83
+ * @template AddonsShape Schema of Addons the Block takes in.
84
+ * @template Options Options values as described by the Base's options schema.
85
+ */
86
+ export interface BlockDefinitionWithAddons<AddonsShape extends AnyOptionalShape, Options extends object> extends BlockBase {
87
+ /**
88
+ * Schema of Addons the Block takes in.
89
+ */
27
90
  addons: AddonsShape;
91
+ /**
92
+ * Infers Addons from existing files in the repository.
93
+ * @see {@link https://www.create.bingo/engines/stratum/apis/create-base#createblock-intake}
94
+ */
95
+ intake?: BlockIntake<InferredObject<AddonsShape>>;
96
+ /**
97
+ * Generates the creations describing a portion of a repository.
98
+ * @see {@link https://www.create.bingo/engines/stratum/apis/create-base#createblock-produce}
99
+ */
28
100
  produce: BlockDefinitionProducerWithAddons<InferredObject<AddonsShape>, Options>;
101
+ /**
102
+ * Augments a Block creation with additional creations for setup mode.
103
+ * @template Options Options values as described by the Base's options schema.
104
+ * @see {@link https://www.create.bingo/engines/stratum/apis/create-base#createblock-setup}
105
+ */
29
106
  setup?: BlockAugmentWithAddons<InferredObject<AddonsShape>, Options>;
107
+ /**
108
+ * Augments a Block creation with additional creations for transition mode.
109
+ * @template Options Options values as described by the Base's options schema.
110
+ * @see {@link https://www.create.bingo/engines/stratum/apis/create-base#createblock-transition}
111
+ */
30
112
  transition?: BlockAugmentWithAddons<InferredObject<AddonsShape>, Options>;
31
113
  }
32
- export interface BlockDefinitionWithoutAddons<Options extends object> extends BlockDefinitionBase {
114
+ /**
115
+ * Definition for creating a new Block without Addons.
116
+ * @template Options Options values as described by the Base's options schema.
117
+ */
118
+ export interface BlockDefinitionWithoutAddons<Options extends object> extends BlockBase {
119
+ /**
120
+ * Generates the creations describing a portion of a repository.
121
+ * @see {@link https://www.create.bingo/engines/stratum/apis/create-base#createblock-produce}
122
+ */
33
123
  produce: BlockDefinitionProducerWithoutAddons<Options>;
124
+ /**
125
+ * Augments a Block creation with additional creations for setup mode.
126
+ * @template Options Options values as described by the Base's options schema.
127
+ * @see {@link https://www.create.bingo/engines/stratum/apis/create-base#createblock-setup}
128
+ */
34
129
  setup?: BlockAugmentWithoutAddons<Options>;
130
+ /**
131
+ * Augments a Block creation with additional creations for transition mode.
132
+ * @template Options Options values as described by the Base's options schema.
133
+ * @see {@link https://www.create.bingo/engines/stratum/apis/create-base#createblock-transition}
134
+ */
35
135
  transition?: BlockAugmentWithoutAddons<Options>;
36
136
  }
137
+ /**
138
+ * Infers any Addons for the Block from existing creations.
139
+ * @param context Shared Block helper functions and information.
140
+ * @template Addons Block-specific extensions, as defined by the Block's schema.
141
+ */
142
+ export type BlockIntake<Addons extends object> = (context: BlockIntakeContext) => Partial<Addons> | undefined;
143
+ /**
144
+ * Generates the creations describing a portion of a repository with addons.
145
+ * @param context Shared Block helper functions and information.
146
+ * @template Addons Block-specific extensions, as defined by the Block's schema.
147
+ * @template Options Options values as described by the template's options schema.
148
+ * @see {@link https://www.create.bingo/engines/stratum/concepts/blocks#production}
149
+ */
37
150
  export type BlockProducerWithAddons<Addons extends object, Options extends object> = (context: BlockContextWithOptionalAddons<Addons, Options>) => Partial<BlockCreation<Options>>;
151
+ /**
152
+ * Generates the creations describing a portion of a repository without addons.
153
+ * @param context Shared Block helper functions and information.
154
+ * @template Options Options values as described by the template's options schema.
155
+ * @see {@link https://www.create.bingo/engines/stratum/concepts/blocks#production}
156
+ */
38
157
  export type BlockProducerWithoutAddons<Options extends object> = (context: BlockContextWithoutAddons<Options>) => Partial<BlockCreation<Options>>;
158
+ /**
159
+ * Block that defines a schema for Addons.
160
+ * @template Addons Block-specific extensions, as defined by the Block's schema.
161
+ * @template Options Options values as described by the Base's options schema.
162
+ */
39
163
  export interface BlockWithAddons<Addons extends object, Options extends object> extends BlockBase {
164
+ /**
165
+ * Infers Addons from existing files in the repository.
166
+ * @see {@link https://www.create.bingo/engines/stratum/apis/create-base#createblock-intake}
167
+ */
168
+ intake?: BlockIntake<Addons>;
169
+ /**
170
+ * Generates the creations describing a portion of a repository.
171
+ * @see {@link https://www.create.bingo/engines/stratum/apis/create-base#createblock-produce}
172
+ */
40
173
  produce: BlockProducerWithAddons<Addons, Options>;
174
+ /**
175
+ * Augments a Block creation with additional creations for setup mode.
176
+ * @template Options Options values as described by the Base's options schema.
177
+ * @see {@link https://www.create.bingo/engines/stratum/apis/create-base#createblock-setup}
178
+ */
41
179
  setup?: BlockAugmentWithAddons<Addons, Options>;
180
+ /**
181
+ * Augments a Block creation with additional creations for transition mode.
182
+ * @template Options Options values as described by the Base's options schema.
183
+ * @see {@link https://www.create.bingo/engines/stratum/apis/create-base#createblock-transition}
184
+ */
42
185
  transition?: BlockAugmentWithAddons<Addons, Options>;
186
+ /**
187
+ * Creates a description of Addons to provide for the Block.
188
+ */
43
189
  (addons: Partial<Addons>): CreatedBlockAddons<Addons, Options>;
44
190
  }
191
+ /**
192
+ * Block that does not define a schema for Addons.
193
+ * @template Options Options values as described by the Base's options schema.
194
+ */
45
195
  export interface BlockWithoutAddons<Options extends object> extends BlockBase {
196
+ /**
197
+ * Generates the creations describing a portion of a repository.
198
+ * @see {@link https://www.create.bingo/engines/stratum/apis/create-base#createblock-produce}
199
+ */
46
200
  produce: BlockProducerWithoutAddons<Options>;
201
+ /**
202
+ * Augments a Block creation with additional creations for setup mode.
203
+ * @template Options Options values as described by the Base's options schema.
204
+ * @see {@link https://www.create.bingo/engines/stratum/apis/create-base#createblock-setup}
205
+ */
47
206
  setup?: BlockAugmentWithoutAddons<Options>;
207
+ /**
208
+ * Augments a Block creation with additional creations for transition mode.
209
+ * @template Options Options values as described by the Base's options schema.
210
+ * @see {@link https://www.create.bingo/engines/stratum/apis/create-base#createblock-transition}
211
+ */
48
212
  transition?: BlockAugmentWithoutAddons<Options>;
49
213
  }
50
214
  //# sourceMappingURL=blocks.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"blocks.d.ts","sourceRoot":"","sources":["../../src/types/blocks.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"blocks.d.ts","sourceRoot":"","sources":["../../src/types/blocks.ts"],"names":[],"mappings":"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"}
@@ -3,6 +3,11 @@ import { BlockWithAddons } from "./blocks.js";
3
3
  export interface BlockCreation<Options extends object> extends Creation {
4
4
  addons: CreatedBlockAddons<any, Options>[];
5
5
  }
6
+ /**
7
+ * Describes Addons to provide to a Block before production.
8
+ * @template Addons Block-specific extensions, as defined by the Block's schema.
9
+ * @template Options Options values as described by the Base's options schema.
10
+ */
6
11
  export interface CreatedBlockAddons<Addons extends object = object, Options extends object = object> {
7
12
  addons: Addons;
8
13
  block: BlockWithAddons<Addons, Options>;
@@ -1 +1 @@
1
- {"version":3,"file":"creations.d.ts","sourceRoot":"","sources":["../../src/types/creations.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAEjC,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAE9C,MAAM,WAAW,aAAa,CAAC,OAAO,SAAS,MAAM,CAAE,SAAQ,QAAQ;IAKtE,MAAM,EAAE,kBAAkB,CAAC,GAAG,EAAE,OAAO,CAAC,EAAE,CAAC;CAC3C;AAED,MAAM,WAAW,kBAAkB,CAClC,MAAM,SAAS,MAAM,GAAG,MAAM,EAC9B,OAAO,SAAS,MAAM,GAAG,MAAM;IAE/B,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,eAAe,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACxC"}
1
+ {"version":3,"file":"creations.d.ts","sourceRoot":"","sources":["../../src/types/creations.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAEjC,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAE9C,MAAM,WAAW,aAAa,CAAC,OAAO,SAAS,MAAM,CAAE,SAAQ,QAAQ;IAKtE,MAAM,EAAE,kBAAkB,CAAC,GAAG,EAAE,OAAO,CAAC,EAAE,CAAC;CAC3C;AAED;;;;GAIG;AACH,MAAM,WAAW,kBAAkB,CAClC,MAAM,SAAS,MAAM,GAAG,MAAM,EAC9B,OAAO,SAAS,MAAM,GAAG,MAAM;IAE/B,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,eAAe,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACxC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "bingo-stratum",
3
- "version": "0.5.7",
3
+ "version": "0.5.9",
4
4
  "description": "Highly composable, customizable templating engine for Bingo. 🏭",
5
5
  "homepage": "https://www.create.bingo/engines/stratum/packages/bingo-stratum",
6
6
  "repository": {
@@ -32,11 +32,11 @@
32
32
  },
33
33
  "devDependencies": {
34
34
  "@types/node": "22.13.9",
35
- "bingo": "^0.5.9"
35
+ "bingo": "^0.5.11"
36
36
  },
37
37
  "peerDependencies": {
38
38
  "zod": "^3.24.2",
39
- "bingo": "^0.5.9",
39
+ "bingo": "^0.5.11",
40
40
  "bingo-fs": "^0.5.4",
41
41
  "bingo-systems": "^0.5.4"
42
42
  },