@teambit/generator 1.0.426 → 1.0.427
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 +109 -109
- package/dist/generator.main.runtime.js.map +1 -1
- package/dist/{preview-1728184966899.js → preview-1728236174539.js} +2 -2
- package/dist/starter-list.js.map +1 -1
- package/dist/template-list.js.map +1 -1
- package/package.json +24 -24
@@ -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.427" 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={14335:(e,t,n)=>{var a={id:"teambit.generator/aspect-docs/generator@0.0.172",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},72771:(e,t,n)=>{Object.defineProperty(t,"W",{enumerable:!0,get:function(){return a.default}});var a=o(n(14335));function o(e){return e&&e.__esModule?e:{default:e}}o.__bit_component={id:"teambit.generator/aspect-docs/generator@0.0.172",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={14335:(e,t,n)=>{var a={id:"teambit.generator/aspect-docs/generator@0.0.172",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},72771:(e,t,n)=>{Object.defineProperty(t,"W",{enumerable:!0,get:function(){return a.default}});var a=o(n(14335));function o(e){return e&&e.__esModule?e:{default:e}}o.__bit_component={id:"teambit.generator/aspect-docs/generator@0.0.172",homepage:"https://bit.cloud/teambit/generator/aspect-docs/generator",exported:!0}},66609:(e,t,n)=>{var a={id:"teambit.generator/generator@1.0.427",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(66609),l=(n(41594),n(5016));const m=TeambitMdxUiMdxScopeContext;var p=n(72771),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
@@ -5636,16 +5636,16 @@
|
|
5636
5636
|
"__schema": "ParameterSchema",
|
5637
5637
|
"location": {
|
5638
5638
|
"filePath": "template-list.ts",
|
5639
|
-
"line":
|
5640
|
-
"character":
|
5639
|
+
"line": 10,
|
5640
|
+
"character": 5
|
5641
5641
|
},
|
5642
5642
|
"name": "name",
|
5643
5643
|
"type": {
|
5644
5644
|
"__schema": "KeywordTypeSchema",
|
5645
5645
|
"location": {
|
5646
5646
|
"filePath": "template-list.ts",
|
5647
|
-
"line":
|
5648
|
-
"character":
|
5647
|
+
"line": 10,
|
5648
|
+
"character": 20
|
5649
5649
|
},
|
5650
5650
|
"name": "string"
|
5651
5651
|
},
|
@@ -5656,23 +5656,23 @@
|
|
5656
5656
|
"__schema": "ParameterSchema",
|
5657
5657
|
"location": {
|
5658
5658
|
"filePath": "template-list.ts",
|
5659
|
-
"line":
|
5660
|
-
"character":
|
5659
|
+
"line": 11,
|
5660
|
+
"character": 5
|
5661
5661
|
},
|
5662
5662
|
"name": "templates",
|
5663
5663
|
"type": {
|
5664
5664
|
"__schema": "TypeArraySchema",
|
5665
5665
|
"location": {
|
5666
5666
|
"filePath": "template-list.ts",
|
5667
|
-
"line":
|
5668
|
-
"character":
|
5667
|
+
"line": 11,
|
5668
|
+
"character": 24
|
5669
5669
|
},
|
5670
5670
|
"type": {
|
5671
5671
|
"__schema": "TypeRefSchema",
|
5672
5672
|
"location": {
|
5673
5673
|
"filePath": "template-list.ts",
|
5674
|
-
"line":
|
5675
|
-
"character":
|
5674
|
+
"line": 11,
|
5675
|
+
"character": 24
|
5676
5676
|
},
|
5677
5677
|
"name": "EnvHandler",
|
5678
5678
|
"componentId": {
|
@@ -5684,8 +5684,8 @@
|
|
5684
5684
|
"__schema": "TypeRefSchema",
|
5685
5685
|
"location": {
|
5686
5686
|
"filePath": "template-list.ts",
|
5687
|
-
"line":
|
5688
|
-
"character":
|
5687
|
+
"line": 11,
|
5688
|
+
"character": 35
|
5689
5689
|
},
|
5690
5690
|
"name": "ComponentTemplate"
|
5691
5691
|
}
|
@@ -5699,16 +5699,16 @@
|
|
5699
5699
|
"__schema": "ParameterSchema",
|
5700
5700
|
"location": {
|
5701
5701
|
"filePath": "template-list.ts",
|
5702
|
-
"line":
|
5703
|
-
"character":
|
5702
|
+
"line": 12,
|
5703
|
+
"character": 5
|
5704
5704
|
},
|
5705
5705
|
"name": "context",
|
5706
5706
|
"type": {
|
5707
5707
|
"__schema": "TypeRefSchema",
|
5708
5708
|
"location": {
|
5709
5709
|
"filePath": "template-list.ts",
|
5710
|
-
"line":
|
5711
|
-
"character":
|
5710
|
+
"line": 12,
|
5711
|
+
"character": 22
|
5712
5712
|
},
|
5713
5713
|
"name": "EnvContext",
|
5714
5714
|
"componentId": {
|
@@ -5735,7 +5735,7 @@
|
|
5735
5735
|
"__schema": "FunctionLikeSchema",
|
5736
5736
|
"location": {
|
5737
5737
|
"filePath": "template-list.ts",
|
5738
|
-
"line":
|
5738
|
+
"line": 15,
|
5739
5739
|
"character": 3
|
5740
5740
|
},
|
5741
5741
|
"signature": "(method) TemplateList.compute(): ComponentTemplate[]",
|
@@ -5745,14 +5745,14 @@
|
|
5745
5745
|
"__schema": "TypeArraySchema",
|
5746
5746
|
"location": {
|
5747
5747
|
"filePath": "template-list.ts",
|
5748
|
-
"line":
|
5748
|
+
"line": 15,
|
5749
5749
|
"character": 14
|
5750
5750
|
},
|
5751
5751
|
"type": {
|
5752
5752
|
"__schema": "TypeRefSchema",
|
5753
5753
|
"location": {
|
5754
5754
|
"filePath": "template-list.ts",
|
5755
|
-
"line":
|
5755
|
+
"line": 15,
|
5756
5756
|
"character": 14
|
5757
5757
|
},
|
5758
5758
|
"name": "ComponentTemplate"
|
@@ -5764,7 +5764,7 @@
|
|
5764
5764
|
"__schema": "FunctionLikeSchema",
|
5765
5765
|
"location": {
|
5766
5766
|
"filePath": "template-list.ts",
|
5767
|
-
"line":
|
5767
|
+
"line": 19,
|
5768
5768
|
"character": 3
|
5769
5769
|
},
|
5770
5770
|
"signature": "(method) TemplateList.from(templates: EnvHandler<ComponentTemplate>[], options?: TemplateListOptions): (context: EnvContext) => TemplateList",
|
@@ -5774,7 +5774,7 @@
|
|
5774
5774
|
"__schema": "ParameterSchema",
|
5775
5775
|
"location": {
|
5776
5776
|
"filePath": "template-list.ts",
|
5777
|
-
"line":
|
5777
|
+
"line": 19,
|
5778
5778
|
"character": 15
|
5779
5779
|
},
|
5780
5780
|
"name": "templates",
|
@@ -5782,14 +5782,14 @@
|
|
5782
5782
|
"__schema": "TypeArraySchema",
|
5783
5783
|
"location": {
|
5784
5784
|
"filePath": "template-list.ts",
|
5785
|
-
"line":
|
5785
|
+
"line": 19,
|
5786
5786
|
"character": 26
|
5787
5787
|
},
|
5788
5788
|
"type": {
|
5789
5789
|
"__schema": "TypeRefSchema",
|
5790
5790
|
"location": {
|
5791
5791
|
"filePath": "template-list.ts",
|
5792
|
-
"line":
|
5792
|
+
"line": 19,
|
5793
5793
|
"character": 26
|
5794
5794
|
},
|
5795
5795
|
"name": "EnvHandler",
|
@@ -5802,7 +5802,7 @@
|
|
5802
5802
|
"__schema": "TypeRefSchema",
|
5803
5803
|
"location": {
|
5804
5804
|
"filePath": "template-list.ts",
|
5805
|
-
"line":
|
5805
|
+
"line": 19,
|
5806
5806
|
"character": 37
|
5807
5807
|
},
|
5808
5808
|
"name": "ComponentTemplate"
|
@@ -5817,7 +5817,7 @@
|
|
5817
5817
|
"__schema": "ParameterSchema",
|
5818
5818
|
"location": {
|
5819
5819
|
"filePath": "template-list.ts",
|
5820
|
-
"line":
|
5820
|
+
"line": 19,
|
5821
5821
|
"character": 59
|
5822
5822
|
},
|
5823
5823
|
"name": "options",
|
@@ -5825,7 +5825,7 @@
|
|
5825
5825
|
"__schema": "TypeRefSchema",
|
5826
5826
|
"location": {
|
5827
5827
|
"filePath": "template-list.ts",
|
5828
|
-
"line":
|
5828
|
+
"line": 19,
|
5829
5829
|
"character": 68
|
5830
5830
|
},
|
5831
5831
|
"name": "TemplateListOptions",
|
@@ -5840,7 +5840,7 @@
|
|
5840
5840
|
"__schema": "InferenceTypeSchema",
|
5841
5841
|
"location": {
|
5842
5842
|
"filePath": "template-list.ts",
|
5843
|
-
"line":
|
5843
|
+
"line": 19,
|
5844
5844
|
"character": 3
|
5845
5845
|
},
|
5846
5846
|
"type": "(context: EnvContext) => TemplateList"
|
@@ -5887,16 +5887,16 @@
|
|
5887
5887
|
"__schema": "ParameterSchema",
|
5888
5888
|
"location": {
|
5889
5889
|
"filePath": "starter-list.ts",
|
5890
|
-
"line":
|
5891
|
-
"character":
|
5890
|
+
"line": 10,
|
5891
|
+
"character": 5
|
5892
5892
|
},
|
5893
5893
|
"name": "name",
|
5894
5894
|
"type": {
|
5895
5895
|
"__schema": "KeywordTypeSchema",
|
5896
5896
|
"location": {
|
5897
5897
|
"filePath": "starter-list.ts",
|
5898
|
-
"line":
|
5899
|
-
"character":
|
5898
|
+
"line": 10,
|
5899
|
+
"character": 20
|
5900
5900
|
},
|
5901
5901
|
"name": "string"
|
5902
5902
|
},
|
@@ -5907,23 +5907,23 @@
|
|
5907
5907
|
"__schema": "ParameterSchema",
|
5908
5908
|
"location": {
|
5909
5909
|
"filePath": "starter-list.ts",
|
5910
|
-
"line":
|
5911
|
-
"character":
|
5910
|
+
"line": 11,
|
5911
|
+
"character": 5
|
5912
5912
|
},
|
5913
5913
|
"name": "starters",
|
5914
5914
|
"type": {
|
5915
5915
|
"__schema": "TypeArraySchema",
|
5916
5916
|
"location": {
|
5917
5917
|
"filePath": "starter-list.ts",
|
5918
|
-
"line":
|
5919
|
-
"character":
|
5918
|
+
"line": 11,
|
5919
|
+
"character": 23
|
5920
5920
|
},
|
5921
5921
|
"type": {
|
5922
5922
|
"__schema": "TypeRefSchema",
|
5923
5923
|
"location": {
|
5924
5924
|
"filePath": "starter-list.ts",
|
5925
|
-
"line":
|
5926
|
-
"character":
|
5925
|
+
"line": 11,
|
5926
|
+
"character": 23
|
5927
5927
|
},
|
5928
5928
|
"name": "EnvHandler",
|
5929
5929
|
"componentId": {
|
@@ -5935,8 +5935,8 @@
|
|
5935
5935
|
"__schema": "TypeRefSchema",
|
5936
5936
|
"location": {
|
5937
5937
|
"filePath": "starter-list.ts",
|
5938
|
-
"line":
|
5939
|
-
"character":
|
5938
|
+
"line": 11,
|
5939
|
+
"character": 34
|
5940
5940
|
},
|
5941
5941
|
"name": "WorkspaceTemplate"
|
5942
5942
|
}
|
@@ -5950,16 +5950,16 @@
|
|
5950
5950
|
"__schema": "ParameterSchema",
|
5951
5951
|
"location": {
|
5952
5952
|
"filePath": "starter-list.ts",
|
5953
|
-
"line":
|
5954
|
-
"character":
|
5953
|
+
"line": 12,
|
5954
|
+
"character": 5
|
5955
5955
|
},
|
5956
5956
|
"name": "context",
|
5957
5957
|
"type": {
|
5958
5958
|
"__schema": "TypeRefSchema",
|
5959
5959
|
"location": {
|
5960
5960
|
"filePath": "starter-list.ts",
|
5961
|
-
"line":
|
5962
|
-
"character":
|
5961
|
+
"line": 12,
|
5962
|
+
"character": 22
|
5963
5963
|
},
|
5964
5964
|
"name": "EnvContext",
|
5965
5965
|
"componentId": {
|
@@ -5986,7 +5986,7 @@
|
|
5986
5986
|
"__schema": "FunctionLikeSchema",
|
5987
5987
|
"location": {
|
5988
5988
|
"filePath": "starter-list.ts",
|
5989
|
-
"line":
|
5989
|
+
"line": 15,
|
5990
5990
|
"character": 3
|
5991
5991
|
},
|
5992
5992
|
"signature": "(method) StarterList.compute(): WorkspaceTemplate[]",
|
@@ -5996,14 +5996,14 @@
|
|
5996
5996
|
"__schema": "TypeArraySchema",
|
5997
5997
|
"location": {
|
5998
5998
|
"filePath": "starter-list.ts",
|
5999
|
-
"line":
|
5999
|
+
"line": 15,
|
6000
6000
|
"character": 14
|
6001
6001
|
},
|
6002
6002
|
"type": {
|
6003
6003
|
"__schema": "TypeRefSchema",
|
6004
6004
|
"location": {
|
6005
6005
|
"filePath": "starter-list.ts",
|
6006
|
-
"line":
|
6006
|
+
"line": 15,
|
6007
6007
|
"character": 14
|
6008
6008
|
},
|
6009
6009
|
"name": "WorkspaceTemplate"
|
@@ -6015,7 +6015,7 @@
|
|
6015
6015
|
"__schema": "FunctionLikeSchema",
|
6016
6016
|
"location": {
|
6017
6017
|
"filePath": "starter-list.ts",
|
6018
|
-
"line":
|
6018
|
+
"line": 19,
|
6019
6019
|
"character": 3
|
6020
6020
|
},
|
6021
6021
|
"signature": "(method) StarterList.from(starters: EnvHandler<WorkspaceTemplate>[], options?: StarterListOptions): (context: EnvContext) => StarterList",
|
@@ -6025,7 +6025,7 @@
|
|
6025
6025
|
"__schema": "ParameterSchema",
|
6026
6026
|
"location": {
|
6027
6027
|
"filePath": "starter-list.ts",
|
6028
|
-
"line":
|
6028
|
+
"line": 19,
|
6029
6029
|
"character": 15
|
6030
6030
|
},
|
6031
6031
|
"name": "starters",
|
@@ -6033,14 +6033,14 @@
|
|
6033
6033
|
"__schema": "TypeArraySchema",
|
6034
6034
|
"location": {
|
6035
6035
|
"filePath": "starter-list.ts",
|
6036
|
-
"line":
|
6036
|
+
"line": 19,
|
6037
6037
|
"character": 25
|
6038
6038
|
},
|
6039
6039
|
"type": {
|
6040
6040
|
"__schema": "TypeRefSchema",
|
6041
6041
|
"location": {
|
6042
6042
|
"filePath": "starter-list.ts",
|
6043
|
-
"line":
|
6043
|
+
"line": 19,
|
6044
6044
|
"character": 25
|
6045
6045
|
},
|
6046
6046
|
"name": "EnvHandler",
|
@@ -6053,7 +6053,7 @@
|
|
6053
6053
|
"__schema": "TypeRefSchema",
|
6054
6054
|
"location": {
|
6055
6055
|
"filePath": "starter-list.ts",
|
6056
|
-
"line":
|
6056
|
+
"line": 19,
|
6057
6057
|
"character": 36
|
6058
6058
|
},
|
6059
6059
|
"name": "WorkspaceTemplate"
|
@@ -6068,7 +6068,7 @@
|
|
6068
6068
|
"__schema": "ParameterSchema",
|
6069
6069
|
"location": {
|
6070
6070
|
"filePath": "starter-list.ts",
|
6071
|
-
"line":
|
6071
|
+
"line": 19,
|
6072
6072
|
"character": 58
|
6073
6073
|
},
|
6074
6074
|
"name": "options",
|
@@ -6076,7 +6076,7 @@
|
|
6076
6076
|
"__schema": "TypeRefSchema",
|
6077
6077
|
"location": {
|
6078
6078
|
"filePath": "starter-list.ts",
|
6079
|
-
"line":
|
6079
|
+
"line": 19,
|
6080
6080
|
"character": 67
|
6081
6081
|
},
|
6082
6082
|
"name": "StarterListOptions",
|
@@ -6091,7 +6091,7 @@
|
|
6091
6091
|
"__schema": "InferenceTypeSchema",
|
6092
6092
|
"location": {
|
6093
6093
|
"filePath": "starter-list.ts",
|
6094
|
-
"line":
|
6094
|
+
"line": 19,
|
6095
6095
|
"character": 3
|
6096
6096
|
},
|
6097
6097
|
"type": "(context: EnvContext) => StarterList"
|
@@ -12842,16 +12842,16 @@
|
|
12842
12842
|
"__schema": "ParameterSchema",
|
12843
12843
|
"location": {
|
12844
12844
|
"filePath": "template-list.ts",
|
12845
|
-
"line":
|
12846
|
-
"character":
|
12845
|
+
"line": 10,
|
12846
|
+
"character": 5
|
12847
12847
|
},
|
12848
12848
|
"name": "name",
|
12849
12849
|
"type": {
|
12850
12850
|
"__schema": "KeywordTypeSchema",
|
12851
12851
|
"location": {
|
12852
12852
|
"filePath": "template-list.ts",
|
12853
|
-
"line":
|
12854
|
-
"character":
|
12853
|
+
"line": 10,
|
12854
|
+
"character": 20
|
12855
12855
|
},
|
12856
12856
|
"name": "string"
|
12857
12857
|
},
|
@@ -12862,23 +12862,23 @@
|
|
12862
12862
|
"__schema": "ParameterSchema",
|
12863
12863
|
"location": {
|
12864
12864
|
"filePath": "template-list.ts",
|
12865
|
-
"line":
|
12866
|
-
"character":
|
12865
|
+
"line": 11,
|
12866
|
+
"character": 5
|
12867
12867
|
},
|
12868
12868
|
"name": "templates",
|
12869
12869
|
"type": {
|
12870
12870
|
"__schema": "TypeArraySchema",
|
12871
12871
|
"location": {
|
12872
12872
|
"filePath": "template-list.ts",
|
12873
|
-
"line":
|
12874
|
-
"character":
|
12873
|
+
"line": 11,
|
12874
|
+
"character": 24
|
12875
12875
|
},
|
12876
12876
|
"type": {
|
12877
12877
|
"__schema": "TypeRefSchema",
|
12878
12878
|
"location": {
|
12879
12879
|
"filePath": "template-list.ts",
|
12880
|
-
"line":
|
12881
|
-
"character":
|
12880
|
+
"line": 11,
|
12881
|
+
"character": 24
|
12882
12882
|
},
|
12883
12883
|
"name": "EnvHandler",
|
12884
12884
|
"componentId": {
|
@@ -12890,8 +12890,8 @@
|
|
12890
12890
|
"__schema": "TypeRefSchema",
|
12891
12891
|
"location": {
|
12892
12892
|
"filePath": "template-list.ts",
|
12893
|
-
"line":
|
12894
|
-
"character":
|
12893
|
+
"line": 11,
|
12894
|
+
"character": 35
|
12895
12895
|
},
|
12896
12896
|
"name": "ComponentTemplate"
|
12897
12897
|
}
|
@@ -12905,16 +12905,16 @@
|
|
12905
12905
|
"__schema": "ParameterSchema",
|
12906
12906
|
"location": {
|
12907
12907
|
"filePath": "template-list.ts",
|
12908
|
-
"line":
|
12909
|
-
"character":
|
12908
|
+
"line": 12,
|
12909
|
+
"character": 5
|
12910
12910
|
},
|
12911
12911
|
"name": "context",
|
12912
12912
|
"type": {
|
12913
12913
|
"__schema": "TypeRefSchema",
|
12914
12914
|
"location": {
|
12915
12915
|
"filePath": "template-list.ts",
|
12916
|
-
"line":
|
12917
|
-
"character":
|
12916
|
+
"line": 12,
|
12917
|
+
"character": 22
|
12918
12918
|
},
|
12919
12919
|
"name": "EnvContext",
|
12920
12920
|
"componentId": {
|
@@ -12941,7 +12941,7 @@
|
|
12941
12941
|
"__schema": "FunctionLikeSchema",
|
12942
12942
|
"location": {
|
12943
12943
|
"filePath": "template-list.ts",
|
12944
|
-
"line":
|
12944
|
+
"line": 15,
|
12945
12945
|
"character": 3
|
12946
12946
|
},
|
12947
12947
|
"signature": "(method) TemplateList.compute(): ComponentTemplate[]",
|
@@ -12951,14 +12951,14 @@
|
|
12951
12951
|
"__schema": "TypeArraySchema",
|
12952
12952
|
"location": {
|
12953
12953
|
"filePath": "template-list.ts",
|
12954
|
-
"line":
|
12954
|
+
"line": 15,
|
12955
12955
|
"character": 14
|
12956
12956
|
},
|
12957
12957
|
"type": {
|
12958
12958
|
"__schema": "TypeRefSchema",
|
12959
12959
|
"location": {
|
12960
12960
|
"filePath": "template-list.ts",
|
12961
|
-
"line":
|
12961
|
+
"line": 15,
|
12962
12962
|
"character": 14
|
12963
12963
|
},
|
12964
12964
|
"name": "ComponentTemplate"
|
@@ -12970,7 +12970,7 @@
|
|
12970
12970
|
"__schema": "FunctionLikeSchema",
|
12971
12971
|
"location": {
|
12972
12972
|
"filePath": "template-list.ts",
|
12973
|
-
"line":
|
12973
|
+
"line": 19,
|
12974
12974
|
"character": 3
|
12975
12975
|
},
|
12976
12976
|
"signature": "(method) TemplateList.from(templates: EnvHandler<ComponentTemplate>[], options?: TemplateListOptions): (context: EnvContext) => TemplateList",
|
@@ -12980,7 +12980,7 @@
|
|
12980
12980
|
"__schema": "ParameterSchema",
|
12981
12981
|
"location": {
|
12982
12982
|
"filePath": "template-list.ts",
|
12983
|
-
"line":
|
12983
|
+
"line": 19,
|
12984
12984
|
"character": 15
|
12985
12985
|
},
|
12986
12986
|
"name": "templates",
|
@@ -12988,14 +12988,14 @@
|
|
12988
12988
|
"__schema": "TypeArraySchema",
|
12989
12989
|
"location": {
|
12990
12990
|
"filePath": "template-list.ts",
|
12991
|
-
"line":
|
12991
|
+
"line": 19,
|
12992
12992
|
"character": 26
|
12993
12993
|
},
|
12994
12994
|
"type": {
|
12995
12995
|
"__schema": "TypeRefSchema",
|
12996
12996
|
"location": {
|
12997
12997
|
"filePath": "template-list.ts",
|
12998
|
-
"line":
|
12998
|
+
"line": 19,
|
12999
12999
|
"character": 26
|
13000
13000
|
},
|
13001
13001
|
"name": "EnvHandler",
|
@@ -13008,7 +13008,7 @@
|
|
13008
13008
|
"__schema": "TypeRefSchema",
|
13009
13009
|
"location": {
|
13010
13010
|
"filePath": "template-list.ts",
|
13011
|
-
"line":
|
13011
|
+
"line": 19,
|
13012
13012
|
"character": 37
|
13013
13013
|
},
|
13014
13014
|
"name": "ComponentTemplate"
|
@@ -13023,7 +13023,7 @@
|
|
13023
13023
|
"__schema": "ParameterSchema",
|
13024
13024
|
"location": {
|
13025
13025
|
"filePath": "template-list.ts",
|
13026
|
-
"line":
|
13026
|
+
"line": 19,
|
13027
13027
|
"character": 59
|
13028
13028
|
},
|
13029
13029
|
"name": "options",
|
@@ -13031,7 +13031,7 @@
|
|
13031
13031
|
"__schema": "TypeRefSchema",
|
13032
13032
|
"location": {
|
13033
13033
|
"filePath": "template-list.ts",
|
13034
|
-
"line":
|
13034
|
+
"line": 19,
|
13035
13035
|
"character": 68
|
13036
13036
|
},
|
13037
13037
|
"name": "TemplateListOptions",
|
@@ -13046,7 +13046,7 @@
|
|
13046
13046
|
"__schema": "InferenceTypeSchema",
|
13047
13047
|
"location": {
|
13048
13048
|
"filePath": "template-list.ts",
|
13049
|
-
"line":
|
13049
|
+
"line": 19,
|
13050
13050
|
"character": 3
|
13051
13051
|
},
|
13052
13052
|
"type": "(context: EnvContext) => TemplateList"
|
@@ -13134,16 +13134,16 @@
|
|
13134
13134
|
"__schema": "ParameterSchema",
|
13135
13135
|
"location": {
|
13136
13136
|
"filePath": "starter-list.ts",
|
13137
|
-
"line":
|
13138
|
-
"character":
|
13137
|
+
"line": 10,
|
13138
|
+
"character": 5
|
13139
13139
|
},
|
13140
13140
|
"name": "name",
|
13141
13141
|
"type": {
|
13142
13142
|
"__schema": "KeywordTypeSchema",
|
13143
13143
|
"location": {
|
13144
13144
|
"filePath": "starter-list.ts",
|
13145
|
-
"line":
|
13146
|
-
"character":
|
13145
|
+
"line": 10,
|
13146
|
+
"character": 20
|
13147
13147
|
},
|
13148
13148
|
"name": "string"
|
13149
13149
|
},
|
@@ -13154,23 +13154,23 @@
|
|
13154
13154
|
"__schema": "ParameterSchema",
|
13155
13155
|
"location": {
|
13156
13156
|
"filePath": "starter-list.ts",
|
13157
|
-
"line":
|
13158
|
-
"character":
|
13157
|
+
"line": 11,
|
13158
|
+
"character": 5
|
13159
13159
|
},
|
13160
13160
|
"name": "starters",
|
13161
13161
|
"type": {
|
13162
13162
|
"__schema": "TypeArraySchema",
|
13163
13163
|
"location": {
|
13164
13164
|
"filePath": "starter-list.ts",
|
13165
|
-
"line":
|
13166
|
-
"character":
|
13165
|
+
"line": 11,
|
13166
|
+
"character": 23
|
13167
13167
|
},
|
13168
13168
|
"type": {
|
13169
13169
|
"__schema": "TypeRefSchema",
|
13170
13170
|
"location": {
|
13171
13171
|
"filePath": "starter-list.ts",
|
13172
|
-
"line":
|
13173
|
-
"character":
|
13172
|
+
"line": 11,
|
13173
|
+
"character": 23
|
13174
13174
|
},
|
13175
13175
|
"name": "EnvHandler",
|
13176
13176
|
"componentId": {
|
@@ -13182,8 +13182,8 @@
|
|
13182
13182
|
"__schema": "TypeRefSchema",
|
13183
13183
|
"location": {
|
13184
13184
|
"filePath": "starter-list.ts",
|
13185
|
-
"line":
|
13186
|
-
"character":
|
13185
|
+
"line": 11,
|
13186
|
+
"character": 34
|
13187
13187
|
},
|
13188
13188
|
"name": "WorkspaceTemplate"
|
13189
13189
|
}
|
@@ -13197,16 +13197,16 @@
|
|
13197
13197
|
"__schema": "ParameterSchema",
|
13198
13198
|
"location": {
|
13199
13199
|
"filePath": "starter-list.ts",
|
13200
|
-
"line":
|
13201
|
-
"character":
|
13200
|
+
"line": 12,
|
13201
|
+
"character": 5
|
13202
13202
|
},
|
13203
13203
|
"name": "context",
|
13204
13204
|
"type": {
|
13205
13205
|
"__schema": "TypeRefSchema",
|
13206
13206
|
"location": {
|
13207
13207
|
"filePath": "starter-list.ts",
|
13208
|
-
"line":
|
13209
|
-
"character":
|
13208
|
+
"line": 12,
|
13209
|
+
"character": 22
|
13210
13210
|
},
|
13211
13211
|
"name": "EnvContext",
|
13212
13212
|
"componentId": {
|
@@ -13233,7 +13233,7 @@
|
|
13233
13233
|
"__schema": "FunctionLikeSchema",
|
13234
13234
|
"location": {
|
13235
13235
|
"filePath": "starter-list.ts",
|
13236
|
-
"line":
|
13236
|
+
"line": 15,
|
13237
13237
|
"character": 3
|
13238
13238
|
},
|
13239
13239
|
"signature": "(method) StarterList.compute(): WorkspaceTemplate[]",
|
@@ -13243,14 +13243,14 @@
|
|
13243
13243
|
"__schema": "TypeArraySchema",
|
13244
13244
|
"location": {
|
13245
13245
|
"filePath": "starter-list.ts",
|
13246
|
-
"line":
|
13246
|
+
"line": 15,
|
13247
13247
|
"character": 14
|
13248
13248
|
},
|
13249
13249
|
"type": {
|
13250
13250
|
"__schema": "TypeRefSchema",
|
13251
13251
|
"location": {
|
13252
13252
|
"filePath": "starter-list.ts",
|
13253
|
-
"line":
|
13253
|
+
"line": 15,
|
13254
13254
|
"character": 14
|
13255
13255
|
},
|
13256
13256
|
"name": "WorkspaceTemplate"
|
@@ -13262,7 +13262,7 @@
|
|
13262
13262
|
"__schema": "FunctionLikeSchema",
|
13263
13263
|
"location": {
|
13264
13264
|
"filePath": "starter-list.ts",
|
13265
|
-
"line":
|
13265
|
+
"line": 19,
|
13266
13266
|
"character": 3
|
13267
13267
|
},
|
13268
13268
|
"signature": "(method) StarterList.from(starters: EnvHandler<WorkspaceTemplate>[], options?: StarterListOptions): (context: EnvContext) => StarterList",
|
@@ -13272,7 +13272,7 @@
|
|
13272
13272
|
"__schema": "ParameterSchema",
|
13273
13273
|
"location": {
|
13274
13274
|
"filePath": "starter-list.ts",
|
13275
|
-
"line":
|
13275
|
+
"line": 19,
|
13276
13276
|
"character": 15
|
13277
13277
|
},
|
13278
13278
|
"name": "starters",
|
@@ -13280,14 +13280,14 @@
|
|
13280
13280
|
"__schema": "TypeArraySchema",
|
13281
13281
|
"location": {
|
13282
13282
|
"filePath": "starter-list.ts",
|
13283
|
-
"line":
|
13283
|
+
"line": 19,
|
13284
13284
|
"character": 25
|
13285
13285
|
},
|
13286
13286
|
"type": {
|
13287
13287
|
"__schema": "TypeRefSchema",
|
13288
13288
|
"location": {
|
13289
13289
|
"filePath": "starter-list.ts",
|
13290
|
-
"line":
|
13290
|
+
"line": 19,
|
13291
13291
|
"character": 25
|
13292
13292
|
},
|
13293
13293
|
"name": "EnvHandler",
|
@@ -13300,7 +13300,7 @@
|
|
13300
13300
|
"__schema": "TypeRefSchema",
|
13301
13301
|
"location": {
|
13302
13302
|
"filePath": "starter-list.ts",
|
13303
|
-
"line":
|
13303
|
+
"line": 19,
|
13304
13304
|
"character": 36
|
13305
13305
|
},
|
13306
13306
|
"name": "WorkspaceTemplate"
|
@@ -13315,7 +13315,7 @@
|
|
13315
13315
|
"__schema": "ParameterSchema",
|
13316
13316
|
"location": {
|
13317
13317
|
"filePath": "starter-list.ts",
|
13318
|
-
"line":
|
13318
|
+
"line": 19,
|
13319
13319
|
"character": 58
|
13320
13320
|
},
|
13321
13321
|
"name": "options",
|
@@ -13323,7 +13323,7 @@
|
|
13323
13323
|
"__schema": "TypeRefSchema",
|
13324
13324
|
"location": {
|
13325
13325
|
"filePath": "starter-list.ts",
|
13326
|
-
"line":
|
13326
|
+
"line": 19,
|
13327
13327
|
"character": 67
|
13328
13328
|
},
|
13329
13329
|
"name": "StarterListOptions",
|
@@ -13338,7 +13338,7 @@
|
|
13338
13338
|
"__schema": "InferenceTypeSchema",
|
13339
13339
|
"location": {
|
13340
13340
|
"filePath": "starter-list.ts",
|
13341
|
-
"line":
|
13341
|
+
"line": 19,
|
13342
13342
|
"character": 3
|
13343
13343
|
},
|
13344
13344
|
"type": "(context: EnvContext) => StarterList"
|
@@ -14159,7 +14159,7 @@
|
|
14159
14159
|
"componentId": {
|
14160
14160
|
"scope": "teambit.generator",
|
14161
14161
|
"name": "generator",
|
14162
|
-
"version": "1.0.
|
14162
|
+
"version": "1.0.427"
|
14163
14163
|
},
|
14164
14164
|
"taggedModuleExports": []
|
14165
14165
|
}
|
@@ -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","_deprecation","_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","deprecation","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","installOptions","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","warnAboutDeprecation","appName","deprecationInfo","getDeprecationInfo","isDeprecate","newStarterMsg","newId","consoleWarning","envTemplates","listEnvComponentTemplateDescriptors","filtered","flattened","getTemplateDescriptor","templatesByAspects","toArray","flatMap","componentTemplates","workspaceTemplates","loadEnvs","getGeneratorStarters","envStarters","starter","compact","ids","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","AspectLoaderAspect","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/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, 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';\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 private deprecation: DeprecationMain\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 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(workspaceName, workspacePath, options, workspaceTemplate, aspect);\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","_config","_workspaceConfigFiles","_component","_bit","_harmony","_git","_bitError","_aspectLoader","_tracker","_newComponentHelper","_lodash","_logger","_deprecation","_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","deprecation","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","installOptions","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","warnAboutDeprecation","appName","deprecationInfo","getDeprecationInfo","isDeprecate","newStarterMsg","newId","consoleWarning","envTemplates","listEnvComponentTemplateDescriptors","filtered","flattened","getTemplateDescriptor","templatesByAspects","toArray","flatMap","componentTemplates","workspaceTemplates","loadEnvs","getGeneratorStarters","envStarters","starter","compact","ids","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","AspectLoaderAspect","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/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, 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';\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 private deprecation: DeprecationMain\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 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(workspaceName, workspacePath, options, workspaceTemplate, aspect);\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.427/dist/generator.composition.js';
|
2
|
+
import * as overview_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad/teambit.generator_generator@1.0.427/dist/generator.docs.mdx';
|
3
3
|
|
4
4
|
export const compositions = [compositions_0];
|
5
5
|
export const overview = [overview_0];
|
package/dist/starter-list.js.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":["StarterList","constructor","name","starters","context","compute","map","starter","from","options","exports"],"sources":["starter-list.ts"],"sourcesContent":["import { EnvContext, EnvHandler } from '@teambit/envs';\nimport { WorkspaceTemplate } from './workspace-template';\n\nexport type StarterListOptions = {\n name?: string;\n};\n\nexport class StarterList {\n constructor(readonly name: string
|
1
|
+
{"version":3,"names":["StarterList","constructor","name","starters","context","compute","map","starter","from","options","exports"],"sources":["starter-list.ts"],"sourcesContent":["import { EnvContext, EnvHandler } from '@teambit/envs';\nimport { WorkspaceTemplate } from './workspace-template';\n\nexport type StarterListOptions = {\n name?: string;\n};\n\nexport class StarterList {\n constructor(\n readonly name: string,\n private starters: EnvHandler<WorkspaceTemplate>[],\n private context: EnvContext\n ) {}\n\n compute(): WorkspaceTemplate[] {\n return this.starters.map((starter) => starter(this.context));\n }\n\n static from(starters: EnvHandler<WorkspaceTemplate>[], options: StarterListOptions = {}) {\n return (context: EnvContext) => {\n const name = options.name || 'starter-list';\n return new StarterList(name, starters, context);\n };\n }\n}\n"],"mappings":";;;;;;AAOO,MAAMA,WAAW,CAAC;EACvBC,WAAWA,CACAC,IAAY,EACbC,QAAyC,EACzCC,OAAmB,EAC3B;IAAA,KAHSF,IAAY,GAAZA,IAAY;IAAA,KACbC,QAAyC,GAAzCA,QAAyC;IAAA,KACzCC,OAAmB,GAAnBA,OAAmB;EAC1B;EAEHC,OAAOA,CAAA,EAAwB;IAC7B,OAAO,IAAI,CAACF,QAAQ,CAACG,GAAG,CAAEC,OAAO,IAAKA,OAAO,CAAC,IAAI,CAACH,OAAO,CAAC,CAAC;EAC9D;EAEA,OAAOI,IAAIA,CAACL,QAAyC,EAAEM,OAA2B,GAAG,CAAC,CAAC,EAAE;IACvF,OAAQL,OAAmB,IAAK;MAC9B,MAAMF,IAAI,GAAGO,OAAO,CAACP,IAAI,IAAI,cAAc;MAC3C,OAAO,IAAIF,WAAW,CAACE,IAAI,EAAEC,QAAQ,EAAEC,OAAO,CAAC;IACjD,CAAC;EACH;AACF;AAACM,OAAA,CAAAV,WAAA,GAAAA,WAAA","ignoreList":[]}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":["TemplateList","constructor","name","templates","context","compute","map","template","from","options","exports"],"sources":["template-list.ts"],"sourcesContent":["import { EnvContext, EnvHandler } from '@teambit/envs';\nimport { ComponentTemplate } from './component-template';\n\nexport type TemplateListOptions = {\n name?: string;\n};\n\nexport class TemplateList {\n constructor(readonly name: string
|
1
|
+
{"version":3,"names":["TemplateList","constructor","name","templates","context","compute","map","template","from","options","exports"],"sources":["template-list.ts"],"sourcesContent":["import { EnvContext, EnvHandler } from '@teambit/envs';\nimport { ComponentTemplate } from './component-template';\n\nexport type TemplateListOptions = {\n name?: string;\n};\n\nexport class TemplateList {\n constructor(\n readonly name: string,\n private templates: EnvHandler<ComponentTemplate>[],\n private context: EnvContext\n ) {}\n\n compute(): ComponentTemplate[] {\n return this.templates.map((template) => template(this.context));\n }\n\n static from(templates: EnvHandler<ComponentTemplate>[], options: TemplateListOptions = {}) {\n return (context: EnvContext) => {\n const name = options.name || 'template-list';\n return new TemplateList(name, templates, context);\n };\n }\n}\n"],"mappings":";;;;;;AAOO,MAAMA,YAAY,CAAC;EACxBC,WAAWA,CACAC,IAAY,EACbC,SAA0C,EAC1CC,OAAmB,EAC3B;IAAA,KAHSF,IAAY,GAAZA,IAAY;IAAA,KACbC,SAA0C,GAA1CA,SAA0C;IAAA,KAC1CC,OAAmB,GAAnBA,OAAmB;EAC1B;EAEHC,OAAOA,CAAA,EAAwB;IAC7B,OAAO,IAAI,CAACF,SAAS,CAACG,GAAG,CAAEC,QAAQ,IAAKA,QAAQ,CAAC,IAAI,CAACH,OAAO,CAAC,CAAC;EACjE;EAEA,OAAOI,IAAIA,CAACL,SAA0C,EAAEM,OAA4B,GAAG,CAAC,CAAC,EAAE;IACzF,OAAQL,OAAmB,IAAK;MAC9B,MAAMF,IAAI,GAAGO,OAAO,CAACP,IAAI,IAAI,eAAe;MAC5C,OAAO,IAAIF,YAAY,CAACE,IAAI,EAAEC,SAAS,EAAEC,OAAO,CAAC;IACnD,CAAC;EACH;AACF;AAACM,OAAA,CAAAV,YAAA,GAAAA,YAAA","ignoreList":[]}
|
package/package.json
CHANGED
@@ -1,12 +1,12 @@
|
|
1
1
|
{
|
2
2
|
"name": "@teambit/generator",
|
3
|
-
"version": "1.0.
|
3
|
+
"version": "1.0.427",
|
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.427"
|
10
10
|
},
|
11
11
|
"dependencies": {
|
12
12
|
"camelcase": "6.2.0",
|
@@ -21,31 +21,31 @@
|
|
21
21
|
"@teambit/component-id": "1.2.2",
|
22
22
|
"@teambit/harmony": "0.4.6",
|
23
23
|
"@teambit/git.modules.git-ignore": "1.0.2",
|
24
|
-
"@teambit/component.sources": "0.0.
|
25
|
-
"@teambit/envs": "1.0.
|
26
|
-
"@teambit/logger": "0.0.
|
27
|
-
"@teambit/new-component-helper": "1.0.
|
24
|
+
"@teambit/component.sources": "0.0.34",
|
25
|
+
"@teambit/envs": "1.0.426",
|
26
|
+
"@teambit/logger": "0.0.1096",
|
27
|
+
"@teambit/new-component-helper": "1.0.426",
|
28
28
|
"@teambit/pkg.modules.component-package-name": "0.0.5",
|
29
29
|
"@teambit/toolbox.path.path": "0.0.4",
|
30
|
-
"@teambit/tracker": "1.0.
|
31
|
-
"@teambit/workspace-config-files": "1.0.
|
32
|
-
"@teambit/workspace.modules.node-modules-linker": "0.0.
|
33
|
-
"@teambit/workspace": "1.0.
|
34
|
-
"@teambit/component": "1.0.
|
35
|
-
"@teambit/cli": "0.0.
|
36
|
-
"@teambit/graphql": "1.0.
|
37
|
-
"@teambit/aspect-loader": "1.0.
|
38
|
-
"@teambit/bit": "1.8.
|
39
|
-
"@teambit/deprecation": "1.0.
|
40
|
-
"@teambit/git": "1.0.
|
41
|
-
"@teambit/compiler": "1.0.
|
42
|
-
"@teambit/forking": "1.0.
|
30
|
+
"@teambit/tracker": "1.0.426",
|
31
|
+
"@teambit/workspace-config-files": "1.0.426",
|
32
|
+
"@teambit/workspace.modules.node-modules-linker": "0.0.209",
|
33
|
+
"@teambit/workspace": "1.0.426",
|
34
|
+
"@teambit/component": "1.0.426",
|
35
|
+
"@teambit/cli": "0.0.1003",
|
36
|
+
"@teambit/graphql": "1.0.426",
|
37
|
+
"@teambit/aspect-loader": "1.0.426",
|
38
|
+
"@teambit/bit": "1.8.77",
|
39
|
+
"@teambit/deprecation": "1.0.426",
|
40
|
+
"@teambit/git": "1.0.426",
|
41
|
+
"@teambit/compiler": "1.0.426",
|
42
|
+
"@teambit/forking": "1.0.426",
|
43
43
|
"@teambit/git.modules.git-executable": "0.0.1",
|
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.
|
44
|
+
"@teambit/host-initializer": "0.0.139",
|
45
|
+
"@teambit/importer": "1.0.426",
|
46
|
+
"@teambit/install": "1.0.426",
|
47
|
+
"@teambit/ui": "1.0.426",
|
48
|
+
"@teambit/config": "0.0.1177"
|
49
49
|
},
|
50
50
|
"devDependencies": {
|
51
51
|
"@types/fs-extra": "9.0.7",
|