bingo-stratum 0.4.0 → 0.4.1

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 (36) hide show
  1. package/lib/creators/createBase.d.ts.map +1 -1
  2. package/lib/creators/createBase.js +1 -0
  3. package/lib/creators/createBase.js.map +1 -1
  4. package/lib/types/bases.d.ts +3 -8
  5. package/lib/types/bases.d.ts.map +1 -1
  6. package/lib/types/templates.d.ts +1 -0
  7. package/lib/types/templates.d.ts.map +1 -1
  8. package/package.json +6 -6
  9. package/lib/creators/assertNoDuplicateBlocks copy.d.ts +0 -3
  10. package/lib/creators/assertNoDuplicateBlocks copy.d.ts.map +0 -1
  11. package/lib/creators/assertNoDuplicateBlocks copy.js +0 -13
  12. package/lib/creators/assertNoDuplicateBlocks copy.js.map +0 -1
  13. package/lib/creators/createBase.e2e.test.d.ts +0 -125
  14. package/lib/creators/createBase.e2e.test.d.ts.map +0 -1
  15. package/lib/creators/createBase.e2e.test.js +0 -213
  16. package/lib/creators/createBase.e2e.test.js.map +0 -1
  17. package/lib/creators/getDefinitionName.d.ts +0 -5
  18. package/lib/creators/getDefinitionName.d.ts.map +0 -1
  19. package/lib/creators/getDefinitionName.js +0 -4
  20. package/lib/creators/getDefinitionName.js.map +0 -1
  21. package/lib/creators/getName.d.ts +0 -5
  22. package/lib/creators/getName.d.ts.map +0 -1
  23. package/lib/creators/getName.js +0 -4
  24. package/lib/creators/getName.js.map +0 -1
  25. package/lib/producers/produceBase.d.ts +0 -10
  26. package/lib/producers/produceBase.d.ts.map +0 -1
  27. package/lib/producers/produceBase.js +0 -15
  28. package/lib/producers/produceBase.js.map +0 -1
  29. package/lib/producers/produceBase.test.d.ts +0 -2
  30. package/lib/producers/produceBase.test.d.ts.map +0 -1
  31. package/lib/producers/produceBase.test.js +0 -77
  32. package/lib/producers/produceBase.test.js.map +0 -1
  33. package/lib/producers/produceStratumTemplateFull.d.ts +0 -21
  34. package/lib/producers/produceStratumTemplateFull.d.ts.map +0 -1
  35. package/lib/producers/produceStratumTemplateFull.js +0 -28
  36. package/lib/producers/produceStratumTemplateFull.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"createBase.d.ts","sourceRoot":"","sources":["../../src/creators/createBase.ts"],"names":[],"mappings":"AAAA,OAAO,EAAoB,QAAQ,EAAkB,MAAM,OAAO,CAAC;AAInE,OAAO,EAAE,IAAI,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAiBzD,wBAAgB,UAAU,CAAC,YAAY,SAAS,QAAQ,EACvD,cAAc,EAAE,cAAc,CAAC,YAAY,CAAC,GAC1C,IAAI,CAAC,YAAY,CAAC,CAgFpB"}
1
+ {"version":3,"file":"createBase.d.ts","sourceRoot":"","sources":["../../src/creators/createBase.ts"],"names":[],"mappings":"AAAA,OAAO,EAAoB,QAAQ,EAAkB,MAAM,OAAO,CAAC;AAInE,OAAO,EAAE,IAAI,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAiBzD,wBAAgB,UAAU,CAAC,YAAY,SAAS,QAAQ,EACvD,cAAc,EAAE,cAAc,CAAC,YAAY,CAAC,GAC1C,IAAI,CAAC,YAAY,CAAC,CAiFpB"}
@@ -40,6 +40,7 @@ export function createBase(baseDefinition) {
40
40
  ...base.options,
41
41
  preset: z.string(),
42
42
  },
43
+ prepare: base.prepare,
43
44
  produce(context) {
44
45
  return produceStratumTemplate(template, context);
45
46
  },
@@ -1 +1 @@
1
- {"version":3,"file":"createBase.js","sourceRoot":"","sources":["../../src/creators/createBase.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,sBAAsB,EAAE,MAAM,wCAAwC,CAAC;AAchF,OAAO,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAC;AACvE,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AACjE,OAAO,EAAE,gBAAgB,EAAE,sBAAsB,EAAE,MAAM,YAAY,CAAC;AAEtE,MAAM,UAAU,UAAU,CACzB,cAA4C;IAI5C,oBAAoB,CAAC,cAAc,CAAC,CAAC;IAQrC,SAAS,WAAW,CACnB,eAEwC;QAExC,sDAAsD;QACtD,IAAI,CAAC,sBAAsB,CAAC,eAAe,CAAC,EAAE,CAAC;YAC9C,OAAO,eAAe,CAAC;QACxB,CAAC;QAED,MAAM,YAAY,GAAG,eAAe,CAAC,MAAM,CAAC;QAI5C,4DAA4D;QAC5D,SAAS,KAAK,CAAC,MAAc;YAC5B,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC;QAC1B,CAAC;QAED,0DAA0D;QAC1D,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,eAAe,CAAC,CAAC;QAEtC,KAAK,CAAC,OAAO,GAAG,CAAC,OAAgD,EAAE,EAAE;YACpE,OAAO,eAAe,CAAC,OAAO,CAAC;gBAC9B,GAAG,OAAO;gBACV,MAAM,EAAE,gBAAgB,CAAC,YAAY,EAAE,OAAO,CAAC,MAAM,CAAC;aACtD,CAAC,CAAC;QACJ,CAAC,CAAC;QAEF,OAAO,KAAyC,CAAC;IAClD,CAAC;IAED,SAAS,YAAY,CACpB,gBAA2C;QAE3C,uBAAuB,CAAC,gBAAgB,CAAC,CAAC;QAE1C,OAAO;YACN,GAAG,gBAAgB;YACnB,IAAI;SACJ,CAAC;IACH,CAAC;IAED,SAAS,qBAAqB,CAC7B,kBAA2D;QAE3D,MAAM,QAAQ,GAAkC;YAC/C,GAAG,kBAAkB;YACrB,IAAI;YACJ,OAAO,EAAE;gBACR,GAAG,IAAI,CAAC,OAAO;gBACf,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE;aAClB;YACD,OAAO,CAAC,OAAO;gBACd,OAAO,sBAAsB,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;YAClD,CAAC;SACD,CAAC;QAEF,OAAO,QAAQ,CAAC;IACjB,CAAC;IAED,MAAM,IAAI,GAAuB;QAChC,GAAG,cAAc;QACjB,WAAW;QACX,YAAY;QACZ,qBAAqB;KACrB,CAAC;IAEF,OAAO,IAAI,CAAC;AACb,CAAC"}
1
+ {"version":3,"file":"createBase.js","sourceRoot":"","sources":["../../src/creators/createBase.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,sBAAsB,EAAE,MAAM,wCAAwC,CAAC;AAchF,OAAO,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAC;AACvE,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AACjE,OAAO,EAAE,gBAAgB,EAAE,sBAAsB,EAAE,MAAM,YAAY,CAAC;AAEtE,MAAM,UAAU,UAAU,CACzB,cAA4C;IAI5C,oBAAoB,CAAC,cAAc,CAAC,CAAC;IAQrC,SAAS,WAAW,CACnB,eAEwC;QAExC,sDAAsD;QACtD,IAAI,CAAC,sBAAsB,CAAC,eAAe,CAAC,EAAE,CAAC;YAC9C,OAAO,eAAe,CAAC;QACxB,CAAC;QAED,MAAM,YAAY,GAAG,eAAe,CAAC,MAAM,CAAC;QAI5C,4DAA4D;QAC5D,SAAS,KAAK,CAAC,MAAc;YAC5B,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC;QAC1B,CAAC;QAED,0DAA0D;QAC1D,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,eAAe,CAAC,CAAC;QAEtC,KAAK,CAAC,OAAO,GAAG,CAAC,OAAgD,EAAE,EAAE;YACpE,OAAO,eAAe,CAAC,OAAO,CAAC;gBAC9B,GAAG,OAAO;gBACV,MAAM,EAAE,gBAAgB,CAAC,YAAY,EAAE,OAAO,CAAC,MAAM,CAAC;aACtD,CAAC,CAAC;QACJ,CAAC,CAAC;QAEF,OAAO,KAAyC,CAAC;IAClD,CAAC;IAED,SAAS,YAAY,CACpB,gBAA2C;QAE3C,uBAAuB,CAAC,gBAAgB,CAAC,CAAC;QAE1C,OAAO;YACN,GAAG,gBAAgB;YACnB,IAAI;SACJ,CAAC;IACH,CAAC;IAED,SAAS,qBAAqB,CAC7B,kBAA2D;QAE3D,MAAM,QAAQ,GAAkC;YAC/C,GAAG,kBAAkB;YACrB,IAAI;YACJ,OAAO,EAAE;gBACR,GAAG,IAAI,CAAC,OAAO;gBACf,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE;aAClB;YACD,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,OAAO,CAAC,OAAO;gBACd,OAAO,sBAAsB,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;YAClD,CAAC;SACD,CAAC;QAEF,OAAO,QAAQ,CAAC;IACjB,CAAC;IAED,MAAM,IAAI,GAAuB;QAChC,GAAG,cAAc;QACjB,WAAW;QACX,YAAY;QACZ,qBAAqB;KACrB,CAAC;IAEF,OAAO,IAAI,CAAC;AACb,CAAC"}
@@ -1,4 +1,4 @@
1
- import { AnyOptionalShape, AnyShape, InferredObject, LazyOptionalOptions, TakeInput } from "bingo";
1
+ import { AnyOptionalShape, AnyShape, InferredObject, TemplatePrepare } from "bingo";
2
2
  import { BlockDefinitionWithAddons, BlockDefinitionWithoutAddons, BlockWithAddons, BlockWithoutAddons } from "./blocks.js";
3
3
  import { Preset, PresetDefinition } from "./presets.js";
4
4
  import { StratumTemplate, StratumTemplateDefinition } from "./templates.js";
@@ -7,20 +7,15 @@ export interface Base<OptionsShape extends AnyShape = AnyShape> {
7
7
  createPreset: CreatePreset<OptionsShape>;
8
8
  createStratumTemplate: CreateStratumTemplate<OptionsShape>;
9
9
  options: OptionsShape;
10
- prepare?: BasePreparer<InferredObject<OptionsShape>>;
11
- }
12
- export interface BaseContext<Options> {
13
- options: Options;
14
- take: TakeInput;
10
+ prepare?: TemplatePrepare<InferredObject<OptionsShape>>;
15
11
  }
16
12
  export interface BaseDefinition<OptionsShape extends AnyShape = AnyShape> {
17
13
  options: OptionsShape;
18
- prepare?: BasePreparer<InferredObject<OptionsShape>>;
14
+ prepare?: TemplatePrepare<InferredObject<OptionsShape>>;
19
15
  }
20
16
  export type BaseOptionsFor<TypeOfBase> = TypeOfBase extends {
21
17
  options: infer OptionsShape extends AnyShape;
22
18
  } ? InferredObject<OptionsShape> : never;
23
- export type BasePreparer<Options> = (context: BaseContext<Partial<Options>>) => LazyOptionalOptions<Partial<Options>>;
24
19
  export interface CreateBlock<Options extends object> {
25
20
  <AddonsShape extends AnyOptionalShape>(blockDefinition: BlockDefinitionWithAddons<AddonsShape, Options>): BlockWithAddons<InferredObject<AddonsShape>, Options>;
26
21
  (blockDefinition: BlockDefinitionWithoutAddons<Options>): BlockWithoutAddons<Options>;
@@ -1 +1 @@
1
- {"version":3,"file":"bases.d.ts","sourceRoot":"","sources":["../../src/types/bases.ts"],"names":[],"mappings":"AAAA,OAAO,EACN,gBAAgB,EAChB,QAAQ,EACR,cAAc,EACd,mBAAmB,EACnB,SAAS,EACT,MAAM,OAAO,CAAC;AAEf,OAAO,EACN,yBAAyB,EACzB,4BAA4B,EAC5B,eAAe,EACf,kBAAkB,EAClB,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,MAAM,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AACxD,OAAO,EAAE,eAAe,EAAE,yBAAyB,EAAE,MAAM,gBAAgB,CAAC;AAE5E,MAAM,WAAW,IAAI,CAAC,YAAY,SAAS,QAAQ,GAAG,QAAQ;IAC7D,WAAW,EAAE,WAAW,CAAC,cAAc,CAAC,YAAY,CAAC,CAAC,CAAC;IACvD,YAAY,EAAE,YAAY,CAAC,YAAY,CAAC,CAAC;IACzC,qBAAqB,EAAE,qBAAqB,CAAC,YAAY,CAAC,CAAC;IAC3D,OAAO,EAAE,YAAY,CAAC;IACtB,OAAO,CAAC,EAAE,YAAY,CAAC,cAAc,CAAC,YAAY,CAAC,CAAC,CAAC;CACrD;AAED,MAAM,WAAW,WAAW,CAAC,OAAO;IACnC,OAAO,EAAE,OAAO,CAAC;IACjB,IAAI,EAAE,SAAS,CAAC;CAChB;AAED,MAAM,WAAW,cAAc,CAAC,YAAY,SAAS,QAAQ,GAAG,QAAQ;IACvE,OAAO,EAAE,YAAY,CAAC;IACtB,OAAO,CAAC,EAAE,YAAY,CAAC,cAAc,CAAC,YAAY,CAAC,CAAC,CAAC;CACrD;AAED,MAAM,MAAM,cAAc,CAAC,UAAU,IAAI,UAAU,SAAS;IAC3D,OAAO,EAAE,MAAM,YAAY,SAAS,QAAQ,CAAC;CAC7C,GACE,cAAc,CAAC,YAAY,CAAC,GAC5B,KAAK,CAAC;AAET,MAAM,MAAM,YAAY,CAAC,OAAO,IAAI,CACnC,OAAO,EAAE,WAAW,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,KAClC,mBAAmB,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC;AAE3C,MAAM,WAAW,WAAW,CAAC,OAAO,SAAS,MAAM;IAClD,CAAC,WAAW,SAAS,gBAAgB,EACpC,eAAe,EAAE,yBAAyB,CAAC,WAAW,EAAE,OAAO,CAAC,GAC9D,eAAe,CAAC,cAAc,CAAC,WAAW,CAAC,EAAE,OAAO,CAAC,CAAC;IAEzD,CACC,eAAe,EAAE,4BAA4B,CAAC,OAAO,CAAC,GACpD,kBAAkB,CAAC,OAAO,CAAC,CAAC;CAC/B;AAED,MAAM,MAAM,YAAY,CAAC,YAAY,SAAS,QAAQ,IAAI,CACzD,gBAAgB,EAAE,gBAAgB,CAAC,cAAc,CAAC,YAAY,CAAC,CAAC,KAC5D,MAAM,CAAC,YAAY,CAAC,CAAC;AAE1B,MAAM,MAAM,qBAAqB,CAAC,YAAY,SAAS,QAAQ,IAAI,CAClE,kBAAkB,EAAE,yBAAyB,CAAC,YAAY,CAAC,KACvD,eAAe,CAAC,YAAY,CAAC,CAAC"}
1
+ {"version":3,"file":"bases.d.ts","sourceRoot":"","sources":["../../src/types/bases.ts"],"names":[],"mappings":"AAAA,OAAO,EACN,gBAAgB,EAChB,QAAQ,EACR,cAAc,EACd,eAAe,EACf,MAAM,OAAO,CAAC;AAEf,OAAO,EACN,yBAAyB,EACzB,4BAA4B,EAC5B,eAAe,EACf,kBAAkB,EAClB,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,MAAM,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AACxD,OAAO,EAAE,eAAe,EAAE,yBAAyB,EAAE,MAAM,gBAAgB,CAAC;AAE5E,MAAM,WAAW,IAAI,CAAC,YAAY,SAAS,QAAQ,GAAG,QAAQ;IAC7D,WAAW,EAAE,WAAW,CAAC,cAAc,CAAC,YAAY,CAAC,CAAC,CAAC;IACvD,YAAY,EAAE,YAAY,CAAC,YAAY,CAAC,CAAC;IACzC,qBAAqB,EAAE,qBAAqB,CAAC,YAAY,CAAC,CAAC;IAC3D,OAAO,EAAE,YAAY,CAAC;IACtB,OAAO,CAAC,EAAE,eAAe,CAAC,cAAc,CAAC,YAAY,CAAC,CAAC,CAAC;CACxD;AAED,MAAM,WAAW,cAAc,CAAC,YAAY,SAAS,QAAQ,GAAG,QAAQ;IACvE,OAAO,EAAE,YAAY,CAAC;IACtB,OAAO,CAAC,EAAE,eAAe,CAAC,cAAc,CAAC,YAAY,CAAC,CAAC,CAAC;CACxD;AAED,MAAM,MAAM,cAAc,CAAC,UAAU,IAAI,UAAU,SAAS;IAC3D,OAAO,EAAE,MAAM,YAAY,SAAS,QAAQ,CAAC;CAC7C,GACE,cAAc,CAAC,YAAY,CAAC,GAC5B,KAAK,CAAC;AAET,MAAM,WAAW,WAAW,CAAC,OAAO,SAAS,MAAM;IAClD,CAAC,WAAW,SAAS,gBAAgB,EACpC,eAAe,EAAE,yBAAyB,CAAC,WAAW,EAAE,OAAO,CAAC,GAC9D,eAAe,CAAC,cAAc,CAAC,WAAW,CAAC,EAAE,OAAO,CAAC,CAAC;IAEzD,CACC,eAAe,EAAE,4BAA4B,CAAC,OAAO,CAAC,GACpD,kBAAkB,CAAC,OAAO,CAAC,CAAC;CAC/B;AAED,MAAM,MAAM,YAAY,CAAC,YAAY,SAAS,QAAQ,IAAI,CACzD,gBAAgB,EAAE,gBAAgB,CAAC,cAAc,CAAC,YAAY,CAAC,CAAC,KAC5D,MAAM,CAAC,YAAY,CAAC,CAAC;AAE1B,MAAM,MAAM,qBAAqB,CAAC,YAAY,SAAS,QAAQ,IAAI,CAClE,kBAAkB,EAAE,yBAAyB,CAAC,YAAY,CAAC,KACvD,eAAe,CAAC,YAAY,CAAC,CAAC"}
@@ -7,6 +7,7 @@ export interface StratumTemplate<OptionsShape extends AnyShape = AnyShape> {
7
7
  about?: TemplateAbout;
8
8
  base: Base<OptionsShape>;
9
9
  options: OptionsShape & StratumTemplateOptionsShape;
10
+ prepare?: TemplatePrepare<InferredObject<OptionsShape>>;
10
11
  presets: Preset<OptionsShape>[];
11
12
  produce: StratumTemplateProduce<InferredObject<OptionsShape>>;
12
13
  }
@@ -1 +1 @@
1
- {"version":3,"file":"templates.d.ts","sourceRoot":"","sources":["../../src/types/templates.ts"],"names":[],"mappings":"AAAA,OAAO,EACN,QAAQ,EACR,cAAc,EACd,aAAa,EACb,eAAe,EACf,eAAe,EACf,MAAM,OAAO,CAAC;AACf,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,IAAI,EAAE,MAAM,YAAY,CAAC;AAClC,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAC/C,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAEtC,MAAM,WAAW,eAAe,CAAC,YAAY,SAAS,QAAQ,GAAG,QAAQ;IACxE,KAAK,CAAC,EAAE,aAAa,CAAC;IACtB,IAAI,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;IACzB,OAAO,EAAE,YAAY,GAAG,2BAA2B,CAAC;IACpD,OAAO,EAAE,MAAM,CAAC,YAAY,CAAC,EAAE,CAAC;IAChC,OAAO,EAAE,sBAAsB,CAAC,cAAc,CAAC,YAAY,CAAC,CAAC,CAAC;CAC9D;AAED,MAAM,WAAW,yBAAyB,CACzC,YAAY,SAAS,QAAQ,GAAG,QAAQ;IAExC,KAAK,CAAC,EAAE,aAAa,CAAC;IACtB,OAAO,CAAC,EAAE,eAAe,CAAC,cAAc,CAAC,YAAY,CAAC,CAAC,CAAC;IACxD,OAAO,EAAE,MAAM,CAAC,YAAY,CAAC,EAAE,CAAC;IAChC,SAAS,CAAC,EAAE,MAAM,CAAC,YAAY,CAAC,CAAC;CACjC;AAED,MAAM,WAAW,2BAA2B;IAC3C,MAAM,EAAE,CAAC,CAAC,SAAS,CAAC;CACpB;AAED,MAAM,MAAM,sBAAsB,CAAC,OAAO,SAAS,MAAM,IAAI,CAC5D,OAAO,EAAE,eAAe,CAAC,OAAO,GAAG;IAAE,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC,KAClD,OAAO,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"templates.d.ts","sourceRoot":"","sources":["../../src/types/templates.ts"],"names":[],"mappings":"AAAA,OAAO,EACN,QAAQ,EACR,cAAc,EACd,aAAa,EACb,eAAe,EACf,eAAe,EACf,MAAM,OAAO,CAAC;AACf,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,IAAI,EAAE,MAAM,YAAY,CAAC;AAClC,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAC/C,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAEtC,MAAM,WAAW,eAAe,CAAC,YAAY,SAAS,QAAQ,GAAG,QAAQ;IACxE,KAAK,CAAC,EAAE,aAAa,CAAC;IACtB,IAAI,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;IACzB,OAAO,EAAE,YAAY,GAAG,2BAA2B,CAAC;IACpD,OAAO,CAAC,EAAE,eAAe,CAAC,cAAc,CAAC,YAAY,CAAC,CAAC,CAAC;IACxD,OAAO,EAAE,MAAM,CAAC,YAAY,CAAC,EAAE,CAAC;IAChC,OAAO,EAAE,sBAAsB,CAAC,cAAc,CAAC,YAAY,CAAC,CAAC,CAAC;CAC9D;AAED,MAAM,WAAW,yBAAyB,CACzC,YAAY,SAAS,QAAQ,GAAG,QAAQ;IAExC,KAAK,CAAC,EAAE,aAAa,CAAC;IACtB,OAAO,CAAC,EAAE,eAAe,CAAC,cAAc,CAAC,YAAY,CAAC,CAAC,CAAC;IACxD,OAAO,EAAE,MAAM,CAAC,YAAY,CAAC,EAAE,CAAC;IAChC,SAAS,CAAC,EAAE,MAAM,CAAC,YAAY,CAAC,CAAC;CACjC;AAED,MAAM,WAAW,2BAA2B;IAC3C,MAAM,EAAE,CAAC,CAAC,SAAS,CAAC;CACpB;AAED,MAAM,MAAM,sBAAsB,CAAC,OAAO,SAAS,MAAM,IAAI,CAC5D,OAAO,EAAE,eAAe,CAAC,OAAO,GAAG;IAAE,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC,KAClD,OAAO,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "bingo-stratum",
3
- "version": "0.4.0",
3
+ "version": "0.4.1",
4
4
  "description": "Highly composable, customizable templating engine for Bingo. 🏭",
5
5
  "repository": {
6
6
  "type": "git",
@@ -28,13 +28,13 @@
28
28
  },
29
29
  "devDependencies": {
30
30
  "@types/node": "22.13.4",
31
- "bingo": "^0.4.0"
31
+ "bingo": "^0.4.1"
32
32
  },
33
33
  "peerDependencies": {
34
- "bingo": "^0.4.0",
35
- "bingo-fs": "^0.4.0",
36
- "bingo-systems": "^0.4.0",
37
- "zod": "^3.24.2"
34
+ "zod": "^3.24.2",
35
+ "bingo": "^0.4.1",
36
+ "bingo-fs": "^0.4.1",
37
+ "bingo-systems": "^0.4.1"
38
38
  },
39
39
  "engines": {
40
40
  "node": ">=18"
@@ -1,3 +0,0 @@
1
- import { PresetDefinition } from "../types/presets.js";
2
- export declare function assertNoDuplicateBlocks<Options extends object>(presetDefinition: PresetDefinition<Options>): void;
3
- //# sourceMappingURL=assertNoDuplicateBlocks%20copy.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"assertNoDuplicateBlocks copy.d.ts","sourceRoot":"","sources":["../../src/creators/assertNoDuplicateBlocks copy.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAEvD,wBAAgB,uBAAuB,CAAC,OAAO,SAAS,MAAM,EAC7D,gBAAgB,EAAE,gBAAgB,CAAC,OAAO,CAAC,QAY3C"}
@@ -1,13 +0,0 @@
1
- export function assertNoDuplicateBlocks(presetDefinition) {
2
- const presetName = getName(presetDefinition);
3
- const seen = new Set();
4
- for (const block of presetDefinition.blocks) {
5
- if (seen.has(block)) {
6
- throw new Error(`Preset ${presetName} has duplicate Block: ${getName(block)}`);
7
- }
8
- }
9
- }
10
- function getName(value) {
11
- return value.about?.name ?? "(anonymous)";
12
- }
13
- //# sourceMappingURL=assertNoDuplicateBlocks%20copy.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"assertNoDuplicateBlocks copy.js","sourceRoot":"","sources":["../../src/creators/assertNoDuplicateBlocks copy.ts"],"names":[],"mappings":"AAIA,MAAM,UAAU,uBAAuB,CACtC,gBAA2C;IAE3C,MAAM,UAAU,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAAC;IAC7C,MAAM,IAAI,GAAG,IAAI,GAAG,EAAE,CAAC;IAEvB,KAAK,MAAM,KAAK,IAAI,gBAAgB,CAAC,MAAM,EAAE,CAAC;QAC7C,IAAI,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;YACrB,MAAM,IAAI,KAAK,CACd,UAAU,UAAU,yBAAyB,OAAO,CAAC,KAAK,CAAC,EAAE,CAC7D,CAAC;QACH,CAAC;IACF,CAAC;AACF,CAAC;AAED,SAAS,OAAO,CAAC,KAA4B;IAC5C,OAAO,KAAK,CAAC,KAAK,EAAE,IAAI,IAAI,aAAa,CAAC;AAC3C,CAAC"}
@@ -1,125 +0,0 @@
1
- import { z } from "zod";
2
- import { BaseOptionsFor } from "../types/bases.js";
3
- declare const zContributor: z.ZodObject<{
4
- avatar_url: z.ZodString;
5
- contributions: z.ZodArray<z.ZodString, "many">;
6
- login: z.ZodString;
7
- name: z.ZodString;
8
- profile: z.ZodString;
9
- }, "strip", z.ZodTypeAny, {
10
- avatar_url: string;
11
- contributions: string[];
12
- login: string;
13
- name: string;
14
- profile: string;
15
- }, {
16
- avatar_url: string;
17
- contributions: string[];
18
- login: string;
19
- name: string;
20
- profile: string;
21
- }>;
22
- export type Contributor = z.infer<typeof zContributor>;
23
- export declare const base: import("../types/bases.js").Base<{
24
- access: z.ZodUnion<[z.ZodLiteral<"public">, z.ZodLiteral<"restricted">]>;
25
- author: z.ZodOptional<z.ZodString>;
26
- bin: z.ZodOptional<z.ZodString>;
27
- contributors: z.ZodOptional<z.ZodArray<z.ZodObject<{
28
- avatar_url: z.ZodString;
29
- contributions: z.ZodArray<z.ZodString, "many">;
30
- login: z.ZodString;
31
- name: z.ZodString;
32
- profile: z.ZodString;
33
- }, "strip", z.ZodTypeAny, {
34
- avatar_url: string;
35
- contributions: string[];
36
- login: string;
37
- name: string;
38
- profile: string;
39
- }, {
40
- avatar_url: string;
41
- contributions: string[];
42
- login: string;
43
- name: string;
44
- profile: string;
45
- }>, "many">>;
46
- description: z.ZodDefault<z.ZodString>;
47
- directory: z.ZodString;
48
- documentation: z.ZodOptional<z.ZodString>;
49
- email: z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodObject<{
50
- github: z.ZodString;
51
- npm: z.ZodString;
52
- }, "strip", z.ZodTypeAny, {
53
- github: string;
54
- npm: string;
55
- }, {
56
- github: string;
57
- npm: string;
58
- }>]>, {
59
- github: string;
60
- npm: string;
61
- }, string | {
62
- github: string;
63
- npm: string;
64
- }>;
65
- explainer: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
66
- funding: z.ZodOptional<z.ZodString>;
67
- guide: z.ZodOptional<z.ZodObject<{
68
- href: z.ZodString;
69
- title: z.ZodString;
70
- }, "strip", z.ZodTypeAny, {
71
- href: string;
72
- title: string;
73
- }, {
74
- href: string;
75
- title: string;
76
- }>>;
77
- keywords: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
78
- logo: z.ZodOptional<z.ZodObject<{
79
- alt: z.ZodString;
80
- height: z.ZodOptional<z.ZodNumber>;
81
- src: z.ZodString;
82
- width: z.ZodOptional<z.ZodNumber>;
83
- }, "strip", z.ZodTypeAny, {
84
- alt: string;
85
- src: string;
86
- height?: number | undefined;
87
- width?: number | undefined;
88
- }, {
89
- alt: string;
90
- src: string;
91
- height?: number | undefined;
92
- width?: number | undefined;
93
- }>>;
94
- node: z.ZodOptional<z.ZodObject<{
95
- minimum: z.ZodString;
96
- pinned: z.ZodOptional<z.ZodString>;
97
- }, "strip", z.ZodTypeAny, {
98
- minimum: string;
99
- pinned?: string | undefined;
100
- }, {
101
- minimum: string;
102
- pinned?: string | undefined;
103
- }>>;
104
- owner: z.ZodString;
105
- packageData: z.ZodOptional<z.ZodObject<{
106
- dependencies: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
107
- devDependencies: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
108
- scripts: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
109
- }, "strip", z.ZodTypeAny, {
110
- dependencies?: Record<string, string> | undefined;
111
- devDependencies?: Record<string, string> | undefined;
112
- scripts?: Record<string, string> | undefined;
113
- }, {
114
- dependencies?: Record<string, string> | undefined;
115
- devDependencies?: Record<string, string> | undefined;
116
- scripts?: Record<string, string> | undefined;
117
- }>>;
118
- repository: z.ZodString;
119
- title: z.ZodString;
120
- usage: z.ZodOptional<z.ZodString>;
121
- version: z.ZodOptional<z.ZodString>;
122
- }>;
123
- export type BaseOptions = BaseOptionsFor<typeof base>;
124
- export {};
125
- //# sourceMappingURL=createBase.e2e.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"createBase.e2e.test.d.ts","sourceRoot":"","sources":["../../src/creators/createBase.e2e.test.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAgBnD,QAAA,MAAM,YAAY;;;;;;;;;;;;;;;;;;EAMhB,CAAC;AAEH,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,YAAY,CAAC,CAAC;AAEvD,eAAO,MAAM,IAAI;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA8Mf,CAAC;AAEH,MAAM,MAAM,WAAW,GAAG,cAAc,CAAC,OAAO,IAAI,CAAC,CAAC"}
@@ -1,213 +0,0 @@
1
- // import { BaseOptionsFor, createBase } from "bingo-stratum";
2
- // import { execaCommand } from "execa";
3
- // import gitRemoteOriginUrl from "git-remote-origin-url";
4
- // import gitUrlParse from "git-url-parse";
5
- // import { inputFromFile } from "input-from-file";
6
- // import { inputFromFileJSON } from "input-from-file-json";
7
- // import { inputFromScript } from "input-from-script";
8
- // import lazyValue from "lazy-value";
9
- // import npmUser from "npm-user";
10
- import { z } from "zod";
11
- import { createBase } from "./createBase.js";
12
- // import { parsePackageAuthor } from "./options/parsePackageAuthor.js";
13
- // import { readDefaultsFromReadme } from "./options/readDefaultsFromReadme.js";
14
- // import { readDescription } from "./options/readDescription.js";
15
- // import { readDocumentation } from "./options/readDocumentation.js";
16
- // import { readEmails } from "./options/readEmails.js";
17
- // import { readFileSafe } from "./options/readFileSafe.js";
18
- // import { readFunding } from "./options/readFunding.js";
19
- // import { readGuide } from "./options/readGuide.js";
20
- // import { readPackageData } from "./options/readPackageData.js";
21
- // import { AllContributorsData } from "./types.js";
22
- // import { swallowError } from "./utils/swallowError.js";
23
- // import { tryCatchLazyValueAsync } from "./utils/tryCatchLazyValueAsync.js";
24
- const zContributor = z.object({
25
- avatar_url: z.string(),
26
- contributions: z.array(z.string()),
27
- login: z.string(),
28
- name: z.string(),
29
- profile: z.string(),
30
- });
31
- export const base = createBase({
32
- options: {
33
- access: z
34
- .union([z.literal("public"), z.literal("restricted")])
35
- .describe("which `npm publish --access` to release npm packages with"),
36
- author: z
37
- .string()
38
- .optional()
39
- .describe("username on npm to publish packages under"),
40
- bin: z
41
- .string()
42
- .optional()
43
- .describe('value to set in `package.json`\'s `"bin"` property'),
44
- contributors: z
45
- .array(zContributor)
46
- .optional()
47
- .describe("AllContributors contributors to store in .all-contributorsrc"),
48
- description: z
49
- .string()
50
- .default("A very lovely package. Hooray! 💖")
51
- .describe("'Sentence case.' description of the repository"),
52
- directory: z.string().describe("Directory to create the repository in"),
53
- documentation: z
54
- .string()
55
- .optional()
56
- .describe("any additional docs to add to .github/DEVELOPMENT.md"),
57
- email: z
58
- .union([
59
- z.string(),
60
- z.object({
61
- github: z.string(),
62
- npm: z.string(),
63
- }),
64
- ])
65
- .transform((email) => typeof email === "string" ? { github: email, npm: email } : email)
66
- .describe("email address to be listed as the point of contact in docs and packages"),
67
- explainer: z
68
- .array(z.string())
69
- .optional()
70
- .describe("additional README.md sentence(s) describing the package"),
71
- funding: z
72
- .string()
73
- .optional()
74
- .describe("GitHub organization or username to mention in `funding.yml`"),
75
- guide: z
76
- .object({
77
- href: z.string(),
78
- title: z.string(),
79
- })
80
- .optional()
81
- .describe("link to a contribution guide to place at the top of development docs"),
82
- keywords: z
83
- .array(z.string())
84
- .optional()
85
- .describe("any number of keywords to include in `package.json`"),
86
- logo: z
87
- .object({
88
- alt: z.string(),
89
- height: z.number().optional(),
90
- src: z.string(),
91
- width: z.number().optional(),
92
- })
93
- .optional()
94
- .describe("local image file in the repository to display near the top of the README.md"),
95
- node: z
96
- .object({
97
- minimum: z.string(),
98
- pinned: z.string().optional(),
99
- })
100
- .optional()
101
- .describe("node.js engine version(s) to pin and require a minimum of"),
102
- owner: z
103
- .string()
104
- .describe("GitHub organization or user the repository is underneath"),
105
- packageData: z
106
- .object({
107
- dependencies: z.record(z.string(), z.string()).optional(),
108
- devDependencies: z.record(z.string(), z.string()).optional(),
109
- scripts: z.record(z.string(), z.string()).optional(),
110
- })
111
- .optional()
112
- .describe("additional properties to include in `package.json`"),
113
- repository: z
114
- .string()
115
- .describe("'kebab-case' or 'PascalCase' title of the repository"),
116
- title: z.string().describe("'Title Case' title for the repository"),
117
- usage: z
118
- .string()
119
- .optional()
120
- .describe("markdown docs to put in README.md under the ## Usage heading"),
121
- version: z
122
- .string()
123
- .optional()
124
- .describe("package version to publish as and store in `package.json`"),
125
- },
126
- produce({ options, take }) {
127
- // const allContributors = lazyValue(async () => {
128
- // const contributions = (await take(inputFromFileJSON, {
129
- // filePath: ".all-contributorsrc",
130
- // })) as AllContributorsData;
131
- // return contributions.contributors;
132
- // });
133
- // const documentation = lazyValue(async () => readDocumentation(take));
134
- // const nvmrc = lazyValue(
135
- // async () =>
136
- // await take(inputFromFile, {
137
- // filePath: ".nvmrc",
138
- // }),
139
- // );
140
- // const githubCliUser = lazyValue(async () => {
141
- // return swallowError(
142
- // await take(inputFromScript, {
143
- // command: "gh config get user -h github.com",
144
- // }),
145
- // )?.stdout?.toString();
146
- // });
147
- // const readme = lazyValue(async () => await readFileSafe("README.md", ""));
148
- // // TODO: Make these all use take
149
- // const gitDefaults = tryCatchLazyValueAsync(async () =>
150
- // gitUrlParse(await gitRemoteOriginUrl()),
151
- // );
152
- // const npmDefaults = tryCatchLazyValueAsync(async () => {
153
- // const whoami = (await execaCommand(`npm whoami`)).stdout;
154
- // return whoami ? await npmUser(whoami) : undefined;
155
- // });
156
- // const packageData = lazyValue(readPackageData);
157
- // const packageAuthor = lazyValue(async () =>
158
- // parsePackageAuthor(await packageData()),
159
- // );
160
- // const author = lazyValue(
161
- // async () =>
162
- // (await packageAuthor()).author ??
163
- // (await npmDefaults())?.name ??
164
- // options.owner,
165
- // );
166
- // const node = lazyValue(async () => {
167
- // const { engines } = await packageData();
168
- // return {
169
- // minimum:
170
- // (engines?.node && /[\d+.]+/.exec(engines.node))?.[0] ?? "18.3.0",
171
- // pinned: swallowError(await nvmrc())?.trim() ?? "20.18.0",
172
- // };
173
- // });
174
- // const version = lazyValue(async () => (await packageData()).version);
175
- // const repository = lazyValue(
176
- // async () =>
177
- // options.repository ??
178
- // (await gitDefaults())?.name ??
179
- // (await packageData()).name ??
180
- // options.directory,
181
- // );
182
- // return {
183
- // access: "public" as const,
184
- // author,
185
- // bin: async () => (await packageData()).bin,
186
- // contributors: allContributors,
187
- // description: async () => await readDescription(packageData, readme),
188
- // documentation,
189
- // email: async () => readEmails(npmDefaults, packageAuthor),
190
- // funding: readFunding,
191
- // guide: readGuide,
192
- // login: author,
193
- // node,
194
- // owner: async () =>
195
- // (await gitDefaults())?.organization ??
196
- // (await packageAuthor()).author ??
197
- // (await githubCliUser()),
198
- // packageData: async () => {
199
- // const original = await packageData();
200
- // return {
201
- // dependencies: original.dependencies,
202
- // devDependencies: original.devDependencies,
203
- // scripts: original.scripts,
204
- // };
205
- // },
206
- // repository,
207
- // ...readDefaultsFromReadme(readme, repository),
208
- // version,
209
- // };
210
- return {};
211
- },
212
- });
213
- //# sourceMappingURL=createBase.e2e.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"createBase.e2e.test.js","sourceRoot":"","sources":["../../src/creators/createBase.e2e.test.ts"],"names":[],"mappings":"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"}
@@ -1,5 +0,0 @@
1
- import { AboutBase } from "bingo";
2
- export declare function getDefinitionName(value: {
3
- about?: AboutBase;
4
- }): string;
5
- //# sourceMappingURL=getDefinitionName.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"getDefinitionName.d.ts","sourceRoot":"","sources":["../../src/creators/getDefinitionName.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAElC,wBAAgB,iBAAiB,CAAC,KAAK,EAAE;IAAE,KAAK,CAAC,EAAE,SAAS,CAAA;CAAE,UAE7D"}
@@ -1,4 +0,0 @@
1
- export function getDefinitionName(value) {
2
- return value.about?.name ?? "(anonymous)";
3
- }
4
- //# sourceMappingURL=getDefinitionName.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"getDefinitionName.js","sourceRoot":"","sources":["../../src/creators/getDefinitionName.ts"],"names":[],"mappings":"AAEA,MAAM,UAAU,iBAAiB,CAAC,KAA4B;IAC7D,OAAO,KAAK,CAAC,KAAK,EAAE,IAAI,IAAI,aAAa,CAAC;AAC3C,CAAC"}
@@ -1,5 +0,0 @@
1
- import { AboutBase } from "bingo";
2
- export declare function getDefinitionName(value: {
3
- about?: AboutBase;
4
- }): string;
5
- //# sourceMappingURL=getName.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"getName.d.ts","sourceRoot":"","sources":["../../src/creators/getName.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAElC,wBAAgB,iBAAiB,CAAC,KAAK,EAAE;IAAE,KAAK,CAAC,EAAE,SAAS,CAAA;CAAE,UAE7D"}
@@ -1,4 +0,0 @@
1
- export function getDefinitionName(value) {
2
- return value.about?.name ?? "(anonymous)";
3
- }
4
- //# sourceMappingURL=getName.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"getName.js","sourceRoot":"","sources":["../../src/creators/getName.ts"],"names":[],"mappings":"AAEA,MAAM,UAAU,iBAAiB,CAAC,KAA4B;IAC7D,OAAO,KAAK,CAAC,KAAK,EAAE,IAAI,IAAI,aAAa,CAAC;AAC3C,CAAC"}
@@ -1,10 +0,0 @@
1
- import { AnyShape, InferredObject } from "bingo";
2
- import { BingoSystem } from "bingo-systems";
3
- import { Base } from "../types/bases.js";
4
- export interface ProduceBaseSettings<OptionsShape extends AnyShape> extends Partial<BingoSystem> {
5
- directory?: string;
6
- offline?: boolean;
7
- options?: Partial<InferredObject<OptionsShape>>;
8
- }
9
- export declare function produceBase<OptionsShape extends AnyShape>(base: Base<OptionsShape>, settings?: ProduceBaseSettings<OptionsShape>): Promise<Partial<InferredObject<OptionsShape>>>;
10
- //# sourceMappingURL=produceBase.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"produceBase.d.ts","sourceRoot":"","sources":["../../src/producers/produceBase.ts"],"names":[],"mappings":"AAAA,OAAO,EACN,QAAQ,EAGR,cAAc,EACd,MAAM,OAAO,CAAC;AACf,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAE5C,OAAO,EAAE,IAAI,EAAE,MAAM,mBAAmB,CAAC;AAEzC,MAAM,WAAW,mBAAmB,CAAC,YAAY,SAAS,QAAQ,CACjE,SAAQ,OAAO,CAAC,WAAW,CAAC;IAC5B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,OAAO,CAAC,EAAE,OAAO,CAAC,cAAc,CAAC,YAAY,CAAC,CAAC,CAAC;CAChD;AAED,wBAAsB,WAAW,CAAC,YAAY,SAAS,QAAQ,EAC9D,IAAI,EAAE,IAAI,CAAC,YAAY,CAAC,EACxB,QAAQ,GAAE,mBAAmB,CAAC,YAAY,CAAM,GAC9C,OAAO,CAAC,OAAO,CAAC,cAAc,CAAC,YAAY,CAAC,CAAC,CAAC,CAgBhD"}
@@ -1,15 +0,0 @@
1
- import { awaitLazyProperties, createSystemContextWithAuth, } from "bingo";
2
- export async function produceBase(base, settings = {}) {
3
- if (!base.produce) {
4
- return settings.options ?? {};
5
- }
6
- const system = await createSystemContextWithAuth({
7
- directory: settings.directory ?? ".",
8
- ...settings,
9
- });
10
- return await awaitLazyProperties(base.produce({
11
- options: settings.options ?? {},
12
- ...system,
13
- }));
14
- }
15
- //# sourceMappingURL=produceBase.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"produceBase.js","sourceRoot":"","sources":["../../src/producers/produceBase.ts"],"names":[],"mappings":"AAAA,OAAO,EAEN,mBAAmB,EACnB,2BAA2B,GAE3B,MAAM,OAAO,CAAC;AAYf,MAAM,CAAC,KAAK,UAAU,WAAW,CAChC,IAAwB,EACxB,WAA8C,EAAE;IAEhD,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;QACnB,OAAO,QAAQ,CAAC,OAAO,IAAI,EAAE,CAAC;IAC/B,CAAC;IAED,MAAM,MAAM,GAAG,MAAM,2BAA2B,CAAC;QAChD,SAAS,EAAE,QAAQ,CAAC,SAAS,IAAI,GAAG;QACpC,GAAG,QAAQ;KACX,CAAC,CAAC;IAEH,OAAO,MAAM,mBAAmB,CAC/B,IAAI,CAAC,OAAO,CAAC;QACZ,OAAO,EAAE,QAAQ,CAAC,OAAO,IAAI,EAAE;QAC/B,GAAG,MAAM;KACT,CAAC,CACF,CAAC;AACH,CAAC"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=produceBase.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"produceBase.test.d.ts","sourceRoot":"","sources":["../../src/producers/produceBase.test.ts"],"names":[],"mappings":""}
@@ -1,77 +0,0 @@
1
- import { describe, expect, it, vi } from "vitest";
2
- import { z } from "zod";
3
- import { createBase } from "../creators/createBase.js";
4
- import { produceBase } from "./produceBase.js";
5
- const system = {
6
- fetchers: {
7
- fetch: vi.fn(),
8
- octokit: {},
9
- },
10
- fs: {
11
- readDirectory: vi.fn(),
12
- readFile: vi.fn(),
13
- writeDirectory: vi.fn(),
14
- writeFile: vi.fn(),
15
- },
16
- runner: vi.fn(),
17
- };
18
- describe("produceBase", () => {
19
- it("returns {} when no settings.options exists and the Base does not have a produce()", async () => {
20
- const baseWithNoProduce = createBase({
21
- options: {
22
- value: z.string().optional(),
23
- },
24
- });
25
- const actual = await produceBase(baseWithNoProduce, { ...system });
26
- expect(actual).toEqual({});
27
- });
28
- it("returns settings.options directly when it exists and the Base does not have a produce()", async () => {
29
- const baseWithNoProduce = createBase({
30
- options: {
31
- value: z.string().optional(),
32
- },
33
- });
34
- const options = { value: "input" };
35
- const actual = await produceBase(baseWithNoProduce, { ...system, options });
36
- expect(actual).toEqual(options);
37
- });
38
- describe("produce", () => {
39
- const baseWithOptionalOption = createBase({
40
- options: {
41
- value: z.string().optional(),
42
- },
43
- produce({ options }) {
44
- return {
45
- value: options.value ?? "default",
46
- };
47
- },
48
- });
49
- it("uses an option value from produce when settings do not have options", async () => {
50
- const actual = await produceBase(baseWithOptionalOption, system);
51
- expect(actual).toEqual({
52
- value: "default",
53
- });
54
- });
55
- it("uses an option value from produce when settings do not have the options value", async () => {
56
- const actual = await produceBase(baseWithOptionalOption, {
57
- ...system,
58
- options: {},
59
- });
60
- expect(actual).toEqual({
61
- value: "default",
62
- });
63
- });
64
- it("uses an option value from settings when settings have the options value", async () => {
65
- const actual = await produceBase(baseWithOptionalOption, {
66
- ...system,
67
- options: {
68
- value: "override",
69
- },
70
- });
71
- expect(actual).toEqual({
72
- value: "override",
73
- });
74
- });
75
- });
76
- });
77
- //# sourceMappingURL=produceBase.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"produceBase.test.js","sourceRoot":"","sources":["../../src/producers/produceBase.test.ts"],"names":[],"mappings":"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"}
@@ -1,21 +0,0 @@
1
- import { AnyShape, InferredObject, ProductionMode } from "bingo";
2
- import { CreatedBlockAddons } from "../types/creations.js";
3
- import { Preset } from "../types/presets.js";
4
- import { BlockModifications } from "../types/settings.js";
5
- import { StratumTemplate } from "../types/templates.js";
6
- export interface ProduceTemplateSettings<OptionsShape extends AnyShape> {
7
- addons?: CreatedBlockAddons<any, InferredObject<OptionsShape>>[];
8
- blocks?: BlockModifications<InferredObject<OptionsShape>>;
9
- mode?: ProductionMode;
10
- offline?: boolean;
11
- options: InferredObject<OptionsShape>;
12
- preset: Preset<OptionsShape> | string;
13
- }
14
- export declare function produceStratumTemplate<OptionsShape extends AnyShape = AnyShape>(template: StratumTemplate<OptionsShape>, { addons, blocks: blockModifications, mode, offline, options, preset: requestedPreset, ...system }: ProduceTemplateSettings<OptionsShape>): {
15
- addons: never[];
16
- files: {};
17
- requests: never[];
18
- scripts: never[];
19
- suggestions: never[];
20
- };
21
- //# sourceMappingURL=produceStratumTemplateFull.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"produceStratumTemplateFull.d.ts","sourceRoot":"","sources":["../../src/producers/produceStratumTemplateFull.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,cAAc,EAAE,cAAc,EAAiB,MAAM,OAAO,CAAC;AAGhF,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAC3D,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAC7C,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAKxD,MAAM,WAAW,uBAAuB,CAAC,YAAY,SAAS,QAAQ;IAGrE,MAAM,CAAC,EAAE,kBAAkB,CAAC,GAAG,EAAE,cAAc,CAAC,YAAY,CAAC,CAAC,EAAE,CAAC;IACjE,MAAM,CAAC,EAAE,kBAAkB,CAAC,cAAc,CAAC,YAAY,CAAC,CAAC,CAAC;IAC1D,IAAI,CAAC,EAAE,cAAc,CAAC;IACtB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,OAAO,EAAE,cAAc,CAAC,YAAY,CAAC,CAAC;IACtC,MAAM,EAAE,MAAM,CAAC,YAAY,CAAC,GAAG,MAAM,CAAC;CACtC;AAED,wBAAgB,sBAAsB,CACrC,YAAY,SAAS,QAAQ,GAAG,QAAQ,EAExC,QAAQ,EAAE,eAAe,CAAC,YAAY,CAAC,EACvC,EACC,MAAM,EACN,MAAM,EAAE,kBAAkB,EAC1B,IAAI,EACJ,OAAO,EACP,OAAO,EACP,MAAM,EAAE,eAAe,EACvB,GAAG,MAAM,EACT,EAAE,uBAAuB,CAAC,YAAY,CAAC;;;;;;EA4BxC"}
@@ -1,28 +0,0 @@
1
- import { getPresetByName } from "../utils.ts/getPresetByName.js";
2
- import { applyBlockModifications } from "./applyBlockModifications.js";
3
- import { produceBlocks } from "./produceBlocks.js";
4
- export function produceStratumTemplate(template, { addons, blocks: blockModifications, mode, offline, options, preset: requestedPreset, ...system }) {
5
- const preset = typeof requestedPreset === "string"
6
- ? getPresetByName(template.presets, requestedPreset)
7
- : requestedPreset;
8
- if (preset instanceof Error) {
9
- throw preset;
10
- }
11
- const blocks = applyBlockModifications(preset.blocks, blockModifications);
12
- const creation = produceBlocks(blocks, {
13
- addons,
14
- mode,
15
- offline,
16
- options,
17
- system,
18
- });
19
- return {
20
- addons: [],
21
- files: {},
22
- requests: [],
23
- scripts: [],
24
- suggestions: [],
25
- ...creation,
26
- };
27
- }
28
- //# sourceMappingURL=produceStratumTemplateFull.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"produceStratumTemplateFull.js","sourceRoot":"","sources":["../../src/producers/produceStratumTemplateFull.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAC;AACjE,OAAO,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAC;AACvE,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAanD,MAAM,UAAU,sBAAsB,CAGrC,QAAuC,EACvC,EACC,MAAM,EACN,MAAM,EAAE,kBAAkB,EAC1B,IAAI,EACJ,OAAO,EACP,OAAO,EACP,MAAM,EAAE,eAAe,EACvB,GAAG,MAAM,EAC8B;IAExC,MAAM,MAAM,GACX,OAAO,eAAe,KAAK,QAAQ;QAClC,CAAC,CAAC,eAAe,CAAC,QAAQ,CAAC,OAAO,EAAE,eAAe,CAAC;QACpD,CAAC,CAAC,eAAe,CAAC;IACpB,IAAI,MAAM,YAAY,KAAK,EAAE,CAAC;QAC7B,MAAM,MAAM,CAAC;IACd,CAAC;IAED,MAAM,MAAM,GAAG,uBAAuB,CAAC,MAAM,CAAC,MAAM,EAAE,kBAAkB,CAAC,CAAC;IAE1E,MAAM,QAAQ,GAAG,aAAa,CAAC,MAAM,EAAE;QACtC,MAAM;QACN,IAAI;QACJ,OAAO;QACP,OAAO;QACP,MAAM;KACN,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"}