@teambit/generator 1.0.493 → 1.0.495
Sign up to get free protection for your applications and to get access to all the features.
- package/artifacts/__bit_junit.xml +1 -1
- package/artifacts/preview/teambit_generator_generator-preview.js +1 -1
- package/artifacts/schema.json +1 -1
- package/dist/generator.main.runtime.js +1 -1
- package/dist/generator.main.runtime.js.map +1 -1
- package/dist/{preview-1733950992344.js → preview-1734260112091.js} +2 -2
- package/package.json +28 -28
@@ -1,4 +1,4 @@
|
|
1
1
|
<?xml version="1.0" encoding="UTF-8"?>
|
2
2
|
<testsuites tests="0" failures="0" errors="0" skipped="0">
|
3
|
-
<testsuite name="teambit.generator/generator@1.0.
|
3
|
+
<testsuite name="teambit.generator/generator@1.0.495" tests="0" failures="0" errors="0" skipped="0"/>
|
4
4
|
</testsuites>
|
@@ -1 +1 @@
|
|
1
|
-
!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports["teambit.generator/generator-preview"]=t():e["teambit.generator/generator-preview"]=t()}(self,(()=>(()=>{"use strict";var e={51284:(e,t,n)=>{var a={id:"teambit.generator/aspect-docs/generator@0.0.173",homepage:"https://bit.cloud/teambit/generator/aspect-docs/generator",exported:!0};Object.defineProperty(t,"__esModule",{value:!0}),t.default=c,l(n(41594));var o=n(5016),r=["components"];function l(e){return e&&e.__esModule?e:{default:e}}function m(){return m=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var a in n)({}).hasOwnProperty.call(n,a)&&(e[a]=n[a])}return e},m.apply(null,arguments)}function p(e,t){if(null==e)return{};var n,a,o=i(e,t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);for(a=0;a<r.length;a++)n=r[a],t.includes(n)||{}.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}function i(e,t){if(null==e)return{};var n={};for(var a in e)if({}.hasOwnProperty.call(e,a)){if(t.includes(a))continue;n[a]=e[a]}return n}l.__bit_component=a,m.__bit_component=a,p.__bit_component=a,i.__bit_component=a;var s={},d="wrapper";function c(e){var t=e.components,n=p(e,r);return(0,o.mdx)(d,m({},s,n,{components:t,mdxType:"MDXLayout"}),(0,o.mdx)("p",null,"Generator extension enable generating new components by pre-defined templates"),(0,o.mdx)("h3",null,"Component location"),(0,o.mdx)("p",null,"Component location in the workspace directory tree is defined with the ",(0,o.mdx)("inlineCode",{parentName:"p"},"bit create")," command (see below). For example, a component named ",(0,o.mdx)("inlineCode",{parentName:"p"},"ShoppingCart")," created in the ",(0,o.mdx)("inlineCode",{parentName:"p"},"acme.shopper")," and the namespace ",(0,o.mdx)("inlineCode",{parentName:"p"},"ui")," will be generated in the following directory:"),(0,o.mdx)("pre",null,(0,o.mdx)("code",{parentName:"pre"},"acme.shopper/ui/shopping-cart\n")),(0,o.mdx)("h3",null,"Component name"),(0,o.mdx)("p",null,"When using templates Bit will use CamelCasing for passing the component-name to the template, but generated file structure should be in kebab-case, for better cross-operating-system compatibility of the component."),(0,o.mdx)("h3",null,"Automatically ",(0,o.mdx)("inlineCode",{parentName:"h3"},"add")," component"),(0,o.mdx)("p",null,"Bit should automatically register the new component to the ",(0,o.mdx)("inlineCode",{parentName:"p"},".bitmap")," file with a symmetrical name to the component-location in the workspace."),(0,o.mdx)("h2",null,"Register a template"),(0,o.mdx)("p",null,"Any aspect (include envs) can register templates. Each template should have a name and a list of files. Each file has a relative-path to the component-dir and template content. See the ",(0,o.mdx)("inlineCode",{parentName:"p"},"component-template.ts")," file for more info about the exact API."),(0,o.mdx)("ul",null,(0,o.mdx)("li",{parentName:"ul"},"Component name should be available as a param for the file-content-template."),(0,o.mdx)("li",{parentName:"ul"},"TBD: An environment must have a default template (if not set, use first template in array?).")),(0,o.mdx)("p",null,"To register a template, use the Generator API: ",(0,o.mdx)("inlineCode",{parentName:"p"},"registerComponentTemplate(templates: ComponentTemplate[])"),"."),(0,o.mdx)("p",null,"To make the templates of an aspect available on a workspace, they need to be added to the workspace.jsonc. For example:"),(0,o.mdx)("pre",null,(0,o.mdx)("code",{parentName:"pre",className:"language-json"},'"teambit.generator/generator": {\n "aspects": [\n "teambit.harmony/aspect"\n ]\n },\n')),(0,o.mdx)("p",null,"In the example above, the aspect ",(0,o.mdx)("inlineCode",{parentName:"p"},"teambit.harmony/aspect")," is configured to be available for the generator."),(0,o.mdx)("h2",null,"Show all available templates"),(0,o.mdx)("p",null,"Introduce a new command ",(0,o.mdx)("inlineCode",{parentName:"p"},"bit templates"),", which groups all available templates by aspects."),(0,o.mdx)("h2",null,"Hide core templates"),(0,o.mdx)("p",null,"Configure the Generator aspect to hide core templates when running ",(0,o.mdx)("inlineCode",{parentName:"p"},"bit templates"),". They'll be only shown when using ",(0,o.mdx)("inlineCode",{parentName:"p"},"--show-all")," flag."),(0,o.mdx)("pre",null,(0,o.mdx)("code",{parentName:"pre",className:"language-json"},'"teambit.generator/generator": {\n "hideCoreTemplates": true\n },\n')),(0,o.mdx)("h2",null,"Generate a template from CLI"),(0,o.mdx)("p",null,"Introduce a ",(0,o.mdx)("inlineCode",{parentName:"p"},"create")," command to use templates."),(0,o.mdx)("pre",null,(0,o.mdx)("code",{parentName:"pre",className:"language-sh"},"bit create <template-name> <component-name...> [--scope | -s] [--namespace | -n] [--aspect | -a]\n")),(0,o.mdx)("h3",null,"Args"),(0,o.mdx)("h4",null,(0,o.mdx)("inlineCode",{parentName:"h4"},"<component name>")),(0,o.mdx)("p",null,"Name of the component to create. Will be used as the component's dir name and fed to the component template."),(0,o.mdx)("p",null,(0,o.mdx)("strong",{parentName:"p"},"generated file structure should use kebab-case, while the template itself be in camel case"),"."),(0,o.mdx)("h3",null,"Options"),(0,o.mdx)("h4",null,(0,o.mdx)("inlineCode",{parentName:"h4"},"[--scope | -s]")),(0,o.mdx)("p",null,"Sets the component's scope and base directory. If not defined, use the ",(0,o.mdx)("inlineCode",{parentName:"p"},"defaultScope")," from ",(0,o.mdx)("inlineCode",{parentName:"p"},"teambit.workspace/workspace")," config."),(0,o.mdx)("h4",null,(0,o.mdx)("inlineCode",{parentName:"h4"},"[--namespace | -n]")),(0,o.mdx)("p",null,"Sets the component's namespace and nested dirs inside the scope. If not define, use empty string."),(0,o.mdx)("h4",null,(0,o.mdx)("inlineCode",{parentName:"h4"},"[--aspect | -a]")),(0,o.mdx)("p",null,"Aspect ID that registered this template, required only if there are two templates with the same name from several aspects in the workspace."),(0,o.mdx)("h2",null,"Creating a custom template generator"),(0,o.mdx)("p",null,"See our ",(0,o.mdx)("a",{parentName:"p",href:"https://harmony-docs.bit.dev/extending-bit/creating-a-custom-generator"},"tutorial")," on how to Create your own custom component generator."))}c.__bit_component=a,c.isMDXComponent=!0},95448:(e,t,n)=>{Object.defineProperty(t,"W",{enumerable:!0,get:function(){return a.default}});var a=o(n(51284));function o(e){return e&&e.__esModule?e:{default:e}}o.__bit_component={id:"teambit.generator/aspect-docs/generator@0.0.173",homepage:"https://bit.cloud/teambit/generator/aspect-docs/generator",exported:!0}},
|
1
|
+
!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports["teambit.generator/generator-preview"]=t():e["teambit.generator/generator-preview"]=t()}(self,(()=>(()=>{"use strict";var e={51284:(e,t,n)=>{var a={id:"teambit.generator/aspect-docs/generator@0.0.173",homepage:"https://bit.cloud/teambit/generator/aspect-docs/generator",exported:!0};Object.defineProperty(t,"__esModule",{value:!0}),t.default=c,l(n(41594));var o=n(5016),r=["components"];function l(e){return e&&e.__esModule?e:{default:e}}function m(){return m=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var a in n)({}).hasOwnProperty.call(n,a)&&(e[a]=n[a])}return e},m.apply(null,arguments)}function p(e,t){if(null==e)return{};var n,a,o=i(e,t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);for(a=0;a<r.length;a++)n=r[a],t.includes(n)||{}.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}function i(e,t){if(null==e)return{};var n={};for(var a in e)if({}.hasOwnProperty.call(e,a)){if(t.includes(a))continue;n[a]=e[a]}return n}l.__bit_component=a,m.__bit_component=a,p.__bit_component=a,i.__bit_component=a;var s={},d="wrapper";function c(e){var t=e.components,n=p(e,r);return(0,o.mdx)(d,m({},s,n,{components:t,mdxType:"MDXLayout"}),(0,o.mdx)("p",null,"Generator extension enable generating new components by pre-defined templates"),(0,o.mdx)("h3",null,"Component location"),(0,o.mdx)("p",null,"Component location in the workspace directory tree is defined with the ",(0,o.mdx)("inlineCode",{parentName:"p"},"bit create")," command (see below). For example, a component named ",(0,o.mdx)("inlineCode",{parentName:"p"},"ShoppingCart")," created in the ",(0,o.mdx)("inlineCode",{parentName:"p"},"acme.shopper")," and the namespace ",(0,o.mdx)("inlineCode",{parentName:"p"},"ui")," will be generated in the following directory:"),(0,o.mdx)("pre",null,(0,o.mdx)("code",{parentName:"pre"},"acme.shopper/ui/shopping-cart\n")),(0,o.mdx)("h3",null,"Component name"),(0,o.mdx)("p",null,"When using templates Bit will use CamelCasing for passing the component-name to the template, but generated file structure should be in kebab-case, for better cross-operating-system compatibility of the component."),(0,o.mdx)("h3",null,"Automatically ",(0,o.mdx)("inlineCode",{parentName:"h3"},"add")," component"),(0,o.mdx)("p",null,"Bit should automatically register the new component to the ",(0,o.mdx)("inlineCode",{parentName:"p"},".bitmap")," file with a symmetrical name to the component-location in the workspace."),(0,o.mdx)("h2",null,"Register a template"),(0,o.mdx)("p",null,"Any aspect (include envs) can register templates. Each template should have a name and a list of files. Each file has a relative-path to the component-dir and template content. See the ",(0,o.mdx)("inlineCode",{parentName:"p"},"component-template.ts")," file for more info about the exact API."),(0,o.mdx)("ul",null,(0,o.mdx)("li",{parentName:"ul"},"Component name should be available as a param for the file-content-template."),(0,o.mdx)("li",{parentName:"ul"},"TBD: An environment must have a default template (if not set, use first template in array?).")),(0,o.mdx)("p",null,"To register a template, use the Generator API: ",(0,o.mdx)("inlineCode",{parentName:"p"},"registerComponentTemplate(templates: ComponentTemplate[])"),"."),(0,o.mdx)("p",null,"To make the templates of an aspect available on a workspace, they need to be added to the workspace.jsonc. For example:"),(0,o.mdx)("pre",null,(0,o.mdx)("code",{parentName:"pre",className:"language-json"},'"teambit.generator/generator": {\n "aspects": [\n "teambit.harmony/aspect"\n ]\n },\n')),(0,o.mdx)("p",null,"In the example above, the aspect ",(0,o.mdx)("inlineCode",{parentName:"p"},"teambit.harmony/aspect")," is configured to be available for the generator."),(0,o.mdx)("h2",null,"Show all available templates"),(0,o.mdx)("p",null,"Introduce a new command ",(0,o.mdx)("inlineCode",{parentName:"p"},"bit templates"),", which groups all available templates by aspects."),(0,o.mdx)("h2",null,"Hide core templates"),(0,o.mdx)("p",null,"Configure the Generator aspect to hide core templates when running ",(0,o.mdx)("inlineCode",{parentName:"p"},"bit templates"),". They'll be only shown when using ",(0,o.mdx)("inlineCode",{parentName:"p"},"--show-all")," flag."),(0,o.mdx)("pre",null,(0,o.mdx)("code",{parentName:"pre",className:"language-json"},'"teambit.generator/generator": {\n "hideCoreTemplates": true\n },\n')),(0,o.mdx)("h2",null,"Generate a template from CLI"),(0,o.mdx)("p",null,"Introduce a ",(0,o.mdx)("inlineCode",{parentName:"p"},"create")," command to use templates."),(0,o.mdx)("pre",null,(0,o.mdx)("code",{parentName:"pre",className:"language-sh"},"bit create <template-name> <component-name...> [--scope | -s] [--namespace | -n] [--aspect | -a]\n")),(0,o.mdx)("h3",null,"Args"),(0,o.mdx)("h4",null,(0,o.mdx)("inlineCode",{parentName:"h4"},"<component name>")),(0,o.mdx)("p",null,"Name of the component to create. Will be used as the component's dir name and fed to the component template."),(0,o.mdx)("p",null,(0,o.mdx)("strong",{parentName:"p"},"generated file structure should use kebab-case, while the template itself be in camel case"),"."),(0,o.mdx)("h3",null,"Options"),(0,o.mdx)("h4",null,(0,o.mdx)("inlineCode",{parentName:"h4"},"[--scope | -s]")),(0,o.mdx)("p",null,"Sets the component's scope and base directory. If not defined, use the ",(0,o.mdx)("inlineCode",{parentName:"p"},"defaultScope")," from ",(0,o.mdx)("inlineCode",{parentName:"p"},"teambit.workspace/workspace")," config."),(0,o.mdx)("h4",null,(0,o.mdx)("inlineCode",{parentName:"h4"},"[--namespace | -n]")),(0,o.mdx)("p",null,"Sets the component's namespace and nested dirs inside the scope. If not define, use empty string."),(0,o.mdx)("h4",null,(0,o.mdx)("inlineCode",{parentName:"h4"},"[--aspect | -a]")),(0,o.mdx)("p",null,"Aspect ID that registered this template, required only if there are two templates with the same name from several aspects in the workspace."),(0,o.mdx)("h2",null,"Creating a custom template generator"),(0,o.mdx)("p",null,"See our ",(0,o.mdx)("a",{parentName:"p",href:"https://harmony-docs.bit.dev/extending-bit/creating-a-custom-generator"},"tutorial")," on how to Create your own custom component generator."))}c.__bit_component=a,c.isMDXComponent=!0},95448:(e,t,n)=>{Object.defineProperty(t,"W",{enumerable:!0,get:function(){return a.default}});var a=o(n(51284));function o(e){return e&&e.__esModule?e:{default:e}}o.__bit_component={id:"teambit.generator/aspect-docs/generator@0.0.173",homepage:"https://bit.cloud/teambit/generator/aspect-docs/generator",exported:!0}},25400:(e,t,n)=>{var a={id:"teambit.generator/generator@1.0.495",homepage:"https://bit.cloud/teambit/generator/generator",exported:!0};function o(){const e=r(n(41594));return o=function(){return e},e}function r(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0}),t.Logo=void 0,o.__bit_component=a,r.__bit_component=a;const l=()=>o().default.createElement("div",{style:{height:"100%",display:"flex",justifyContent:"center"}},o().default.createElement("img",{style:{width:70},src:"https://static.bit.dev/extensions-icons/generator-new.svg"}));l.__bit_component=a,t.Logo=l},5016:e=>{e.exports=MdxJsReact},41594:e=>{e.exports=React}},t={};function n(a){var o=t[a];if(void 0!==o)return o.exports;var r=t[a]={exports:{}};return e[a](r,r.exports,n),r.exports}n.d=(e,t)=>{for(var a in t)n.o(t,a)&&!n.o(e,a)&&Object.defineProperty(e,a,{enumerable:!0,get:t[a]})},n.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),n.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};var a={};n.r(a),n.d(a,{compositions:()=>h,compositions_metadata:()=>x,overview:()=>f});var o={};n.r(o),n.d(o,{default:()=>u});var r=n(25400),l=(n(41594),n(5016));const m=TeambitMdxUiMdxScopeContext;var p=n(95448),i=["components"];function s(){return s=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var a in n)({}).hasOwnProperty.call(n,a)&&(e[a]=n[a])}return e},s.apply(null,arguments)}var d={},c="wrapper";function u(e){var t=e.components,n=function(e,t){if(null==e)return{};var n,a,o=function(e,t){if(null==e)return{};var n={};for(var a in e)if({}.hasOwnProperty.call(e,a)){if(t.includes(a))continue;n[a]=e[a]}return n}(e,t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);for(a=0;a<r.length;a++)n=r[a],t.includes(n)||{}.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}(e,i);return(0,l.mdx)(c,s({},d,n,{components:t,mdxType:"MDXLayout"}),(0,l.mdx)(m.MDXScopeProvider,{components:{Generator:p.W},mdxType:"MDXScopeProvider"},(0,l.mdx)(p.W,{mdxType:"Generator"})))}u.isMDXComponent=!0;const h=[r],f=[o],x={compositions:[{displayName:"Logo",identifier:"Logo"}]};return a})()));
|
package/artifacts/schema.json
CHANGED
@@ -14590,7 +14590,7 @@
|
|
14590
14590
|
"componentId": {
|
14591
14591
|
"scope": "teambit.generator",
|
14592
14592
|
"name": "generator",
|
14593
|
-
"version": "1.0.
|
14593
|
+
"version": "1.0.495"
|
14594
14594
|
},
|
14595
14595
|
"taggedModuleExports": []
|
14596
14596
|
}
|
@@ -459,7 +459,7 @@ class GeneratorMain {
|
|
459
459
|
let workspace;
|
460
460
|
try {
|
461
461
|
workspace = harmony.get(_workspace().WorkspaceAspect.id);
|
462
|
-
} catch
|
462
|
+
} catch {
|
463
463
|
throw new Error(`fatal: "${workspacePath}" is not a valid Bit workspace, make sure the path is correct`);
|
464
464
|
}
|
465
465
|
const aspectComponentId = await workspace.resolveComponentId(aspectId);
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":["_fsExtra","data","_interopRequireDefault","require","_camelcase","_path","_graphql","_cli","_workspace","_envs","_legacy","_workspaceConfigFiles","_component","_legacy2","_scope","_harmony","_git","_bitError","_aspectLoader","_tracker","_newComponentHelper","_lodash","_logger","_deprecation","_generator","_create","_templates","_generator2","_componentGenerator","_workspaceGenerator","_new","_templates2","_basic","_starter","_generator3","_workspacePathExists","_legacy3","e","__esModule","default","ownKeys","r","t","Object","keys","getOwnPropertySymbols","o","filter","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","_toPropertyKey","value","configurable","writable","i","_toPrimitive","Symbol","toPrimitive","call","TypeError","String","Number","GeneratorMain","constructor","componentTemplateSlot","workspaceTemplateSlot","onComponentCreateSlot","config","workspace","envs","aspectLoader","newComponentHelper","componentAspect","tracker","logger","git","wsConfigFiles","deprecation","id","template","shouldBeHidden","hidden","hideCoreTemplates","bitApi","isCoreAspect","aspectId","name","description","setBitApi","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","loadAspectsFromGlobalScope","aspectIds","globalScope","LegacyScope","ensure","GLOBAL_SCOPE","ensureDir","legacyGlobalsSnapshot","takeLegacyGlobalsSnapshot","globalScopeHarmony","loadBit","path","scope","ScopeAspect","AspectLoaderAspect","ids","map","ComponentID","fromString","hasVersions","every","hasVersion","useCache","import","reason","components","getMany","resolvedAspects","getResolvedAspects","workspaceName","loadRequireableExtensions","err","error","code","resolvedAspectsAgain","skipIfExists","getGlobalGeneratorEnvs","remoteGenerator","GeneratorAspect","remoteEnvsAspect","EnvsAspect","fullAspectId","toString","restoreGlobalsFromSnapshot","findWorkspaceTemplateInGlobalScope","fromGlobal","searchRegisteredWorkspaceTemplate","workspaceTemplate","findTemplateInOtherWorkspace","workspacePath","BitError","harmony","WorkspaceAspect","Error","aspectComponentId","resolveComponentId","loadAspects","aspectComponent","aspectFullId","generator","getWorkspaceTemplate","registeredTemplate","listEnvWorkspaceTemplates","getAllWorkspaceTemplatesFlattened","tpl","generateComponentTemplate","componentNames","templateName","options","installOptions","OutsideWorkspaceError","namespace","componentConfigLoadingRegistry","ComponentConfig","templateWithId","componentIds","componentName","getNewComponentId","componentNameSameAsTemplateName","componentId","compNamePascal","camelCase","pascalCase","envId","getEnvIdFromTemplateWithId","componentGenerator","ComponentGenerator","generate","force","envIdFromTemplate","env","parsedFromTemplate","tryFromString","resolvedId","resolveEnvIdWithPotentialVersionForConfig","envName","Promise","resolve","undefined","generateWorkspaceTemplate","currentDir","process","cwd","fs","existsSync","WorkspacePathExists","loadFrom","workspaceGenerator","WorkspaceGenerator","warnAboutDeprecation","appName","deprecationInfo","getDeprecationInfo","isDeprecate","newStarterMsg","newId","consoleWarning","envTemplates","listEnvComponentTemplateDescriptors","filtered","flattened","getTemplateDescriptor","templatesByAspects","toArray","flatMap","componentTemplates","workspaceTemplates","loadEnvs","getGeneratorStarters","envStarters","starter","compact","envTemplate","toStringWithoutVersion","titlePrefix","getConfiguredEnvs","configEnvs","includes","globals","allIds","uniq","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","NewComponentHelperAspect","ComponentAspect","TrackerAspect","LoggerAspect","GitAspect","WorkspaceConfigFilesAspect","DeprecationAspect","MainRuntime","addRuntime"],"sources":["generator.main.runtime.ts"],"sourcesContent":["import fs from 'fs-extra';\nimport camelCase from 'camelcase';\nimport { resolve } from 'path';\nimport { 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.consumer-config';\nimport { WorkspaceConfigFilesAspect, WorkspaceConfigFilesMain } from '@teambit/workspace-config-files';\nimport { ComponentAspect, ComponentID } from '@teambit/component';\nimport type { ComponentMain, Component } from '@teambit/component';\nimport { Scope as LegacyScope } from '@teambit/legacy.scope';\nimport { ScopeAspect, ScopeMain } from '@teambit/scope';\nimport { Harmony, 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, uniq } from 'lodash';\nimport { Logger, LoggerAspect, LoggerMain } from '@teambit/logger';\nimport { DeprecationAspect, DeprecationMain } from '@teambit/deprecation';\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, InstallOptions, 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';\nimport { GLOBAL_SCOPE } from '@teambit/legacy.constants';\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\ntype LegacyGlobal = { classInstance: any; methodName: string; value: any; empty: any };\nexport type BitApi = {\n isCoreAspect: (id: string) => boolean;\n loadBit: (path?: string) => Promise<Harmony>;\n restoreGlobalsFromSnapshot: (globals: LegacyGlobal[]) => void;\n takeLegacyGlobalsSnapshot: () => LegacyGlobal[];\n};\n\nexport type GenerateWorkspaceTemplateResult = { workspacePath: string; appName?: string };\n\nexport type GeneratorConfig = {\n /**\n * array of aspects to include in the list of templates.\n */\n aspects: string[];\n\n /**\n * by default core templates are shown.\n * use this to hide them unless `--show-all` flag of `bit templates` was used\n */\n hideCoreTemplates: boolean;\n\n /**\n * default envs.\n */\n envs?: string[];\n};\n\nexport class GeneratorMain {\n private aspectLoaded = false;\n private bitApi: BitApi;\n constructor(\n private componentTemplateSlot: ComponentTemplateSlot,\n private workspaceTemplateSlot: WorkspaceTemplateSlot,\n private onComponentCreateSlot: OnComponentCreateSlot,\n private config: GeneratorConfig,\n private workspace: Workspace,\n private envs: EnvsMain,\n private aspectLoader: AspectLoaderMain,\n private newComponentHelper: NewComponentHelperMain,\n private componentAspect: ComponentMain,\n private tracker: TrackerMain,\n private logger: Logger,\n private git: GitMain,\n private wsConfigFiles: WorkspaceConfigFilesMain,\n private deprecation: DeprecationMain\n ) {}\n\n setBitApi(bitApi: BitApi) {\n this.bitApi = bitApi;\n }\n\n /**\n * register a new component template.\n */\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 && this.bitApi.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 or create a global scope, import the non-core aspects, load bit from that scope, create\n * capsules for the aspects and load them from the capsules.\n */\n private async loadAspectsFromGlobalScope(\n aspectIds: string[]\n ): Promise<{ components: Component[]; globalScopeHarmony: Harmony; legacyGlobalsSnapshot: LegacyGlobal[] }> {\n const globalScope = await LegacyScope.ensure(GLOBAL_SCOPE, 'global-scope');\n await globalScope.ensureDir();\n const legacyGlobalsSnapshot = this.bitApi.takeLegacyGlobalsSnapshot();\n const globalScopeHarmony = await this.bitApi.loadBit(globalScope.path);\n const scope = globalScopeHarmony.get<ScopeMain>(ScopeAspect.id);\n const aspectLoader = globalScopeHarmony.get<AspectLoaderMain>(AspectLoaderAspect.id);\n const ids = aspectIds.map((id) => ComponentID.fromString(id));\n const hasVersions = ids.every((id) => id.hasVersion());\n const useCache = hasVersions; // if all components has versions, try to use the cached aspects\n await scope.import(ids, { useCache, reason: 'to load aspects from global scope' });\n const components = await scope.getMany(ids, true);\n\n // don't use `await scope.loadAspectsFromCapsules(components, true);`\n // it won't work for globalScope because `this !== scope.aspectLoader` (this instance\n // is not the same as the aspectLoader instance Scope has)\n const resolvedAspects = await scope.getResolvedAspects(components, { workspaceName: 'global-scope' });\n try {\n await aspectLoader.loadRequireableExtensions(resolvedAspects, true);\n } catch (err: any) {\n if (err?.error?.code === 'MODULE_NOT_FOUND') {\n const resolvedAspectsAgain = await scope.getResolvedAspects(components, {\n skipIfExists: false,\n workspaceName: 'global-scope',\n });\n await aspectLoader.loadRequireableExtensions(resolvedAspectsAgain, true);\n } else {\n throw err;\n }\n }\n\n return { components, globalScopeHarmony, legacyGlobalsSnapshot };\n }\n\n /**\n * Get the generator aspect and the envs aspect from an harmony instance of the global scope\n */\n private async getGlobalGeneratorEnvs(\n aspectId: string\n ): Promise<{ remoteGenerator: GeneratorMain; fullAspectId: string; remoteEnvsAspect: EnvsMain; aspect: any }> {\n const { globalScopeHarmony, components, legacyGlobalsSnapshot } = await this.loadAspectsFromGlobalScope([aspectId]);\n const remoteGenerator = globalScopeHarmony.get<GeneratorMain>(GeneratorAspect.id);\n const remoteEnvsAspect = globalScopeHarmony.get<EnvsMain>(EnvsAspect.id);\n const aspect = components[0];\n const fullAspectId = aspect.id.toString();\n this.bitApi.restoreGlobalsFromSnapshot(legacyGlobalsSnapshot);\n\n return { remoteGenerator, fullAspectId, remoteEnvsAspect, aspect };\n }\n\n /**\n * in the case the aspect-id is given and this aspect doesn't exist locally, import it to the\n * global scope and load it from the capsule\n */\n async findWorkspaceTemplateInGlobalScope(\n aspectId: string,\n name?: string\n ): Promise<{ workspaceTemplate?: WorkspaceTemplate; aspect?: Component }> {\n const { remoteGenerator, fullAspectId, remoteEnvsAspect, aspect } = await this.getGlobalGeneratorEnvs(aspectId);\n const fromGlobal = await remoteGenerator.searchRegisteredWorkspaceTemplate.call(\n remoteGenerator,\n name,\n fullAspectId,\n remoteEnvsAspect\n );\n return { workspaceTemplate: fromGlobal, aspect };\n }\n\n async findTemplateInOtherWorkspace(workspacePath: string, name: string, aspectId?: string) {\n if (!aspectId)\n throw new BitError(\n `to load a template from a different workspace, please provide the aspect-id using --aspect flag`\n );\n const harmony = await this.bitApi.loadBit(workspacePath);\n let workspace: Workspace;\n try {\n workspace = harmony.get<Workspace>(WorkspaceAspect.id);\n } catch (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 installOptions?: InstallOptions\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 installOptions\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(\n workspaceName,\n workspacePath,\n options,\n workspaceTemplate,\n this.bitApi,\n aspect\n );\n await this.warnAboutDeprecation(aspect);\n await workspaceGenerator.generate();\n return { workspacePath, appName: workspaceTemplate.appName };\n }\n\n private async warnAboutDeprecation(aspect?: Component) {\n if (!aspect) return;\n const deprecationInfo = await this.deprecation.getDeprecationInfo(aspect);\n if (deprecationInfo.isDeprecate) {\n const newStarterMsg = deprecationInfo.newId ? `, use \"${deprecationInfo.newId.toString()}\" instead` : '';\n this.logger.consoleWarning(`the starter \"${aspect?.id.toString()}\" is deprecated${newStarterMsg}`);\n }\n }\n\n private async getAllComponentTemplatesDescriptorsFlattened(aspectId?: string): Promise<Array<TemplateDescriptor>> {\n const envTemplates = await this.listEnvComponentTemplateDescriptors([], aspectId);\n if (envTemplates && envTemplates.length) {\n if (!aspectId) return envTemplates;\n const filtered = envTemplates.filter((template) => template.aspectId === aspectId);\n if (filtered.length) return filtered;\n }\n\n const flattened = this.getAllComponentTemplatesFlattened();\n const filtered = aspectId ? flattened.filter((template) => template.id === aspectId) : flattened;\n return filtered.map((template) => this.getTemplateDescriptor(template));\n }\n\n private getAllComponentTemplatesFlattened(): Array<{ id: string; template: ComponentTemplate }> {\n const templatesByAspects = this.componentTemplateSlot.toArray();\n const flattened = templatesByAspects.flatMap(([id, componentTemplates]) => {\n 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 = uniq(configEnvs?.concat(ids).concat([aspectId, fullAspectId]).filter(Boolean));\n const envs = await this.loadEnvs(allIds, remoteEnvsAspect);\n const templates = envs.flatMap((env) => {\n if (!env.env.getGeneratorTemplates) return [];\n const tpls = env.env.getGeneratorTemplates() || [];\n const componentId = ComponentID.fromString(env.id);\n return tpls.map((template) => {\n return {\n id: componentId.toString(),\n envName: env.name,\n template,\n };\n });\n });\n\n return templates;\n }\n\n async loadEnvs(ids: string[] = this.config.envs || [], remoteEnvsAspect?: EnvsMain): Promise<EnvDefinition[]> {\n // In case we have remoteEnvsAspect it means that we are running from the global scope\n // in that case the aspect / env were already loaded before to the global scope harmony instance\n // so no reason to load it here\n if (!remoteEnvsAspect) {\n const host = this.componentAspect.getHost();\n if (!host) return [];\n await host.loadAspects(ids);\n }\n\n const envsAspect = remoteEnvsAspect || this.envs;\n\n const potentialEnvs = ids.map((id) => {\n const componentId = ComponentID.fromString(id);\n return envsAspect.getEnvDefinition(componentId);\n });\n\n return compact(potentialEnvs);\n }\n\n async loadAspects() {\n if (this.aspectLoaded) return;\n await this.workspace.loadAspects(this.config.aspects);\n this.aspectLoaded = true;\n }\n\n static slots = [\n Slot.withType<ComponentTemplate[]>(),\n Slot.withType<WorkspaceTemplate[]>(),\n Slot.withType<OnComponentCreateFn>(),\n ];\n\n static dependencies = [\n WorkspaceAspect,\n CLIAspect,\n GraphqlAspect,\n EnvsAspect,\n AspectLoaderAspect,\n NewComponentHelperAspect,\n ComponentAspect,\n TrackerAspect,\n LoggerAspect,\n GitAspect,\n WorkspaceConfigFilesAspect,\n DeprecationAspect,\n ];\n\n static runtime = MainRuntime;\n\n static async provider(\n [\n workspace,\n cli,\n graphql,\n envs,\n aspectLoader,\n newComponentHelper,\n componentAspect,\n tracker,\n loggerMain,\n git,\n wsConfigFiles,\n deprecation,\n ]: [\n Workspace,\n CLIMain,\n GraphqlMain,\n EnvsMain,\n AspectLoaderMain,\n NewComponentHelperMain,\n ComponentMain,\n TrackerMain,\n LoggerMain,\n GitMain,\n WorkspaceConfigFilesMain,\n DeprecationMain,\n ],\n config: GeneratorConfig,\n [componentTemplateSlot, workspaceTemplateSlot, onComponentCreateSlot]: [\n ComponentTemplateSlot,\n WorkspaceTemplateSlot,\n OnComponentCreateSlot,\n ]\n ) {\n const logger = loggerMain.createLogger(GeneratorAspect.id);\n const generator = new GeneratorMain(\n componentTemplateSlot,\n workspaceTemplateSlot,\n onComponentCreateSlot,\n config,\n workspace,\n envs,\n aspectLoader,\n newComponentHelper,\n componentAspect,\n tracker,\n logger,\n git,\n wsConfigFiles,\n deprecation\n );\n 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","_legacy","_workspaceConfigFiles","_component","_legacy2","_scope","_harmony","_git","_bitError","_aspectLoader","_tracker","_newComponentHelper","_lodash","_logger","_deprecation","_generator","_create","_templates","_generator2","_componentGenerator","_workspaceGenerator","_new","_templates2","_basic","_starter","_generator3","_workspacePathExists","_legacy3","e","__esModule","default","ownKeys","r","t","Object","keys","getOwnPropertySymbols","o","filter","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","_toPropertyKey","value","configurable","writable","i","_toPrimitive","Symbol","toPrimitive","call","TypeError","String","Number","GeneratorMain","constructor","componentTemplateSlot","workspaceTemplateSlot","onComponentCreateSlot","config","workspace","envs","aspectLoader","newComponentHelper","componentAspect","tracker","logger","git","wsConfigFiles","deprecation","id","template","shouldBeHidden","hidden","hideCoreTemplates","bitApi","isCoreAspect","aspectId","name","description","setBitApi","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","loadAspectsFromGlobalScope","aspectIds","globalScope","LegacyScope","ensure","GLOBAL_SCOPE","ensureDir","legacyGlobalsSnapshot","takeLegacyGlobalsSnapshot","globalScopeHarmony","loadBit","path","scope","ScopeAspect","AspectLoaderAspect","ids","map","ComponentID","fromString","hasVersions","every","hasVersion","useCache","import","reason","components","getMany","resolvedAspects","getResolvedAspects","workspaceName","loadRequireableExtensions","err","error","code","resolvedAspectsAgain","skipIfExists","getGlobalGeneratorEnvs","remoteGenerator","GeneratorAspect","remoteEnvsAspect","EnvsAspect","fullAspectId","toString","restoreGlobalsFromSnapshot","findWorkspaceTemplateInGlobalScope","fromGlobal","searchRegisteredWorkspaceTemplate","workspaceTemplate","findTemplateInOtherWorkspace","workspacePath","BitError","harmony","WorkspaceAspect","Error","aspectComponentId","resolveComponentId","loadAspects","aspectComponent","aspectFullId","generator","getWorkspaceTemplate","registeredTemplate","listEnvWorkspaceTemplates","getAllWorkspaceTemplatesFlattened","tpl","generateComponentTemplate","componentNames","templateName","options","installOptions","OutsideWorkspaceError","namespace","componentConfigLoadingRegistry","ComponentConfig","templateWithId","componentIds","componentName","getNewComponentId","componentNameSameAsTemplateName","componentId","compNamePascal","camelCase","pascalCase","envId","getEnvIdFromTemplateWithId","componentGenerator","ComponentGenerator","generate","force","envIdFromTemplate","env","parsedFromTemplate","tryFromString","resolvedId","resolveEnvIdWithPotentialVersionForConfig","envName","Promise","resolve","undefined","generateWorkspaceTemplate","currentDir","process","cwd","fs","existsSync","WorkspacePathExists","loadFrom","workspaceGenerator","WorkspaceGenerator","warnAboutDeprecation","appName","deprecationInfo","getDeprecationInfo","isDeprecate","newStarterMsg","newId","consoleWarning","envTemplates","listEnvComponentTemplateDescriptors","filtered","flattened","getTemplateDescriptor","templatesByAspects","toArray","flatMap","componentTemplates","workspaceTemplates","loadEnvs","getGeneratorStarters","envStarters","starter","compact","envTemplate","toStringWithoutVersion","titlePrefix","getConfiguredEnvs","configEnvs","includes","globals","allIds","uniq","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","NewComponentHelperAspect","ComponentAspect","TrackerAspect","LoggerAspect","GitAspect","WorkspaceConfigFilesAspect","DeprecationAspect","MainRuntime","addRuntime"],"sources":["generator.main.runtime.ts"],"sourcesContent":["import fs from 'fs-extra';\nimport camelCase from 'camelcase';\nimport { resolve } from 'path';\nimport { 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.consumer-config';\nimport { WorkspaceConfigFilesAspect, WorkspaceConfigFilesMain } from '@teambit/workspace-config-files';\nimport { ComponentAspect, ComponentID } from '@teambit/component';\nimport type { ComponentMain, Component } from '@teambit/component';\nimport { Scope as LegacyScope } from '@teambit/legacy.scope';\nimport { ScopeAspect, ScopeMain } from '@teambit/scope';\nimport { Harmony, 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, uniq } from 'lodash';\nimport { Logger, LoggerAspect, LoggerMain } from '@teambit/logger';\nimport { DeprecationAspect, DeprecationMain } from '@teambit/deprecation';\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, InstallOptions, 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';\nimport { GLOBAL_SCOPE } from '@teambit/legacy.constants';\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\ntype LegacyGlobal = { classInstance: any; methodName: string; value: any; empty: any };\nexport type BitApi = {\n isCoreAspect: (id: string) => boolean;\n loadBit: (path?: string) => Promise<Harmony>;\n restoreGlobalsFromSnapshot: (globals: LegacyGlobal[]) => void;\n takeLegacyGlobalsSnapshot: () => LegacyGlobal[];\n};\n\nexport type GenerateWorkspaceTemplateResult = { workspacePath: string; appName?: string };\n\nexport type GeneratorConfig = {\n /**\n * array of aspects to include in the list of templates.\n */\n aspects: string[];\n\n /**\n * by default core templates are shown.\n * use this to hide them unless `--show-all` flag of `bit templates` was used\n */\n hideCoreTemplates: boolean;\n\n /**\n * default envs.\n */\n envs?: string[];\n};\n\nexport class GeneratorMain {\n private aspectLoaded = false;\n private bitApi: BitApi;\n constructor(\n private componentTemplateSlot: ComponentTemplateSlot,\n private workspaceTemplateSlot: WorkspaceTemplateSlot,\n private onComponentCreateSlot: OnComponentCreateSlot,\n private config: GeneratorConfig,\n private workspace: Workspace,\n private envs: EnvsMain,\n private aspectLoader: AspectLoaderMain,\n private newComponentHelper: NewComponentHelperMain,\n private componentAspect: ComponentMain,\n private tracker: TrackerMain,\n private logger: Logger,\n private git: GitMain,\n private wsConfigFiles: WorkspaceConfigFilesMain,\n private deprecation: DeprecationMain\n ) {}\n\n setBitApi(bitApi: BitApi) {\n this.bitApi = bitApi;\n }\n\n /**\n * register a new component template.\n */\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 && this.bitApi.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 or create a global scope, import the non-core aspects, load bit from that scope, create\n * capsules for the aspects and load them from the capsules.\n */\n private async loadAspectsFromGlobalScope(\n aspectIds: string[]\n ): Promise<{ components: Component[]; globalScopeHarmony: Harmony; legacyGlobalsSnapshot: LegacyGlobal[] }> {\n const globalScope = await LegacyScope.ensure(GLOBAL_SCOPE, 'global-scope');\n await globalScope.ensureDir();\n const legacyGlobalsSnapshot = this.bitApi.takeLegacyGlobalsSnapshot();\n const globalScopeHarmony = await this.bitApi.loadBit(globalScope.path);\n const scope = globalScopeHarmony.get<ScopeMain>(ScopeAspect.id);\n const aspectLoader = globalScopeHarmony.get<AspectLoaderMain>(AspectLoaderAspect.id);\n const ids = aspectIds.map((id) => ComponentID.fromString(id));\n const hasVersions = ids.every((id) => id.hasVersion());\n const useCache = hasVersions; // if all components has versions, try to use the cached aspects\n await scope.import(ids, { useCache, reason: 'to load aspects from global scope' });\n const components = await scope.getMany(ids, true);\n\n // don't use `await scope.loadAspectsFromCapsules(components, true);`\n // it won't work for globalScope because `this !== scope.aspectLoader` (this instance\n // is not the same as the aspectLoader instance Scope has)\n const resolvedAspects = await scope.getResolvedAspects(components, { workspaceName: 'global-scope' });\n try {\n await aspectLoader.loadRequireableExtensions(resolvedAspects, true);\n } catch (err: any) {\n if (err?.error?.code === 'MODULE_NOT_FOUND') {\n const resolvedAspectsAgain = await scope.getResolvedAspects(components, {\n skipIfExists: false,\n workspaceName: 'global-scope',\n });\n await aspectLoader.loadRequireableExtensions(resolvedAspectsAgain, true);\n } else {\n throw err;\n }\n }\n\n return { components, globalScopeHarmony, legacyGlobalsSnapshot };\n }\n\n /**\n * Get the generator aspect and the envs aspect from an harmony instance of the global scope\n */\n private async getGlobalGeneratorEnvs(\n aspectId: string\n ): Promise<{ remoteGenerator: GeneratorMain; fullAspectId: string; remoteEnvsAspect: EnvsMain; aspect: any }> {\n const { globalScopeHarmony, components, legacyGlobalsSnapshot } = await this.loadAspectsFromGlobalScope([aspectId]);\n const remoteGenerator = globalScopeHarmony.get<GeneratorMain>(GeneratorAspect.id);\n const remoteEnvsAspect = globalScopeHarmony.get<EnvsMain>(EnvsAspect.id);\n const aspect = components[0];\n const fullAspectId = aspect.id.toString();\n this.bitApi.restoreGlobalsFromSnapshot(legacyGlobalsSnapshot);\n\n return { remoteGenerator, fullAspectId, remoteEnvsAspect, aspect };\n }\n\n /**\n * in the case the aspect-id is given and this aspect doesn't exist locally, import it to the\n * global scope and load it from the capsule\n */\n async findWorkspaceTemplateInGlobalScope(\n aspectId: string,\n name?: string\n ): Promise<{ workspaceTemplate?: WorkspaceTemplate; aspect?: Component }> {\n const { remoteGenerator, fullAspectId, remoteEnvsAspect, aspect } = await this.getGlobalGeneratorEnvs(aspectId);\n const fromGlobal = await remoteGenerator.searchRegisteredWorkspaceTemplate.call(\n remoteGenerator,\n name,\n fullAspectId,\n remoteEnvsAspect\n );\n return { workspaceTemplate: fromGlobal, aspect };\n }\n\n async findTemplateInOtherWorkspace(workspacePath: string, name: string, aspectId?: string) {\n if (!aspectId)\n throw new BitError(\n `to load a template from a different workspace, please provide the aspect-id using --aspect flag`\n );\n const harmony = await this.bitApi.loadBit(workspacePath);\n let workspace: Workspace;\n try {\n workspace = harmony.get<Workspace>(WorkspaceAspect.id);\n } catch {\n throw new Error(`fatal: \"${workspacePath}\" is not a valid Bit workspace, make sure the path is correct`);\n }\n const aspectComponentId = await workspace.resolveComponentId(aspectId);\n await workspace.loadAspects([aspectId], true);\n const aspectComponent = await workspace.get(aspectComponentId);\n const aspectFullId = aspectComponentId.toString();\n const generator = harmony.get<GeneratorMain>(GeneratorAspect.id);\n const workspaceTemplate = await generator.searchRegisteredWorkspaceTemplate(name, aspectFullId);\n return { workspaceTemplate, aspect: aspectComponent };\n }\n\n /**\n * returns a specific workspace template.\n */\n async getWorkspaceTemplate(\n name: string,\n aspectId?: string\n ): Promise<{ workspaceTemplate: WorkspaceTemplate; aspect?: Component }> {\n const registeredTemplate = await this.searchRegisteredWorkspaceTemplate(name, aspectId);\n if (registeredTemplate) {\n return { workspaceTemplate: registeredTemplate };\n }\n if (!aspectId) {\n throw new BitError(\n `template \"${name}\" was not found, please use --aspect flag to load from an env i.e --aspect teambit.react/react-env\\n Learn more about component templates here: https://bit.dev/reference/generator/create-generator`\n );\n }\n\n const { workspaceTemplate, aspect } = await this.findWorkspaceTemplateInGlobalScope(aspectId, name);\n if (workspaceTemplate) {\n return { workspaceTemplate, aspect };\n }\n throw new BitError(\n `template \"${name}\" was not found, please use --aspect flag to load from an env i.e --aspect teambit.react/react-env\\n Learn more about component templates here: https://bit.dev/reference/generator/create-generator`\n );\n }\n\n async searchRegisteredWorkspaceTemplate(\n name?: string,\n aspectId?: string,\n remoteEnvsAspect?: EnvsMain\n ): Promise<WorkspaceTemplate | undefined> {\n let fromEnv;\n\n if (aspectId) {\n fromEnv = await this.listEnvWorkspaceTemplates(aspectId, remoteEnvsAspect);\n }\n const templates = fromEnv && fromEnv.length ? fromEnv : this.getAllWorkspaceTemplatesFlattened();\n const found = templates.find(({ id, template: tpl }) => {\n if (aspectId && name) return aspectId === id && name === tpl.name;\n if (aspectId) return aspectId === id;\n if (name) return name === tpl.name;\n throw new Error(`searchRegisteredWorkspaceTemplate expects to get \"name\" or \"aspectId\"`);\n });\n\n return found?.template;\n }\n\n async generateComponentTemplate(\n componentNames: string[],\n templateName: string,\n options: Partial<CreateOptions>,\n installOptions?: InstallOptions\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 installOptions\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(\n workspaceName,\n workspacePath,\n options,\n workspaceTemplate,\n this.bitApi,\n aspect\n );\n await this.warnAboutDeprecation(aspect);\n await workspaceGenerator.generate();\n return { workspacePath, appName: workspaceTemplate.appName };\n }\n\n private async warnAboutDeprecation(aspect?: Component) {\n if (!aspect) return;\n const deprecationInfo = await this.deprecation.getDeprecationInfo(aspect);\n if (deprecationInfo.isDeprecate) {\n const newStarterMsg = deprecationInfo.newId ? `, use \"${deprecationInfo.newId.toString()}\" instead` : '';\n this.logger.consoleWarning(`the starter \"${aspect?.id.toString()}\" is deprecated${newStarterMsg}`);\n }\n }\n\n private async getAllComponentTemplatesDescriptorsFlattened(aspectId?: string): Promise<Array<TemplateDescriptor>> {\n const envTemplates = await this.listEnvComponentTemplateDescriptors([], aspectId);\n if (envTemplates && envTemplates.length) {\n if (!aspectId) return envTemplates;\n const filtered = envTemplates.filter((template) => template.aspectId === aspectId);\n if (filtered.length) return filtered;\n }\n\n const flattened = this.getAllComponentTemplatesFlattened();\n const filtered = aspectId ? flattened.filter((template) => template.id === aspectId) : flattened;\n return filtered.map((template) => this.getTemplateDescriptor(template));\n }\n\n private getAllComponentTemplatesFlattened(): Array<{ id: string; template: ComponentTemplate }> {\n const templatesByAspects = this.componentTemplateSlot.toArray();\n const flattened = templatesByAspects.flatMap(([id, componentTemplates]) => {\n 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 = uniq(configEnvs?.concat(ids).concat([aspectId, fullAspectId]).filter(Boolean));\n const envs = await this.loadEnvs(allIds, remoteEnvsAspect);\n const templates = envs.flatMap((env) => {\n if (!env.env.getGeneratorTemplates) return [];\n const tpls = env.env.getGeneratorTemplates() || [];\n const componentId = ComponentID.fromString(env.id);\n return tpls.map((template) => {\n return {\n id: componentId.toString(),\n envName: env.name,\n template,\n };\n });\n });\n\n return templates;\n }\n\n async loadEnvs(ids: string[] = this.config.envs || [], remoteEnvsAspect?: EnvsMain): Promise<EnvDefinition[]> {\n // In case we have remoteEnvsAspect it means that we are running from the global scope\n // in that case the aspect / env were already loaded before to the global scope harmony instance\n // so no reason to load it here\n if (!remoteEnvsAspect) {\n const host = this.componentAspect.getHost();\n if (!host) return [];\n await host.loadAspects(ids);\n }\n\n const envsAspect = remoteEnvsAspect || this.envs;\n\n const potentialEnvs = ids.map((id) => {\n const componentId = ComponentID.fromString(id);\n return envsAspect.getEnvDefinition(componentId);\n });\n\n return compact(potentialEnvs);\n }\n\n async loadAspects() {\n if (this.aspectLoaded) return;\n await this.workspace.loadAspects(this.config.aspects);\n this.aspectLoaded = true;\n }\n\n static slots = [\n Slot.withType<ComponentTemplate[]>(),\n Slot.withType<WorkspaceTemplate[]>(),\n Slot.withType<OnComponentCreateFn>(),\n ];\n\n static dependencies = [\n WorkspaceAspect,\n CLIAspect,\n GraphqlAspect,\n EnvsAspect,\n AspectLoaderAspect,\n NewComponentHelperAspect,\n ComponentAspect,\n TrackerAspect,\n LoggerAspect,\n GitAspect,\n WorkspaceConfigFilesAspect,\n DeprecationAspect,\n ];\n\n static runtime = MainRuntime;\n\n static async provider(\n [\n workspace,\n cli,\n graphql,\n envs,\n aspectLoader,\n newComponentHelper,\n componentAspect,\n tracker,\n loggerMain,\n git,\n wsConfigFiles,\n deprecation,\n ]: [\n Workspace,\n CLIMain,\n GraphqlMain,\n EnvsMain,\n AspectLoaderMain,\n NewComponentHelperMain,\n ComponentMain,\n TrackerMain,\n LoggerMain,\n GitMain,\n WorkspaceConfigFilesMain,\n DeprecationMain,\n ],\n config: GeneratorConfig,\n [componentTemplateSlot, workspaceTemplateSlot, onComponentCreateSlot]: [\n ComponentTemplateSlot,\n WorkspaceTemplateSlot,\n OnComponentCreateSlot,\n ]\n ) {\n const logger = loggerMain.createLogger(GeneratorAspect.id);\n const generator = new GeneratorMain(\n componentTemplateSlot,\n workspaceTemplateSlot,\n onComponentCreateSlot,\n config,\n workspace,\n envs,\n aspectLoader,\n newComponentHelper,\n componentAspect,\n tracker,\n logger,\n git,\n wsConfigFiles,\n deprecation\n );\n 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,5 +1,5 @@
|
|
1
|
-
import * as compositions_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad/teambit.generator_generator@1.0.
|
2
|
-
import * as overview_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad/teambit.generator_generator@1.0.
|
1
|
+
import * as compositions_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad/teambit.generator_generator@1.0.495/dist/generator.composition.js';
|
2
|
+
import * as overview_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad/teambit.generator_generator@1.0.495/dist/generator.docs.mdx';
|
3
3
|
|
4
4
|
export const compositions = [compositions_0];
|
5
5
|
export const overview = [overview_0];
|
package/package.json
CHANGED
@@ -1,12 +1,12 @@
|
|
1
1
|
{
|
2
2
|
"name": "@teambit/generator",
|
3
|
-
"version": "1.0.
|
3
|
+
"version": "1.0.495",
|
4
4
|
"homepage": "https://bit.cloud/teambit/generator/generator",
|
5
5
|
"main": "dist/index.js",
|
6
6
|
"componentId": {
|
7
7
|
"scope": "teambit.generator",
|
8
8
|
"name": "generator",
|
9
|
-
"version": "1.0.
|
9
|
+
"version": "1.0.495"
|
10
10
|
},
|
11
11
|
"dependencies": {
|
12
12
|
"camelcase": "6.2.0",
|
@@ -20,32 +20,32 @@
|
|
20
20
|
"@teambit/component-id": "1.2.2",
|
21
21
|
"@teambit/harmony": "0.4.6",
|
22
22
|
"@teambit/git.modules.git-ignore": "1.0.2",
|
23
|
-
"@teambit/envs": "1.0.
|
24
|
-
"@teambit/logger": "0.0.
|
25
|
-
"@teambit/new-component-helper": "1.0.
|
26
|
-
"@teambit/pkg.modules.component-package-name": "0.0.
|
27
|
-
"@teambit/tracker": "1.0.
|
28
|
-
"@teambit/workspace-config-files": "1.0.
|
29
|
-
"@teambit/workspace.modules.node-modules-linker": "0.0.
|
30
|
-
"@teambit/workspace": "1.0.
|
31
|
-
"@teambit/component": "1.0.
|
32
|
-
"@teambit/cli": "0.0.
|
33
|
-
"@teambit/graphql": "1.0.
|
34
|
-
"@teambit/aspect-loader": "1.0.
|
35
|
-
"@teambit/deprecation": "1.0.
|
36
|
-
"@teambit/git": "1.0.
|
37
|
-
"@teambit/legacy.constants": "0.0.
|
38
|
-
"@teambit/legacy.consumer-config": "0.0.
|
39
|
-
"@teambit/legacy.scope": "0.0.
|
40
|
-
"@teambit/scope": "1.0.
|
41
|
-
"@teambit/compiler": "1.0.
|
42
|
-
"@teambit/forking": "1.0.
|
43
|
-
"@teambit/git.modules.git-executable": "0.0.
|
44
|
-
"@teambit/host-initializer": "0.0.
|
45
|
-
"@teambit/importer": "1.0.
|
46
|
-
"@teambit/install": "1.0.
|
47
|
-
"@teambit/ui": "1.0.
|
48
|
-
"@teambit/config": "0.0.
|
23
|
+
"@teambit/envs": "1.0.494",
|
24
|
+
"@teambit/logger": "0.0.1164",
|
25
|
+
"@teambit/new-component-helper": "1.0.494",
|
26
|
+
"@teambit/pkg.modules.component-package-name": "0.0.13",
|
27
|
+
"@teambit/tracker": "1.0.494",
|
28
|
+
"@teambit/workspace-config-files": "1.0.494",
|
29
|
+
"@teambit/workspace.modules.node-modules-linker": "0.0.234",
|
30
|
+
"@teambit/workspace": "1.0.494",
|
31
|
+
"@teambit/component": "1.0.494",
|
32
|
+
"@teambit/cli": "0.0.1071",
|
33
|
+
"@teambit/graphql": "1.0.494",
|
34
|
+
"@teambit/aspect-loader": "1.0.494",
|
35
|
+
"@teambit/deprecation": "1.0.494",
|
36
|
+
"@teambit/git": "1.0.494",
|
37
|
+
"@teambit/legacy.constants": "0.0.3",
|
38
|
+
"@teambit/legacy.consumer-config": "0.0.6",
|
39
|
+
"@teambit/legacy.scope": "0.0.6",
|
40
|
+
"@teambit/scope": "1.0.494",
|
41
|
+
"@teambit/compiler": "1.0.494",
|
42
|
+
"@teambit/forking": "1.0.494",
|
43
|
+
"@teambit/git.modules.git-executable": "0.0.4",
|
44
|
+
"@teambit/host-initializer": "0.0.207",
|
45
|
+
"@teambit/importer": "1.0.494",
|
46
|
+
"@teambit/install": "1.0.494",
|
47
|
+
"@teambit/ui": "1.0.494",
|
48
|
+
"@teambit/config": "0.0.1245"
|
49
49
|
},
|
50
50
|
"devDependencies": {
|
51
51
|
"@types/fs-extra": "9.0.7",
|