@teambit/generator 1.0.282 → 1.0.284

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.
Files changed (53) hide show
  1. package/artifacts/__bit_junit.xml +1 -1
  2. package/artifacts/preview/teambit_generator_generator-preview.js +1 -1
  3. package/artifacts/schema.json +1 -1
  4. package/dist/component-generator.js +1 -1
  5. package/dist/component-generator.js.map +1 -1
  6. package/dist/create.cmd.js +2 -2
  7. package/dist/create.cmd.js.map +1 -1
  8. package/dist/exceptions/workspace-path-exists.js.map +1 -1
  9. package/dist/generator.composition.js +1 -1
  10. package/dist/generator.composition.js.map +1 -1
  11. package/dist/generator.graphql.js +3 -3
  12. package/dist/generator.graphql.js.map +1 -1
  13. package/dist/generator.main.runtime.js +2 -2
  14. package/dist/generator.main.runtime.js.map +1 -1
  15. package/dist/generator.service.js +1 -1
  16. package/dist/new.cmd.js +2 -2
  17. package/dist/new.cmd.js.map +1 -1
  18. package/dist/{preview-1716434516635.js → preview-1716607230882.js} +2 -2
  19. package/dist/starter.plugin.js +1 -1
  20. package/dist/starter.plugin.js.map +1 -1
  21. package/dist/templates/basic/template/files/package-json.js.map +1 -1
  22. package/dist/templates/basic/template/files/workspace-config.js +1 -1
  23. package/dist/templates/basic/template/files/workspace-config.js.map +1 -1
  24. package/dist/templates/component-generator/files/component-template-files/component.js.map +1 -1
  25. package/dist/templates/component-generator/files/component-template-files/composition.js.map +1 -1
  26. package/dist/templates/component-generator/files/component-template-files/index-file.js.map +1 -1
  27. package/dist/templates/component-generator/files/component-template-files/test.js.map +1 -1
  28. package/dist/templates/component-generator/files/component-template.js.map +1 -1
  29. package/dist/templates/component-generator/files/index.js.map +1 -1
  30. package/dist/templates/component-generator/index.js.map +1 -1
  31. package/dist/templates/component-generator-standalone/files/aspect-file.js.map +1 -1
  32. package/dist/templates/component-generator-standalone/files/docs-file.js.map +1 -1
  33. package/dist/templates/component-generator-standalone/files/index.js.map +1 -1
  34. package/dist/templates/component-generator-standalone/files/main-runtime.js.map +1 -1
  35. package/dist/templates/component-generator-standalone/index.js.map +1 -1
  36. package/dist/templates/starter/files/doc-file.js.map +1 -1
  37. package/dist/templates/starter/files/generate-files.js.map +1 -1
  38. package/dist/templates/starter/files/git-ignore-tpl.js.map +1 -1
  39. package/dist/templates/starter/files/index.js.map +1 -1
  40. package/dist/templates/starter/files/starter.js.map +1 -1
  41. package/dist/templates/starter/files/workspace-config-tpl.js.map +1 -1
  42. package/dist/templates/starter/index.js.map +1 -1
  43. package/dist/templates/starter-standalone/files/doc-file.js.map +1 -1
  44. package/dist/templates/starter-standalone/files/git-ignore-tpl.js.map +1 -1
  45. package/dist/templates/starter-standalone/files/index.js.map +1 -1
  46. package/dist/templates/starter-standalone/files/starter.js.map +1 -1
  47. package/dist/templates/starter-standalone/files/workspace-config-tpl.js.map +1 -1
  48. package/dist/templates/starter-standalone/index.js.map +1 -1
  49. package/dist/templates.cmd.js +2 -2
  50. package/dist/templates.cmd.js.map +1 -1
  51. package/dist/workspace-generator.js +2 -2
  52. package/dist/workspace-generator.js.map +1 -1
  53. package/package.json +18 -18
@@ -1 +1 @@
1
- {"version":3,"names":["_fsExtra","data","_interopRequireDefault","require","_camelcase","_path","_graphql","_cli","_workspace","_envs","_config","_workspaceConfigFiles","_component","_bit","_harmony","_git","_bitError","_aspectLoader","_tracker","_newComponentHelper","_lodash","_logger","_generator","_create","_templates","_generator2","_componentGenerator","_workspaceGenerator","_new","_templates2","_basic","_starter","_generator3","_workspacePathExists","obj","__esModule","default","ownKeys","e","r","t","Object","keys","getOwnPropertySymbols","o","filter","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","key","value","_toPropertyKey","configurable","writable","i","_toPrimitive","Symbol","toPrimitive","call","TypeError","String","Number","GeneratorMain","constructor","componentTemplateSlot","workspaceTemplateSlot","onComponentCreateSlot","config","workspace","envs","aspectLoader","newComponentHelper","componentAspect","tracker","logger","git","wsConfigFiles","id","template","shouldBeHidden","hidden","hideCoreTemplates","isCoreAspect","aspectId","name","description","registerComponentTemplate","templates","register","registerWorkspaceTemplate","registerOnComponentCreate","fn","listTemplates","aspect","isRunningInsideWorkspace","getAllComponentTemplatesDescriptorsFlattened","getAllWorkspaceTemplatesDescriptorFlattened","listComponentTemplates","opts","Boolean","getComponentTemplateByAspect","get","getComponentTemplate","fromEnv","listEnvComponentTemplates","found","findTemplateByAspectIdAndName","getAllComponentTemplatesFlattened","find","idWithoutVersion","split","getGlobalGeneratorEnvs","globalScopeHarmony","components","legacyGlobalsSnapshot","loadAspectsFromGlobalScope","remoteGenerator","GeneratorAspect","remoteEnvsAspect","EnvsAspect","fullAspectId","toString","restoreGlobalsFromSnapshot","findWorkspaceTemplateInGlobalScope","fromGlobal","searchRegisteredWorkspaceTemplate","workspaceTemplate","findTemplateInOtherWorkspace","workspacePath","BitError","harmony","loadBit","WorkspaceAspect","err","Error","aspectComponentId","resolveComponentId","loadAspects","aspectComponent","aspectFullId","generator","getWorkspaceTemplate","registeredTemplate","listEnvWorkspaceTemplates","getAllWorkspaceTemplatesFlattened","tpl","generateComponentTemplate","componentNames","templateName","options","OutsideWorkspaceError","namespace","componentConfigLoadingRegistry","ComponentConfig","templateWithId","componentIds","map","componentName","getNewComponentId","scope","componentNameSameAsTemplateName","componentId","compNamePascal","camelCase","pascalCase","envId","getEnvIdFromTemplateWithId","componentGenerator","ComponentGenerator","generate","force","envIdFromTemplate","env","parsedFromTemplate","ComponentID","tryFromString","resolvedId","resolveEnvIdWithPotentialVersionForConfig","fromString","envName","Promise","resolve","undefined","generateWorkspaceTemplate","workspaceName","currentDir","process","cwd","fs","existsSync","WorkspacePathExists","loadFrom","workspaceGenerator","WorkspaceGenerator","appName","envTemplates","listEnvComponentTemplateDescriptors","filtered","flattened","getTemplateDescriptor","templatesByAspects","toArray","flatMap","componentTemplates","workspaceTemplates","loadEnvs","getGeneratorStarters","envStarters","starter","compact","ids","envTemplate","toStringWithoutVersion","titlePrefix","getConfiguredEnvs","configEnvs","includes","globals","allIds","concat","getGeneratorTemplates","tpls","host","getHost","envsAspect","potentialEnvs","getEnvDefinition","aspectLoaded","aspects","provider","cli","graphql","loggerMain","createLogger","commands","CreateCmd","TemplatesCmd","NewCmd","generatorSchema","registerPlugins","StarterPlugin","registerService","GeneratorService","componentGeneratorTemplate","componentGeneratorTemplateStandalone","starterTemplate","starterTemplateStandalone","BasicWorkspaceStarter","exports","Slot","withType","CLIAspect","GraphqlAspect","AspectLoaderAspect","NewComponentHelperAspect","ComponentAspect","TrackerAspect","LoggerAspect","GitAspect","WorkspaceConfigFilesAspect","MainRuntime","addRuntime"],"sources":["generator.main.runtime.ts"],"sourcesContent":["import fs from 'fs-extra';\nimport camelCase from 'camelcase';\nimport { resolve } from 'path';\nimport { GraphqlAspect, GraphqlMain } from '@teambit/graphql';\nimport { CLIAspect, CLIMain, MainRuntime } from '@teambit/cli';\nimport { WorkspaceAspect, OutsideWorkspaceError, Workspace } from '@teambit/workspace';\nimport { EnvDefinition, EnvsAspect, EnvsMain } from '@teambit/envs';\nimport ComponentConfig from '@teambit/legacy/dist/consumer/config';\nimport { WorkspaceConfigFilesAspect, WorkspaceConfigFilesMain } from '@teambit/workspace-config-files';\nimport { ComponentAspect, ComponentID } from '@teambit/component';\nimport type { ComponentMain, Component } from '@teambit/component';\nimport { isCoreAspect, loadBit, restoreGlobalsFromSnapshot } from '@teambit/bit';\nimport { Slot, SlotRegistry } from '@teambit/harmony';\nimport { GitAspect, GitMain } from '@teambit/git';\nimport { BitError } from '@teambit/bit-error';\nimport { AspectLoaderAspect, AspectLoaderMain } from '@teambit/aspect-loader';\nimport { TrackerAspect, TrackerMain } from '@teambit/tracker';\nimport { NewComponentHelperAspect, NewComponentHelperMain } from '@teambit/new-component-helper';\nimport { compact } from 'lodash';\nimport { Logger, LoggerAspect, LoggerMain } from '@teambit/logger';\nimport { ComponentTemplate } from './component-template';\nimport { GeneratorAspect } from './generator.aspect';\nimport { CreateCmd, CreateOptions } from './create.cmd';\nimport { TemplatesCmd } from './templates.cmd';\nimport { generatorSchema } from './generator.graphql';\nimport { ComponentGenerator, GenerateResult, OnComponentCreateFn } from './component-generator';\nimport { WorkspaceGenerator } from './workspace-generator';\nimport { WorkspaceTemplate } from './workspace-template';\nimport { NewCmd, NewOptions } from './new.cmd';\nimport {\n componentGeneratorTemplate,\n componentGeneratorTemplateStandalone,\n starterTemplate,\n starterTemplateStandalone,\n} from './templates';\nimport { BasicWorkspaceStarter } from './templates/basic';\nimport { StarterPlugin } from './starter.plugin';\nimport { GeneratorService } from './generator.service';\nimport { WorkspacePathExists } from './exceptions/workspace-path-exists';\n\nexport type ComponentTemplateSlot = SlotRegistry<ComponentTemplate[]>;\nexport type WorkspaceTemplateSlot = SlotRegistry<WorkspaceTemplate[]>;\nexport type OnComponentCreateSlot = SlotRegistry<OnComponentCreateFn>;\n\nexport type TemplateDescriptor = {\n aspectId: string;\n titlePrefix?: string;\n name: string;\n description?: string;\n hidden?: boolean;\n};\n\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 onComponentCreateSlot: OnComponentCreateSlot,\n private config: GeneratorConfig,\n private workspace: Workspace,\n private envs: EnvsMain,\n private aspectLoader: AspectLoaderMain,\n private newComponentHelper: NewComponentHelperMain,\n private componentAspect: ComponentMain,\n private tracker: TrackerMain,\n private logger: Logger,\n private git: GitMain,\n private wsConfigFiles: WorkspaceConfigFilesMain\n ) {}\n\n /**\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 workspace starter.\n */\n registerWorkspaceTemplate(templates: WorkspaceTemplate[]) {\n this.workspaceTemplateSlot.register(templates);\n return this;\n }\n\n registerOnComponentCreate(fn: OnComponentCreateFn) {\n this.onComponentCreateSlot.register(fn);\n return this;\n }\n\n /**\n * list all component templates registered in the workspace or workspace templates in case the\n * workspace is not available\n */\n async listTemplates({ aspect }: { aspect?: string } = {}): Promise<TemplateDescriptor[]> {\n if (this.isRunningInsideWorkspace()) {\n return this.getAllComponentTemplatesDescriptorsFlattened(aspect);\n }\n return this.getAllWorkspaceTemplatesDescriptorFlattened(aspect);\n }\n\n private getTemplateDescriptor = ({ id, template }: AnyTemplateWithId): TemplateDescriptor => {\n const shouldBeHidden = () => {\n if (template.hidden) return true;\n if (this.config.hideCoreTemplates && isCoreAspect(id)) return true;\n return false;\n };\n return {\n aspectId: id,\n name: template.name,\n description: template.description,\n hidden: shouldBeHidden(),\n };\n };\n\n /**\n * @deprecated use this.listTemplates()\n */\n async listComponentTemplates(opts: { aspect?: string }): Promise<TemplateDescriptor[]> {\n return this.listTemplates(opts);\n }\n\n isRunningInsideWorkspace(): boolean {\n return Boolean(this.workspace);\n }\n\n /**\n * get all component templates registered by a specific aspect ID.\n */\n getComponentTemplateByAspect(aspectId: string): ComponentTemplate[] {\n return this.componentTemplateSlot.get(aspectId) || [];\n }\n\n /**\n * returns a specific component template.\n */\n async getComponentTemplate(name: string, aspectId?: string): Promise<ComponentTemplateWithId | undefined> {\n const fromEnv = await this.listEnvComponentTemplates([], aspectId);\n if (fromEnv && fromEnv.length) {\n const found = this.findTemplateByAspectIdAndName<ComponentTemplateWithId>(aspectId, name, fromEnv);\n if (found) return found;\n }\n // fallback to aspect id not from env if provided\n const templates = await this.getAllComponentTemplatesFlattened();\n const found = this.findTemplateByAspectIdAndName<ComponentTemplateWithId>(aspectId, name, templates);\n return found;\n }\n\n private findTemplateByAspectIdAndName<T>(\n aspectId: string | undefined,\n name: string,\n templates: Array<T>\n ): T | undefined {\n // @ts-ignore (should set T to be extends ComponentTemplateWithId or WorkspaceTemplateWithId)\n const found = templates.find(({ id, template }) => {\n // When doing something like:\n // bit create react-env my-env --aspect teambit.react/react-env\n // we will get the aspectId without version\n // but the env might be loaded from the global scope then it will be with a version\n // so it won't found if we don't look for it like this\n const idWithoutVersion = id.split('@')[0];\n if (aspectId && id !== aspectId && idWithoutVersion !== aspectId) return false;\n return template.name === name;\n });\n return found;\n }\n\n /**\n * Get the generator aspect and the envs aspect from an harmony instance of the global scope\n */\n private async getGlobalGeneratorEnvs(\n aspectId: string\n ): Promise<{ remoteGenerator: GeneratorMain; fullAspectId: string; remoteEnvsAspect: EnvsMain; aspect: any }> {\n const { globalScopeHarmony, components, legacyGlobalsSnapshot } =\n 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 restoreGlobalsFromSnapshot(legacyGlobalsSnapshot);\n\n return { remoteGenerator, fullAspectId, remoteEnvsAspect, aspect };\n }\n\n /**\n * in the case the aspect-id is given and this aspect doesn't exist locally, import it to the\n * global scope and load it from the capsule\n */\n async findWorkspaceTemplateInGlobalScope(\n aspectId: string,\n name?: string\n ): Promise<{ workspaceTemplate?: WorkspaceTemplate; aspect?: Component }> {\n const { remoteGenerator, fullAspectId, remoteEnvsAspect, aspect } = await this.getGlobalGeneratorEnvs(aspectId);\n const fromGlobal = await remoteGenerator.searchRegisteredWorkspaceTemplate.call(\n remoteGenerator,\n name,\n fullAspectId,\n remoteEnvsAspect\n );\n return { workspaceTemplate: fromGlobal, aspect };\n }\n\n async findTemplateInOtherWorkspace(workspacePath: string, name: string, aspectId?: string) {\n if (!aspectId)\n throw new BitError(\n `to load a template from a different workspace, please provide the aspect-id using --aspect flag`\n );\n const harmony = await loadBit(workspacePath);\n let workspace: Workspace;\n try {\n workspace = harmony.get<Workspace>(WorkspaceAspect.id);\n } catch (err: any) {\n throw new Error(`fatal: \"${workspacePath}\" is not a valid Bit workspace, make sure the path is correct`);\n }\n const aspectComponentId = await workspace.resolveComponentId(aspectId);\n await workspace.loadAspects([aspectId], true);\n const aspectComponent = await workspace.get(aspectComponentId);\n const aspectFullId = aspectComponentId.toString();\n const generator = harmony.get<GeneratorMain>(GeneratorAspect.id);\n const workspaceTemplate = await generator.searchRegisteredWorkspaceTemplate(name, aspectFullId);\n return { workspaceTemplate, aspect: aspectComponent };\n }\n\n /**\n * returns a specific workspace template.\n */\n async getWorkspaceTemplate(\n name: string,\n aspectId?: string\n ): Promise<{ workspaceTemplate: WorkspaceTemplate; aspect?: Component }> {\n const registeredTemplate = await this.searchRegisteredWorkspaceTemplate(name, aspectId);\n if (registeredTemplate) {\n return { workspaceTemplate: registeredTemplate };\n }\n if (!aspectId) {\n throw new BitError(\n `template \"${name}\" was not found, please use --aspect flag to load from an env i.e --aspect teambit.react/react-env\\n Learn more about component templates here: https://bit.dev/reference/generator/create-generator`\n );\n }\n\n const { workspaceTemplate, aspect } = await this.findWorkspaceTemplateInGlobalScope(aspectId, name);\n if (workspaceTemplate) {\n return { workspaceTemplate, aspect };\n }\n throw new BitError(\n `template \"${name}\" was not found, please use --aspect flag to load from an env i.e --aspect teambit.react/react-env\\n Learn more about component templates here: https://bit.dev/reference/generator/create-generator`\n );\n }\n\n async searchRegisteredWorkspaceTemplate(\n name?: string,\n aspectId?: string,\n remoteEnvsAspect?: EnvsMain\n ): Promise<WorkspaceTemplate | undefined> {\n let fromEnv;\n\n if (aspectId) {\n fromEnv = await this.listEnvWorkspaceTemplates(aspectId, remoteEnvsAspect);\n }\n const templates = fromEnv && fromEnv.length ? fromEnv : this.getAllWorkspaceTemplatesFlattened();\n const found = templates.find(({ id, template: tpl }) => {\n if (aspectId && name) return aspectId === id && name === tpl.name;\n if (aspectId) return aspectId === id;\n if (name) return name === tpl.name;\n throw new Error(`searchRegisteredWorkspaceTemplate expects to get \"name\" or \"aspectId\"`);\n });\n\n return found?.template;\n }\n\n async generateComponentTemplate(\n componentNames: string[],\n templateName: string,\n options: Partial<CreateOptions>\n ): Promise<GenerateResult[]> {\n if (!this.workspace) throw new OutsideWorkspaceError();\n await this.loadAspects();\n const { namespace, aspect } = options;\n\n const componentConfigLoadingRegistry = ComponentConfig.componentConfigLoadingRegistry;\n\n const templateWithId = await this.getComponentTemplate(templateName, aspect);\n\n ComponentConfig.componentConfigLoadingRegistry = componentConfigLoadingRegistry;\n\n if (!templateWithId) throw new BitError(`template \"${templateName}\" was not found`);\n\n const componentIds = componentNames.map((componentName) =>\n this.newComponentHelper.getNewComponentId(componentName, namespace, options.scope)\n );\n\n const componentNameSameAsTemplateName = componentIds.find((componentId) => componentId.name === templateName);\n if (componentNameSameAsTemplateName) {\n const compNamePascal = camelCase(templateName, { pascalCase: true });\n throw new BitError(\n `unable to create a component with the same name as the template \"${templateName}\", please use a different name.\nthe reason is that after refactoring, the code will have this invalid class: \"class ${compNamePascal} extends ${compNamePascal} {}\"`\n );\n }\n\n const envId = await this.getEnvIdFromTemplateWithId(templateWithId);\n\n const componentGenerator = new ComponentGenerator(\n this.workspace,\n componentIds,\n options,\n templateWithId.template,\n this.envs,\n this.newComponentHelper,\n this.tracker,\n this.wsConfigFiles,\n this.logger,\n this.onComponentCreateSlot,\n templateWithId.id,\n envId\n );\n return componentGenerator.generate(options.force);\n }\n\n private async getEnvIdFromTemplateWithId(templateWithId: ComponentTemplateWithId): Promise<ComponentID | undefined> {\n const envIdFromTemplate = templateWithId.template.env;\n if (envIdFromTemplate) {\n const parsedFromTemplate = ComponentID.tryFromString(envIdFromTemplate);\n if (!parsedFromTemplate) {\n throw new BitError(\n `Error: unable to parse envId from template. template name: ${templateWithId.template.name}, envId: ${envIdFromTemplate}`\n );\n }\n const resolvedId = await this.workspace.resolveEnvIdWithPotentialVersionForConfig(parsedFromTemplate);\n return ComponentID.fromString(resolvedId);\n }\n if (templateWithId.envName) {\n return ComponentID.fromString(templateWithId.id);\n }\n return Promise.resolve(undefined);\n }\n\n async generateWorkspaceTemplate(\n workspaceName: string,\n templateName: string,\n options: NewOptions & { aspect?: string; currentDir?: boolean }\n ): Promise<GenerateWorkspaceTemplateResult> {\n if (this.workspace) {\n throw new BitError('Error: unable to generate a new workspace inside of an existing workspace');\n }\n const workspacePath = options.currentDir ? process.cwd() : resolve(workspaceName);\n if (!options.currentDir && fs.existsSync(workspacePath)) {\n throw new WorkspacePathExists(workspacePath);\n }\n const { aspect: aspectId, loadFrom } = options;\n const { workspaceTemplate, aspect } = loadFrom\n ? await this.findTemplateInOtherWorkspace(loadFrom, templateName, aspectId)\n : await this.getWorkspaceTemplate(templateName, aspectId);\n\n if (!workspaceTemplate) throw new BitError(`template \"${templateName}\" was not found`);\n const workspaceGenerator = new WorkspaceGenerator(workspaceName, workspacePath, options, workspaceTemplate, aspect);\n await workspaceGenerator.generate();\n return { workspacePath, appName: workspaceTemplate.appName };\n }\n\n private async getAllComponentTemplatesDescriptorsFlattened(aspectId?: string): Promise<Array<TemplateDescriptor>> {\n const envTemplates = await this.listEnvComponentTemplateDescriptors([], aspectId);\n if (envTemplates && envTemplates.length) {\n if (!aspectId) return envTemplates;\n const filtered = envTemplates.filter((template) => template.aspectId === aspectId);\n if (filtered.length) return filtered;\n }\n\n const flattened = this.getAllComponentTemplatesFlattened();\n const filtered = aspectId ? flattened.filter((template) => template.id === aspectId) : flattened;\n return filtered.map((template) => this.getTemplateDescriptor(template));\n }\n\n private getAllComponentTemplatesFlattened(): Array<{ id: string; template: ComponentTemplate }> {\n const templatesByAspects = this.componentTemplateSlot.toArray();\n const flattened = templatesByAspects.flatMap(([id, componentTemplates]) => {\n return componentTemplates.map((template) => ({\n id,\n template,\n }));\n });\n return flattened;\n }\n\n private async getAllWorkspaceTemplatesDescriptorFlattened(aspectId?: string): Promise<Array<TemplateDescriptor>> {\n let envTemplates;\n if (aspectId) {\n envTemplates = await this.listEnvWorkspaceTemplates(aspectId);\n }\n\n const templates = envTemplates && envTemplates.length ? envTemplates : this.getAllWorkspaceTemplatesFlattened();\n return templates.map((template) => this.getTemplateDescriptor(template));\n }\n\n private getAllWorkspaceTemplatesFlattened(): Array<{ id: string; template: WorkspaceTemplate }> {\n const templatesByAspects = this.workspaceTemplateSlot.toArray();\n return templatesByAspects.flatMap(([id, workspaceTemplates]) => {\n return workspaceTemplates.map((template) => ({\n id,\n template,\n }));\n });\n }\n\n /**\n * list all starter templates registered by an env.\n */\n async listEnvWorkspaceTemplates(envId: string, remoteEnvsAspect?: EnvsMain): Promise<Array<WorkspaceTemplateWithId>> {\n const envs = await this.loadEnvs([envId], remoteEnvsAspect);\n const workspaceTemplates = envs.flatMap((env) => {\n if (!env.env.getGeneratorStarters) return undefined;\n const envStarters = env.env.getGeneratorStarters();\n return envStarters.map((starter) => {\n const componentId = ComponentID.fromString(env.id);\n return {\n id: componentId.toString(),\n envName: env.name,\n template: starter,\n };\n });\n });\n\n return compact(workspaceTemplates);\n }\n\n /**\n * list all component templates registered by an env.\n */\n async listEnvComponentTemplateDescriptors(ids: string[] = [], aspectId?: string): Promise<TemplateDescriptor[]> {\n const envTemplates = await this.listEnvComponentTemplates(ids, aspectId);\n const templates: TemplateDescriptor[] = envTemplates.map((envTemplate) => {\n const componentId = ComponentID.fromString(envTemplate.id);\n return {\n aspectId: componentId.toStringWithoutVersion(),\n titlePrefix: envTemplate.envName,\n ...envTemplate.template,\n };\n });\n\n return templates;\n }\n\n getConfiguredEnvs(): string[] {\n return this.config.envs ?? [];\n }\n\n async listEnvComponentTemplates(ids: string[] = [], aspectId?: string): Promise<Array<ComponentTemplateWithId>> {\n const configEnvs = this.config.envs || [];\n let remoteEnvsAspect;\n let fullAspectId;\n if (aspectId && !configEnvs.includes(aspectId)) {\n const globals = await this.getGlobalGeneratorEnvs(aspectId);\n remoteEnvsAspect = globals.remoteEnvsAspect;\n fullAspectId = globals.fullAspectId;\n }\n const allIds = configEnvs?.concat(ids).concat([aspectId, fullAspectId]).filter(Boolean);\n const envs = await this.loadEnvs(allIds, remoteEnvsAspect);\n const templates = envs.flatMap((env) => {\n if (!env.env.getGeneratorTemplates) return [];\n const tpls = env.env.getGeneratorTemplates() || [];\n const componentId = ComponentID.fromString(env.id);\n return tpls.map((template) => {\n return {\n id: componentId.toString(),\n envName: env.name,\n template,\n };\n });\n });\n\n return templates;\n }\n\n async loadEnvs(ids: string[] = this.config.envs || [], remoteEnvsAspect?: EnvsMain): Promise<EnvDefinition[]> {\n // In case we have remoteEnvsAspect it means that we are running from the global scope\n // in that case the aspect / env were already loaded before to the global scope harmony instance\n // so no reason to load it here\n if (!remoteEnvsAspect) {\n const host = this.componentAspect.getHost();\n if (!host) return [];\n await host.loadAspects(ids);\n }\n\n const envsAspect = remoteEnvsAspect || this.envs;\n\n const potentialEnvs = ids.map((id) => {\n const componentId = ComponentID.fromString(id);\n return envsAspect.getEnvDefinition(componentId);\n });\n\n return compact(potentialEnvs);\n }\n\n async loadAspects() {\n if (this.aspectLoaded) return;\n await this.workspace.loadAspects(this.config.aspects);\n this.aspectLoaded = true;\n }\n\n static slots = [\n Slot.withType<ComponentTemplate[]>(),\n Slot.withType<WorkspaceTemplate[]>(),\n Slot.withType<OnComponentCreateFn>(),\n ];\n\n static dependencies = [\n WorkspaceAspect,\n CLIAspect,\n GraphqlAspect,\n EnvsAspect,\n AspectLoaderAspect,\n NewComponentHelperAspect,\n ComponentAspect,\n TrackerAspect,\n LoggerAspect,\n GitAspect,\n WorkspaceConfigFilesAspect,\n ];\n\n static runtime = MainRuntime;\n\n static async provider(\n [\n workspace,\n cli,\n graphql,\n envs,\n aspectLoader,\n newComponentHelper,\n componentAspect,\n tracker,\n loggerMain,\n git,\n wsConfigFiles,\n ]: [\n Workspace,\n CLIMain,\n GraphqlMain,\n EnvsMain,\n AspectLoaderMain,\n NewComponentHelperMain,\n ComponentMain,\n TrackerMain,\n LoggerMain,\n GitMain,\n WorkspaceConfigFilesMain\n ],\n config: GeneratorConfig,\n [componentTemplateSlot, workspaceTemplateSlot, onComponentCreateSlot]: [\n ComponentTemplateSlot,\n WorkspaceTemplateSlot,\n OnComponentCreateSlot\n ]\n ) {\n const logger = loggerMain.createLogger(GeneratorAspect.id);\n const generator = new GeneratorMain(\n componentTemplateSlot,\n workspaceTemplateSlot,\n onComponentCreateSlot,\n config,\n workspace,\n envs,\n aspectLoader,\n newComponentHelper,\n componentAspect,\n tracker,\n logger,\n git,\n wsConfigFiles\n );\n const commands = [new CreateCmd(generator), new TemplatesCmd(generator), new NewCmd(generator)];\n cli.register(...commands);\n graphql.register(generatorSchema(generator));\n aspectLoader.registerPlugins([new StarterPlugin(generator)]);\n envs.registerService(new GeneratorService());\n\n if (generator)\n generator.registerComponentTemplate([\n componentGeneratorTemplate,\n componentGeneratorTemplateStandalone,\n starterTemplate,\n starterTemplateStandalone,\n ]);\n generator.registerWorkspaceTemplate([BasicWorkspaceStarter]);\n\n return generator;\n }\n}\n\nGeneratorAspect.addRuntime(GeneratorMain);\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_fsExtra","data","_interopRequireDefault","require","_camelcase","_path","_graphql","_cli","_workspace","_envs","_config","_workspaceConfigFiles","_component","_bit","_harmony","_git","_bitError","_aspectLoader","_tracker","_newComponentHelper","_lodash","_logger","_generator","_create","_templates","_generator2","_componentGenerator","_workspaceGenerator","_new","_templates2","_basic","_starter","_generator3","_workspacePathExists","e","__esModule","default","ownKeys","r","t","Object","keys","getOwnPropertySymbols","o","filter","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","_toPropertyKey","value","configurable","writable","i","_toPrimitive","Symbol","toPrimitive","call","TypeError","String","Number","GeneratorMain","constructor","componentTemplateSlot","workspaceTemplateSlot","onComponentCreateSlot","config","workspace","envs","aspectLoader","newComponentHelper","componentAspect","tracker","logger","git","wsConfigFiles","id","template","shouldBeHidden","hidden","hideCoreTemplates","isCoreAspect","aspectId","name","description","registerComponentTemplate","templates","register","registerWorkspaceTemplate","registerOnComponentCreate","fn","listTemplates","aspect","isRunningInsideWorkspace","getAllComponentTemplatesDescriptorsFlattened","getAllWorkspaceTemplatesDescriptorFlattened","listComponentTemplates","opts","Boolean","getComponentTemplateByAspect","get","getComponentTemplate","fromEnv","listEnvComponentTemplates","found","findTemplateByAspectIdAndName","getAllComponentTemplatesFlattened","find","idWithoutVersion","split","getGlobalGeneratorEnvs","globalScopeHarmony","components","legacyGlobalsSnapshot","loadAspectsFromGlobalScope","remoteGenerator","GeneratorAspect","remoteEnvsAspect","EnvsAspect","fullAspectId","toString","restoreGlobalsFromSnapshot","findWorkspaceTemplateInGlobalScope","fromGlobal","searchRegisteredWorkspaceTemplate","workspaceTemplate","findTemplateInOtherWorkspace","workspacePath","BitError","harmony","loadBit","WorkspaceAspect","err","Error","aspectComponentId","resolveComponentId","loadAspects","aspectComponent","aspectFullId","generator","getWorkspaceTemplate","registeredTemplate","listEnvWorkspaceTemplates","getAllWorkspaceTemplatesFlattened","tpl","generateComponentTemplate","componentNames","templateName","options","OutsideWorkspaceError","namespace","componentConfigLoadingRegistry","ComponentConfig","templateWithId","componentIds","map","componentName","getNewComponentId","scope","componentNameSameAsTemplateName","componentId","compNamePascal","camelCase","pascalCase","envId","getEnvIdFromTemplateWithId","componentGenerator","ComponentGenerator","generate","force","envIdFromTemplate","env","parsedFromTemplate","ComponentID","tryFromString","resolvedId","resolveEnvIdWithPotentialVersionForConfig","fromString","envName","Promise","resolve","undefined","generateWorkspaceTemplate","workspaceName","currentDir","process","cwd","fs","existsSync","WorkspacePathExists","loadFrom","workspaceGenerator","WorkspaceGenerator","appName","envTemplates","listEnvComponentTemplateDescriptors","filtered","flattened","getTemplateDescriptor","templatesByAspects","toArray","flatMap","componentTemplates","workspaceTemplates","loadEnvs","getGeneratorStarters","envStarters","starter","compact","ids","envTemplate","toStringWithoutVersion","titlePrefix","getConfiguredEnvs","configEnvs","includes","globals","allIds","concat","getGeneratorTemplates","tpls","host","getHost","envsAspect","potentialEnvs","getEnvDefinition","aspectLoaded","aspects","provider","cli","graphql","loggerMain","createLogger","commands","CreateCmd","TemplatesCmd","NewCmd","generatorSchema","registerPlugins","StarterPlugin","registerService","GeneratorService","componentGeneratorTemplate","componentGeneratorTemplateStandalone","starterTemplate","starterTemplateStandalone","BasicWorkspaceStarter","exports","Slot","withType","CLIAspect","GraphqlAspect","AspectLoaderAspect","NewComponentHelperAspect","ComponentAspect","TrackerAspect","LoggerAspect","GitAspect","WorkspaceConfigFilesAspect","MainRuntime","addRuntime"],"sources":["generator.main.runtime.ts"],"sourcesContent":["import fs from 'fs-extra';\nimport camelCase from 'camelcase';\nimport { resolve } from 'path';\nimport { GraphqlAspect, GraphqlMain } from '@teambit/graphql';\nimport { CLIAspect, CLIMain, MainRuntime } from '@teambit/cli';\nimport { WorkspaceAspect, OutsideWorkspaceError, Workspace } from '@teambit/workspace';\nimport { EnvDefinition, EnvsAspect, EnvsMain } from '@teambit/envs';\nimport ComponentConfig from '@teambit/legacy/dist/consumer/config';\nimport { WorkspaceConfigFilesAspect, WorkspaceConfigFilesMain } from '@teambit/workspace-config-files';\nimport { ComponentAspect, ComponentID } from '@teambit/component';\nimport type { ComponentMain, Component } from '@teambit/component';\nimport { isCoreAspect, loadBit, restoreGlobalsFromSnapshot } from '@teambit/bit';\nimport { Slot, SlotRegistry } from '@teambit/harmony';\nimport { GitAspect, GitMain } from '@teambit/git';\nimport { BitError } from '@teambit/bit-error';\nimport { AspectLoaderAspect, AspectLoaderMain } from '@teambit/aspect-loader';\nimport { TrackerAspect, TrackerMain } from '@teambit/tracker';\nimport { NewComponentHelperAspect, NewComponentHelperMain } from '@teambit/new-component-helper';\nimport { compact } from 'lodash';\nimport { Logger, LoggerAspect, LoggerMain } from '@teambit/logger';\nimport { ComponentTemplate } from './component-template';\nimport { GeneratorAspect } from './generator.aspect';\nimport { CreateCmd, CreateOptions } from './create.cmd';\nimport { TemplatesCmd } from './templates.cmd';\nimport { generatorSchema } from './generator.graphql';\nimport { ComponentGenerator, GenerateResult, OnComponentCreateFn } from './component-generator';\nimport { WorkspaceGenerator } from './workspace-generator';\nimport { WorkspaceTemplate } from './workspace-template';\nimport { NewCmd, NewOptions } from './new.cmd';\nimport {\n componentGeneratorTemplate,\n componentGeneratorTemplateStandalone,\n starterTemplate,\n starterTemplateStandalone,\n} from './templates';\nimport { BasicWorkspaceStarter } from './templates/basic';\nimport { StarterPlugin } from './starter.plugin';\nimport { GeneratorService } from './generator.service';\nimport { WorkspacePathExists } from './exceptions/workspace-path-exists';\n\nexport type ComponentTemplateSlot = SlotRegistry<ComponentTemplate[]>;\nexport type WorkspaceTemplateSlot = SlotRegistry<WorkspaceTemplate[]>;\nexport type OnComponentCreateSlot = SlotRegistry<OnComponentCreateFn>;\n\nexport type TemplateDescriptor = {\n aspectId: string;\n titlePrefix?: string;\n name: string;\n description?: string;\n hidden?: boolean;\n};\n\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 onComponentCreateSlot: OnComponentCreateSlot,\n private config: GeneratorConfig,\n private workspace: Workspace,\n private envs: EnvsMain,\n private aspectLoader: AspectLoaderMain,\n private newComponentHelper: NewComponentHelperMain,\n private componentAspect: ComponentMain,\n private tracker: TrackerMain,\n private logger: Logger,\n private git: GitMain,\n private wsConfigFiles: WorkspaceConfigFilesMain\n ) {}\n\n /**\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 workspace starter.\n */\n registerWorkspaceTemplate(templates: WorkspaceTemplate[]) {\n this.workspaceTemplateSlot.register(templates);\n return this;\n }\n\n registerOnComponentCreate(fn: OnComponentCreateFn) {\n this.onComponentCreateSlot.register(fn);\n return this;\n }\n\n /**\n * list all component templates registered in the workspace or workspace templates in case the\n * workspace is not available\n */\n async listTemplates({ aspect }: { aspect?: string } = {}): Promise<TemplateDescriptor[]> {\n if (this.isRunningInsideWorkspace()) {\n return this.getAllComponentTemplatesDescriptorsFlattened(aspect);\n }\n return this.getAllWorkspaceTemplatesDescriptorFlattened(aspect);\n }\n\n private getTemplateDescriptor = ({ id, template }: AnyTemplateWithId): TemplateDescriptor => {\n const shouldBeHidden = () => {\n if (template.hidden) return true;\n if (this.config.hideCoreTemplates && isCoreAspect(id)) return true;\n return false;\n };\n return {\n aspectId: id,\n name: template.name,\n description: template.description,\n hidden: shouldBeHidden(),\n };\n };\n\n /**\n * @deprecated use this.listTemplates()\n */\n async listComponentTemplates(opts: { aspect?: string }): Promise<TemplateDescriptor[]> {\n return this.listTemplates(opts);\n }\n\n isRunningInsideWorkspace(): boolean {\n return Boolean(this.workspace);\n }\n\n /**\n * get all component templates registered by a specific aspect ID.\n */\n getComponentTemplateByAspect(aspectId: string): ComponentTemplate[] {\n return this.componentTemplateSlot.get(aspectId) || [];\n }\n\n /**\n * returns a specific component template.\n */\n async getComponentTemplate(name: string, aspectId?: string): Promise<ComponentTemplateWithId | undefined> {\n const fromEnv = await this.listEnvComponentTemplates([], aspectId);\n if (fromEnv && fromEnv.length) {\n const found = this.findTemplateByAspectIdAndName<ComponentTemplateWithId>(aspectId, name, fromEnv);\n if (found) return found;\n }\n // fallback to aspect id not from env if provided\n const templates = await this.getAllComponentTemplatesFlattened();\n const found = this.findTemplateByAspectIdAndName<ComponentTemplateWithId>(aspectId, name, templates);\n return found;\n }\n\n private findTemplateByAspectIdAndName<T>(\n aspectId: string | undefined,\n name: string,\n templates: Array<T>\n ): T | undefined {\n // @ts-ignore (should set T to be extends ComponentTemplateWithId or WorkspaceTemplateWithId)\n const found = templates.find(({ id, template }) => {\n // When doing something like:\n // bit create react-env my-env --aspect teambit.react/react-env\n // we will get the aspectId without version\n // but the env might be loaded from the global scope then it will be with a version\n // so it won't found if we don't look for it like this\n const idWithoutVersion = id.split('@')[0];\n if (aspectId && id !== aspectId && idWithoutVersion !== aspectId) return false;\n return template.name === name;\n });\n return found;\n }\n\n /**\n * Get the generator aspect and the envs aspect from an harmony instance of the global scope\n */\n private async getGlobalGeneratorEnvs(\n aspectId: string\n ): Promise<{ remoteGenerator: GeneratorMain; fullAspectId: string; remoteEnvsAspect: EnvsMain; aspect: any }> {\n const { globalScopeHarmony, components, legacyGlobalsSnapshot } =\n 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 restoreGlobalsFromSnapshot(legacyGlobalsSnapshot);\n\n return { remoteGenerator, fullAspectId, remoteEnvsAspect, aspect };\n }\n\n /**\n * in the case the aspect-id is given and this aspect doesn't exist locally, import it to the\n * global scope and load it from the capsule\n */\n async findWorkspaceTemplateInGlobalScope(\n aspectId: string,\n name?: string\n ): Promise<{ workspaceTemplate?: WorkspaceTemplate; aspect?: Component }> {\n const { remoteGenerator, fullAspectId, remoteEnvsAspect, aspect } = await this.getGlobalGeneratorEnvs(aspectId);\n const fromGlobal = await remoteGenerator.searchRegisteredWorkspaceTemplate.call(\n remoteGenerator,\n name,\n fullAspectId,\n remoteEnvsAspect\n );\n return { workspaceTemplate: fromGlobal, aspect };\n }\n\n async findTemplateInOtherWorkspace(workspacePath: string, name: string, aspectId?: string) {\n if (!aspectId)\n throw new BitError(\n `to load a template from a different workspace, please provide the aspect-id using --aspect flag`\n );\n const harmony = await loadBit(workspacePath);\n let workspace: Workspace;\n try {\n workspace = harmony.get<Workspace>(WorkspaceAspect.id);\n } catch (err: any) {\n throw new Error(`fatal: \"${workspacePath}\" is not a valid Bit workspace, make sure the path is correct`);\n }\n const aspectComponentId = await workspace.resolveComponentId(aspectId);\n await workspace.loadAspects([aspectId], true);\n const aspectComponent = await workspace.get(aspectComponentId);\n const aspectFullId = aspectComponentId.toString();\n const generator = harmony.get<GeneratorMain>(GeneratorAspect.id);\n const workspaceTemplate = await generator.searchRegisteredWorkspaceTemplate(name, aspectFullId);\n return { workspaceTemplate, aspect: aspectComponent };\n }\n\n /**\n * returns a specific workspace template.\n */\n async getWorkspaceTemplate(\n name: string,\n aspectId?: string\n ): Promise<{ workspaceTemplate: WorkspaceTemplate; aspect?: Component }> {\n const registeredTemplate = await this.searchRegisteredWorkspaceTemplate(name, aspectId);\n if (registeredTemplate) {\n return { workspaceTemplate: registeredTemplate };\n }\n if (!aspectId) {\n throw new BitError(\n `template \"${name}\" was not found, please use --aspect flag to load from an env i.e --aspect teambit.react/react-env\\n Learn more about component templates here: https://bit.dev/reference/generator/create-generator`\n );\n }\n\n const { workspaceTemplate, aspect } = await this.findWorkspaceTemplateInGlobalScope(aspectId, name);\n if (workspaceTemplate) {\n return { workspaceTemplate, aspect };\n }\n throw new BitError(\n `template \"${name}\" was not found, please use --aspect flag to load from an env i.e --aspect teambit.react/react-env\\n Learn more about component templates here: https://bit.dev/reference/generator/create-generator`\n );\n }\n\n async searchRegisteredWorkspaceTemplate(\n name?: string,\n aspectId?: string,\n remoteEnvsAspect?: EnvsMain\n ): Promise<WorkspaceTemplate | undefined> {\n let fromEnv;\n\n if (aspectId) {\n fromEnv = await this.listEnvWorkspaceTemplates(aspectId, remoteEnvsAspect);\n }\n const templates = fromEnv && fromEnv.length ? fromEnv : this.getAllWorkspaceTemplatesFlattened();\n const found = templates.find(({ id, template: tpl }) => {\n if (aspectId && name) return aspectId === id && name === tpl.name;\n if (aspectId) return aspectId === id;\n if (name) return name === tpl.name;\n throw new Error(`searchRegisteredWorkspaceTemplate expects to get \"name\" or \"aspectId\"`);\n });\n\n return found?.template;\n }\n\n async generateComponentTemplate(\n componentNames: string[],\n templateName: string,\n options: Partial<CreateOptions>\n ): Promise<GenerateResult[]> {\n if (!this.workspace) throw new OutsideWorkspaceError();\n await this.loadAspects();\n const { namespace, aspect } = options;\n\n const componentConfigLoadingRegistry = ComponentConfig.componentConfigLoadingRegistry;\n\n const templateWithId = await this.getComponentTemplate(templateName, aspect);\n\n ComponentConfig.componentConfigLoadingRegistry = componentConfigLoadingRegistry;\n\n if (!templateWithId) throw new BitError(`template \"${templateName}\" was not found`);\n\n const componentIds = componentNames.map((componentName) =>\n this.newComponentHelper.getNewComponentId(componentName, namespace, options.scope)\n );\n\n const componentNameSameAsTemplateName = componentIds.find((componentId) => componentId.name === templateName);\n if (componentNameSameAsTemplateName) {\n const compNamePascal = camelCase(templateName, { pascalCase: true });\n throw new BitError(\n `unable to create a component with the same name as the template \"${templateName}\", please use a different name.\nthe reason is that after refactoring, the code will have this invalid class: \"class ${compNamePascal} extends ${compNamePascal} {}\"`\n );\n }\n\n const envId = await this.getEnvIdFromTemplateWithId(templateWithId);\n\n const componentGenerator = new ComponentGenerator(\n this.workspace,\n componentIds,\n options,\n templateWithId.template,\n this.envs,\n this.newComponentHelper,\n this.tracker,\n this.wsConfigFiles,\n this.logger,\n this.onComponentCreateSlot,\n templateWithId.id,\n envId\n );\n return componentGenerator.generate(options.force);\n }\n\n private async getEnvIdFromTemplateWithId(templateWithId: ComponentTemplateWithId): Promise<ComponentID | undefined> {\n const envIdFromTemplate = templateWithId.template.env;\n if (envIdFromTemplate) {\n const parsedFromTemplate = ComponentID.tryFromString(envIdFromTemplate);\n if (!parsedFromTemplate) {\n throw new BitError(\n `Error: unable to parse envId from template. template name: ${templateWithId.template.name}, envId: ${envIdFromTemplate}`\n );\n }\n const resolvedId = await this.workspace.resolveEnvIdWithPotentialVersionForConfig(parsedFromTemplate);\n return ComponentID.fromString(resolvedId);\n }\n if (templateWithId.envName) {\n return ComponentID.fromString(templateWithId.id);\n }\n return Promise.resolve(undefined);\n }\n\n async generateWorkspaceTemplate(\n workspaceName: string,\n templateName: string,\n options: NewOptions & { aspect?: string; currentDir?: boolean }\n ): Promise<GenerateWorkspaceTemplateResult> {\n if (this.workspace) {\n throw new BitError('Error: unable to generate a new workspace inside of an existing workspace');\n }\n const workspacePath = options.currentDir ? process.cwd() : resolve(workspaceName);\n if (!options.currentDir && fs.existsSync(workspacePath)) {\n throw new WorkspacePathExists(workspacePath);\n }\n const { aspect: aspectId, loadFrom } = options;\n const { workspaceTemplate, aspect } = loadFrom\n ? await this.findTemplateInOtherWorkspace(loadFrom, templateName, aspectId)\n : await this.getWorkspaceTemplate(templateName, aspectId);\n\n if (!workspaceTemplate) throw new BitError(`template \"${templateName}\" was not found`);\n const workspaceGenerator = new WorkspaceGenerator(workspaceName, workspacePath, options, workspaceTemplate, aspect);\n await workspaceGenerator.generate();\n return { workspacePath, appName: workspaceTemplate.appName };\n }\n\n private async getAllComponentTemplatesDescriptorsFlattened(aspectId?: string): Promise<Array<TemplateDescriptor>> {\n const envTemplates = await this.listEnvComponentTemplateDescriptors([], aspectId);\n if (envTemplates && envTemplates.length) {\n if (!aspectId) return envTemplates;\n const filtered = envTemplates.filter((template) => template.aspectId === aspectId);\n if (filtered.length) return filtered;\n }\n\n const flattened = this.getAllComponentTemplatesFlattened();\n const filtered = aspectId ? flattened.filter((template) => template.id === aspectId) : flattened;\n return filtered.map((template) => this.getTemplateDescriptor(template));\n }\n\n private getAllComponentTemplatesFlattened(): Array<{ id: string; template: ComponentTemplate }> {\n const templatesByAspects = this.componentTemplateSlot.toArray();\n const flattened = templatesByAspects.flatMap(([id, componentTemplates]) => {\n return componentTemplates.map((template) => ({\n id,\n template,\n }));\n });\n return flattened;\n }\n\n private async getAllWorkspaceTemplatesDescriptorFlattened(aspectId?: string): Promise<Array<TemplateDescriptor>> {\n let envTemplates;\n if (aspectId) {\n envTemplates = await this.listEnvWorkspaceTemplates(aspectId);\n }\n\n const templates = envTemplates && envTemplates.length ? envTemplates : this.getAllWorkspaceTemplatesFlattened();\n return templates.map((template) => this.getTemplateDescriptor(template));\n }\n\n private getAllWorkspaceTemplatesFlattened(): Array<{ id: string; template: WorkspaceTemplate }> {\n const templatesByAspects = this.workspaceTemplateSlot.toArray();\n return templatesByAspects.flatMap(([id, workspaceTemplates]) => {\n return workspaceTemplates.map((template) => ({\n id,\n template,\n }));\n });\n }\n\n /**\n * list all starter templates registered by an env.\n */\n async listEnvWorkspaceTemplates(envId: string, remoteEnvsAspect?: EnvsMain): Promise<Array<WorkspaceTemplateWithId>> {\n const envs = await this.loadEnvs([envId], remoteEnvsAspect);\n const workspaceTemplates = envs.flatMap((env) => {\n if (!env.env.getGeneratorStarters) return undefined;\n const envStarters = env.env.getGeneratorStarters();\n return envStarters.map((starter) => {\n const componentId = ComponentID.fromString(env.id);\n return {\n id: componentId.toString(),\n envName: env.name,\n template: starter,\n };\n });\n });\n\n return compact(workspaceTemplates);\n }\n\n /**\n * list all component templates registered by an env.\n */\n async listEnvComponentTemplateDescriptors(ids: string[] = [], aspectId?: string): Promise<TemplateDescriptor[]> {\n const envTemplates = await this.listEnvComponentTemplates(ids, aspectId);\n const templates: TemplateDescriptor[] = envTemplates.map((envTemplate) => {\n const componentId = ComponentID.fromString(envTemplate.id);\n return {\n aspectId: componentId.toStringWithoutVersion(),\n titlePrefix: envTemplate.envName,\n ...envTemplate.template,\n };\n });\n\n return templates;\n }\n\n getConfiguredEnvs(): string[] {\n return this.config.envs ?? [];\n }\n\n async listEnvComponentTemplates(ids: string[] = [], aspectId?: string): Promise<Array<ComponentTemplateWithId>> {\n const configEnvs = this.config.envs || [];\n let remoteEnvsAspect;\n let fullAspectId;\n if (aspectId && !configEnvs.includes(aspectId)) {\n const globals = await this.getGlobalGeneratorEnvs(aspectId);\n remoteEnvsAspect = globals.remoteEnvsAspect;\n fullAspectId = globals.fullAspectId;\n }\n const allIds = configEnvs?.concat(ids).concat([aspectId, fullAspectId]).filter(Boolean);\n const envs = await this.loadEnvs(allIds, remoteEnvsAspect);\n const templates = envs.flatMap((env) => {\n if (!env.env.getGeneratorTemplates) return [];\n const tpls = env.env.getGeneratorTemplates() || [];\n const componentId = ComponentID.fromString(env.id);\n return tpls.map((template) => {\n return {\n id: componentId.toString(),\n envName: env.name,\n template,\n };\n });\n });\n\n return templates;\n }\n\n async loadEnvs(ids: string[] = this.config.envs || [], remoteEnvsAspect?: EnvsMain): Promise<EnvDefinition[]> {\n // In case we have remoteEnvsAspect it means that we are running from the global scope\n // in that case the aspect / env were already loaded before to the global scope harmony instance\n // so no reason to load it here\n if (!remoteEnvsAspect) {\n const host = this.componentAspect.getHost();\n if (!host) return [];\n await host.loadAspects(ids);\n }\n\n const envsAspect = remoteEnvsAspect || this.envs;\n\n const potentialEnvs = ids.map((id) => {\n const componentId = ComponentID.fromString(id);\n return envsAspect.getEnvDefinition(componentId);\n });\n\n return compact(potentialEnvs);\n }\n\n async loadAspects() {\n if (this.aspectLoaded) return;\n await this.workspace.loadAspects(this.config.aspects);\n this.aspectLoaded = true;\n }\n\n static slots = [\n Slot.withType<ComponentTemplate[]>(),\n Slot.withType<WorkspaceTemplate[]>(),\n Slot.withType<OnComponentCreateFn>(),\n ];\n\n static dependencies = [\n WorkspaceAspect,\n CLIAspect,\n GraphqlAspect,\n EnvsAspect,\n AspectLoaderAspect,\n NewComponentHelperAspect,\n ComponentAspect,\n TrackerAspect,\n LoggerAspect,\n GitAspect,\n WorkspaceConfigFilesAspect,\n ];\n\n static runtime = MainRuntime;\n\n static async provider(\n [\n workspace,\n cli,\n graphql,\n envs,\n aspectLoader,\n newComponentHelper,\n componentAspect,\n tracker,\n loggerMain,\n git,\n wsConfigFiles,\n ]: [\n Workspace,\n CLIMain,\n GraphqlMain,\n EnvsMain,\n AspectLoaderMain,\n NewComponentHelperMain,\n ComponentMain,\n TrackerMain,\n LoggerMain,\n GitMain,\n WorkspaceConfigFilesMain\n ],\n config: GeneratorConfig,\n [componentTemplateSlot, workspaceTemplateSlot, onComponentCreateSlot]: [\n ComponentTemplateSlot,\n WorkspaceTemplateSlot,\n OnComponentCreateSlot\n ]\n ) {\n const logger = loggerMain.createLogger(GeneratorAspect.id);\n const generator = new GeneratorMain(\n componentTemplateSlot,\n workspaceTemplateSlot,\n onComponentCreateSlot,\n config,\n workspace,\n envs,\n aspectLoader,\n newComponentHelper,\n componentAspect,\n tracker,\n logger,\n git,\n wsConfigFiles\n );\n const commands = [new CreateCmd(generator), new TemplatesCmd(generator), new NewCmd(generator)];\n cli.register(...commands);\n graphql.register(generatorSchema(generator));\n aspectLoader.registerPlugins([new StarterPlugin(generator)]);\n envs.registerService(new GeneratorService());\n\n if (generator)\n generator.registerComponentTemplate([\n componentGeneratorTemplate,\n componentGeneratorTemplateStandalone,\n starterTemplate,\n starterTemplateStandalone,\n ]);\n generator.registerWorkspaceTemplate([BasicWorkspaceStarter]);\n\n return generator;\n }\n}\n\nGeneratorAspect.addRuntime(GeneratorMain);\n"],"mappings":"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","ignoreList":[]}
@@ -4,7 +4,7 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.GeneratorService = void 0;
7
- function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
7
+ function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
8
8
  function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
9
9
  function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
10
10
  class GeneratorService {
package/dist/new.cmd.js CHANGED
@@ -11,8 +11,8 @@ function _chalk() {
11
11
  };
12
12
  return data;
13
13
  }
14
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
15
- function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
14
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
15
+ function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
16
16
  function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
17
17
  function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
18
18
  /**
@@ -1 +1 @@
1
- {"version":3,"names":["_chalk","data","_interopRequireDefault","require","obj","__esModule","default","_defineProperty","key","value","_toPropertyKey","Object","defineProperty","enumerable","configurable","writable","t","i","_toPrimitive","r","e","Symbol","toPrimitive","call","TypeError","String","Number","NewCmd","constructor","generator","name","description","report","templateName","workspaceName","options","skipGit","standalone","aspect","env","template","workspacePath","appName","generateWorkspaceTemplate","chalk","white","green","yellow","bold","getBottomSection","exports","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';\nimport { BaseWorkspaceOptions } from './workspace-template';\n\n/**\n * NewOptions combines foundational properties with additional options for creating a workspace.\n */\nexport type NewOptions = BaseWorkspaceOptions;\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 workspace templates)\",\n },\n {\n name: 'workspace-name',\n description: 'the name for the new workspace and workspace directory that will be created',\n },\n ];\n alias = '';\n loader = true;\n group = 'start';\n options = [\n [\n 'a',\n 'aspect <aspect-id>',\n 'id of the aspect that registered the template, mandatory for non-core aspects. helpful for core aspects in case of a name collision',\n ],\n ['t', 'template <env-id>', 'id of the dev environment to use for the template. Alias for --env.'],\n ['', 'env <env-id>', 'id of the dev environment to use for the template. Alias -t'],\n [\n 'd',\n 'default-scope <scope-name>',\n `set the default scope for the workspace. used in the generated workspace.jsonc`,\n ],\n ['', 'standalone', 'DEPRECATED. use --skip-git instead'],\n ['s', 'skip-git', 'skip generation of Git repository in the new workspace'],\n [\n 'e',\n 'empty',\n \"skip template's default component creation (relevant for templates that add components by default)\",\n ],\n [\n '',\n 'load-from <path-to-template>',\n 'local path to the workspace containing the template. Helpful during a development of a workspace-template',\n ],\n [\n 'c',\n 'current-dir',\n 'create the new workspace in current directory (default is to create a new directory, inside the current dir)',\n ],\n ] as CommandOptions;\n\n constructor(private generator: GeneratorMain) {}\n\n async report(\n [templateName, workspaceName]: [string, string],\n options: NewOptions & {\n standalone: boolean;\n env?: string;\n template?: string;\n aspect?: string;\n currentDir?: boolean;\n }\n ) {\n options.skipGit = options.skipGit ?? options.standalone;\n options.aspect = options.aspect ?? options.env ?? options.template;\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 local dev server\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":"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","ignoreList":[]}
1
+ {"version":3,"names":["_chalk","data","_interopRequireDefault","require","e","__esModule","default","_defineProperty","r","t","_toPropertyKey","Object","defineProperty","value","enumerable","configurable","writable","i","_toPrimitive","Symbol","toPrimitive","call","TypeError","String","Number","NewCmd","constructor","generator","name","description","report","templateName","workspaceName","options","skipGit","standalone","aspect","env","template","workspacePath","appName","generateWorkspaceTemplate","chalk","white","green","yellow","bold","getBottomSection","exports","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';\nimport { BaseWorkspaceOptions } from './workspace-template';\n\n/**\n * NewOptions combines foundational properties with additional options for creating a workspace.\n */\nexport type NewOptions = BaseWorkspaceOptions;\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 workspace templates)\",\n },\n {\n name: 'workspace-name',\n description: 'the name for the new workspace and workspace directory that will be created',\n },\n ];\n alias = '';\n loader = true;\n group = 'start';\n options = [\n [\n 'a',\n 'aspect <aspect-id>',\n 'id of the aspect that registered the template, mandatory for non-core aspects. helpful for core aspects in case of a name collision',\n ],\n ['t', 'template <env-id>', 'id of the dev environment to use for the template. Alias for --env.'],\n ['', 'env <env-id>', 'id of the dev environment to use for the template. Alias -t'],\n [\n 'd',\n 'default-scope <scope-name>',\n `set the default scope for the workspace. used in the generated workspace.jsonc`,\n ],\n ['', 'standalone', 'DEPRECATED. use --skip-git instead'],\n ['s', 'skip-git', 'skip generation of Git repository in the new workspace'],\n [\n 'e',\n 'empty',\n \"skip template's default component creation (relevant for templates that add components by default)\",\n ],\n [\n '',\n 'load-from <path-to-template>',\n 'local path to the workspace containing the template. Helpful during a development of a workspace-template',\n ],\n [\n 'c',\n 'current-dir',\n 'create the new workspace in current directory (default is to create a new directory, inside the current dir)',\n ],\n ] as CommandOptions;\n\n constructor(private generator: GeneratorMain) {}\n\n async report(\n [templateName, workspaceName]: [string, string],\n options: NewOptions & {\n standalone: boolean;\n env?: string;\n template?: string;\n aspect?: string;\n currentDir?: boolean;\n }\n ) {\n options.skipGit = options.skipGit ?? options.standalone;\n options.aspect = options.aspect ?? options.env ?? options.template;\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 local dev server\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":"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","ignoreList":[]}
@@ -1,5 +1,5 @@
1
- import * as compositions_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad/teambit.generator_generator@1.0.282/dist/generator.composition.js';
2
- import * as overview_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad/teambit.generator_generator@1.0.282/dist/generator.docs.mdx';
1
+ import * as compositions_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad/teambit.generator_generator@1.0.284/dist/generator.composition.js';
2
+ import * as overview_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad/teambit.generator_generator@1.0.284/dist/generator.docs.mdx';
3
3
 
4
4
  export const compositions = [compositions_0];
5
5
  export const overview = [overview_0];
@@ -11,7 +11,7 @@ function _cli() {
11
11
  };
12
12
  return data;
13
13
  }
14
- function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
14
+ function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
15
15
  function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
16
16
  function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
17
17
  class StarterPlugin {
@@ -1 +1 @@
1
- {"version":3,"names":["_cli","data","require","_defineProperty","obj","key","value","_toPropertyKey","Object","defineProperty","enumerable","configurable","writable","t","i","_toPrimitive","r","e","Symbol","toPrimitive","call","TypeError","String","Number","StarterPlugin","constructor","generator","MainRuntime","name","register","object","templates","Array","isArray","registerWorkspaceTemplate","exports"],"sources":["starter.plugin.ts"],"sourcesContent":["import { PluginDefinition } from '@teambit/aspect-loader';\nimport { MainRuntime } from '@teambit/cli';\nimport { GeneratorMain } from './generator.main.runtime';\n\nexport class StarterPlugin implements PluginDefinition {\n constructor(private generator: GeneratorMain) {}\n\n pattern = '*.starter.*';\n\n runtimes = [MainRuntime.name];\n\n register(object: any) {\n const templates = Array.isArray(object) ? object : [object];\n return this.generator.registerWorkspaceTemplate(templates);\n }\n}\n"],"mappings":";;;;;;AACA,SAAAA,KAAA;EAAA,MAAAC,IAAA,GAAAC,OAAA;EAAAF,IAAA,YAAAA,CAAA;IAAA,OAAAC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAA2C,SAAAE,gBAAAC,GAAA,EAAAC,GAAA,EAAAC,KAAA,IAAAD,GAAA,GAAAE,cAAA,CAAAF,GAAA,OAAAA,GAAA,IAAAD,GAAA,IAAAI,MAAA,CAAAC,cAAA,CAAAL,GAAA,EAAAC,GAAA,IAAAC,KAAA,EAAAA,KAAA,EAAAI,UAAA,QAAAC,YAAA,QAAAC,QAAA,oBAAAR,GAAA,CAAAC,GAAA,IAAAC,KAAA,WAAAF,GAAA;AAAA,SAAAG,eAAAM,CAAA,QAAAC,CAAA,GAAAC,YAAA,CAAAF,CAAA,uCAAAC,CAAA,GAAAA,CAAA,GAAAA,CAAA;AAAA,SAAAC,aAAAF,CAAA,EAAAG,CAAA,2BAAAH,CAAA,KAAAA,CAAA,SAAAA,CAAA,MAAAI,CAAA,GAAAJ,CAAA,CAAAK,MAAA,CAAAC,WAAA,kBAAAF,CAAA,QAAAH,CAAA,GAAAG,CAAA,CAAAG,IAAA,CAAAP,CAAA,EAAAG,CAAA,uCAAAF,CAAA,SAAAA,CAAA,YAAAO,SAAA,yEAAAL,CAAA,GAAAM,MAAA,GAAAC,MAAA,EAAAV,CAAA;AAGpC,MAAMW,aAAa,CAA6B;EACrDC,WAAWA,CAASC,SAAwB,EAAE;IAAA,KAA1BA,SAAwB,GAAxBA,SAAwB;IAAAvB,eAAA,kBAElC,aAAa;IAAAA,eAAA,mBAEZ,CAACwB,kBAAW,CAACC,IAAI,CAAC;EAJkB;EAM/CC,QAAQA,CAACC,MAAW,EAAE;IACpB,MAAMC,SAAS,GAAGC,KAAK,CAACC,OAAO,CAACH,MAAM,CAAC,GAAGA,MAAM,GAAG,CAACA,MAAM,CAAC;IAC3D,OAAO,IAAI,CAACJ,SAAS,CAACQ,yBAAyB,CAACH,SAAS,CAAC;EAC5D;AACF;AAACI,OAAA,CAAAX,aAAA,GAAAA,aAAA","ignoreList":[]}
1
+ {"version":3,"names":["_cli","data","require","_defineProperty","e","r","t","_toPropertyKey","Object","defineProperty","value","enumerable","configurable","writable","i","_toPrimitive","Symbol","toPrimitive","call","TypeError","String","Number","StarterPlugin","constructor","generator","MainRuntime","name","register","object","templates","Array","isArray","registerWorkspaceTemplate","exports"],"sources":["starter.plugin.ts"],"sourcesContent":["import { PluginDefinition } from '@teambit/aspect-loader';\nimport { MainRuntime } from '@teambit/cli';\nimport { GeneratorMain } from './generator.main.runtime';\n\nexport class StarterPlugin implements PluginDefinition {\n constructor(private generator: GeneratorMain) {}\n\n pattern = '*.starter.*';\n\n runtimes = [MainRuntime.name];\n\n register(object: any) {\n const templates = Array.isArray(object) ? object : [object];\n return this.generator.registerWorkspaceTemplate(templates);\n }\n}\n"],"mappings":";;;;;;AACA,SAAAA,KAAA;EAAA,MAAAC,IAAA,GAAAC,OAAA;EAAAF,IAAA,YAAAA,CAAA;IAAA,OAAAC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAA2C,SAAAE,gBAAAC,CAAA,EAAAC,CAAA,EAAAC,CAAA,YAAAD,CAAA,GAAAE,cAAA,CAAAF,CAAA,MAAAD,CAAA,GAAAI,MAAA,CAAAC,cAAA,CAAAL,CAAA,EAAAC,CAAA,IAAAK,KAAA,EAAAJ,CAAA,EAAAK,UAAA,MAAAC,YAAA,MAAAC,QAAA,UAAAT,CAAA,CAAAC,CAAA,IAAAC,CAAA,EAAAF,CAAA;AAAA,SAAAG,eAAAD,CAAA,QAAAQ,CAAA,GAAAC,YAAA,CAAAT,CAAA,uCAAAQ,CAAA,GAAAA,CAAA,GAAAA,CAAA;AAAA,SAAAC,aAAAT,CAAA,EAAAD,CAAA,2BAAAC,CAAA,KAAAA,CAAA,SAAAA,CAAA,MAAAF,CAAA,GAAAE,CAAA,CAAAU,MAAA,CAAAC,WAAA,kBAAAb,CAAA,QAAAU,CAAA,GAAAV,CAAA,CAAAc,IAAA,CAAAZ,CAAA,EAAAD,CAAA,uCAAAS,CAAA,SAAAA,CAAA,YAAAK,SAAA,yEAAAd,CAAA,GAAAe,MAAA,GAAAC,MAAA,EAAAf,CAAA;AAGpC,MAAMgB,aAAa,CAA6B;EACrDC,WAAWA,CAASC,SAAwB,EAAE;IAAA,KAA1BA,SAAwB,GAAxBA,SAAwB;IAAArB,eAAA,kBAElC,aAAa;IAAAA,eAAA,mBAEZ,CAACsB,kBAAW,CAACC,IAAI,CAAC;EAJkB;EAM/CC,QAAQA,CAACC,MAAW,EAAE;IACpB,MAAMC,SAAS,GAAGC,KAAK,CAACC,OAAO,CAACH,MAAM,CAAC,GAAGA,MAAM,GAAG,CAACA,MAAM,CAAC;IAC3D,OAAO,IAAI,CAACJ,SAAS,CAACQ,yBAAyB,CAACH,SAAS,CAAC;EAC5D;AACF;AAACI,OAAA,CAAAX,aAAA,GAAAA,aAAA","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"names":["packageJson"],"sources":["package-json.ts"],"sourcesContent":["export function packageJson() {\n return `{\n \"type\": \"module\"\n}\n`;\n}\n"],"mappings":";;;;;;AAAO,SAASA,WAAWA,CAAA,EAAG;EAC5B,OAAQ;AACV;AACA;AACA,CAAC;AACD","ignoreList":[]}
1
+ {"version":3,"names":["packageJson"],"sources":["package-json.ts"],"sourcesContent":["export function packageJson() {\n return `{\n \"type\": \"module\"\n}\n`;\n}\n"],"mappings":";;;;;;AAAO,SAASA,WAAWA,CAAA,EAAG;EAC5B,OAAO;AACT;AACA;AACA,CAAC;AACD","ignoreList":[]}
@@ -13,7 +13,7 @@ function _config() {
13
13
  }
14
14
  function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
15
15
  function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
16
- function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
16
+ function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
17
17
  function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
18
18
  function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
19
19
  async function workspaceConfig({
@@ -1 +1 @@
1
- {"version":3,"names":["_config","data","require","ownKeys","e","r","t","Object","keys","getOwnPropertySymbols","o","filter","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","obj","key","value","_toPropertyKey","configurable","writable","i","_toPrimitive","Symbol","toPrimitive","call","TypeError","String","Number","workspaceConfig","name","defaultScope","configParsed","getWorkspaceConfigTemplateParsed","packageManagerDefaultConfig","policy","dependencies","stringifyWorkspaceConfig"],"sources":["workspace-config.ts"],"sourcesContent":["import { getWorkspaceConfigTemplateParsed, stringifyWorkspaceConfig } from '@teambit/config';\nimport { WorkspaceContext } from '../../../../workspace-template';\n\nexport async function workspaceConfig({ name, defaultScope }: WorkspaceContext) {\n const configParsed = await getWorkspaceConfigTemplateParsed();\n const packageManagerDefaultConfig = configParsed['teambit.dependencies/dependency-resolver'];\n configParsed['teambit.workspace/workspace'].name = name;\n configParsed['teambit.workspace/workspace'].defaultScope = defaultScope || 'org.scope';\n configParsed['teambit.dependencies/dependency-resolver'] = {\n ...packageManagerDefaultConfig,\n policy: {\n dependencies: {\n '@types/node': '16.18.44',\n '@types/jest': '29.5.4',\n },\n },\n };\n\n // configParsed['teambit.generator/generator'] = {\n // envs: [\n // 'teambit.node/node',\n // \"bitdev.react/react-env\",\n // \"teambit.vue/vue\",\n // \"teambit.react/react-env\",\n // \"teambit.html/html-env\"\n // ],\n // };\n\n return stringifyWorkspaceConfig(configParsed);\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_config","data","require","ownKeys","e","r","t","Object","keys","getOwnPropertySymbols","o","filter","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","_toPropertyKey","value","configurable","writable","i","_toPrimitive","Symbol","toPrimitive","call","TypeError","String","Number","workspaceConfig","name","defaultScope","configParsed","getWorkspaceConfigTemplateParsed","packageManagerDefaultConfig","policy","dependencies","stringifyWorkspaceConfig"],"sources":["workspace-config.ts"],"sourcesContent":["import { getWorkspaceConfigTemplateParsed, stringifyWorkspaceConfig } from '@teambit/config';\nimport { WorkspaceContext } from '../../../../workspace-template';\n\nexport async function workspaceConfig({ name, defaultScope }: WorkspaceContext) {\n const configParsed = await getWorkspaceConfigTemplateParsed();\n const packageManagerDefaultConfig = configParsed['teambit.dependencies/dependency-resolver'];\n configParsed['teambit.workspace/workspace'].name = name;\n configParsed['teambit.workspace/workspace'].defaultScope = defaultScope || 'org.scope';\n configParsed['teambit.dependencies/dependency-resolver'] = {\n ...packageManagerDefaultConfig,\n policy: {\n dependencies: {\n '@types/node': '16.18.44',\n '@types/jest': '29.5.4',\n },\n },\n };\n\n // configParsed['teambit.generator/generator'] = {\n // envs: [\n // 'teambit.node/node',\n // \"bitdev.react/react-env\",\n // \"teambit.vue/vue\",\n // \"teambit.react/react-env\",\n // \"teambit.html/html-env\"\n // ],\n // };\n\n return stringifyWorkspaceConfig(configParsed);\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"names":["generateComponentFileContent","exports"],"sources":["component.ts"],"sourcesContent":["export const generateComponentFileContent = () => {\n return `import { ComponentContext } from '@teambit/generator';\n\nexport const componentFile = (context: ComponentContext) => {\n const { name, namePascalCase: Name } = context;\n\n return {\n relativePath: \\`\\${name}.tsx\\`,\n content: \\`import type { ReactNode } from 'react';\n\nexport type \\${Name}Props = {\n children?: ReactNode;\n};\n\nexport function \\${Name}({ children }: \\${Name}Props) {\n return (\n <div>\n {children}\n </div>\n );\n}\n\\`,\n };\n};\n`;\n};\n"],"mappings":";;;;;;AAAO,MAAMA,4BAA4B,GAAGA,CAAA,KAAM;EAChD,OAAQ;AACV;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD,CAAC;AAACC,OAAA,CAAAD,4BAAA,GAAAA,4BAAA","ignoreList":[]}
1
+ {"version":3,"names":["generateComponentFileContent","exports"],"sources":["component.ts"],"sourcesContent":["export const generateComponentFileContent = () => {\n return `import { ComponentContext } from '@teambit/generator';\n\nexport const componentFile = (context: ComponentContext) => {\n const { name, namePascalCase: Name } = context;\n\n return {\n relativePath: \\`\\${name}.tsx\\`,\n content: \\`import type { ReactNode } from 'react';\n\nexport type \\${Name}Props = {\n children?: ReactNode;\n};\n\nexport function \\${Name}({ children }: \\${Name}Props) {\n return (\n <div>\n {children}\n </div>\n );\n}\n\\`,\n };\n};\n`;\n};\n"],"mappings":";;;;;;AAAO,MAAMA,4BAA4B,GAAGA,CAAA,KAAM;EAChD,OAAO;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD,CAAC;AAACC,OAAA,CAAAD,4BAAA,GAAAA,4BAAA","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"names":["generateCompositionFileContent","exports"],"sources":["composition.ts"],"sourcesContent":["export const generateCompositionFileContent = () => {\n return `import { ComponentContext } from '@teambit/generator';\n\nexport const compositionFile = (context: ComponentContext) => {\n const { name, namePascalCase: Name } = context;\n\n return {\n relativePath: \\`\\${name}.composition.tsx\\`,\n content: \\`import { \\${Name} } from './\\${name}';\n\nexport const Basic\\${Name} = () => {\n return (\n <\\${Name}>hello world!</\\${Name}>\n );\n}\n\\`,\n };\n};\n`;\n};\n"],"mappings":";;;;;;AAAO,MAAMA,8BAA8B,GAAGA,CAAA,KAAM;EAClD,OAAQ;AACV;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD,CAAC;AAACC,OAAA,CAAAD,8BAAA,GAAAA,8BAAA","ignoreList":[]}
1
+ {"version":3,"names":["generateCompositionFileContent","exports"],"sources":["composition.ts"],"sourcesContent":["export const generateCompositionFileContent = () => {\n return `import { ComponentContext } from '@teambit/generator';\n\nexport const compositionFile = (context: ComponentContext) => {\n const { name, namePascalCase: Name } = context;\n\n return {\n relativePath: \\`\\${name}.composition.tsx\\`,\n content: \\`import { \\${Name} } from './\\${name}';\n\nexport const Basic\\${Name} = () => {\n return (\n <\\${Name}>hello world!</\\${Name}>\n );\n}\n\\`,\n };\n};\n`;\n};\n"],"mappings":";;;;;;AAAO,MAAMA,8BAA8B,GAAGA,CAAA,KAAM;EAClD,OAAO;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD,CAAC;AAACC,OAAA,CAAAD,8BAAA,GAAAA,8BAAA","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"names":["generateIndexFileContent","exports"],"sources":["index-file.ts"],"sourcesContent":["export const generateIndexFileContent = () => {\n return `import { ComponentContext } from '@teambit/generator';\n\nexport const indexFile = (context: ComponentContext) => {\n const { name, namePascalCase: Name } = context;\n\n return {\n relativePath: 'index.ts',\n content: \\`export { \\${Name} } from './\\${name}';\nexport type { \\${Name}Props } from './\\${name}';\n\\`,\n };\n};\n`;\n};\n"],"mappings":";;;;;;AAAO,MAAMA,wBAAwB,GAAGA,CAAA,KAAM;EAC5C,OAAQ;AACV;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD,CAAC;AAACC,OAAA,CAAAD,wBAAA,GAAAA,wBAAA","ignoreList":[]}
1
+ {"version":3,"names":["generateIndexFileContent","exports"],"sources":["index-file.ts"],"sourcesContent":["export const generateIndexFileContent = () => {\n return `import { ComponentContext } from '@teambit/generator';\n\nexport const indexFile = (context: ComponentContext) => {\n const { name, namePascalCase: Name } = context;\n\n return {\n relativePath: 'index.ts',\n content: \\`export { \\${Name} } from './\\${name}';\nexport type { \\${Name}Props } from './\\${name}';\n\\`,\n };\n};\n`;\n};\n"],"mappings":";;;;;;AAAO,MAAMA,wBAAwB,GAAGA,CAAA,KAAM;EAC5C,OAAO;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD,CAAC;AAACC,OAAA,CAAAD,wBAAA,GAAAA,wBAAA","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"names":["generateTestFileContent","exports"],"sources":["test.ts"],"sourcesContent":["export const generateTestFileContent = () => {\n return `import { ComponentContext } from '@teambit/generator';\n\nexport const testFile = (context: ComponentContext) => {\n const { name, namePascalCase: Name } = context;\n\n return {\n relativePath: name + '.spec.tsx',\n content: \\`import React from 'react';\nimport { render } from '@testing-library/react';\nimport { Basic\\${Name} } from './\\${name}.composition';\n\nit('renders with the correct text', () => {\n const { getByText } = render(<Basic\\${Name} />);\n const rendered = getByText('hello world!');\n expect(rendered).toBeTruthy();\n});\n\\`,\n };\n};\n`;\n};\n"],"mappings":";;;;;;AAAO,MAAMA,uBAAuB,GAAGA,CAAA,KAAM;EAC3C,OAAQ;AACV;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD,CAAC;AAACC,OAAA,CAAAD,uBAAA,GAAAA,uBAAA","ignoreList":[]}
1
+ {"version":3,"names":["generateTestFileContent","exports"],"sources":["test.ts"],"sourcesContent":["export const generateTestFileContent = () => {\n return `import { ComponentContext } from '@teambit/generator';\n\nexport const testFile = (context: ComponentContext) => {\n const { name, namePascalCase: Name } = context;\n\n return {\n relativePath: name + '.spec.tsx',\n content: \\`import React from 'react';\nimport { render } from '@testing-library/react';\nimport { Basic\\${Name} } from './\\${name}.composition';\n\nit('renders with the correct text', () => {\n const { getByText } = render(<Basic\\${Name} />);\n const rendered = getByText('hello world!');\n expect(rendered).toBeTruthy();\n});\n\\`,\n };\n};\n`;\n};\n"],"mappings":";;;;;;AAAO,MAAMA,uBAAuB,GAAGA,CAAA,KAAM;EAC3C,OAAO;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD,CAAC;AAACC,OAAA,CAAAD,uBAAA,GAAAA,uBAAA","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"names":["componentTemplate","namePascalCase","name"],"sources":["component-template.ts"],"sourcesContent":["import { ComponentContext } from '../../../component-template';\n\nexport function componentTemplate({ namePascalCase, name }: ComponentContext) {\n return `import {\n ComponentContext,\n ComponentFile,\n ComponentTemplate,\n } from '@teambit/generator';\n import { indexFile } from './files/index-file';\n import { componentFile } from './files/component-file';\n import { testFile } from './files/test-file';\n import { compositionFile } from './files/composition-file';\n\n export type ${namePascalCase}ComponentTemplateOptions = {\n /**\n * name of the template\n */\n name?: string;\n\n /**\n * description of the template.\n */\n description?: string;\n\n /**\n * hide the template from the templates command.\n */\n hidden?: boolean;\n };\n\n export class ${namePascalCase}ComponentTemplate implements ComponentTemplate {\n constructor(\n readonly name = '${name}',\n readonly description = 'a template for ${name} components',\n readonly hidden = false\n ) {}\n\n generateFiles(context: ComponentContext): ComponentFile[] {\n return [\n indexFile(context),\n compositionFile(context),\n componentFile(context),\n testFile(context),\n ];\n }\n\n static from(options: ${namePascalCase}ComponentTemplateOptions = {}) {\n return () =>\n new ${namePascalCase}ComponentTemplate(\n options.name,\n options.description,\n options.hidden\n );\n }\n }\n\n`;\n}\n"],"mappings":";;;;;;AAEO,SAASA,iBAAiBA,CAAC;EAAEC,cAAc;EAAEC;AAAuB,CAAC,EAAE;EAC5E,OAAQ;AACV;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgBD,cAAe;AAC/B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiBA,cAAe;AAChC;AACA,yBAAyBC,IAAK;AAC9B,+CAA+CA,IAAK;AACpD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2BD,cAAe;AAC1C;AACA,cAAcA,cAAe;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD","ignoreList":[]}
1
+ {"version":3,"names":["componentTemplate","namePascalCase","name"],"sources":["component-template.ts"],"sourcesContent":["import { ComponentContext } from '../../../component-template';\n\nexport function componentTemplate({ namePascalCase, name }: ComponentContext) {\n return `import {\n ComponentContext,\n ComponentFile,\n ComponentTemplate,\n } from '@teambit/generator';\n import { indexFile } from './files/index-file';\n import { componentFile } from './files/component-file';\n import { testFile } from './files/test-file';\n import { compositionFile } from './files/composition-file';\n\n export type ${namePascalCase}ComponentTemplateOptions = {\n /**\n * name of the template\n */\n name?: string;\n\n /**\n * description of the template.\n */\n description?: string;\n\n /**\n * hide the template from the templates command.\n */\n hidden?: boolean;\n };\n\n export class ${namePascalCase}ComponentTemplate implements ComponentTemplate {\n constructor(\n readonly name = '${name}',\n readonly description = 'a template for ${name} components',\n readonly hidden = false\n ) {}\n\n generateFiles(context: ComponentContext): ComponentFile[] {\n return [\n indexFile(context),\n compositionFile(context),\n componentFile(context),\n testFile(context),\n ];\n }\n\n static from(options: ${namePascalCase}ComponentTemplateOptions = {}) {\n return () =>\n new ${namePascalCase}ComponentTemplate(\n options.name,\n options.description,\n options.hidden\n );\n }\n }\n\n`;\n}\n"],"mappings":";;;;;;AAEO,SAASA,iBAAiBA,CAAC;EAAEC,cAAc;EAAEC;AAAuB,CAAC,EAAE;EAC5E,OAAO;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgBD,cAAc;AAC9B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiBA,cAAc;AAC/B;AACA,yBAAyBC,IAAI;AAC7B,+CAA+CA,IAAI;AACnD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2BD,cAAc;AACzC;AACA,cAAcA,cAAc;AAC5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"names":["indexFile","namePascalCase","name"],"sources":["index.ts"],"sourcesContent":["import { ComponentContext } from '../../../component-template';\n\nexport function indexFile({ namePascalCase, name }: ComponentContext) {\n return `export { ${namePascalCase}ComponentTemplate } from './${name}';\n`;\n}\n"],"mappings":";;;;;;AAEO,SAASA,SAASA,CAAC;EAAEC,cAAc;EAAEC;AAAuB,CAAC,EAAE;EACpE,OAAQ,YAAWD,cAAe,+BAA8BC,IAAK;AACvE,CAAC;AACD","ignoreList":[]}
1
+ {"version":3,"names":["indexFile","namePascalCase","name"],"sources":["index.ts"],"sourcesContent":["import { ComponentContext } from '../../../component-template';\n\nexport function indexFile({ namePascalCase, name }: ComponentContext) {\n return `export { ${namePascalCase}ComponentTemplate } from './${name}';\n`;\n}\n"],"mappings":";;;;;;AAEO,SAASA,SAASA,CAAC;EAAEC,cAAc;EAAEC;AAAuB,CAAC,EAAE;EACpE,OAAO,YAAYD,cAAc,+BAA+BC,IAAI;AACtE,CAAC;AACD","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"names":["_index","data","require","_test","_component","_composition","_indexFile","_componentTemplate","componentGeneratorTemplate","exports","name","description","hidden","generateFiles","context","relativePath","content","indexFile","isMain","componentTemplate","generateTestFileContent","generateCompositionFileContent","generateComponentFileContent","generateIndexFileContent","config","env"],"sources":["index.ts"],"sourcesContent":["import { ComponentContext, ComponentTemplate } from '../../component-template';\nimport { indexFile } from './files/index';\nimport { generateTestFileContent } from './files/component-template-files/test';\nimport { generateComponentFileContent } from './files/component-template-files/component';\nimport { generateCompositionFileContent } from './files/component-template-files/composition';\nimport { generateIndexFileContent } from './files/component-template-files/index-file';\nimport { componentTemplate } from './files/component-template';\n\nexport const componentGeneratorTemplate: ComponentTemplate = {\n name: 'component-generator',\n description: 'create your own component generator \\nDocs: https://bit.dev/reference/generator/create-generator',\n hidden: true,\n generateFiles: (context: ComponentContext) => {\n return [\n {\n relativePath: 'index.ts',\n content: indexFile(context),\n isMain: true,\n },\n\n {\n relativePath: `./${context.name}.ts`,\n content: componentTemplate(context),\n },\n {\n relativePath: `./files/test-file.ts`,\n content: generateTestFileContent(),\n },\n {\n relativePath: `./files/composition-file.ts`,\n content: generateCompositionFileContent(),\n },\n {\n relativePath: `./files/component-file.ts`,\n content: generateComponentFileContent(),\n },\n {\n relativePath: `./files/index-file.ts`,\n content: generateIndexFileContent(),\n },\n ];\n },\n config: {\n 'teambit.harmony/aspect': {},\n 'teambit.envs/envs': {\n env: 'teambit.harmony/aspect',\n },\n },\n};\n"],"mappings":";;;;;;AACA,SAAAA,OAAA;EAAA,MAAAC,IAAA,GAAAC,OAAA;EAAAF,MAAA,YAAAA,CAAA;IAAA,OAAAC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAE,MAAA;EAAA,MAAAF,IAAA,GAAAC,OAAA;EAAAC,KAAA,YAAAA,CAAA;IAAA,OAAAF,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAG,WAAA;EAAA,MAAAH,IAAA,GAAAC,OAAA;EAAAE,UAAA,YAAAA,CAAA;IAAA,OAAAH,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAI,aAAA;EAAA,MAAAJ,IAAA,GAAAC,OAAA;EAAAG,YAAA,YAAAA,CAAA;IAAA,OAAAJ,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAK,WAAA;EAAA,MAAAL,IAAA,GAAAC,OAAA;EAAAI,UAAA,YAAAA,CAAA;IAAA,OAAAL,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAM,mBAAA;EAAA,MAAAN,IAAA,GAAAC,OAAA;EAAAK,kBAAA,YAAAA,CAAA;IAAA,OAAAN,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAEO,MAAMO,0BAA6C,GAAAC,OAAA,CAAAD,0BAAA,GAAG;EAC3DE,IAAI,EAAE,qBAAqB;EAC3BC,WAAW,EAAE,kGAAkG;EAC/GC,MAAM,EAAE,IAAI;EACZC,aAAa,EAAGC,OAAyB,IAAK;IAC5C,OAAO,CACL;MACEC,YAAY,EAAE,UAAU;MACxBC,OAAO,EAAE,IAAAC,kBAAS,EAACH,OAAO,CAAC;MAC3BI,MAAM,EAAE;IACV,CAAC,EAED;MACEH,YAAY,EAAG,KAAID,OAAO,CAACJ,IAAK,KAAI;MACpCM,OAAO,EAAE,IAAAG,sCAAiB,EAACL,OAAO;IACpC,CAAC,EACD;MACEC,YAAY,EAAG,sBAAqB;MACpCC,OAAO,EAAE,IAAAI,+BAAuB,EAAC;IACnC,CAAC,EACD;MACEL,YAAY,EAAG,6BAA4B;MAC3CC,OAAO,EAAE,IAAAK,6CAA8B,EAAC;IAC1C,CAAC,EACD;MACEN,YAAY,EAAG,2BAA0B;MACzCC,OAAO,EAAE,IAAAM,yCAA4B,EAAC;IACxC,CAAC,EACD;MACEP,YAAY,EAAG,uBAAsB;MACrCC,OAAO,EAAE,IAAAO,qCAAwB,EAAC;IACpC,CAAC,CACF;EACH,CAAC;EACDC,MAAM,EAAE;IACN,wBAAwB,EAAE,CAAC,CAAC;IAC5B,mBAAmB,EAAE;MACnBC,GAAG,EAAE;IACP;EACF;AACF,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["_index","data","require","_test","_component","_composition","_indexFile","_componentTemplate","componentGeneratorTemplate","exports","name","description","hidden","generateFiles","context","relativePath","content","indexFile","isMain","componentTemplate","generateTestFileContent","generateCompositionFileContent","generateComponentFileContent","generateIndexFileContent","config","env"],"sources":["index.ts"],"sourcesContent":["import { ComponentContext, ComponentTemplate } from '../../component-template';\nimport { indexFile } from './files/index';\nimport { generateTestFileContent } from './files/component-template-files/test';\nimport { generateComponentFileContent } from './files/component-template-files/component';\nimport { generateCompositionFileContent } from './files/component-template-files/composition';\nimport { generateIndexFileContent } from './files/component-template-files/index-file';\nimport { componentTemplate } from './files/component-template';\n\nexport const componentGeneratorTemplate: ComponentTemplate = {\n name: 'component-generator',\n description: 'create your own component generator \\nDocs: https://bit.dev/reference/generator/create-generator',\n hidden: true,\n generateFiles: (context: ComponentContext) => {\n return [\n {\n relativePath: 'index.ts',\n content: indexFile(context),\n isMain: true,\n },\n\n {\n relativePath: `./${context.name}.ts`,\n content: componentTemplate(context),\n },\n {\n relativePath: `./files/test-file.ts`,\n content: generateTestFileContent(),\n },\n {\n relativePath: `./files/composition-file.ts`,\n content: generateCompositionFileContent(),\n },\n {\n relativePath: `./files/component-file.ts`,\n content: generateComponentFileContent(),\n },\n {\n relativePath: `./files/index-file.ts`,\n content: generateIndexFileContent(),\n },\n ];\n },\n config: {\n 'teambit.harmony/aspect': {},\n 'teambit.envs/envs': {\n env: 'teambit.harmony/aspect',\n },\n },\n};\n"],"mappings":";;;;;;AACA,SAAAA,OAAA;EAAA,MAAAC,IAAA,GAAAC,OAAA;EAAAF,MAAA,YAAAA,CAAA;IAAA,OAAAC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAE,MAAA;EAAA,MAAAF,IAAA,GAAAC,OAAA;EAAAC,KAAA,YAAAA,CAAA;IAAA,OAAAF,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAG,WAAA;EAAA,MAAAH,IAAA,GAAAC,OAAA;EAAAE,UAAA,YAAAA,CAAA;IAAA,OAAAH,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAI,aAAA;EAAA,MAAAJ,IAAA,GAAAC,OAAA;EAAAG,YAAA,YAAAA,CAAA;IAAA,OAAAJ,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAK,WAAA;EAAA,MAAAL,IAAA,GAAAC,OAAA;EAAAI,UAAA,YAAAA,CAAA;IAAA,OAAAL,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAM,mBAAA;EAAA,MAAAN,IAAA,GAAAC,OAAA;EAAAK,kBAAA,YAAAA,CAAA;IAAA,OAAAN,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAEO,MAAMO,0BAA6C,GAAAC,OAAA,CAAAD,0BAAA,GAAG;EAC3DE,IAAI,EAAE,qBAAqB;EAC3BC,WAAW,EAAE,kGAAkG;EAC/GC,MAAM,EAAE,IAAI;EACZC,aAAa,EAAGC,OAAyB,IAAK;IAC5C,OAAO,CACL;MACEC,YAAY,EAAE,UAAU;MACxBC,OAAO,EAAE,IAAAC,kBAAS,EAACH,OAAO,CAAC;MAC3BI,MAAM,EAAE;IACV,CAAC,EAED;MACEH,YAAY,EAAE,KAAKD,OAAO,CAACJ,IAAI,KAAK;MACpCM,OAAO,EAAE,IAAAG,sCAAiB,EAACL,OAAO;IACpC,CAAC,EACD;MACEC,YAAY,EAAE,sBAAsB;MACpCC,OAAO,EAAE,IAAAI,+BAAuB,EAAC;IACnC,CAAC,EACD;MACEL,YAAY,EAAE,6BAA6B;MAC3CC,OAAO,EAAE,IAAAK,6CAA8B,EAAC;IAC1C,CAAC,EACD;MACEN,YAAY,EAAE,2BAA2B;MACzCC,OAAO,EAAE,IAAAM,yCAA4B,EAAC;IACxC,CAAC,EACD;MACEP,YAAY,EAAE,uBAAuB;MACrCC,OAAO,EAAE,IAAAO,qCAAwB,EAAC;IACpC,CAAC,CACF;EACH,CAAC;EACDC,MAAM,EAAE;IACN,wBAAwB,EAAE,CAAC,CAAC;IAC5B,mBAAmB,EAAE;MACnBC,GAAG,EAAE;IACP;EACF;AACF,CAAC","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"names":["aspectFile","namePascalCase","componentId"],"sources":["aspect-file.ts"],"sourcesContent":["import { ComponentContext } from '../../../component-template';\n\nexport function aspectFile({ namePascalCase, componentId }: ComponentContext) {\n return `import { Aspect } from '@teambit/harmony';\n\nexport const ${namePascalCase}Aspect = Aspect.create({\n id: '${componentId}',\n});\n `;\n}\n"],"mappings":";;;;;;AAEO,SAASA,UAAUA,CAAC;EAAEC,cAAc;EAAEC;AAA8B,CAAC,EAAE;EAC5E,OAAQ;AACV;AACA,eAAeD,cAAe;AAC9B,SAASC,WAAY;AACrB;AACA,GAAG;AACH","ignoreList":[]}
1
+ {"version":3,"names":["aspectFile","namePascalCase","componentId"],"sources":["aspect-file.ts"],"sourcesContent":["import { ComponentContext } from '../../../component-template';\n\nexport function aspectFile({ namePascalCase, componentId }: ComponentContext) {\n return `import { Aspect } from '@teambit/harmony';\n\nexport const ${namePascalCase}Aspect = Aspect.create({\n id: '${componentId}',\n});\n `;\n}\n"],"mappings":";;;;;;AAEO,SAASA,UAAUA,CAAC;EAAEC,cAAc;EAAEC;AAA8B,CAAC,EAAE;EAC5E,OAAO;AACT;AACA,eAAeD,cAAc;AAC7B,SAASC,WAAW;AACpB;AACA,GAAG;AACH","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"names":["docsFile"],"sources":["docs-file.ts"],"sourcesContent":["export function docsFile() {\n return `### Configuring your Generator\n\nEdit your \\`workspace.jsonc\\` file and set this component to use the \\`teambit.harmony/aspect\\` env under the variants object.\n\n\\`\\`\\`json\n\"teambit.workspace/variants\": {\n \"{my-components}\": {\n \"teambit.harmony/aspect\": {}\n },\n}\n\\`\\`\\`\n\nTo check if your component is using the correct env you can run \\`bit envs\\` or \\`bit show my-components\\`\n\nEdit your \\`workspace.jsonc\\` file and add the component id, (scope name / component name) to teambit generator. This should go at root level. The component id can be found in the \\`aspect.ts\\` file:\n\n\\`\\`\\`json\n{\n \"teambit.generator/generator\": {\n \"aspects\": [\"my-scope-name/my-components\"]\n },\n}\n\\`\\`\\`\n\nThis registers the component aspect so that your templates will appear in the CLI when you run \\`bit templates\\`.\n\n### Modifying your Generator\n\nThe \\`my-components.main.runtime.ts\\` file contains an array of templates that you can modify and add to to create different templates and numerous files to be generated.\n\n### Using your Generator\n\nUse your generator to create the component files\n\n\\`\\`\\`bash\nbit create my-components component1\n\\`\\`\\`\n\n### Exporting your Generator\n\nTag and export your generator component so you can use it in any other workspace. Make sure the scope name is set correctly in the \\`aspect.ts\\` file before tagging and exporting. Once you have tagged and exported the component you can add it to the \\`workspace.jsonc\\` file in the workspace where you want to use this generator.\n\n\\`\\`\\`json\n{\n \"teambit.generator/generator\": {\n \"aspects\": [\"my-scope-name/my-components\"]\n },\n}\n\\`\\`\\`\n\nRun \\`bit templates\\` to see your generator and then use it to generate you components.\n`;\n}\n"],"mappings":";;;;;;AAAO,SAASA,QAAQA,CAAA,EAAG;EACzB,OAAQ;AACV;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD","ignoreList":[]}
1
+ {"version":3,"names":["docsFile"],"sources":["docs-file.ts"],"sourcesContent":["export function docsFile() {\n return `### Configuring your Generator\n\nEdit your \\`workspace.jsonc\\` file and set this component to use the \\`teambit.harmony/aspect\\` env under the variants object.\n\n\\`\\`\\`json\n\"teambit.workspace/variants\": {\n \"{my-components}\": {\n \"teambit.harmony/aspect\": {}\n },\n}\n\\`\\`\\`\n\nTo check if your component is using the correct env you can run \\`bit envs\\` or \\`bit show my-components\\`\n\nEdit your \\`workspace.jsonc\\` file and add the component id, (scope name / component name) to teambit generator. This should go at root level. The component id can be found in the \\`aspect.ts\\` file:\n\n\\`\\`\\`json\n{\n \"teambit.generator/generator\": {\n \"aspects\": [\"my-scope-name/my-components\"]\n },\n}\n\\`\\`\\`\n\nThis registers the component aspect so that your templates will appear in the CLI when you run \\`bit templates\\`.\n\n### Modifying your Generator\n\nThe \\`my-components.main.runtime.ts\\` file contains an array of templates that you can modify and add to to create different templates and numerous files to be generated.\n\n### Using your Generator\n\nUse your generator to create the component files\n\n\\`\\`\\`bash\nbit create my-components component1\n\\`\\`\\`\n\n### Exporting your Generator\n\nTag and export your generator component so you can use it in any other workspace. Make sure the scope name is set correctly in the \\`aspect.ts\\` file before tagging and exporting. Once you have tagged and exported the component you can add it to the \\`workspace.jsonc\\` file in the workspace where you want to use this generator.\n\n\\`\\`\\`json\n{\n \"teambit.generator/generator\": {\n \"aspects\": [\"my-scope-name/my-components\"]\n },\n}\n\\`\\`\\`\n\nRun \\`bit templates\\` to see your generator and then use it to generate you components.\n`;\n}\n"],"mappings":";;;;;;AAAO,SAASA,QAAQA,CAAA,EAAG;EACzB,OAAO;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"names":["indexFile","namePascalCase","name"],"sources":["index.ts"],"sourcesContent":["import { ComponentContext } from '../../../component-template';\n\nexport function indexFile({ namePascalCase, name }: ComponentContext) {\n return `import { ${namePascalCase}Aspect } from './${name}.aspect';\n\nexport type { ${namePascalCase}Main } from './${name}.main.runtime';\nexport default ${namePascalCase}Aspect;\nexport { ${namePascalCase}Aspect };\n`;\n}\n"],"mappings":";;;;;;AAEO,SAASA,SAASA,CAAC;EAAEC,cAAc;EAAEC;AAAuB,CAAC,EAAE;EACpE,OAAQ,YAAWD,cAAe,oBAAmBC,IAAK;AAC5D;AACA,gBAAgBD,cAAe,kBAAiBC,IAAK;AACrD,iBAAiBD,cAAe;AAChC,WAAWA,cAAe;AAC1B,CAAC;AACD","ignoreList":[]}
1
+ {"version":3,"names":["indexFile","namePascalCase","name"],"sources":["index.ts"],"sourcesContent":["import { ComponentContext } from '../../../component-template';\n\nexport function indexFile({ namePascalCase, name }: ComponentContext) {\n return `import { ${namePascalCase}Aspect } from './${name}.aspect';\n\nexport type { ${namePascalCase}Main } from './${name}.main.runtime';\nexport default ${namePascalCase}Aspect;\nexport { ${namePascalCase}Aspect };\n`;\n}\n"],"mappings":";;;;;;AAEO,SAASA,SAASA,CAAC;EAAEC,cAAc;EAAEC;AAAuB,CAAC,EAAE;EACpE,OAAO,YAAYD,cAAc,oBAAoBC,IAAI;AAC3D;AACA,gBAAgBD,cAAc,kBAAkBC,IAAI;AACpD,iBAAiBD,cAAc;AAC/B,WAAWA,cAAc;AACzB,CAAC;AACD","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"names":["mainRuntime","name","namePascalCase"],"sources":["main-runtime.ts"],"sourcesContent":["import { ComponentContext } from '../../../component-template';\n\nexport function mainRuntime({ name, namePascalCase }: ComponentContext) {\n return `import { MainRuntime } from '@teambit/cli';\nimport { GeneratorMain, GeneratorAspect, ComponentContext } from '@teambit/generator';\nimport { ${namePascalCase}Aspect } from './${name}.aspect';\n\nexport class ${namePascalCase}Main {\n static slots = [];\n static dependencies = [GeneratorAspect];\n static runtime = MainRuntime;\n static async provider([generator]: [GeneratorMain]) {\n /**\n * Array of templates. Add as many templates as you want\n * Separate the templates to multiple files if you prefer\n * Modify, add or remove files as needed\n * See the docs file of this component for more info\n */\n\n if (generator) generator.registerComponentTemplate([\n {\n name: 'component1',\n description: 'description for component1',\n generateFiles: (context: ComponentContext) => {\n return [\n\n // index file\n {\n relativePath: 'index.ts',\n isMain: true,\n content: \\`export { \\${context.namePascalCase} } from './\\${context.name}';\nexport type { \\${context.namePascalCase}Props } from './\\${context.name}';\n\\`,\n },\n\n // component file\n {\n relativePath: \\`\\${context.name}.tsx\\`,\n content: \\`import React from 'react';\n\nexport type \\${context.namePascalCase}Props = {\n /**\n * a text to be rendered in the component.\n */\n text: string\n};\n\nexport function \\${context.namePascalCase}({ text }: \\${context.namePascalCase}Props) {\n return (\n <div>\n {text}\n </div>\n );\n}\\`,\n },\n\n // docs file\n {\n relativePath: \\`\\${context.name}.docs.mdx\\`,\n content: \\`---\ndescription: 'A React Component for rendering text.'\nlabels: ['text', 'ui']\n---\n\nimport { \\${context.namePascalCase} } from './\\${context.name}';\n\\`\n },\n\n // composition file\n {\n relativePath: \\`\\${context.name}.composition.tsx\\`,\n content: \\`import React from 'react';\nimport { \\${context.namePascalCase} } from './\\${context.name}';\n\nexport const Basic\\${context.namePascalCase} = () => (\n <\\${context.namePascalCase} text=\"hello from \\${context.namePascalCase} \" />\n);\n\\`\n },\n\n // test file\n {\n relativePath: \\`\\${context.name}.spec.tsx\\`,\n content: \\`import React from 'react';\nimport { render } from '@testing-library/react';\nimport { Basic\\${context.namePascalCase} } from './\\${context.name}.composition';\n\nit('should render with the correct text', () => {\n const { getByText } = render(<Basic\\${context.namePascalCase} />);\n const rendered = getByText('hello from \\${context.namePascalCase}');\n expect(rendered).toBeTruthy();\n});\n\\`\n },\n // add more files here such as css/sass\n ];\n },\n },\n\n // component 2\n {\n name: 'component2',\n description: 'description for component2',\n generateFiles: (context: ComponentContext) => {\n return [\n\n // index file\n {\n relativePath: 'index.ts',\n isMain: true,\n content: \\`export {} from '';\n\\`,\n },\n ]\n }\n }\n ]);\n\n return new ${namePascalCase}Main();\n }\n}\n\n${namePascalCase}Aspect.addRuntime(${namePascalCase}Main);\n`;\n}\n"],"mappings":";;;;;;AAEO,SAASA,WAAWA,CAAC;EAAEC,IAAI;EAAEC;AAAiC,CAAC,EAAE;EACtE,OAAQ;AACV;AACA,WAAWA,cAAe,oBAAmBD,IAAK;AAClD;AACA,eAAeC,cAAe;AAC9B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiBA,cAAe;AAChC;AACA;AACA;AACA,EAAEA,cAAe,qBAAoBA,cAAe;AACpD,CAAC;AACD","ignoreList":[]}
1
+ {"version":3,"names":["mainRuntime","name","namePascalCase"],"sources":["main-runtime.ts"],"sourcesContent":["import { ComponentContext } from '../../../component-template';\n\nexport function mainRuntime({ name, namePascalCase }: ComponentContext) {\n return `import { MainRuntime } from '@teambit/cli';\nimport { GeneratorMain, GeneratorAspect, ComponentContext } from '@teambit/generator';\nimport { ${namePascalCase}Aspect } from './${name}.aspect';\n\nexport class ${namePascalCase}Main {\n static slots = [];\n static dependencies = [GeneratorAspect];\n static runtime = MainRuntime;\n static async provider([generator]: [GeneratorMain]) {\n /**\n * Array of templates. Add as many templates as you want\n * Separate the templates to multiple files if you prefer\n * Modify, add or remove files as needed\n * See the docs file of this component for more info\n */\n\n if (generator) generator.registerComponentTemplate([\n {\n name: 'component1',\n description: 'description for component1',\n generateFiles: (context: ComponentContext) => {\n return [\n\n // index file\n {\n relativePath: 'index.ts',\n isMain: true,\n content: \\`export { \\${context.namePascalCase} } from './\\${context.name}';\nexport type { \\${context.namePascalCase}Props } from './\\${context.name}';\n\\`,\n },\n\n // component file\n {\n relativePath: \\`\\${context.name}.tsx\\`,\n content: \\`import React from 'react';\n\nexport type \\${context.namePascalCase}Props = {\n /**\n * a text to be rendered in the component.\n */\n text: string\n};\n\nexport function \\${context.namePascalCase}({ text }: \\${context.namePascalCase}Props) {\n return (\n <div>\n {text}\n </div>\n );\n}\\`,\n },\n\n // docs file\n {\n relativePath: \\`\\${context.name}.docs.mdx\\`,\n content: \\`---\ndescription: 'A React Component for rendering text.'\nlabels: ['text', 'ui']\n---\n\nimport { \\${context.namePascalCase} } from './\\${context.name}';\n\\`\n },\n\n // composition file\n {\n relativePath: \\`\\${context.name}.composition.tsx\\`,\n content: \\`import React from 'react';\nimport { \\${context.namePascalCase} } from './\\${context.name}';\n\nexport const Basic\\${context.namePascalCase} = () => (\n <\\${context.namePascalCase} text=\"hello from \\${context.namePascalCase} \" />\n);\n\\`\n },\n\n // test file\n {\n relativePath: \\`\\${context.name}.spec.tsx\\`,\n content: \\`import React from 'react';\nimport { render } from '@testing-library/react';\nimport { Basic\\${context.namePascalCase} } from './\\${context.name}.composition';\n\nit('should render with the correct text', () => {\n const { getByText } = render(<Basic\\${context.namePascalCase} />);\n const rendered = getByText('hello from \\${context.namePascalCase}');\n expect(rendered).toBeTruthy();\n});\n\\`\n },\n // add more files here such as css/sass\n ];\n },\n },\n\n // component 2\n {\n name: 'component2',\n description: 'description for component2',\n generateFiles: (context: ComponentContext) => {\n return [\n\n // index file\n {\n relativePath: 'index.ts',\n isMain: true,\n content: \\`export {} from '';\n\\`,\n },\n ]\n }\n }\n ]);\n\n return new ${namePascalCase}Main();\n }\n}\n\n${namePascalCase}Aspect.addRuntime(${namePascalCase}Main);\n`;\n}\n"],"mappings":";;;;;;AAEO,SAASA,WAAWA,CAAC;EAAEC,IAAI;EAAEC;AAAiC,CAAC,EAAE;EACtE,OAAO;AACT;AACA,WAAWA,cAAc,oBAAoBD,IAAI;AACjD;AACA,eAAeC,cAAc;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiBA,cAAc;AAC/B;AACA;AACA;AACA,EAAEA,cAAc,qBAAqBA,cAAc;AACnD,CAAC;AACD","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"names":["_index","data","require","_aspectFile","_docsFile","_mainRuntime","componentGeneratorTemplate","exports","name","description","hidden","generateFiles","context","relativePath","content","indexFile","isMain","aspectFile","docsFile","mainRuntime","config","env"],"sources":["index.ts"],"sourcesContent":["import { ComponentContext, ComponentTemplate } from '../../component-template';\nimport { indexFile } from './files/index';\nimport { aspectFile } from './files/aspect-file';\nimport { docsFile } from './files/docs-file';\nimport { mainRuntime } from './files/main-runtime';\n\nexport const componentGeneratorTemplate: ComponentTemplate = {\n name: 'component-generator',\n description:\n 'create your own component generator \\nDocs: https://bit.dev/docs/dev-services/generator/generate-component',\n hidden: true,\n generateFiles: (context: ComponentContext) => {\n return [\n {\n relativePath: 'index.ts',\n content: indexFile(context),\n isMain: true,\n },\n {\n relativePath: `${context.name}.aspect.ts`,\n content: aspectFile(context),\n },\n {\n relativePath: `${context.name}.docs.mdx`,\n content: docsFile(),\n },\n {\n relativePath: `${context.name}.main.runtime.ts`,\n content: mainRuntime(context),\n },\n ];\n },\n config: {\n 'teambit.harmony/aspect': {},\n 'teambit.envs/envs': {\n env: 'teambit.harmony/aspect',\n },\n },\n};\n"],"mappings":";;;;;;AACA,SAAAA,OAAA;EAAA,MAAAC,IAAA,GAAAC,OAAA;EAAAF,MAAA,YAAAA,CAAA;IAAA,OAAAC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAE,YAAA;EAAA,MAAAF,IAAA,GAAAC,OAAA;EAAAC,WAAA,YAAAA,CAAA;IAAA,OAAAF,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAG,UAAA;EAAA,MAAAH,IAAA,GAAAC,OAAA;EAAAE,SAAA,YAAAA,CAAA;IAAA,OAAAH,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAI,aAAA;EAAA,MAAAJ,IAAA,GAAAC,OAAA;EAAAG,YAAA,YAAAA,CAAA;IAAA,OAAAJ,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAEO,MAAMK,0BAA6C,GAAAC,OAAA,CAAAD,0BAAA,GAAG;EAC3DE,IAAI,EAAE,qBAAqB;EAC3BC,WAAW,EACT,4GAA4G;EAC9GC,MAAM,EAAE,IAAI;EACZC,aAAa,EAAGC,OAAyB,IAAK;IAC5C,OAAO,CACL;MACEC,YAAY,EAAE,UAAU;MACxBC,OAAO,EAAE,IAAAC,kBAAS,EAACH,OAAO,CAAC;MAC3BI,MAAM,EAAE;IACV,CAAC,EACD;MACEH,YAAY,EAAG,GAAED,OAAO,CAACJ,IAAK,YAAW;MACzCM,OAAO,EAAE,IAAAG,wBAAU,EAACL,OAAO;IAC7B,CAAC,EACD;MACEC,YAAY,EAAG,GAAED,OAAO,CAACJ,IAAK,WAAU;MACxCM,OAAO,EAAE,IAAAI,oBAAQ,EAAC;IACpB,CAAC,EACD;MACEL,YAAY,EAAG,GAAED,OAAO,CAACJ,IAAK,kBAAiB;MAC/CM,OAAO,EAAE,IAAAK,0BAAW,EAACP,OAAO;IAC9B,CAAC,CACF;EACH,CAAC;EACDQ,MAAM,EAAE;IACN,wBAAwB,EAAE,CAAC,CAAC;IAC5B,mBAAmB,EAAE;MACnBC,GAAG,EAAE;IACP;EACF;AACF,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["_index","data","require","_aspectFile","_docsFile","_mainRuntime","componentGeneratorTemplate","exports","name","description","hidden","generateFiles","context","relativePath","content","indexFile","isMain","aspectFile","docsFile","mainRuntime","config","env"],"sources":["index.ts"],"sourcesContent":["import { ComponentContext, ComponentTemplate } from '../../component-template';\nimport { indexFile } from './files/index';\nimport { aspectFile } from './files/aspect-file';\nimport { docsFile } from './files/docs-file';\nimport { mainRuntime } from './files/main-runtime';\n\nexport const componentGeneratorTemplate: ComponentTemplate = {\n name: 'component-generator',\n description:\n 'create your own component generator \\nDocs: https://bit.dev/docs/dev-services/generator/generate-component',\n hidden: true,\n generateFiles: (context: ComponentContext) => {\n return [\n {\n relativePath: 'index.ts',\n content: indexFile(context),\n isMain: true,\n },\n {\n relativePath: `${context.name}.aspect.ts`,\n content: aspectFile(context),\n },\n {\n relativePath: `${context.name}.docs.mdx`,\n content: docsFile(),\n },\n {\n relativePath: `${context.name}.main.runtime.ts`,\n content: mainRuntime(context),\n },\n ];\n },\n config: {\n 'teambit.harmony/aspect': {},\n 'teambit.envs/envs': {\n env: 'teambit.harmony/aspect',\n },\n },\n};\n"],"mappings":";;;;;;AACA,SAAAA,OAAA;EAAA,MAAAC,IAAA,GAAAC,OAAA;EAAAF,MAAA,YAAAA,CAAA;IAAA,OAAAC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAE,YAAA;EAAA,MAAAF,IAAA,GAAAC,OAAA;EAAAC,WAAA,YAAAA,CAAA;IAAA,OAAAF,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAG,UAAA;EAAA,MAAAH,IAAA,GAAAC,OAAA;EAAAE,SAAA,YAAAA,CAAA;IAAA,OAAAH,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAI,aAAA;EAAA,MAAAJ,IAAA,GAAAC,OAAA;EAAAG,YAAA,YAAAA,CAAA;IAAA,OAAAJ,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAEO,MAAMK,0BAA6C,GAAAC,OAAA,CAAAD,0BAAA,GAAG;EAC3DE,IAAI,EAAE,qBAAqB;EAC3BC,WAAW,EACT,4GAA4G;EAC9GC,MAAM,EAAE,IAAI;EACZC,aAAa,EAAGC,OAAyB,IAAK;IAC5C,OAAO,CACL;MACEC,YAAY,EAAE,UAAU;MACxBC,OAAO,EAAE,IAAAC,kBAAS,EAACH,OAAO,CAAC;MAC3BI,MAAM,EAAE;IACV,CAAC,EACD;MACEH,YAAY,EAAE,GAAGD,OAAO,CAACJ,IAAI,YAAY;MACzCM,OAAO,EAAE,IAAAG,wBAAU,EAACL,OAAO;IAC7B,CAAC,EACD;MACEC,YAAY,EAAE,GAAGD,OAAO,CAACJ,IAAI,WAAW;MACxCM,OAAO,EAAE,IAAAI,oBAAQ,EAAC;IACpB,CAAC,EACD;MACEL,YAAY,EAAE,GAAGD,OAAO,CAACJ,IAAI,kBAAkB;MAC/CM,OAAO,EAAE,IAAAK,0BAAW,EAACP,OAAO;IAC9B,CAAC,CACF;EACH,CAAC;EACDQ,MAAM,EAAE;IACN,wBAAwB,EAAE,CAAC,CAAC;IAC5B,mBAAmB,EAAE;MACnBC,GAAG,EAAE;IACP;EACF;AACF,CAAC","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"names":["docFile","context","name","componentId","toString"],"sources":["doc-file.ts"],"sourcesContent":["import { ComponentContext } from '../../../component-template';\n\nexport function docFile(context: ComponentContext) {\n const { name, componentId } = context;\n return `---\ndescription: Starter for generating a ${name} workspace\nlabels: ['generator', 'templates', '${name}-workspace']\n---\n\n## Using the ${name} Workspace Starter\n\nHow to use this generator locally, essentially for development purposes:\n\n\\`\\`\\`js\nbit new ${name} my-${name}-workspace --load-from /Users/me/path/to/this/dir --aspect ${componentId.toString()}\n\\`\\`\\`\n\nHow to use this generator after exporting to a remote scope:\n\n\\`\\`\\`js\nbit new ${name} my-${name}-workspace --aspect ${componentId.toString()}\n\\`\\`\\`\n`;\n}\n"],"mappings":";;;;;;AAEO,SAASA,OAAOA,CAACC,OAAyB,EAAE;EACjD,MAAM;IAAEC,IAAI;IAAEC;EAAY,CAAC,GAAGF,OAAO;EACrC,OAAQ;AACV,wCAAwCC,IAAK;AAC7C,sCAAsCA,IAAK;AAC3C;AACA;AACA,eAAeA,IAAK;AACpB;AACA;AACA;AACA;AACA,UAAUA,IAAK,OAAMA,IAAK,8DAA6DC,WAAW,CAACC,QAAQ,CAAC,CAAE;AAC9G;AACA;AACA;AACA;AACA;AACA,UAAUF,IAAK,OAAMA,IAAK,uBAAsBC,WAAW,CAACC,QAAQ,CAAC,CAAE;AACvE;AACA,CAAC;AACD","ignoreList":[]}
1
+ {"version":3,"names":["docFile","context","name","componentId","toString"],"sources":["doc-file.ts"],"sourcesContent":["import { ComponentContext } from '../../../component-template';\n\nexport function docFile(context: ComponentContext) {\n const { name, componentId } = context;\n return `---\ndescription: Starter for generating a ${name} workspace\nlabels: ['generator', 'templates', '${name}-workspace']\n---\n\n## Using the ${name} Workspace Starter\n\nHow to use this generator locally, essentially for development purposes:\n\n\\`\\`\\`js\nbit new ${name} my-${name}-workspace --load-from /Users/me/path/to/this/dir --aspect ${componentId.toString()}\n\\`\\`\\`\n\nHow to use this generator after exporting to a remote scope:\n\n\\`\\`\\`js\nbit new ${name} my-${name}-workspace --aspect ${componentId.toString()}\n\\`\\`\\`\n`;\n}\n"],"mappings":";;;;;;AAEO,SAASA,OAAOA,CAACC,OAAyB,EAAE;EACjD,MAAM;IAAEC,IAAI;IAAEC;EAAY,CAAC,GAAGF,OAAO;EACrC,OAAO;AACT,wCAAwCC,IAAI;AAC5C,sCAAsCA,IAAI;AAC1C;AACA;AACA,eAAeA,IAAI;AACnB;AACA;AACA;AACA;AACA,UAAUA,IAAI,OAAOA,IAAI,8DAA8DC,WAAW,CAACC,QAAQ,CAAC,CAAC;AAC7G;AACA;AACA;AACA;AACA;AACA,UAAUF,IAAI,OAAOA,IAAI,uBAAuBC,WAAW,CAACC,QAAQ,CAAC,CAAC;AACtE;AACA,CAAC;AACD","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"names":["generateFiles"],"sources":["generate-files.ts"],"sourcesContent":["export function generateFiles() {\n return `import { WorkspaceContext, WorkspaceFile } from '@teambit/generator';\n import { workspaceConfig } from './workspace-config';\n import { gitIgnore } from './git-ignore';\n \n export async function generateFiles(\n context: WorkspaceContext,\n ): Promise<WorkspaceFile[]> {\n const files: WorkspaceFile[] = [\n {\n relativePath: 'workspace.jsonc',\n content: await workspaceConfig(context),\n },\n ];\n \n if (!context.skipGit) {\n files.push({\n relativePath: '.gitignore',\n content: gitIgnore(),\n });\n }\n \n return files;\n }\n \n`;\n}\n"],"mappings":";;;;;;AAAO,SAASA,aAAaA,CAAA,EAAG;EAC9B,OAAQ;AACV;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD","ignoreList":[]}
1
+ {"version":3,"names":["generateFiles"],"sources":["generate-files.ts"],"sourcesContent":["export function generateFiles() {\n return `import { WorkspaceContext, WorkspaceFile } from '@teambit/generator';\n import { workspaceConfig } from './workspace-config';\n import { gitIgnore } from './git-ignore';\n \n export async function generateFiles(\n context: WorkspaceContext,\n ): Promise<WorkspaceFile[]> {\n const files: WorkspaceFile[] = [\n {\n relativePath: 'workspace.jsonc',\n content: await workspaceConfig(context),\n },\n ];\n \n if (!context.skipGit) {\n files.push({\n relativePath: '.gitignore',\n content: gitIgnore(),\n });\n }\n \n return files;\n }\n \n`;\n}\n"],"mappings":";;;;;;AAAO,SAASA,aAAaA,CAAA,EAAG;EAC9B,OAAO;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD","ignoreList":[]}