@teambit/generator 0.0.923 → 0.0.924
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/generator.main.runtime.d.ts +3 -3
- package/dist/generator.main.runtime.js +19 -27
- package/dist/generator.main.runtime.js.map +1 -1
- package/dist/{preview-1670210914694.js → preview-1670297376032.js} +2 -2
- package/package-tar/teambit-generator-0.0.924.tgz +0 -0
- package/package.json +18 -18
- package/package-tar/teambit-generator-0.0.923.tgz +0 -0
|
@@ -111,7 +111,7 @@ export declare class GeneratorMain {
|
|
|
111
111
|
workspaceTemplate: WorkspaceTemplate;
|
|
112
112
|
aspect?: Component;
|
|
113
113
|
}>;
|
|
114
|
-
searchRegisteredWorkspaceTemplate(name?: string, aspectId?: string): Promise<WorkspaceTemplate | undefined>;
|
|
114
|
+
searchRegisteredWorkspaceTemplate(name?: string, aspectId?: string, remoteEnvsAspect?: EnvsMain): Promise<WorkspaceTemplate | undefined>;
|
|
115
115
|
generateComponentTemplate(componentNames: string[], templateName: string, options: CreateOptions): Promise<GenerateResult[]>;
|
|
116
116
|
generateWorkspaceTemplate(workspaceName: string, templateName: string, options: NewOptions): Promise<GenerateWorkspaceTemplateResult>;
|
|
117
117
|
private getAllComponentTemplatesDescriptorsFlattened;
|
|
@@ -121,13 +121,13 @@ export declare class GeneratorMain {
|
|
|
121
121
|
/**
|
|
122
122
|
* list all starter templates registered by an env.
|
|
123
123
|
*/
|
|
124
|
-
listEnvWorkspaceTemplates(envId: string): Promise<Array<WorkspaceTemplateWithId>>;
|
|
124
|
+
listEnvWorkspaceTemplates(envId: string, remoteEnvsAspect?: EnvsMain): Promise<Array<WorkspaceTemplateWithId>>;
|
|
125
125
|
/**
|
|
126
126
|
* list all component templates registered by an env.
|
|
127
127
|
*/
|
|
128
128
|
listEnvComponentTemplateDescriptors(ids?: string[]): Promise<TemplateDescriptor[]>;
|
|
129
129
|
listEnvComponentTemplates(ids?: string[]): Promise<Array<ComponentTemplateWithId>>;
|
|
130
|
-
loadEnvs(ids?: string[]): Promise<EnvDefinition[]>;
|
|
130
|
+
loadEnvs(ids?: string[], remoteEnvsAspect?: EnvsMain): Promise<EnvDefinition[]>;
|
|
131
131
|
loadAspects(): Promise<void>;
|
|
132
132
|
static slots: (((registerFn: () => string) => SlotRegistry<ComponentTemplate[]>) | ((registerFn: () => string) => SlotRegistry<WorkspaceTemplate[]>))[];
|
|
133
133
|
static dependencies: import("@teambit/bit").Aspect[];
|
|
@@ -307,9 +307,10 @@ class GeneratorMain {
|
|
|
307
307
|
components
|
|
308
308
|
} = await this.aspectLoader.loadAspectsFromGlobalScope([aspectId]);
|
|
309
309
|
const remoteGenerator = globalScopeHarmony.get(_generator().GeneratorAspect.id);
|
|
310
|
+
const remoteEnvsAspect = globalScopeHarmony.get(_envs().EnvsAspect.id);
|
|
310
311
|
const aspect = components[0];
|
|
311
312
|
const fullAspectId = aspect.id.toString();
|
|
312
|
-
const fromGlobal = await remoteGenerator.searchRegisteredWorkspaceTemplate.call(remoteGenerator, name, fullAspectId);
|
|
313
|
+
const fromGlobal = await remoteGenerator.searchRegisteredWorkspaceTemplate.call(remoteGenerator, name, fullAspectId, remoteEnvsAspect);
|
|
313
314
|
return {
|
|
314
315
|
workspaceTemplate: fromGlobal,
|
|
315
316
|
aspect
|
|
@@ -356,10 +357,10 @@ class GeneratorMain {
|
|
|
356
357
|
}
|
|
357
358
|
throw new (_bitError().BitError)(`template "${name}" was not found`);
|
|
358
359
|
}
|
|
359
|
-
async searchRegisteredWorkspaceTemplate(name, aspectId) {
|
|
360
|
+
async searchRegisteredWorkspaceTemplate(name, aspectId, remoteEnvsAspect) {
|
|
360
361
|
let fromEnv;
|
|
361
362
|
if (aspectId) {
|
|
362
|
-
fromEnv = await this.listEnvWorkspaceTemplates(aspectId);
|
|
363
|
+
fromEnv = await this.listEnvWorkspaceTemplates(aspectId, remoteEnvsAspect);
|
|
363
364
|
}
|
|
364
365
|
const templates = fromEnv && fromEnv.length ? fromEnv : this.getAllWorkspaceTemplatesFlattened();
|
|
365
366
|
const found = templates.find(({
|
|
@@ -456,8 +457,8 @@ class GeneratorMain {
|
|
|
456
457
|
/**
|
|
457
458
|
* list all starter templates registered by an env.
|
|
458
459
|
*/
|
|
459
|
-
async listEnvWorkspaceTemplates(envId) {
|
|
460
|
-
const envs = await this.loadEnvs([envId]);
|
|
460
|
+
async listEnvWorkspaceTemplates(envId, remoteEnvsAspect) {
|
|
461
|
+
const envs = await this.loadEnvs([envId], remoteEnvsAspect);
|
|
461
462
|
const workspaceTemplates = envs.flatMap(env => {
|
|
462
463
|
if (!env.env.getGeneratorStarters) return undefined;
|
|
463
464
|
const envStarters = env.env.getGeneratorStarters();
|
|
@@ -504,30 +505,21 @@ class GeneratorMain {
|
|
|
504
505
|
});
|
|
505
506
|
return templates;
|
|
506
507
|
}
|
|
507
|
-
async loadEnvs(ids = this.config.envs || []) {
|
|
508
|
-
//
|
|
509
|
-
//
|
|
510
|
-
//
|
|
511
|
-
|
|
512
|
-
|
|
508
|
+
async loadEnvs(ids = this.config.envs || [], remoteEnvsAspect) {
|
|
509
|
+
// In case we have remoteEnvsAspect it means that we are running from the global scope
|
|
510
|
+
// in that case the aspect / env were already loaded before to the global scope harmony instance
|
|
511
|
+
// so no reason to load it here
|
|
512
|
+
if (!remoteEnvsAspect) {
|
|
513
|
+
const host = this.componentAspect.getHost();
|
|
514
|
+
if (!host) return [];
|
|
515
|
+
await host.loadAspects(ids);
|
|
516
|
+
}
|
|
517
|
+
const envsAspect = remoteEnvsAspect || this.envs;
|
|
518
|
+
const potentialEnvs = ids.map(id => {
|
|
513
519
|
const componentId = _component().ComponentID.fromString(id);
|
|
514
|
-
return
|
|
515
|
-
id: componentId,
|
|
516
|
-
env: this.envs.getEnvDefinition(componentId)
|
|
517
|
-
};
|
|
518
|
-
});
|
|
519
|
-
const host = this.componentAspect.getHost();
|
|
520
|
-
if (!host) return [];
|
|
521
|
-
const toLoad = envs.filter(env => !env.env);
|
|
522
|
-
const componentIds = toLoad.map(component => component.id.toString());
|
|
523
|
-
await host.loadAspects(componentIds);
|
|
524
|
-
const allEnvs = envs.map(env => {
|
|
525
|
-
if (env.env) {
|
|
526
|
-
return env.env;
|
|
527
|
-
}
|
|
528
|
-
return this.envs.getEnvDefinition(env.id);
|
|
520
|
+
return envsAspect.getEnvDefinition(componentId);
|
|
529
521
|
});
|
|
530
|
-
return (0, _lodash().compact)(
|
|
522
|
+
return (0, _lodash().compact)(potentialEnvs);
|
|
531
523
|
}
|
|
532
524
|
async loadAspects() {
|
|
533
525
|
if (this.aspectLoaded) return;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["GeneratorMain","constructor","componentTemplateSlot","workspaceTemplateSlot","config","workspace","envs","aspectLoader","newComponentHelper","importer","componentAspect","id","template","shouldBeHidden","hidden","hideCoreTemplates","isCoreAspect","aspectId","name","description","registerComponentTemplate","templates","register","registerWorkspaceTemplate","listTemplates","aspect","isRunningInsideWorkspace","getAllComponentTemplatesDescriptorsFlattened","getAllWorkspaceTemplatesDescriptorFlattened","listComponentTemplates","opts","Boolean","getComponentTemplateByAspect","get","getComponentTemplate","fromEnv","listEnvComponentTemplates","length","found","findTemplateByAspectIdAndName","getAllComponentTemplatesFlattened","find","findTemplateInGlobalScope","globalScopeHarmony","components","loadAspectsFromGlobalScope","remoteGenerator","GeneratorAspect","fullAspectId","toString","fromGlobal","searchRegisteredWorkspaceTemplate","call","workspaceTemplate","findTemplateInOtherWorkspace","workspacePath","BitError","harmony","loadBit","WorkspaceAspect","err","Error","aspectComponentId","resolveComponentId","loadAspects","aspectFullId","generator","getWorkspaceTemplate","registeredTemplate","listEnvWorkspaceTemplates","getAllWorkspaceTemplatesFlattened","tpl","generateComponentTemplate","componentNames","templateName","options","ConsumerNotFound","namespace","templateWithId","componentIds","map","componentName","getNewComponentId","scope","componentGenerator","ComponentGenerator","envName","ComponentID","fromString","undefined","generate","generateWorkspaceTemplate","workspaceName","loadFrom","aspectComponent","workspaceGenerator","WorkspaceGenerator","appName","envTemplates","listEnvComponentTemplateDescriptors","filtered","filter","flattened","getTemplateDescriptor","templatesByAspects","toArray","flatMap","componentTemplates","workspaceTemplates","envId","loadEnvs","env","getGeneratorStarters","envStarters","starter","componentId","compact","ids","envTemplate","toStringWithoutVersion","titlePrefix","configEnvs","concat","getGeneratorTemplates","tpls","getEnvDefinition","host","getHost","toLoad","component","allEnvs","aspectLoaded","aspects","provider","cli","graphql","community","commands","CreateCmd","getDocsDomain","TemplatesCmd","NewCmd","generatorSchema","registerPlugins","StarterPlugin","componentGeneratorTemplate","starterTemplate","workspaceGeneratorTemplate","Slot","withType","CLIAspect","GraphqlAspect","EnvsAspect","AspectLoaderAspect","NewComponentHelperAspect","CommunityAspect","ImporterAspect","ComponentAspect","MainRuntime","addRuntime"],"sources":["generator.main.runtime.ts"],"sourcesContent":["import { GraphqlAspect, GraphqlMain } from '@teambit/graphql';\nimport { CLIAspect, CLIMain, MainRuntime } from '@teambit/cli';\nimport WorkspaceAspect, { Workspace } from '@teambit/workspace';\nimport { EnvDefinition, EnvsAspect, EnvsMain } from '@teambit/envs';\nimport { ConsumerNotFound } from '@teambit/legacy/dist/consumer/exceptions';\nimport { CommunityAspect } from '@teambit/community';\nimport type { CommunityMain } from '@teambit/community';\n\nimport ComponentAspect, { ComponentID } from '@teambit/component';\nimport type { ComponentMain, Component } from '@teambit/component';\n\nimport { isCoreAspect, loadBit } from '@teambit/bit';\nimport { Slot, SlotRegistry } from '@teambit/harmony';\nimport { BitError } from '@teambit/bit-error';\nimport AspectLoaderAspect, { AspectLoaderMain } from '@teambit/aspect-loader';\nimport NewComponentHelperAspect, { NewComponentHelperMain } from '@teambit/new-component-helper';\nimport { compact } from 'lodash';\nimport ImporterAspect, { ImporterMain } from '@teambit/importer';\nimport { ComponentTemplate } from './component-template';\nimport { GeneratorAspect } from './generator.aspect';\nimport { CreateCmd, CreateOptions } from './create.cmd';\nimport { TemplatesCmd } from './templates.cmd';\nimport { generatorSchema } from './generator.graphql';\nimport { ComponentGenerator, GenerateResult } from './component-generator';\nimport { WorkspaceGenerator } from './workspace-generator';\nimport { WorkspaceTemplate } from './workspace-template';\nimport { NewCmd, NewOptions } from './new.cmd';\nimport { componentGeneratorTemplate } from './templates/component-generator';\nimport { workspaceGeneratorTemplate } from './templates/workspace-generator';\nimport { starterTemplate } from './templates/starter';\nimport { StarterPlugin } from './starter.plugin';\n\nexport type ComponentTemplateSlot = SlotRegistry<ComponentTemplate[]>;\nexport type WorkspaceTemplateSlot = SlotRegistry<WorkspaceTemplate[]>;\n\nexport type TemplateDescriptor = {\n aspectId: string;\n titlePrefix?: string;\n name: string;\n description?: string;\n hidden?: boolean;\n};\n\ntype TemplateWithId = { id: string; envName?: string };\ntype WorkspaceTemplateWithId = TemplateWithId & { template: WorkspaceTemplate };\ntype ComponentTemplateWithId = TemplateWithId & { template: ComponentTemplate };\ntype AnyTemplateWithId = TemplateWithId & { template: ComponentTemplate | WorkspaceTemplate };\n\nexport type GenerateWorkspaceTemplateResult = { workspacePath: string; appName?: string };\n\nexport type GeneratorConfig = {\n /**\n * array of aspects to include in the list of templates.\n */\n aspects: string[];\n\n /**\n * by default core templates are shown.\n * use this to hide them unless `--show-all` flag of `bit templates` was used\n */\n hideCoreTemplates: boolean;\n\n /**\n * default envs.\n */\n envs?: string[];\n};\n\nexport class GeneratorMain {\n private aspectLoaded = false;\n constructor(\n private componentTemplateSlot: ComponentTemplateSlot,\n private workspaceTemplateSlot: WorkspaceTemplateSlot,\n private config: GeneratorConfig,\n private workspace: Workspace,\n private envs: EnvsMain,\n private aspectLoader: AspectLoaderMain,\n private newComponentHelper: NewComponentHelperMain,\n private importer: ImporterMain,\n private componentAspect: ComponentMain\n ) {}\n\n /**\n * register a new component template.\n */\n registerComponentTemplate(templates: ComponentTemplate[]) {\n this.componentTemplateSlot.register(templates);\n return this;\n }\n\n /**\n * register a new component template.\n */\n registerWorkspaceTemplate(templates: WorkspaceTemplate[]) {\n this.workspaceTemplateSlot.register(templates);\n return this;\n }\n\n /**\n * list all component templates registered in the workspace or workspace templates in case the\n * workspace is not available\n */\n async listTemplates({ aspect }: { aspect?: string } = {}): Promise<TemplateDescriptor[]> {\n if (this.isRunningInsideWorkspace()) {\n return this.getAllComponentTemplatesDescriptorsFlattened(aspect);\n }\n return this.getAllWorkspaceTemplatesDescriptorFlattened(aspect);\n }\n\n private getTemplateDescriptor = ({ id, template }: AnyTemplateWithId): TemplateDescriptor => {\n const shouldBeHidden = () => {\n if (template.hidden) return true;\n if (this.config.hideCoreTemplates && isCoreAspect(id)) return true;\n return false;\n };\n return {\n aspectId: id,\n name: template.name,\n description: template.description,\n hidden: shouldBeHidden(),\n };\n };\n\n /**\n * @deprecated use this.listTemplates()\n */\n async listComponentTemplates(opts: { aspect?: string }): Promise<TemplateDescriptor[]> {\n return this.listTemplates(opts);\n }\n\n isRunningInsideWorkspace(): boolean {\n return Boolean(this.workspace);\n }\n\n /**\n * get all component templates registered by a specific aspect ID.\n */\n getComponentTemplateByAspect(aspectId: string): ComponentTemplate[] {\n return this.componentTemplateSlot.get(aspectId) || [];\n }\n\n /**\n * returns a specific component template.\n */\n async getComponentTemplate(name: string, aspectId?: string): Promise<ComponentTemplateWithId | undefined> {\n const fromEnv = await this.listEnvComponentTemplates();\n if (fromEnv && fromEnv.length){\n const found = this.findTemplateByAspectIdAndName<ComponentTemplateWithId>(aspectId, name, fromEnv);\n if (found) return found;\n }\n // fallback to aspect id not from env if provided\n const templates = await this.getAllComponentTemplatesFlattened();\n const found = this.findTemplateByAspectIdAndName<ComponentTemplateWithId>(aspectId, name, templates);\n return found;\n }\n\n private findTemplateByAspectIdAndName<T>(\n aspectId: string | undefined,\n name: string,\n templates: Array<T>\n ): T | undefined {\n // @ts-ignore (should set T to be extends ComponentTemplateWithId or WorkspaceTemplateWithId)\n const found = templates.find(({ id, template }) => {\n if (aspectId && id !== aspectId) return false;\n return template.name === name;\n });\n return found;\n }\n\n /**\n * in the case the aspect-id is given and this aspect doesn't exist locally, import it to the\n * global scope and load it from the capsule\n */\n async findTemplateInGlobalScope(\n aspectId: string,\n name?: string\n ): Promise<{ workspaceTemplate?: WorkspaceTemplate; aspect?: Component }> {\n const { globalScopeHarmony, components } = await this.aspectLoader.loadAspectsFromGlobalScope([aspectId]);\n const remoteGenerator = globalScopeHarmony.get<GeneratorMain>(GeneratorAspect.id);\n const aspect = components[0];\n const fullAspectId = aspect.id.toString();\n const fromGlobal = await remoteGenerator.searchRegisteredWorkspaceTemplate.call(\n remoteGenerator,\n name,\n fullAspectId\n );\n return { workspaceTemplate: fromGlobal, aspect };\n }\n\n async findTemplateInOtherWorkspace(workspacePath: string, name: string, aspectId?: string) {\n if (!aspectId)\n throw new BitError(\n `to load a template from a different workspace, please provide the aspect-id using --aspect flag`\n );\n const harmony = await loadBit(workspacePath);\n let workspace: Workspace;\n try {\n workspace = harmony.get<Workspace>(WorkspaceAspect.id);\n } catch (err: any) {\n throw new Error(`fatal: \"${workspacePath}\" is not a valid Bit workspace, make sure the path is correct`);\n }\n const aspectComponentId = await workspace.resolveComponentId(aspectId);\n await workspace.loadAspects([aspectId], true);\n const aspectFullId = aspectComponentId.toString();\n const generator = harmony.get<GeneratorMain>(GeneratorAspect.id);\n return generator.searchRegisteredWorkspaceTemplate(name, aspectFullId);\n }\n\n /**\n * returns a specific workspace template.\n */\n async getWorkspaceTemplate(\n name: string,\n aspectId?: string\n ): Promise<{ workspaceTemplate: WorkspaceTemplate; aspect?: Component }> {\n const registeredTemplate = await this.searchRegisteredWorkspaceTemplate(name, aspectId);\n if (registeredTemplate) {\n return { workspaceTemplate: registeredTemplate };\n }\n if (!aspectId) {\n throw new BitError(`template \"${name}\" was not found, if this is a custom-template, please use --aspect flag`);\n }\n\n const { workspaceTemplate, aspect } = await this.findTemplateInGlobalScope(aspectId, name);\n if (workspaceTemplate) {\n return { workspaceTemplate, aspect };\n }\n throw new BitError(`template \"${name}\" was not found`);\n }\n\n async searchRegisteredWorkspaceTemplate(name?: string, aspectId?: string): Promise<WorkspaceTemplate | undefined> {\n let fromEnv;\n if (aspectId) {\n fromEnv = await this.listEnvWorkspaceTemplates(aspectId);\n }\n const templates = (fromEnv && fromEnv.length) ? fromEnv : this.getAllWorkspaceTemplatesFlattened();\n const found = templates.find(({ id, template: tpl }) => {\n if (aspectId && name) return aspectId === id && name === tpl.name;\n if (aspectId) return aspectId === id;\n if (name) return name === tpl.name;\n throw new Error(`searchRegisteredWorkspaceTemplate expects to get \"name\" or \"aspectId\"`);\n });\n\n return found?.template;\n }\n\n async generateComponentTemplate(\n componentNames: string[],\n templateName: string,\n options: CreateOptions\n ): Promise<GenerateResult[]> {\n if (!this.workspace) throw new ConsumerNotFound();\n await this.loadAspects();\n const { namespace, aspect: aspectId } = options;\n const templateWithId = await this.getComponentTemplate(templateName, aspectId);\n if (!templateWithId) throw new BitError(`template \"${templateName}\" was not found`);\n\n const componentIds = componentNames.map((componentName) =>\n this.newComponentHelper.getNewComponentId(componentName, namespace, options.scope)\n );\n\n const componentGenerator = new ComponentGenerator(\n this.workspace,\n componentIds,\n options,\n templateWithId.template,\n this.envs,\n this.newComponentHelper,\n templateWithId.id,\n templateWithId.envName ? ComponentID.fromString(templateWithId.id) : undefined\n );\n return componentGenerator.generate();\n }\n\n async generateWorkspaceTemplate(\n workspaceName: string,\n templateName: string,\n options: NewOptions\n ): Promise<GenerateWorkspaceTemplateResult> {\n if (this.workspace) {\n throw new BitError('Error: unable to generate a new workspace inside of an existing workspace');\n }\n const { aspect: aspectId, loadFrom } = options;\n let template: WorkspaceTemplate | undefined;\n let aspectComponent: Component | undefined;\n if (loadFrom) {\n template = await this.findTemplateInOtherWorkspace(loadFrom, templateName, aspectId);\n } else {\n const { workspaceTemplate, aspect } = await this.getWorkspaceTemplate(templateName, aspectId);\n template = workspaceTemplate;\n aspectComponent = aspect;\n }\n if (!template) throw new BitError(`template \"${templateName}\" was not found`);\n const workspaceGenerator = new WorkspaceGenerator(workspaceName, options, template, aspectComponent);\n const workspacePath = await workspaceGenerator.generate();\n\n return { workspacePath, appName: template.appName };\n }\n\n private async getAllComponentTemplatesDescriptorsFlattened(aspectId?: string): Promise<Array<TemplateDescriptor>> {\n const envTemplates = await this.listEnvComponentTemplateDescriptors();\n if (envTemplates && envTemplates.length) {\n if (!aspectId) return envTemplates;\n const filtered = envTemplates.filter((template) => template.aspectId === aspectId);\n if (filtered.length) return filtered;\n }\n\n const flattened = this.getAllComponentTemplatesFlattened();\n const filtered = 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(\n envId: string\n ): Promise<Array<WorkspaceTemplateWithId>> {\n const envs = await this.loadEnvs([envId]);\n const workspaceTemplates = envs.flatMap((env) => {\n if (!env.env.getGeneratorStarters) return undefined;\n const envStarters = env.env.getGeneratorStarters();\n return envStarters.map((starter) => {\n const componentId = ComponentID.fromString(env.id);\n return {\n id: componentId.toString(),\n envName: env.name,\n template: starter,\n };\n });\n });\n\n return compact(workspaceTemplates);\n }\n\n /**\n * list all component templates registered by an env.\n */\n async listEnvComponentTemplateDescriptors(ids: string[] = []): Promise<TemplateDescriptor[]> {\n const envTemplates = await this.listEnvComponentTemplates(ids);\n const templates: TemplateDescriptor[] = envTemplates.map((envTemplate) => {\n const componentId = ComponentID.fromString(envTemplate.id);\n return {\n aspectId: componentId.toStringWithoutVersion(),\n titlePrefix: envTemplate.envName,\n ...envTemplate.template,\n };\n });\n\n return templates;\n }\n\n async listEnvComponentTemplates(\n ids: string[] = []\n ): Promise<Array<ComponentTemplateWithId>> {\n const configEnvs = this.config.envs || [];\n const envs = await this.loadEnvs(configEnvs?.concat(ids));\n const templates = envs.flatMap((env) => {\n if (!env.env.getGeneratorTemplates) return [];\n const tpls = env.env.getGeneratorTemplates() || [];\n return tpls.map((template) => {\n const componentId = ComponentID.fromString(env.id);\n return {\n id: componentId.toString(),\n envName: env.name,\n template,\n };\n });\n });\n\n return templates;\n }\n\n async loadEnvs(ids: string[] = this.config.envs || []): Promise<EnvDefinition[]> {\n // TODO: this will probably won't work for bit new with aspect id and without loadFrom\n // as this getEnvDefinition will probably return nothing, as the env is not loaded yet, therefore, not register to the slot\n // we need to check if that id is an aspect id and load it as an aspect\n // and only after it, we can get the env definition\n const envs = ids.map((id) => {\n const componentId = ComponentID.fromString(id);\n return {\n id: componentId,\n env: this.envs.getEnvDefinition(componentId),\n };\n });\n\n const host = this.componentAspect.getHost();\n if (!host) return [];\n\n const toLoad = envs.filter((env) => !env.env);\n const componentIds = toLoad.map((component) => component.id.toString());\n await host.loadAspects(componentIds);\n const allEnvs = envs.map((env) => {\n if (env.env) {\n return env.env;\n }\n\n return this.envs.getEnvDefinition(env.id);\n });\n\n return compact(allEnvs);\n }\n\n async loadAspects() {\n if (this.aspectLoaded) return;\n await this.workspace.loadAspects(this.config.aspects);\n this.aspectLoaded = true;\n }\n\n static slots = [Slot.withType<ComponentTemplate[]>(), Slot.withType<WorkspaceTemplate[]>()];\n\n static dependencies = [\n WorkspaceAspect,\n CLIAspect,\n GraphqlAspect,\n EnvsAspect,\n AspectLoaderAspect,\n NewComponentHelperAspect,\n CommunityAspect,\n ImporterAspect,\n ComponentAspect\n ];\n\n static runtime = MainRuntime;\n\n static async provider(\n [workspace, cli, graphql, envs, aspectLoader, newComponentHelper, community, importer, componentAspect]: [\n Workspace,\n CLIMain,\n GraphqlMain,\n EnvsMain,\n AspectLoaderMain,\n NewComponentHelperMain,\n CommunityMain,\n ImporterMain,\n ComponentMain\n ],\n config: GeneratorConfig,\n [componentTemplateSlot, workspaceTemplateSlot]: [ComponentTemplateSlot, WorkspaceTemplateSlot]\n ) {\n const generator = new GeneratorMain(\n componentTemplateSlot,\n workspaceTemplateSlot,\n config,\n workspace,\n envs,\n aspectLoader,\n newComponentHelper,\n importer,\n componentAspect\n );\n const commands = [\n new CreateCmd(generator, community.getDocsDomain()),\n new TemplatesCmd(generator),\n new NewCmd(generator),\n ];\n cli.register(...commands);\n graphql.register(generatorSchema(generator));\n aspectLoader.registerPlugins([new StarterPlugin(generator)]);\n\n generator.registerComponentTemplate([componentGeneratorTemplate, starterTemplate, workspaceGeneratorTemplate]);\n return generator;\n }\n}\n\nGeneratorAspect.addRuntime(GeneratorMain);\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["GeneratorMain","constructor","componentTemplateSlot","workspaceTemplateSlot","config","workspace","envs","aspectLoader","newComponentHelper","importer","componentAspect","id","template","shouldBeHidden","hidden","hideCoreTemplates","isCoreAspect","aspectId","name","description","registerComponentTemplate","templates","register","registerWorkspaceTemplate","listTemplates","aspect","isRunningInsideWorkspace","getAllComponentTemplatesDescriptorsFlattened","getAllWorkspaceTemplatesDescriptorFlattened","listComponentTemplates","opts","Boolean","getComponentTemplateByAspect","get","getComponentTemplate","fromEnv","listEnvComponentTemplates","length","found","findTemplateByAspectIdAndName","getAllComponentTemplatesFlattened","find","findTemplateInGlobalScope","globalScopeHarmony","components","loadAspectsFromGlobalScope","remoteGenerator","GeneratorAspect","remoteEnvsAspect","EnvsAspect","fullAspectId","toString","fromGlobal","searchRegisteredWorkspaceTemplate","call","workspaceTemplate","findTemplateInOtherWorkspace","workspacePath","BitError","harmony","loadBit","WorkspaceAspect","err","Error","aspectComponentId","resolveComponentId","loadAspects","aspectFullId","generator","getWorkspaceTemplate","registeredTemplate","listEnvWorkspaceTemplates","getAllWorkspaceTemplatesFlattened","tpl","generateComponentTemplate","componentNames","templateName","options","ConsumerNotFound","namespace","templateWithId","componentIds","map","componentName","getNewComponentId","scope","componentGenerator","ComponentGenerator","envName","ComponentID","fromString","undefined","generate","generateWorkspaceTemplate","workspaceName","loadFrom","aspectComponent","workspaceGenerator","WorkspaceGenerator","appName","envTemplates","listEnvComponentTemplateDescriptors","filtered","filter","flattened","getTemplateDescriptor","templatesByAspects","toArray","flatMap","componentTemplates","workspaceTemplates","envId","loadEnvs","env","getGeneratorStarters","envStarters","starter","componentId","compact","ids","envTemplate","toStringWithoutVersion","titlePrefix","configEnvs","concat","getGeneratorTemplates","tpls","host","getHost","envsAspect","potentialEnvs","getEnvDefinition","aspectLoaded","aspects","provider","cli","graphql","community","commands","CreateCmd","getDocsDomain","TemplatesCmd","NewCmd","generatorSchema","registerPlugins","StarterPlugin","componentGeneratorTemplate","starterTemplate","workspaceGeneratorTemplate","Slot","withType","CLIAspect","GraphqlAspect","AspectLoaderAspect","NewComponentHelperAspect","CommunityAspect","ImporterAspect","ComponentAspect","MainRuntime","addRuntime"],"sources":["generator.main.runtime.ts"],"sourcesContent":["import { GraphqlAspect, GraphqlMain } from '@teambit/graphql';\nimport { CLIAspect, CLIMain, MainRuntime } from '@teambit/cli';\nimport WorkspaceAspect, { Workspace } from '@teambit/workspace';\nimport { EnvDefinition, EnvsAspect, EnvsMain } from '@teambit/envs';\nimport { ConsumerNotFound } from '@teambit/legacy/dist/consumer/exceptions';\nimport { CommunityAspect } from '@teambit/community';\nimport type { CommunityMain } from '@teambit/community';\n\nimport ComponentAspect, { ComponentID } from '@teambit/component';\nimport type { ComponentMain, Component } from '@teambit/component';\n\nimport { isCoreAspect, loadBit } from '@teambit/bit';\nimport { Slot, SlotRegistry } from '@teambit/harmony';\nimport { BitError } from '@teambit/bit-error';\nimport AspectLoaderAspect, { AspectLoaderMain } from '@teambit/aspect-loader';\nimport NewComponentHelperAspect, { NewComponentHelperMain } from '@teambit/new-component-helper';\nimport { compact } from 'lodash';\nimport ImporterAspect, { ImporterMain } from '@teambit/importer';\nimport { ComponentTemplate } from './component-template';\nimport { GeneratorAspect } from './generator.aspect';\nimport { CreateCmd, CreateOptions } from './create.cmd';\nimport { TemplatesCmd } from './templates.cmd';\nimport { generatorSchema } from './generator.graphql';\nimport { ComponentGenerator, GenerateResult } from './component-generator';\nimport { WorkspaceGenerator } from './workspace-generator';\nimport { WorkspaceTemplate } from './workspace-template';\nimport { NewCmd, NewOptions } from './new.cmd';\nimport { componentGeneratorTemplate } from './templates/component-generator';\nimport { workspaceGeneratorTemplate } from './templates/workspace-generator';\nimport { starterTemplate } from './templates/starter';\nimport { StarterPlugin } from './starter.plugin';\n\nexport type ComponentTemplateSlot = SlotRegistry<ComponentTemplate[]>;\nexport type WorkspaceTemplateSlot = SlotRegistry<WorkspaceTemplate[]>;\n\nexport type TemplateDescriptor = {\n aspectId: string;\n titlePrefix?: string;\n name: string;\n description?: string;\n hidden?: boolean;\n};\n\ntype TemplateWithId = { id: string; envName?: string };\ntype WorkspaceTemplateWithId = TemplateWithId & { template: WorkspaceTemplate };\ntype ComponentTemplateWithId = TemplateWithId & { template: ComponentTemplate };\ntype AnyTemplateWithId = TemplateWithId & { template: ComponentTemplate | WorkspaceTemplate };\n\nexport type GenerateWorkspaceTemplateResult = { workspacePath: string; appName?: string };\n\nexport type GeneratorConfig = {\n /**\n * array of aspects to include in the list of templates.\n */\n aspects: string[];\n\n /**\n * by default core templates are shown.\n * use this to hide them unless `--show-all` flag of `bit templates` was used\n */\n hideCoreTemplates: boolean;\n\n /**\n * default envs.\n */\n envs?: string[];\n};\n\nexport class GeneratorMain {\n private aspectLoaded = false;\n constructor(\n private componentTemplateSlot: ComponentTemplateSlot,\n private workspaceTemplateSlot: WorkspaceTemplateSlot,\n private config: GeneratorConfig,\n private workspace: Workspace,\n private envs: EnvsMain,\n private aspectLoader: AspectLoaderMain,\n private newComponentHelper: NewComponentHelperMain,\n private importer: ImporterMain,\n private componentAspect: ComponentMain\n ) {}\n\n /**\n * register a new component template.\n */\n registerComponentTemplate(templates: ComponentTemplate[]) {\n this.componentTemplateSlot.register(templates);\n return this;\n }\n\n /**\n * register a new component template.\n */\n registerWorkspaceTemplate(templates: WorkspaceTemplate[]) {\n this.workspaceTemplateSlot.register(templates);\n return this;\n }\n\n /**\n * list all component templates registered in the workspace or workspace templates in case the\n * workspace is not available\n */\n async listTemplates({ aspect }: { aspect?: string } = {}): Promise<TemplateDescriptor[]> {\n if (this.isRunningInsideWorkspace()) {\n return this.getAllComponentTemplatesDescriptorsFlattened(aspect);\n }\n return this.getAllWorkspaceTemplatesDescriptorFlattened(aspect);\n }\n\n private getTemplateDescriptor = ({ id, template }: AnyTemplateWithId): TemplateDescriptor => {\n const shouldBeHidden = () => {\n if (template.hidden) return true;\n if (this.config.hideCoreTemplates && isCoreAspect(id)) return true;\n return false;\n };\n return {\n aspectId: id,\n name: template.name,\n description: template.description,\n hidden: shouldBeHidden(),\n };\n };\n\n /**\n * @deprecated use this.listTemplates()\n */\n async listComponentTemplates(opts: { aspect?: string }): Promise<TemplateDescriptor[]> {\n return this.listTemplates(opts);\n }\n\n isRunningInsideWorkspace(): boolean {\n return Boolean(this.workspace);\n }\n\n /**\n * get all component templates registered by a specific aspect ID.\n */\n getComponentTemplateByAspect(aspectId: string): ComponentTemplate[] {\n return this.componentTemplateSlot.get(aspectId) || [];\n }\n\n /**\n * returns a specific component template.\n */\n async getComponentTemplate(name: string, aspectId?: string): Promise<ComponentTemplateWithId | undefined> {\n const fromEnv = await this.listEnvComponentTemplates();\n if (fromEnv && fromEnv.length) {\n const found = this.findTemplateByAspectIdAndName<ComponentTemplateWithId>(aspectId, name, fromEnv);\n if (found) return found;\n }\n // fallback to aspect id not from env if provided\n const templates = await this.getAllComponentTemplatesFlattened();\n const found = this.findTemplateByAspectIdAndName<ComponentTemplateWithId>(aspectId, name, templates);\n return found;\n }\n\n private findTemplateByAspectIdAndName<T>(\n aspectId: string | undefined,\n name: string,\n templates: Array<T>\n ): T | undefined {\n // @ts-ignore (should set T to be extends ComponentTemplateWithId or WorkspaceTemplateWithId)\n const found = templates.find(({ id, template }) => {\n if (aspectId && id !== aspectId) return false;\n return template.name === name;\n });\n return found;\n }\n\n /**\n * in the case the aspect-id is given and this aspect doesn't exist locally, import it to the\n * global scope and load it from the capsule\n */\n async findTemplateInGlobalScope(\n aspectId: string,\n name?: string\n ): Promise<{ workspaceTemplate?: WorkspaceTemplate; aspect?: Component }> {\n const { globalScopeHarmony, components } = await this.aspectLoader.loadAspectsFromGlobalScope([aspectId]);\n const remoteGenerator = globalScopeHarmony.get<GeneratorMain>(GeneratorAspect.id);\n const remoteEnvsAspect = globalScopeHarmony.get<EnvsMain>(EnvsAspect.id);\n const aspect = components[0];\n const fullAspectId = aspect.id.toString();\n const fromGlobal = await remoteGenerator.searchRegisteredWorkspaceTemplate.call(\n remoteGenerator,\n name,\n fullAspectId,\n remoteEnvsAspect\n );\n return { workspaceTemplate: fromGlobal, aspect };\n }\n\n async findTemplateInOtherWorkspace(workspacePath: string, name: string, aspectId?: string) {\n if (!aspectId)\n throw new BitError(\n `to load a template from a different workspace, please provide the aspect-id using --aspect flag`\n );\n const harmony = await loadBit(workspacePath);\n let workspace: Workspace;\n try {\n workspace = harmony.get<Workspace>(WorkspaceAspect.id);\n } catch (err: any) {\n throw new Error(`fatal: \"${workspacePath}\" is not a valid Bit workspace, make sure the path is correct`);\n }\n const aspectComponentId = await workspace.resolveComponentId(aspectId);\n await workspace.loadAspects([aspectId], true);\n const aspectFullId = aspectComponentId.toString();\n const generator = harmony.get<GeneratorMain>(GeneratorAspect.id);\n return generator.searchRegisteredWorkspaceTemplate(name, aspectFullId);\n }\n\n /**\n * returns a specific workspace template.\n */\n async getWorkspaceTemplate(\n name: string,\n aspectId?: string\n ): Promise<{ workspaceTemplate: WorkspaceTemplate; aspect?: Component }> {\n const registeredTemplate = await this.searchRegisteredWorkspaceTemplate(name, aspectId);\n if (registeredTemplate) {\n return { workspaceTemplate: registeredTemplate };\n }\n if (!aspectId) {\n throw new BitError(`template \"${name}\" was not found, if this is a custom-template, please use --aspect flag`);\n }\n\n const { workspaceTemplate, aspect } = await this.findTemplateInGlobalScope(aspectId, name);\n if (workspaceTemplate) {\n return { workspaceTemplate, aspect };\n }\n throw new BitError(`template \"${name}\" was not found`);\n }\n\n async searchRegisteredWorkspaceTemplate(\n name?: string,\n aspectId?: string,\n remoteEnvsAspect?: EnvsMain\n ): Promise<WorkspaceTemplate | undefined> {\n let fromEnv;\n\n if (aspectId) {\n fromEnv = await this.listEnvWorkspaceTemplates(aspectId, remoteEnvsAspect);\n }\n const templates = fromEnv && fromEnv.length ? fromEnv : this.getAllWorkspaceTemplatesFlattened();\n const found = templates.find(({ id, template: tpl }) => {\n if (aspectId && name) return aspectId === id && name === tpl.name;\n if (aspectId) return aspectId === id;\n if (name) return name === tpl.name;\n throw new Error(`searchRegisteredWorkspaceTemplate expects to get \"name\" or \"aspectId\"`);\n });\n\n return found?.template;\n }\n\n async generateComponentTemplate(\n componentNames: string[],\n templateName: string,\n options: CreateOptions\n ): Promise<GenerateResult[]> {\n if (!this.workspace) throw new ConsumerNotFound();\n await this.loadAspects();\n const { namespace, aspect: aspectId } = options;\n const templateWithId = await this.getComponentTemplate(templateName, aspectId);\n if (!templateWithId) throw new BitError(`template \"${templateName}\" was not found`);\n\n const componentIds = componentNames.map((componentName) =>\n this.newComponentHelper.getNewComponentId(componentName, namespace, options.scope)\n );\n\n const componentGenerator = new ComponentGenerator(\n this.workspace,\n componentIds,\n options,\n templateWithId.template,\n this.envs,\n this.newComponentHelper,\n templateWithId.id,\n templateWithId.envName ? ComponentID.fromString(templateWithId.id) : undefined\n );\n return componentGenerator.generate();\n }\n\n async generateWorkspaceTemplate(\n workspaceName: string,\n templateName: string,\n options: NewOptions\n ): Promise<GenerateWorkspaceTemplateResult> {\n if (this.workspace) {\n throw new BitError('Error: unable to generate a new workspace inside of an existing workspace');\n }\n const { aspect: aspectId, loadFrom } = options;\n let template: WorkspaceTemplate | undefined;\n let aspectComponent: Component | undefined;\n if (loadFrom) {\n template = await this.findTemplateInOtherWorkspace(loadFrom, templateName, aspectId);\n } else {\n const { workspaceTemplate, aspect } = await this.getWorkspaceTemplate(templateName, aspectId);\n template = workspaceTemplate;\n aspectComponent = aspect;\n }\n if (!template) throw new BitError(`template \"${templateName}\" was not found`);\n const workspaceGenerator = new WorkspaceGenerator(workspaceName, options, template, aspectComponent);\n const workspacePath = await workspaceGenerator.generate();\n\n return { workspacePath, appName: template.appName };\n }\n\n private async getAllComponentTemplatesDescriptorsFlattened(aspectId?: string): Promise<Array<TemplateDescriptor>> {\n const envTemplates = await this.listEnvComponentTemplateDescriptors();\n if (envTemplates && envTemplates.length) {\n if (!aspectId) return envTemplates;\n const filtered = envTemplates.filter((template) => template.aspectId === aspectId);\n if (filtered.length) return filtered;\n }\n\n const flattened = this.getAllComponentTemplatesFlattened();\n const filtered = aspectId ? flattened.filter((template) => template.id === aspectId) : flattened;\n return filtered.map((template) => this.getTemplateDescriptor(template));\n }\n\n private getAllComponentTemplatesFlattened(): Array<{ id: string; template: ComponentTemplate }> {\n const templatesByAspects = this.componentTemplateSlot.toArray();\n const flattened = templatesByAspects.flatMap(([id, componentTemplates]) => {\n return componentTemplates.map((template) => ({\n id,\n template,\n }));\n });\n return flattened;\n }\n\n private async getAllWorkspaceTemplatesDescriptorFlattened(aspectId?: string): Promise<Array<TemplateDescriptor>> {\n let envTemplates;\n if (aspectId) {\n envTemplates = await this.listEnvWorkspaceTemplates(aspectId);\n }\n\n const templates = envTemplates && envTemplates.length ? envTemplates : this.getAllWorkspaceTemplatesFlattened();\n return templates.map((template) => this.getTemplateDescriptor(template));\n }\n\n private getAllWorkspaceTemplatesFlattened(): Array<{ id: string; template: WorkspaceTemplate }> {\n const templatesByAspects = this.workspaceTemplateSlot.toArray();\n return templatesByAspects.flatMap(([id, workspaceTemplates]) => {\n return workspaceTemplates.map((template) => ({\n id,\n template,\n }));\n });\n }\n\n /**\n * list all starter templates registered by an env.\n */\n async listEnvWorkspaceTemplates(envId: string, remoteEnvsAspect?: EnvsMain): Promise<Array<WorkspaceTemplateWithId>> {\n const envs = await this.loadEnvs([envId], remoteEnvsAspect);\n const workspaceTemplates = envs.flatMap((env) => {\n if (!env.env.getGeneratorStarters) return undefined;\n const envStarters = env.env.getGeneratorStarters();\n return envStarters.map((starter) => {\n const componentId = ComponentID.fromString(env.id);\n return {\n id: componentId.toString(),\n envName: env.name,\n template: starter,\n };\n });\n });\n\n return compact(workspaceTemplates);\n }\n\n /**\n * list all component templates registered by an env.\n */\n async listEnvComponentTemplateDescriptors(ids: string[] = []): Promise<TemplateDescriptor[]> {\n const envTemplates = await this.listEnvComponentTemplates(ids);\n const templates: TemplateDescriptor[] = envTemplates.map((envTemplate) => {\n const componentId = ComponentID.fromString(envTemplate.id);\n return {\n aspectId: componentId.toStringWithoutVersion(),\n titlePrefix: envTemplate.envName,\n ...envTemplate.template,\n };\n });\n\n return templates;\n }\n\n async listEnvComponentTemplates(ids: string[] = []): Promise<Array<ComponentTemplateWithId>> {\n const configEnvs = this.config.envs || [];\n const envs = await this.loadEnvs(configEnvs?.concat(ids));\n const templates = envs.flatMap((env) => {\n if (!env.env.getGeneratorTemplates) return [];\n const tpls = env.env.getGeneratorTemplates() || [];\n return tpls.map((template) => {\n const componentId = ComponentID.fromString(env.id);\n return {\n id: componentId.toString(),\n envName: env.name,\n template,\n };\n });\n });\n\n return templates;\n }\n\n async loadEnvs(ids: string[] = this.config.envs || [], remoteEnvsAspect?: EnvsMain): Promise<EnvDefinition[]> {\n // In case we have remoteEnvsAspect it means that we are running from the global scope\n // in that case the aspect / env were already loaded before to the global scope harmony instance\n // so no reason to load it here\n if (!remoteEnvsAspect) {\n const host = this.componentAspect.getHost();\n if (!host) return [];\n await host.loadAspects(ids);\n }\n\n const envsAspect = remoteEnvsAspect || this.envs;\n\n const potentialEnvs = ids.map((id) => {\n const componentId = ComponentID.fromString(id);\n return envsAspect.getEnvDefinition(componentId);\n });\n\n return compact(potentialEnvs);\n }\n\n async loadAspects() {\n if (this.aspectLoaded) return;\n await this.workspace.loadAspects(this.config.aspects);\n this.aspectLoaded = true;\n }\n\n static slots = [Slot.withType<ComponentTemplate[]>(), Slot.withType<WorkspaceTemplate[]>()];\n\n static dependencies = [\n WorkspaceAspect,\n CLIAspect,\n GraphqlAspect,\n EnvsAspect,\n AspectLoaderAspect,\n NewComponentHelperAspect,\n CommunityAspect,\n ImporterAspect,\n ComponentAspect,\n ];\n\n static runtime = MainRuntime;\n\n static async provider(\n [workspace, cli, graphql, envs, aspectLoader, newComponentHelper, community, importer, componentAspect]: [\n Workspace,\n CLIMain,\n GraphqlMain,\n EnvsMain,\n AspectLoaderMain,\n NewComponentHelperMain,\n CommunityMain,\n ImporterMain,\n ComponentMain\n ],\n config: GeneratorConfig,\n [componentTemplateSlot, workspaceTemplateSlot]: [ComponentTemplateSlot, WorkspaceTemplateSlot]\n ) {\n const generator = new GeneratorMain(\n componentTemplateSlot,\n workspaceTemplateSlot,\n config,\n workspace,\n envs,\n aspectLoader,\n newComponentHelper,\n importer,\n componentAspect\n );\n const commands = [\n new CreateCmd(generator, community.getDocsDomain()),\n new TemplatesCmd(generator),\n new NewCmd(generator),\n ];\n cli.register(...commands);\n graphql.register(generatorSchema(generator));\n aspectLoader.registerPlugins([new StarterPlugin(generator)]);\n\n generator.registerComponentTemplate([componentGeneratorTemplate, starterTemplate, workspaceGeneratorTemplate]);\n return generator;\n }\n}\n\nGeneratorAspect.addRuntime(GeneratorMain);\n"],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import * as compositions_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad3d35bfc38b9cd90c0e05b598a5a55af/teambit.generator_generator@0.0.
|
|
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.924/dist/generator.composition.js';
|
|
2
|
+
import * as overview_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad3d35bfc38b9cd90c0e05b598a5a55af/teambit.generator_generator@0.0.924/dist/generator.docs.mdx';
|
|
3
3
|
|
|
4
4
|
export const compositions = [compositions_0];
|
|
5
5
|
export const overview = [overview_0];
|
|
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.924",
|
|
4
4
|
"homepage": "https://bit.dev/teambit/generator/generator",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"componentId": {
|
|
7
7
|
"scope": "teambit.generator",
|
|
8
8
|
"name": "generator",
|
|
9
|
-
"version": "0.0.
|
|
9
|
+
"version": "0.0.924"
|
|
10
10
|
},
|
|
11
11
|
"dependencies": {
|
|
12
12
|
"camelcase": "6.2.0",
|
|
@@ -22,21 +22,21 @@
|
|
|
22
22
|
"@teambit/harmony": "0.3.3",
|
|
23
23
|
"@teambit/bit-error": "0.0.402",
|
|
24
24
|
"@teambit/component-id": "0.0.425",
|
|
25
|
-
"@teambit/envs": "0.0.
|
|
26
|
-
"@teambit/new-component-helper": "0.0.
|
|
27
|
-
"@teambit/workspace": "0.0.
|
|
28
|
-
"@teambit/cli": "0.0.
|
|
29
|
-
"@teambit/graphql": "0.0.
|
|
30
|
-
"@teambit/aspect-loader": "0.0.
|
|
31
|
-
"@teambit/bit": "0.0.
|
|
32
|
-
"@teambit/community": "0.0.
|
|
33
|
-
"@teambit/component": "0.0.
|
|
34
|
-
"@teambit/importer": "0.0.
|
|
35
|
-
"@teambit/compiler": "0.0.
|
|
36
|
-
"@teambit/forking": "0.0.
|
|
37
|
-
"@teambit/install": "0.0.
|
|
38
|
-
"@teambit/logger": "0.0.
|
|
39
|
-
"@teambit/ui": "0.0.
|
|
25
|
+
"@teambit/envs": "0.0.924",
|
|
26
|
+
"@teambit/new-component-helper": "0.0.328",
|
|
27
|
+
"@teambit/workspace": "0.0.924",
|
|
28
|
+
"@teambit/cli": "0.0.619",
|
|
29
|
+
"@teambit/graphql": "0.0.924",
|
|
30
|
+
"@teambit/aspect-loader": "0.0.924",
|
|
31
|
+
"@teambit/bit": "0.0.926",
|
|
32
|
+
"@teambit/community": "0.0.167",
|
|
33
|
+
"@teambit/component": "0.0.924",
|
|
34
|
+
"@teambit/importer": "0.0.353",
|
|
35
|
+
"@teambit/compiler": "0.0.924",
|
|
36
|
+
"@teambit/forking": "0.0.328",
|
|
37
|
+
"@teambit/install": "0.0.65",
|
|
38
|
+
"@teambit/logger": "0.0.712",
|
|
39
|
+
"@teambit/ui": "0.0.924"
|
|
40
40
|
},
|
|
41
41
|
"devDependencies": {
|
|
42
42
|
"@types/fs-extra": "9.0.7",
|
|
@@ -50,7 +50,7 @@
|
|
|
50
50
|
"@teambit/generator.aspect-docs.generator": "0.0.154"
|
|
51
51
|
},
|
|
52
52
|
"peerDependencies": {
|
|
53
|
-
"@teambit/legacy": "1.0.
|
|
53
|
+
"@teambit/legacy": "1.0.400",
|
|
54
54
|
"react-dom": "^16.8.0 || ^17.0.0",
|
|
55
55
|
"react": "^16.8.0 || ^17.0.0"
|
|
56
56
|
},
|
|
Binary file
|