@teambit/generator 1.0.1199 → 1.0.1201

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.
@@ -10,12 +10,10 @@ import type { AspectLoaderMain } from '@teambit/aspect-loader';
10
10
  import type { TrackerMain } from '@teambit/tracker';
11
11
  import type { NewComponentHelperMain } from '@teambit/new-component-helper';
12
12
  import type { Logger, LoggerMain } from '@teambit/logger';
13
- import type { DeprecationMain } from '@teambit/deprecation';
14
13
  import type { ComponentTemplate, GetComponentTemplates, PromptResults } from './component-template';
15
14
  import type { CreateOptions } from './create.cmd';
16
15
  import type { GenerateResult, InstallOptions, OnComponentCreateFn } from './component-generator';
17
16
  import type { GetWorkspaceTemplates, WorkspaceTemplate } from './workspace-template';
18
- import type { NewOptions } from './new.cmd';
19
17
  export type ComponentTemplateSlot = SlotRegistry<ComponentTemplate[] | GetComponentTemplates>;
20
18
  export type WorkspaceTemplateSlot = SlotRegistry<WorkspaceTemplate[] | GetWorkspaceTemplates>;
21
19
  export type OnComponentCreateSlot = SlotRegistry<OnComponentCreateFn>;
@@ -54,10 +52,6 @@ export type BitApi = {
54
52
  restoreGlobalsFromSnapshot: (globals: LegacyGlobal[]) => void;
55
53
  takeLegacyGlobalsSnapshot: () => LegacyGlobal[];
56
54
  };
57
- export type GenerateWorkspaceTemplateResult = {
58
- workspacePath: string;
59
- appName?: string;
60
- };
61
55
  export type GeneratorConfig = {
62
56
  /**
63
57
  * array of aspects to include in the list of templates.
@@ -87,11 +81,11 @@ export declare class GeneratorMain {
87
81
  private logger;
88
82
  private git;
89
83
  private wsConfigFiles;
90
- private deprecation;
91
84
  private aspectLoaded;
92
85
  private bitApi;
93
- constructor(componentTemplateSlot: ComponentTemplateSlot, workspaceTemplateSlot: WorkspaceTemplateSlot, onComponentCreateSlot: OnComponentCreateSlot, config: GeneratorConfig, workspace: Workspace, envs: EnvsMain, aspectLoader: AspectLoaderMain, newComponentHelper: NewComponentHelperMain, componentAspect: ComponentMain, tracker: TrackerMain, logger: Logger, git: GitMain, wsConfigFiles: WorkspaceConfigFilesMain, deprecation: DeprecationMain);
86
+ constructor(componentTemplateSlot: ComponentTemplateSlot, workspaceTemplateSlot: WorkspaceTemplateSlot, onComponentCreateSlot: OnComponentCreateSlot, config: GeneratorConfig, workspace: Workspace, envs: EnvsMain, aspectLoader: AspectLoaderMain, newComponentHelper: NewComponentHelperMain, componentAspect: ComponentMain, tracker: TrackerMain, logger: Logger, git: GitMain, wsConfigFiles: WorkspaceConfigFilesMain);
94
87
  setBitApi(bitApi: BitApi): void;
88
+ getBitApi(): BitApi;
95
89
  /**
96
90
  * register a new component template.
97
91
  * @param templates array of component templates or a function that returns an array of component templates.
@@ -166,11 +160,6 @@ export declare class GeneratorMain {
166
160
  private parseScopeFromComponentIdStr;
167
161
  generateComponentTemplate(componentNames: string[], templateName: string, options: Partial<CreateOptions>, installOptions?: InstallOptions, promptResults?: PromptResults): Promise<GenerateResult[]>;
168
162
  private getEnvIdFromTemplateWithId;
169
- generateWorkspaceTemplate(workspaceName: string, templateName: string, options: NewOptions & {
170
- aspect?: string;
171
- currentDir?: boolean;
172
- }): Promise<GenerateWorkspaceTemplateResult>;
173
- private warnAboutDeprecation;
174
163
  private getAllComponentTemplatesDescriptorsFlattened;
175
164
  private getAllComponentTemplatesFlattened;
176
165
  private getAllWorkspaceTemplatesDescriptorFlattened;
@@ -196,7 +185,7 @@ export declare class GeneratorMain {
196
185
  static slots: (((registerFn: () => string) => SlotRegistry<ComponentTemplate[]>) | ((registerFn: () => string) => SlotRegistry<WorkspaceTemplate[]>) | ((registerFn: () => string) => SlotRegistry<OnComponentCreateFn>))[];
197
186
  static dependencies: import("@teambit/harmony").Aspect[];
198
187
  static runtime: import("@teambit/harmony").RuntimeDefinition;
199
- static provider([workspace, cli, graphql, envs, aspectLoader, newComponentHelper, componentAspect, tracker, loggerMain, git, wsConfigFiles, deprecation,]: [
188
+ static provider([workspace, cli, graphql, envs, aspectLoader, newComponentHelper, componentAspect, tracker, loggerMain, git, wsConfigFiles,]: [
200
189
  Workspace,
201
190
  CLIMain,
202
191
  GraphqlMain,
@@ -207,8 +196,7 @@ export declare class GeneratorMain {
207
196
  TrackerMain,
208
197
  LoggerMain,
209
198
  GitMain,
210
- WorkspaceConfigFilesMain,
211
- DeprecationMain
199
+ WorkspaceConfigFilesMain
212
200
  ], config: GeneratorConfig, [componentTemplateSlot, workspaceTemplateSlot, onComponentCreateSlot]: [
213
201
  ComponentTemplateSlot,
214
202
  WorkspaceTemplateSlot,
@@ -4,13 +4,6 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.GeneratorMain = void 0;
7
- function _fsExtra() {
8
- const data = _interopRequireDefault(require("fs-extra"));
9
- _fsExtra = function () {
10
- return data;
11
- };
12
- return data;
13
- }
14
7
  function _camelcase() {
15
8
  const data = _interopRequireDefault(require("camelcase"));
16
9
  _camelcase = function () {
@@ -18,13 +11,6 @@ function _camelcase() {
18
11
  };
19
12
  return data;
20
13
  }
21
- function _path() {
22
- const data = require("path");
23
- _path = function () {
24
- return data;
25
- };
26
- return data;
27
- }
28
14
  function _graphql() {
29
15
  const data = require("@teambit/graphql");
30
16
  _graphql = function () {
@@ -158,13 +144,6 @@ function _logger() {
158
144
  };
159
145
  return data;
160
146
  }
161
- function _deprecation() {
162
- const data = require("@teambit/deprecation");
163
- _deprecation = function () {
164
- return data;
165
- };
166
- return data;
167
- }
168
147
  function _generator() {
169
148
  const data = require("./generator.aspect");
170
149
  _generator = function () {
@@ -200,20 +179,6 @@ function _componentGenerator() {
200
179
  };
201
180
  return data;
202
181
  }
203
- function _workspaceGenerator() {
204
- const data = require("./workspace-generator");
205
- _workspaceGenerator = function () {
206
- return data;
207
- };
208
- return data;
209
- }
210
- function _new() {
211
- const data = require("./new.cmd");
212
- _new = function () {
213
- return data;
214
- };
215
- return data;
216
- }
217
182
  function _templates2() {
218
183
  const data = require("./templates");
219
184
  _templates2 = function () {
@@ -242,13 +207,6 @@ function _generator3() {
242
207
  };
243
208
  return data;
244
209
  }
245
- function _workspacePathExists() {
246
- const data = require("./exceptions/workspace-path-exists");
247
- _workspacePathExists = function () {
248
- return data;
249
- };
250
- return data;
251
- }
252
210
  function _legacy3() {
253
211
  const data = require("@teambit/legacy.constants");
254
212
  _legacy3 = function () {
@@ -263,7 +221,7 @@ function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object
263
221
  function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
264
222
  function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
265
223
  class GeneratorMain {
266
- constructor(componentTemplateSlot, workspaceTemplateSlot, onComponentCreateSlot, config, workspace, envs, aspectLoader, newComponentHelper, componentAspect, tracker, logger, git, wsConfigFiles, deprecation) {
224
+ constructor(componentTemplateSlot, workspaceTemplateSlot, onComponentCreateSlot, config, workspace, envs, aspectLoader, newComponentHelper, componentAspect, tracker, logger, git, wsConfigFiles) {
267
225
  this.componentTemplateSlot = componentTemplateSlot;
268
226
  this.workspaceTemplateSlot = workspaceTemplateSlot;
269
227
  this.onComponentCreateSlot = onComponentCreateSlot;
@@ -277,7 +235,6 @@ class GeneratorMain {
277
235
  this.logger = logger;
278
236
  this.git = git;
279
237
  this.wsConfigFiles = wsConfigFiles;
280
- this.deprecation = deprecation;
281
238
  _defineProperty(this, "aspectLoaded", false);
282
239
  _defineProperty(this, "bitApi", void 0);
283
240
  _defineProperty(this, "getTemplateDescriptor", ({
@@ -302,6 +259,9 @@ class GeneratorMain {
302
259
  setBitApi(bitApi) {
303
260
  this.bitApi = bitApi;
304
261
  }
262
+ getBitApi() {
263
+ return this.bitApi;
264
+ }
305
265
 
306
266
  /**
307
267
  * register a new component template.
@@ -623,39 +583,6 @@ the reason is that after refactoring, the code will have this invalid class: "cl
623
583
  }
624
584
  return Promise.resolve(undefined);
625
585
  }
626
- async generateWorkspaceTemplate(workspaceName, templateName, options) {
627
- if (this.workspace) {
628
- throw new (_bitError().BitError)('Error: unable to generate a new workspace inside of an existing workspace');
629
- }
630
- const workspacePath = options.currentDir ? process.cwd() : (0, _path().resolve)(workspaceName);
631
- if (!options.currentDir && _fsExtra().default.existsSync(workspacePath)) {
632
- throw new (_workspacePathExists().WorkspacePathExists)(workspacePath);
633
- }
634
- const {
635
- aspect: aspectId,
636
- loadFrom
637
- } = options;
638
- const {
639
- workspaceTemplate,
640
- aspect
641
- } = loadFrom ? await this.findTemplateInOtherWorkspace(loadFrom, templateName, aspectId) : await this.getWorkspaceTemplate(templateName, aspectId);
642
- if (!workspaceTemplate) throw new (_bitError().BitError)(`template "${templateName}" was not found`);
643
- const workspaceGenerator = new (_workspaceGenerator().WorkspaceGenerator)(workspaceName, workspacePath, options, workspaceTemplate, this.bitApi, aspect);
644
- await this.warnAboutDeprecation(aspect);
645
- await workspaceGenerator.generate();
646
- return {
647
- workspacePath,
648
- appName: workspaceTemplate.appName
649
- };
650
- }
651
- async warnAboutDeprecation(aspect) {
652
- if (!aspect) return;
653
- const deprecationInfo = await this.deprecation.getDeprecationInfo(aspect);
654
- if (deprecationInfo.isDeprecate) {
655
- const newStarterMsg = deprecationInfo.newId ? `, use "${deprecationInfo.newId.toString()}" instead` : '';
656
- this.logger.consoleWarning(`the starter "${aspect?.id.toString()}" is deprecated${newStarterMsg}`);
657
- }
658
- }
659
586
  async getAllComponentTemplatesDescriptorsFlattened(aspectId) {
660
587
  const envTemplates = await this.listEnvComponentTemplateDescriptors([], aspectId);
661
588
  if (envTemplates && envTemplates.length) {
@@ -798,15 +725,15 @@ the reason is that after refactoring, the code will have this invalid class: "cl
798
725
  this.logger.error('failed to reload generator config', error);
799
726
  }
800
727
  }
801
- static async provider([workspace, cli, graphql, envs, aspectLoader, newComponentHelper, componentAspect, tracker, loggerMain, git, wsConfigFiles, deprecation], config, [componentTemplateSlot, workspaceTemplateSlot, onComponentCreateSlot]) {
728
+ static async provider([workspace, cli, graphql, envs, aspectLoader, newComponentHelper, componentAspect, tracker, loggerMain, git, wsConfigFiles], config, [componentTemplateSlot, workspaceTemplateSlot, onComponentCreateSlot]) {
802
729
  const logger = loggerMain.createLogger(_generator().GeneratorAspect.id);
803
- const generator = new GeneratorMain(componentTemplateSlot, workspaceTemplateSlot, onComponentCreateSlot, config, workspace, envs, aspectLoader, newComponentHelper, componentAspect, tracker, logger, git, wsConfigFiles, deprecation);
730
+ const generator = new GeneratorMain(componentTemplateSlot, workspaceTemplateSlot, onComponentCreateSlot, config, workspace, envs, aspectLoader, newComponentHelper, componentAspect, tracker, logger, git, wsConfigFiles);
804
731
 
805
732
  // Register for workspace config changes to reload generator config
806
733
  if (workspace) {
807
734
  workspace.registerOnWorkspaceConfigChange(generator.onWorkspaceConfigChange.bind(generator));
808
735
  }
809
- const commands = [new (_create().CreateCmd)(generator), new (_templates().TemplatesCmd)(generator), new (_new().NewCmd)(generator)];
736
+ const commands = [new (_create().CreateCmd)(generator), new (_templates().TemplatesCmd)(generator)];
810
737
  cli.register(...commands);
811
738
  graphql.register(() => (0, _generator2().generatorSchema)(generator));
812
739
  aspectLoader.registerPlugins([new (_starter().StarterPlugin)(generator)]);
@@ -818,7 +745,7 @@ the reason is that after refactoring, the code will have this invalid class: "cl
818
745
  }
819
746
  exports.GeneratorMain = GeneratorMain;
820
747
  _defineProperty(GeneratorMain, "slots", [_harmony().Slot.withType(), _harmony().Slot.withType(), _harmony().Slot.withType()]);
821
- _defineProperty(GeneratorMain, "dependencies", [_workspace().WorkspaceAspect, _cli().CLIAspect, _graphql().GraphqlAspect, _envs().EnvsAspect, _aspectLoader().AspectLoaderAspect, _newComponentHelper().NewComponentHelperAspect, _component().ComponentAspect, _tracker().TrackerAspect, _logger().LoggerAspect, _git().GitAspect, _workspaceConfigFiles().WorkspaceConfigFilesAspect, _deprecation().DeprecationAspect]);
748
+ _defineProperty(GeneratorMain, "dependencies", [_workspace().WorkspaceAspect, _cli().CLIAspect, _graphql().GraphqlAspect, _envs().EnvsAspect, _aspectLoader().AspectLoaderAspect, _newComponentHelper().NewComponentHelperAspect, _component().ComponentAspect, _tracker().TrackerAspect, _logger().LoggerAspect, _git().GitAspect, _workspaceConfigFiles().WorkspaceConfigFilesAspect]);
822
749
  _defineProperty(GeneratorMain, "runtime", _harmonyModules().MainRuntime);
823
750
  _generator().GeneratorAspect.addRuntime(GeneratorMain);
824
751
 
@@ -1 +1 @@
1
- {"version":3,"names":["_fsExtra","data","_interopRequireDefault","require","_camelcase","_path","_graphql","_harmonyModules","_cli","_workspace","_envs","_legacy","_workspaceConfigFiles","_component","_legacy2","_scope","_harmony","_git","_bitError","_aspectLoader","_tracker","_newComponentHelper","_lodash","_legacyBitId","_logger","_deprecation","_generator","_create","_templates","_generator2","_componentGenerator","_workspaceGenerator","_new","_templates2","_basic","_starter","_generator3","_workspacePathExists","_legacy3","e","__esModule","default","ownKeys","r","t","Object","keys","getOwnPropertySymbols","o","filter","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","_toPropertyKey","value","configurable","writable","i","_toPrimitive","Symbol","toPrimitive","call","TypeError","String","Number","GeneratorMain","constructor","componentTemplateSlot","workspaceTemplateSlot","onComponentCreateSlot","config","workspace","envs","aspectLoader","newComponentHelper","componentAspect","tracker","logger","git","wsConfigFiles","deprecation","id","template","shouldBeHidden","hidden","hideCoreTemplates","bitApi","isCoreAspect","componentTemplate","aspectId","name","description","env","setBitApi","registerComponentTemplate","templates","register","registerWorkspaceTemplate","registerOnComponentCreate","fn","listTemplates","aspect","isRunningInsideWorkspace","getAllComponentTemplatesDescriptorsFlattened","getAllWorkspaceTemplatesDescriptorFlattened","listComponentTemplates","opts","Boolean","getComponentTemplateByAspect","result","get","Array","isArray","getComponentTemplate","fromEnv","listEnvComponentTemplates","found","findTemplateByAspectIdAndName","getAllComponentTemplatesFlattened","find","idWithoutVersion","split","loadAspectsFromGlobalScope","aspectIds","globalScope","LegacyScope","ensure","GLOBAL_SCOPE","ensureDir","legacyGlobalsSnapshot","takeLegacyGlobalsSnapshot","globalScopeHarmony","loadBit","path","scope","ScopeAspect","AspectLoaderAspect","ids","map","ComponentID","fromString","hasVersions","every","hasVersion","useCache","import","reason","components","getMany","resolvedAspects","getResolvedAspects","workspaceName","loadRequireableExtensions","err","error","code","resolvedAspectsAgain","skipIfExists","getGlobalGeneratorEnvs","remoteGenerator","GeneratorAspect","remoteEnvsAspect","EnvsAspect","fullAspectId","toString","restoreGlobalsFromSnapshot","findWorkspaceTemplateInGlobalScope","fromGlobal","searchRegisteredWorkspaceTemplate","workspaceTemplate","findTemplateInOtherWorkspace","workspacePath","BitError","harmony","WorkspaceAspect","Error","aspectComponentId","resolveComponentId","loadAspects","aspectComponent","aspectFullId","generator","getWorkspaceTemplate","registeredTemplate","listEnvWorkspaceTemplates","getAllWorkspaceTemplatesFlattened","tpl","getTemplateWithId","templateName","componentConfigLoadingRegistry","ComponentConfig","templateWithId","parseScopeFromComponentIdStr","componentIdStr","firstSlashIndex","indexOf","undefined","potentialScope","substring","includes","isValidScopeName","generateComponentTemplate","componentNames","options","installOptions","promptResults","OutsideWorkspaceError","namespace","componentIds","componentName","parsedScope","parsedName","getNewComponentId","componentNameSameAsTemplateName","componentId","compNamePascal","camelCase","pascalCase","envId","getEnvIdFromTemplateWithId","componentGenerator","ComponentGenerator","generateResults","generate","force","warnAboutRemoteIdCollisions","envIdFromTemplate","parsedFromTemplate","tryFromString","resolvedId","resolveEnvIdWithPotentialVersionForConfig","envName","Promise","resolve","generateWorkspaceTemplate","currentDir","process","cwd","fs","existsSync","WorkspacePathExists","loadFrom","workspaceGenerator","WorkspaceGenerator","warnAboutDeprecation","appName","deprecationInfo","getDeprecationInfo","isDeprecate","newStarterMsg","newId","consoleWarning","envTemplates","listEnvComponentTemplateDescriptors","filtered","flattened","getTemplateDescriptor","templatesByAspects","toArray","flatMap","componentTemplates","resolvedComponentTemplates","workspaceTemplates","resolvedWorkspaceTemplates","loadEnvs","getGeneratorStarters","envStarters","starter","compact","envTemplate","toStringWithoutVersion","titlePrefix","getConfiguredEnvs","configEnvs","globals","allIds","uniq","concat","getGeneratorTemplates","tpls","host","getHost","envsAspect","potentialEnvs","getEnvDefinition","aspectLoaded","aspects","onWorkspaceConfigChange","debug","workspaceConfig","getWorkspaceConfig","generatorConfigEntry","extensions","findExtension","provider","cli","graphql","loggerMain","createLogger","registerOnWorkspaceConfigChange","bind","commands","CreateCmd","TemplatesCmd","NewCmd","generatorSchema","registerPlugins","StarterPlugin","registerService","GeneratorService","componentGeneratorTemplate","componentGeneratorTemplateStandalone","starterTemplate","starterTemplateStandalone","BasicWorkspaceStarter","exports","Slot","withType","CLIAspect","GraphqlAspect","NewComponentHelperAspect","ComponentAspect","TrackerAspect","LoggerAspect","GitAspect","WorkspaceConfigFilesAspect","DeprecationAspect","MainRuntime","addRuntime"],"sources":["generator.main.runtime.ts"],"sourcesContent":["import fs from 'fs-extra';\nimport camelCase from 'camelcase';\nimport { resolve } from 'path';\nimport type { GraphqlMain } from '@teambit/graphql';\nimport { GraphqlAspect } from '@teambit/graphql';\nimport type { CLIMain } from '@teambit/cli';\nimport { MainRuntime } from '@teambit/harmony.modules.runtimes';\nimport { CLIAspect } from '@teambit/cli';\nimport type { Workspace } from '@teambit/workspace';\nimport { WorkspaceAspect, OutsideWorkspaceError } from '@teambit/workspace';\nimport type { EnvDefinition, EnvsMain } from '@teambit/envs';\nimport { EnvsAspect } from '@teambit/envs';\nimport { ComponentConfig } from '@teambit/legacy.consumer-config';\nimport type { WorkspaceConfigFilesMain } from '@teambit/workspace-config-files';\nimport { WorkspaceConfigFilesAspect } from '@teambit/workspace-config-files';\nimport { ComponentAspect, ComponentID } from '@teambit/component';\nimport type { ComponentMain, Component } from '@teambit/component';\nimport { Scope as LegacyScope } from '@teambit/legacy.scope';\nimport type { ScopeMain } from '@teambit/scope';\nimport { ScopeAspect } from '@teambit/scope';\nimport type { Harmony, SlotRegistry } from '@teambit/harmony';\nimport { Slot } from '@teambit/harmony';\nimport type { GitMain } from '@teambit/git';\nimport { GitAspect } from '@teambit/git';\nimport { BitError } from '@teambit/bit-error';\nimport type { AspectLoaderMain } from '@teambit/aspect-loader';\nimport { AspectLoaderAspect } from '@teambit/aspect-loader';\nimport type { TrackerMain } from '@teambit/tracker';\nimport { TrackerAspect } from '@teambit/tracker';\nimport type { NewComponentHelperMain } from '@teambit/new-component-helper';\nimport { NewComponentHelperAspect } from '@teambit/new-component-helper';\nimport { compact, uniq } from 'lodash';\nimport { isValidScopeName } from '@teambit/legacy-bit-id';\nimport type { Logger, LoggerMain } from '@teambit/logger';\nimport { LoggerAspect } from '@teambit/logger';\nimport type { DeprecationMain } from '@teambit/deprecation';\nimport { DeprecationAspect } from '@teambit/deprecation';\nimport type { ComponentTemplate, GetComponentTemplates, PromptResults } from './component-template';\nimport { GeneratorAspect } from './generator.aspect';\nimport type { CreateOptions } from './create.cmd';\nimport { CreateCmd } from './create.cmd';\nimport { TemplatesCmd } from './templates.cmd';\nimport { generatorSchema } from './generator.graphql';\nimport type { GenerateResult, InstallOptions, OnComponentCreateFn } from './component-generator';\nimport { ComponentGenerator } from './component-generator';\nimport { WorkspaceGenerator } from './workspace-generator';\nimport type { GetWorkspaceTemplates, WorkspaceTemplate } from './workspace-template';\nimport type { NewOptions } from './new.cmd';\nimport { NewCmd } from './new.cmd';\nimport {\n componentGeneratorTemplate,\n componentGeneratorTemplateStandalone,\n starterTemplate,\n starterTemplateStandalone,\n} from './templates';\nimport { BasicWorkspaceStarter } from './templates/basic';\nimport { StarterPlugin } from './starter.plugin';\nimport { GeneratorService } from './generator.service';\nimport { WorkspacePathExists } from './exceptions/workspace-path-exists';\nimport { GLOBAL_SCOPE } from '@teambit/legacy.constants';\n\nexport type ComponentTemplateSlot = SlotRegistry<ComponentTemplate[] | GetComponentTemplates>;\nexport type WorkspaceTemplateSlot = SlotRegistry<WorkspaceTemplate[] | GetWorkspaceTemplates>;\nexport type OnComponentCreateSlot = SlotRegistry<OnComponentCreateFn>;\n\nexport type TemplateDescriptor = {\n aspectId: string;\n titlePrefix?: string;\n name: string;\n description?: string;\n hidden?: boolean;\n /**\n * the env that will be used for components created with this template.\n * only relevant for component templates (not workspace templates).\n * expected format is an aspect ID string, e.g., \"bitdev.react/react-env\".\n */\n env?: string;\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\ntype LegacyGlobal = { classInstance: any; methodName: string; value: any; empty: any };\nexport type BitApi = {\n isCoreAspect: (id: string) => boolean;\n loadBit: (path?: string) => Promise<Harmony>;\n restoreGlobalsFromSnapshot: (globals: LegacyGlobal[]) => void;\n takeLegacyGlobalsSnapshot: () => LegacyGlobal[];\n};\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 private bitApi: BitApi;\n constructor(\n private componentTemplateSlot: ComponentTemplateSlot,\n private workspaceTemplateSlot: WorkspaceTemplateSlot,\n private onComponentCreateSlot: OnComponentCreateSlot,\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 private tracker: TrackerMain,\n private logger: Logger,\n private git: GitMain,\n private wsConfigFiles: WorkspaceConfigFilesMain,\n private deprecation: DeprecationMain\n ) {}\n\n setBitApi(bitApi: BitApi) {\n this.bitApi = bitApi;\n }\n\n /**\n * register a new component template.\n * @param templates array of component templates or a function that returns an array of component templates.\n * prefer to use the function to improve performance by loading the templates only when needed.\n */\n registerComponentTemplate(templates: ComponentTemplate[] | GetComponentTemplates) {\n this.componentTemplateSlot.register(templates);\n return this;\n }\n\n /**\n * register a new workspace starter.\n */\n registerWorkspaceTemplate(templates: WorkspaceTemplate[] | GetWorkspaceTemplates) {\n this.workspaceTemplateSlot.register(templates);\n return this;\n }\n\n registerOnComponentCreate(fn: OnComponentCreateFn) {\n this.onComponentCreateSlot.register(fn);\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 && this.bitApi.isCoreAspect(id)) return true;\n return false;\n };\n const componentTemplate = template as ComponentTemplate;\n return {\n aspectId: id,\n name: template.name,\n description: template.description,\n hidden: shouldBeHidden(),\n env: componentTemplate.env,\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 const result = this.componentTemplateSlot.get(aspectId);\n if (!result) return [];\n if (Array.isArray(result)) return result;\n return result();\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([], aspectId);\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 // When doing something like:\n // bit create react-env my-env --aspect teambit.react/react-env\n // we will get the aspectId without version\n // but the env might be loaded from the global scope then it will be with a version\n // so it won't found if we don't look for it like this\n const idWithoutVersion = id.split('@')[0];\n if (aspectId && id !== aspectId && idWithoutVersion !== aspectId) return false;\n return template.name === name;\n });\n return found;\n }\n\n /**\n * get or create a global scope, import the non-core aspects, load bit from that scope, create\n * capsules for the aspects and load them from the capsules.\n */\n private async loadAspectsFromGlobalScope(\n aspectIds: string[]\n ): Promise<{ components: Component[]; globalScopeHarmony: Harmony; legacyGlobalsSnapshot: LegacyGlobal[] }> {\n const globalScope = await LegacyScope.ensure(GLOBAL_SCOPE, 'global-scope');\n await globalScope.ensureDir();\n const legacyGlobalsSnapshot = this.bitApi.takeLegacyGlobalsSnapshot();\n const globalScopeHarmony = await this.bitApi.loadBit(globalScope.path);\n const scope = globalScopeHarmony.get<ScopeMain>(ScopeAspect.id);\n const aspectLoader = globalScopeHarmony.get<AspectLoaderMain>(AspectLoaderAspect.id);\n const ids = aspectIds.map((id) => ComponentID.fromString(id));\n const hasVersions = ids.every((id) => id.hasVersion());\n const useCache = hasVersions; // if all components has versions, try to use the cached aspects\n await scope.import(ids, { useCache, reason: 'to load aspects from global scope' });\n const components = await scope.getMany(ids, true);\n\n // don't use `await scope.loadAspectsFromCapsules(components, true);`\n // it won't work for globalScope because `this !== scope.aspectLoader` (this instance\n // is not the same as the aspectLoader instance Scope has)\n const resolvedAspects = await scope.getResolvedAspects(components, { workspaceName: 'global-scope' });\n try {\n await aspectLoader.loadRequireableExtensions(resolvedAspects, true);\n } catch (err: any) {\n if (err?.error?.code === 'MODULE_NOT_FOUND') {\n const resolvedAspectsAgain = await scope.getResolvedAspects(components, {\n skipIfExists: false,\n workspaceName: 'global-scope',\n });\n await aspectLoader.loadRequireableExtensions(resolvedAspectsAgain, true);\n } else {\n throw err;\n }\n }\n\n return { components, globalScopeHarmony, legacyGlobalsSnapshot };\n }\n\n /**\n * Get the generator aspect and the envs aspect from an harmony instance of the global scope\n */\n private async getGlobalGeneratorEnvs(\n aspectId: string\n ): Promise<{ remoteGenerator: GeneratorMain; fullAspectId: string; remoteEnvsAspect: EnvsMain; aspect: any }> {\n const { globalScopeHarmony, components, legacyGlobalsSnapshot } = await this.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 this.bitApi.restoreGlobalsFromSnapshot(legacyGlobalsSnapshot);\n\n return { remoteGenerator, fullAspectId, remoteEnvsAspect, aspect };\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 findWorkspaceTemplateInGlobalScope(\n aspectId: string,\n name?: string\n ): Promise<{ workspaceTemplate?: WorkspaceTemplate; aspect?: Component }> {\n const { remoteGenerator, fullAspectId, remoteEnvsAspect, aspect } = await this.getGlobalGeneratorEnvs(aspectId);\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 this.bitApi.loadBit(workspacePath);\n let workspace: Workspace;\n try {\n workspace = harmony.get<Workspace>(WorkspaceAspect.id);\n } catch {\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(\n `template \"${name}\" was not found, please use --aspect flag to load from an env i.e --aspect teambit.react/react-env\\n Learn more about component templates here: https://bit.dev/reference/generator/create-generator`\n );\n }\n\n const { workspaceTemplate, aspect } = await this.findWorkspaceTemplateInGlobalScope(aspectId, name);\n if (workspaceTemplate) {\n return { workspaceTemplate, aspect };\n }\n throw new BitError(\n `template \"${name}\" was not found, please use --aspect flag to load from an env i.e --aspect teambit.react/react-env\\n Learn more about component templates here: https://bit.dev/reference/generator/create-generator`\n );\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 getTemplateWithId(templateName: string, aspect?: string): Promise<ComponentTemplateWithId> {\n const componentConfigLoadingRegistry = ComponentConfig.componentConfigLoadingRegistry;\n\n const templateWithId = await this.getComponentTemplate(templateName, aspect);\n\n ComponentConfig.componentConfigLoadingRegistry = componentConfigLoadingRegistry;\n\n if (!templateWithId) throw new BitError(`template \"${templateName}\" was not found`);\n return templateWithId;\n }\n\n /**\n * Parse the scope from a component name if provided in the format: scope/name\n * This only works for bit.cloud scopes (containing a dot), e.g., \"my-org.my-scope/hooks/use-session\"\n * Local bare-scopes don't contain a dot, so we can't distinguish between scope/name and namespace/name.\n * @returns { scope, name } where scope is the extracted scope (or undefined) and name is the remaining component name\n */\n private parseScopeFromComponentIdStr(componentIdStr: string): { scope: string | undefined; name: string } {\n const firstSlashIndex = componentIdStr.indexOf('/');\n if (firstSlashIndex === -1) {\n // no slash, so no scope prefix, e.g., \"button\"\n return { scope: undefined, name: componentIdStr };\n }\n const potentialScope = componentIdStr.substring(0, firstSlashIndex);\n // bit.cloud scopes always contain a dot (e.g., \"my-org.my-scope\")\n // local bare-scopes don't contain a dot, so we can't distinguish them from namespace/name\n if (potentialScope.includes('.') && isValidScopeName(potentialScope)) {\n const name = componentIdStr.substring(firstSlashIndex + 1);\n return { scope: potentialScope, name };\n }\n // no dot in the first segment, treat the whole string as the component name\n return { scope: undefined, name: componentIdStr };\n }\n\n async generateComponentTemplate(\n componentNames: string[],\n templateName: string,\n options: Partial<CreateOptions>,\n installOptions?: InstallOptions,\n promptResults?: PromptResults\n ): Promise<GenerateResult[]> {\n if (!this.workspace) throw new OutsideWorkspaceError();\n await this.loadAspects();\n const { namespace, aspect } = options;\n\n const templateWithId = await this.getTemplateWithId(templateName, aspect);\n\n const componentIds = componentNames.map((componentName) => {\n // Support scope/name syntax for bit.cloud scopes (containing a dot)\n // e.g., \"my-org.my-scope/hooks/use-session\" -> scope: \"my-org.my-scope\", name: \"hooks/use-session\"\n const { scope: parsedScope, name: parsedName } = this.parseScopeFromComponentIdStr(componentName);\n const scope = parsedScope || options.scope;\n return this.newComponentHelper.getNewComponentId(parsedName, namespace, scope);\n });\n\n const componentNameSameAsTemplateName = componentIds.find((componentId) => componentId.name === templateName);\n if (componentNameSameAsTemplateName) {\n const compNamePascal = camelCase(templateName, { pascalCase: true });\n throw new BitError(\n `unable to create a component with the same name as the template \"${templateName}\", please use a different name.\nthe reason is that after refactoring, the code will have this invalid class: \"class ${compNamePascal} extends ${compNamePascal} {}\"`\n );\n }\n\n const envId = await this.getEnvIdFromTemplateWithId(templateWithId);\n\n const componentGenerator = new ComponentGenerator(\n this.workspace,\n componentIds,\n options,\n templateWithId.template,\n this.envs,\n this.newComponentHelper,\n this.tracker,\n this.wsConfigFiles,\n this.logger,\n this.onComponentCreateSlot,\n templateWithId.id,\n envId,\n installOptions,\n promptResults\n );\n const generateResults = await componentGenerator.generate(options.force);\n await this.tracker.warnAboutRemoteIdCollisions(generateResults.map((result) => result.id));\n return generateResults;\n }\n\n private async getEnvIdFromTemplateWithId(templateWithId: ComponentTemplateWithId): Promise<ComponentID | undefined> {\n const envIdFromTemplate = templateWithId.template.env;\n if (envIdFromTemplate) {\n const parsedFromTemplate = ComponentID.tryFromString(envIdFromTemplate);\n if (!parsedFromTemplate) {\n throw new BitError(\n `Error: unable to parse envId from template. template name: ${templateWithId.template.name}, envId: ${envIdFromTemplate}`\n );\n }\n const resolvedId = await this.workspace.resolveEnvIdWithPotentialVersionForConfig(parsedFromTemplate);\n return ComponentID.fromString(resolvedId);\n }\n if (templateWithId.envName) {\n return ComponentID.fromString(templateWithId.id);\n }\n return Promise.resolve(undefined);\n }\n\n async generateWorkspaceTemplate(\n workspaceName: string,\n templateName: string,\n options: NewOptions & { aspect?: string; currentDir?: boolean }\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 workspacePath = options.currentDir ? process.cwd() : resolve(workspaceName);\n if (!options.currentDir && fs.existsSync(workspacePath)) {\n throw new WorkspacePathExists(workspacePath);\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(\n workspaceName,\n workspacePath,\n options,\n workspaceTemplate,\n this.bitApi,\n aspect\n );\n await this.warnAboutDeprecation(aspect);\n await workspaceGenerator.generate();\n return { workspacePath, appName: workspaceTemplate.appName };\n }\n\n private async warnAboutDeprecation(aspect?: Component) {\n if (!aspect) return;\n const deprecationInfo = await this.deprecation.getDeprecationInfo(aspect);\n if (deprecationInfo.isDeprecate) {\n const newStarterMsg = deprecationInfo.newId ? `, use \"${deprecationInfo.newId.toString()}\" instead` : '';\n this.logger.consoleWarning(`the starter \"${aspect?.id.toString()}\" is deprecated${newStarterMsg}`);\n }\n }\n\n private async getAllComponentTemplatesDescriptorsFlattened(aspectId?: string): Promise<Array<TemplateDescriptor>> {\n const envTemplates = await this.listEnvComponentTemplateDescriptors([], aspectId);\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 const resolvedComponentTemplates = Array.isArray(componentTemplates) ? componentTemplates : componentTemplates();\n return resolvedComponentTemplates.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 const resolvedWorkspaceTemplates =\n typeof workspaceTemplates === 'function' ? workspaceTemplates() : workspaceTemplates;\n return resolvedWorkspaceTemplates.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[] = [], aspectId?: string): Promise<TemplateDescriptor[]> {\n const envTemplates = await this.listEnvComponentTemplates(ids, aspectId);\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 getConfiguredEnvs(): string[] {\n return this.config.envs ?? [];\n }\n\n async listEnvComponentTemplates(ids: string[] = [], aspectId?: string): Promise<Array<ComponentTemplateWithId>> {\n const configEnvs = this.config.envs || [];\n let remoteEnvsAspect;\n let fullAspectId;\n if (aspectId && !configEnvs.includes(aspectId)) {\n const globals = await this.getGlobalGeneratorEnvs(aspectId);\n remoteEnvsAspect = globals.remoteEnvsAspect;\n fullAspectId = globals.fullAspectId;\n }\n const allIds = uniq(configEnvs?.concat(ids).concat([aspectId, fullAspectId]).filter(Boolean));\n const envs = await this.loadEnvs(allIds, remoteEnvsAspect);\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 /**\n * Reload the generator config when workspace config changes.\n * This ensures that changes to envs configuration in workspace.jsonc are reflected\n * in long-running processes like \"bit server\".\n */\n async onWorkspaceConfigChange(): Promise<void> {\n this.logger.debug('reloading generator config due to workspace config change');\n try {\n const workspaceConfig = this.workspace.getWorkspaceConfig();\n const generatorConfigEntry = workspaceConfig.extensions.findExtension(GeneratorAspect.id);\n if (generatorConfigEntry) {\n this.config = generatorConfigEntry.config as GeneratorConfig;\n }\n } catch (error) {\n this.logger.error('failed to reload generator config', error);\n }\n }\n\n static slots = [\n Slot.withType<ComponentTemplate[]>(),\n Slot.withType<WorkspaceTemplate[]>(),\n Slot.withType<OnComponentCreateFn>(),\n ];\n\n static dependencies = [\n WorkspaceAspect,\n CLIAspect,\n GraphqlAspect,\n EnvsAspect,\n AspectLoaderAspect,\n NewComponentHelperAspect,\n ComponentAspect,\n TrackerAspect,\n LoggerAspect,\n GitAspect,\n WorkspaceConfigFilesAspect,\n DeprecationAspect,\n ];\n\n static runtime = MainRuntime;\n\n static async provider(\n [\n workspace,\n cli,\n graphql,\n envs,\n aspectLoader,\n newComponentHelper,\n componentAspect,\n tracker,\n loggerMain,\n git,\n wsConfigFiles,\n deprecation,\n ]: [\n Workspace,\n CLIMain,\n GraphqlMain,\n EnvsMain,\n AspectLoaderMain,\n NewComponentHelperMain,\n ComponentMain,\n TrackerMain,\n LoggerMain,\n GitMain,\n WorkspaceConfigFilesMain,\n DeprecationMain,\n ],\n config: GeneratorConfig,\n [componentTemplateSlot, workspaceTemplateSlot, onComponentCreateSlot]: [\n ComponentTemplateSlot,\n WorkspaceTemplateSlot,\n OnComponentCreateSlot,\n ]\n ) {\n const logger = loggerMain.createLogger(GeneratorAspect.id);\n const generator = new GeneratorMain(\n componentTemplateSlot,\n workspaceTemplateSlot,\n onComponentCreateSlot,\n config,\n workspace,\n envs,\n aspectLoader,\n newComponentHelper,\n componentAspect,\n tracker,\n logger,\n git,\n wsConfigFiles,\n deprecation\n );\n\n // Register for workspace config changes to reload generator config\n if (workspace) {\n workspace.registerOnWorkspaceConfigChange(generator.onWorkspaceConfigChange.bind(generator));\n }\n\n const commands = [new CreateCmd(generator), new TemplatesCmd(generator), new NewCmd(generator)];\n cli.register(...commands);\n graphql.register(() => generatorSchema(generator));\n aspectLoader.registerPlugins([new StarterPlugin(generator)]);\n envs.registerService(new GeneratorService());\n\n if (generator)\n generator.registerComponentTemplate(() => [\n componentGeneratorTemplate,\n componentGeneratorTemplateStandalone,\n starterTemplate,\n starterTemplateStandalone,\n ]);\n generator.registerWorkspaceTemplate(() => [BasicWorkspaceStarter]);\n\n return generator;\n }\n}\n\nGeneratorAspect.addRuntime(GeneratorMain);\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_camelcase","data","_interopRequireDefault","require","_graphql","_harmonyModules","_cli","_workspace","_envs","_legacy","_workspaceConfigFiles","_component","_legacy2","_scope","_harmony","_git","_bitError","_aspectLoader","_tracker","_newComponentHelper","_lodash","_legacyBitId","_logger","_generator","_create","_templates","_generator2","_componentGenerator","_templates2","_basic","_starter","_generator3","_legacy3","e","__esModule","default","ownKeys","r","t","Object","keys","getOwnPropertySymbols","o","filter","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","_toPropertyKey","value","configurable","writable","i","_toPrimitive","Symbol","toPrimitive","call","TypeError","String","Number","GeneratorMain","constructor","componentTemplateSlot","workspaceTemplateSlot","onComponentCreateSlot","config","workspace","envs","aspectLoader","newComponentHelper","componentAspect","tracker","logger","git","wsConfigFiles","id","template","shouldBeHidden","hidden","hideCoreTemplates","bitApi","isCoreAspect","componentTemplate","aspectId","name","description","env","setBitApi","getBitApi","registerComponentTemplate","templates","register","registerWorkspaceTemplate","registerOnComponentCreate","fn","listTemplates","aspect","isRunningInsideWorkspace","getAllComponentTemplatesDescriptorsFlattened","getAllWorkspaceTemplatesDescriptorFlattened","listComponentTemplates","opts","Boolean","getComponentTemplateByAspect","result","get","Array","isArray","getComponentTemplate","fromEnv","listEnvComponentTemplates","found","findTemplateByAspectIdAndName","getAllComponentTemplatesFlattened","find","idWithoutVersion","split","loadAspectsFromGlobalScope","aspectIds","globalScope","LegacyScope","ensure","GLOBAL_SCOPE","ensureDir","legacyGlobalsSnapshot","takeLegacyGlobalsSnapshot","globalScopeHarmony","loadBit","path","scope","ScopeAspect","AspectLoaderAspect","ids","map","ComponentID","fromString","hasVersions","every","hasVersion","useCache","import","reason","components","getMany","resolvedAspects","getResolvedAspects","workspaceName","loadRequireableExtensions","err","error","code","resolvedAspectsAgain","skipIfExists","getGlobalGeneratorEnvs","remoteGenerator","GeneratorAspect","remoteEnvsAspect","EnvsAspect","fullAspectId","toString","restoreGlobalsFromSnapshot","findWorkspaceTemplateInGlobalScope","fromGlobal","searchRegisteredWorkspaceTemplate","workspaceTemplate","findTemplateInOtherWorkspace","workspacePath","BitError","harmony","WorkspaceAspect","Error","aspectComponentId","resolveComponentId","loadAspects","aspectComponent","aspectFullId","generator","getWorkspaceTemplate","registeredTemplate","listEnvWorkspaceTemplates","getAllWorkspaceTemplatesFlattened","tpl","getTemplateWithId","templateName","componentConfigLoadingRegistry","ComponentConfig","templateWithId","parseScopeFromComponentIdStr","componentIdStr","firstSlashIndex","indexOf","undefined","potentialScope","substring","includes","isValidScopeName","generateComponentTemplate","componentNames","options","installOptions","promptResults","OutsideWorkspaceError","namespace","componentIds","componentName","parsedScope","parsedName","getNewComponentId","componentNameSameAsTemplateName","componentId","compNamePascal","camelCase","pascalCase","envId","getEnvIdFromTemplateWithId","componentGenerator","ComponentGenerator","generateResults","generate","force","warnAboutRemoteIdCollisions","envIdFromTemplate","parsedFromTemplate","tryFromString","resolvedId","resolveEnvIdWithPotentialVersionForConfig","envName","Promise","resolve","envTemplates","listEnvComponentTemplateDescriptors","filtered","flattened","getTemplateDescriptor","templatesByAspects","toArray","flatMap","componentTemplates","resolvedComponentTemplates","workspaceTemplates","resolvedWorkspaceTemplates","loadEnvs","getGeneratorStarters","envStarters","starter","compact","envTemplate","toStringWithoutVersion","titlePrefix","getConfiguredEnvs","configEnvs","globals","allIds","uniq","concat","getGeneratorTemplates","tpls","host","getHost","envsAspect","potentialEnvs","getEnvDefinition","aspectLoaded","aspects","onWorkspaceConfigChange","debug","workspaceConfig","getWorkspaceConfig","generatorConfigEntry","extensions","findExtension","provider","cli","graphql","loggerMain","createLogger","registerOnWorkspaceConfigChange","bind","commands","CreateCmd","TemplatesCmd","generatorSchema","registerPlugins","StarterPlugin","registerService","GeneratorService","componentGeneratorTemplate","componentGeneratorTemplateStandalone","starterTemplate","starterTemplateStandalone","BasicWorkspaceStarter","exports","Slot","withType","CLIAspect","GraphqlAspect","NewComponentHelperAspect","ComponentAspect","TrackerAspect","LoggerAspect","GitAspect","WorkspaceConfigFilesAspect","MainRuntime","addRuntime"],"sources":["generator.main.runtime.ts"],"sourcesContent":["import camelCase from 'camelcase';\nimport type { GraphqlMain } from '@teambit/graphql';\nimport { GraphqlAspect } from '@teambit/graphql';\nimport type { CLIMain } from '@teambit/cli';\nimport { MainRuntime } from '@teambit/harmony.modules.runtimes';\nimport { CLIAspect } from '@teambit/cli';\nimport type { Workspace } from '@teambit/workspace';\nimport { WorkspaceAspect, OutsideWorkspaceError } from '@teambit/workspace';\nimport type { EnvDefinition, EnvsMain } from '@teambit/envs';\nimport { EnvsAspect } from '@teambit/envs';\nimport { ComponentConfig } from '@teambit/legacy.consumer-config';\nimport type { WorkspaceConfigFilesMain } from '@teambit/workspace-config-files';\nimport { WorkspaceConfigFilesAspect } from '@teambit/workspace-config-files';\nimport { ComponentAspect, ComponentID } from '@teambit/component';\nimport type { ComponentMain, Component } from '@teambit/component';\nimport { Scope as LegacyScope } from '@teambit/legacy.scope';\nimport type { ScopeMain } from '@teambit/scope';\nimport { ScopeAspect } from '@teambit/scope';\nimport type { Harmony, SlotRegistry } from '@teambit/harmony';\nimport { Slot } from '@teambit/harmony';\nimport type { GitMain } from '@teambit/git';\nimport { GitAspect } from '@teambit/git';\nimport { BitError } from '@teambit/bit-error';\nimport type { AspectLoaderMain } from '@teambit/aspect-loader';\nimport { AspectLoaderAspect } from '@teambit/aspect-loader';\nimport type { TrackerMain } from '@teambit/tracker';\nimport { TrackerAspect } from '@teambit/tracker';\nimport type { NewComponentHelperMain } from '@teambit/new-component-helper';\nimport { NewComponentHelperAspect } from '@teambit/new-component-helper';\nimport { compact, uniq } from 'lodash';\nimport { isValidScopeName } from '@teambit/legacy-bit-id';\nimport type { Logger, LoggerMain } from '@teambit/logger';\nimport { LoggerAspect } from '@teambit/logger';\nimport type { ComponentTemplate, GetComponentTemplates, PromptResults } from './component-template';\nimport { GeneratorAspect } from './generator.aspect';\nimport type { CreateOptions } from './create.cmd';\nimport { CreateCmd } from './create.cmd';\nimport { TemplatesCmd } from './templates.cmd';\nimport { generatorSchema } from './generator.graphql';\nimport type { GenerateResult, InstallOptions, OnComponentCreateFn } from './component-generator';\nimport { ComponentGenerator } from './component-generator';\nimport type { GetWorkspaceTemplates, WorkspaceTemplate } from './workspace-template';\nimport {\n componentGeneratorTemplate,\n componentGeneratorTemplateStandalone,\n starterTemplate,\n starterTemplateStandalone,\n} from './templates';\nimport { BasicWorkspaceStarter } from './templates/basic';\nimport { StarterPlugin } from './starter.plugin';\nimport { GeneratorService } from './generator.service';\nimport { GLOBAL_SCOPE } from '@teambit/legacy.constants';\n\nexport type ComponentTemplateSlot = SlotRegistry<ComponentTemplate[] | GetComponentTemplates>;\nexport type WorkspaceTemplateSlot = SlotRegistry<WorkspaceTemplate[] | GetWorkspaceTemplates>;\nexport type OnComponentCreateSlot = SlotRegistry<OnComponentCreateFn>;\n\nexport type TemplateDescriptor = {\n aspectId: string;\n titlePrefix?: string;\n name: string;\n description?: string;\n hidden?: boolean;\n /**\n * the env that will be used for components created with this template.\n * only relevant for component templates (not workspace templates).\n * expected format is an aspect ID string, e.g., \"bitdev.react/react-env\".\n */\n env?: string;\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\ntype LegacyGlobal = { classInstance: any; methodName: string; value: any; empty: any };\nexport type BitApi = {\n isCoreAspect: (id: string) => boolean;\n loadBit: (path?: string) => Promise<Harmony>;\n restoreGlobalsFromSnapshot: (globals: LegacyGlobal[]) => void;\n takeLegacyGlobalsSnapshot: () => LegacyGlobal[];\n};\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 private bitApi: BitApi;\n constructor(\n private componentTemplateSlot: ComponentTemplateSlot,\n private workspaceTemplateSlot: WorkspaceTemplateSlot,\n private onComponentCreateSlot: OnComponentCreateSlot,\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 private tracker: TrackerMain,\n private logger: Logger,\n private git: GitMain,\n private wsConfigFiles: WorkspaceConfigFilesMain\n ) {}\n\n setBitApi(bitApi: BitApi) {\n this.bitApi = bitApi;\n }\n\n getBitApi(): BitApi {\n return this.bitApi;\n }\n\n /**\n * register a new component template.\n * @param templates array of component templates or a function that returns an array of component templates.\n * prefer to use the function to improve performance by loading the templates only when needed.\n */\n registerComponentTemplate(templates: ComponentTemplate[] | GetComponentTemplates) {\n this.componentTemplateSlot.register(templates);\n return this;\n }\n\n /**\n * register a new workspace starter.\n */\n registerWorkspaceTemplate(templates: WorkspaceTemplate[] | GetWorkspaceTemplates) {\n this.workspaceTemplateSlot.register(templates);\n return this;\n }\n\n registerOnComponentCreate(fn: OnComponentCreateFn) {\n this.onComponentCreateSlot.register(fn);\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 && this.bitApi.isCoreAspect(id)) return true;\n return false;\n };\n const componentTemplate = template as ComponentTemplate;\n return {\n aspectId: id,\n name: template.name,\n description: template.description,\n hidden: shouldBeHidden(),\n env: componentTemplate.env,\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 const result = this.componentTemplateSlot.get(aspectId);\n if (!result) return [];\n if (Array.isArray(result)) return result;\n return result();\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([], aspectId);\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 // When doing something like:\n // bit create react-env my-env --aspect teambit.react/react-env\n // we will get the aspectId without version\n // but the env might be loaded from the global scope then it will be with a version\n // so it won't found if we don't look for it like this\n const idWithoutVersion = id.split('@')[0];\n if (aspectId && id !== aspectId && idWithoutVersion !== aspectId) return false;\n return template.name === name;\n });\n return found;\n }\n\n /**\n * get or create a global scope, import the non-core aspects, load bit from that scope, create\n * capsules for the aspects and load them from the capsules.\n */\n private async loadAspectsFromGlobalScope(\n aspectIds: string[]\n ): Promise<{ components: Component[]; globalScopeHarmony: Harmony; legacyGlobalsSnapshot: LegacyGlobal[] }> {\n const globalScope = await LegacyScope.ensure(GLOBAL_SCOPE, 'global-scope');\n await globalScope.ensureDir();\n const legacyGlobalsSnapshot = this.bitApi.takeLegacyGlobalsSnapshot();\n const globalScopeHarmony = await this.bitApi.loadBit(globalScope.path);\n const scope = globalScopeHarmony.get<ScopeMain>(ScopeAspect.id);\n const aspectLoader = globalScopeHarmony.get<AspectLoaderMain>(AspectLoaderAspect.id);\n const ids = aspectIds.map((id) => ComponentID.fromString(id));\n const hasVersions = ids.every((id) => id.hasVersion());\n const useCache = hasVersions; // if all components has versions, try to use the cached aspects\n await scope.import(ids, { useCache, reason: 'to load aspects from global scope' });\n const components = await scope.getMany(ids, true);\n\n // don't use `await scope.loadAspectsFromCapsules(components, true);`\n // it won't work for globalScope because `this !== scope.aspectLoader` (this instance\n // is not the same as the aspectLoader instance Scope has)\n const resolvedAspects = await scope.getResolvedAspects(components, { workspaceName: 'global-scope' });\n try {\n await aspectLoader.loadRequireableExtensions(resolvedAspects, true);\n } catch (err: any) {\n if (err?.error?.code === 'MODULE_NOT_FOUND') {\n const resolvedAspectsAgain = await scope.getResolvedAspects(components, {\n skipIfExists: false,\n workspaceName: 'global-scope',\n });\n await aspectLoader.loadRequireableExtensions(resolvedAspectsAgain, true);\n } else {\n throw err;\n }\n }\n\n return { components, globalScopeHarmony, legacyGlobalsSnapshot };\n }\n\n /**\n * Get the generator aspect and the envs aspect from an harmony instance of the global scope\n */\n private async getGlobalGeneratorEnvs(\n aspectId: string\n ): Promise<{ remoteGenerator: GeneratorMain; fullAspectId: string; remoteEnvsAspect: EnvsMain; aspect: any }> {\n const { globalScopeHarmony, components, legacyGlobalsSnapshot } = await this.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 this.bitApi.restoreGlobalsFromSnapshot(legacyGlobalsSnapshot);\n\n return { remoteGenerator, fullAspectId, remoteEnvsAspect, aspect };\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 findWorkspaceTemplateInGlobalScope(\n aspectId: string,\n name?: string\n ): Promise<{ workspaceTemplate?: WorkspaceTemplate; aspect?: Component }> {\n const { remoteGenerator, fullAspectId, remoteEnvsAspect, aspect } = await this.getGlobalGeneratorEnvs(aspectId);\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 this.bitApi.loadBit(workspacePath);\n let workspace: Workspace;\n try {\n workspace = harmony.get<Workspace>(WorkspaceAspect.id);\n } catch {\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(\n `template \"${name}\" was not found, please use --aspect flag to load from an env i.e --aspect teambit.react/react-env\\n Learn more about component templates here: https://bit.dev/reference/generator/create-generator`\n );\n }\n\n const { workspaceTemplate, aspect } = await this.findWorkspaceTemplateInGlobalScope(aspectId, name);\n if (workspaceTemplate) {\n return { workspaceTemplate, aspect };\n }\n throw new BitError(\n `template \"${name}\" was not found, please use --aspect flag to load from an env i.e --aspect teambit.react/react-env\\n Learn more about component templates here: https://bit.dev/reference/generator/create-generator`\n );\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 getTemplateWithId(templateName: string, aspect?: string): Promise<ComponentTemplateWithId> {\n const componentConfigLoadingRegistry = ComponentConfig.componentConfigLoadingRegistry;\n\n const templateWithId = await this.getComponentTemplate(templateName, aspect);\n\n ComponentConfig.componentConfigLoadingRegistry = componentConfigLoadingRegistry;\n\n if (!templateWithId) throw new BitError(`template \"${templateName}\" was not found`);\n return templateWithId;\n }\n\n /**\n * Parse the scope from a component name if provided in the format: scope/name\n * This only works for bit.cloud scopes (containing a dot), e.g., \"my-org.my-scope/hooks/use-session\"\n * Local bare-scopes don't contain a dot, so we can't distinguish between scope/name and namespace/name.\n * @returns { scope, name } where scope is the extracted scope (or undefined) and name is the remaining component name\n */\n private parseScopeFromComponentIdStr(componentIdStr: string): { scope: string | undefined; name: string } {\n const firstSlashIndex = componentIdStr.indexOf('/');\n if (firstSlashIndex === -1) {\n // no slash, so no scope prefix, e.g., \"button\"\n return { scope: undefined, name: componentIdStr };\n }\n const potentialScope = componentIdStr.substring(0, firstSlashIndex);\n // bit.cloud scopes always contain a dot (e.g., \"my-org.my-scope\")\n // local bare-scopes don't contain a dot, so we can't distinguish them from namespace/name\n if (potentialScope.includes('.') && isValidScopeName(potentialScope)) {\n const name = componentIdStr.substring(firstSlashIndex + 1);\n return { scope: potentialScope, name };\n }\n // no dot in the first segment, treat the whole string as the component name\n return { scope: undefined, name: componentIdStr };\n }\n\n async generateComponentTemplate(\n componentNames: string[],\n templateName: string,\n options: Partial<CreateOptions>,\n installOptions?: InstallOptions,\n promptResults?: PromptResults\n ): Promise<GenerateResult[]> {\n if (!this.workspace) throw new OutsideWorkspaceError();\n await this.loadAspects();\n const { namespace, aspect } = options;\n\n const templateWithId = await this.getTemplateWithId(templateName, aspect);\n\n const componentIds = componentNames.map((componentName) => {\n // Support scope/name syntax for bit.cloud scopes (containing a dot)\n // e.g., \"my-org.my-scope/hooks/use-session\" -> scope: \"my-org.my-scope\", name: \"hooks/use-session\"\n const { scope: parsedScope, name: parsedName } = this.parseScopeFromComponentIdStr(componentName);\n const scope = parsedScope || options.scope;\n return this.newComponentHelper.getNewComponentId(parsedName, namespace, scope);\n });\n\n const componentNameSameAsTemplateName = componentIds.find((componentId) => componentId.name === templateName);\n if (componentNameSameAsTemplateName) {\n const compNamePascal = camelCase(templateName, { pascalCase: true });\n throw new BitError(\n `unable to create a component with the same name as the template \"${templateName}\", please use a different name.\nthe reason is that after refactoring, the code will have this invalid class: \"class ${compNamePascal} extends ${compNamePascal} {}\"`\n );\n }\n\n const envId = await this.getEnvIdFromTemplateWithId(templateWithId);\n\n const componentGenerator = new ComponentGenerator(\n this.workspace,\n componentIds,\n options,\n templateWithId.template,\n this.envs,\n this.newComponentHelper,\n this.tracker,\n this.wsConfigFiles,\n this.logger,\n this.onComponentCreateSlot,\n templateWithId.id,\n envId,\n installOptions,\n promptResults\n );\n const generateResults = await componentGenerator.generate(options.force);\n await this.tracker.warnAboutRemoteIdCollisions(generateResults.map((result) => result.id));\n return generateResults;\n }\n\n private async getEnvIdFromTemplateWithId(templateWithId: ComponentTemplateWithId): Promise<ComponentID | undefined> {\n const envIdFromTemplate = templateWithId.template.env;\n if (envIdFromTemplate) {\n const parsedFromTemplate = ComponentID.tryFromString(envIdFromTemplate);\n if (!parsedFromTemplate) {\n throw new BitError(\n `Error: unable to parse envId from template. template name: ${templateWithId.template.name}, envId: ${envIdFromTemplate}`\n );\n }\n const resolvedId = await this.workspace.resolveEnvIdWithPotentialVersionForConfig(parsedFromTemplate);\n return ComponentID.fromString(resolvedId);\n }\n if (templateWithId.envName) {\n return ComponentID.fromString(templateWithId.id);\n }\n return Promise.resolve(undefined);\n }\n\n private async getAllComponentTemplatesDescriptorsFlattened(aspectId?: string): Promise<Array<TemplateDescriptor>> {\n const envTemplates = await this.listEnvComponentTemplateDescriptors([], aspectId);\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 const resolvedComponentTemplates = Array.isArray(componentTemplates) ? componentTemplates : componentTemplates();\n return resolvedComponentTemplates.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 const resolvedWorkspaceTemplates =\n typeof workspaceTemplates === 'function' ? workspaceTemplates() : workspaceTemplates;\n return resolvedWorkspaceTemplates.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[] = [], aspectId?: string): Promise<TemplateDescriptor[]> {\n const envTemplates = await this.listEnvComponentTemplates(ids, aspectId);\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 getConfiguredEnvs(): string[] {\n return this.config.envs ?? [];\n }\n\n async listEnvComponentTemplates(ids: string[] = [], aspectId?: string): Promise<Array<ComponentTemplateWithId>> {\n const configEnvs = this.config.envs || [];\n let remoteEnvsAspect;\n let fullAspectId;\n if (aspectId && !configEnvs.includes(aspectId)) {\n const globals = await this.getGlobalGeneratorEnvs(aspectId);\n remoteEnvsAspect = globals.remoteEnvsAspect;\n fullAspectId = globals.fullAspectId;\n }\n const allIds = uniq(configEnvs?.concat(ids).concat([aspectId, fullAspectId]).filter(Boolean));\n const envs = await this.loadEnvs(allIds, remoteEnvsAspect);\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 /**\n * Reload the generator config when workspace config changes.\n * This ensures that changes to envs configuration in workspace.jsonc are reflected\n * in long-running processes like \"bit server\".\n */\n async onWorkspaceConfigChange(): Promise<void> {\n this.logger.debug('reloading generator config due to workspace config change');\n try {\n const workspaceConfig = this.workspace.getWorkspaceConfig();\n const generatorConfigEntry = workspaceConfig.extensions.findExtension(GeneratorAspect.id);\n if (generatorConfigEntry) {\n this.config = generatorConfigEntry.config as GeneratorConfig;\n }\n } catch (error) {\n this.logger.error('failed to reload generator config', error);\n }\n }\n\n static slots = [\n Slot.withType<ComponentTemplate[]>(),\n Slot.withType<WorkspaceTemplate[]>(),\n Slot.withType<OnComponentCreateFn>(),\n ];\n\n static dependencies = [\n WorkspaceAspect,\n CLIAspect,\n GraphqlAspect,\n EnvsAspect,\n AspectLoaderAspect,\n NewComponentHelperAspect,\n ComponentAspect,\n TrackerAspect,\n LoggerAspect,\n GitAspect,\n WorkspaceConfigFilesAspect,\n ];\n\n static runtime = MainRuntime;\n\n static async provider(\n [\n workspace,\n cli,\n graphql,\n envs,\n aspectLoader,\n newComponentHelper,\n componentAspect,\n tracker,\n loggerMain,\n git,\n wsConfigFiles,\n ]: [\n Workspace,\n CLIMain,\n GraphqlMain,\n EnvsMain,\n AspectLoaderMain,\n NewComponentHelperMain,\n ComponentMain,\n TrackerMain,\n LoggerMain,\n GitMain,\n WorkspaceConfigFilesMain,\n ],\n config: GeneratorConfig,\n [componentTemplateSlot, workspaceTemplateSlot, onComponentCreateSlot]: [\n ComponentTemplateSlot,\n WorkspaceTemplateSlot,\n OnComponentCreateSlot,\n ]\n ) {\n const logger = loggerMain.createLogger(GeneratorAspect.id);\n const generator = new GeneratorMain(\n componentTemplateSlot,\n workspaceTemplateSlot,\n onComponentCreateSlot,\n config,\n workspace,\n envs,\n aspectLoader,\n newComponentHelper,\n componentAspect,\n tracker,\n logger,\n git,\n wsConfigFiles\n );\n\n // Register for workspace config changes to reload generator config\n if (workspace) {\n workspace.registerOnWorkspaceConfigChange(generator.onWorkspaceConfigChange.bind(generator));\n }\n\n const commands = [new CreateCmd(generator), new TemplatesCmd(generator)];\n cli.register(...commands);\n graphql.register(() => generatorSchema(generator));\n aspectLoader.registerPlugins([new StarterPlugin(generator)]);\n envs.registerService(new GeneratorService());\n\n if (generator)\n generator.registerComponentTemplate(() => [\n componentGeneratorTemplate,\n componentGeneratorTemplateStandalone,\n starterTemplate,\n starterTemplateStandalone,\n ]);\n generator.registerWorkspaceTemplate(() => [BasicWorkspaceStarter]);\n\n return generator;\n }\n}\n\nGeneratorAspect.addRuntime(GeneratorMain);\n"],"mappings":"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","ignoreList":[]}
package/dist/index.d.ts CHANGED
@@ -1,6 +1,6 @@
1
- export type { GeneratorMain, TemplateDescriptor } from './generator.main.runtime';
1
+ export type { GeneratorMain, TemplateDescriptor, BitApi } from './generator.main.runtime';
2
2
  export type { ComponentContext, ComponentTemplate, ComponentTemplateOptions, GetComponentTemplates, ComponentFile, ComponentConfig, ConfigContext, PromptOption, PromptResults, } from './component-template';
3
- export type { WorkspaceContext, WorkspaceTemplate, WorkspaceTemplate as Starter, WorkspaceFile, ForkComponentInfo, ImportComponentInfo, CreateComponentInfo, } from './workspace-template';
3
+ export type { WorkspaceContext, WorkspaceTemplate, WorkspaceTemplate as Starter, WorkspaceFile, ForkComponentInfo, ImportComponentInfo, CreateComponentInfo, BaseWorkspaceOptions, } from './workspace-template';
4
4
  export type { GeneratorEnv } from './generator-env-type';
5
5
  export { GeneratorAspect } from './generator.aspect';
6
6
  export { TemplateList } from './template-list';
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"names":["_generator","data","require","_templateList","_starterList"],"sources":["index.ts"],"sourcesContent":["export type { GeneratorMain, TemplateDescriptor } from './generator.main.runtime';\nexport type {\n ComponentContext,\n ComponentTemplate,\n ComponentTemplateOptions,\n GetComponentTemplates,\n ComponentFile,\n ComponentConfig,\n ConfigContext,\n PromptOption,\n PromptResults,\n} from './component-template';\nexport type {\n WorkspaceContext,\n WorkspaceTemplate,\n WorkspaceTemplate as Starter,\n WorkspaceFile,\n ForkComponentInfo,\n ImportComponentInfo,\n CreateComponentInfo,\n} from './workspace-template';\nexport type { GeneratorEnv } from './generator-env-type';\nexport { GeneratorAspect } from './generator.aspect';\nexport { TemplateList } from './template-list';\nexport { StarterList } from './starter-list';\nexport type { GenerateResult } from './component-generator';\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AAsBA,SAAAA,WAAA;EAAA,MAAAC,IAAA,GAAAC,OAAA;EAAAF,UAAA,YAAAA,CAAA;IAAA,OAAAC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAE,cAAA;EAAA,MAAAF,IAAA,GAAAC,OAAA;EAAAC,aAAA,YAAAA,CAAA;IAAA,OAAAF,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAG,aAAA;EAAA,MAAAH,IAAA,GAAAC,OAAA;EAAAE,YAAA,YAAAA,CAAA;IAAA,OAAAH,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA","ignoreList":[]}
1
+ {"version":3,"names":["_generator","data","require","_templateList","_starterList"],"sources":["index.ts"],"sourcesContent":["export type { GeneratorMain, TemplateDescriptor, BitApi } from './generator.main.runtime';\nexport type {\n ComponentContext,\n ComponentTemplate,\n ComponentTemplateOptions,\n GetComponentTemplates,\n ComponentFile,\n ComponentConfig,\n ConfigContext,\n PromptOption,\n PromptResults,\n} from './component-template';\nexport type {\n WorkspaceContext,\n WorkspaceTemplate,\n WorkspaceTemplate as Starter,\n WorkspaceFile,\n ForkComponentInfo,\n ImportComponentInfo,\n CreateComponentInfo,\n BaseWorkspaceOptions,\n} from './workspace-template';\nexport type { GeneratorEnv } from './generator-env-type';\nexport { GeneratorAspect } from './generator.aspect';\nexport { TemplateList } from './template-list';\nexport { StarterList } from './starter-list';\nexport type { GenerateResult } from './component-generator';\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AAuBA,SAAAA,WAAA;EAAA,MAAAC,IAAA,GAAAC,OAAA;EAAAF,UAAA,YAAAA,CAAA;IAAA,OAAAC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAE,cAAA;EAAA,MAAAF,IAAA,GAAAC,OAAA;EAAAC,aAAA,YAAAA,CAAA;IAAA,OAAAF,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAG,aAAA;EAAA,MAAAH,IAAA,GAAAC,OAAA;EAAAE,YAAA,YAAAA,CAAA;IAAA,OAAAH,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA","ignoreList":[]}
@@ -1,5 +1,5 @@
1
- import * as compositions_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad/teambit.generator_generator@1.0.1199/dist/generator.composition.js';
2
- import * as overview_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad/teambit.generator_generator@1.0.1199/dist/generator.docs.mdx';
1
+ import * as compositions_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad/teambit.generator_generator@1.0.1201/dist/generator.composition.js';
2
+ import * as overview_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad/teambit.generator_generator@1.0.1201/dist/generator.docs.mdx';
3
3
 
4
4
  export const compositions = [compositions_0];
5
5
  export const overview = [overview_0];