@teambit/generator 0.0.829 → 0.0.832
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 +5 -1
- package/dist/generator.main.runtime.js +4 -1
- package/dist/generator.main.runtime.js.map +1 -1
- package/dist/new.cmd.js +19 -5
- package/dist/new.cmd.js.map +1 -1
- package/dist/workspace-generator.js +2 -1
- package/dist/workspace-generator.js.map +1 -1
- package/dist/workspace-template.d.ts +10 -1
- package/dist/workspace-template.js.map +1 -1
- package/package-tar/teambit-generator-0.0.832.tgz +0 -0
- package/package.json +21 -23
- package/{preview-1661609046303.js → preview-1661916601653.js} +2 -2
- package/package-tar/teambit-generator-0.0.829.tgz +0 -0
|
@@ -21,6 +21,10 @@ export declare type TemplateDescriptor = {
|
|
|
21
21
|
description?: string;
|
|
22
22
|
hidden?: boolean;
|
|
23
23
|
};
|
|
24
|
+
export declare type GenerateWorkspaceTemplateResult = {
|
|
25
|
+
workspacePath: string;
|
|
26
|
+
appName?: string;
|
|
27
|
+
};
|
|
24
28
|
export declare type GeneratorConfig = {
|
|
25
29
|
/**
|
|
26
30
|
* array of aspects to include in the list of templates.
|
|
@@ -87,7 +91,7 @@ export declare class GeneratorMain {
|
|
|
87
91
|
}>;
|
|
88
92
|
searchRegisteredWorkspaceTemplate(name?: string, aspectId?: string): Promise<WorkspaceTemplate | undefined>;
|
|
89
93
|
generateComponentTemplate(componentNames: string[], templateName: string, options: CreateOptions): Promise<GenerateResult[]>;
|
|
90
|
-
generateWorkspaceTemplate(workspaceName: string, templateName: string, options: NewOptions): Promise<
|
|
94
|
+
generateWorkspaceTemplate(workspaceName: string, templateName: string, options: NewOptions): Promise<GenerateWorkspaceTemplateResult>;
|
|
91
95
|
private getAllComponentTemplatesFlattened;
|
|
92
96
|
private getAllWorkspaceTemplatesFlattened;
|
|
93
97
|
private loadAspects;
|
|
@@ -446,7 +446,10 @@ class GeneratorMain {
|
|
|
446
446
|
if (!template) throw new (_bitError().BitError)(`template "${templateName}" was not found`);
|
|
447
447
|
const workspaceGenerator = new (_workspaceGenerator().WorkspaceGenerator)(workspaceName, options, template, aspectComponent);
|
|
448
448
|
const workspacePath = await workspaceGenerator.generate();
|
|
449
|
-
return
|
|
449
|
+
return {
|
|
450
|
+
workspacePath,
|
|
451
|
+
appName: template.appName
|
|
452
|
+
};
|
|
450
453
|
}
|
|
451
454
|
|
|
452
455
|
getAllComponentTemplatesFlattened() {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["GeneratorMain","constructor","componentTemplateSlot","workspaceTemplateSlot","config","workspace","envs","aspectLoader","newComponentHelper","importer","registerComponentTemplate","templates","register","registerWorkspaceTemplate","listTemplates","getTemplateDescriptor","id","template","shouldBeHidden","hidden","hideCoreTemplates","isCoreAspect","aspectId","name","description","isRunningInsideWorkspace","getAllComponentTemplatesFlattened","map","getAllWorkspaceTemplatesFlattened","listComponentTemplates","Boolean","getComponentTemplateByAspect","get","getComponentTemplate","found","find","findTemplateInGlobalScope","aspects","loadAspectsFromGlobalScope","fullAspectId","toString","searchRegisteredWorkspaceTemplate","findTemplateInOtherWorkspace","workspacePath","BitError","harmony","loadBit","WorkspaceAspect","err","Error","aspectComponentId","resolveComponentId","loadAspects","aspectFullId","generator","GeneratorAspect","getWorkspaceTemplate","registeredTemplate","workspaceTemplate","aspect","fromGlobal","generateComponentTemplate","componentNames","templateName","options","ConsumerNotFound","namespace","templateWithId","componentIds","componentName","getNewComponentId","scope","componentGenerator","ComponentGenerator","generate","generateWorkspaceTemplate","workspaceName","loadFrom","aspectComponent","workspaceGenerator","WorkspaceGenerator","templatesByAspects","toArray","flatMap","componentTemplates","workspaceTemplates","aspectLoaded","provider","cli","graphql","community","commands","CreateCmd","getDocsDomain","TemplatesCmd","NewCmd","generatorSchema","componentGeneratorTemplate","workspaceGeneratorTemplate","Slot","withType","CLIAspect","GraphqlAspect","EnvsAspect","AspectLoaderAspect","NewComponentHelperAspect","CommunityAspect","ImporterAspect","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 { 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 { Component } from '@teambit/component';\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 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';\n\nexport type ComponentTemplateSlot = SlotRegistry<ComponentTemplate[]>;\nexport type WorkspaceTemplateSlot = SlotRegistry<WorkspaceTemplate[]>;\n\nexport type TemplateDescriptor = { aspectId: string; name: string; description?: string; hidden?: boolean };\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\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 ) {}\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(): Promise<TemplateDescriptor[]> {\n const getTemplateDescriptor = ({\n id,\n template,\n }: {\n id: string;\n template: WorkspaceTemplate | ComponentTemplate;\n }) => {\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 return this.isRunningInsideWorkspace()\n ? this.getAllComponentTemplatesFlattened().map(getTemplateDescriptor)\n : this.getAllWorkspaceTemplatesFlattened().map(getTemplateDescriptor);\n }\n\n /**\n * @deprecated use this.listTemplates()\n */\n async listComponentTemplates(): Promise<TemplateDescriptor[]> {\n return this.listTemplates();\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 getComponentTemplate(name: string, aspectId?: string): { id: string; template: ComponentTemplate } | undefined {\n const templates = this.getAllComponentTemplatesFlattened();\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(aspectId: string, name?: string): Promise<WorkspaceTemplate | undefined> {\n const aspects = await this.aspectLoader.loadAspectsFromGlobalScope([aspectId]);\n const fullAspectId = aspects[0].id.toString();\n return this.searchRegisteredWorkspaceTemplate(name, fullAspectId);\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 const aspects = await this.aspectLoader.loadAspectsFromGlobalScope([aspectId]);\n const aspect = aspects[0];\n const fullAspectId = aspect.id.toString();\n const fromGlobal = await this.searchRegisteredWorkspaceTemplate(name, fullAspectId);\n if (fromGlobal) {\n return { workspaceTemplate: fromGlobal, aspect };\n }\n throw new BitError(`template \"${name}\" was not found`);\n }\n\n async searchRegisteredWorkspaceTemplate(name?: string, aspectId?: string): Promise<WorkspaceTemplate | undefined> {\n const templates = this.getAllWorkspaceTemplatesFlattened();\n const found = templates.find(({ id, template }) => {\n if (aspectId && name) return aspectId === id && name === template.name;\n if (aspectId) return aspectId === id;\n if (name) return name === template.name;\n throw new Error(`searchRegisteredWorkspaceTemplate expects to get \"name\" or \"aspectId\"`);\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 = 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 );\n return componentGenerator.generate();\n }\n\n async generateWorkspaceTemplate(workspaceName: string, templateName: string, options: NewOptions) {\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;\n }\n\n private getAllComponentTemplatesFlattened(): Array<{ id: string; template: ComponentTemplate }> {\n const templatesByAspects = this.componentTemplateSlot.toArray();\n return templatesByAspects.flatMap(([id, componentTemplates]) => {\n return componentTemplates.map((template) => ({\n id,\n template,\n }));\n });\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 private 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 ];\n\n static runtime = MainRuntime;\n\n static async provider(\n [workspace, cli, graphql, envs, aspectLoader, newComponentHelper, community, importer]: [\n Workspace,\n CLIMain,\n GraphqlMain,\n EnvsMain,\n AspectLoaderMain,\n NewComponentHelperMain,\n CommunityMain,\n ImporterMain\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 );\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 generator.registerComponentTemplate([componentGeneratorTemplate, 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","registerComponentTemplate","templates","register","registerWorkspaceTemplate","listTemplates","getTemplateDescriptor","id","template","shouldBeHidden","hidden","hideCoreTemplates","isCoreAspect","aspectId","name","description","isRunningInsideWorkspace","getAllComponentTemplatesFlattened","map","getAllWorkspaceTemplatesFlattened","listComponentTemplates","Boolean","getComponentTemplateByAspect","get","getComponentTemplate","found","find","findTemplateInGlobalScope","aspects","loadAspectsFromGlobalScope","fullAspectId","toString","searchRegisteredWorkspaceTemplate","findTemplateInOtherWorkspace","workspacePath","BitError","harmony","loadBit","WorkspaceAspect","err","Error","aspectComponentId","resolveComponentId","loadAspects","aspectFullId","generator","GeneratorAspect","getWorkspaceTemplate","registeredTemplate","workspaceTemplate","aspect","fromGlobal","generateComponentTemplate","componentNames","templateName","options","ConsumerNotFound","namespace","templateWithId","componentIds","componentName","getNewComponentId","scope","componentGenerator","ComponentGenerator","generate","generateWorkspaceTemplate","workspaceName","loadFrom","aspectComponent","workspaceGenerator","WorkspaceGenerator","appName","templatesByAspects","toArray","flatMap","componentTemplates","workspaceTemplates","aspectLoaded","provider","cli","graphql","community","commands","CreateCmd","getDocsDomain","TemplatesCmd","NewCmd","generatorSchema","componentGeneratorTemplate","workspaceGeneratorTemplate","Slot","withType","CLIAspect","GraphqlAspect","EnvsAspect","AspectLoaderAspect","NewComponentHelperAspect","CommunityAspect","ImporterAspect","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 { 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 { Component } from '@teambit/component';\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 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';\n\nexport type ComponentTemplateSlot = SlotRegistry<ComponentTemplate[]>;\nexport type WorkspaceTemplateSlot = SlotRegistry<WorkspaceTemplate[]>;\n\nexport type TemplateDescriptor = { aspectId: string; name: string; description?: string; hidden?: boolean };\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\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 ) {}\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(): Promise<TemplateDescriptor[]> {\n const getTemplateDescriptor = ({\n id,\n template,\n }: {\n id: string;\n template: WorkspaceTemplate | ComponentTemplate;\n }) => {\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 return this.isRunningInsideWorkspace()\n ? this.getAllComponentTemplatesFlattened().map(getTemplateDescriptor)\n : this.getAllWorkspaceTemplatesFlattened().map(getTemplateDescriptor);\n }\n\n /**\n * @deprecated use this.listTemplates()\n */\n async listComponentTemplates(): Promise<TemplateDescriptor[]> {\n return this.listTemplates();\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 getComponentTemplate(name: string, aspectId?: string): { id: string; template: ComponentTemplate } | undefined {\n const templates = this.getAllComponentTemplatesFlattened();\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(aspectId: string, name?: string): Promise<WorkspaceTemplate | undefined> {\n const aspects = await this.aspectLoader.loadAspectsFromGlobalScope([aspectId]);\n const fullAspectId = aspects[0].id.toString();\n return this.searchRegisteredWorkspaceTemplate(name, fullAspectId);\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 const aspects = await this.aspectLoader.loadAspectsFromGlobalScope([aspectId]);\n const aspect = aspects[0];\n const fullAspectId = aspect.id.toString();\n const fromGlobal = await this.searchRegisteredWorkspaceTemplate(name, fullAspectId);\n if (fromGlobal) {\n return { workspaceTemplate: fromGlobal, aspect };\n }\n throw new BitError(`template \"${name}\" was not found`);\n }\n\n async searchRegisteredWorkspaceTemplate(name?: string, aspectId?: string): Promise<WorkspaceTemplate | undefined> {\n const templates = this.getAllWorkspaceTemplatesFlattened();\n const found = templates.find(({ id, template }) => {\n if (aspectId && name) return aspectId === id && name === template.name;\n if (aspectId) return aspectId === id;\n if (name) return name === template.name;\n throw new Error(`searchRegisteredWorkspaceTemplate expects to get \"name\" or \"aspectId\"`);\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 = 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 );\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 getAllComponentTemplatesFlattened(): Array<{ id: string; template: ComponentTemplate }> {\n const templatesByAspects = this.componentTemplateSlot.toArray();\n return templatesByAspects.flatMap(([id, componentTemplates]) => {\n return componentTemplates.map((template) => ({\n id,\n template,\n }));\n });\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 private 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 ];\n\n static runtime = MainRuntime;\n\n static async provider(\n [workspace, cli, graphql, envs, aspectLoader, newComponentHelper, community, importer]: [\n Workspace,\n CLIMain,\n GraphqlMain,\n EnvsMain,\n AspectLoaderMain,\n NewComponentHelperMain,\n CommunityMain,\n ImporterMain\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 );\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 generator.registerComponentTemplate([componentGeneratorTemplate, workspaceGeneratorTemplate]);\n return generator;\n }\n}\n\nGeneratorAspect.addRuntime(GeneratorMain);\n"],"mappings":"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"}
|
package/dist/new.cmd.js
CHANGED
|
@@ -53,10 +53,13 @@ class NewCmd {
|
|
|
53
53
|
var _options$skipGit;
|
|
54
54
|
|
|
55
55
|
options.skipGit = (_options$skipGit = options.skipGit) !== null && _options$skipGit !== void 0 ? _options$skipGit : options.standalone;
|
|
56
|
-
const
|
|
56
|
+
const {
|
|
57
|
+
workspacePath,
|
|
58
|
+
appName
|
|
59
|
+
} = await this.generator.generateWorkspaceTemplate(workspaceName, templateName, options);
|
|
57
60
|
return _chalk().default.white(`${_chalk().default.green(`
|
|
58
61
|
|
|
59
|
-
Congrats! A new workspace has been created successfully at '${
|
|
62
|
+
Congrats! A new workspace has been created successfully at '${workspacePath}'`)}
|
|
60
63
|
|
|
61
64
|
Inside the directory '${workspaceName}' you can run various commands including:
|
|
62
65
|
|
|
@@ -84,9 +87,7 @@ Inside the directory '${workspaceName}' you can run various commands including:
|
|
|
84
87
|
|
|
85
88
|
${_chalk().default.green.bold("Let's get started!")}
|
|
86
89
|
|
|
87
|
-
${
|
|
88
|
-
${_chalk().default.yellow(`bit start`)}
|
|
89
|
-
|
|
90
|
+
${getBottomSection(workspaceName, appName)}
|
|
90
91
|
`);
|
|
91
92
|
}
|
|
92
93
|
|
|
@@ -94,4 +95,17 @@ ${_chalk().default.green.bold("Let's get started!")}
|
|
|
94
95
|
|
|
95
96
|
exports.NewCmd = NewCmd;
|
|
96
97
|
|
|
98
|
+
function getBottomSection(workspaceName, appName) {
|
|
99
|
+
const cdLine = _chalk().default.yellow(`cd ${workspaceName}`);
|
|
100
|
+
|
|
101
|
+
const parts = [cdLine];
|
|
102
|
+
|
|
103
|
+
if (appName) {
|
|
104
|
+
parts.push(_chalk().default.yellow(` bit run ${appName}`));
|
|
105
|
+
}
|
|
106
|
+
|
|
107
|
+
parts.push(_chalk().default.yellow(` bit start`));
|
|
108
|
+
return parts.join('\n');
|
|
109
|
+
}
|
|
110
|
+
|
|
97
111
|
//# sourceMappingURL=new.cmd.js.map
|
package/dist/new.cmd.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["NewCmd","constructor","generator","name","description","report","templateName","workspaceName","options","skipGit","standalone","
|
|
1
|
+
{"version":3,"names":["NewCmd","constructor","generator","name","description","report","templateName","workspaceName","options","skipGit","standalone","workspacePath","appName","generateWorkspaceTemplate","chalk","white","green","yellow","bold","getBottomSection","cdLine","parts","push","join"],"sources":["new.cmd.ts"],"sourcesContent":["import { Command, CommandOptions } from '@teambit/cli';\nimport chalk from 'chalk';\nimport { GeneratorMain } from './generator.main.runtime';\n\nexport type NewOptions = {\n aspect?: string;\n defaultScope?: string;\n skipGit?: boolean;\n loadFrom?: string;\n empty?: boolean;\n};\n\nexport class NewCmd implements Command {\n name = 'new <template-name> <workspace-name>';\n description = 'create a new workspace from a template';\n arguments = [\n {\n name: 'template-name',\n description:\n \"the name of the workspace template (run 'bit templates', outside of a workspace, to get a list of available templates)\",\n },\n { name: 'workspace-name', description: 'the name for the new workspace and workspace directory' },\n ];\n alias = '';\n loader = true;\n group = 'start';\n options = [\n [\n 'a',\n 'aspect <aspect-id>',\n 'aspect-id of the template. mandatory for non-core aspects. helpful for core aspects in case of a name collision',\n ],\n ['d', 'default-scope <scope-name>', `set defaultScope in the new workspace.jsonc`],\n ['', 'standalone', 'DEPRECATED. use --skip-git instead'],\n ['s', 'skip-git', 'skip generation of Git repository'],\n ['e', 'empty', 'empty workspace with no components (relevant for templates that add components by default)'],\n [\n '',\n 'load-from <path-to-template>',\n 'path to the workspace containing the template. helpful during a development of a workspace-template',\n ],\n ] as CommandOptions;\n\n constructor(private generator: GeneratorMain) {}\n\n async report([templateName, workspaceName]: [string, string], options: NewOptions & { standalone: boolean }) {\n options.skipGit = options.skipGit ?? options.standalone;\n const { workspacePath, appName } = await this.generator.generateWorkspaceTemplate(\n workspaceName,\n templateName,\n options\n );\n return chalk.white(\n `${chalk.green(`\n\nCongrats! A new workspace has been created successfully at '${workspacePath}'`)}\n\nInside the directory '${workspaceName}' you can run various commands including:\n\n ${chalk.yellow('bit start')}\n Starts the workspace in development mode\n\n ${chalk.yellow('bit install')}\n Installs any missing dependencies\n\n ${chalk.yellow('bit status')}\n Shows the status of the components\n\n ${chalk.yellow('bit compile')}\n Compiles the components\n\n ${chalk.yellow('bit test')}\n Runs the tests on all your components\n\n ${chalk.yellow('bit templates')}\n Shows all available component templates\n\n ${chalk.yellow('bit help')}\n Shows all available commands\n\n\n${chalk.green.bold(\"Let's get started!\")}\n\n ${getBottomSection(workspaceName, appName)}\n `\n );\n }\n}\n\nfunction getBottomSection(workspaceName: string, appName: string | undefined) {\n const cdLine = chalk.yellow(`cd ${workspaceName}`);\n const parts = [cdLine];\n if (appName) {\n parts.push(chalk.yellow(` bit run ${appName}`));\n }\n parts.push(chalk.yellow(` bit start`));\n return parts.join('\\n');\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AACA;EAAA;;EAAA;IAAA;EAAA;;EAAA;AAAA;;AAWO,MAAMA,MAAN,CAAgC;EA+BrCC,WAAW,CAASC,SAAT,EAAmC;IAAA,KAA1BA,SAA0B,GAA1BA,SAA0B;IAAA,8CA9BvC,sCA8BuC;IAAA,qDA7BhC,wCA6BgC;IAAA,mDA5BlC,CACV;MACEC,IAAI,EAAE,eADR;MAEEC,WAAW,EACT;IAHJ,CADU,EAMV;MAAED,IAAI,EAAE,gBAAR;MAA0BC,WAAW,EAAE;IAAvC,CANU,CA4BkC;IAAA,+CApBtC,EAoBsC;IAAA,gDAnBrC,IAmBqC;IAAA,+CAlBtC,OAkBsC;IAAA,iDAjBpC,CACR,CACE,GADF,EAEE,oBAFF,EAGE,iHAHF,CADQ,EAMR,CAAC,GAAD,EAAM,4BAAN,EAAqC,6CAArC,CANQ,EAOR,CAAC,EAAD,EAAK,YAAL,EAAmB,oCAAnB,CAPQ,EAQR,CAAC,GAAD,EAAM,UAAN,EAAkB,mCAAlB,CARQ,EASR,CAAC,GAAD,EAAM,OAAN,EAAe,4FAAf,CATQ,EAUR,CACE,EADF,EAEE,8BAFF,EAGE,qGAHF,CAVQ,CAiBoC;EAAE;;EAEpC,MAANC,MAAM,CAAC,CAACC,YAAD,EAAeC,aAAf,CAAD,EAAkDC,OAAlD,EAAiG;IAAA;;IAC3GA,OAAO,CAACC,OAAR,uBAAkBD,OAAO,CAACC,OAA1B,+DAAqCD,OAAO,CAACE,UAA7C;IACA,MAAM;MAAEC,aAAF;MAAiBC;IAAjB,IAA6B,MAAM,KAAKV,SAAL,CAAeW,yBAAf,CACvCN,aADuC,EAEvCD,YAFuC,EAGvCE,OAHuC,CAAzC;IAKA,OAAOM,gBAAA,CAAMC,KAAN,CACJ,GAAED,gBAAA,CAAME,KAAN,CAAa;AACtB;AACA,8DAA8DL,aAAc,GAFnE,CAEuE;AAChF;AACA,wBAAwBJ,aAAc;AACtC;AACA,QAAQO,gBAAA,CAAMG,MAAN,CAAa,WAAb,CAA0B;AAClC;AACA;AACA,QAAQH,gBAAA,CAAMG,MAAN,CAAa,aAAb,CAA4B;AACpC;AACA;AACA,QAAQH,gBAAA,CAAMG,MAAN,CAAa,YAAb,CAA2B;AACnC;AACA;AACA,QAAQH,gBAAA,CAAMG,MAAN,CAAa,aAAb,CAA4B;AACpC;AACA;AACA,QAAQH,gBAAA,CAAMG,MAAN,CAAa,UAAb,CAAyB;AACjC;AACA;AACA,QAAQH,gBAAA,CAAMG,MAAN,CAAa,eAAb,CAA8B;AACtC;AACA;AACA,QAAQH,gBAAA,CAAMG,MAAN,CAAa,UAAb,CAAyB;AACjC;AACA;AACA;AACA,EAAEH,gBAAA,CAAME,KAAN,CAAYE,IAAZ,CAAiB,oBAAjB,CAAuC;AACzC;AACA,QAAQC,gBAAgB,CAACZ,aAAD,EAAgBK,OAAhB,CAAyB;AACjD,OAhCW,CAAP;EAkCD;;AA1EoC;;;;AA6EvC,SAASO,gBAAT,CAA0BZ,aAA1B,EAAiDK,OAAjD,EAA8E;EAC5E,MAAMQ,MAAM,GAAGN,gBAAA,CAAMG,MAAN,CAAc,MAAKV,aAAc,EAAjC,CAAf;;EACA,MAAMc,KAAK,GAAG,CAACD,MAAD,CAAd;;EACA,IAAIR,OAAJ,EAAa;IACXS,KAAK,CAACC,IAAN,CAAWR,gBAAA,CAAMG,MAAN,CAAc,iBAAgBL,OAAQ,EAAtC,CAAX;EACD;;EACDS,KAAK,CAACC,IAAN,CAAWR,gBAAA,CAAMG,MAAN,CAAc,iBAAd,CAAX;EACA,OAAOI,KAAK,CAACE,IAAN,CAAW,IAAX,CAAP;AACD"}
|
|
@@ -246,7 +246,8 @@ class WorkspaceGenerator {
|
|
|
246
246
|
name: this.workspaceName,
|
|
247
247
|
defaultScope: this.options.defaultScope,
|
|
248
248
|
empty: this.options.empty,
|
|
249
|
-
aspectComponent: this.aspectComponent
|
|
249
|
+
aspectComponent: this.aspectComponent,
|
|
250
|
+
template: this.template
|
|
250
251
|
};
|
|
251
252
|
const templateFiles = await this.template.generateFiles(workspaceContext);
|
|
252
253
|
await Promise.all(templateFiles.map(async templateFile => {
|
|
@@ -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","workspace","install","undefined","dedupe","import","copyPeerToRuntimeOnRoot","copyPeerToRuntimeOnComponents","updateExisting","err","remove","gitExecutablePath","getGitExecutablePath","params","execa","exitCodeName","GitNotFound","buildUI","uiMain","harmony","get","UIAspect","id","createRuntime","workspaceContext","name","defaultScope","empty","templateFiles","generateFiles","Promise","all","map","templateFile","outputFile","join","relativePath","content","loadBit","WorkspaceAspect","loggerMain","LoggerAspect","logger","createLogger","GeneratorAspect","importer","ImporterAspect","forking","ForkingAspect","componentsToFork","importComponents","fork","length","componentsToForkRestructured","targetName","path","sourceId","targetId","forkMultipleFromRemote","scope","refactor","clearCache","compileComponents","componentsToImport","pMapSeries","componentToImport","ids","verbose","objectsOnly","override","writeDists","writeConfig","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 { WorkspaceTemplate } 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 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, {});\n await this.writeWorkspaceFiles();\n await this.reloadBitInWorkspaceDir();\n await this.forkComponentsFromRemote();\n await this.importComponentsFromRemote();\n await this.workspace.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 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 /**\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 = {\n name: this.workspaceName,\n defaultScope: this.options.defaultScope,\n empty: this.options.empty,\n aspectComponent: this.aspectComponent,\n };\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 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 componentsToFork = this.template?.importComponents?.() || this.template?.fork?.() || [];\n if (!componentsToFork.length) return;\n const componentsToForkRestructured = componentsToFork.map(({ id, targetName, path }) => ({\n sourceId: id,\n targetId: targetName,\n path,\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 componentsToImport = this.template?.import?.() || [];\n\n if (!componentsToImport.length) return;\n\n await pMapSeries(componentsToImport, async (componentToImport) => {\n await this.importer.import(\n {\n ids: [componentToImport.id],\n verbose: false,\n objectsOnly: false,\n override: false,\n writeDists: false,\n writeConfig: false,\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","forkComponentsFromRemote","importComponentsFromRemote","workspace","install","undefined","dedupe","import","copyPeerToRuntimeOnRoot","copyPeerToRuntimeOnComponents","updateExisting","err","remove","gitExecutablePath","getGitExecutablePath","params","execa","exitCodeName","GitNotFound","buildUI","uiMain","harmony","get","UIAspect","id","createRuntime","workspaceContext","name","defaultScope","empty","templateFiles","generateFiles","Promise","all","map","templateFile","outputFile","join","relativePath","content","loadBit","WorkspaceAspect","loggerMain","LoggerAspect","logger","createLogger","GeneratorAspect","importer","ImporterAspect","forking","ForkingAspect","componentsToFork","importComponents","fork","length","componentsToForkRestructured","targetName","path","sourceId","targetId","forkMultipleFromRemote","scope","refactor","clearCache","compileComponents","componentsToImport","pMapSeries","componentToImport","ids","verbose","objectsOnly","override","writeDists","writeConfig","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 { 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 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, {});\n await this.writeWorkspaceFiles();\n await this.reloadBitInWorkspaceDir();\n await this.forkComponentsFromRemote();\n await this.importComponentsFromRemote();\n await this.workspace.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 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 /**\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: WorkspaceContext = {\n name: this.workspaceName,\n defaultScope: this.options.defaultScope,\n empty: this.options.empty,\n aspectComponent: this.aspectComponent,\n template: this.template,\n };\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 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 componentsToFork = this.template?.importComponents?.() || this.template?.fork?.() || [];\n if (!componentsToFork.length) return;\n const componentsToForkRestructured = componentsToFork.map(({ id, targetName, path }) => ({\n sourceId: id,\n targetId: targetName,\n path,\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 componentsToImport = this.template?.import?.() || [];\n\n if (!componentsToImport.length) return;\n\n await pMapSeries(componentsToImport, async (componentToImport) => {\n await this.importer.import(\n {\n ids: [componentToImport.id],\n verbose: false,\n objectsOnly: false,\n override: false,\n writeDists: false,\n writeConfig: false,\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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"}
|
|
@@ -29,6 +29,10 @@ export interface WorkspaceContext {
|
|
|
29
29
|
* useful to get the aspect-id and other info.
|
|
30
30
|
*/
|
|
31
31
|
aspectComponent?: Component;
|
|
32
|
+
/**
|
|
33
|
+
* the template the user selected to create the workspace.
|
|
34
|
+
*/
|
|
35
|
+
template: WorkspaceTemplate;
|
|
32
36
|
}
|
|
33
37
|
export interface ForkComponentInfo {
|
|
34
38
|
/**
|
|
@@ -38,7 +42,7 @@ export interface ForkComponentInfo {
|
|
|
38
42
|
/**
|
|
39
43
|
* path where to write the component
|
|
40
44
|
*/
|
|
41
|
-
path
|
|
45
|
+
path?: string;
|
|
42
46
|
/**
|
|
43
47
|
* a new component name. if not specified, use the original id (without the scope)
|
|
44
48
|
*/
|
|
@@ -63,6 +67,11 @@ export interface WorkspaceTemplate {
|
|
|
63
67
|
* name of the workspace template. for example: `react-workspace`.
|
|
64
68
|
*/
|
|
65
69
|
name: string;
|
|
70
|
+
/**
|
|
71
|
+
* name of an app created in the workspace. for example: `my-app`.
|
|
72
|
+
* This will be used to instruct the user to run `bit run <appName>` in the new workspace.
|
|
73
|
+
*/
|
|
74
|
+
appName?: string;
|
|
66
75
|
/**
|
|
67
76
|
* short description of the template. shown in the `bit templates` command when outside of bit-workspace.
|
|
68
77
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":[],"sources":["workspace-template.ts"],"sourcesContent":["import type { Component } from '@teambit/component';\n\nexport interface WorkspaceFile {\n /**\n * relative path of the file within the workspace.\n */\n relativePath: string;\n\n /**\n * file content\n */\n content: string;\n}\n\nexport interface WorkspaceContext {\n /**\n * workspace-name as entered by the user, e.g. `react-app`.\n * it is used as the directory name for the workspace.\n */\n name: string;\n\n /**\n * default scope as entered by the user.\n * it will be set in the workspace.jsonc and be used for components\n */\n defaultScope?: string;\n\n /**\n * whether user entered `--empty` flag in `bit new` to avoid creating components.\n */\n empty?: boolean;\n\n /**\n * in case the \"--aspect\" flag used to import a remote aspect, this is populated with that aspect.\n * useful to get the aspect-id and other info.\n */\n aspectComponent?: Component;\n}\n\nexport interface ForkComponentInfo {\n /**\n * full component id\n */\n id: string;\n\n /**\n * path where to write the component\n */\n path
|
|
1
|
+
{"version":3,"names":[],"sources":["workspace-template.ts"],"sourcesContent":["import type { Component } from '@teambit/component';\n\nexport interface WorkspaceFile {\n /**\n * relative path of the file within the workspace.\n */\n relativePath: string;\n\n /**\n * file content\n */\n content: string;\n}\n\nexport interface WorkspaceContext {\n /**\n * workspace-name as entered by the user, e.g. `react-app`.\n * it is used as the directory name for the workspace.\n */\n name: string;\n\n /**\n * default scope as entered by the user.\n * it will be set in the workspace.jsonc and be used for components\n */\n defaultScope?: string;\n\n /**\n * whether user entered `--empty` flag in `bit new` to avoid creating components.\n */\n empty?: boolean;\n\n /**\n * in case the \"--aspect\" flag used to import a remote aspect, this is populated with that aspect.\n * useful to get the aspect-id and other info.\n */\n aspectComponent?: Component;\n\n /**\n * the template the user selected to create the workspace.\n */\n template: WorkspaceTemplate;\n}\n\nexport interface ForkComponentInfo {\n /**\n * full component id\n */\n id: string;\n\n /**\n * path where to write the component\n */\n path?: string;\n\n /**\n * a new component name. if not specified, use the original id (without the scope)\n */\n targetName?: string;\n}\n\n/**\n * @deprecated use ForkComponentInfo instead.\n */\nexport type ComponentToImport = ForkComponentInfo;\n\nexport interface ImportComponentInfo {\n /**\n * full component id\n */\n id: string;\n\n /**\n * path where to write the component\n */\n path: string;\n}\n\nexport interface WorkspaceTemplate {\n /**\n * name of the workspace template. for example: `react-workspace`.\n */\n name: string;\n\n /**\n * name of an app created in the workspace. for example: `my-app`.\n * This will be used to instruct the user to run `bit run <appName>` in the new workspace.\n */\n appName?: string;\n\n /**\n * short description of the template. shown in the `bit templates` command when outside of bit-workspace.\n */\n description?: string;\n\n /**\n * hide this template so that it is not listed with `bit templates`\n */\n hidden?: boolean;\n\n /**\n * template function for generating the template files,\n */\n generateFiles(context: WorkspaceContext): Promise<WorkspaceFile[]>;\n\n /**\n * @deprecated use `fork()` or `import()` instead\n * this is working similarly to `fork()`\n */\n importComponents?: () => ForkComponentInfo[];\n\n /**\n * populate existing components into the new workspace and add them as new components.\n * don't change their source code.\n */\n import?: () => ImportComponentInfo[];\n\n /**\n * populate existing components into the new workspace and add them as new components.\n * change their source code and update the dependency names according to the new component names.\n */\n fork?: () => ForkComponentInfo[];\n}\n"],"mappings":""}
|
|
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.832",
|
|
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.832"
|
|
10
10
|
},
|
|
11
11
|
"dependencies": {
|
|
12
12
|
"camelcase": "6.2.0",
|
|
@@ -20,22 +20,22 @@
|
|
|
20
20
|
"@babel/runtime": "7.12.18",
|
|
21
21
|
"core-js": "^3.0.0",
|
|
22
22
|
"@teambit/harmony": "0.3.3",
|
|
23
|
-
"@teambit/bit-error": "0.0.
|
|
24
|
-
"@teambit/component-id": "0.0.
|
|
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/logger": "0.0.
|
|
38
|
-
"@teambit/ui": "0.0.
|
|
23
|
+
"@teambit/bit-error": "0.0.395",
|
|
24
|
+
"@teambit/component-id": "0.0.406",
|
|
25
|
+
"@teambit/envs": "0.0.832",
|
|
26
|
+
"@teambit/new-component-helper": "0.0.236",
|
|
27
|
+
"@teambit/workspace": "0.0.832",
|
|
28
|
+
"@teambit/cli": "0.0.557",
|
|
29
|
+
"@teambit/graphql": "0.0.832",
|
|
30
|
+
"@teambit/aspect-loader": "0.0.832",
|
|
31
|
+
"@teambit/bit": "0.0.834",
|
|
32
|
+
"@teambit/community": "0.0.105",
|
|
33
|
+
"@teambit/component": "0.0.832",
|
|
34
|
+
"@teambit/importer": "0.0.261",
|
|
35
|
+
"@teambit/compiler": "0.0.832",
|
|
36
|
+
"@teambit/forking": "0.0.236",
|
|
37
|
+
"@teambit/logger": "0.0.650",
|
|
38
|
+
"@teambit/ui": "0.0.832"
|
|
39
39
|
},
|
|
40
40
|
"devDependencies": {
|
|
41
41
|
"@types/fs-extra": "9.0.7",
|
|
@@ -46,10 +46,10 @@
|
|
|
46
46
|
"@types/jest": "^26.0.0",
|
|
47
47
|
"@types/react-dom": "^17.0.5",
|
|
48
48
|
"@types/node": "12.20.4",
|
|
49
|
-
"@teambit/generator.aspect-docs.generator": "0.0.
|
|
49
|
+
"@teambit/generator.aspect-docs.generator": "0.0.144"
|
|
50
50
|
},
|
|
51
51
|
"peerDependencies": {
|
|
52
|
-
"@teambit/legacy": "1.0.
|
|
52
|
+
"@teambit/legacy": "1.0.340",
|
|
53
53
|
"react-dom": "^16.8.0 || ^17.0.0",
|
|
54
54
|
"react": "^16.8.0 || ^17.0.0"
|
|
55
55
|
},
|
|
@@ -71,8 +71,6 @@
|
|
|
71
71
|
"react",
|
|
72
72
|
"react-components",
|
|
73
73
|
"angular",
|
|
74
|
-
"angular-components"
|
|
75
|
-
"vue",
|
|
76
|
-
"vue-components"
|
|
74
|
+
"angular-components"
|
|
77
75
|
]
|
|
78
76
|
}
|
|
@@ -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.832/dist/generator.composition.js';
|
|
2
|
+
import * as overview_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad3d35bfc38b9cd90c0e05b598a5a55af/teambit.generator_generator@0.0.832/dist/generator.docs.mdx';
|
|
3
3
|
|
|
4
4
|
export const compositions = [compositions_0];
|
|
5
5
|
export const overview = [overview_0];
|
|
Binary file
|