@teambit/generator 0.0.963 → 0.0.965

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.
@@ -7,7 +7,6 @@ import type { ComponentMain, Component } from '@teambit/component';
7
7
  import { SlotRegistry } from '@teambit/harmony';
8
8
  import { AspectLoaderMain } from '@teambit/aspect-loader';
9
9
  import { NewComponentHelperMain } from '@teambit/new-component-helper';
10
- import { ImporterMain } from '@teambit/importer';
11
10
  import { ComponentTemplate } from './component-template';
12
11
  import { CreateOptions } from './create.cmd';
13
12
  import { GenerateResult } from './component-generator';
@@ -59,10 +58,9 @@ export declare class GeneratorMain {
59
58
  private envs;
60
59
  private aspectLoader;
61
60
  private newComponentHelper;
62
- private importer;
63
61
  private componentAspect;
64
62
  private aspectLoaded;
65
- constructor(componentTemplateSlot: ComponentTemplateSlot, workspaceTemplateSlot: WorkspaceTemplateSlot, config: GeneratorConfig, workspace: Workspace, envs: EnvsMain, aspectLoader: AspectLoaderMain, newComponentHelper: NewComponentHelperMain, importer: ImporterMain, componentAspect: ComponentMain);
63
+ constructor(componentTemplateSlot: ComponentTemplateSlot, workspaceTemplateSlot: WorkspaceTemplateSlot, config: GeneratorConfig, workspace: Workspace, envs: EnvsMain, aspectLoader: AspectLoaderMain, newComponentHelper: NewComponentHelperMain, componentAspect: ComponentMain);
66
64
  /**
67
65
  * register a new component template.
68
66
  */
@@ -135,7 +133,7 @@ export declare class GeneratorMain {
135
133
  static slots: (((registerFn: () => string) => SlotRegistry<ComponentTemplate[]>) | ((registerFn: () => string) => SlotRegistry<WorkspaceTemplate[]>))[];
136
134
  static dependencies: import("@teambit/bit").Aspect[];
137
135
  static runtime: import("@teambit/bit").RuntimeDefinition;
138
- static provider([workspace, cli, graphql, envs, aspectLoader, newComponentHelper, community, importer, componentAspect]: [
136
+ static provider([workspace, cli, graphql, envs, aspectLoader, newComponentHelper, community, componentAspect]: [
139
137
  Workspace,
140
138
  CLIMain,
141
139
  GraphqlMain,
@@ -143,7 +141,6 @@ export declare class GeneratorMain {
143
141
  AspectLoaderMain,
144
142
  NewComponentHelperMain,
145
143
  CommunityMain,
146
- ImporterMain,
147
144
  ComponentMain
148
145
  ], config: GeneratorConfig, [componentTemplateSlot, workspaceTemplateSlot]: [ComponentTemplateSlot, WorkspaceTemplateSlot]): Promise<GeneratorMain>;
149
146
  }
@@ -101,13 +101,6 @@ function _lodash() {
101
101
  };
102
102
  return data;
103
103
  }
104
- function _importer() {
105
- const data = _interopRequireDefault(require("@teambit/importer"));
106
- _importer = function () {
107
- return data;
108
- };
109
- return data;
110
- }
111
104
  function _generator() {
112
105
  const data = require("./generator.aspect");
113
106
  _generator = function () {
@@ -197,7 +190,7 @@ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj &&
197
190
  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; }
198
191
  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; }
199
192
  class GeneratorMain {
200
- constructor(componentTemplateSlot, workspaceTemplateSlot, config, workspace, envs, aspectLoader, newComponentHelper, importer, componentAspect) {
193
+ constructor(componentTemplateSlot, workspaceTemplateSlot, config, workspace, envs, aspectLoader, newComponentHelper, componentAspect) {
201
194
  this.componentTemplateSlot = componentTemplateSlot;
202
195
  this.workspaceTemplateSlot = workspaceTemplateSlot;
203
196
  this.config = config;
@@ -205,7 +198,6 @@ class GeneratorMain {
205
198
  this.envs = envs;
206
199
  this.aspectLoader = aspectLoader;
207
200
  this.newComponentHelper = newComponentHelper;
208
- this.importer = importer;
209
201
  this.componentAspect = componentAspect;
210
202
  (0, _defineProperty2().default)(this, "aspectLoaded", false);
211
203
  (0, _defineProperty2().default)(this, "getTemplateDescriptor", ({
@@ -523,8 +515,8 @@ class GeneratorMain {
523
515
  await this.workspace.loadAspects(this.config.aspects);
524
516
  this.aspectLoaded = true;
525
517
  }
526
- static async provider([workspace, cli, graphql, envs, aspectLoader, newComponentHelper, community, importer, componentAspect], config, [componentTemplateSlot, workspaceTemplateSlot]) {
527
- const generator = new GeneratorMain(componentTemplateSlot, workspaceTemplateSlot, config, workspace, envs, aspectLoader, newComponentHelper, importer, componentAspect);
518
+ static async provider([workspace, cli, graphql, envs, aspectLoader, newComponentHelper, community, componentAspect], config, [componentTemplateSlot, workspaceTemplateSlot]) {
519
+ const generator = new GeneratorMain(componentTemplateSlot, workspaceTemplateSlot, config, workspace, envs, aspectLoader, newComponentHelper, componentAspect);
528
520
  const commands = [new (_create().CreateCmd)(generator, community.getDocsDomain()), new (_templates().TemplatesCmd)(generator), new (_new().NewCmd)(generator)];
529
521
  cli.register(...commands);
530
522
  graphql.register((0, _generator2().generatorSchema)(generator));
@@ -536,7 +528,7 @@ class GeneratorMain {
536
528
  }
537
529
  exports.GeneratorMain = GeneratorMain;
538
530
  (0, _defineProperty2().default)(GeneratorMain, "slots", [_harmony().Slot.withType(), _harmony().Slot.withType()]);
539
- (0, _defineProperty2().default)(GeneratorMain, "dependencies", [_workspace().default, _cli().CLIAspect, _graphql().GraphqlAspect, _envs().EnvsAspect, _aspectLoader().default, _newComponentHelper().default, _community().CommunityAspect, _importer().default, _component().default]);
531
+ (0, _defineProperty2().default)(GeneratorMain, "dependencies", [_workspace().default, _cli().CLIAspect, _graphql().GraphqlAspect, _envs().EnvsAspect, _aspectLoader().default, _newComponentHelper().default, _community().CommunityAspect, _component().default]);
540
532
  (0, _defineProperty2().default)(GeneratorMain, "runtime", _cli().MainRuntime);
541
533
  _generator().GeneratorAspect.addRuntime(GeneratorMain);
542
534
 
@@ -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","remoteEnvsAspect","EnvsAspect","fullAspectId","toString","fromGlobal","searchRegisteredWorkspaceTemplate","call","workspaceTemplate","findTemplateInOtherWorkspace","workspacePath","BitError","harmony","loadBit","WorkspaceAspect","err","Error","aspectComponentId","resolveComponentId","loadAspects","aspectComponent","aspectFullId","generator","getWorkspaceTemplate","registeredTemplate","listEnvWorkspaceTemplates","getAllWorkspaceTemplatesFlattened","tpl","generateComponentTemplate","componentNames","templateName","options","OutsideWorkspaceError","namespace","templateWithId","componentIds","map","componentName","getNewComponentId","scope","componentGenerator","ComponentGenerator","envName","ComponentID","fromString","undefined","generate","generateWorkspaceTemplate","workspaceName","loadFrom","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","registerService","GeneratorService","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, { OutsideWorkspaceError, Workspace } from '@teambit/workspace';\nimport { EnvDefinition, EnvsAspect, EnvsMain } from '@teambit/envs';\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';\nimport { GeneratorService } from './generator.service';\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 aspectComponent = await workspace.get(aspectComponentId);\n const aspectFullId = aspectComponentId.toString();\n const generator = harmony.get<GeneratorMain>(GeneratorAspect.id);\n const workspaceTemplate = await generator.searchRegisteredWorkspaceTemplate(name, aspectFullId);\n return { workspaceTemplate, aspect: aspectComponent };\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 OutsideWorkspaceError();\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 const { workspaceTemplate, aspect } = loadFrom\n ? await this.findTemplateInOtherWorkspace(loadFrom, templateName, aspectId)\n : await this.getWorkspaceTemplate(templateName, aspectId);\n\n if (!workspaceTemplate) throw new BitError(`template \"${templateName}\" was not found`);\n const workspaceGenerator = new WorkspaceGenerator(workspaceName, options, workspaceTemplate, aspect);\n const workspacePath = await workspaceGenerator.generate();\n\n return { workspacePath, appName: workspaceTemplate.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 const componentId = ComponentID.fromString(env.id);\n return tpls.map((template) => {\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 envs.registerService(new GeneratorService());\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","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","aspectComponent","aspectFullId","generator","getWorkspaceTemplate","registeredTemplate","listEnvWorkspaceTemplates","getAllWorkspaceTemplatesFlattened","tpl","generateComponentTemplate","componentNames","templateName","options","OutsideWorkspaceError","namespace","templateWithId","componentIds","map","componentName","getNewComponentId","scope","componentGenerator","ComponentGenerator","envName","ComponentID","fromString","undefined","generate","generateWorkspaceTemplate","workspaceName","loadFrom","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","registerService","GeneratorService","componentGeneratorTemplate","starterTemplate","workspaceGeneratorTemplate","Slot","withType","CLIAspect","GraphqlAspect","AspectLoaderAspect","NewComponentHelperAspect","CommunityAspect","ComponentAspect","MainRuntime","addRuntime"],"sources":["generator.main.runtime.ts"],"sourcesContent":["import { GraphqlAspect, GraphqlMain } from '@teambit/graphql';\nimport { CLIAspect, CLIMain, MainRuntime } from '@teambit/cli';\nimport WorkspaceAspect, { OutsideWorkspaceError, Workspace } from '@teambit/workspace';\nimport { EnvDefinition, EnvsAspect, EnvsMain } from '@teambit/envs';\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 { 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';\nimport { GeneratorService } from './generator.service';\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 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 aspectComponent = await workspace.get(aspectComponentId);\n const aspectFullId = aspectComponentId.toString();\n const generator = harmony.get<GeneratorMain>(GeneratorAspect.id);\n const workspaceTemplate = await generator.searchRegisteredWorkspaceTemplate(name, aspectFullId);\n return { workspaceTemplate, aspect: aspectComponent };\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 OutsideWorkspaceError();\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 const { workspaceTemplate, aspect } = loadFrom\n ? await this.findTemplateInOtherWorkspace(loadFrom, templateName, aspectId)\n : await this.getWorkspaceTemplate(templateName, aspectId);\n\n if (!workspaceTemplate) throw new BitError(`template \"${templateName}\" was not found`);\n const workspaceGenerator = new WorkspaceGenerator(workspaceName, options, workspaceTemplate, aspect);\n const workspacePath = await workspaceGenerator.generate();\n\n return { workspacePath, appName: workspaceTemplate.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 const componentId = ComponentID.fromString(env.id);\n return tpls.map((template) => {\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 ComponentAspect,\n ];\n\n static runtime = MainRuntime;\n\n static async provider(\n [workspace, cli, graphql, envs, aspectLoader, newComponentHelper, community, componentAspect]: [\n Workspace,\n CLIMain,\n GraphqlMain,\n EnvsMain,\n AspectLoaderMain,\n NewComponentHelperMain,\n CommunityMain,\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 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 envs.registerService(new GeneratorService());\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.963/dist/generator.composition.js';
2
- import * as overview_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad3d35bfc38b9cd90c0e05b598a5a55af/teambit.generator_generator@0.0.963/dist/generator.docs.mdx';
1
+ import * as compositions_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad3d35bfc38b9cd90c0e05b598a5a55af/teambit.generator_generator@0.0.965/dist/generator.composition.js';
2
+ import * as overview_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad3d35bfc38b9cd90c0e05b598a5a55af/teambit.generator_generator@0.0.965/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.963",
3
+ "version": "0.0.965",
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.963"
9
+ "version": "0.0.965"
10
10
  },
11
11
  "dependencies": {
12
12
  "camelcase": "6.2.0",
@@ -22,21 +22,21 @@
22
22
  "@teambit/harmony": "0.4.6",
23
23
  "@teambit/bit-error": "0.0.402",
24
24
  "@teambit/component-id": "0.0.425",
25
- "@teambit/envs": "0.0.963",
26
- "@teambit/new-component-helper": "0.0.367",
27
- "@teambit/workspace": "0.0.963",
28
- "@teambit/cli": "0.0.646",
29
- "@teambit/graphql": "0.0.963",
30
- "@teambit/aspect-loader": "0.0.963",
31
- "@teambit/bit": "0.0.965",
32
- "@teambit/community": "0.0.194",
33
- "@teambit/component": "0.0.963",
34
- "@teambit/importer": "0.0.392",
35
- "@teambit/compiler": "0.0.963",
36
- "@teambit/forking": "0.0.367",
37
- "@teambit/install": "0.0.93",
38
- "@teambit/logger": "0.0.739",
39
- "@teambit/ui": "0.0.963"
25
+ "@teambit/envs": "0.0.965",
26
+ "@teambit/new-component-helper": "0.0.369",
27
+ "@teambit/workspace": "0.0.965",
28
+ "@teambit/cli": "0.0.648",
29
+ "@teambit/graphql": "0.0.965",
30
+ "@teambit/aspect-loader": "0.0.965",
31
+ "@teambit/bit": "0.0.967",
32
+ "@teambit/community": "0.0.196",
33
+ "@teambit/component": "0.0.965",
34
+ "@teambit/compiler": "0.0.965",
35
+ "@teambit/forking": "0.0.369",
36
+ "@teambit/importer": "0.0.394",
37
+ "@teambit/install": "0.0.95",
38
+ "@teambit/logger": "0.0.741",
39
+ "@teambit/ui": "0.0.965"
40
40
  },
41
41
  "devDependencies": {
42
42
  "@types/fs-extra": "9.0.7",
@@ -50,7 +50,7 @@
50
50
  "@teambit/generator.aspect-docs.generator": "0.0.155"
51
51
  },
52
52
  "peerDependencies": {
53
- "@teambit/legacy": "1.0.426",
53
+ "@teambit/legacy": "1.0.429",
54
54
  "react": "^16.8.0 || ^17.0.0",
55
55
  "react-dom": "^16.8.0 || ^17.0.0"
56
56
  },