bingo-stratum 0.4.0 → 0.5.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 (36) hide show
  1. package/lib/creators/createBase.d.ts.map +1 -1
  2. package/lib/creators/createBase.js +2 -1
  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 +5 -5
  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"}
@@ -38,8 +38,9 @@ export function createBase(baseDefinition) {
38
38
  base,
39
39
  options: {
40
40
  ...base.options,
41
- preset: z.string(),
41
+ preset: z.string().describe("Which starting set of tooling to use."),
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,CAAC,QAAQ,CAAC,uCAAuC,CAAC;aACpE;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.5.0",
4
4
  "description": "Highly composable, customizable templating engine for Bingo. 🏭",
5
5
  "repository": {
6
6
  "type": "git",
@@ -28,12 +28,12 @@
28
28
  },
29
29
  "devDependencies": {
30
30
  "@types/node": "22.13.4",
31
- "bingo": "^0.4.0"
31
+ "bingo": "^0.5.0"
32
32
  },
33
33
  "peerDependencies": {
34
- "bingo": "^0.4.0",
35
- "bingo-fs": "^0.4.0",
36
- "bingo-systems": "^0.4.0",
34
+ "bingo": "^0.5.0",
35
+ "bingo-fs": "^0.5.0",
36
+ "bingo-systems": "^0.5.0",
37
37
  "zod": "^3.24.2"
38
38
  },
39
39
  "engines": {
@@ -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"}