@teambit/generator 0.0.922 → 0.0.924

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.
@@ -111,7 +111,7 @@ export declare class GeneratorMain {
111
111
  workspaceTemplate: WorkspaceTemplate;
112
112
  aspect?: Component;
113
113
  }>;
114
- searchRegisteredWorkspaceTemplate(name?: string, aspectId?: string): Promise<WorkspaceTemplate | undefined>;
114
+ searchRegisteredWorkspaceTemplate(name?: string, aspectId?: string, remoteEnvsAspect?: EnvsMain): Promise<WorkspaceTemplate | undefined>;
115
115
  generateComponentTemplate(componentNames: string[], templateName: string, options: CreateOptions): Promise<GenerateResult[]>;
116
116
  generateWorkspaceTemplate(workspaceName: string, templateName: string, options: NewOptions): Promise<GenerateWorkspaceTemplateResult>;
117
117
  private getAllComponentTemplatesDescriptorsFlattened;
@@ -121,13 +121,13 @@ export declare class GeneratorMain {
121
121
  /**
122
122
  * list all starter templates registered by an env.
123
123
  */
124
- listEnvWorkspaceTemplates(envId: string): Promise<Array<WorkspaceTemplateWithId>>;
124
+ listEnvWorkspaceTemplates(envId: string, remoteEnvsAspect?: EnvsMain): Promise<Array<WorkspaceTemplateWithId>>;
125
125
  /**
126
126
  * list all component templates registered by an env.
127
127
  */
128
128
  listEnvComponentTemplateDescriptors(ids?: string[]): Promise<TemplateDescriptor[]>;
129
129
  listEnvComponentTemplates(ids?: string[]): Promise<Array<ComponentTemplateWithId>>;
130
- loadEnvs(ids?: string[]): Promise<EnvDefinition[]>;
130
+ loadEnvs(ids?: string[], remoteEnvsAspect?: EnvsMain): Promise<EnvDefinition[]>;
131
131
  loadAspects(): Promise<void>;
132
132
  static slots: (((registerFn: () => string) => SlotRegistry<ComponentTemplate[]>) | ((registerFn: () => string) => SlotRegistry<WorkspaceTemplate[]>))[];
133
133
  static dependencies: import("@teambit/bit").Aspect[];
@@ -307,9 +307,10 @@ class GeneratorMain {
307
307
  components
308
308
  } = await this.aspectLoader.loadAspectsFromGlobalScope([aspectId]);
309
309
  const remoteGenerator = globalScopeHarmony.get(_generator().GeneratorAspect.id);
310
+ const remoteEnvsAspect = globalScopeHarmony.get(_envs().EnvsAspect.id);
310
311
  const aspect = components[0];
311
312
  const fullAspectId = aspect.id.toString();
312
- const fromGlobal = await remoteGenerator.searchRegisteredWorkspaceTemplate.call(remoteGenerator, name, fullAspectId);
313
+ const fromGlobal = await remoteGenerator.searchRegisteredWorkspaceTemplate.call(remoteGenerator, name, fullAspectId, remoteEnvsAspect);
313
314
  return {
314
315
  workspaceTemplate: fromGlobal,
315
316
  aspect
@@ -356,10 +357,10 @@ class GeneratorMain {
356
357
  }
357
358
  throw new (_bitError().BitError)(`template "${name}" was not found`);
358
359
  }
359
- async searchRegisteredWorkspaceTemplate(name, aspectId) {
360
+ async searchRegisteredWorkspaceTemplate(name, aspectId, remoteEnvsAspect) {
360
361
  let fromEnv;
361
362
  if (aspectId) {
362
- fromEnv = await this.listEnvWorkspaceTemplates(aspectId);
363
+ fromEnv = await this.listEnvWorkspaceTemplates(aspectId, remoteEnvsAspect);
363
364
  }
364
365
  const templates = fromEnv && fromEnv.length ? fromEnv : this.getAllWorkspaceTemplatesFlattened();
365
366
  const found = templates.find(({
@@ -422,7 +423,7 @@ class GeneratorMain {
422
423
  if (filtered.length) return filtered;
423
424
  }
424
425
  const flattened = this.getAllComponentTemplatesFlattened();
425
- const filtered = flattened.filter(template => template.id === aspectId);
426
+ const filtered = aspectId ? flattened.filter(template => template.id === aspectId) : flattened;
426
427
  return filtered.map(template => this.getTemplateDescriptor(template));
427
428
  }
428
429
  getAllComponentTemplatesFlattened() {
@@ -456,8 +457,8 @@ class GeneratorMain {
456
457
  /**
457
458
  * list all starter templates registered by an env.
458
459
  */
459
- async listEnvWorkspaceTemplates(envId) {
460
- const envs = await this.loadEnvs([envId]);
460
+ async listEnvWorkspaceTemplates(envId, remoteEnvsAspect) {
461
+ const envs = await this.loadEnvs([envId], remoteEnvsAspect);
461
462
  const workspaceTemplates = envs.flatMap(env => {
462
463
  if (!env.env.getGeneratorStarters) return undefined;
463
464
  const envStarters = env.env.getGeneratorStarters();
@@ -504,30 +505,21 @@ class GeneratorMain {
504
505
  });
505
506
  return templates;
506
507
  }
507
- async loadEnvs(ids = this.config.envs || []) {
508
- // TODO: this will probably won't work for bit new with aspect id and without loadFrom
509
- // as this getEnvDefinition will probably return nothing, as the env is not loaded yet, therefore, not register to the slot
510
- // we need to check if that id is an aspect id and load it as an aspect
511
- // and only after it, we can get the env definition
512
- const envs = ids.map(id => {
508
+ async loadEnvs(ids = this.config.envs || [], remoteEnvsAspect) {
509
+ // In case we have remoteEnvsAspect it means that we are running from the global scope
510
+ // in that case the aspect / env were already loaded before to the global scope harmony instance
511
+ // so no reason to load it here
512
+ if (!remoteEnvsAspect) {
513
+ const host = this.componentAspect.getHost();
514
+ if (!host) return [];
515
+ await host.loadAspects(ids);
516
+ }
517
+ const envsAspect = remoteEnvsAspect || this.envs;
518
+ const potentialEnvs = ids.map(id => {
513
519
  const componentId = _component().ComponentID.fromString(id);
514
- return {
515
- id: componentId,
516
- env: this.envs.getEnvDefinition(componentId)
517
- };
518
- });
519
- const host = this.componentAspect.getHost();
520
- if (!host) return [];
521
- const toLoad = envs.filter(env => !env.env);
522
- const componentIds = toLoad.map(component => component.id.toString());
523
- await host.loadAspects(componentIds);
524
- const allEnvs = envs.map(env => {
525
- if (env.env) {
526
- return env.env;
527
- }
528
- return this.envs.getEnvDefinition(env.id);
520
+ return envsAspect.getEnvDefinition(componentId);
529
521
  });
530
- return (0, _lodash().compact)(allEnvs);
522
+ return (0, _lodash().compact)(potentialEnvs);
531
523
  }
532
524
  async loadAspects() {
533
525
  if (this.aspectLoaded) return;
@@ -1 +1 @@
1
- {"version":3,"names":["GeneratorMain","constructor","componentTemplateSlot","workspaceTemplateSlot","config","workspace","envs","aspectLoader","newComponentHelper","importer","componentAspect","id","template","shouldBeHidden","hidden","hideCoreTemplates","isCoreAspect","aspectId","name","description","registerComponentTemplate","templates","register","registerWorkspaceTemplate","listTemplates","aspect","isRunningInsideWorkspace","getAllComponentTemplatesDescriptorsFlattened","getAllWorkspaceTemplatesDescriptorFlattened","listComponentTemplates","opts","Boolean","getComponentTemplateByAspect","get","getComponentTemplate","fromEnv","listEnvComponentTemplates","length","found","findTemplateByAspectIdAndName","getAllComponentTemplatesFlattened","find","findTemplateInGlobalScope","globalScopeHarmony","components","loadAspectsFromGlobalScope","remoteGenerator","GeneratorAspect","fullAspectId","toString","fromGlobal","searchRegisteredWorkspaceTemplate","call","workspaceTemplate","findTemplateInOtherWorkspace","workspacePath","BitError","harmony","loadBit","WorkspaceAspect","err","Error","aspectComponentId","resolveComponentId","loadAspects","aspectFullId","generator","getWorkspaceTemplate","registeredTemplate","listEnvWorkspaceTemplates","getAllWorkspaceTemplatesFlattened","tpl","generateComponentTemplate","componentNames","templateName","options","ConsumerNotFound","namespace","templateWithId","componentIds","map","componentName","getNewComponentId","scope","componentGenerator","ComponentGenerator","envName","ComponentID","fromString","undefined","generate","generateWorkspaceTemplate","workspaceName","loadFrom","aspectComponent","workspaceGenerator","WorkspaceGenerator","appName","envTemplates","listEnvComponentTemplateDescriptors","filtered","filter","flattened","getTemplateDescriptor","templatesByAspects","toArray","flatMap","componentTemplates","workspaceTemplates","envId","loadEnvs","env","getGeneratorStarters","envStarters","starter","componentId","compact","ids","envTemplate","toStringWithoutVersion","titlePrefix","configEnvs","concat","getGeneratorTemplates","tpls","getEnvDefinition","host","getHost","toLoad","component","allEnvs","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","ComponentAspect","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 { EnvDefinition, 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 ComponentAspect, { ComponentID } from '@teambit/component';\nimport type { ComponentMain, Component } from '@teambit/component';\n\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 { compact } from 'lodash';\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 = {\n aspectId: string;\n titlePrefix?: string;\n name: string;\n description?: string;\n hidden?: boolean;\n};\n\ntype TemplateWithId = { id: string; envName?: string };\ntype WorkspaceTemplateWithId = TemplateWithId & { template: WorkspaceTemplate };\ntype ComponentTemplateWithId = TemplateWithId & { template: ComponentTemplate };\ntype AnyTemplateWithId = TemplateWithId & { template: ComponentTemplate | WorkspaceTemplate };\n\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 /**\n * default envs.\n */\n envs?: string[];\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 private componentAspect: ComponentMain\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({ aspect }: { aspect?: string } = {}): Promise<TemplateDescriptor[]> {\n if (this.isRunningInsideWorkspace()) {\n return this.getAllComponentTemplatesDescriptorsFlattened(aspect);\n }\n return this.getAllWorkspaceTemplatesDescriptorFlattened(aspect);\n }\n\n private getTemplateDescriptor = ({ id, template }: AnyTemplateWithId): TemplateDescriptor => {\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\n /**\n * @deprecated use this.listTemplates()\n */\n async listComponentTemplates(opts: { aspect?: string }): Promise<TemplateDescriptor[]> {\n return this.listTemplates(opts);\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 async getComponentTemplate(name: string, aspectId?: string): Promise<ComponentTemplateWithId | undefined> {\n const fromEnv = await this.listEnvComponentTemplates();\n if (fromEnv && fromEnv.length){\n const found = this.findTemplateByAspectIdAndName<ComponentTemplateWithId>(aspectId, name, fromEnv);\n if (found) return found;\n }\n // fallback to aspect id not from env if provided\n const templates = await this.getAllComponentTemplatesFlattened();\n const found = this.findTemplateByAspectIdAndName<ComponentTemplateWithId>(aspectId, name, templates);\n return found;\n }\n\n private findTemplateByAspectIdAndName<T>(\n aspectId: string | undefined,\n name: string,\n templates: Array<T>\n ): T | undefined {\n // @ts-ignore (should set T to be extends ComponentTemplateWithId or WorkspaceTemplateWithId)\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 let fromEnv;\n if (aspectId) {\n fromEnv = await this.listEnvWorkspaceTemplates(aspectId);\n }\n const templates = (fromEnv && fromEnv.length) ? fromEnv : this.getAllWorkspaceTemplatesFlattened();\n const found = templates.find(({ id, template: tpl }) => {\n if (aspectId && name) return aspectId === id && name === tpl.name;\n if (aspectId) return aspectId === id;\n if (name) return name === tpl.name;\n throw new Error(`searchRegisteredWorkspaceTemplate expects to get \"name\" or \"aspectId\"`);\n });\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 = await 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 templateWithId.envName ? ComponentID.fromString(templateWithId.id) : undefined\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 async getAllComponentTemplatesDescriptorsFlattened(aspectId?: string): Promise<Array<TemplateDescriptor>> {\n const envTemplates = await this.listEnvComponentTemplateDescriptors();\n if (envTemplates && envTemplates.length) {\n if (!aspectId) return envTemplates;\n const filtered = envTemplates.filter((template) => template.aspectId === aspectId);\n if (filtered.length) return filtered;\n }\n\n const flattened = this.getAllComponentTemplatesFlattened();\n const filtered = flattened.filter((template) => template.id === aspectId);\n return filtered.map((template) => this.getTemplateDescriptor(template));\n }\n\n private getAllComponentTemplatesFlattened(): Array<{ id: string; template: ComponentTemplate }> {\n const templatesByAspects = this.componentTemplateSlot.toArray();\n const flattened = templatesByAspects.flatMap(([id, componentTemplates]) => {\n return componentTemplates.map((template) => ({\n id,\n template,\n }));\n });\n return flattened;\n }\n\n private async getAllWorkspaceTemplatesDescriptorFlattened(aspectId?: string): Promise<Array<TemplateDescriptor>> {\n let envTemplates;\n if (aspectId) {\n envTemplates = await this.listEnvWorkspaceTemplates(aspectId);\n }\n\n const templates = envTemplates && envTemplates.length ? envTemplates : this.getAllWorkspaceTemplatesFlattened();\n return templates.map((template) => this.getTemplateDescriptor(template));\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 /**\n * list all starter templates registered by an env.\n */\n async listEnvWorkspaceTemplates(\n envId: string\n ): Promise<Array<WorkspaceTemplateWithId>> {\n const envs = await this.loadEnvs([envId]);\n const workspaceTemplates = envs.flatMap((env) => {\n if (!env.env.getGeneratorStarters) return undefined;\n const envStarters = env.env.getGeneratorStarters();\n return envStarters.map((starter) => {\n const componentId = ComponentID.fromString(env.id);\n return {\n id: componentId.toString(),\n envName: env.name,\n template: starter,\n };\n });\n });\n\n return compact(workspaceTemplates);\n }\n\n /**\n * list all component templates registered by an env.\n */\n async listEnvComponentTemplateDescriptors(ids: string[] = []): Promise<TemplateDescriptor[]> {\n const envTemplates = await this.listEnvComponentTemplates(ids);\n const templates: TemplateDescriptor[] = envTemplates.map((envTemplate) => {\n const componentId = ComponentID.fromString(envTemplate.id);\n return {\n aspectId: componentId.toStringWithoutVersion(),\n titlePrefix: envTemplate.envName,\n ...envTemplate.template,\n };\n });\n\n return templates;\n }\n\n async listEnvComponentTemplates(\n ids: string[] = []\n ): Promise<Array<ComponentTemplateWithId>> {\n const configEnvs = this.config.envs || [];\n const envs = await this.loadEnvs(configEnvs?.concat(ids));\n const templates = envs.flatMap((env) => {\n if (!env.env.getGeneratorTemplates) return [];\n const tpls = env.env.getGeneratorTemplates() || [];\n return tpls.map((template) => {\n const componentId = ComponentID.fromString(env.id);\n return {\n id: componentId.toString(),\n envName: env.name,\n template,\n };\n });\n });\n\n return templates;\n }\n\n async loadEnvs(ids: string[] = this.config.envs || []): Promise<EnvDefinition[]> {\n // TODO: this will probably won't work for bit new with aspect id and without loadFrom\n // as this getEnvDefinition will probably return nothing, as the env is not loaded yet, therefore, not register to the slot\n // we need to check if that id is an aspect id and load it as an aspect\n // and only after it, we can get the env definition\n const envs = ids.map((id) => {\n const componentId = ComponentID.fromString(id);\n return {\n id: componentId,\n env: this.envs.getEnvDefinition(componentId),\n };\n });\n\n const host = this.componentAspect.getHost();\n if (!host) return [];\n\n const toLoad = envs.filter((env) => !env.env);\n const componentIds = toLoad.map((component) => component.id.toString());\n await host.loadAspects(componentIds);\n const allEnvs = envs.map((env) => {\n if (env.env) {\n return env.env;\n }\n\n return this.envs.getEnvDefinition(env.id);\n });\n\n return compact(allEnvs);\n }\n\n 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 ComponentAspect\n ];\n\n static runtime = MainRuntime;\n\n static async provider(\n [workspace, cli, graphql, envs, aspectLoader, newComponentHelper, community, importer, componentAspect]: [\n Workspace,\n CLIMain,\n GraphqlMain,\n EnvsMain,\n AspectLoaderMain,\n NewComponentHelperMain,\n CommunityMain,\n ImporterMain,\n ComponentMain\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 componentAspect\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","componentAspect","id","template","shouldBeHidden","hidden","hideCoreTemplates","isCoreAspect","aspectId","name","description","registerComponentTemplate","templates","register","registerWorkspaceTemplate","listTemplates","aspect","isRunningInsideWorkspace","getAllComponentTemplatesDescriptorsFlattened","getAllWorkspaceTemplatesDescriptorFlattened","listComponentTemplates","opts","Boolean","getComponentTemplateByAspect","get","getComponentTemplate","fromEnv","listEnvComponentTemplates","length","found","findTemplateByAspectIdAndName","getAllComponentTemplatesFlattened","find","findTemplateInGlobalScope","globalScopeHarmony","components","loadAspectsFromGlobalScope","remoteGenerator","GeneratorAspect","remoteEnvsAspect","EnvsAspect","fullAspectId","toString","fromGlobal","searchRegisteredWorkspaceTemplate","call","workspaceTemplate","findTemplateInOtherWorkspace","workspacePath","BitError","harmony","loadBit","WorkspaceAspect","err","Error","aspectComponentId","resolveComponentId","loadAspects","aspectFullId","generator","getWorkspaceTemplate","registeredTemplate","listEnvWorkspaceTemplates","getAllWorkspaceTemplatesFlattened","tpl","generateComponentTemplate","componentNames","templateName","options","ConsumerNotFound","namespace","templateWithId","componentIds","map","componentName","getNewComponentId","scope","componentGenerator","ComponentGenerator","envName","ComponentID","fromString","undefined","generate","generateWorkspaceTemplate","workspaceName","loadFrom","aspectComponent","workspaceGenerator","WorkspaceGenerator","appName","envTemplates","listEnvComponentTemplateDescriptors","filtered","filter","flattened","getTemplateDescriptor","templatesByAspects","toArray","flatMap","componentTemplates","workspaceTemplates","envId","loadEnvs","env","getGeneratorStarters","envStarters","starter","componentId","compact","ids","envTemplate","toStringWithoutVersion","titlePrefix","configEnvs","concat","getGeneratorTemplates","tpls","host","getHost","envsAspect","potentialEnvs","getEnvDefinition","aspectLoaded","aspects","provider","cli","graphql","community","commands","CreateCmd","getDocsDomain","TemplatesCmd","NewCmd","generatorSchema","registerPlugins","StarterPlugin","componentGeneratorTemplate","starterTemplate","workspaceGeneratorTemplate","Slot","withType","CLIAspect","GraphqlAspect","AspectLoaderAspect","NewComponentHelperAspect","CommunityAspect","ImporterAspect","ComponentAspect","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 { EnvDefinition, 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 ComponentAspect, { ComponentID } from '@teambit/component';\nimport type { ComponentMain, Component } from '@teambit/component';\n\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 { compact } from 'lodash';\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 = {\n aspectId: string;\n titlePrefix?: string;\n name: string;\n description?: string;\n hidden?: boolean;\n};\n\ntype TemplateWithId = { id: string; envName?: string };\ntype WorkspaceTemplateWithId = TemplateWithId & { template: WorkspaceTemplate };\ntype ComponentTemplateWithId = TemplateWithId & { template: ComponentTemplate };\ntype AnyTemplateWithId = TemplateWithId & { template: ComponentTemplate | WorkspaceTemplate };\n\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 /**\n * default envs.\n */\n envs?: string[];\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 private componentAspect: ComponentMain\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({ aspect }: { aspect?: string } = {}): Promise<TemplateDescriptor[]> {\n if (this.isRunningInsideWorkspace()) {\n return this.getAllComponentTemplatesDescriptorsFlattened(aspect);\n }\n return this.getAllWorkspaceTemplatesDescriptorFlattened(aspect);\n }\n\n private getTemplateDescriptor = ({ id, template }: AnyTemplateWithId): TemplateDescriptor => {\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\n /**\n * @deprecated use this.listTemplates()\n */\n async listComponentTemplates(opts: { aspect?: string }): Promise<TemplateDescriptor[]> {\n return this.listTemplates(opts);\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 async getComponentTemplate(name: string, aspectId?: string): Promise<ComponentTemplateWithId | undefined> {\n const fromEnv = await this.listEnvComponentTemplates();\n if (fromEnv && fromEnv.length) {\n const found = this.findTemplateByAspectIdAndName<ComponentTemplateWithId>(aspectId, name, fromEnv);\n if (found) return found;\n }\n // fallback to aspect id not from env if provided\n const templates = await this.getAllComponentTemplatesFlattened();\n const found = this.findTemplateByAspectIdAndName<ComponentTemplateWithId>(aspectId, name, templates);\n return found;\n }\n\n private findTemplateByAspectIdAndName<T>(\n aspectId: string | undefined,\n name: string,\n templates: Array<T>\n ): T | undefined {\n // @ts-ignore (should set T to be extends ComponentTemplateWithId or WorkspaceTemplateWithId)\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 remoteEnvsAspect = globalScopeHarmony.get<EnvsMain>(EnvsAspect.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 remoteEnvsAspect\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(\n name?: string,\n aspectId?: string,\n remoteEnvsAspect?: EnvsMain\n ): Promise<WorkspaceTemplate | undefined> {\n let fromEnv;\n\n if (aspectId) {\n fromEnv = await this.listEnvWorkspaceTemplates(aspectId, remoteEnvsAspect);\n }\n const templates = fromEnv && fromEnv.length ? fromEnv : this.getAllWorkspaceTemplatesFlattened();\n const found = templates.find(({ id, template: tpl }) => {\n if (aspectId && name) return aspectId === id && name === tpl.name;\n if (aspectId) return aspectId === id;\n if (name) return name === tpl.name;\n throw new Error(`searchRegisteredWorkspaceTemplate expects to get \"name\" or \"aspectId\"`);\n });\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 = await 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 templateWithId.envName ? ComponentID.fromString(templateWithId.id) : undefined\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 async getAllComponentTemplatesDescriptorsFlattened(aspectId?: string): Promise<Array<TemplateDescriptor>> {\n const envTemplates = await this.listEnvComponentTemplateDescriptors();\n if (envTemplates && envTemplates.length) {\n if (!aspectId) return envTemplates;\n const filtered = envTemplates.filter((template) => template.aspectId === aspectId);\n if (filtered.length) return filtered;\n }\n\n const flattened = this.getAllComponentTemplatesFlattened();\n const filtered = aspectId ? flattened.filter((template) => template.id === aspectId) : flattened;\n return filtered.map((template) => this.getTemplateDescriptor(template));\n }\n\n private getAllComponentTemplatesFlattened(): Array<{ id: string; template: ComponentTemplate }> {\n const templatesByAspects = this.componentTemplateSlot.toArray();\n const flattened = templatesByAspects.flatMap(([id, componentTemplates]) => {\n return componentTemplates.map((template) => ({\n id,\n template,\n }));\n });\n return flattened;\n }\n\n private async getAllWorkspaceTemplatesDescriptorFlattened(aspectId?: string): Promise<Array<TemplateDescriptor>> {\n let envTemplates;\n if (aspectId) {\n envTemplates = await this.listEnvWorkspaceTemplates(aspectId);\n }\n\n const templates = envTemplates && envTemplates.length ? envTemplates : this.getAllWorkspaceTemplatesFlattened();\n return templates.map((template) => this.getTemplateDescriptor(template));\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 /**\n * list all starter templates registered by an env.\n */\n async listEnvWorkspaceTemplates(envId: string, remoteEnvsAspect?: EnvsMain): Promise<Array<WorkspaceTemplateWithId>> {\n const envs = await this.loadEnvs([envId], remoteEnvsAspect);\n const workspaceTemplates = envs.flatMap((env) => {\n if (!env.env.getGeneratorStarters) return undefined;\n const envStarters = env.env.getGeneratorStarters();\n return envStarters.map((starter) => {\n const componentId = ComponentID.fromString(env.id);\n return {\n id: componentId.toString(),\n envName: env.name,\n template: starter,\n };\n });\n });\n\n return compact(workspaceTemplates);\n }\n\n /**\n * list all component templates registered by an env.\n */\n async listEnvComponentTemplateDescriptors(ids: string[] = []): Promise<TemplateDescriptor[]> {\n const envTemplates = await this.listEnvComponentTemplates(ids);\n const templates: TemplateDescriptor[] = envTemplates.map((envTemplate) => {\n const componentId = ComponentID.fromString(envTemplate.id);\n return {\n aspectId: componentId.toStringWithoutVersion(),\n titlePrefix: envTemplate.envName,\n ...envTemplate.template,\n };\n });\n\n return templates;\n }\n\n async listEnvComponentTemplates(ids: string[] = []): Promise<Array<ComponentTemplateWithId>> {\n const configEnvs = this.config.envs || [];\n const envs = await this.loadEnvs(configEnvs?.concat(ids));\n const templates = envs.flatMap((env) => {\n if (!env.env.getGeneratorTemplates) return [];\n const tpls = env.env.getGeneratorTemplates() || [];\n return tpls.map((template) => {\n const componentId = ComponentID.fromString(env.id);\n return {\n id: componentId.toString(),\n envName: env.name,\n template,\n };\n });\n });\n\n return templates;\n }\n\n async loadEnvs(ids: string[] = this.config.envs || [], remoteEnvsAspect?: EnvsMain): Promise<EnvDefinition[]> {\n // In case we have remoteEnvsAspect it means that we are running from the global scope\n // in that case the aspect / env were already loaded before to the global scope harmony instance\n // so no reason to load it here\n if (!remoteEnvsAspect) {\n const host = this.componentAspect.getHost();\n if (!host) return [];\n await host.loadAspects(ids);\n }\n\n const envsAspect = remoteEnvsAspect || this.envs;\n\n const potentialEnvs = ids.map((id) => {\n const componentId = ComponentID.fromString(id);\n return envsAspect.getEnvDefinition(componentId);\n });\n\n return compact(potentialEnvs);\n }\n\n 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 ComponentAspect,\n ];\n\n static runtime = MainRuntime;\n\n static async provider(\n [workspace, cli, graphql, envs, aspectLoader, newComponentHelper, community, importer, componentAspect]: [\n Workspace,\n CLIMain,\n GraphqlMain,\n EnvsMain,\n AspectLoaderMain,\n NewComponentHelperMain,\n CommunityMain,\n ImporterMain,\n ComponentMain\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 componentAspect\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,5 +1,5 @@
1
- import * as compositions_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad3d35bfc38b9cd90c0e05b598a5a55af/teambit.generator_generator@0.0.922/dist/generator.composition.js';
2
- import * as overview_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad3d35bfc38b9cd90c0e05b598a5a55af/teambit.generator_generator@0.0.922/dist/generator.docs.mdx';
1
+ import * as compositions_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad3d35bfc38b9cd90c0e05b598a5a55af/teambit.generator_generator@0.0.924/dist/generator.composition.js';
2
+ import * as overview_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad3d35bfc38b9cd90c0e05b598a5a55af/teambit.generator_generator@0.0.924/dist/generator.docs.mdx';
3
3
 
4
4
  export const compositions = [compositions_0];
5
5
  export const overview = [overview_0];
package/package.json CHANGED
@@ -1,12 +1,12 @@
1
1
  {
2
2
  "name": "@teambit/generator",
3
- "version": "0.0.922",
3
+ "version": "0.0.924",
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.922"
9
+ "version": "0.0.924"
10
10
  },
11
11
  "dependencies": {
12
12
  "camelcase": "6.2.0",
@@ -22,21 +22,21 @@
22
22
  "@teambit/harmony": "0.3.3",
23
23
  "@teambit/bit-error": "0.0.402",
24
24
  "@teambit/component-id": "0.0.425",
25
- "@teambit/envs": "0.0.922",
26
- "@teambit/new-component-helper": "0.0.326",
27
- "@teambit/workspace": "0.0.922",
28
- "@teambit/cli": "0.0.617",
29
- "@teambit/graphql": "0.0.922",
30
- "@teambit/aspect-loader": "0.0.922",
31
- "@teambit/bit": "0.0.924",
32
- "@teambit/community": "0.0.165",
33
- "@teambit/component": "0.0.922",
34
- "@teambit/importer": "0.0.351",
35
- "@teambit/compiler": "0.0.922",
36
- "@teambit/forking": "0.0.326",
37
- "@teambit/install": "0.0.63",
38
- "@teambit/logger": "0.0.710",
39
- "@teambit/ui": "0.0.922"
25
+ "@teambit/envs": "0.0.924",
26
+ "@teambit/new-component-helper": "0.0.328",
27
+ "@teambit/workspace": "0.0.924",
28
+ "@teambit/cli": "0.0.619",
29
+ "@teambit/graphql": "0.0.924",
30
+ "@teambit/aspect-loader": "0.0.924",
31
+ "@teambit/bit": "0.0.926",
32
+ "@teambit/community": "0.0.167",
33
+ "@teambit/component": "0.0.924",
34
+ "@teambit/importer": "0.0.353",
35
+ "@teambit/compiler": "0.0.924",
36
+ "@teambit/forking": "0.0.328",
37
+ "@teambit/install": "0.0.65",
38
+ "@teambit/logger": "0.0.712",
39
+ "@teambit/ui": "0.0.924"
40
40
  },
41
41
  "devDependencies": {
42
42
  "@types/fs-extra": "9.0.7",
@@ -47,10 +47,10 @@
47
47
  "@types/jest": "^26.0.0",
48
48
  "@types/react-dom": "^17.0.5",
49
49
  "@types/node": "12.20.4",
50
- "@teambit/generator.aspect-docs.generator": "0.0.153"
50
+ "@teambit/generator.aspect-docs.generator": "0.0.154"
51
51
  },
52
52
  "peerDependencies": {
53
- "@teambit/legacy": "1.0.398",
53
+ "@teambit/legacy": "1.0.400",
54
54
  "react-dom": "^16.8.0 || ^17.0.0",
55
55
  "react": "^16.8.0 || ^17.0.0"
56
56
  },