@teambit/generator 0.0.831 → 0.0.834

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 (60) hide show
  1. package/dist/generator.main.runtime.d.ts +4 -1
  2. package/dist/generator.main.runtime.js +40 -10
  3. package/dist/generator.main.runtime.js.map +1 -1
  4. package/dist/index.d.ts +1 -1
  5. package/dist/index.js +6 -0
  6. package/dist/index.js.map +1 -1
  7. package/dist/starter.plugin.d.ts +9 -0
  8. package/dist/starter.plugin.js +48 -0
  9. package/dist/starter.plugin.js.map +1 -0
  10. package/dist/templates/component-generator/index.js +1 -1
  11. package/dist/templates/component-generator/index.js.map +1 -1
  12. package/dist/templates/{workspace-generator → starter}/files/docs-file.d.ts +0 -0
  13. package/dist/templates/{workspace-generator → starter}/files/docs-file.js +0 -0
  14. package/dist/templates/{workspace-generator → starter}/files/docs-file.js.map +0 -0
  15. package/dist/templates/{workspace-generator → starter}/files/git-ignore-tpl.d.ts +0 -0
  16. package/dist/templates/{workspace-generator → starter}/files/git-ignore-tpl.js +0 -0
  17. package/dist/templates/{workspace-generator → starter}/files/git-ignore-tpl.js.map +0 -0
  18. package/dist/templates/{workspace-generator → starter}/files/index.d.ts +0 -0
  19. package/dist/templates/starter/files/index.js +16 -0
  20. package/dist/templates/starter/files/index.js.map +1 -0
  21. package/dist/templates/{workspace-generator → starter}/files/readme-tpl.d.ts +0 -0
  22. package/dist/templates/{workspace-generator → starter}/files/readme-tpl.js +0 -0
  23. package/dist/templates/{workspace-generator → starter}/files/readme-tpl.js.map +0 -0
  24. package/dist/templates/starter/files/starter.d.ts +1 -0
  25. package/dist/templates/{workspace-generator/files/index-tpl.js → starter/files/starter.js} +10 -8
  26. package/dist/templates/starter/files/starter.js.map +1 -0
  27. package/dist/templates/{workspace-generator → starter}/files/workspace-config-tpl.d.ts +0 -0
  28. package/dist/templates/{workspace-generator → starter}/files/workspace-config-tpl.js +1 -3
  29. package/dist/templates/{workspace-generator → starter}/files/workspace-config-tpl.js.map +1 -1
  30. package/dist/templates/starter/index.d.ts +2 -0
  31. package/dist/templates/starter/index.js +102 -0
  32. package/dist/templates/starter/index.js.map +1 -0
  33. package/dist/templates/workspace-generator/index.js +15 -101
  34. package/dist/templates/workspace-generator/index.js.map +1 -1
  35. package/package-tar/teambit-generator-0.0.834.tgz +0 -0
  36. package/package.json +21 -23
  37. package/{preview-1661830538885.js → preview-1662032648662.js} +2 -2
  38. package/templates/component-generator/index.ts +1 -1
  39. package/templates/{workspace-generator → starter}/files/docs-file.ts +0 -0
  40. package/templates/{workspace-generator → starter}/files/git-ignore-tpl.ts +0 -0
  41. package/templates/starter/files/index.ts +6 -0
  42. package/templates/{workspace-generator → starter}/files/readme-tpl.ts +0 -0
  43. package/templates/{workspace-generator/files/index-tpl.ts → starter/files/starter.ts} +9 -6
  44. package/templates/{workspace-generator → starter}/files/workspace-config-tpl.ts +1 -3
  45. package/templates/starter/index.ts +48 -0
  46. package/templates/workspace-generator/index.ts +5 -53
  47. package/dist/templates/workspace-generator/files/aspect-file.d.ts +0 -2
  48. package/dist/templates/workspace-generator/files/aspect-file.js +0 -20
  49. package/dist/templates/workspace-generator/files/aspect-file.js.map +0 -1
  50. package/dist/templates/workspace-generator/files/index-tpl.d.ts +0 -1
  51. package/dist/templates/workspace-generator/files/index-tpl.js.map +0 -1
  52. package/dist/templates/workspace-generator/files/index.js +0 -20
  53. package/dist/templates/workspace-generator/files/index.js.map +0 -1
  54. package/dist/templates/workspace-generator/files/main-runtime.d.ts +0 -2
  55. package/dist/templates/workspace-generator/files/main-runtime.js +0 -34
  56. package/dist/templates/workspace-generator/files/main-runtime.js.map +0 -1
  57. package/package-tar/teambit-generator-0.0.831.tgz +0 -0
  58. package/templates/workspace-generator/files/aspect-file.ts +0 -10
  59. package/templates/workspace-generator/files/index.ts +0 -10
  60. package/templates/workspace-generator/files/main-runtime.ts +0 -24
@@ -80,7 +80,10 @@ export declare class GeneratorMain {
80
80
  * in the case the aspect-id is given and this aspect doesn't exist locally, import it to the
81
81
  * global scope and load it from the capsule
82
82
  */
83
- findTemplateInGlobalScope(aspectId: string, name?: string): Promise<WorkspaceTemplate | undefined>;
83
+ findTemplateInGlobalScope(aspectId: string, name?: string): Promise<{
84
+ workspaceTemplate?: WorkspaceTemplate;
85
+ aspect?: Component;
86
+ }>;
84
87
  findTemplateInOtherWorkspace(workspacePath: string, name: string, aspectId?: string): Promise<WorkspaceTemplate | undefined>;
85
88
  /**
86
89
  * returns a specific workspace template.
@@ -237,6 +237,26 @@ function _workspaceGenerator2() {
237
237
  return data;
238
238
  }
239
239
 
240
+ function _starter() {
241
+ const data = require("./templates/starter");
242
+
243
+ _starter = function () {
244
+ return data;
245
+ };
246
+
247
+ return data;
248
+ }
249
+
250
+ function _starter2() {
251
+ const data = require("./starter.plugin");
252
+
253
+ _starter2 = function () {
254
+ return data;
255
+ };
256
+
257
+ return data;
258
+ }
259
+
240
260
  class GeneratorMain {
241
261
  constructor(componentTemplateSlot, workspaceTemplateSlot, config, workspace, envs, aspectLoader, newComponentHelper, importer) {
242
262
  this.componentTemplateSlot = componentTemplateSlot;
@@ -337,9 +357,18 @@ class GeneratorMain {
337
357
 
338
358
 
339
359
  async findTemplateInGlobalScope(aspectId, name) {
340
- const aspects = await this.aspectLoader.loadAspectsFromGlobalScope([aspectId]);
341
- const fullAspectId = aspects[0].id.toString();
342
- return this.searchRegisteredWorkspaceTemplate(name, fullAspectId);
360
+ const {
361
+ globalScopeHarmony,
362
+ components
363
+ } = await this.aspectLoader.loadAspectsFromGlobalScope([aspectId]);
364
+ const remoteGenerator = globalScopeHarmony.get(_generator().GeneratorAspect.id);
365
+ const aspect = components[0];
366
+ const fullAspectId = aspect.id.toString();
367
+ const fromGlobal = await remoteGenerator.searchRegisteredWorkspaceTemplate.call(remoteGenerator, name, fullAspectId);
368
+ return {
369
+ workspaceTemplate: fromGlobal,
370
+ aspect
371
+ };
343
372
  }
344
373
 
345
374
  async findTemplateInOtherWorkspace(workspacePath, name, aspectId) {
@@ -377,14 +406,14 @@ class GeneratorMain {
377
406
  throw new (_bitError().BitError)(`template "${name}" was not found, if this is a custom-template, please use --aspect flag`);
378
407
  }
379
408
 
380
- const aspects = await this.aspectLoader.loadAspectsFromGlobalScope([aspectId]);
381
- const aspect = aspects[0];
382
- const fullAspectId = aspect.id.toString();
383
- const fromGlobal = await this.searchRegisteredWorkspaceTemplate(name, fullAspectId);
409
+ const {
410
+ workspaceTemplate,
411
+ aspect
412
+ } = await this.findTemplateInGlobalScope(aspectId, name);
384
413
 
385
- if (fromGlobal) {
414
+ if (workspaceTemplate) {
386
415
  return {
387
- workspaceTemplate: fromGlobal,
416
+ workspaceTemplate,
388
417
  aspect
389
418
  };
390
419
  }
@@ -483,7 +512,8 @@ class GeneratorMain {
483
512
  const commands = [new (_create().CreateCmd)(generator, community.getDocsDomain()), new (_templates().TemplatesCmd)(generator), new (_new().NewCmd)(generator)];
484
513
  cli.register(...commands);
485
514
  graphql.register((0, _generator2().generatorSchema)(generator));
486
- generator.registerComponentTemplate([_componentGenerator2().componentGeneratorTemplate, _workspaceGenerator2().workspaceGeneratorTemplate]);
515
+ aspectLoader.registerPlugins([new (_starter2().StarterPlugin)(generator)]);
516
+ generator.registerComponentTemplate([_componentGenerator2().componentGeneratorTemplate, _starter().starterTemplate, _workspaceGenerator2().workspaceGeneratorTemplate]);
487
517
  return generator;
488
518
  }
489
519
 
@@ -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","aspects","loadAspectsFromGlobalScope","fullAspectId","toString","searchRegisteredWorkspaceTemplate","findTemplateInOtherWorkspace","workspacePath","BitError","harmony","loadBit","WorkspaceAspect","err","Error","aspectComponentId","resolveComponentId","loadAspects","aspectFullId","generator","GeneratorAspect","getWorkspaceTemplate","registeredTemplate","workspaceTemplate","aspect","fromGlobal","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","provider","cli","graphql","community","commands","CreateCmd","getDocsDomain","TemplatesCmd","NewCmd","generatorSchema","componentGeneratorTemplate","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';\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(aspectId: string, name?: string): Promise<WorkspaceTemplate | undefined> {\n const aspects = await this.aspectLoader.loadAspectsFromGlobalScope([aspectId]);\n const fullAspectId = aspects[0].id.toString();\n return this.searchRegisteredWorkspaceTemplate(name, fullAspectId);\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 const aspects = await this.aspectLoader.loadAspectsFromGlobalScope([aspectId]);\n const aspect = aspects[0];\n const fullAspectId = aspect.id.toString();\n const fromGlobal = await this.searchRegisteredWorkspaceTemplate(name, fullAspectId);\n if (fromGlobal) {\n return { workspaceTemplate: fromGlobal, 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 generator.registerComponentTemplate([componentGeneratorTemplate, 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.d.ts CHANGED
@@ -1,4 +1,4 @@
1
1
  export type { GeneratorMain } from './generator.main.runtime';
2
2
  export { ComponentContext, ComponentTemplate, ComponentFile, ComponentConfig, ConfigContext, } from './component-template';
3
- export { WorkspaceContext, WorkspaceTemplate, WorkspaceFile } from './workspace-template';
3
+ export { WorkspaceContext, WorkspaceTemplate, WorkspaceTemplate as Starter, WorkspaceFile } from './workspace-template';
4
4
  export { GeneratorAspect } from './generator.aspect';
package/dist/index.js CHANGED
@@ -39,6 +39,12 @@ Object.defineProperty(exports, "GeneratorAspect", {
39
39
  return _generator().GeneratorAspect;
40
40
  }
41
41
  });
42
+ Object.defineProperty(exports, "Starter", {
43
+ enumerable: true,
44
+ get: function () {
45
+ return _workspaceTemplate().WorkspaceTemplate;
46
+ }
47
+ });
42
48
  Object.defineProperty(exports, "WorkspaceContext", {
43
49
  enumerable: true,
44
50
  get: function () {
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, 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"}
@@ -0,0 +1,9 @@
1
+ import { PluginDefinition } from '@teambit/aspect-loader';
2
+ import { GeneratorMain } from './generator.main.runtime';
3
+ export declare class StarterPlugin implements PluginDefinition {
4
+ private generator;
5
+ constructor(generator: GeneratorMain);
6
+ pattern: string;
7
+ runtimes: string[];
8
+ register(object: any): Promise<GeneratorMain>;
9
+ }
@@ -0,0 +1,48 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ require("core-js/modules/es.promise.js");
6
+
7
+ Object.defineProperty(exports, "__esModule", {
8
+ value: true
9
+ });
10
+ exports.StarterPlugin = void 0;
11
+
12
+ function _defineProperty2() {
13
+ const data = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
14
+
15
+ _defineProperty2 = function () {
16
+ return data;
17
+ };
18
+
19
+ return data;
20
+ }
21
+
22
+ function _cli() {
23
+ const data = require("@teambit/cli");
24
+
25
+ _cli = function () {
26
+ return data;
27
+ };
28
+
29
+ return data;
30
+ }
31
+
32
+ class StarterPlugin {
33
+ constructor(generator) {
34
+ this.generator = generator;
35
+ (0, _defineProperty2().default)(this, "pattern", '*.starter.*');
36
+ (0, _defineProperty2().default)(this, "runtimes", [_cli().MainRuntime.name]);
37
+ }
38
+
39
+ async register(object) {
40
+ const templates = Array.isArray(object) ? object : [object];
41
+ return this.generator.registerWorkspaceTemplate(templates);
42
+ }
43
+
44
+ }
45
+
46
+ exports.StarterPlugin = StarterPlugin;
47
+
48
+ //# sourceMappingURL=starter.plugin.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["StarterPlugin","constructor","generator","MainRuntime","name","register","object","templates","Array","isArray","registerWorkspaceTemplate"],"sources":["starter.plugin.ts"],"sourcesContent":["import { PluginDefinition } from '@teambit/aspect-loader';\nimport { MainRuntime } from '@teambit/cli';\nimport { GeneratorMain } from './generator.main.runtime';\n\nexport class StarterPlugin implements PluginDefinition {\n constructor(private generator: GeneratorMain) {}\n\n pattern = '*.starter.*';\n\n runtimes = [MainRuntime.name];\n\n async register(object: any) {\n const templates = Array.isArray(object) ? object : [object];\n return this.generator.registerWorkspaceTemplate(templates);\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;AACA;EAAA;;EAAA;IAAA;EAAA;;EAAA;AAAA;;AAGO,MAAMA,aAAN,CAAgD;EACrDC,WAAW,CAASC,SAAT,EAAmC;IAAA,KAA1BA,SAA0B,GAA1BA,SAA0B;IAAA,iDAEpC,aAFoC;IAAA,kDAInC,CAACC,kBAAA,CAAYC,IAAb,CAJmC;EAAE;;EAMlC,MAARC,QAAQ,CAACC,MAAD,EAAc;IAC1B,MAAMC,SAAS,GAAGC,KAAK,CAACC,OAAN,CAAcH,MAAd,IAAwBA,MAAxB,GAAiC,CAACA,MAAD,CAAnD;IACA,OAAO,KAAKJ,SAAL,CAAeQ,yBAAf,CAAyCH,SAAzC,CAAP;EACD;;AAVoD"}
@@ -47,7 +47,7 @@ function _mainRuntime() {
47
47
 
48
48
  const componentGeneratorTemplate = {
49
49
  name: 'component-generator',
50
- description: 'create your own component generator \nDocs: https://bit.dev/docs/dev-services-overview/generator/generate-component',
50
+ description: 'create your own component generator \nDocs: https://bit.dev/docs/dev-services/generator/generate-component',
51
51
  generateFiles: context => {
52
52
  return [{
53
53
  relativePath: 'index.ts',
@@ -1 +1 @@
1
- {"version":3,"names":["componentGeneratorTemplate","name","description","generateFiles","context","relativePath","content","indexFile","isMain","aspectFile","docsFile","mainRuntime","config","env"],"sources":["index.ts"],"sourcesContent":["import { ComponentContext, ComponentTemplate } from '@teambit/generator';\nimport { indexFile } from './files/index';\nimport { aspectFile } from './files/aspect-file';\nimport { docsFile } from './files/docs-file';\nimport { mainRuntime } from './files/main-runtime';\n\nexport const componentGeneratorTemplate: ComponentTemplate = {\n name: 'component-generator',\n description:\n 'create your own component generator \\nDocs: https://bit.dev/docs/dev-services-overview/generator/generate-component',\n generateFiles: (context: ComponentContext) => {\n return [\n {\n relativePath: 'index.ts',\n content: indexFile(context),\n isMain: true,\n },\n {\n relativePath: `${context.name}.aspect.ts`,\n content: aspectFile(context),\n },\n {\n relativePath: `${context.name}.docs.mdx`,\n content: docsFile(),\n },\n {\n relativePath: `${context.name}.main.runtime.ts`,\n content: mainRuntime(context),\n },\n ];\n },\n config: {\n 'teambit.harmony/aspect': {},\n 'teambit.envs/envs': {\n env: 'teambit.harmony/aspect',\n },\n },\n};\n"],"mappings":";;;;;;;AACA;EAAA;;EAAA;IAAA;EAAA;;EAAA;AAAA;;AACA;EAAA;;EAAA;IAAA;EAAA;;EAAA;AAAA;;AACA;EAAA;;EAAA;IAAA;EAAA;;EAAA;AAAA;;AACA;EAAA;;EAAA;IAAA;EAAA;;EAAA;AAAA;;AAEO,MAAMA,0BAA6C,GAAG;EAC3DC,IAAI,EAAE,qBADqD;EAE3DC,WAAW,EACT,qHAHyD;EAI3DC,aAAa,EAAGC,OAAD,IAA+B;IAC5C,OAAO,CACL;MACEC,YAAY,EAAE,UADhB;MAEEC,OAAO,EAAE,IAAAC,kBAAA,EAAUH,OAAV,CAFX;MAGEI,MAAM,EAAE;IAHV,CADK,EAML;MACEH,YAAY,EAAG,GAAED,OAAO,CAACH,IAAK,YADhC;MAEEK,OAAO,EAAE,IAAAG,wBAAA,EAAWL,OAAX;IAFX,CANK,EAUL;MACEC,YAAY,EAAG,GAAED,OAAO,CAACH,IAAK,WADhC;MAEEK,OAAO,EAAE,IAAAI,oBAAA;IAFX,CAVK,EAcL;MACEL,YAAY,EAAG,GAAED,OAAO,CAACH,IAAK,kBADhC;MAEEK,OAAO,EAAE,IAAAK,0BAAA,EAAYP,OAAZ;IAFX,CAdK,CAAP;EAmBD,CAxB0D;EAyB3DQ,MAAM,EAAE;IACN,0BAA0B,EADpB;IAEN,qBAAqB;MACnBC,GAAG,EAAE;IADc;EAFf;AAzBmD,CAAtD"}
1
+ {"version":3,"names":["componentGeneratorTemplate","name","description","generateFiles","context","relativePath","content","indexFile","isMain","aspectFile","docsFile","mainRuntime","config","env"],"sources":["index.ts"],"sourcesContent":["import { ComponentContext, ComponentTemplate } from '@teambit/generator';\nimport { indexFile } from './files/index';\nimport { aspectFile } from './files/aspect-file';\nimport { docsFile } from './files/docs-file';\nimport { mainRuntime } from './files/main-runtime';\n\nexport const componentGeneratorTemplate: ComponentTemplate = {\n name: 'component-generator',\n description:\n 'create your own component generator \\nDocs: https://bit.dev/docs/dev-services/generator/generate-component',\n generateFiles: (context: ComponentContext) => {\n return [\n {\n relativePath: 'index.ts',\n content: indexFile(context),\n isMain: true,\n },\n {\n relativePath: `${context.name}.aspect.ts`,\n content: aspectFile(context),\n },\n {\n relativePath: `${context.name}.docs.mdx`,\n content: docsFile(),\n },\n {\n relativePath: `${context.name}.main.runtime.ts`,\n content: mainRuntime(context),\n },\n ];\n },\n config: {\n 'teambit.harmony/aspect': {},\n 'teambit.envs/envs': {\n env: 'teambit.harmony/aspect',\n },\n },\n};\n"],"mappings":";;;;;;;AACA;EAAA;;EAAA;IAAA;EAAA;;EAAA;AAAA;;AACA;EAAA;;EAAA;IAAA;EAAA;;EAAA;AAAA;;AACA;EAAA;;EAAA;IAAA;EAAA;;EAAA;AAAA;;AACA;EAAA;;EAAA;IAAA;EAAA;;EAAA;AAAA;;AAEO,MAAMA,0BAA6C,GAAG;EAC3DC,IAAI,EAAE,qBADqD;EAE3DC,WAAW,EACT,4GAHyD;EAI3DC,aAAa,EAAGC,OAAD,IAA+B;IAC5C,OAAO,CACL;MACEC,YAAY,EAAE,UADhB;MAEEC,OAAO,EAAE,IAAAC,kBAAA,EAAUH,OAAV,CAFX;MAGEI,MAAM,EAAE;IAHV,CADK,EAML;MACEH,YAAY,EAAG,GAAED,OAAO,CAACH,IAAK,YADhC;MAEEK,OAAO,EAAE,IAAAG,wBAAA,EAAWL,OAAX;IAFX,CANK,EAUL;MACEC,YAAY,EAAG,GAAED,OAAO,CAACH,IAAK,WADhC;MAEEK,OAAO,EAAE,IAAAI,oBAAA;IAFX,CAVK,EAcL;MACEL,YAAY,EAAG,GAAED,OAAO,CAACH,IAAK,kBADhC;MAEEK,OAAO,EAAE,IAAAK,0BAAA,EAAYP,OAAZ;IAFX,CAdK,CAAP;EAmBD,CAxB0D;EAyB3DQ,MAAM,EAAE;IACN,0BAA0B,EADpB;IAEN,qBAAqB;MACnBC,GAAG,EAAE;IADc;EAFf;AAzBmD,CAAtD"}
@@ -0,0 +1,16 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.indexFile = indexFile;
7
+
8
+ function indexFile({
9
+ namePascalCase,
10
+ name
11
+ }) {
12
+ return `export { starter as ${namePascalCase}Starter } from './${name}.starter';
13
+ `;
14
+ }
15
+
16
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["indexFile","namePascalCase","name"],"sources":["index.ts"],"sourcesContent":["import { ComponentContext } from '@teambit/generator';\n\nexport function indexFile({ namePascalCase, name }: ComponentContext) {\n return `export { starter as ${namePascalCase}Starter } from './${name}.starter';\n`;\n}\n"],"mappings":";;;;;;;AAEO,SAASA,SAAT,CAAmB;EAAEC,cAAF;EAAkBC;AAAlB,CAAnB,EAA+D;EACpE,OAAQ,uBAAsBD,cAAe,qBAAoBC,IAAK;AACxE,CADE;AAED"}
@@ -0,0 +1 @@
1
+ export declare function starterFile(): string;
@@ -3,15 +3,15 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.indexTemplate = indexTemplate;
6
+ exports.starterFile = starterFile;
7
7
 
8
- function indexTemplate() {
9
- return `import { WorkspaceContext, WorkspaceTemplate } from '@teambit/generator';
10
- import { workspaceConfig } from './files/workspace-config';
11
- import { readme } from './files/readme-file';
12
- import { gitIgnore } from './files/git-ignore';
8
+ function starterFile() {
9
+ return `import { WorkspaceContext, Starter } from '@teambit/generator';
10
+ import { workspaceConfig } from './template/files/workspace-config';
11
+ import { readme } from './template/files/readme-file';
12
+ import { gitIgnore } from './template/files/git-ignore';
13
13
 
14
- export const workspaceTemplate: WorkspaceTemplate = {
14
+ export const starter: Starter = {
15
15
  name: 'template-example',
16
16
  description: 'demonstration of a workspace template',
17
17
  generateFiles: async (context: WorkspaceContext) => [
@@ -32,7 +32,9 @@ export const workspaceTemplate: WorkspaceTemplate = {
32
32
  { id: 'teambit.react/templates/ui/text', path: 'ui/text' },
33
33
  ],
34
34
  };
35
+
36
+ export default starter;
35
37
  `;
36
38
  }
37
39
 
38
- //# sourceMappingURL=index-tpl.js.map
40
+ //# sourceMappingURL=starter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["starterFile"],"sources":["starter.ts"],"sourcesContent":["export function starterFile() {\n return `import { WorkspaceContext, Starter } from '@teambit/generator';\nimport { workspaceConfig } from './template/files/workspace-config';\nimport { readme } from './template/files/readme-file';\nimport { gitIgnore } from './template/files/git-ignore';\n\nexport const starter: Starter = {\n name: 'template-example',\n description: 'demonstration of a workspace template',\n generateFiles: async (context: WorkspaceContext) => [\n {\n relativePath: 'workspace.jsonc',\n content: await workspaceConfig(context),\n },\n {\n relativePath: '.gitignore',\n content: gitIgnore(),\n },\n {\n relativePath: 'README.md',\n content: readme(),\n },\n ],\n importComponents: () => [\n { id: 'teambit.react/templates/ui/text', path: 'ui/text' },\n ],\n};\n\nexport default starter;\n`;\n}\n\n"],"mappings":";;;;;;;AAAO,SAASA,WAAT,GAAuB;EAC5B,OAAQ;AACV;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CA5BE;AA6BD"}
@@ -14,9 +14,7 @@ export async function workspaceConfig({ name, defaultScope }: WorkspaceContext)
14
14
  configParsed['teambit.workspace/workspace'].name = name;
15
15
  configParsed['teambit.workspace/workspace'].defaultScope = defaultScope || 'company.scope';
16
16
  configParsed['teambit.workspace/variants'] = {
17
- '*': {
18
- 'teambit.react/react': {},
19
- },
17
+ '*': {},
20
18
  };
21
19
 
22
20
  return stringifyWorkspaceConfig(configParsed);
@@ -1 +1 @@
1
- {"version":3,"names":["workspaceConfigTemplate"],"sources":["workspace-config-tpl.ts"],"sourcesContent":["export function workspaceConfigTemplate() {\n return `import { WorkspaceContext } from '@teambit/generator';\nimport { getWorkspaceConfigTemplateParsed, stringifyWorkspaceConfig } from '@teambit/config';\n\nexport async function workspaceConfig({ name, defaultScope }: WorkspaceContext) {\n const configParsed = await getWorkspaceConfigTemplateParsed();\n configParsed['teambit.workspace/workspace'].name = name;\n configParsed['teambit.workspace/workspace'].defaultScope = defaultScope || 'company.scope';\n configParsed['teambit.workspace/variants'] = {\n '*': {\n 'teambit.react/react': {},\n },\n };\n\n return stringifyWorkspaceConfig(configParsed);\n}\n`;\n}\n"],"mappings":";;;;;;;AAAO,SAASA,uBAAT,GAAmC;EACxC,OAAQ;AACV;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAfE;AAgBD"}
1
+ {"version":3,"names":["workspaceConfigTemplate"],"sources":["workspace-config-tpl.ts"],"sourcesContent":["export function workspaceConfigTemplate() {\n return `import { WorkspaceContext } from '@teambit/generator';\nimport { getWorkspaceConfigTemplateParsed, stringifyWorkspaceConfig } from '@teambit/config';\n\nexport async function workspaceConfig({ name, defaultScope }: WorkspaceContext) {\n const configParsed = await getWorkspaceConfigTemplateParsed();\n configParsed['teambit.workspace/workspace'].name = name;\n configParsed['teambit.workspace/workspace'].defaultScope = defaultScope || 'company.scope';\n configParsed['teambit.workspace/variants'] = {\n '*': {},\n };\n\n return stringifyWorkspaceConfig(configParsed);\n}\n`;\n}\n"],"mappings":";;;;;;;AAAO,SAASA,uBAAT,GAAmC;EACxC,OAAQ;AACV;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAbE;AAcD"}
@@ -0,0 +1,2 @@
1
+ import { ComponentTemplate } from '@teambit/generator';
2
+ export declare const starterTemplate: ComponentTemplate;
@@ -0,0 +1,102 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.starterTemplate = void 0;
7
+
8
+ function _index() {
9
+ const data = require("./files/index");
10
+
11
+ _index = function () {
12
+ return data;
13
+ };
14
+
15
+ return data;
16
+ }
17
+
18
+ function _starter() {
19
+ const data = require("./files/starter");
20
+
21
+ _starter = function () {
22
+ return data;
23
+ };
24
+
25
+ return data;
26
+ }
27
+
28
+ function _docsFile() {
29
+ const data = require("./files/docs-file");
30
+
31
+ _docsFile = function () {
32
+ return data;
33
+ };
34
+
35
+ return data;
36
+ }
37
+
38
+ function _gitIgnoreTpl() {
39
+ const data = require("./files/git-ignore-tpl");
40
+
41
+ _gitIgnoreTpl = function () {
42
+ return data;
43
+ };
44
+
45
+ return data;
46
+ }
47
+
48
+ function _readmeTpl() {
49
+ const data = require("./files/readme-tpl");
50
+
51
+ _readmeTpl = function () {
52
+ return data;
53
+ };
54
+
55
+ return data;
56
+ }
57
+
58
+ function _workspaceConfigTpl() {
59
+ const data = require("./files/workspace-config-tpl");
60
+
61
+ _workspaceConfigTpl = function () {
62
+ return data;
63
+ };
64
+
65
+ return data;
66
+ }
67
+
68
+ const starterTemplate = {
69
+ name: 'starter',
70
+ description: 'create your own starter - \nDocs: https://bit.dev/docs/dev-services/generator/generate-workspace',
71
+ generateFiles: context => {
72
+ return [{
73
+ relativePath: 'index.ts',
74
+ content: (0, _index().indexFile)(context),
75
+ isMain: true
76
+ }, {
77
+ relativePath: `${context.name}.starter.ts`,
78
+ content: (0, _starter().starterFile)()
79
+ }, {
80
+ relativePath: `${context.name}.docs.mdx`,
81
+ content: (0, _docsFile().docsFile)()
82
+ }, {
83
+ relativePath: 'template/files/git-ignore.ts',
84
+ content: (0, _gitIgnoreTpl().gitIgnoreTemplate)()
85
+ }, {
86
+ relativePath: 'template/files/readme-file.ts',
87
+ content: (0, _readmeTpl().readmeTemplate)()
88
+ }, {
89
+ relativePath: 'template/files/workspace-config.ts',
90
+ content: (0, _workspaceConfigTpl().workspaceConfigTemplate)()
91
+ }];
92
+ },
93
+ config: {
94
+ 'teambit.harmony/aspect': {},
95
+ 'teambit.envs/envs': {
96
+ env: 'teambit.harmony/aspect'
97
+ }
98
+ }
99
+ };
100
+ exports.starterTemplate = starterTemplate;
101
+
102
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["starterTemplate","name","description","generateFiles","context","relativePath","content","indexFile","isMain","starterFile","docsFile","gitIgnoreTemplate","readmeTemplate","workspaceConfigTemplate","config","env"],"sources":["index.ts"],"sourcesContent":["import { ComponentContext, ComponentTemplate } from '@teambit/generator';\nimport { indexFile } from './files/index';\nimport { starterFile } from './files/starter';\nimport { docsFile } from './files/docs-file';\nimport { gitIgnoreTemplate } from './files/git-ignore-tpl';\nimport { readmeTemplate } from './files/readme-tpl';\nimport { workspaceConfigTemplate } from './files/workspace-config-tpl';\n\nexport const starterTemplate: ComponentTemplate = {\n name: 'starter',\n description:\n 'create your own starter - \\nDocs: https://bit.dev/docs/dev-services/generator/generate-workspace',\n generateFiles: (context: ComponentContext) => {\n return [\n {\n relativePath: 'index.ts',\n content: indexFile(context),\n isMain: true,\n },\n {\n relativePath: `${context.name}.starter.ts`,\n content: starterFile(),\n },\n {\n relativePath: `${context.name}.docs.mdx`,\n content: docsFile(),\n },\n {\n relativePath: 'template/files/git-ignore.ts',\n content: gitIgnoreTemplate(),\n },\n {\n relativePath: 'template/files/readme-file.ts',\n content: readmeTemplate(),\n },\n {\n relativePath: 'template/files/workspace-config.ts',\n content: workspaceConfigTemplate(),\n },\n ];\n },\n config: {\n 'teambit.harmony/aspect': {},\n 'teambit.envs/envs': {\n env: 'teambit.harmony/aspect',\n },\n },\n};\n"],"mappings":";;;;;;;AACA;EAAA;;EAAA;IAAA;EAAA;;EAAA;AAAA;;AACA;EAAA;;EAAA;IAAA;EAAA;;EAAA;AAAA;;AACA;EAAA;;EAAA;IAAA;EAAA;;EAAA;AAAA;;AACA;EAAA;;EAAA;IAAA;EAAA;;EAAA;AAAA;;AACA;EAAA;;EAAA;IAAA;EAAA;;EAAA;AAAA;;AACA;EAAA;;EAAA;IAAA;EAAA;;EAAA;AAAA;;AAEO,MAAMA,eAAkC,GAAG;EAChDC,IAAI,EAAE,SAD0C;EAEhDC,WAAW,EACT,kGAH8C;EAIhDC,aAAa,EAAGC,OAAD,IAA+B;IAC5C,OAAO,CACL;MACEC,YAAY,EAAE,UADhB;MAEEC,OAAO,EAAE,IAAAC,kBAAA,EAAUH,OAAV,CAFX;MAGEI,MAAM,EAAE;IAHV,CADK,EAML;MACEH,YAAY,EAAG,GAAED,OAAO,CAACH,IAAK,aADhC;MAEEK,OAAO,EAAE,IAAAG,sBAAA;IAFX,CANK,EAUL;MACEJ,YAAY,EAAG,GAAED,OAAO,CAACH,IAAK,WADhC;MAEEK,OAAO,EAAE,IAAAI,oBAAA;IAFX,CAVK,EAcL;MACEL,YAAY,EAAE,8BADhB;MAEEC,OAAO,EAAE,IAAAK,iCAAA;IAFX,CAdK,EAkBL;MACEN,YAAY,EAAE,+BADhB;MAEEC,OAAO,EAAE,IAAAM,2BAAA;IAFX,CAlBK,EAsBL;MACEP,YAAY,EAAE,oCADhB;MAEEC,OAAO,EAAE,IAAAO,6CAAA;IAFX,CAtBK,CAAP;EA2BD,CAhC+C;EAiChDC,MAAM,EAAE;IACN,0BAA0B,EADpB;IAEN,qBAAqB;MACnBC,GAAG,EAAE;IADc;EAFf;AAjCwC,CAA3C"}
@@ -1,128 +1,42 @@
1
1
  "use strict";
2
2
 
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
3
5
  Object.defineProperty(exports, "__esModule", {
4
6
  value: true
5
7
  });
6
8
  exports.workspaceGeneratorTemplate = void 0;
7
9
 
8
- function _index() {
9
- const data = require("./files/index");
10
-
11
- _index = function () {
12
- return data;
13
- };
14
-
15
- return data;
16
- }
17
-
18
- function _aspectFile() {
19
- const data = require("./files/aspect-file");
20
-
21
- _aspectFile = function () {
22
- return data;
23
- };
24
-
25
- return data;
26
- }
27
-
28
- function _docsFile() {
29
- const data = require("./files/docs-file");
10
+ function _defineProperty2() {
11
+ const data = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
30
12
 
31
- _docsFile = function () {
13
+ _defineProperty2 = function () {
32
14
  return data;
33
15
  };
34
16
 
35
17
  return data;
36
18
  }
37
19
 
38
- function _mainRuntime() {
39
- const data = require("./files/main-runtime");
20
+ function _starter() {
21
+ const data = require("../starter");
40
22
 
41
- _mainRuntime = function () {
23
+ _starter = function () {
42
24
  return data;
43
25
  };
44
26
 
45
27
  return data;
46
28
  }
47
29
 
48
- function _gitIgnoreTpl() {
49
- const data = require("./files/git-ignore-tpl");
30
+ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
50
31
 
51
- _gitIgnoreTpl = function () {
52
- return data;
53
- };
32
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2().default)(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
54
33
 
55
- return data;
56
- }
57
-
58
- function _readmeTpl() {
59
- const data = require("./files/readme-tpl");
60
-
61
- _readmeTpl = function () {
62
- return data;
63
- };
64
-
65
- return data;
66
- }
67
-
68
- function _indexTpl() {
69
- const data = require("./files/index-tpl");
70
-
71
- _indexTpl = function () {
72
- return data;
73
- };
74
-
75
- return data;
76
- }
77
-
78
- function _workspaceConfigTpl() {
79
- const data = require("./files/workspace-config-tpl");
80
-
81
- _workspaceConfigTpl = function () {
82
- return data;
83
- };
84
-
85
- return data;
86
- }
87
-
88
- const workspaceGeneratorTemplate = {
34
+ // TODO: This is deprecated and should be removed once we update the docs to use the new starter template.
35
+ const workspaceGeneratorTemplate = _objectSpread(_objectSpread({}, _starter().starterTemplate), {}, {
89
36
  name: 'workspace-generator',
90
- description: 'create your own workspace generator - \nDocs: https://bit.dev/docs/dev-services-overview/generator/generate-workspace',
91
- generateFiles: context => {
92
- return [{
93
- relativePath: 'index.ts',
94
- content: (0, _index().indexFile)(context),
95
- isMain: true
96
- }, {
97
- relativePath: `${context.name}.aspect.ts`,
98
- content: (0, _aspectFile().aspectFile)(context)
99
- }, {
100
- relativePath: `${context.name}.main.runtime.ts`,
101
- content: (0, _mainRuntime().mainRuntime)(context)
102
- }, {
103
- relativePath: `${context.name}.docs.mdx`,
104
- content: (0, _docsFile().docsFile)()
105
- }, {
106
- relativePath: 'template/files/git-ignore.ts',
107
- content: (0, _gitIgnoreTpl().gitIgnoreTemplate)()
108
- }, {
109
- relativePath: 'template/files/readme-file.ts',
110
- content: (0, _readmeTpl().readmeTemplate)()
111
- }, {
112
- relativePath: 'template/files/workspace-config.ts',
113
- content: (0, _workspaceConfigTpl().workspaceConfigTemplate)()
114
- }, {
115
- relativePath: 'template/index.ts',
116
- content: (0, _indexTpl().indexTemplate)()
117
- }];
118
- },
119
- config: {
120
- 'teambit.harmony/aspect': {},
121
- 'teambit.envs/envs': {
122
- env: 'teambit.harmony/aspect'
123
- }
124
- }
125
- };
37
+ description: 'DEPRECATED: use "starter" instead.\ncreate your own workspace generator - \nDocs: https://bit.dev/docs/dev-services/generator/generate-workspace'
38
+ });
39
+
126
40
  exports.workspaceGeneratorTemplate = workspaceGeneratorTemplate;
127
41
 
128
42
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["workspaceGeneratorTemplate","name","description","generateFiles","context","relativePath","content","indexFile","isMain","aspectFile","mainRuntime","docsFile","gitIgnoreTemplate","readmeTemplate","workspaceConfigTemplate","indexTemplate","config","env"],"sources":["index.ts"],"sourcesContent":["import { ComponentContext, ComponentTemplate } from '@teambit/generator';\nimport { indexFile } from './files/index';\nimport { aspectFile } from './files/aspect-file';\nimport { docsFile } from './files/docs-file';\nimport { mainRuntime } from './files/main-runtime';\nimport { gitIgnoreTemplate } from './files/git-ignore-tpl';\nimport { readmeTemplate } from './files/readme-tpl';\nimport { indexTemplate } from './files/index-tpl';\nimport { workspaceConfigTemplate } from './files/workspace-config-tpl';\n\nexport const workspaceGeneratorTemplate: ComponentTemplate = {\n name: 'workspace-generator',\n description:\n 'create your own workspace generator - \\nDocs: https://bit.dev/docs/dev-services-overview/generator/generate-workspace',\n generateFiles: (context: ComponentContext) => {\n return [\n {\n relativePath: 'index.ts',\n content: indexFile(context),\n isMain: true,\n },\n {\n relativePath: `${context.name}.aspect.ts`,\n content: aspectFile(context),\n },\n {\n relativePath: `${context.name}.main.runtime.ts`,\n content: mainRuntime(context),\n },\n {\n relativePath: `${context.name}.docs.mdx`,\n content: docsFile(),\n },\n {\n relativePath: 'template/files/git-ignore.ts',\n content: gitIgnoreTemplate(),\n },\n {\n relativePath: 'template/files/readme-file.ts',\n content: readmeTemplate(),\n },\n {\n relativePath: 'template/files/workspace-config.ts',\n content: workspaceConfigTemplate(),\n },\n {\n relativePath: 'template/index.ts',\n content: indexTemplate(),\n },\n ];\n },\n config: {\n 'teambit.harmony/aspect': {},\n 'teambit.envs/envs': {\n env: 'teambit.harmony/aspect',\n },\n },\n};\n"],"mappings":";;;;;;;AACA;EAAA;;EAAA;IAAA;EAAA;;EAAA;AAAA;;AACA;EAAA;;EAAA;IAAA;EAAA;;EAAA;AAAA;;AACA;EAAA;;EAAA;IAAA;EAAA;;EAAA;AAAA;;AACA;EAAA;;EAAA;IAAA;EAAA;;EAAA;AAAA;;AACA;EAAA;;EAAA;IAAA;EAAA;;EAAA;AAAA;;AACA;EAAA;;EAAA;IAAA;EAAA;;EAAA;AAAA;;AACA;EAAA;;EAAA;IAAA;EAAA;;EAAA;AAAA;;AACA;EAAA;;EAAA;IAAA;EAAA;;EAAA;AAAA;;AAEO,MAAMA,0BAA6C,GAAG;EAC3DC,IAAI,EAAE,qBADqD;EAE3DC,WAAW,EACT,uHAHyD;EAI3DC,aAAa,EAAGC,OAAD,IAA+B;IAC5C,OAAO,CACL;MACEC,YAAY,EAAE,UADhB;MAEEC,OAAO,EAAE,IAAAC,kBAAA,EAAUH,OAAV,CAFX;MAGEI,MAAM,EAAE;IAHV,CADK,EAML;MACEH,YAAY,EAAG,GAAED,OAAO,CAACH,IAAK,YADhC;MAEEK,OAAO,EAAE,IAAAG,wBAAA,EAAWL,OAAX;IAFX,CANK,EAUL;MACEC,YAAY,EAAG,GAAED,OAAO,CAACH,IAAK,kBADhC;MAEEK,OAAO,EAAE,IAAAI,0BAAA,EAAYN,OAAZ;IAFX,CAVK,EAcL;MACEC,YAAY,EAAG,GAAED,OAAO,CAACH,IAAK,WADhC;MAEEK,OAAO,EAAE,IAAAK,oBAAA;IAFX,CAdK,EAkBL;MACEN,YAAY,EAAE,8BADhB;MAEEC,OAAO,EAAE,IAAAM,iCAAA;IAFX,CAlBK,EAsBL;MACEP,YAAY,EAAE,+BADhB;MAEEC,OAAO,EAAE,IAAAO,2BAAA;IAFX,CAtBK,EA0BL;MACER,YAAY,EAAE,oCADhB;MAEEC,OAAO,EAAE,IAAAQ,6CAAA;IAFX,CA1BK,EA8BL;MACET,YAAY,EAAE,mBADhB;MAEEC,OAAO,EAAE,IAAAS,yBAAA;IAFX,CA9BK,CAAP;EAmCD,CAxC0D;EAyC3DC,MAAM,EAAE;IACN,0BAA0B,EADpB;IAEN,qBAAqB;MACnBC,GAAG,EAAE;IADc;EAFf;AAzCmD,CAAtD"}
1
+ {"version":3,"names":["workspaceGeneratorTemplate","starterTemplate","name","description"],"sources":["index.ts"],"sourcesContent":["import { ComponentTemplate } from '@teambit/generator';\nimport { starterTemplate } from '../starter';\n\n// TODO: This is deprecated and should be removed once we update the docs to use the new starter template.\nexport const workspaceGeneratorTemplate: ComponentTemplate = {\n ...starterTemplate,\n name: 'workspace-generator',\n description:\n 'DEPRECATED: use \"starter\" instead.\\ncreate your own workspace generator - \\nDocs: https://bit.dev/docs/dev-services/generator/generate-workspace',\n};\n"],"mappings":";;;;;;;;;;;;;;;;;;;AACA;EAAA;;EAAA;IAAA;EAAA;;EAAA;AAAA;;;;;;AAEA;AACO,MAAMA,0BAA6C,mCACrDC,0BADqD;EAExDC,IAAI,EAAE,qBAFkD;EAGxDC,WAAW,EACT;AAJsD,EAAnD"}
package/package.json CHANGED
@@ -1,12 +1,12 @@
1
1
  {
2
2
  "name": "@teambit/generator",
3
- "version": "0.0.831",
3
+ "version": "0.0.834",
4
4
  "homepage": "https://bit.dev/teambit/generator/generator",
5
5
  "main": "dist/index.js",
6
6
  "componentId": {
7
7
  "scope": "teambit.generator",
8
8
  "name": "generator",
9
- "version": "0.0.831"
9
+ "version": "0.0.834"
10
10
  },
11
11
  "dependencies": {
12
12
  "camelcase": "6.2.0",
@@ -20,22 +20,22 @@
20
20
  "@babel/runtime": "7.12.18",
21
21
  "core-js": "^3.0.0",
22
22
  "@teambit/harmony": "0.3.3",
23
- "@teambit/bit-error": "0.0.394",
24
- "@teambit/component-id": "0.0.405",
25
- "@teambit/envs": "0.0.831",
26
- "@teambit/new-component-helper": "0.0.235",
27
- "@teambit/workspace": "0.0.831",
28
- "@teambit/cli": "0.0.556",
29
- "@teambit/graphql": "0.0.831",
30
- "@teambit/aspect-loader": "0.0.831",
31
- "@teambit/bit": "0.0.833",
32
- "@teambit/community": "0.0.104",
33
- "@teambit/component": "0.0.831",
34
- "@teambit/importer": "0.0.260",
35
- "@teambit/compiler": "0.0.831",
36
- "@teambit/forking": "0.0.235",
37
- "@teambit/logger": "0.0.649",
38
- "@teambit/ui": "0.0.831"
23
+ "@teambit/bit-error": "0.0.397",
24
+ "@teambit/component-id": "0.0.408",
25
+ "@teambit/envs": "0.0.834",
26
+ "@teambit/new-component-helper": "0.0.238",
27
+ "@teambit/workspace": "0.0.834",
28
+ "@teambit/cli": "0.0.559",
29
+ "@teambit/graphql": "0.0.834",
30
+ "@teambit/aspect-loader": "0.0.834",
31
+ "@teambit/bit": "0.0.836",
32
+ "@teambit/community": "0.0.107",
33
+ "@teambit/component": "0.0.834",
34
+ "@teambit/importer": "0.0.263",
35
+ "@teambit/compiler": "0.0.834",
36
+ "@teambit/forking": "0.0.238",
37
+ "@teambit/logger": "0.0.652",
38
+ "@teambit/ui": "0.0.834"
39
39
  },
40
40
  "devDependencies": {
41
41
  "@types/fs-extra": "9.0.7",
@@ -46,10 +46,10 @@
46
46
  "@types/jest": "^26.0.0",
47
47
  "@types/react-dom": "^17.0.5",
48
48
  "@types/node": "12.20.4",
49
- "@teambit/generator.aspect-docs.generator": "0.0.143"
49
+ "@teambit/generator.aspect-docs.generator": "0.0.146"
50
50
  },
51
51
  "peerDependencies": {
52
- "@teambit/legacy": "1.0.339",
52
+ "@teambit/legacy": "1.0.341",
53
53
  "react-dom": "^16.8.0 || ^17.0.0",
54
54
  "react": "^16.8.0 || ^17.0.0"
55
55
  },
@@ -71,8 +71,6 @@
71
71
  "react",
72
72
  "react-components",
73
73
  "angular",
74
- "angular-components",
75
- "vue",
76
- "vue-components"
74
+ "angular-components"
77
75
  ]
78
76
  }
@@ -1,5 +1,5 @@
1
- import * as compositions_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad3d35bfc38b9cd90c0e05b598a5a55af/teambit.generator_generator@0.0.831/dist/generator.composition.js';
2
- import * as overview_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad3d35bfc38b9cd90c0e05b598a5a55af/teambit.generator_generator@0.0.831/dist/generator.docs.mdx';
1
+ import * as compositions_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad3d35bfc38b9cd90c0e05b598a5a55af/teambit.generator_generator@0.0.834/dist/generator.composition.js';
2
+ import * as overview_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad3d35bfc38b9cd90c0e05b598a5a55af/teambit.generator_generator@0.0.834/dist/generator.docs.mdx';
3
3
 
4
4
  export const compositions = [compositions_0];
5
5
  export const overview = [overview_0];
@@ -7,7 +7,7 @@ import { mainRuntime } from './files/main-runtime';
7
7
  export const componentGeneratorTemplate: ComponentTemplate = {
8
8
  name: 'component-generator',
9
9
  description:
10
- 'create your own component generator \nDocs: https://bit.dev/docs/dev-services-overview/generator/generate-component',
10
+ 'create your own component generator \nDocs: https://bit.dev/docs/dev-services/generator/generate-component',
11
11
  generateFiles: (context: ComponentContext) => {
12
12
  return [
13
13
  {
@@ -0,0 +1,6 @@
1
+ import { ComponentContext } from '@teambit/generator';
2
+
3
+ export function indexFile({ namePascalCase, name }: ComponentContext) {
4
+ return `export { starter as ${namePascalCase}Starter } from './${name}.starter';
5
+ `;
6
+ }
@@ -1,10 +1,10 @@
1
- export function indexTemplate() {
2
- return `import { WorkspaceContext, WorkspaceTemplate } from '@teambit/generator';
3
- import { workspaceConfig } from './files/workspace-config';
4
- import { readme } from './files/readme-file';
5
- import { gitIgnore } from './files/git-ignore';
1
+ export function starterFile() {
2
+ return `import { WorkspaceContext, Starter } from '@teambit/generator';
3
+ import { workspaceConfig } from './template/files/workspace-config';
4
+ import { readme } from './template/files/readme-file';
5
+ import { gitIgnore } from './template/files/git-ignore';
6
6
 
7
- export const workspaceTemplate: WorkspaceTemplate = {
7
+ export const starter: Starter = {
8
8
  name: 'template-example',
9
9
  description: 'demonstration of a workspace template',
10
10
  generateFiles: async (context: WorkspaceContext) => [
@@ -25,5 +25,8 @@ export const workspaceTemplate: WorkspaceTemplate = {
25
25
  { id: 'teambit.react/templates/ui/text', path: 'ui/text' },
26
26
  ],
27
27
  };
28
+
29
+ export default starter;
28
30
  `;
29
31
  }
32
+
@@ -7,9 +7,7 @@ export async function workspaceConfig({ name, defaultScope }: WorkspaceContext)
7
7
  configParsed['teambit.workspace/workspace'].name = name;
8
8
  configParsed['teambit.workspace/workspace'].defaultScope = defaultScope || 'company.scope';
9
9
  configParsed['teambit.workspace/variants'] = {
10
- '*': {
11
- 'teambit.react/react': {},
12
- },
10
+ '*': {},
13
11
  };
14
12
 
15
13
  return stringifyWorkspaceConfig(configParsed);
@@ -0,0 +1,48 @@
1
+ import { ComponentContext, ComponentTemplate } from '@teambit/generator';
2
+ import { indexFile } from './files/index';
3
+ import { starterFile } from './files/starter';
4
+ import { docsFile } from './files/docs-file';
5
+ import { gitIgnoreTemplate } from './files/git-ignore-tpl';
6
+ import { readmeTemplate } from './files/readme-tpl';
7
+ import { workspaceConfigTemplate } from './files/workspace-config-tpl';
8
+
9
+ export const starterTemplate: ComponentTemplate = {
10
+ name: 'starter',
11
+ description:
12
+ 'create your own starter - \nDocs: https://bit.dev/docs/dev-services/generator/generate-workspace',
13
+ generateFiles: (context: ComponentContext) => {
14
+ return [
15
+ {
16
+ relativePath: 'index.ts',
17
+ content: indexFile(context),
18
+ isMain: true,
19
+ },
20
+ {
21
+ relativePath: `${context.name}.starter.ts`,
22
+ content: starterFile(),
23
+ },
24
+ {
25
+ relativePath: `${context.name}.docs.mdx`,
26
+ content: docsFile(),
27
+ },
28
+ {
29
+ relativePath: 'template/files/git-ignore.ts',
30
+ content: gitIgnoreTemplate(),
31
+ },
32
+ {
33
+ relativePath: 'template/files/readme-file.ts',
34
+ content: readmeTemplate(),
35
+ },
36
+ {
37
+ relativePath: 'template/files/workspace-config.ts',
38
+ content: workspaceConfigTemplate(),
39
+ },
40
+ ];
41
+ },
42
+ config: {
43
+ 'teambit.harmony/aspect': {},
44
+ 'teambit.envs/envs': {
45
+ env: 'teambit.harmony/aspect',
46
+ },
47
+ },
48
+ };
@@ -1,58 +1,10 @@
1
- import { ComponentContext, ComponentTemplate } from '@teambit/generator';
2
- import { indexFile } from './files/index';
3
- import { aspectFile } from './files/aspect-file';
4
- import { docsFile } from './files/docs-file';
5
- import { mainRuntime } from './files/main-runtime';
6
- import { gitIgnoreTemplate } from './files/git-ignore-tpl';
7
- import { readmeTemplate } from './files/readme-tpl';
8
- import { indexTemplate } from './files/index-tpl';
9
- import { workspaceConfigTemplate } from './files/workspace-config-tpl';
1
+ import { ComponentTemplate } from '@teambit/generator';
2
+ import { starterTemplate } from '../starter';
10
3
 
4
+ // TODO: This is deprecated and should be removed once we update the docs to use the new starter template.
11
5
  export const workspaceGeneratorTemplate: ComponentTemplate = {
6
+ ...starterTemplate,
12
7
  name: 'workspace-generator',
13
8
  description:
14
- 'create your own workspace generator - \nDocs: https://bit.dev/docs/dev-services-overview/generator/generate-workspace',
15
- generateFiles: (context: ComponentContext) => {
16
- return [
17
- {
18
- relativePath: 'index.ts',
19
- content: indexFile(context),
20
- isMain: true,
21
- },
22
- {
23
- relativePath: `${context.name}.aspect.ts`,
24
- content: aspectFile(context),
25
- },
26
- {
27
- relativePath: `${context.name}.main.runtime.ts`,
28
- content: mainRuntime(context),
29
- },
30
- {
31
- relativePath: `${context.name}.docs.mdx`,
32
- content: docsFile(),
33
- },
34
- {
35
- relativePath: 'template/files/git-ignore.ts',
36
- content: gitIgnoreTemplate(),
37
- },
38
- {
39
- relativePath: 'template/files/readme-file.ts',
40
- content: readmeTemplate(),
41
- },
42
- {
43
- relativePath: 'template/files/workspace-config.ts',
44
- content: workspaceConfigTemplate(),
45
- },
46
- {
47
- relativePath: 'template/index.ts',
48
- content: indexTemplate(),
49
- },
50
- ];
51
- },
52
- config: {
53
- 'teambit.harmony/aspect': {},
54
- 'teambit.envs/envs': {
55
- env: 'teambit.harmony/aspect',
56
- },
57
- },
9
+ 'DEPRECATED: use "starter" instead.\ncreate your own workspace generator - \nDocs: https://bit.dev/docs/dev-services/generator/generate-workspace',
58
10
  };
@@ -1,2 +0,0 @@
1
- import { ComponentContext } from '@teambit/generator';
2
- export declare function aspectFile({ namePascalCase, componentId }: ComponentContext): string;
@@ -1,20 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.aspectFile = aspectFile;
7
-
8
- function aspectFile({
9
- namePascalCase,
10
- componentId
11
- }) {
12
- return `import { Aspect } from '@teambit/harmony';
13
-
14
- export const ${namePascalCase}Aspect = Aspect.create({
15
- id: '${componentId}',
16
- });
17
- `;
18
- }
19
-
20
- //# sourceMappingURL=aspect-file.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["aspectFile","namePascalCase","componentId"],"sources":["aspect-file.ts"],"sourcesContent":["import { ComponentContext } from '@teambit/generator';\n\nexport function aspectFile({ namePascalCase, componentId }: ComponentContext) {\n return `import { Aspect } from '@teambit/harmony';\n\nexport const ${namePascalCase}Aspect = Aspect.create({\n id: '${componentId}',\n});\n`;\n}\n"],"mappings":";;;;;;;AAEO,SAASA,UAAT,CAAoB;EAAEC,cAAF;EAAkBC;AAAlB,CAApB,EAAuE;EAC5E,OAAQ;AACV;AACA,eAAeD,cAAe;AAC9B,SAASC,WAAY;AACrB;AACA,CALE;AAMD"}
@@ -1 +0,0 @@
1
- export declare function indexTemplate(): string;
@@ -1 +0,0 @@
1
- {"version":3,"names":["indexTemplate"],"sources":["index-tpl.ts"],"sourcesContent":["export function indexTemplate() {\n return `import { WorkspaceContext, WorkspaceTemplate } from '@teambit/generator';\nimport { workspaceConfig } from './files/workspace-config';\nimport { readme } from './files/readme-file';\nimport { gitIgnore } from './files/git-ignore';\n\nexport const workspaceTemplate: WorkspaceTemplate = {\n name: 'template-example',\n description: 'demonstration of a workspace template',\n generateFiles: async (context: WorkspaceContext) => [\n {\n relativePath: 'workspace.jsonc',\n content: await workspaceConfig(context),\n },\n {\n relativePath: '.gitignore',\n content: gitIgnore(),\n },\n {\n relativePath: 'README.md',\n content: readme(),\n },\n ],\n importComponents: () => [\n { id: 'teambit.react/templates/ui/text', path: 'ui/text' },\n ],\n};\n`;\n}\n"],"mappings":";;;;;;;AAAO,SAASA,aAAT,GAAyB;EAC9B,OAAQ;AACV;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CA1BE;AA2BD"}
@@ -1,20 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.indexFile = indexFile;
7
-
8
- function indexFile({
9
- namePascalCase,
10
- name
11
- }) {
12
- return `import { ${namePascalCase}Aspect } from './${name}.aspect';
13
-
14
- export type { ${namePascalCase}Main } from './${name}.main.runtime';
15
- export default ${namePascalCase}Aspect;
16
- export { ${namePascalCase}Aspect };
17
- `;
18
- }
19
-
20
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["indexFile","namePascalCase","name"],"sources":["index.ts"],"sourcesContent":["import { ComponentContext } from '@teambit/generator';\n\nexport function indexFile({ namePascalCase, name }: ComponentContext) {\n return `import { ${namePascalCase}Aspect } from './${name}.aspect';\n\nexport type { ${namePascalCase}Main } from './${name}.main.runtime';\nexport default ${namePascalCase}Aspect;\nexport { ${namePascalCase}Aspect };\n`;\n}\n"],"mappings":";;;;;;;AAEO,SAASA,SAAT,CAAmB;EAAEC,cAAF;EAAkBC;AAAlB,CAAnB,EAA+D;EACpE,OAAQ,YAAWD,cAAe,oBAAmBC,IAAK;AAC5D;AACA,gBAAgBD,cAAe,kBAAiBC,IAAK;AACrD,iBAAiBD,cAAe;AAChC,WAAWA,cAAe;AAC1B,CALE;AAMD"}
@@ -1,2 +0,0 @@
1
- import { ComponentContext } from '@teambit/generator';
2
- export declare function mainRuntime({ name, namePascalCase }: ComponentContext): string;
@@ -1,34 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.mainRuntime = mainRuntime;
7
-
8
- function mainRuntime({
9
- name,
10
- namePascalCase
11
- }) {
12
- return `import { MainRuntime } from '@teambit/cli';
13
- import { GeneratorMain, GeneratorAspect } from '@teambit/generator';
14
- import { ${namePascalCase}Aspect } from './${name}.aspect';
15
- import { workspaceTemplate } from './template';
16
-
17
- export class ${namePascalCase}Main {
18
- static slots = [];
19
-
20
- static dependencies = [GeneratorAspect];
21
-
22
- static runtime = MainRuntime;
23
-
24
- static async provider([generator]: [GeneratorMain]) {
25
- generator.registerWorkspaceTemplate([workspaceTemplate]);
26
- return new ${namePascalCase}Main();
27
- }
28
- }
29
-
30
- ${namePascalCase}Aspect.addRuntime(${namePascalCase}Main);
31
- `;
32
- }
33
-
34
- //# sourceMappingURL=main-runtime.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["mainRuntime","name","namePascalCase"],"sources":["main-runtime.ts"],"sourcesContent":["import { ComponentContext } from '@teambit/generator';\n\nexport function mainRuntime({ name, namePascalCase }: ComponentContext) {\n return `import { MainRuntime } from '@teambit/cli';\nimport { GeneratorMain, GeneratorAspect } from '@teambit/generator';\nimport { ${namePascalCase}Aspect } from './${name}.aspect';\nimport { workspaceTemplate } from './template';\n\nexport class ${namePascalCase}Main {\n static slots = [];\n\n static dependencies = [GeneratorAspect];\n\n static runtime = MainRuntime;\n\n static async provider([generator]: [GeneratorMain]) {\n generator.registerWorkspaceTemplate([workspaceTemplate]);\n return new ${namePascalCase}Main();\n }\n}\n\n${namePascalCase}Aspect.addRuntime(${namePascalCase}Main);\n`;\n}\n"],"mappings":";;;;;;;AAEO,SAASA,WAAT,CAAqB;EAAEC,IAAF;EAAQC;AAAR,CAArB,EAAiE;EACtE,OAAQ;AACV;AACA,WAAWA,cAAe,oBAAmBD,IAAK;AAClD;AACA;AACA,eAAeC,cAAe;AAC9B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiBA,cAAe;AAChC;AACA;AACA;AACA,EAAEA,cAAe,qBAAoBA,cAAe;AACpD,CAnBE;AAoBD"}
@@ -1,10 +0,0 @@
1
- import { ComponentContext } from '@teambit/generator';
2
-
3
- export function aspectFile({ namePascalCase, componentId }: ComponentContext) {
4
- return `import { Aspect } from '@teambit/harmony';
5
-
6
- export const ${namePascalCase}Aspect = Aspect.create({
7
- id: '${componentId}',
8
- });
9
- `;
10
- }
@@ -1,10 +0,0 @@
1
- import { ComponentContext } from '@teambit/generator';
2
-
3
- export function indexFile({ namePascalCase, name }: ComponentContext) {
4
- return `import { ${namePascalCase}Aspect } from './${name}.aspect';
5
-
6
- export type { ${namePascalCase}Main } from './${name}.main.runtime';
7
- export default ${namePascalCase}Aspect;
8
- export { ${namePascalCase}Aspect };
9
- `;
10
- }
@@ -1,24 +0,0 @@
1
- import { ComponentContext } from '@teambit/generator';
2
-
3
- export function mainRuntime({ name, namePascalCase }: ComponentContext) {
4
- return `import { MainRuntime } from '@teambit/cli';
5
- import { GeneratorMain, GeneratorAspect } from '@teambit/generator';
6
- import { ${namePascalCase}Aspect } from './${name}.aspect';
7
- import { workspaceTemplate } from './template';
8
-
9
- export class ${namePascalCase}Main {
10
- static slots = [];
11
-
12
- static dependencies = [GeneratorAspect];
13
-
14
- static runtime = MainRuntime;
15
-
16
- static async provider([generator]: [GeneratorMain]) {
17
- generator.registerWorkspaceTemplate([workspaceTemplate]);
18
- return new ${namePascalCase}Main();
19
- }
20
- }
21
-
22
- ${namePascalCase}Aspect.addRuntime(${namePascalCase}Main);
23
- `;
24
- }