@teambit/generator 0.0.881 → 0.0.882

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 (52) hide show
  1. package/dist/component-generator.js +1 -61
  2. package/dist/component-generator.js.map +1 -1
  3. package/dist/create.cmd.js +0 -13
  4. package/dist/create.cmd.js.map +1 -1
  5. package/dist/generator.aspect.js +0 -5
  6. package/dist/generator.aspect.js.map +1 -1
  7. package/dist/generator.composition.js +0 -6
  8. package/dist/generator.composition.js.map +1 -1
  9. package/dist/generator.graphql.js +4 -13
  10. package/dist/generator.graphql.js.map +1 -1
  11. package/dist/generator.main.runtime.js +8 -119
  12. package/dist/generator.main.runtime.js.map +1 -1
  13. package/dist/index.js +0 -9
  14. package/dist/index.js.map +1 -1
  15. package/dist/new.cmd.js +0 -18
  16. package/dist/new.cmd.js.map +1 -1
  17. package/dist/starter.plugin.js +0 -11
  18. package/dist/starter.plugin.js.map +1 -1
  19. package/dist/templates/component-generator/files/aspect-file.js +0 -1
  20. package/dist/templates/component-generator/files/aspect-file.js.map +1 -1
  21. package/dist/templates/component-generator/files/docs-file.js +0 -1
  22. package/dist/templates/component-generator/files/docs-file.js.map +1 -1
  23. package/dist/templates/component-generator/files/index.js +0 -1
  24. package/dist/templates/component-generator/files/index.js.map +1 -1
  25. package/dist/templates/component-generator/files/main-runtime.js +0 -1
  26. package/dist/templates/component-generator/files/main-runtime.js.map +1 -1
  27. package/dist/templates/component-generator/index.js +0 -13
  28. package/dist/templates/component-generator/index.js.map +1 -1
  29. package/dist/templates/starter/files/docs-file.js +0 -1
  30. package/dist/templates/starter/files/docs-file.js.map +1 -1
  31. package/dist/templates/starter/files/git-ignore-tpl.js +0 -1
  32. package/dist/templates/starter/files/git-ignore-tpl.js.map +1 -1
  33. package/dist/templates/starter/files/index.js +0 -1
  34. package/dist/templates/starter/files/index.js.map +1 -1
  35. package/dist/templates/starter/files/readme-tpl.js +0 -1
  36. package/dist/templates/starter/files/readme-tpl.js.map +1 -1
  37. package/dist/templates/starter/files/starter.js +0 -1
  38. package/dist/templates/starter/files/starter.js.map +1 -1
  39. package/dist/templates/starter/files/workspace-config-tpl.js +0 -1
  40. package/dist/templates/starter/files/workspace-config-tpl.js.map +1 -1
  41. package/dist/templates/starter/index.js +0 -19
  42. package/dist/templates/starter/index.js.map +1 -1
  43. package/dist/templates/workspace-generator/index.js +0 -11
  44. package/dist/templates/workspace-generator/index.js.map +1 -1
  45. package/dist/templates.cmd.js +4 -22
  46. package/dist/templates.cmd.js.map +1 -1
  47. package/dist/workspace-generator.js +3 -74
  48. package/dist/workspace-generator.js.map +1 -1
  49. package/package-tar/teambit-generator-0.0.882.tgz +0 -0
  50. package/package.json +14 -14
  51. package/{preview-1666409808293.js → preview-1666496165706.js} +2 -2
  52. package/package-tar/teambit-generator-0.0.881.tgz +0 -0
@@ -1,262 +1,183 @@
1
1
  "use strict";
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
4
  require("core-js/modules/es.symbol.description.js");
6
-
7
5
  require("core-js/modules/es.array.flat-map.js");
8
-
9
6
  require("core-js/modules/es.array.iterator.js");
10
-
11
7
  require("core-js/modules/es.array.unscopables.flat-map.js");
12
-
13
8
  require("core-js/modules/es.promise.js");
14
-
15
9
  Object.defineProperty(exports, "__esModule", {
16
10
  value: true
17
11
  });
18
12
  exports.GeneratorMain = void 0;
19
-
20
13
  function _defineProperty2() {
21
14
  const data = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
22
-
23
15
  _defineProperty2 = function () {
24
16
  return data;
25
17
  };
26
-
27
18
  return data;
28
19
  }
29
-
30
20
  function _graphql() {
31
21
  const data = require("@teambit/graphql");
32
-
33
22
  _graphql = function () {
34
23
  return data;
35
24
  };
36
-
37
25
  return data;
38
26
  }
39
-
40
27
  function _cli() {
41
28
  const data = require("@teambit/cli");
42
-
43
29
  _cli = function () {
44
30
  return data;
45
31
  };
46
-
47
32
  return data;
48
33
  }
49
-
50
34
  function _workspace() {
51
35
  const data = _interopRequireDefault(require("@teambit/workspace"));
52
-
53
36
  _workspace = function () {
54
37
  return data;
55
38
  };
56
-
57
39
  return data;
58
40
  }
59
-
60
41
  function _envs() {
61
42
  const data = require("@teambit/envs");
62
-
63
43
  _envs = function () {
64
44
  return data;
65
45
  };
66
-
67
46
  return data;
68
47
  }
69
-
70
48
  function _exceptions() {
71
49
  const data = require("@teambit/legacy/dist/consumer/exceptions");
72
-
73
50
  _exceptions = function () {
74
51
  return data;
75
52
  };
76
-
77
53
  return data;
78
54
  }
79
-
80
55
  function _community() {
81
56
  const data = require("@teambit/community");
82
-
83
57
  _community = function () {
84
58
  return data;
85
59
  };
86
-
87
60
  return data;
88
61
  }
89
-
90
62
  function _bit() {
91
63
  const data = require("@teambit/bit");
92
-
93
64
  _bit = function () {
94
65
  return data;
95
66
  };
96
-
97
67
  return data;
98
68
  }
99
-
100
69
  function _harmony() {
101
70
  const data = require("@teambit/harmony");
102
-
103
71
  _harmony = function () {
104
72
  return data;
105
73
  };
106
-
107
74
  return data;
108
75
  }
109
-
110
76
  function _bitError() {
111
77
  const data = require("@teambit/bit-error");
112
-
113
78
  _bitError = function () {
114
79
  return data;
115
80
  };
116
-
117
81
  return data;
118
82
  }
119
-
120
83
  function _aspectLoader() {
121
84
  const data = _interopRequireDefault(require("@teambit/aspect-loader"));
122
-
123
85
  _aspectLoader = function () {
124
86
  return data;
125
87
  };
126
-
127
88
  return data;
128
89
  }
129
-
130
90
  function _newComponentHelper() {
131
91
  const data = _interopRequireDefault(require("@teambit/new-component-helper"));
132
-
133
92
  _newComponentHelper = function () {
134
93
  return data;
135
94
  };
136
-
137
95
  return data;
138
96
  }
139
-
140
97
  function _importer() {
141
98
  const data = _interopRequireDefault(require("@teambit/importer"));
142
-
143
99
  _importer = function () {
144
100
  return data;
145
101
  };
146
-
147
102
  return data;
148
103
  }
149
-
150
104
  function _generator() {
151
105
  const data = require("./generator.aspect");
152
-
153
106
  _generator = function () {
154
107
  return data;
155
108
  };
156
-
157
109
  return data;
158
110
  }
159
-
160
111
  function _create() {
161
112
  const data = require("./create.cmd");
162
-
163
113
  _create = function () {
164
114
  return data;
165
115
  };
166
-
167
116
  return data;
168
117
  }
169
-
170
118
  function _templates() {
171
119
  const data = require("./templates.cmd");
172
-
173
120
  _templates = function () {
174
121
  return data;
175
122
  };
176
-
177
123
  return data;
178
124
  }
179
-
180
125
  function _generator2() {
181
126
  const data = require("./generator.graphql");
182
-
183
127
  _generator2 = function () {
184
128
  return data;
185
129
  };
186
-
187
130
  return data;
188
131
  }
189
-
190
132
  function _componentGenerator() {
191
133
  const data = require("./component-generator");
192
-
193
134
  _componentGenerator = function () {
194
135
  return data;
195
136
  };
196
-
197
137
  return data;
198
138
  }
199
-
200
139
  function _workspaceGenerator() {
201
140
  const data = require("./workspace-generator");
202
-
203
141
  _workspaceGenerator = function () {
204
142
  return data;
205
143
  };
206
-
207
144
  return data;
208
145
  }
209
-
210
146
  function _new() {
211
147
  const data = require("./new.cmd");
212
-
213
148
  _new = function () {
214
149
  return data;
215
150
  };
216
-
217
151
  return data;
218
152
  }
219
-
220
153
  function _componentGenerator2() {
221
154
  const data = require("./templates/component-generator");
222
-
223
155
  _componentGenerator2 = function () {
224
156
  return data;
225
157
  };
226
-
227
158
  return data;
228
159
  }
229
-
230
160
  function _workspaceGenerator2() {
231
161
  const data = require("./templates/workspace-generator");
232
-
233
162
  _workspaceGenerator2 = function () {
234
163
  return data;
235
164
  };
236
-
237
165
  return data;
238
166
  }
239
-
240
167
  function _starter() {
241
168
  const data = require("./templates/starter");
242
-
243
169
  _starter = function () {
244
170
  return data;
245
171
  };
246
-
247
172
  return data;
248
173
  }
249
-
250
174
  function _starter2() {
251
175
  const data = require("./starter.plugin");
252
-
253
176
  _starter2 = function () {
254
177
  return data;
255
178
  };
256
-
257
179
  return data;
258
180
  }
259
-
260
181
  class GeneratorMain {
261
182
  constructor(componentTemplateSlot, workspaceTemplateSlot, config, workspace, envs, aspectLoader, newComponentHelper, importer) {
262
183
  this.componentTemplateSlot = componentTemplateSlot;
@@ -269,30 +190,27 @@ class GeneratorMain {
269
190
  this.importer = importer;
270
191
  (0, _defineProperty2().default)(this, "aspectLoaded", false);
271
192
  }
193
+
272
194
  /**
273
195
  * register a new component template.
274
196
  */
275
-
276
-
277
197
  registerComponentTemplate(templates) {
278
198
  this.componentTemplateSlot.register(templates);
279
199
  return this;
280
200
  }
201
+
281
202
  /**
282
203
  * register a new component template.
283
204
  */
284
-
285
-
286
205
  registerWorkspaceTemplate(templates) {
287
206
  this.workspaceTemplateSlot.register(templates);
288
207
  return this;
289
208
  }
209
+
290
210
  /**
291
211
  * list all component templates registered in the workspace or workspace templates in case the
292
212
  * workspace is not available
293
213
  */
294
-
295
-
296
214
  async listTemplates() {
297
215
  const getTemplateDescriptor = ({
298
216
  id,
@@ -303,7 +221,6 @@ class GeneratorMain {
303
221
  if (this.config.hideCoreTemplates && (0, _bit().isCoreAspect)(id)) return true;
304
222
  return false;
305
223
  };
306
-
307
224
  return {
308
225
  aspectId: id,
309
226
  name: template.name,
@@ -311,34 +228,29 @@ class GeneratorMain {
311
228
  hidden: shouldBeHidden()
312
229
  };
313
230
  };
314
-
315
231
  return this.isRunningInsideWorkspace() ? this.getAllComponentTemplatesFlattened().map(getTemplateDescriptor) : this.getAllWorkspaceTemplatesFlattened().map(getTemplateDescriptor);
316
232
  }
233
+
317
234
  /**
318
235
  * @deprecated use this.listTemplates()
319
236
  */
320
-
321
-
322
237
  async listComponentTemplates() {
323
238
  return this.listTemplates();
324
239
  }
325
-
326
240
  isRunningInsideWorkspace() {
327
241
  return Boolean(this.workspace);
328
242
  }
243
+
329
244
  /**
330
245
  * get all component templates registered by a specific aspect ID.
331
246
  */
332
-
333
-
334
247
  getComponentTemplateByAspect(aspectId) {
335
248
  return this.componentTemplateSlot.get(aspectId) || [];
336
249
  }
250
+
337
251
  /**
338
252
  * returns a specific component template.
339
253
  */
340
-
341
-
342
254
  getComponentTemplate(name, aspectId) {
343
255
  const templates = this.getAllComponentTemplatesFlattened();
344
256
  const found = templates.find(({
@@ -350,12 +262,11 @@ class GeneratorMain {
350
262
  });
351
263
  return found;
352
264
  }
265
+
353
266
  /**
354
267
  * in the case the aspect-id is given and this aspect doesn't exist locally, import it to the
355
268
  * global scope and load it from the capsule
356
269
  */
357
-
358
-
359
270
  async findTemplateInGlobalScope(aspectId, name) {
360
271
  const {
361
272
  globalScopeHarmony,
@@ -370,57 +281,47 @@ class GeneratorMain {
370
281
  aspect
371
282
  };
372
283
  }
373
-
374
284
  async findTemplateInOtherWorkspace(workspacePath, name, aspectId) {
375
285
  if (!aspectId) throw new (_bitError().BitError)(`to load a template from a different workspace, please provide the aspect-id using --aspect flag`);
376
286
  const harmony = await (0, _bit().loadBit)(workspacePath);
377
287
  let workspace;
378
-
379
288
  try {
380
289
  workspace = harmony.get(_workspace().default.id);
381
290
  } catch (err) {
382
291
  throw new Error(`fatal: "${workspacePath}" is not a valid Bit workspace, make sure the path is correct`);
383
292
  }
384
-
385
293
  const aspectComponentId = await workspace.resolveComponentId(aspectId);
386
294
  await workspace.loadAspects([aspectId], true);
387
295
  const aspectFullId = aspectComponentId.toString();
388
296
  const generator = harmony.get(_generator().GeneratorAspect.id);
389
297
  return generator.searchRegisteredWorkspaceTemplate(name, aspectFullId);
390
298
  }
299
+
391
300
  /**
392
301
  * returns a specific workspace template.
393
302
  */
394
-
395
-
396
303
  async getWorkspaceTemplate(name, aspectId) {
397
304
  const registeredTemplate = await this.searchRegisteredWorkspaceTemplate(name, aspectId);
398
-
399
305
  if (registeredTemplate) {
400
306
  return {
401
307
  workspaceTemplate: registeredTemplate
402
308
  };
403
309
  }
404
-
405
310
  if (!aspectId) {
406
311
  throw new (_bitError().BitError)(`template "${name}" was not found, if this is a custom-template, please use --aspect flag`);
407
312
  }
408
-
409
313
  const {
410
314
  workspaceTemplate,
411
315
  aspect
412
316
  } = await this.findTemplateInGlobalScope(aspectId, name);
413
-
414
317
  if (workspaceTemplate) {
415
318
  return {
416
319
  workspaceTemplate,
417
320
  aspect
418
321
  };
419
322
  }
420
-
421
323
  throw new (_bitError().BitError)(`template "${name}" was not found`);
422
324
  }
423
-
424
325
  async searchRegisteredWorkspaceTemplate(name, aspectId) {
425
326
  const templates = this.getAllWorkspaceTemplatesFlattened();
426
327
  const found = templates.find(({
@@ -434,7 +335,6 @@ class GeneratorMain {
434
335
  });
435
336
  return found === null || found === void 0 ? void 0 : found.template;
436
337
  }
437
-
438
338
  async generateComponentTemplate(componentNames, templateName, options) {
439
339
  if (!this.workspace) throw new (_exceptions().ConsumerNotFound)();
440
340
  await this.loadAspects();
@@ -448,19 +348,16 @@ class GeneratorMain {
448
348
  const componentGenerator = new (_componentGenerator().ComponentGenerator)(this.workspace, componentIds, options, templateWithId.template, this.envs, this.newComponentHelper, templateWithId.id);
449
349
  return componentGenerator.generate();
450
350
  }
451
-
452
351
  async generateWorkspaceTemplate(workspaceName, templateName, options) {
453
352
  if (this.workspace) {
454
353
  throw new (_bitError().BitError)('Error: unable to generate a new workspace inside of an existing workspace');
455
354
  }
456
-
457
355
  const {
458
356
  aspect: aspectId,
459
357
  loadFrom
460
358
  } = options;
461
359
  let template;
462
360
  let aspectComponent;
463
-
464
361
  if (loadFrom) {
465
362
  template = await this.findTemplateInOtherWorkspace(loadFrom, templateName, aspectId);
466
363
  } else {
@@ -471,7 +368,6 @@ class GeneratorMain {
471
368
  template = workspaceTemplate;
472
369
  aspectComponent = aspect;
473
370
  }
474
-
475
371
  if (!template) throw new (_bitError().BitError)(`template "${templateName}" was not found`);
476
372
  const workspaceGenerator = new (_workspaceGenerator().WorkspaceGenerator)(workspaceName, options, template, aspectComponent);
477
373
  const workspacePath = await workspaceGenerator.generate();
@@ -480,7 +376,6 @@ class GeneratorMain {
480
376
  appName: template.appName
481
377
  };
482
378
  }
483
-
484
379
  getAllComponentTemplatesFlattened() {
485
380
  const templatesByAspects = this.componentTemplateSlot.toArray();
486
381
  return templatesByAspects.flatMap(([id, componentTemplates]) => {
@@ -490,7 +385,6 @@ class GeneratorMain {
490
385
  }));
491
386
  });
492
387
  }
493
-
494
388
  getAllWorkspaceTemplatesFlattened() {
495
389
  const templatesByAspects = this.workspaceTemplateSlot.toArray();
496
390
  return templatesByAspects.flatMap(([id, workspaceTemplates]) => {
@@ -500,13 +394,11 @@ class GeneratorMain {
500
394
  }));
501
395
  });
502
396
  }
503
-
504
397
  async loadAspects() {
505
398
  if (this.aspectLoaded) return;
506
399
  await this.workspace.loadAspects(this.config.aspects);
507
400
  this.aspectLoaded = true;
508
401
  }
509
-
510
402
  static async provider([workspace, cli, graphql, envs, aspectLoader, newComponentHelper, community, importer], config, [componentTemplateSlot, workspaceTemplateSlot]) {
511
403
  const generator = new GeneratorMain(componentTemplateSlot, workspaceTemplateSlot, config, workspace, envs, aspectLoader, newComponentHelper, importer);
512
404
  const commands = [new (_create().CreateCmd)(generator, community.getDocsDomain()), new (_templates().TemplatesCmd)(generator), new (_new().NewCmd)(generator)];
@@ -516,14 +408,11 @@ class GeneratorMain {
516
408
  generator.registerComponentTemplate([_componentGenerator2().componentGeneratorTemplate, _starter().starterTemplate, _workspaceGenerator2().workspaceGeneratorTemplate]);
517
409
  return generator;
518
410
  }
519
-
520
411
  }
521
-
522
412
  exports.GeneratorMain = GeneratorMain;
523
413
  (0, _defineProperty2().default)(GeneratorMain, "slots", [_harmony().Slot.withType(), _harmony().Slot.withType()]);
524
414
  (0, _defineProperty2().default)(GeneratorMain, "dependencies", [_workspace().default, _cli().CLIAspect, _graphql().GraphqlAspect, _envs().EnvsAspect, _aspectLoader().default, _newComponentHelper().default, _community().CommunityAspect, _importer().default]);
525
415
  (0, _defineProperty2().default)(GeneratorMain, "runtime", _cli().MainRuntime);
526
-
527
416
  _generator().GeneratorAspect.addRuntime(GeneratorMain);
528
417
 
529
418
  //# sourceMappingURL=generator.main.runtime.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["GeneratorMain","constructor","componentTemplateSlot","workspaceTemplateSlot","config","workspace","envs","aspectLoader","newComponentHelper","importer","registerComponentTemplate","templates","register","registerWorkspaceTemplate","listTemplates","getTemplateDescriptor","id","template","shouldBeHidden","hidden","hideCoreTemplates","isCoreAspect","aspectId","name","description","isRunningInsideWorkspace","getAllComponentTemplatesFlattened","map","getAllWorkspaceTemplatesFlattened","listComponentTemplates","Boolean","getComponentTemplateByAspect","get","getComponentTemplate","found","find","findTemplateInGlobalScope","globalScopeHarmony","components","loadAspectsFromGlobalScope","remoteGenerator","GeneratorAspect","aspect","fullAspectId","toString","fromGlobal","searchRegisteredWorkspaceTemplate","call","workspaceTemplate","findTemplateInOtherWorkspace","workspacePath","BitError","harmony","loadBit","WorkspaceAspect","err","Error","aspectComponentId","resolveComponentId","loadAspects","aspectFullId","generator","getWorkspaceTemplate","registeredTemplate","generateComponentTemplate","componentNames","templateName","options","ConsumerNotFound","namespace","templateWithId","componentIds","componentName","getNewComponentId","scope","componentGenerator","ComponentGenerator","generate","generateWorkspaceTemplate","workspaceName","loadFrom","aspectComponent","workspaceGenerator","WorkspaceGenerator","appName","templatesByAspects","toArray","flatMap","componentTemplates","workspaceTemplates","aspectLoaded","aspects","provider","cli","graphql","community","commands","CreateCmd","getDocsDomain","TemplatesCmd","NewCmd","generatorSchema","registerPlugins","StarterPlugin","componentGeneratorTemplate","starterTemplate","workspaceGeneratorTemplate","Slot","withType","CLIAspect","GraphqlAspect","EnvsAspect","AspectLoaderAspect","NewComponentHelperAspect","CommunityAspect","ImporterAspect","MainRuntime","addRuntime"],"sources":["generator.main.runtime.ts"],"sourcesContent":["import { GraphqlAspect, GraphqlMain } from '@teambit/graphql';\nimport { CLIAspect, CLIMain, MainRuntime } from '@teambit/cli';\nimport WorkspaceAspect, { Workspace } from '@teambit/workspace';\nimport { EnvsAspect, EnvsMain } from '@teambit/envs';\nimport { ConsumerNotFound } from '@teambit/legacy/dist/consumer/exceptions';\nimport { CommunityAspect } from '@teambit/community';\nimport type { CommunityMain } from '@teambit/community';\n\nimport { Component } from '@teambit/component';\nimport { isCoreAspect, loadBit } from '@teambit/bit';\nimport { Slot, SlotRegistry } from '@teambit/harmony';\nimport { BitError } from '@teambit/bit-error';\nimport AspectLoaderAspect, { AspectLoaderMain } from '@teambit/aspect-loader';\nimport NewComponentHelperAspect, { NewComponentHelperMain } from '@teambit/new-component-helper';\nimport ImporterAspect, { ImporterMain } from '@teambit/importer';\nimport { ComponentTemplate } from './component-template';\nimport { GeneratorAspect } from './generator.aspect';\nimport { CreateCmd, CreateOptions } from './create.cmd';\nimport { TemplatesCmd } from './templates.cmd';\nimport { generatorSchema } from './generator.graphql';\nimport { ComponentGenerator, GenerateResult } from './component-generator';\nimport { WorkspaceGenerator } from './workspace-generator';\nimport { WorkspaceTemplate } from './workspace-template';\nimport { NewCmd, NewOptions } from './new.cmd';\nimport { componentGeneratorTemplate } from './templates/component-generator';\nimport { workspaceGeneratorTemplate } from './templates/workspace-generator';\nimport { starterTemplate } from './templates/starter';\nimport { StarterPlugin } from './starter.plugin';\n\nexport type ComponentTemplateSlot = SlotRegistry<ComponentTemplate[]>;\nexport type WorkspaceTemplateSlot = SlotRegistry<WorkspaceTemplate[]>;\n\nexport type TemplateDescriptor = { aspectId: string; name: string; description?: string; hidden?: boolean };\nexport type GenerateWorkspaceTemplateResult = { workspacePath: string; appName?: string };\n\nexport type GeneratorConfig = {\n /**\n * array of aspects to include in the list of templates.\n */\n aspects: string[];\n\n /**\n * by default core templates are shown.\n * use this to hide them unless `--show-all` flag of `bit templates` was used\n */\n hideCoreTemplates: boolean;\n};\n\nexport class GeneratorMain {\n private aspectLoaded = false;\n constructor(\n private componentTemplateSlot: ComponentTemplateSlot,\n private workspaceTemplateSlot: WorkspaceTemplateSlot,\n private config: GeneratorConfig,\n private workspace: Workspace,\n private envs: EnvsMain,\n private aspectLoader: AspectLoaderMain,\n private newComponentHelper: NewComponentHelperMain,\n private importer: ImporterMain\n ) {}\n\n /**\n * register a new component template.\n */\n registerComponentTemplate(templates: ComponentTemplate[]) {\n this.componentTemplateSlot.register(templates);\n return this;\n }\n\n /**\n * register a new component template.\n */\n registerWorkspaceTemplate(templates: WorkspaceTemplate[]) {\n this.workspaceTemplateSlot.register(templates);\n return this;\n }\n\n /**\n * list all component templates registered in the workspace or workspace templates in case the\n * workspace is not available\n */\n async listTemplates(): Promise<TemplateDescriptor[]> {\n const getTemplateDescriptor = ({\n id,\n template,\n }: {\n id: string;\n template: WorkspaceTemplate | ComponentTemplate;\n }) => {\n const shouldBeHidden = () => {\n if (template.hidden) return true;\n if (this.config.hideCoreTemplates && isCoreAspect(id)) return true;\n return false;\n };\n return {\n aspectId: id,\n name: template.name,\n description: template.description,\n hidden: shouldBeHidden(),\n };\n };\n return this.isRunningInsideWorkspace()\n ? this.getAllComponentTemplatesFlattened().map(getTemplateDescriptor)\n : this.getAllWorkspaceTemplatesFlattened().map(getTemplateDescriptor);\n }\n\n /**\n * @deprecated use this.listTemplates()\n */\n async listComponentTemplates(): Promise<TemplateDescriptor[]> {\n return this.listTemplates();\n }\n\n isRunningInsideWorkspace(): boolean {\n return Boolean(this.workspace);\n }\n\n /**\n * get all component templates registered by a specific aspect ID.\n */\n getComponentTemplateByAspect(aspectId: string): ComponentTemplate[] {\n return this.componentTemplateSlot.get(aspectId) || [];\n }\n\n /**\n * returns a specific component template.\n */\n getComponentTemplate(name: string, aspectId?: string): { id: string; template: ComponentTemplate } | undefined {\n const templates = this.getAllComponentTemplatesFlattened();\n const found = templates.find(({ id, template }) => {\n if (aspectId && id !== aspectId) return false;\n return template.name === name;\n });\n return found;\n }\n\n /**\n * in the case the aspect-id is given and this aspect doesn't exist locally, import it to the\n * global scope and load it from the capsule\n */\n async findTemplateInGlobalScope(\n aspectId: string,\n name?: string\n ): Promise<{ workspaceTemplate?: WorkspaceTemplate; aspect?: Component }> {\n const { globalScopeHarmony, components } = await this.aspectLoader.loadAspectsFromGlobalScope([aspectId]);\n const remoteGenerator = globalScopeHarmony.get<GeneratorMain>(GeneratorAspect.id);\n const aspect = components[0];\n const fullAspectId = aspect.id.toString();\n const fromGlobal = await remoteGenerator.searchRegisteredWorkspaceTemplate.call(\n remoteGenerator,\n name,\n fullAspectId\n );\n return { workspaceTemplate: fromGlobal, aspect };\n }\n\n async findTemplateInOtherWorkspace(workspacePath: string, name: string, aspectId?: string) {\n if (!aspectId)\n throw new BitError(\n `to load a template from a different workspace, please provide the aspect-id using --aspect flag`\n );\n const harmony = await loadBit(workspacePath);\n let workspace: Workspace;\n try {\n workspace = harmony.get<Workspace>(WorkspaceAspect.id);\n } catch (err: any) {\n throw new Error(`fatal: \"${workspacePath}\" is not a valid Bit workspace, make sure the path is correct`);\n }\n const aspectComponentId = await workspace.resolveComponentId(aspectId);\n await workspace.loadAspects([aspectId], true);\n const aspectFullId = aspectComponentId.toString();\n const generator = harmony.get<GeneratorMain>(GeneratorAspect.id);\n return generator.searchRegisteredWorkspaceTemplate(name, aspectFullId);\n }\n\n /**\n * returns a specific workspace template.\n */\n async getWorkspaceTemplate(\n name: string,\n aspectId?: string\n ): Promise<{ workspaceTemplate: WorkspaceTemplate; aspect?: Component }> {\n const registeredTemplate = await this.searchRegisteredWorkspaceTemplate(name, aspectId);\n if (registeredTemplate) {\n return { workspaceTemplate: registeredTemplate };\n }\n if (!aspectId) {\n throw new BitError(`template \"${name}\" was not found, if this is a custom-template, please use --aspect flag`);\n }\n\n const { workspaceTemplate, aspect } = await this.findTemplateInGlobalScope(aspectId, name);\n if (workspaceTemplate) {\n return { workspaceTemplate, aspect };\n }\n throw new BitError(`template \"${name}\" was not found`);\n }\n\n async searchRegisteredWorkspaceTemplate(name?: string, aspectId?: string): Promise<WorkspaceTemplate | undefined> {\n const templates = this.getAllWorkspaceTemplatesFlattened();\n const found = templates.find(({ id, template }) => {\n if (aspectId && name) return aspectId === id && name === template.name;\n if (aspectId) return aspectId === id;\n if (name) return name === template.name;\n throw new Error(`searchRegisteredWorkspaceTemplate expects to get \"name\" or \"aspectId\"`);\n });\n return found?.template;\n }\n\n async generateComponentTemplate(\n componentNames: string[],\n templateName: string,\n options: CreateOptions\n ): Promise<GenerateResult[]> {\n if (!this.workspace) throw new ConsumerNotFound();\n await this.loadAspects();\n const { namespace, aspect: aspectId } = options;\n const templateWithId = this.getComponentTemplate(templateName, aspectId);\n if (!templateWithId) throw new BitError(`template \"${templateName}\" was not found`);\n\n const componentIds = componentNames.map((componentName) =>\n this.newComponentHelper.getNewComponentId(componentName, namespace, options.scope)\n );\n\n const componentGenerator = new ComponentGenerator(\n this.workspace,\n componentIds,\n options,\n templateWithId.template,\n this.envs,\n this.newComponentHelper,\n templateWithId.id\n );\n return componentGenerator.generate();\n }\n\n async generateWorkspaceTemplate(\n workspaceName: string,\n templateName: string,\n options: NewOptions\n ): Promise<GenerateWorkspaceTemplateResult> {\n if (this.workspace) {\n throw new BitError('Error: unable to generate a new workspace inside of an existing workspace');\n }\n const { aspect: aspectId, loadFrom } = options;\n let template: WorkspaceTemplate | undefined;\n let aspectComponent: Component | undefined;\n if (loadFrom) {\n template = await this.findTemplateInOtherWorkspace(loadFrom, templateName, aspectId);\n } else {\n const { workspaceTemplate, aspect } = await this.getWorkspaceTemplate(templateName, aspectId);\n template = workspaceTemplate;\n aspectComponent = aspect;\n }\n if (!template) throw new BitError(`template \"${templateName}\" was not found`);\n const workspaceGenerator = new WorkspaceGenerator(workspaceName, options, template, aspectComponent);\n const workspacePath = await workspaceGenerator.generate();\n\n return { workspacePath, appName: template.appName };\n }\n\n private getAllComponentTemplatesFlattened(): Array<{ id: string; template: ComponentTemplate }> {\n const templatesByAspects = this.componentTemplateSlot.toArray();\n return templatesByAspects.flatMap(([id, componentTemplates]) => {\n return componentTemplates.map((template) => ({\n id,\n template,\n }));\n });\n }\n\n private getAllWorkspaceTemplatesFlattened(): Array<{ id: string; template: WorkspaceTemplate }> {\n const templatesByAspects = this.workspaceTemplateSlot.toArray();\n return templatesByAspects.flatMap(([id, workspaceTemplates]) => {\n return workspaceTemplates.map((template) => ({\n id,\n template,\n }));\n });\n }\n\n private async loadAspects() {\n if (this.aspectLoaded) return;\n await this.workspace.loadAspects(this.config.aspects);\n this.aspectLoaded = true;\n }\n\n static slots = [Slot.withType<ComponentTemplate[]>(), Slot.withType<WorkspaceTemplate[]>()];\n\n static dependencies = [\n WorkspaceAspect,\n CLIAspect,\n GraphqlAspect,\n EnvsAspect,\n AspectLoaderAspect,\n NewComponentHelperAspect,\n CommunityAspect,\n ImporterAspect,\n ];\n\n static runtime = MainRuntime;\n\n static async provider(\n [workspace, cli, graphql, envs, aspectLoader, newComponentHelper, community, importer]: [\n Workspace,\n CLIMain,\n GraphqlMain,\n EnvsMain,\n AspectLoaderMain,\n NewComponentHelperMain,\n CommunityMain,\n ImporterMain\n ],\n config: GeneratorConfig,\n [componentTemplateSlot, workspaceTemplateSlot]: [ComponentTemplateSlot, WorkspaceTemplateSlot]\n ) {\n const generator = new GeneratorMain(\n componentTemplateSlot,\n workspaceTemplateSlot,\n config,\n workspace,\n envs,\n aspectLoader,\n newComponentHelper,\n importer\n );\n const commands = [\n new CreateCmd(generator, community.getDocsDomain()),\n new TemplatesCmd(generator),\n new NewCmd(generator),\n ];\n cli.register(...commands);\n graphql.register(generatorSchema(generator));\n aspectLoader.registerPlugins([new StarterPlugin(generator)]);\n\n generator.registerComponentTemplate([componentGeneratorTemplate, starterTemplate, workspaceGeneratorTemplate]);\n return generator;\n }\n}\n\nGeneratorAspect.addRuntime(GeneratorMain);\n"],"mappings":"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"}
1
+ {"version":3,"names":["GeneratorMain","constructor","componentTemplateSlot","workspaceTemplateSlot","config","workspace","envs","aspectLoader","newComponentHelper","importer","registerComponentTemplate","templates","register","registerWorkspaceTemplate","listTemplates","getTemplateDescriptor","id","template","shouldBeHidden","hidden","hideCoreTemplates","isCoreAspect","aspectId","name","description","isRunningInsideWorkspace","getAllComponentTemplatesFlattened","map","getAllWorkspaceTemplatesFlattened","listComponentTemplates","Boolean","getComponentTemplateByAspect","get","getComponentTemplate","found","find","findTemplateInGlobalScope","globalScopeHarmony","components","loadAspectsFromGlobalScope","remoteGenerator","GeneratorAspect","aspect","fullAspectId","toString","fromGlobal","searchRegisteredWorkspaceTemplate","call","workspaceTemplate","findTemplateInOtherWorkspace","workspacePath","BitError","harmony","loadBit","WorkspaceAspect","err","Error","aspectComponentId","resolveComponentId","loadAspects","aspectFullId","generator","getWorkspaceTemplate","registeredTemplate","generateComponentTemplate","componentNames","templateName","options","ConsumerNotFound","namespace","templateWithId","componentIds","componentName","getNewComponentId","scope","componentGenerator","ComponentGenerator","generate","generateWorkspaceTemplate","workspaceName","loadFrom","aspectComponent","workspaceGenerator","WorkspaceGenerator","appName","templatesByAspects","toArray","flatMap","componentTemplates","workspaceTemplates","aspectLoaded","aspects","provider","cli","graphql","community","commands","CreateCmd","getDocsDomain","TemplatesCmd","NewCmd","generatorSchema","registerPlugins","StarterPlugin","componentGeneratorTemplate","starterTemplate","workspaceGeneratorTemplate","Slot","withType","CLIAspect","GraphqlAspect","EnvsAspect","AspectLoaderAspect","NewComponentHelperAspect","CommunityAspect","ImporterAspect","MainRuntime","addRuntime"],"sources":["generator.main.runtime.ts"],"sourcesContent":["import { GraphqlAspect, GraphqlMain } from '@teambit/graphql';\nimport { CLIAspect, CLIMain, MainRuntime } from '@teambit/cli';\nimport WorkspaceAspect, { Workspace } from '@teambit/workspace';\nimport { EnvsAspect, EnvsMain } from '@teambit/envs';\nimport { ConsumerNotFound } from '@teambit/legacy/dist/consumer/exceptions';\nimport { CommunityAspect } from '@teambit/community';\nimport type { CommunityMain } from '@teambit/community';\n\nimport { Component } from '@teambit/component';\nimport { isCoreAspect, loadBit } from '@teambit/bit';\nimport { Slot, SlotRegistry } from '@teambit/harmony';\nimport { BitError } from '@teambit/bit-error';\nimport AspectLoaderAspect, { AspectLoaderMain } from '@teambit/aspect-loader';\nimport NewComponentHelperAspect, { NewComponentHelperMain } from '@teambit/new-component-helper';\nimport ImporterAspect, { ImporterMain } from '@teambit/importer';\nimport { ComponentTemplate } from './component-template';\nimport { GeneratorAspect } from './generator.aspect';\nimport { CreateCmd, CreateOptions } from './create.cmd';\nimport { TemplatesCmd } from './templates.cmd';\nimport { generatorSchema } from './generator.graphql';\nimport { ComponentGenerator, GenerateResult } from './component-generator';\nimport { WorkspaceGenerator } from './workspace-generator';\nimport { WorkspaceTemplate } from './workspace-template';\nimport { NewCmd, NewOptions } from './new.cmd';\nimport { componentGeneratorTemplate } from './templates/component-generator';\nimport { workspaceGeneratorTemplate } from './templates/workspace-generator';\nimport { starterTemplate } from './templates/starter';\nimport { StarterPlugin } from './starter.plugin';\n\nexport type ComponentTemplateSlot = SlotRegistry<ComponentTemplate[]>;\nexport type WorkspaceTemplateSlot = SlotRegistry<WorkspaceTemplate[]>;\n\nexport type TemplateDescriptor = { aspectId: string; name: string; description?: string; hidden?: boolean };\nexport type GenerateWorkspaceTemplateResult = { workspacePath: string; appName?: string };\n\nexport type GeneratorConfig = {\n /**\n * array of aspects to include in the list of templates.\n */\n aspects: string[];\n\n /**\n * by default core templates are shown.\n * use this to hide them unless `--show-all` flag of `bit templates` was used\n */\n hideCoreTemplates: boolean;\n};\n\nexport class GeneratorMain {\n private aspectLoaded = false;\n constructor(\n private componentTemplateSlot: ComponentTemplateSlot,\n private workspaceTemplateSlot: WorkspaceTemplateSlot,\n private config: GeneratorConfig,\n private workspace: Workspace,\n private envs: EnvsMain,\n private aspectLoader: AspectLoaderMain,\n private newComponentHelper: NewComponentHelperMain,\n private importer: ImporterMain\n ) {}\n\n /**\n * register a new component template.\n */\n registerComponentTemplate(templates: ComponentTemplate[]) {\n this.componentTemplateSlot.register(templates);\n return this;\n }\n\n /**\n * register a new component template.\n */\n registerWorkspaceTemplate(templates: WorkspaceTemplate[]) {\n this.workspaceTemplateSlot.register(templates);\n return this;\n }\n\n /**\n * list all component templates registered in the workspace or workspace templates in case the\n * workspace is not available\n */\n async listTemplates(): Promise<TemplateDescriptor[]> {\n const getTemplateDescriptor = ({\n id,\n template,\n }: {\n id: string;\n template: WorkspaceTemplate | ComponentTemplate;\n }) => {\n const shouldBeHidden = () => {\n if (template.hidden) return true;\n if (this.config.hideCoreTemplates && isCoreAspect(id)) return true;\n return false;\n };\n return {\n aspectId: id,\n name: template.name,\n description: template.description,\n hidden: shouldBeHidden(),\n };\n };\n return this.isRunningInsideWorkspace()\n ? this.getAllComponentTemplatesFlattened().map(getTemplateDescriptor)\n : this.getAllWorkspaceTemplatesFlattened().map(getTemplateDescriptor);\n }\n\n /**\n * @deprecated use this.listTemplates()\n */\n async listComponentTemplates(): Promise<TemplateDescriptor[]> {\n return this.listTemplates();\n }\n\n isRunningInsideWorkspace(): boolean {\n return Boolean(this.workspace);\n }\n\n /**\n * get all component templates registered by a specific aspect ID.\n */\n getComponentTemplateByAspect(aspectId: string): ComponentTemplate[] {\n return this.componentTemplateSlot.get(aspectId) || [];\n }\n\n /**\n * returns a specific component template.\n */\n getComponentTemplate(name: string, aspectId?: string): { id: string; template: ComponentTemplate } | undefined {\n const templates = this.getAllComponentTemplatesFlattened();\n const found = templates.find(({ id, template }) => {\n if (aspectId && id !== aspectId) return false;\n return template.name === name;\n });\n return found;\n }\n\n /**\n * in the case the aspect-id is given and this aspect doesn't exist locally, import it to the\n * global scope and load it from the capsule\n */\n async findTemplateInGlobalScope(\n aspectId: string,\n name?: string\n ): Promise<{ workspaceTemplate?: WorkspaceTemplate; aspect?: Component }> {\n const { globalScopeHarmony, components } = await this.aspectLoader.loadAspectsFromGlobalScope([aspectId]);\n const remoteGenerator = globalScopeHarmony.get<GeneratorMain>(GeneratorAspect.id);\n const aspect = components[0];\n const fullAspectId = aspect.id.toString();\n const fromGlobal = await remoteGenerator.searchRegisteredWorkspaceTemplate.call(\n remoteGenerator,\n name,\n fullAspectId\n );\n return { workspaceTemplate: fromGlobal, aspect };\n }\n\n async findTemplateInOtherWorkspace(workspacePath: string, name: string, aspectId?: string) {\n if (!aspectId)\n throw new BitError(\n `to load a template from a different workspace, please provide the aspect-id using --aspect flag`\n );\n const harmony = await loadBit(workspacePath);\n let workspace: Workspace;\n try {\n workspace = harmony.get<Workspace>(WorkspaceAspect.id);\n } catch (err: any) {\n throw new Error(`fatal: \"${workspacePath}\" is not a valid Bit workspace, make sure the path is correct`);\n }\n const aspectComponentId = await workspace.resolveComponentId(aspectId);\n await workspace.loadAspects([aspectId], true);\n const aspectFullId = aspectComponentId.toString();\n const generator = harmony.get<GeneratorMain>(GeneratorAspect.id);\n return generator.searchRegisteredWorkspaceTemplate(name, aspectFullId);\n }\n\n /**\n * returns a specific workspace template.\n */\n async getWorkspaceTemplate(\n name: string,\n aspectId?: string\n ): Promise<{ workspaceTemplate: WorkspaceTemplate; aspect?: Component }> {\n const registeredTemplate = await this.searchRegisteredWorkspaceTemplate(name, aspectId);\n if (registeredTemplate) {\n return { workspaceTemplate: registeredTemplate };\n }\n if (!aspectId) {\n throw new BitError(`template \"${name}\" was not found, if this is a custom-template, please use --aspect flag`);\n }\n\n const { workspaceTemplate, aspect } = await this.findTemplateInGlobalScope(aspectId, name);\n if (workspaceTemplate) {\n return { workspaceTemplate, aspect };\n }\n throw new BitError(`template \"${name}\" was not found`);\n }\n\n async searchRegisteredWorkspaceTemplate(name?: string, aspectId?: string): Promise<WorkspaceTemplate | undefined> {\n const templates = this.getAllWorkspaceTemplatesFlattened();\n const found = templates.find(({ id, template }) => {\n if (aspectId && name) return aspectId === id && name === template.name;\n if (aspectId) return aspectId === id;\n if (name) return name === template.name;\n throw new Error(`searchRegisteredWorkspaceTemplate expects to get \"name\" or \"aspectId\"`);\n });\n return found?.template;\n }\n\n async generateComponentTemplate(\n componentNames: string[],\n templateName: string,\n options: CreateOptions\n ): Promise<GenerateResult[]> {\n if (!this.workspace) throw new ConsumerNotFound();\n await this.loadAspects();\n const { namespace, aspect: aspectId } = options;\n const templateWithId = this.getComponentTemplate(templateName, aspectId);\n if (!templateWithId) throw new BitError(`template \"${templateName}\" was not found`);\n\n const componentIds = componentNames.map((componentName) =>\n this.newComponentHelper.getNewComponentId(componentName, namespace, options.scope)\n );\n\n const componentGenerator = new ComponentGenerator(\n this.workspace,\n componentIds,\n options,\n templateWithId.template,\n this.envs,\n this.newComponentHelper,\n templateWithId.id\n );\n return componentGenerator.generate();\n }\n\n async generateWorkspaceTemplate(\n workspaceName: string,\n templateName: string,\n options: NewOptions\n ): Promise<GenerateWorkspaceTemplateResult> {\n if (this.workspace) {\n throw new BitError('Error: unable to generate a new workspace inside of an existing workspace');\n }\n const { aspect: aspectId, loadFrom } = options;\n let template: WorkspaceTemplate | undefined;\n let aspectComponent: Component | undefined;\n if (loadFrom) {\n template = await this.findTemplateInOtherWorkspace(loadFrom, templateName, aspectId);\n } else {\n const { workspaceTemplate, aspect } = await this.getWorkspaceTemplate(templateName, aspectId);\n template = workspaceTemplate;\n aspectComponent = aspect;\n }\n if (!template) throw new BitError(`template \"${templateName}\" was not found`);\n const workspaceGenerator = new WorkspaceGenerator(workspaceName, options, template, aspectComponent);\n const workspacePath = await workspaceGenerator.generate();\n\n return { workspacePath, appName: template.appName };\n }\n\n private getAllComponentTemplatesFlattened(): Array<{ id: string; template: ComponentTemplate }> {\n const templatesByAspects = this.componentTemplateSlot.toArray();\n return templatesByAspects.flatMap(([id, componentTemplates]) => {\n return componentTemplates.map((template) => ({\n id,\n template,\n }));\n });\n }\n\n private getAllWorkspaceTemplatesFlattened(): Array<{ id: string; template: WorkspaceTemplate }> {\n const templatesByAspects = this.workspaceTemplateSlot.toArray();\n return templatesByAspects.flatMap(([id, workspaceTemplates]) => {\n return workspaceTemplates.map((template) => ({\n id,\n template,\n }));\n });\n }\n\n private async loadAspects() {\n if (this.aspectLoaded) return;\n await this.workspace.loadAspects(this.config.aspects);\n this.aspectLoaded = true;\n }\n\n static slots = [Slot.withType<ComponentTemplate[]>(), Slot.withType<WorkspaceTemplate[]>()];\n\n static dependencies = [\n WorkspaceAspect,\n CLIAspect,\n GraphqlAspect,\n EnvsAspect,\n AspectLoaderAspect,\n NewComponentHelperAspect,\n CommunityAspect,\n ImporterAspect,\n ];\n\n static runtime = MainRuntime;\n\n static async provider(\n [workspace, cli, graphql, envs, aspectLoader, newComponentHelper, community, importer]: [\n Workspace,\n CLIMain,\n GraphqlMain,\n EnvsMain,\n AspectLoaderMain,\n NewComponentHelperMain,\n CommunityMain,\n ImporterMain\n ],\n config: GeneratorConfig,\n [componentTemplateSlot, workspaceTemplateSlot]: [ComponentTemplateSlot, WorkspaceTemplateSlot]\n ) {\n const generator = new GeneratorMain(\n componentTemplateSlot,\n workspaceTemplateSlot,\n config,\n workspace,\n envs,\n aspectLoader,\n newComponentHelper,\n importer\n );\n const commands = [\n new CreateCmd(generator, community.getDocsDomain()),\n new TemplatesCmd(generator),\n new NewCmd(generator),\n ];\n cli.register(...commands);\n graphql.register(generatorSchema(generator));\n aspectLoader.registerPlugins([new StarterPlugin(generator)]);\n\n generator.registerComponentTemplate([componentGeneratorTemplate, starterTemplate, workspaceGeneratorTemplate]);\n return generator;\n }\n}\n\nGeneratorAspect.addRuntime(GeneratorMain);\n"],"mappings":"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"}
package/dist/index.js CHANGED
@@ -63,34 +63,25 @@ Object.defineProperty(exports, "WorkspaceTemplate", {
63
63
  return _workspaceTemplate().WorkspaceTemplate;
64
64
  }
65
65
  });
66
-
67
66
  function _componentTemplate() {
68
67
  const data = require("./component-template");
69
-
70
68
  _componentTemplate = function () {
71
69
  return data;
72
70
  };
73
-
74
71
  return data;
75
72
  }
76
-
77
73
  function _workspaceTemplate() {
78
74
  const data = require("./workspace-template");
79
-
80
75
  _workspaceTemplate = function () {
81
76
  return data;
82
77
  };
83
-
84
78
  return data;
85
79
  }
86
-
87
80
  function _generator() {
88
81
  const data = require("./generator.aspect");
89
-
90
82
  _generator = function () {
91
83
  return data;
92
84
  };
93
-
94
85
  return data;
95
86
  }
96
87
 
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"names":[],"sources":["index.ts"],"sourcesContent":["export type { GeneratorMain } from './generator.main.runtime';\nexport {\n ComponentContext,\n ComponentTemplate,\n ComponentFile,\n ComponentConfig,\n ConfigContext,\n} from './component-template';\nexport { WorkspaceContext, WorkspaceTemplate, WorkspaceTemplate as Starter, WorkspaceFile } from './workspace-template';\nexport { GeneratorAspect } from './generator.aspect';\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA;EAAA;;EAAA;IAAA;EAAA;;EAAA;AAAA;;AAOA;EAAA;;EAAA;IAAA;EAAA;;EAAA;AAAA;;AACA;EAAA;;EAAA;IAAA;EAAA;;EAAA;AAAA"}
1
+ {"version":3,"names":[],"sources":["index.ts"],"sourcesContent":["export type { GeneratorMain } from './generator.main.runtime';\nexport {\n ComponentContext,\n ComponentTemplate,\n ComponentFile,\n ComponentConfig,\n ConfigContext,\n} from './component-template';\nexport { WorkspaceContext, WorkspaceTemplate, WorkspaceTemplate as Starter, WorkspaceFile } from './workspace-template';\nexport { GeneratorAspect } from './generator.aspect';\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AAOA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AACA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA"}