@teambit/generator 0.0.1095 → 0.0.1097
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.
- package/dist/generator.main.runtime.d.ts +6 -3
- package/dist/generator.main.runtime.js +12 -4
- package/dist/generator.main.runtime.js.map +1 -1
- package/dist/{preview-1688354260415.js → preview-1688532377504.js} +2 -2
- package/dist/workspace-generator.d.ts +2 -0
- package/dist/workspace-generator.js +16 -0
- package/dist/workspace-generator.js.map +1 -1
- package/package-tar/teambit-generator-0.0.1097.tgz +0 -0
- package/package.json +21 -20
- package/package-tar/teambit-generator-0.0.1095.tgz +0 -0
@@ -5,6 +5,7 @@ import { EnvDefinition, EnvsMain } from '@teambit/envs';
|
|
5
5
|
import type { CommunityMain } from '@teambit/community';
|
6
6
|
import type { ComponentMain, Component } from '@teambit/component';
|
7
7
|
import { SlotRegistry } from '@teambit/harmony';
|
8
|
+
import { GitMain } from '@teambit/git';
|
8
9
|
import { AspectLoaderMain } from '@teambit/aspect-loader';
|
9
10
|
import { TrackerMain } from '@teambit/tracker';
|
10
11
|
import { NewComponentHelperMain } from '@teambit/new-component-helper';
|
@@ -63,8 +64,9 @@ export declare class GeneratorMain {
|
|
63
64
|
private componentAspect;
|
64
65
|
private tracker;
|
65
66
|
private logger;
|
67
|
+
private git;
|
66
68
|
private aspectLoaded;
|
67
|
-
constructor(componentTemplateSlot: ComponentTemplateSlot, workspaceTemplateSlot: WorkspaceTemplateSlot, config: GeneratorConfig, workspace: Workspace, envs: EnvsMain, aspectLoader: AspectLoaderMain, newComponentHelper: NewComponentHelperMain, componentAspect: ComponentMain, tracker: TrackerMain, logger: Logger);
|
69
|
+
constructor(componentTemplateSlot: ComponentTemplateSlot, workspaceTemplateSlot: WorkspaceTemplateSlot, config: GeneratorConfig, workspace: Workspace, envs: EnvsMain, aspectLoader: AspectLoaderMain, newComponentHelper: NewComponentHelperMain, componentAspect: ComponentMain, tracker: TrackerMain, logger: Logger, git: GitMain);
|
68
70
|
/**
|
69
71
|
* register a new component template.
|
70
72
|
*/
|
@@ -141,7 +143,7 @@ export declare class GeneratorMain {
|
|
141
143
|
static slots: (((registerFn: () => string) => SlotRegistry<ComponentTemplate[]>) | ((registerFn: () => string) => SlotRegistry<WorkspaceTemplate[]>))[];
|
142
144
|
static dependencies: import("@teambit/bit").Aspect[];
|
143
145
|
static runtime: import("@teambit/bit").RuntimeDefinition;
|
144
|
-
static provider([workspace, cli, graphql, envs, aspectLoader, newComponentHelper, community, componentAspect, tracker, loggerMain,]: [
|
146
|
+
static provider([workspace, cli, graphql, envs, aspectLoader, newComponentHelper, community, componentAspect, tracker, loggerMain, git,]: [
|
145
147
|
Workspace,
|
146
148
|
CLIMain,
|
147
149
|
GraphqlMain,
|
@@ -151,7 +153,8 @@ export declare class GeneratorMain {
|
|
151
153
|
CommunityMain,
|
152
154
|
ComponentMain,
|
153
155
|
TrackerMain,
|
154
|
-
LoggerMain
|
156
|
+
LoggerMain,
|
157
|
+
GitMain
|
155
158
|
], config: GeneratorConfig, [componentTemplateSlot, workspaceTemplateSlot]: [ComponentTemplateSlot, WorkspaceTemplateSlot]): Promise<GeneratorMain>;
|
156
159
|
}
|
157
160
|
export {};
|
@@ -81,6 +81,13 @@ function _harmony() {
|
|
81
81
|
};
|
82
82
|
return data;
|
83
83
|
}
|
84
|
+
function _git() {
|
85
|
+
const data = _interopRequireDefault(require("@teambit/git"));
|
86
|
+
_git = function () {
|
87
|
+
return data;
|
88
|
+
};
|
89
|
+
return data;
|
90
|
+
}
|
84
91
|
function _bitError() {
|
85
92
|
const data = require("@teambit/bit-error");
|
86
93
|
_bitError = function () {
|
@@ -212,7 +219,7 @@ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj &&
|
|
212
219
|
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; }
|
213
220
|
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; }
|
214
221
|
class GeneratorMain {
|
215
|
-
constructor(componentTemplateSlot, workspaceTemplateSlot, config, workspace, envs, aspectLoader, newComponentHelper, componentAspect, tracker, logger) {
|
222
|
+
constructor(componentTemplateSlot, workspaceTemplateSlot, config, workspace, envs, aspectLoader, newComponentHelper, componentAspect, tracker, logger, git) {
|
216
223
|
this.componentTemplateSlot = componentTemplateSlot;
|
217
224
|
this.workspaceTemplateSlot = workspaceTemplateSlot;
|
218
225
|
this.config = config;
|
@@ -223,6 +230,7 @@ class GeneratorMain {
|
|
223
230
|
this.componentAspect = componentAspect;
|
224
231
|
this.tracker = tracker;
|
225
232
|
this.logger = logger;
|
233
|
+
this.git = git;
|
226
234
|
(0, _defineProperty2().default)(this, "aspectLoaded", false);
|
227
235
|
(0, _defineProperty2().default)(this, "getTemplateDescriptor", ({
|
228
236
|
id,
|
@@ -573,9 +581,9 @@ class GeneratorMain {
|
|
573
581
|
await this.workspace.loadAspects(this.config.aspects);
|
574
582
|
this.aspectLoaded = true;
|
575
583
|
}
|
576
|
-
static async provider([workspace, cli, graphql, envs, aspectLoader, newComponentHelper, community, componentAspect, tracker, loggerMain], config, [componentTemplateSlot, workspaceTemplateSlot]) {
|
584
|
+
static async provider([workspace, cli, graphql, envs, aspectLoader, newComponentHelper, community, componentAspect, tracker, loggerMain, git], config, [componentTemplateSlot, workspaceTemplateSlot]) {
|
577
585
|
const logger = loggerMain.createLogger(_generator().GeneratorAspect.id);
|
578
|
-
const generator = new GeneratorMain(componentTemplateSlot, workspaceTemplateSlot, config, workspace, envs, aspectLoader, newComponentHelper, componentAspect, tracker, logger);
|
586
|
+
const generator = new GeneratorMain(componentTemplateSlot, workspaceTemplateSlot, config, workspace, envs, aspectLoader, newComponentHelper, componentAspect, tracker, logger, git);
|
579
587
|
const commands = [new (_create().CreateCmd)(generator, community.getDocsDomain()), new (_templates().TemplatesCmd)(generator), new (_new().NewCmd)(generator)];
|
580
588
|
cli.register(...commands);
|
581
589
|
graphql.register((0, _generator2().generatorSchema)(generator));
|
@@ -587,7 +595,7 @@ class GeneratorMain {
|
|
587
595
|
}
|
588
596
|
exports.GeneratorMain = GeneratorMain;
|
589
597
|
(0, _defineProperty2().default)(GeneratorMain, "slots", [_harmony().Slot.withType(), _harmony().Slot.withType()]);
|
590
|
-
(0, _defineProperty2().default)(GeneratorMain, "dependencies", [_workspace().default, _cli().CLIAspect, _graphql().GraphqlAspect, _envs().EnvsAspect, _aspectLoader().default, _newComponentHelper().default, _community().CommunityAspect, _component().default, _tracker().default, _logger().LoggerAspect]);
|
598
|
+
(0, _defineProperty2().default)(GeneratorMain, "dependencies", [_workspace().default, _cli().CLIAspect, _graphql().GraphqlAspect, _envs().EnvsAspect, _aspectLoader().default, _newComponentHelper().default, _community().CommunityAspect, _component().default, _tracker().default, _logger().LoggerAspect, _git().default]);
|
591
599
|
(0, _defineProperty2().default)(GeneratorMain, "runtime", _cli().MainRuntime);
|
592
600
|
_generator().GeneratorAspect.addRuntime(GeneratorMain);
|
593
601
|
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":["GeneratorMain","constructor","componentTemplateSlot","workspaceTemplateSlot","config","workspace","envs","aspectLoader","newComponentHelper","componentAspect","tracker","logger","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","idWithoutVersion","split","getGlobalGeneratorEnvs","globalScopeHarmony","components","loadAspectsFromGlobalScope","remoteGenerator","GeneratorAspect","remoteEnvsAspect","EnvsAspect","fullAspectId","toString","findWorkspaceTemplateInGlobalScope","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","componentConfigLoadingRegistry","ComponentConfig","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","includes","globals","allIds","concat","getGeneratorTemplates","tpls","host","getHost","envsAspect","potentialEnvs","getEnvDefinition","aspectLoaded","aspects","provider","cli","graphql","community","loggerMain","createLogger","commands","CreateCmd","getDocsDomain","TemplatesCmd","NewCmd","generatorSchema","registerPlugins","StarterPlugin","registerService","GeneratorService","componentGeneratorTemplate","starterTemplate","workspaceGeneratorTemplate","Slot","withType","CLIAspect","GraphqlAspect","AspectLoaderAspect","NewComponentHelperAspect","CommunityAspect","ComponentAspect","TrackerAspect","LoggerAspect","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';\nimport ComponentConfig from '@teambit/legacy/dist/consumer/config';\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 TrackerAspect, { TrackerMain } from '@teambit/tracker';\nimport NewComponentHelperAspect, { NewComponentHelperMain } from '@teambit/new-component-helper';\nimport { compact } from 'lodash';\nimport { Logger, LoggerAspect, LoggerMain } from '@teambit/logger';\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 private tracker: TrackerMain,\n private logger: Logger\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([], 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 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 } = 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 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 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.findWorkspaceTemplateInGlobalScope(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\n const componentConfigLoadingRegistry = ComponentConfig.componentConfigLoadingRegistry;\n\n const templateWithId = await this.getComponentTemplate(templateName, aspectId);\n\n ComponentConfig.componentConfigLoadingRegistry = componentConfigLoadingRegistry;\n\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 this.tracker,\n this.logger,\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([], 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 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[] = [], 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 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 = 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 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 TrackerAspect,\n LoggerAspect,\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 community,\n componentAspect,\n tracker,\n loggerMain,\n ]: [\n Workspace,\n CLIMain,\n GraphqlMain,\n EnvsMain,\n AspectLoaderMain,\n NewComponentHelperMain,\n CommunityMain,\n ComponentMain,\n TrackerMain,\n LoggerMain\n ],\n config: GeneratorConfig,\n [componentTemplateSlot, workspaceTemplateSlot]: [ComponentTemplateSlot, WorkspaceTemplateSlot]\n ) {\n const logger = loggerMain.createLogger(GeneratorAspect.id);\n const generator = new GeneratorMain(\n componentTemplateSlot,\n workspaceTemplateSlot,\n config,\n workspace,\n envs,\n aspectLoader,\n newComponentHelper,\n componentAspect,\n tracker,\n logger\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 if (generator)\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","tracker","logger","git","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","idWithoutVersion","split","getGlobalGeneratorEnvs","globalScopeHarmony","components","loadAspectsFromGlobalScope","remoteGenerator","GeneratorAspect","remoteEnvsAspect","EnvsAspect","fullAspectId","toString","findWorkspaceTemplateInGlobalScope","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","componentConfigLoadingRegistry","ComponentConfig","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","includes","globals","allIds","concat","getGeneratorTemplates","tpls","host","getHost","envsAspect","potentialEnvs","getEnvDefinition","aspectLoaded","aspects","provider","cli","graphql","community","loggerMain","createLogger","commands","CreateCmd","getDocsDomain","TemplatesCmd","NewCmd","generatorSchema","registerPlugins","StarterPlugin","registerService","GeneratorService","componentGeneratorTemplate","starterTemplate","workspaceGeneratorTemplate","Slot","withType","CLIAspect","GraphqlAspect","AspectLoaderAspect","NewComponentHelperAspect","CommunityAspect","ComponentAspect","TrackerAspect","LoggerAspect","GitAspect","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';\nimport ComponentConfig from '@teambit/legacy/dist/consumer/config';\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 GitAspect, { GitMain } from '@teambit/git';\nimport { BitError } from '@teambit/bit-error';\nimport AspectLoaderAspect, { AspectLoaderMain } from '@teambit/aspect-loader';\nimport TrackerAspect, { TrackerMain } from '@teambit/tracker';\nimport NewComponentHelperAspect, { NewComponentHelperMain } from '@teambit/new-component-helper';\nimport { compact } from 'lodash';\nimport { Logger, LoggerAspect, LoggerMain } from '@teambit/logger';\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 private tracker: TrackerMain,\n private logger: Logger,\n private git: GitMain\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([], 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 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 } = 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 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 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.findWorkspaceTemplateInGlobalScope(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\n const componentConfigLoadingRegistry = ComponentConfig.componentConfigLoadingRegistry;\n\n const templateWithId = await this.getComponentTemplate(templateName, aspectId);\n\n ComponentConfig.componentConfigLoadingRegistry = componentConfigLoadingRegistry;\n\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 this.tracker,\n this.logger,\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([], 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 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[] = [], 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 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 = 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 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 TrackerAspect,\n LoggerAspect,\n GitAspect,\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 community,\n componentAspect,\n tracker,\n loggerMain,\n git,\n ]: [\n Workspace,\n CLIMain,\n GraphqlMain,\n EnvsMain,\n AspectLoaderMain,\n NewComponentHelperMain,\n CommunityMain,\n ComponentMain,\n TrackerMain,\n LoggerMain,\n GitMain\n ],\n config: GeneratorConfig,\n [componentTemplateSlot, workspaceTemplateSlot]: [ComponentTemplateSlot, WorkspaceTemplateSlot]\n ) {\n const logger = loggerMain.createLogger(GeneratorAspect.id);\n const generator = new GeneratorMain(\n componentTemplateSlot,\n workspaceTemplateSlot,\n config,\n workspace,\n envs,\n aspectLoader,\n newComponentHelper,\n componentAspect,\n tracker,\n logger,\n git\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 if (generator)\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.
|
2
|
-
import * as overview_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad3d35bfc38b9cd90c0e05b598a5a55af/teambit.generator_generator@0.0.
|
1
|
+
import * as compositions_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad3d35bfc38b9cd90c0e05b598a5a55af/teambit.generator_generator@0.0.1097/dist/generator.composition.js';
|
2
|
+
import * as overview_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad3d35bfc38b9cd90c0e05b598a5a55af/teambit.generator_generator@0.0.1097/dist/generator.docs.mdx';
|
3
3
|
|
4
4
|
export const compositions = [compositions_0];
|
5
5
|
export const overview = [overview_0];
|
@@ -20,9 +20,11 @@ export declare class WorkspaceGenerator {
|
|
20
20
|
private importer;
|
21
21
|
private logger;
|
22
22
|
private forking;
|
23
|
+
private git;
|
23
24
|
constructor(workspaceName: string, options: NewOptions, template: WorkspaceTemplate, aspectComponent?: Component | undefined);
|
24
25
|
generate(): Promise<string>;
|
25
26
|
private initGit;
|
27
|
+
private setupGitBitmapMergeDriver;
|
26
28
|
private buildUI;
|
27
29
|
private getWorkspaceContext;
|
28
30
|
/**
|
@@ -112,6 +112,13 @@ function _path() {
|
|
112
112
|
};
|
113
113
|
return data;
|
114
114
|
}
|
115
|
+
function _git() {
|
116
|
+
const data = _interopRequireDefault(require("@teambit/git"));
|
117
|
+
_git = function () {
|
118
|
+
return data;
|
119
|
+
};
|
120
|
+
return data;
|
121
|
+
}
|
115
122
|
function _install() {
|
116
123
|
const data = require("@teambit/install");
|
117
124
|
_install = function () {
|
@@ -139,6 +146,7 @@ class WorkspaceGenerator {
|
|
139
146
|
(0, _defineProperty2().default)(this, "importer", void 0);
|
140
147
|
(0, _defineProperty2().default)(this, "logger", void 0);
|
141
148
|
(0, _defineProperty2().default)(this, "forking", void 0);
|
149
|
+
(0, _defineProperty2().default)(this, "git", void 0);
|
142
150
|
this.workspacePath = (0, _path().resolve)(this.workspaceName);
|
143
151
|
}
|
144
152
|
async generate() {
|
@@ -152,6 +160,7 @@ class WorkspaceGenerator {
|
|
152
160
|
await (0, _consumer().init)(this.workspacePath, this.options.skipGit, false, false, false, false, false, false, {});
|
153
161
|
await this.writeWorkspaceFiles();
|
154
162
|
await this.reloadBitInWorkspaceDir();
|
163
|
+
await this.setupGitBitmapMergeDriver();
|
155
164
|
await this.forkComponentsFromRemote();
|
156
165
|
await this.importComponentsFromRemote();
|
157
166
|
await this.install.install(undefined, {
|
@@ -182,6 +191,12 @@ class WorkspaceGenerator {
|
|
182
191
|
throw err;
|
183
192
|
}
|
184
193
|
}
|
194
|
+
async setupGitBitmapMergeDriver() {
|
195
|
+
if (this.options.skipGit) return;
|
196
|
+
await this.git.setGitMergeDriver({
|
197
|
+
global: false
|
198
|
+
});
|
199
|
+
}
|
185
200
|
async buildUI() {
|
186
201
|
const uiMain = this.harmony.get(_ui().default.id);
|
187
202
|
await uiMain.createRuntime({});
|
@@ -214,6 +229,7 @@ class WorkspaceGenerator {
|
|
214
229
|
this.logger = loggerMain.createLogger(_generator().GeneratorAspect.id);
|
215
230
|
this.importer = this.harmony.get(_importer().default.id);
|
216
231
|
this.forking = this.harmony.get(_forking().default.id);
|
232
|
+
this.git = this.harmony.get(_git().default.id);
|
217
233
|
}
|
218
234
|
async forkComponentsFromRemote() {
|
219
235
|
var _this$template, _this$template$import, _this$template2, _this$template2$fork;
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":["WorkspaceGenerator","constructor","workspaceName","options","template","aspectComponent","workspacePath","resolve","generate","fs","existsSync","Error","ensureDir","process","chdir","initGit","init","skipGit","writeWorkspaceFiles","reloadBitInWorkspaceDir","forkComponentsFromRemote","importComponentsFromRemote","install","undefined","dedupe","import","copyPeerToRuntimeOnRoot","copyPeerToRuntimeOnComponents","updateExisting","err","logger","error","remove","gitExecutablePath","getGitExecutablePath","params","execa","exitCodeName","GitNotFound","buildUI","uiMain","harmony","get","UIAspect","id","createRuntime","getWorkspaceContext","name","defaultScope","empty","workspaceContext","templateFiles","generateFiles","Promise","all","map","templateFile","outputFile","join","relativePath","content","loadBit","workspace","WorkspaceAspect","InstallAspect","loggerMain","LoggerAspect","createLogger","GeneratorAspect","importer","ImporterAspect","forking","ForkingAspect","componentsToFork","importComponents","fork","length","componentsToForkRestructured","targetName","path","env","config","sourceId","targetId","forkMultipleFromRemote","scope","refactor","clearCache","compileComponents","componentsToImport","pMapSeries","componentToImport","ids","installNpmPackages","writeToPath","bitMap","write","compiler","CompilerAspect","compileOnWorkspace"],"sources":["workspace-generator.ts"],"sourcesContent":["import fs from 'fs-extra';\nimport { loadBit } from '@teambit/bit';\nimport { Harmony } from '@teambit/harmony';\nimport { Component } from '@teambit/component';\nimport execa from 'execa';\nimport pMapSeries from 'p-map-series';\nimport UIAspect, { UiMain } from '@teambit/ui';\nimport { Logger, LoggerAspect, LoggerMain } from '@teambit/logger';\nimport { WorkspaceAspect, Workspace } from '@teambit/workspace';\nimport ForkingAspect, { ForkingMain } from '@teambit/forking';\nimport { init } from '@teambit/legacy/dist/api/consumer';\nimport ImporterAspect, { ImporterMain } from '@teambit/importer';\nimport { CompilerAspect, CompilerMain } from '@teambit/compiler';\nimport getGitExecutablePath from '@teambit/legacy/dist/utils/git/git-executable';\nimport GitNotFound from '@teambit/legacy/dist/utils/git/exceptions/git-not-found';\nimport { resolve, join } from 'path';\nimport { ComponentID } from '@teambit/component-id';\nimport { InstallAspect, InstallMain } from '@teambit/install';\nimport { WorkspaceTemplate, WorkspaceContext } from './workspace-template';\nimport { NewOptions } from './new.cmd';\nimport { GeneratorAspect } from './generator.aspect';\n\nexport type GenerateResult = { id: ComponentID; dir: string; files: string[]; envId: string };\n\nexport class WorkspaceGenerator {\n private workspacePath: string;\n private harmony: Harmony;\n private workspace: Workspace;\n private install: InstallMain;\n private importer: ImporterMain;\n private logger: Logger;\n private forking: ForkingMain;\n constructor(\n private workspaceName: string,\n private options: NewOptions,\n private template: WorkspaceTemplate,\n private aspectComponent?: Component\n ) {\n this.workspacePath = resolve(this.workspaceName);\n }\n\n async generate(): Promise<string> {\n if (fs.existsSync(this.workspacePath)) {\n throw new Error(`unable to create a workspace at \"${this.workspaceName}\", this path already exist`);\n }\n await fs.ensureDir(this.workspacePath);\n try {\n process.chdir(this.workspacePath);\n await this.initGit();\n await init(this.workspacePath, this.options.skipGit, false, false, false, false, false, false, {});\n await this.writeWorkspaceFiles();\n await this.reloadBitInWorkspaceDir();\n await this.forkComponentsFromRemote();\n await this.importComponentsFromRemote();\n await this.install.install(undefined, {\n dedupe: true,\n import: false,\n copyPeerToRuntimeOnRoot: true,\n copyPeerToRuntimeOnComponents: false,\n updateExisting: false,\n });\n // await this.buildUI(); // disabled for now. it takes too long\n } catch (err: any) {\n this.logger.error(`failed generating a new workspace, will delete the dir ${this.workspacePath}`, err);\n await fs.remove(this.workspacePath);\n throw err;\n }\n\n return this.workspacePath;\n }\n\n private async initGit() {\n if (this.options.skipGit) return;\n const gitExecutablePath = getGitExecutablePath();\n const params = ['init'];\n try {\n await execa(gitExecutablePath, params);\n } catch (err: any) {\n if (err.exitCodeName === 'ENOENT') {\n throw new GitNotFound(gitExecutablePath, err);\n }\n throw err;\n }\n }\n\n private async buildUI() {\n const uiMain = this.harmony.get<UiMain>(UIAspect.id);\n await uiMain.createRuntime({});\n }\n\n private getWorkspaceContext(): WorkspaceContext {\n return {\n name: this.workspaceName,\n defaultScope: this.options.defaultScope,\n empty: this.options.empty,\n aspectComponent: this.aspectComponent,\n template: this.template,\n };\n }\n\n /**\n * writes the generated template files to the default directory set in the workspace config\n */\n private async writeWorkspaceFiles(): Promise<void> {\n const workspaceContext = this.getWorkspaceContext();\n const templateFiles = await this.template.generateFiles(workspaceContext);\n await Promise.all(\n templateFiles.map(async (templateFile) => {\n await fs.outputFile(join(this.workspacePath, templateFile.relativePath), templateFile.content);\n })\n );\n }\n\n private async reloadBitInWorkspaceDir() {\n this.harmony = await loadBit(this.workspacePath);\n this.workspace = this.harmony.get<Workspace>(WorkspaceAspect.id);\n this.install = this.harmony.get<InstallMain>(InstallAspect.id);\n const loggerMain = this.harmony.get<LoggerMain>(LoggerAspect.id);\n this.logger = loggerMain.createLogger(GeneratorAspect.id);\n this.importer = this.harmony.get<ImporterMain>(ImporterAspect.id);\n this.forking = this.harmony.get<ForkingMain>(ForkingAspect.id);\n }\n\n private async forkComponentsFromRemote() {\n if (this.options.empty) return;\n const workspaceContext = this.getWorkspaceContext();\n const componentsToFork =\n this.template?.importComponents?.(workspaceContext) || this.template?.fork?.(workspaceContext) || [];\n if (!componentsToFork.length) return;\n const componentsToForkRestructured = componentsToFork.map(({ id, targetName, path, env, config }) => ({\n sourceId: id,\n targetId: targetName,\n path,\n env,\n config,\n }));\n await this.forking.forkMultipleFromRemote(componentsToForkRestructured, {\n scope: this.workspace.defaultScope,\n refactor: true,\n install: false,\n });\n this.workspace.clearCache();\n await this.compileComponents();\n }\n\n private async importComponentsFromRemote() {\n if (this.options.empty) return;\n const workspaceContext = this.getWorkspaceContext();\n const componentsToImport = this.template?.import?.(workspaceContext) || [];\n\n if (!componentsToImport.length) return;\n\n await pMapSeries(componentsToImport, async (componentToImport) => {\n await this.importer.import(\n {\n ids: [componentToImport.id],\n installNpmPackages: false,\n writeToPath: componentToImport.path,\n },\n []\n );\n });\n\n await this.workspace.bitMap.write();\n this.workspace.clearCache();\n await this.compileComponents();\n }\n\n private async compileComponents() {\n const compiler = this.harmony.get<CompilerMain>(CompilerAspect.id);\n await compiler.compileOnWorkspace();\n }\n}\n"],"mappings":"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"}
|
1
|
+
{"version":3,"names":["WorkspaceGenerator","constructor","workspaceName","options","template","aspectComponent","workspacePath","resolve","generate","fs","existsSync","Error","ensureDir","process","chdir","initGit","init","skipGit","writeWorkspaceFiles","reloadBitInWorkspaceDir","setupGitBitmapMergeDriver","forkComponentsFromRemote","importComponentsFromRemote","install","undefined","dedupe","import","copyPeerToRuntimeOnRoot","copyPeerToRuntimeOnComponents","updateExisting","err","logger","error","remove","gitExecutablePath","getGitExecutablePath","params","execa","exitCodeName","GitNotFound","git","setGitMergeDriver","global","buildUI","uiMain","harmony","get","UIAspect","id","createRuntime","getWorkspaceContext","name","defaultScope","empty","workspaceContext","templateFiles","generateFiles","Promise","all","map","templateFile","outputFile","join","relativePath","content","loadBit","workspace","WorkspaceAspect","InstallAspect","loggerMain","LoggerAspect","createLogger","GeneratorAspect","importer","ImporterAspect","forking","ForkingAspect","GitAspect","componentsToFork","importComponents","fork","length","componentsToForkRestructured","targetName","path","env","config","sourceId","targetId","forkMultipleFromRemote","scope","refactor","clearCache","compileComponents","componentsToImport","pMapSeries","componentToImport","ids","installNpmPackages","writeToPath","bitMap","write","compiler","CompilerAspect","compileOnWorkspace"],"sources":["workspace-generator.ts"],"sourcesContent":["import fs from 'fs-extra';\nimport { loadBit } from '@teambit/bit';\nimport { Harmony } from '@teambit/harmony';\nimport { Component } from '@teambit/component';\nimport execa from 'execa';\nimport pMapSeries from 'p-map-series';\nimport UIAspect, { UiMain } from '@teambit/ui';\nimport { Logger, LoggerAspect, LoggerMain } from '@teambit/logger';\nimport { WorkspaceAspect, Workspace } from '@teambit/workspace';\nimport ForkingAspect, { ForkingMain } from '@teambit/forking';\nimport { init } from '@teambit/legacy/dist/api/consumer';\nimport ImporterAspect, { ImporterMain } from '@teambit/importer';\nimport { CompilerAspect, CompilerMain } from '@teambit/compiler';\nimport getGitExecutablePath from '@teambit/legacy/dist/utils/git/git-executable';\nimport GitNotFound from '@teambit/legacy/dist/utils/git/exceptions/git-not-found';\nimport { resolve, join } from 'path';\nimport { ComponentID } from '@teambit/component-id';\nimport GitAspect, { GitMain } from '@teambit/git';\nimport { InstallAspect, InstallMain } from '@teambit/install';\nimport { WorkspaceTemplate, WorkspaceContext } from './workspace-template';\nimport { NewOptions } from './new.cmd';\nimport { GeneratorAspect } from './generator.aspect';\n\nexport type GenerateResult = { id: ComponentID; dir: string; files: string[]; envId: string };\n\nexport class WorkspaceGenerator {\n private workspacePath: string;\n private harmony: Harmony;\n private workspace: Workspace;\n private install: InstallMain;\n private importer: ImporterMain;\n private logger: Logger;\n private forking: ForkingMain;\n private git: GitMain;\n constructor(\n private workspaceName: string,\n private options: NewOptions,\n private template: WorkspaceTemplate,\n private aspectComponent?: Component\n ) {\n this.workspacePath = resolve(this.workspaceName);\n }\n\n async generate(): Promise<string> {\n if (fs.existsSync(this.workspacePath)) {\n throw new Error(`unable to create a workspace at \"${this.workspaceName}\", this path already exist`);\n }\n await fs.ensureDir(this.workspacePath);\n try {\n process.chdir(this.workspacePath);\n await this.initGit();\n await init(this.workspacePath, this.options.skipGit, false, false, false, false, false, false, {});\n await this.writeWorkspaceFiles();\n await this.reloadBitInWorkspaceDir();\n await this.setupGitBitmapMergeDriver();\n await this.forkComponentsFromRemote();\n await this.importComponentsFromRemote();\n await this.install.install(undefined, {\n dedupe: true,\n import: false,\n copyPeerToRuntimeOnRoot: true,\n copyPeerToRuntimeOnComponents: false,\n updateExisting: false,\n });\n // await this.buildUI(); // disabled for now. it takes too long\n } catch (err: any) {\n this.logger.error(`failed generating a new workspace, will delete the dir ${this.workspacePath}`, err);\n await fs.remove(this.workspacePath);\n throw err;\n }\n\n return this.workspacePath;\n }\n\n private async initGit() {\n if (this.options.skipGit) return;\n const gitExecutablePath = getGitExecutablePath();\n const params = ['init'];\n try {\n await execa(gitExecutablePath, params);\n } catch (err: any) {\n if (err.exitCodeName === 'ENOENT') {\n throw new GitNotFound(gitExecutablePath, err);\n }\n throw err;\n }\n }\n\n private async setupGitBitmapMergeDriver() {\n if (this.options.skipGit) return;\n await this.git.setGitMergeDriver({ global: false });\n }\n\n private async buildUI() {\n const uiMain = this.harmony.get<UiMain>(UIAspect.id);\n await uiMain.createRuntime({});\n }\n\n private getWorkspaceContext(): WorkspaceContext {\n return {\n name: this.workspaceName,\n defaultScope: this.options.defaultScope,\n empty: this.options.empty,\n aspectComponent: this.aspectComponent,\n template: this.template,\n };\n }\n\n /**\n * writes the generated template files to the default directory set in the workspace config\n */\n private async writeWorkspaceFiles(): Promise<void> {\n const workspaceContext = this.getWorkspaceContext();\n const templateFiles = await this.template.generateFiles(workspaceContext);\n await Promise.all(\n templateFiles.map(async (templateFile) => {\n await fs.outputFile(join(this.workspacePath, templateFile.relativePath), templateFile.content);\n })\n );\n }\n\n private async reloadBitInWorkspaceDir() {\n this.harmony = await loadBit(this.workspacePath);\n this.workspace = this.harmony.get<Workspace>(WorkspaceAspect.id);\n this.install = this.harmony.get<InstallMain>(InstallAspect.id);\n const loggerMain = this.harmony.get<LoggerMain>(LoggerAspect.id);\n this.logger = loggerMain.createLogger(GeneratorAspect.id);\n this.importer = this.harmony.get<ImporterMain>(ImporterAspect.id);\n this.forking = this.harmony.get<ForkingMain>(ForkingAspect.id);\n this.git = this.harmony.get<GitMain>(GitAspect.id);\n }\n\n private async forkComponentsFromRemote() {\n if (this.options.empty) return;\n const workspaceContext = this.getWorkspaceContext();\n const componentsToFork =\n this.template?.importComponents?.(workspaceContext) || this.template?.fork?.(workspaceContext) || [];\n if (!componentsToFork.length) return;\n const componentsToForkRestructured = componentsToFork.map(({ id, targetName, path, env, config }) => ({\n sourceId: id,\n targetId: targetName,\n path,\n env,\n config,\n }));\n await this.forking.forkMultipleFromRemote(componentsToForkRestructured, {\n scope: this.workspace.defaultScope,\n refactor: true,\n install: false,\n });\n this.workspace.clearCache();\n await this.compileComponents();\n }\n\n private async importComponentsFromRemote() {\n if (this.options.empty) return;\n const workspaceContext = this.getWorkspaceContext();\n const componentsToImport = this.template?.import?.(workspaceContext) || [];\n\n if (!componentsToImport.length) return;\n\n await pMapSeries(componentsToImport, async (componentToImport) => {\n await this.importer.import(\n {\n ids: [componentToImport.id],\n installNpmPackages: false,\n writeToPath: componentToImport.path,\n },\n []\n );\n });\n\n await this.workspace.bitMap.write();\n this.workspace.clearCache();\n await this.compileComponents();\n }\n\n private async compileComponents() {\n const compiler = this.harmony.get<CompilerMain>(CompilerAspect.id);\n await compiler.compileOnWorkspace();\n }\n}\n"],"mappings":"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"}
|
Binary file
|
package/package.json
CHANGED
@@ -1,12 +1,12 @@
|
|
1
1
|
{
|
2
2
|
"name": "@teambit/generator",
|
3
|
-
"version": "0.0.
|
3
|
+
"version": "0.0.1097",
|
4
4
|
"homepage": "https://bit.cloud/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.
|
9
|
+
"version": "0.0.1097"
|
10
10
|
},
|
11
11
|
"dependencies": {
|
12
12
|
"camelcase": "6.2.0",
|
@@ -22,23 +22,24 @@
|
|
22
22
|
"@teambit/component-id": "0.0.427",
|
23
23
|
"@teambit/harmony": "0.4.6",
|
24
24
|
"@teambit/bit-error": "0.0.402",
|
25
|
-
"@teambit/envs": "0.0.
|
26
|
-
"@teambit/logger": "0.0.
|
27
|
-
"@teambit/new-component-helper": "0.0.
|
28
|
-
"@teambit/tracker": "0.0.
|
29
|
-
"@teambit/workspace.modules.node-modules-linker": "0.0.
|
30
|
-
"@teambit/workspace": "0.0.
|
31
|
-
"@teambit/cli": "0.0.
|
32
|
-
"@teambit/graphql": "0.0.
|
33
|
-
"@teambit/aspect-loader": "0.0.
|
34
|
-
"@teambit/bit": "0.1.
|
35
|
-
"@teambit/community": "0.0.
|
36
|
-
"@teambit/component": "0.0.
|
37
|
-
"@teambit/
|
38
|
-
"@teambit/
|
39
|
-
"@teambit/
|
40
|
-
"@teambit/
|
41
|
-
"@teambit/
|
25
|
+
"@teambit/envs": "0.0.1097",
|
26
|
+
"@teambit/logger": "0.0.829",
|
27
|
+
"@teambit/new-component-helper": "0.0.501",
|
28
|
+
"@teambit/tracker": "0.0.128",
|
29
|
+
"@teambit/workspace.modules.node-modules-linker": "0.0.80",
|
30
|
+
"@teambit/workspace": "0.0.1097",
|
31
|
+
"@teambit/cli": "0.0.736",
|
32
|
+
"@teambit/graphql": "0.0.1097",
|
33
|
+
"@teambit/aspect-loader": "0.0.1097",
|
34
|
+
"@teambit/bit": "0.1.84",
|
35
|
+
"@teambit/community": "0.0.284",
|
36
|
+
"@teambit/component": "0.0.1097",
|
37
|
+
"@teambit/git": "0.0.2",
|
38
|
+
"@teambit/compiler": "0.0.1097",
|
39
|
+
"@teambit/forking": "0.0.501",
|
40
|
+
"@teambit/importer": "0.0.526",
|
41
|
+
"@teambit/install": "0.0.194",
|
42
|
+
"@teambit/ui": "0.0.1097"
|
42
43
|
},
|
43
44
|
"devDependencies": {
|
44
45
|
"@types/fs-extra": "9.0.7",
|
@@ -52,7 +53,7 @@
|
|
52
53
|
"@teambit/generator.aspect-docs.generator": "0.0.157"
|
53
54
|
},
|
54
55
|
"peerDependencies": {
|
55
|
-
"@teambit/legacy": "1.0.
|
56
|
+
"@teambit/legacy": "1.0.517",
|
56
57
|
"react": "^16.8.0 || ^17.0.0",
|
57
58
|
"react-dom": "^16.8.0 || ^17.0.0"
|
58
59
|
},
|
Binary file
|