bingo-stratum 0.5.13 → 0.6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (89) hide show
  1. package/lib/creators/createBlock.d.ts.map +1 -1
  2. package/lib/creators/createBlock.js +8 -3
  3. package/lib/creators/createBlock.js.map +1 -1
  4. package/lib/creators/createBlock.test.js +86 -0
  5. package/lib/creators/createBlock.test.js.map +1 -1
  6. package/lib/creators/createStratumTemplate.d.ts.map +1 -1
  7. package/lib/creators/createStratumTemplate.js +11 -7
  8. package/lib/creators/createStratumTemplate.js.map +1 -1
  9. package/lib/creators/createStratumTemplate.test.js +52 -4
  10. package/lib/creators/createStratumTemplate.test.js.map +1 -1
  11. package/lib/mergers/mergeAddons.d.ts.map +1 -1
  12. package/lib/mergers/mergeAddons.js +2 -1
  13. package/lib/mergers/mergeAddons.js.map +1 -1
  14. package/lib/mergers/mergeAddons.test.js +15 -1
  15. package/lib/mergers/mergeAddons.test.js.map +1 -1
  16. package/lib/mergers/mergeBlockCreations.d.ts +1 -1
  17. package/lib/producers/applyBlockRefinements.test.js +15 -0
  18. package/lib/producers/applyBlockRefinements.test.js.map +1 -1
  19. package/lib/producers/produceBlock.test.js +16 -1
  20. package/lib/producers/produceBlock.test.js.map +1 -1
  21. package/lib/producers/producePreset.test.js +1 -0
  22. package/lib/producers/producePreset.test.js.map +1 -1
  23. package/lib/runners/runBlock.test.js +1 -0
  24. package/lib/runners/runBlock.test.js.map +1 -1
  25. package/lib/types/blocks.d.ts +5 -5
  26. package/lib/types/blocks.d.ts.map +1 -1
  27. package/lib/types/creations.d.ts +1 -1
  28. package/lib/types/creations.d.ts.map +1 -1
  29. package/lib/types/refinements.d.ts +1 -1
  30. package/lib/types/refinements.d.ts.map +1 -1
  31. package/lib/types/templates.d.ts +11 -4
  32. package/lib/types/templates.d.ts.map +1 -1
  33. package/lib/utils/createBlockAddons.d.ts +5 -0
  34. package/lib/utils/createBlockAddons.d.ts.map +1 -0
  35. package/lib/utils/createBlockAddons.js +10 -0
  36. package/lib/utils/createBlockAddons.js.map +1 -0
  37. package/package.json +9 -10
  38. package/lib/creators/inferPreset.d.ts +0 -4
  39. package/lib/creators/inferPreset.d.ts.map +0 -1
  40. package/lib/creators/inferPreset.js +0 -73
  41. package/lib/creators/inferPreset.js.map +0 -1
  42. package/lib/creators/inferPreset.test.d.ts +0 -2
  43. package/lib/creators/inferPreset.test.d.ts.map +0 -1
  44. package/lib/creators/inferPreset.test.js +0 -95
  45. package/lib/creators/inferPreset.test.js.map +0 -1
  46. package/lib/predicates/isBlock.d.ts +0 -3
  47. package/lib/predicates/isBlock.d.ts.map +0 -1
  48. package/lib/predicates/isBlock.js +0 -7
  49. package/lib/predicates/isBlock.js.map +0 -1
  50. package/lib/producers/applyBlockModifications.d.ts +0 -4
  51. package/lib/producers/applyBlockModifications.d.ts.map +0 -1
  52. package/lib/producers/applyBlockModifications.js +0 -14
  53. package/lib/producers/applyBlockModifications.js.map +0 -1
  54. package/lib/producers/applyBlockModifications.test.d.ts +0 -2
  55. package/lib/producers/applyBlockModifications.test.d.ts.map +0 -1
  56. package/lib/producers/applyBlockModifications.test.js +0 -42
  57. package/lib/producers/applyBlockModifications.test.js.map +0 -1
  58. package/lib/types/customizations..d.ts +0 -9
  59. package/lib/types/customizations..d.ts.map +0 -1
  60. package/lib/types/customizations..js +0 -2
  61. package/lib/types/customizations..js.map +0 -1
  62. package/lib/types/customizations.d.ts +0 -22
  63. package/lib/types/customizations.d.ts.map +0 -1
  64. package/lib/types/customizations.js +0 -2
  65. package/lib/types/customizations.js.map +0 -1
  66. package/lib/types/settings.d.ts +0 -9
  67. package/lib/types/settings.d.ts.map +0 -1
  68. package/lib/types/settings.js +0 -2
  69. package/lib/types/settings.js.map +0 -1
  70. package/lib/utils/createBlockExclusionOption.d.ts +0 -2
  71. package/lib/utils/createBlockExclusionOption.d.ts.map +0 -1
  72. package/lib/utils/createBlockExclusionOption.js +0 -5
  73. package/lib/utils/createBlockExclusionOption.js.map +0 -1
  74. package/lib/utils.ts/createBlockExclusionOption.d.ts +0 -2
  75. package/lib/utils.ts/createBlockExclusionOption.d.ts.map +0 -1
  76. package/lib/utils.ts/createBlockExclusionOption.js +0 -5
  77. package/lib/utils.ts/createBlockExclusionOption.js.map +0 -1
  78. package/lib/utils.ts/getPresetByName.d.ts +0 -4
  79. package/lib/utils.ts/getPresetByName.d.ts.map +0 -1
  80. package/lib/utils.ts/getPresetByName.js +0 -7
  81. package/lib/utils.ts/getPresetByName.js.map +0 -1
  82. package/lib/utils.ts/slugifyName.d.ts +0 -2
  83. package/lib/utils.ts/slugifyName.d.ts.map +0 -1
  84. package/lib/utils.ts/slugifyName.js +0 -6
  85. package/lib/utils.ts/slugifyName.js.map +0 -1
  86. package/lib/utils.ts/slugifyPresetName.d.ts +0 -2
  87. package/lib/utils.ts/slugifyPresetName.d.ts.map +0 -1
  88. package/lib/utils.ts/slugifyPresetName.js +0 -6
  89. package/lib/utils.ts/slugifyPresetName.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"runBlock.test.js","sourceRoot":"","sources":["../../src/runners/runBlock.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"runBlock.test.js","sourceRoot":"","sources":["../../src/runners/runBlock.test.ts"],"names":[],"mappings":"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"}
@@ -101,7 +101,7 @@ export interface BlockDefinitionWithAddons<AddonsShape extends AnyOptionalShape,
101
101
  * Generates the creations describing a portion of a repository.
102
102
  * @see {@link https://www.create.bingo/engines/stratum/apis/create-base#createblock-produce}
103
103
  */
104
- produce: BlockDefinitionProducerWithAddons<InferredObject<AddonsShape>, Options>;
104
+ produce?: BlockDefinitionProducerWithAddons<InferredObject<AddonsShape>, Options>;
105
105
  /**
106
106
  * Augments a Block creation with additional creations for setup mode.
107
107
  * @template Options Options values as described by the Base's options schema.
@@ -124,7 +124,7 @@ export interface BlockDefinitionWithoutAddons<Options extends object> extends Bl
124
124
  * Generates the creations describing a portion of a repository.
125
125
  * @see {@link https://www.create.bingo/engines/stratum/apis/create-base#createblock-produce}
126
126
  */
127
- produce: BlockDefinitionProducerWithoutAddons<Options>;
127
+ produce?: BlockDefinitionProducerWithoutAddons<Options>;
128
128
  /**
129
129
  * Augments a Block creation with additional creations for setup mode.
130
130
  * @template Options Options values as described by the Base's options schema.
@@ -175,19 +175,19 @@ export interface BlockWithAddons<Addons extends object, Options extends object>
175
175
  * Generates the creations describing a portion of a repository.
176
176
  * @see {@link https://www.create.bingo/engines/stratum/apis/create-base#createblock-produce}
177
177
  */
178
- produce: BlockProducerWithAddons<Addons, Options>;
178
+ produce(context: BlockContextWithOptionalAddons<Addons, Options>): Partial<BlockCreation<Options>>;
179
179
  /**
180
180
  * Augments a Block creation with additional creations for setup mode.
181
181
  * @template Options Options values as described by the Base's options schema.
182
182
  * @see {@link https://www.create.bingo/engines/stratum/apis/create-base#createblock-setup}
183
183
  */
184
- setup?: BlockAugmentWithAddons<Addons, Options>;
184
+ setup?(context: BlockContextWithAddons<Addons, Options>): Partial<BlockCreation<Options>>;
185
185
  /**
186
186
  * Augments a Block creation with additional creations for transition mode.
187
187
  * @template Options Options values as described by the Base's options schema.
188
188
  * @see {@link https://www.create.bingo/engines/stratum/apis/create-base#createblock-transition}
189
189
  */
190
- transition?: BlockAugmentWithAddons<Addons, Options>;
190
+ transition?(context: BlockContextWithAddons<Addons, Options>): Partial<BlockCreation<Options>>;
191
191
  /**
192
192
  * Creates a description of Addons to provide for the Block.
193
193
  */
@@ -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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"}
@@ -1,7 +1,7 @@
1
1
  import { Creation } from "bingo";
2
2
  import { BlockWithAddons } from "./blocks.js";
3
3
  export interface BlockCreation<Options extends object> extends Creation {
4
- addons: CreatedBlockAddons<any, Options>[];
4
+ addons: CreatedBlockAddons<object, Options>[];
5
5
  }
6
6
  /**
7
7
  * Describes Addons to provide to a Block before production.
@@ -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;;;;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"}
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;IACtE,MAAM,EAAE,kBAAkB,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAAC;CAC9C;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"}
@@ -18,7 +18,7 @@ export interface StratumRefinements<Options extends object = object> {
18
18
  /**
19
19
  * Any extra addon values to merge in and pass to blocks.
20
20
  */
21
- addons?: CreatedBlockAddons<any, Options>[];
21
+ addons?: CreatedBlockAddons<object, Options>[];
22
22
  /**
23
23
  * Blocks to add and/or exclude from production.
24
24
  */
@@ -1 +1 @@
1
- {"version":3,"file":"refinements.d.ts","sourceRoot":"","sources":["../../src/types/refinements.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AACpC,OAAO,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AAEpD;;;;GAIG;AACH,MAAM,WAAW,gBAAgB,CAAC,OAAO,SAAS,MAAM,GAAG,MAAM;IAChE,GAAG,CAAC,EAAE,KAAK,CAAC,MAAM,GAAG,SAAS,EAAE,OAAO,CAAC,EAAE,CAAC;IAC3C,OAAO,CAAC,EAAE,KAAK,CAAC,MAAM,GAAG,SAAS,EAAE,OAAO,CAAC,EAAE,CAAC;CAC/C;AAED;;;;GAIG;AACH,MAAM,WAAW,kBAAkB,CAAC,OAAO,SAAS,MAAM,GAAG,MAAM;IAClE;;OAEG;IAIH,MAAM,CAAC,EAAE,kBAAkB,CAAC,GAAG,EAAE,OAAO,CAAC,EAAE,CAAC;IAE5C;;OAEG;IACH,MAAM,CAAC,EAAE,gBAAgB,CAAC,OAAO,CAAC,CAAC;CACnC"}
1
+ {"version":3,"file":"refinements.d.ts","sourceRoot":"","sources":["../../src/types/refinements.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AACpC,OAAO,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AAEpD;;;;GAIG;AACH,MAAM,WAAW,gBAAgB,CAAC,OAAO,SAAS,MAAM,GAAG,MAAM;IAChE,GAAG,CAAC,EAAE,KAAK,CAAC,MAAM,GAAG,SAAS,EAAE,OAAO,CAAC,EAAE,CAAC;IAC3C,OAAO,CAAC,EAAE,KAAK,CAAC,MAAM,GAAG,SAAS,EAAE,OAAO,CAAC,EAAE,CAAC;CAC/C;AAED;;;;GAIG;AACH,MAAM,WAAW,kBAAkB,CAAC,OAAO,SAAS,MAAM,GAAG,MAAM;IAClE;;OAEG;IACH,MAAM,CAAC,EAAE,kBAAkB,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAAC;IAE/C;;OAEG;IACH,MAAM,CAAC,EAAE,gBAAgB,CAAC,OAAO,CAAC,CAAC;CACnC"}
@@ -9,7 +9,7 @@ import { StratumRefinements } from "./refinements.js";
9
9
  * @template OptionsShape Schemas of options the Base's Blocks takes in.
10
10
  * @see {@link https://www.create.bingo/engines/stratum/concepts/templates}
11
11
  */
12
- export interface StratumTemplate<OptionsShape extends AnyShape> extends Template<OptionsShape & StratumTemplateOptionsShape, StratumRefinements<InferredObject<OptionsShape>>> {
12
+ export interface StratumTemplate<OptionsShape extends AnyShape> extends Template<StratumTemplateOptionsShapeFor<OptionsShape>, StratumRefinements<InferredObject<OptionsShape>>> {
13
13
  /**
14
14
  * Base creating this Template, as well as its Blocks and Presets.
15
15
  * @see {@link https://www.create.bingo/engines/stratum/concepts/bases}
@@ -25,7 +25,7 @@ export interface StratumTemplate<OptionsShape extends AnyShape> extends Template
25
25
  * at least their --preset during transition mode.
26
26
  * @see {@link https://www.create.bingo/build/apis/create-template#prepare}
27
27
  */
28
- prepare: TemplatePrepare<InferredObject<OptionsShape>, StratumRefinements<InferredObject<OptionsShape>>>;
28
+ prepare: TemplatePrepare<InferredObject<StratumTemplateOptionsShapeFor<OptionsShape>>, StratumRefinements<InferredObject<OptionsShape>>>;
29
29
  /**
30
30
  * The Presets users can choose from with the Template, in order of how they should be listed.
31
31
  * @see {@link https://www.create.bingo/engines/stratum/apis/create-base#createtemplate-presets}
@@ -74,12 +74,19 @@ export interface StratumTemplateOptions {
74
74
  /**
75
75
  * The minimum options schemas all Stratum Templates share.
76
76
  */
77
- export interface StratumTemplateOptionsShape {
77
+ export type StratumTemplateOptionsShape = {
78
78
  /**
79
79
  * Union of Preset names available to choose from.
80
80
  */
81
81
  preset: z.ZodDefault<z.ZodUnion<ZodPresetNameLiterals>>;
82
- }
82
+ };
83
+ /**
84
+ * Schemas of all options a Stratum Template takes in: its Base's, plus Stratum's own.
85
+ * @template OptionsShape Schemas of options the Base's Blocks take in.
86
+ */
87
+ export type StratumTemplateOptionsShapeFor<OptionsShape extends AnyShape> = OptionsShape & {
88
+ [Key in keyof StratumTemplateOptionsShape]: StratumTemplateOptionsShape[Key];
89
+ };
83
90
  /**
84
91
  * Union of at least two literal Preset names available to choose from.
85
92
  */
@@ -1 +1 @@
1
- {"version":3,"file":"templates.d.ts","sourceRoot":"","sources":["../../src/types/templates.ts"],"names":[],"mappings":"AAAA,OAAO,EACN,QAAQ,EACR,cAAc,EACd,QAAQ,EACR,aAAa,EACb,eAAe,EACf,MAAM,OAAO,CAAC;AACf,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,IAAI,EAAE,MAAM,YAAY,CAAC;AAClC,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AACpC,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AACtC,OAAO,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAEtD;;;;GAIG;AACH,MAAM,WAAW,eAAe,CAC/B,YAAY,SAAS,QAAQ,CAC5B,SAAQ,QAAQ,CACjB,YAAY,GAAG,2BAA2B,EAC1C,kBAAkB,CAAC,cAAc,CAAC,YAAY,CAAC,CAAC,CAChD;IACA;;;OAGG;IACH,IAAI,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;IAEzB;;OAEG;IACH,MAAM,EAAE,KAAK,CAAC,MAAM,GAAG,SAAS,EAAE,cAAc,CAAC,YAAY,CAAC,CAAC,EAAE,CAAC;IAElE;;;;;OAKG;IACH,OAAO,EAAE,eAAe,CACvB,cAAc,CAAC,YAAY,CAAC,EAC5B,kBAAkB,CAAC,cAAc,CAAC,YAAY,CAAC,CAAC,CAChD,CAAC;IAEF;;;OAGG;IACH,OAAO,EAAE,MAAM,CAAC,YAAY,CAAC,EAAE,CAAC;CAChC;AAED;;;GAGG;AACH,MAAM,WAAW,yBAAyB,CAAC,YAAY,SAAS,QAAQ;IACvE;;;OAGG;IACH,KAAK,CAAC,EAAE,aAAa,CAAC;IAEtB;;OAEG;IACH,MAAM,CAAC,EAAE,KAAK,CAAC,MAAM,GAAG,SAAS,EAAE,cAAc,CAAC,YAAY,CAAC,CAAC,EAAE,CAAC;IAEnE;;;OAGG;IACH,OAAO,CAAC,EAAE,eAAe,CACxB,cAAc,CAAC,YAAY,CAAC,EAC5B,kBAAkB,CAAC,cAAc,CAAC,YAAY,CAAC,CAAC,CAChD,CAAC;IAEF;;;OAGG;IACH,OAAO,EAAE,MAAM,CAAC,YAAY,CAAC,EAAE,CAAC;IAEhC;;;OAGG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC,YAAY,CAAC,CAAC;CACjC;AAED;;GAEG;AACH,MAAM,WAAW,sBAAsB;IACtC;;OAEG;IACH,MAAM,EAAE,MAAM,CAAC;CACf;AAED;;GAEG;AACH,MAAM,WAAW,2BAA2B;IAC3C;;OAEG;IACH,MAAM,EAAE,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,QAAQ,CAAC,qBAAqB,CAAC,CAAC,CAAC;CACxD;AAED;;GAEG;AACH,MAAM,MAAM,qBAAqB,GAAG;IACnC,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC;IACpB,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC;IACpB,GAAG,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE;CACzB,CAAC"}
1
+ {"version":3,"file":"templates.d.ts","sourceRoot":"","sources":["../../src/types/templates.ts"],"names":[],"mappings":"AAAA,OAAO,EACN,QAAQ,EACR,cAAc,EACd,QAAQ,EACR,aAAa,EACb,eAAe,EACf,MAAM,OAAO,CAAC;AACf,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,IAAI,EAAE,MAAM,YAAY,CAAC;AAClC,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AACpC,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AACtC,OAAO,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAEtD;;;;GAIG;AACH,MAAM,WAAW,eAAe,CAC/B,YAAY,SAAS,QAAQ,CAC5B,SAAQ,QAAQ,CACjB,8BAA8B,CAAC,YAAY,CAAC,EAC5C,kBAAkB,CAAC,cAAc,CAAC,YAAY,CAAC,CAAC,CAChD;IACA;;;OAGG;IACH,IAAI,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;IAEzB;;OAEG;IACH,MAAM,EAAE,KAAK,CAAC,MAAM,GAAG,SAAS,EAAE,cAAc,CAAC,YAAY,CAAC,CAAC,EAAE,CAAC;IAElE;;;;;OAKG;IACH,OAAO,EAAE,eAAe,CACvB,cAAc,CAAC,8BAA8B,CAAC,YAAY,CAAC,CAAC,EAC5D,kBAAkB,CAAC,cAAc,CAAC,YAAY,CAAC,CAAC,CAChD,CAAC;IAEF;;;OAGG;IACH,OAAO,EAAE,MAAM,CAAC,YAAY,CAAC,EAAE,CAAC;CAChC;AAED;;;GAGG;AACH,MAAM,WAAW,yBAAyB,CAAC,YAAY,SAAS,QAAQ;IACvE;;;OAGG;IACH,KAAK,CAAC,EAAE,aAAa,CAAC;IAEtB;;OAEG;IACH,MAAM,CAAC,EAAE,KAAK,CAAC,MAAM,GAAG,SAAS,EAAE,cAAc,CAAC,YAAY,CAAC,CAAC,EAAE,CAAC;IAEnE;;;OAGG;IACH,OAAO,CAAC,EAAE,eAAe,CACxB,cAAc,CAAC,YAAY,CAAC,EAC5B,kBAAkB,CAAC,cAAc,CAAC,YAAY,CAAC,CAAC,CAChD,CAAC;IAEF;;;OAGG;IACH,OAAO,EAAE,MAAM,CAAC,YAAY,CAAC,EAAE,CAAC;IAEhC;;;OAGG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC,YAAY,CAAC,CAAC;CACjC;AAED;;GAEG;AACH,MAAM,WAAW,sBAAsB;IACtC;;OAEG;IACH,MAAM,EAAE,MAAM,CAAC;CACf;AAED;;GAEG;AAIH,MAAM,MAAM,2BAA2B,GAAG;IACzC;;OAEG;IACH,MAAM,EAAE,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,QAAQ,CAAC,qBAAqB,CAAC,CAAC,CAAC;CACxD,CAAC;AAEF;;;GAGG;AACH,MAAM,MAAM,8BAA8B,CAAC,YAAY,SAAS,QAAQ,IACvE,YAAY,GAAG;KACb,GAAG,IAAI,MAAM,2BAA2B,GAAG,2BAA2B,CAAC,GAAG,CAAC;CAC5E,CAAC;AAEH;;GAEG;AACH,MAAM,MAAM,qBAAqB,GAAG;IACnC,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC;IACpB,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC;IACpB,GAAG,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE;CACzB,CAAC"}
@@ -0,0 +1,5 @@
1
+ export declare function createBlockAddons<Addons extends object, Block>(addons: Addons, block: Block, name: string | undefined): {
2
+ addons: Addons;
3
+ block: Block;
4
+ };
5
+ //# sourceMappingURL=createBlockAddons.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"createBlockAddons.d.ts","sourceRoot":"","sources":["../../src/utils/createBlockAddons.ts"],"names":[],"mappings":"AAAA,wBAAgB,iBAAiB,CAAC,MAAM,SAAS,MAAM,EAAE,KAAK,EAC7D,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,KAAK,EACZ,IAAI,EAAE,MAAM,GAAG,SAAS;;;EAWxB"}
@@ -0,0 +1,10 @@
1
+ export function createBlockAddons(addons, block, name) {
2
+ const created = { addons, block };
3
+ if (name) {
4
+ Object.defineProperty(created, "toJSON", {
5
+ value: () => ({ addons, block: `[Block ${name}]` }),
6
+ });
7
+ }
8
+ return created;
9
+ }
10
+ //# sourceMappingURL=createBlockAddons.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"createBlockAddons.js","sourceRoot":"","sources":["../../src/utils/createBlockAddons.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,iBAAiB,CAChC,MAAc,EACd,KAAY,EACZ,IAAwB;IAExB,MAAM,OAAO,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC;IAElC,IAAI,IAAI,EAAE,CAAC;QACV,MAAM,CAAC,cAAc,CAAC,OAAO,EAAE,QAAQ,EAAE;YACxC,KAAK,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,UAAU,IAAI,GAAG,EAAE,CAAC;SACnD,CAAC,CAAC;IACJ,CAAC;IAED,OAAO,OAAO,CAAC;AAChB,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "bingo-stratum",
3
- "version": "0.5.13",
3
+ "version": "0.6.0",
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": {
@@ -21,7 +21,6 @@
21
21
  "dependencies": {
22
22
  "all-properties-lazy": "^0.1.0",
23
23
  "cached-factory": "^0.1.0",
24
- "chalk": "^5.6.2",
25
24
  "hash-object": "^5.0.1",
26
25
  "octokit": "^5.0.5",
27
26
  "slugify": "^1.6.6",
@@ -29,19 +28,19 @@
29
28
  },
30
29
  "devDependencies": {
31
30
  "@types/node": "24.10.1",
32
- "zod": "^3.24.2",
33
- "bingo": "^0.9.0",
34
- "bingo-systems": "^0.5.5",
35
- "bingo-fs": "^0.5.6"
31
+ "zod": "^4.4.3",
32
+ "bingo": "^0.11.0",
33
+ "bingo-fs": "^0.5.6",
34
+ "bingo-systems": "^0.6.0"
36
35
  },
37
36
  "peerDependencies": {
38
- "zod": "^3.24.2",
39
- "bingo": "^0.9.0",
37
+ "zod": "^4.4.3",
38
+ "bingo": "^0.11.0",
40
39
  "bingo-fs": "^0.5.6",
41
- "bingo-systems": "^0.5.5"
40
+ "bingo-systems": "^0.6.0"
42
41
  },
43
42
  "engines": {
44
- "node": ">=18"
43
+ "node": ">=20.18.0"
45
44
  },
46
45
  "scripts": {
47
46
  "build": "tsc"
@@ -1,4 +0,0 @@
1
- import { AnyShape, InferredObject, TemplatePrepareContext } from "bingo";
2
- import { Preset } from "../types/presets.js";
3
- export declare function inferPreset<OptionsShape extends AnyShape, Refinements>(context: Pick<TemplatePrepareContext<Partial<InferredObject<OptionsShape>>, Refinements>, "files" | "options">, presets: Preset<OptionsShape>[]): string | undefined;
4
- //# sourceMappingURL=inferPreset.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"inferPreset.d.ts","sourceRoot":"","sources":["../../src/creators/inferPreset.ts"],"names":[],"mappings":"AAAA,OAAO,EACN,QAAQ,EACR,cAAc,EAEd,sBAAsB,EACtB,MAAM,OAAO,CAAC;AASf,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAG7C,wBAAgB,WAAW,CAAC,YAAY,SAAS,QAAQ,EAAE,WAAW,EACrE,OAAO,EAAE,IAAI,CACZ,sBAAsB,CAAC,OAAO,CAAC,cAAc,CAAC,YAAY,CAAC,CAAC,EAAE,WAAW,CAAC,EAC1E,OAAO,GAAG,SAAS,CACnB,EACD,OAAO,EAAE,MAAM,CAAC,YAAY,CAAC,EAAE,sBAyC/B"}
@@ -1,73 +0,0 @@
1
- import { mergeCreations, } from "bingo";
2
- import { produceBlock, } from "../producers/produceBlock.js";
3
- import { slugifyName } from "../utils/slugifyName.js";
4
- export function inferPreset(context, presets) {
5
- const blockSettings = {
6
- ...context,
7
- // TODO: It would be better to run the base.prepare first to generate option defaults.
8
- // ...
9
- options: context.options,
10
- };
11
- let record;
12
- for (const preset of presets) {
13
- const allProduced = preset.blocks.map((block) => {
14
- try {
15
- return produceBlock(block, blockSettings);
16
- }
17
- catch {
18
- return {};
19
- }
20
- });
21
- const produced = allProduced.reduce(mergeCreations);
22
- const counted = countMatchedFilePaths(context.files, produced.files);
23
- const percentage = counted.matched / counted.created;
24
- if (record) {
25
- if (percentage > record.percentage) {
26
- record = { percentage, preset };
27
- }
28
- }
29
- else {
30
- record = { percentage, preset };
31
- }
32
- }
33
- return (
34
- // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
35
- record.percentage >= 0.35
36
- ? // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
37
- slugifyName(record.preset.about.name)
38
- : undefined);
39
- }
40
- function countMatchedFilePaths(created, produced) {
41
- const found = {
42
- created: 0,
43
- matched: 0,
44
- };
45
- const queue = [
46
- [created, produced],
47
- ];
48
- while (queue.length) {
49
- // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
50
- const [currentCreated, currentProduced] = queue.pop();
51
- if (isCreatedFile(currentCreated)) {
52
- found.created += 1;
53
- if (isCreatedFile(currentProduced)) {
54
- found.matched += 1;
55
- }
56
- continue;
57
- }
58
- if (isCreatedDirectory(currentCreated) &&
59
- isCreatedDirectory(currentProduced)) {
60
- for (const key of Object.keys(currentCreated)) {
61
- queue.push([currentCreated[key], currentProduced[key]]);
62
- }
63
- }
64
- }
65
- return found;
66
- }
67
- function isCreatedDirectory(entry) {
68
- return !!entry && typeof entry === "object" && !Array.isArray(entry);
69
- }
70
- function isCreatedFile(entry) {
71
- return typeof entry === "string" || Array.isArray(entry);
72
- }
73
- //# sourceMappingURL=inferPreset.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"inferPreset.js","sourceRoot":"","sources":["../../src/creators/inferPreset.ts"],"names":[],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=inferPreset.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"inferPreset.test.d.ts","sourceRoot":"","sources":["../../src/creators/inferPreset.test.ts"],"names":[],"mappings":""}
@@ -1,95 +0,0 @@
1
- import { describe, expect, it } from "vitest";
2
- import { z } from "zod";
3
- import { createBase } from "./createBase.js";
4
- import { inferPreset } from "./inferPreset.js";
5
- const base = createBase({
6
- options: { name: z.string() },
7
- });
8
- const files = {
9
- a: "...",
10
- b: "...",
11
- c: "...",
12
- d: "...",
13
- e: "...",
14
- };
15
- const presetErrors = base.createPreset({
16
- about: { name: "Errors" },
17
- blocks: [
18
- base.createBlock({
19
- produce() {
20
- throw new Error("Oh no!");
21
- },
22
- }),
23
- ],
24
- });
25
- const presetLowPercentageA = base.createPreset({
26
- about: { name: "Low Percentage A" },
27
- blocks: [
28
- base.createBlock({
29
- produce() {
30
- return {
31
- files: {
32
- a: "...",
33
- },
34
- };
35
- },
36
- }),
37
- ],
38
- });
39
- const presetLowPercentageB = base.createPreset({
40
- about: { name: "Low Percentage B" },
41
- blocks: [
42
- base.createBlock({
43
- produce() {
44
- return {
45
- files: {
46
- b: "...",
47
- },
48
- };
49
- },
50
- }),
51
- ],
52
- });
53
- const presetHighPercentage = base.createPreset({
54
- about: { name: "High Percentage" },
55
- blocks: [
56
- base.createBlock({
57
- produce() {
58
- return {
59
- files: {
60
- a: "...",
61
- b: "...",
62
- },
63
- };
64
- },
65
- }),
66
- ],
67
- });
68
- const context = {
69
- files,
70
- options: {
71
- name: "...",
72
- },
73
- };
74
- describe("inferPreset", () => {
75
- it("returns undefined without erroring when a block throws an error", () => {
76
- const actual = inferPreset(context, [presetErrors]);
77
- expect(actual).toBe(undefined);
78
- });
79
- it("returns undefined when no preset has a 35% match", () => {
80
- const actual = inferPreset(context, [
81
- presetLowPercentageA,
82
- presetLowPercentageB,
83
- ]);
84
- expect(actual).toBe(undefined);
85
- });
86
- it("returns the matching preset when a preset has a 35% match", () => {
87
- const actual = inferPreset(context, [
88
- presetLowPercentageA,
89
- presetLowPercentageB,
90
- presetHighPercentage,
91
- ]);
92
- expect(actual).toBe("high-percentage");
93
- });
94
- });
95
- //# sourceMappingURL=inferPreset.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"inferPreset.test.js","sourceRoot":"","sources":["../../src/creators/inferPreset.test.ts"],"names":[],"mappings":"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"}
@@ -1,3 +0,0 @@
1
- import { Block } from "../types/blocks.js";
2
- export declare function isBlock(value: unknown): value is Block;
3
- //# sourceMappingURL=isBlock.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"isBlock.d.ts","sourceRoot":"","sources":["../../src/predicates/isBlock.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAE3C,wBAAgB,OAAO,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,KAAK,CAOtD"}
@@ -1,7 +0,0 @@
1
- export function isBlock(value) {
2
- return (!!value &&
3
- typeof value === "object" &&
4
- "produce" in value &&
5
- typeof value.produce === "function");
6
- }
7
- //# sourceMappingURL=isBlock.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"isBlock.js","sourceRoot":"","sources":["../../src/predicates/isBlock.ts"],"names":[],"mappings":"AAEA,MAAM,UAAU,OAAO,CAAC,KAAc;IACrC,OAAO,CACN,CAAC,CAAC,KAAK;QACP,OAAO,KAAK,KAAK,QAAQ;QACzB,SAAS,IAAI,KAAK;QAClB,OAAO,KAAK,CAAC,OAAO,KAAK,UAAU,CACnC,CAAC;AACH,CAAC"}
@@ -1,4 +0,0 @@
1
- import { Block } from "../types/blocks.js";
2
- import { BlockRefinements } from "../types/refinements.js";
3
- export declare function applyBlockModifications<Options extends object>(initial: Block<object | undefined, Options>[], { add, exclude }?: BlockRefinements<Options>): Block<object | undefined, Options>[];
4
- //# sourceMappingURL=applyBlockModifications.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"applyBlockModifications.d.ts","sourceRoot":"","sources":["../../src/producers/applyBlockModifications.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAC3C,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAE3D,wBAAgB,uBAAuB,CAAC,OAAO,SAAS,MAAM,EAC7D,OAAO,EAAE,KAAK,CAAC,MAAM,GAAG,SAAS,EAAE,OAAO,CAAC,EAAE,EAC7C,EAAE,GAAQ,EAAE,OAAY,EAAE,GAAE,gBAAgB,CAAC,OAAO,CAAM,wCAiB1D"}
@@ -1,14 +0,0 @@
1
- export function applyBlockModifications(initial, { add = [], exclude = [] } = {}) {
2
- if (!add.length && !exclude.length) {
3
- return initial;
4
- }
5
- const blocks = new Set(initial);
6
- for (const added of add) {
7
- blocks.add(added);
8
- }
9
- for (const excluded of exclude) {
10
- blocks.delete(excluded);
11
- }
12
- return Array.from(blocks);
13
- }
14
- //# sourceMappingURL=applyBlockModifications.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"applyBlockModifications.js","sourceRoot":"","sources":["../../src/producers/applyBlockModifications.ts"],"names":[],"mappings":"AAGA,MAAM,UAAU,uBAAuB,CACtC,OAA6C,EAC7C,EAAE,GAAG,GAAG,EAAE,EAAE,OAAO,GAAG,EAAE,KAAgC,EAAE;IAE1D,IAAI,CAAC,GAAG,CAAC,MAAM,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;QACpC,OAAO,OAAO,CAAC;IAChB,CAAC;IAED,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,CAAC;IAEhC,KAAK,MAAM,KAAK,IAAI,GAAG,EAAE,CAAC;QACzB,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;IACnB,CAAC;IAED,KAAK,MAAM,QAAQ,IAAI,OAAO,EAAE,CAAC;QAChC,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IACzB,CAAC;IAED,OAAO,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;AAC3B,CAAC"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=applyBlockModifications.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"applyBlockModifications.test.d.ts","sourceRoot":"","sources":["../../src/producers/applyBlockModifications.test.ts"],"names":[],"mappings":""}
@@ -1,42 +0,0 @@
1
- import { describe, expect, it, vi } from "vitest";
2
- import { z } from "zod";
3
- import { createBase } from "../creators/createBase.js";
4
- import { applyBlockModifications } from "./applyBlockModifications.js";
5
- const base = createBase({
6
- options: {
7
- value: z.string(),
8
- },
9
- });
10
- const blockA = base.createBlock({
11
- about: { name: "A" },
12
- produce: vi.fn(),
13
- });
14
- const blockB = base.createBlock({
15
- about: { name: "B" },
16
- produce: vi.fn(),
17
- });
18
- const blockC = base.createBlock({
19
- about: { name: "C" },
20
- produce: vi.fn(),
21
- });
22
- describe("applyBlockModifications", () => {
23
- it("returns the initial blocks when no modifications are provided", () => {
24
- const initial = [blockA, blockB];
25
- const actual = applyBlockModifications(initial);
26
- expect(actual).toBe(initial);
27
- });
28
- it("returns the initial blocks when modifications are empty", () => {
29
- const initial = [blockA, blockB];
30
- const actual = applyBlockModifications(initial, { add: [], exclude: [] });
31
- expect(actual).toBe(initial);
32
- });
33
- it("applies modifications when they exist", () => {
34
- const initial = [blockA, blockB];
35
- const actual = applyBlockModifications(initial, {
36
- add: [blockC],
37
- exclude: [blockB],
38
- });
39
- expect(actual).toEqual([blockA, blockC]);
40
- });
41
- });
42
- //# sourceMappingURL=applyBlockModifications.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"applyBlockModifications.test.js","sourceRoot":"","sources":["../../src/producers/applyBlockModifications.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAC;AAClD,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AACvD,OAAO,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAC;AAEvE,MAAM,IAAI,GAAG,UAAU,CAAC;IACvB,OAAO,EAAE;QACR,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE;KACjB;CACD,CAAC,CAAC;AAEH,MAAM,MAAM,GAAG,IAAI,CAAC,WAAW,CAAC;IAC/B,KAAK,EAAE,EAAE,IAAI,EAAE,GAAG,EAAE;IACpB,OAAO,EAAE,EAAE,CAAC,EAAE,EAAE;CAChB,CAAC,CAAC;AAEH,MAAM,MAAM,GAAG,IAAI,CAAC,WAAW,CAAC;IAC/B,KAAK,EAAE,EAAE,IAAI,EAAE,GAAG,EAAE;IACpB,OAAO,EAAE,EAAE,CAAC,EAAE,EAAE;CAChB,CAAC,CAAC;AAEH,MAAM,MAAM,GAAG,IAAI,CAAC,WAAW,CAAC;IAC/B,KAAK,EAAE,EAAE,IAAI,EAAE,GAAG,EAAE;IACpB,OAAO,EAAE,EAAE,CAAC,EAAE,EAAE;CAChB,CAAC,CAAC;AAEH,QAAQ,CAAC,yBAAyB,EAAE,GAAG,EAAE;IACxC,EAAE,CAAC,+DAA+D,EAAE,GAAG,EAAE;QACxE,MAAM,OAAO,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAEjC,MAAM,MAAM,GAAG,uBAAuB,CAAC,OAAO,CAAC,CAAC;QAEhD,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAC9B,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,yDAAyD,EAAE,GAAG,EAAE;QAClE,MAAM,OAAO,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAEjC,MAAM,MAAM,GAAG,uBAAuB,CAAC,OAAO,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC,CAAC;QAE1E,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAC9B,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,uCAAuC,EAAE,GAAG,EAAE;QAChD,MAAM,OAAO,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAEjC,MAAM,MAAM,GAAG,uBAAuB,CAAC,OAAO,EAAE;YAC/C,GAAG,EAAE,CAAC,MAAM,CAAC;YACb,OAAO,EAAE,CAAC,MAAM,CAAC;SACjB,CAAC,CAAC;QAEH,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;IAC1C,CAAC,CAAC,CAAC;AACJ,CAAC,CAAC,CAAC"}
@@ -1,9 +0,0 @@
1
- import { Block } from "../types/blocks.js";
2
- export interface BlockModifications<Options extends object = object> {
3
- add?: Block<object | undefined, Options>[];
4
- exclude?: Block<object | undefined, Options>[];
5
- }
6
- export interface StratumCustomizations<Options extends object = object> {
7
- blocks?: BlockModifications<Options>;
8
- }
9
- //# sourceMappingURL=customizations..d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"customizations..d.ts","sourceRoot":"","sources":["../../src/types/customizations..ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAE3C,MAAM,WAAW,kBAAkB,CAAC,OAAO,SAAS,MAAM,GAAG,MAAM;IAClE,GAAG,CAAC,EAAE,KAAK,CAAC,MAAM,GAAG,SAAS,EAAE,OAAO,CAAC,EAAE,CAAC;IAC3C,OAAO,CAAC,EAAE,KAAK,CAAC,MAAM,GAAG,SAAS,EAAE,OAAO,CAAC,EAAE,CAAC;CAC/C;AAED,MAAM,WAAW,qBAAqB,CAAC,OAAO,SAAS,MAAM,GAAG,MAAM;IACrE,MAAM,CAAC,EAAE,kBAAkB,CAAC,OAAO,CAAC,CAAC;CACrC"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=customizations..js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"customizations..js","sourceRoot":"","sources":["../../src/types/customizations..ts"],"names":[],"mappings":""}
@@ -1,22 +0,0 @@
1
- import { Block } from "./blocks.js";
2
- /**
3
- * Blocks to add and/or exclude from production.
4
- * @template Options Options values as described by the template's options schema.
5
- * @see {@link https://www.create.bingo/engines/stratum/details/configurations#blocks}
6
- */
7
- export interface BlockRefinements<Options extends object = object> {
8
- add?: Block<object | undefined, Options>[];
9
- exclude?: Block<object | undefined, Options>[];
10
- }
11
- /**
12
- * Customizations that all Stratum templates may apply in a config file.
13
- * @template Options Options values as described by the template's options schema.
14
- * @see {@link https://www.create.bingo/engines/stratum/details/configurations#settings}
15
- */
16
- export interface StratumRefinements<Options extends object = object> {
17
- /**
18
- * Blocks to add and/or exclude from production.
19
- */
20
- blocks?: BlockRefinements<Options>;
21
- }
22
- //# sourceMappingURL=customizations.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"customizations.d.ts","sourceRoot":"","sources":["../../src/types/customizations.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAEpC;;;;GAIG;AACH,MAAM,WAAW,gBAAgB,CAAC,OAAO,SAAS,MAAM,GAAG,MAAM;IAChE,GAAG,CAAC,EAAE,KAAK,CAAC,MAAM,GAAG,SAAS,EAAE,OAAO,CAAC,EAAE,CAAC;IAC3C,OAAO,CAAC,EAAE,KAAK,CAAC,MAAM,GAAG,SAAS,EAAE,OAAO,CAAC,EAAE,CAAC;CAC/C;AAED;;;;GAIG;AACH,MAAM,WAAW,kBAAkB,CAAC,OAAO,SAAS,MAAM,GAAG,MAAM;IAClE;;OAEG;IACH,MAAM,CAAC,EAAE,gBAAgB,CAAC,OAAO,CAAC,CAAC;CACnC"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=customizations.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"customizations.js","sourceRoot":"","sources":["../../src/types/customizations.ts"],"names":[],"mappings":""}
@@ -1,9 +0,0 @@
1
- import { Block } from "../types/blocks.js";
2
- export interface BlockModifications<Options extends object = object> {
3
- add?: Block<object | undefined, Options>[];
4
- exclude?: Block<object | undefined, Options>[];
5
- }
6
- export interface StratumCustomizations<Options extends object = object> {
7
- blocks?: BlockModifications<Options>;
8
- }
9
- //# sourceMappingURL=settings.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"settings.d.ts","sourceRoot":"","sources":["../../src/types/settings.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAE3C,MAAM,WAAW,kBAAkB,CAAC,OAAO,SAAS,MAAM,GAAG,MAAM;IAClE,GAAG,CAAC,EAAE,KAAK,CAAC,MAAM,GAAG,SAAS,EAAE,OAAO,CAAC,EAAE,CAAC;IAC3C,OAAO,CAAC,EAAE,KAAK,CAAC,MAAM,GAAG,SAAS,EAAE,OAAO,CAAC,EAAE,CAAC;CAC/C;AAED,MAAM,WAAW,qBAAqB,CAAC,OAAO,SAAS,MAAM,GAAG,MAAM;IACrE,MAAM,CAAC,EAAE,kBAAkB,CAAC,OAAO,CAAC,CAAC;CACrC"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=settings.js.map