@teambit/generator 0.0.593 → 0.0.597
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/component-generator.d.ts +4 -2
- package/dist/component-generator.js +30 -20
- package/dist/component-generator.js.map +1 -1
- package/dist/create.cmd.d.ts +1 -0
- package/dist/create.cmd.js +2 -2
- package/dist/create.cmd.js.map +1 -1
- package/dist/generator.main.runtime.d.ts +11 -2
- package/dist/generator.main.runtime.js +13 -34
- package/dist/generator.main.runtime.js.map +1 -1
- package/package-tar/teambit-generator-0.0.597.tgz +0 -0
- package/package.json +21 -20
- package/package-tar/teambit-generator-0.0.593.tgz +0 -0
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { Workspace } from '@teambit/workspace';
|
|
2
2
|
import { EnvsMain } from '@teambit/envs';
|
|
3
|
+
import { NewComponentHelperMain } from '@teambit/new-component-helper';
|
|
3
4
|
import { ComponentID } from '@teambit/component-id';
|
|
4
5
|
import { ComponentTemplate } from './component-template';
|
|
5
6
|
import { CreateOptions } from './create.cmd';
|
|
@@ -15,14 +16,15 @@ export declare class ComponentGenerator {
|
|
|
15
16
|
private options;
|
|
16
17
|
private template;
|
|
17
18
|
private envs;
|
|
18
|
-
|
|
19
|
+
private newComponentHelper;
|
|
20
|
+
constructor(workspace: Workspace, componentIds: ComponentID[], options: CreateOptions, template: ComponentTemplate, envs: EnvsMain, newComponentHelper: NewComponentHelperMain);
|
|
19
21
|
generate(): Promise<GenerateResult[]>;
|
|
20
22
|
private deleteGeneratedComponents;
|
|
21
23
|
private generateOneComponent;
|
|
24
|
+
private addEnvIfProvidedByUser;
|
|
22
25
|
private removeOtherEnvs;
|
|
23
26
|
/**
|
|
24
27
|
* writes the generated template files to the default directory set in the workspace config
|
|
25
28
|
*/
|
|
26
29
|
private writeComponentFiles;
|
|
27
|
-
private getComponentPath;
|
|
28
30
|
}
|
|
@@ -101,30 +101,21 @@ function _dataToPersist() {
|
|
|
101
101
|
return data;
|
|
102
102
|
}
|
|
103
103
|
|
|
104
|
-
function _composeComponentPath() {
|
|
105
|
-
const data = require("@teambit/legacy/dist/utils/bit/compose-component-path");
|
|
106
|
-
|
|
107
|
-
_composeComponentPath = function () {
|
|
108
|
-
return data;
|
|
109
|
-
};
|
|
110
|
-
|
|
111
|
-
return data;
|
|
112
|
-
}
|
|
113
|
-
|
|
114
104
|
class ComponentGenerator {
|
|
115
|
-
constructor(workspace, componentIds, options, template, envs) {
|
|
105
|
+
constructor(workspace, componentIds, options, template, envs, newComponentHelper) {
|
|
116
106
|
this.workspace = workspace;
|
|
117
107
|
this.componentIds = componentIds;
|
|
118
108
|
this.options = options;
|
|
119
109
|
this.template = template;
|
|
120
110
|
this.envs = envs;
|
|
111
|
+
this.newComponentHelper = newComponentHelper;
|
|
121
112
|
}
|
|
122
113
|
|
|
123
114
|
async generate() {
|
|
124
115
|
const dirsToDeleteIfFailed = [];
|
|
125
116
|
const generateResults = await (0, _pMapSeries().default)(this.componentIds, async componentId => {
|
|
126
117
|
try {
|
|
127
|
-
const componentPath = this.
|
|
118
|
+
const componentPath = this.newComponentHelper.getNewComponentPath(componentId, this.options.path);
|
|
128
119
|
|
|
129
120
|
if (_fsExtra().default.existsSync(_path().default.join(this.workspace.path, componentPath))) {
|
|
130
121
|
throw new (_bitError().BitError)(`unable to create a component at "${componentPath}", this path already exist`);
|
|
@@ -173,7 +164,7 @@ class ComponentGenerator {
|
|
|
173
164
|
componentId
|
|
174
165
|
});
|
|
175
166
|
const mainFile = files.find(file => file.isMain);
|
|
176
|
-
const config = this.template.config;
|
|
167
|
+
const config = this.addEnvIfProvidedByUser(this.template.config);
|
|
177
168
|
await this.writeComponentFiles(componentPath, files);
|
|
178
169
|
const addResults = await this.workspace.track({
|
|
179
170
|
rootDir: componentPath,
|
|
@@ -193,10 +184,34 @@ class ComponentGenerator {
|
|
|
193
184
|
};
|
|
194
185
|
}
|
|
195
186
|
|
|
187
|
+
addEnvIfProvidedByUser(config) {
|
|
188
|
+
var _config, _config$EnvsAspect$id;
|
|
189
|
+
|
|
190
|
+
const userEnv = this.options.env; // env entered by the user when running `bit create --env`
|
|
191
|
+
|
|
192
|
+
const templateEnv = (_config = config) === null || _config === void 0 ? void 0 : (_config$EnvsAspect$id = _config[_envs().default.id]) === null || _config$EnvsAspect$id === void 0 ? void 0 : _config$EnvsAspect$id.env;
|
|
193
|
+
|
|
194
|
+
if (!userEnv || userEnv === templateEnv) {
|
|
195
|
+
return config;
|
|
196
|
+
}
|
|
197
|
+
|
|
198
|
+
config = config || {};
|
|
199
|
+
|
|
200
|
+
if (templateEnv) {
|
|
201
|
+
// the component template has an env and the user wants a different env.
|
|
202
|
+
delete config[templateEnv];
|
|
203
|
+
}
|
|
204
|
+
|
|
205
|
+
config[userEnv] = {};
|
|
206
|
+
config[_envs().default.id] = config[_envs().default.id] || {};
|
|
207
|
+
config[_envs().default.id].env = userEnv;
|
|
208
|
+
return config;
|
|
209
|
+
}
|
|
210
|
+
|
|
196
211
|
async removeOtherEnvs(component, env, config) {
|
|
197
|
-
var _config$EnvsAspect$
|
|
212
|
+
var _config$EnvsAspect$id2;
|
|
198
213
|
|
|
199
|
-
const envFromTemplate = config === null || config === void 0 ? void 0 : (_config$EnvsAspect$
|
|
214
|
+
const envFromTemplate = config === null || config === void 0 ? void 0 : (_config$EnvsAspect$id2 = config[_envs().default.id]) === null || _config$EnvsAspect$id2 === void 0 ? void 0 : _config$EnvsAspect$id2.env;
|
|
200
215
|
|
|
201
216
|
if (!envFromTemplate) {
|
|
202
217
|
return;
|
|
@@ -230,11 +245,6 @@ class ComponentGenerator {
|
|
|
230
245
|
return results;
|
|
231
246
|
}
|
|
232
247
|
|
|
233
|
-
getComponentPath(componentId) {
|
|
234
|
-
if (this.options.path) return this.options.path;
|
|
235
|
-
return (0, _composeComponentPath().composeComponentPath)(componentId._legacy.changeScope(componentId.scope), this.workspace.defaultDirectory);
|
|
236
|
-
}
|
|
237
|
-
|
|
238
248
|
}
|
|
239
249
|
|
|
240
250
|
exports.ComponentGenerator = ComponentGenerator;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["component-generator.ts"],"names":["ComponentGenerator","constructor","workspace","componentIds","options","template","envs","generate","dirsToDeleteIfFailed","generateResults","componentId","componentPath","getComponentPath","fs","existsSync","path","join","BitError","hasName","fullName","push","generateOneComponent","err","deleteGeneratedComponents","bitMap","write","dirs","Promise","all","map","dir","absoluteDir","remove","code","name","namePascalCase","pascalCase","nameCamelCase","files","generateFiles","mainFile","find","file","isMain","config","writeComponentFiles","addResults","track","rootDir","relativePath","componentName","defaultScope","scope","component","get","env","getEnv","removeOtherEnvs","id","envId","envFromTemplate","EnvsAspect","envsNotFromConfig","getEnvsNotFromEnvsConfig","envDef","envsToRemove","filter","forEach","bitMapRecord","getBitmapEntry","templateFiles","dataToPersist","DataToPersist","vinylFiles","templateFile","templateFileVinyl","Vinyl","base","contents","Buffer","from","content","AbstractVinyl","fromVinyl","results","v","addManyFiles","addBasePath","persistAllToFS","_legacy","changeScope","defaultDirectory"],"mappings":"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","sourcesContent":["import Vinyl from 'vinyl';\nimport fs from 'fs-extra';\nimport pMapSeries from 'p-map-series';\nimport path from 'path';\nimport { Workspace } from '@teambit/workspace';\nimport EnvsAspect, { EnvDefinition, EnvsMain } from '@teambit/envs';\nimport { Component } from '@teambit/component';\nimport camelcase from 'camelcase';\nimport { BitError } from '@teambit/bit-error';\nimport { PathOsBasedRelative } from '@teambit/legacy/dist/utils/path';\nimport { AbstractVinyl } from '@teambit/legacy/dist/consumer/component/sources';\nimport DataToPersist from '@teambit/legacy/dist/consumer/component/sources/data-to-persist';\nimport { composeComponentPath } from '@teambit/legacy/dist/utils/bit/compose-component-path';\nimport { ComponentID } from '@teambit/component-id';\nimport { ComponentTemplate, ComponentFile, ComponentConfig } from './component-template';\nimport { CreateOptions } from './create.cmd';\n\nexport type GenerateResult = { id: ComponentID; dir: string; files: string[]; envId: string };\n\nexport class ComponentGenerator {\n constructor(\n private workspace: Workspace,\n private componentIds: ComponentID[],\n private options: CreateOptions,\n private template: ComponentTemplate,\n private envs: EnvsMain\n ) {}\n\n async generate(): Promise<GenerateResult[]> {\n const dirsToDeleteIfFailed: string[] = [];\n const generateResults = await pMapSeries(this.componentIds, async (componentId) => {\n try {\n const componentPath = this.getComponentPath(componentId);\n if (fs.existsSync(path.join(this.workspace.path, componentPath))) {\n throw new BitError(`unable to create a component at \"${componentPath}\", this path already exist`);\n }\n if (await this.workspace.hasName(componentId.fullName)) {\n throw new BitError(\n `unable to create a component \"${componentId.fullName}\", a component with the same name already exist`\n );\n }\n dirsToDeleteIfFailed.push(componentPath);\n return await this.generateOneComponent(componentId, componentPath);\n } catch (err: any) {\n await this.deleteGeneratedComponents(dirsToDeleteIfFailed);\n throw err;\n }\n });\n\n await this.workspace.bitMap.write();\n\n return generateResults;\n }\n\n private async deleteGeneratedComponents(dirs: string[]) {\n await Promise.all(\n dirs.map(async (dir) => {\n const absoluteDir = path.join(this.workspace.path, dir);\n try {\n await fs.remove(absoluteDir);\n } catch (err: any) {\n if (err.code !== 'ENOENT') {\n // if not exist, it's fine\n throw err;\n }\n }\n })\n );\n }\n\n private async generateOneComponent(componentId: ComponentID, componentPath: string): Promise<GenerateResult> {\n const name = componentId.name;\n const namePascalCase = camelcase(name, { pascalCase: true });\n const nameCamelCase = camelcase(name);\n const files = this.template.generateFiles({ name, namePascalCase, nameCamelCase, componentId });\n const mainFile = files.find((file) => file.isMain);\n const config = this.template.config;\n await this.writeComponentFiles(componentPath, files);\n const addResults = await this.workspace.track({\n rootDir: componentPath,\n mainFile: mainFile?.relativePath,\n componentName: componentId.fullName,\n defaultScope: this.options.scope,\n config,\n });\n const component = await this.workspace.get(componentId);\n const env = this.envs.getEnv(component);\n await this.removeOtherEnvs(component, env, config);\n return {\n id: componentId,\n dir: componentPath,\n files: addResults.files,\n envId: env.id,\n };\n }\n\n private async removeOtherEnvs(component: Component, env: EnvDefinition, config?: ComponentConfig) {\n const envFromTemplate = config?.[EnvsAspect.id]?.env;\n if (!envFromTemplate) {\n return;\n }\n const envsNotFromConfig = this.envs.getEnvsNotFromEnvsConfig(component).map((envDef) => envDef.id);\n const envsToRemove = envsNotFromConfig.filter((envId) => envId !== envFromTemplate);\n envsToRemove.forEach((envId) => (config[envId] = '-'));\n const bitMapRecord = this.workspace.bitMap.getBitmapEntry(component.id);\n bitMapRecord.config = config;\n }\n\n /**\n * writes the generated template files to the default directory set in the workspace config\n */\n private async writeComponentFiles(\n componentPath: string,\n templateFiles: ComponentFile[]\n ): Promise<PathOsBasedRelative[]> {\n const dataToPersist = new DataToPersist();\n const vinylFiles = templateFiles.map((templateFile) => {\n const templateFileVinyl = new Vinyl({\n base: componentPath,\n path: path.join(componentPath, templateFile.relativePath),\n contents: Buffer.from(templateFile.content),\n });\n return AbstractVinyl.fromVinyl(templateFileVinyl);\n });\n const results = vinylFiles.map((v) => v.path);\n dataToPersist.addManyFiles(vinylFiles);\n dataToPersist.addBasePath(this.workspace.path);\n await dataToPersist.persistAllToFS();\n return results;\n }\n\n private getComponentPath(componentId: ComponentID) {\n if (this.options.path) return this.options.path;\n return composeComponentPath(componentId._legacy.changeScope(componentId.scope), this.workspace.defaultDirectory);\n }\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["component-generator.ts"],"names":["ComponentGenerator","constructor","workspace","componentIds","options","template","envs","newComponentHelper","generate","dirsToDeleteIfFailed","generateResults","componentId","componentPath","getNewComponentPath","path","fs","existsSync","join","BitError","hasName","fullName","push","generateOneComponent","err","deleteGeneratedComponents","bitMap","write","dirs","Promise","all","map","dir","absoluteDir","remove","code","name","namePascalCase","pascalCase","nameCamelCase","files","generateFiles","mainFile","find","file","isMain","config","addEnvIfProvidedByUser","writeComponentFiles","addResults","track","rootDir","relativePath","componentName","defaultScope","scope","component","get","env","getEnv","removeOtherEnvs","id","envId","userEnv","templateEnv","EnvsAspect","envFromTemplate","envsNotFromConfig","getEnvsNotFromEnvsConfig","envDef","envsToRemove","filter","forEach","bitMapRecord","getBitmapEntry","templateFiles","dataToPersist","DataToPersist","vinylFiles","templateFile","templateFileVinyl","Vinyl","base","contents","Buffer","from","content","AbstractVinyl","fromVinyl","results","v","addManyFiles","addBasePath","persistAllToFS"],"mappings":"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","sourcesContent":["import Vinyl from 'vinyl';\nimport fs from 'fs-extra';\nimport pMapSeries from 'p-map-series';\nimport path from 'path';\nimport { Workspace } from '@teambit/workspace';\nimport EnvsAspect, { EnvDefinition, EnvsMain } from '@teambit/envs';\nimport { Component } from '@teambit/component';\nimport camelcase from 'camelcase';\nimport { BitError } from '@teambit/bit-error';\nimport { PathOsBasedRelative } from '@teambit/legacy/dist/utils/path';\nimport { AbstractVinyl } from '@teambit/legacy/dist/consumer/component/sources';\nimport DataToPersist from '@teambit/legacy/dist/consumer/component/sources/data-to-persist';\nimport { NewComponentHelperMain } from '@teambit/new-component-helper';\nimport { ComponentID } from '@teambit/component-id';\nimport { ComponentTemplate, ComponentFile, ComponentConfig } from './component-template';\nimport { CreateOptions } from './create.cmd';\n\nexport type GenerateResult = { id: ComponentID; dir: string; files: string[]; envId: string };\n\nexport class ComponentGenerator {\n constructor(\n private workspace: Workspace,\n private componentIds: ComponentID[],\n private options: CreateOptions,\n private template: ComponentTemplate,\n private envs: EnvsMain,\n private newComponentHelper: NewComponentHelperMain\n ) {}\n\n async generate(): Promise<GenerateResult[]> {\n const dirsToDeleteIfFailed: string[] = [];\n const generateResults = await pMapSeries(this.componentIds, async (componentId) => {\n try {\n const componentPath = this.newComponentHelper.getNewComponentPath(componentId, this.options.path);\n if (fs.existsSync(path.join(this.workspace.path, componentPath))) {\n throw new BitError(`unable to create a component at \"${componentPath}\", this path already exist`);\n }\n if (await this.workspace.hasName(componentId.fullName)) {\n throw new BitError(\n `unable to create a component \"${componentId.fullName}\", a component with the same name already exist`\n );\n }\n dirsToDeleteIfFailed.push(componentPath);\n return await this.generateOneComponent(componentId, componentPath);\n } catch (err: any) {\n await this.deleteGeneratedComponents(dirsToDeleteIfFailed);\n throw err;\n }\n });\n\n await this.workspace.bitMap.write();\n\n return generateResults;\n }\n\n private async deleteGeneratedComponents(dirs: string[]) {\n await Promise.all(\n dirs.map(async (dir) => {\n const absoluteDir = path.join(this.workspace.path, dir);\n try {\n await fs.remove(absoluteDir);\n } catch (err: any) {\n if (err.code !== 'ENOENT') {\n // if not exist, it's fine\n throw err;\n }\n }\n })\n );\n }\n\n private async generateOneComponent(componentId: ComponentID, componentPath: string): Promise<GenerateResult> {\n const name = componentId.name;\n const namePascalCase = camelcase(name, { pascalCase: true });\n const nameCamelCase = camelcase(name);\n const files = this.template.generateFiles({ name, namePascalCase, nameCamelCase, componentId });\n const mainFile = files.find((file) => file.isMain);\n const config = this.addEnvIfProvidedByUser(this.template.config);\n await this.writeComponentFiles(componentPath, files);\n const addResults = await this.workspace.track({\n rootDir: componentPath,\n mainFile: mainFile?.relativePath,\n componentName: componentId.fullName,\n defaultScope: this.options.scope,\n config,\n });\n const component = await this.workspace.get(componentId);\n const env = this.envs.getEnv(component);\n await this.removeOtherEnvs(component, env, config);\n return {\n id: componentId,\n dir: componentPath,\n files: addResults.files,\n envId: env.id,\n };\n }\n\n private addEnvIfProvidedByUser(config?: ComponentConfig): ComponentConfig | undefined {\n const userEnv = this.options.env; // env entered by the user when running `bit create --env`\n const templateEnv = config?.[EnvsAspect.id]?.env;\n if (!userEnv || userEnv === templateEnv) {\n return config;\n }\n config = config || {};\n if (templateEnv) {\n // the component template has an env and the user wants a different env.\n delete config[templateEnv];\n }\n config[userEnv] = {};\n config[EnvsAspect.id] = config[EnvsAspect.id] || {};\n config[EnvsAspect.id].env = userEnv;\n return config;\n }\n\n private async removeOtherEnvs(component: Component, env: EnvDefinition, config?: ComponentConfig) {\n const envFromTemplate = config?.[EnvsAspect.id]?.env;\n if (!envFromTemplate) {\n return;\n }\n const envsNotFromConfig = this.envs.getEnvsNotFromEnvsConfig(component).map((envDef) => envDef.id);\n const envsToRemove = envsNotFromConfig.filter((envId) => envId !== envFromTemplate);\n envsToRemove.forEach((envId) => (config[envId] = '-'));\n const bitMapRecord = this.workspace.bitMap.getBitmapEntry(component.id);\n bitMapRecord.config = config;\n }\n\n /**\n * writes the generated template files to the default directory set in the workspace config\n */\n private async writeComponentFiles(\n componentPath: string,\n templateFiles: ComponentFile[]\n ): Promise<PathOsBasedRelative[]> {\n const dataToPersist = new DataToPersist();\n const vinylFiles = templateFiles.map((templateFile) => {\n const templateFileVinyl = new Vinyl({\n base: componentPath,\n path: path.join(componentPath, templateFile.relativePath),\n contents: Buffer.from(templateFile.content),\n });\n return AbstractVinyl.fromVinyl(templateFileVinyl);\n });\n const results = vinylFiles.map((v) => v.path);\n dataToPersist.addManyFiles(vinylFiles);\n dataToPersist.addBasePath(this.workspace.path);\n await dataToPersist.persistAllToFS();\n return results;\n }\n}\n"]}
|
package/dist/create.cmd.d.ts
CHANGED
package/dist/create.cmd.js
CHANGED
|
@@ -40,7 +40,7 @@ class CreateCmd {
|
|
|
40
40
|
(0, _defineProperty2().default)(this, "alias", '');
|
|
41
41
|
(0, _defineProperty2().default)(this, "loader", true);
|
|
42
42
|
(0, _defineProperty2().default)(this, "group", 'development');
|
|
43
|
-
(0, _defineProperty2().default)(this, "options", [['n', 'namespace <string>', `sets the component's namespace and nested dirs inside the scope`], ['s', 'scope <string>', `sets the component's scope-name. if not entered, the default-scope will be used`], ['a', 'aspect <string>', 'aspect-id of the template. helpful when multiple aspects use the same template name'], ['p', 'path <string>', 'relative path in the workspace. by default the path is `<scope>/<namespace>/<name>`']]);
|
|
43
|
+
(0, _defineProperty2().default)(this, "options", [['n', 'namespace <string>', `sets the component's namespace and nested dirs inside the scope`], ['s', 'scope <string>', `sets the component's scope-name. if not entered, the default-scope will be used`], ['a', 'aspect <string>', 'aspect-id of the template. helpful when multiple aspects use the same template name'], ['p', 'path <string>', 'relative path in the workspace. by default the path is `<scope>/<namespace>/<name>`'], ['e', 'env <string>', "set the component's environment. (overrides the env from variants and the template)"]]);
|
|
44
44
|
}
|
|
45
45
|
|
|
46
46
|
async report([templateName, componentNames], options) {
|
|
@@ -52,7 +52,7 @@ class CreateCmd {
|
|
|
52
52
|
env: ${result.envId}
|
|
53
53
|
`;
|
|
54
54
|
}).join('\n');
|
|
55
|
-
const footer = `env configuration is according to workspace variants or
|
|
55
|
+
const footer = `env configuration is according to workspace variants, template config or --env flag. learn more at https://harmony-docs.bit.dev/building-with-bit/environments/#configure-environment-for-components`;
|
|
56
56
|
return `${_chalk().default.green(title)}\n\n${componentsData}\n\n${footer}`;
|
|
57
57
|
}
|
|
58
58
|
|
package/dist/create.cmd.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["create.cmd.ts"],"names":["CreateCmd","constructor","generator","report","templateName","componentNames","options","results","generateComponentTemplate","title","length","componentsData","map","result","chalk","bold","id","toString","dir","envId","join","footer","green"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AACA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;
|
|
1
|
+
{"version":3,"sources":["create.cmd.ts"],"names":["CreateCmd","constructor","generator","report","templateName","componentNames","options","results","generateComponentTemplate","title","length","componentsData","map","result","chalk","bold","id","toString","dir","envId","join","footer","green"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AACA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAWO,MAAMA,SAAN,CAAmC;AAexCC,EAAAA,WAAW,CAASC,SAAT,EAAmC;AAAA,SAA1BA,SAA0B,GAA1BA,SAA0B;AAAA,kDAdvC,2CAcuC;AAAA,yDAbhC,wCAagC;AAAA,8DAZ3B,EAY2B;AAAA,mDAXtC,EAWsC;AAAA,oDAVrC,IAUqC;AAAA,mDATtC,aASsC;AAAA,qDARpC,CACR,CAAC,GAAD,EAAM,oBAAN,EAA6B,iEAA7B,CADQ,EAER,CAAC,GAAD,EAAM,gBAAN,EAAyB,iFAAzB,CAFQ,EAGR,CAAC,GAAD,EAAM,iBAAN,EAAyB,qFAAzB,CAHQ,EAIR,CAAC,GAAD,EAAM,eAAN,EAAuB,qFAAvB,CAJQ,EAKR,CAAC,GAAD,EAAM,cAAN,EAAsB,qFAAtB,CALQ,CAQoC;AAAE;;AAEpC,QAANC,MAAM,CAAC,CAACC,YAAD,EAAeC,cAAf,CAAD,EAAqDC,OAArD,EAA6E;AACvF,UAAMC,OAAO,GAAG,MAAM,KAAKL,SAAL,CAAeM,yBAAf,CAAyCH,cAAzC,EAAyDD,YAAzD,EAAuEE,OAAvE,CAAtB;AACA,UAAMG,KAAK,GAAI,GAAEF,OAAO,CAACG,MAAO,4BAAhC;AAEA,UAAMC,cAAc,GAAGJ,OAAO,CAC3BK,GADoB,CACfC,MAAD,IAAY;AACf,aAAQ,GAAEC,iBAAMC,IAAN,CAAWF,MAAM,CAACG,EAAP,CAAUC,QAAV,EAAX,CAAiC;AACnD,gBAAgBJ,MAAM,CAACK,GAAI;AAC3B,gBAAgBL,MAAM,CAACM,KAAM;AAC7B,CAHQ;AAID,KANoB,EAOpBC,IAPoB,CAOf,IAPe,CAAvB;AAQA,UAAMC,MAAM,GAAI,sMAAhB;AAEA,WAAQ,GAAEP,iBAAMQ,KAAN,CAAYb,KAAZ,CAAmB,OAAME,cAAe,OAAMU,MAAO,EAA/D;AACD;;AAhCuC","sourcesContent":["import { Command, CommandOptions } from '@teambit/cli';\nimport chalk from 'chalk';\nimport { GeneratorMain } from './generator.main.runtime';\n\nexport type CreateOptions = {\n namespace?: string;\n aspect?: string;\n scope?: string;\n path?: string;\n env?: string;\n};\n\nexport class CreateCmd implements Command {\n name = 'create <templateName> <componentNames...>';\n description = 'create a new component from a template';\n shortDescription = '';\n alias = '';\n loader = true;\n group = 'development';\n options = [\n ['n', 'namespace <string>', `sets the component's namespace and nested dirs inside the scope`],\n ['s', 'scope <string>', `sets the component's scope-name. if not entered, the default-scope will be used`],\n ['a', 'aspect <string>', 'aspect-id of the template. helpful when multiple aspects use the same template name'],\n ['p', 'path <string>', 'relative path in the workspace. by default the path is `<scope>/<namespace>/<name>`'],\n ['e', 'env <string>', \"set the component's environment. (overrides the env from variants and the template)\"],\n ] as CommandOptions;\n\n constructor(private generator: GeneratorMain) {}\n\n async report([templateName, componentNames]: [string, string[]], options: CreateOptions) {\n const results = await this.generator.generateComponentTemplate(componentNames, templateName, options);\n const title = `${results.length} component(s) were created`;\n\n const componentsData = results\n .map((result) => {\n return `${chalk.bold(result.id.toString())}\n location: ${result.dir}\n env: ${result.envId}\n`;\n })\n .join('\\n');\n const footer = `env configuration is according to workspace variants, template config or --env flag. learn more at https://harmony-docs.bit.dev/building-with-bit/environments/#configure-environment-for-components`;\n\n return `${chalk.green(title)}\\n\\n${componentsData}\\n\\n${footer}`;\n }\n}\n"]}
|
|
@@ -5,6 +5,7 @@ import { EnvsMain } from '@teambit/envs';
|
|
|
5
5
|
import { Component } from '@teambit/component';
|
|
6
6
|
import { SlotRegistry } from '@teambit/harmony';
|
|
7
7
|
import { AspectLoaderMain } from '@teambit/aspect-loader';
|
|
8
|
+
import { NewComponentHelperMain } from '@teambit/new-component-helper';
|
|
8
9
|
import { ComponentTemplate } from './component-template';
|
|
9
10
|
import { CreateOptions } from './create.cmd';
|
|
10
11
|
import { GenerateResult } from './component-generator';
|
|
@@ -36,8 +37,9 @@ export declare class GeneratorMain {
|
|
|
36
37
|
private workspace;
|
|
37
38
|
private envs;
|
|
38
39
|
private aspectLoader;
|
|
40
|
+
private newComponentHelper;
|
|
39
41
|
private aspectLoaded;
|
|
40
|
-
constructor(componentTemplateSlot: ComponentTemplateSlot, workspaceTemplateSlot: WorkspaceTemplateSlot, config: GeneratorConfig, workspace: Workspace, envs: EnvsMain, aspectLoader: AspectLoaderMain);
|
|
42
|
+
constructor(componentTemplateSlot: ComponentTemplateSlot, workspaceTemplateSlot: WorkspaceTemplateSlot, config: GeneratorConfig, workspace: Workspace, envs: EnvsMain, aspectLoader: AspectLoaderMain, newComponentHelper: NewComponentHelperMain);
|
|
41
43
|
/**
|
|
42
44
|
* register a new component template.
|
|
43
45
|
*/
|
|
@@ -86,5 +88,12 @@ export declare class GeneratorMain {
|
|
|
86
88
|
static slots: (((registerFn: () => string) => SlotRegistry<ComponentTemplate[]>) | ((registerFn: () => string) => SlotRegistry<WorkspaceTemplate[]>))[];
|
|
87
89
|
static dependencies: import("@teambit/bit").Aspect[];
|
|
88
90
|
static runtime: import("@teambit/bit").RuntimeDefinition;
|
|
89
|
-
static provider([workspace, cli, graphql, envs, aspectLoader
|
|
91
|
+
static provider([workspace, cli, graphql, envs, aspectLoader, newComponentHelper]: [
|
|
92
|
+
Workspace,
|
|
93
|
+
CLIMain,
|
|
94
|
+
GraphqlMain,
|
|
95
|
+
EnvsMain,
|
|
96
|
+
AspectLoaderMain,
|
|
97
|
+
NewComponentHelperMain
|
|
98
|
+
], config: GeneratorConfig, [componentTemplateSlot, workspaceTemplateSlot]: [ComponentTemplateSlot, WorkspaceTemplateSlot]): Promise<GeneratorMain>;
|
|
90
99
|
}
|
|
@@ -77,16 +77,6 @@ function _exceptions() {
|
|
|
77
77
|
return data;
|
|
78
78
|
}
|
|
79
79
|
|
|
80
|
-
function _componentId() {
|
|
81
|
-
const data = require("@teambit/component-id");
|
|
82
|
-
|
|
83
|
-
_componentId = function () {
|
|
84
|
-
return data;
|
|
85
|
-
};
|
|
86
|
-
|
|
87
|
-
return data;
|
|
88
|
-
}
|
|
89
|
-
|
|
90
80
|
function _bit() {
|
|
91
81
|
const data = require("@teambit/bit");
|
|
92
82
|
|
|
@@ -117,20 +107,20 @@ function _bitError() {
|
|
|
117
107
|
return data;
|
|
118
108
|
}
|
|
119
109
|
|
|
120
|
-
function
|
|
121
|
-
const data = require("@teambit/
|
|
110
|
+
function _aspectLoader() {
|
|
111
|
+
const data = _interopRequireDefault(require("@teambit/aspect-loader"));
|
|
122
112
|
|
|
123
|
-
|
|
113
|
+
_aspectLoader = function () {
|
|
124
114
|
return data;
|
|
125
115
|
};
|
|
126
116
|
|
|
127
117
|
return data;
|
|
128
118
|
}
|
|
129
119
|
|
|
130
|
-
function
|
|
131
|
-
const data = _interopRequireDefault(require("@teambit/
|
|
120
|
+
function _newComponentHelper() {
|
|
121
|
+
const data = _interopRequireDefault(require("@teambit/new-component-helper"));
|
|
132
122
|
|
|
133
|
-
|
|
123
|
+
_newComponentHelper = function () {
|
|
134
124
|
return data;
|
|
135
125
|
};
|
|
136
126
|
|
|
@@ -228,13 +218,14 @@ function _workspaceGenerator2() {
|
|
|
228
218
|
}
|
|
229
219
|
|
|
230
220
|
class GeneratorMain {
|
|
231
|
-
constructor(componentTemplateSlot, workspaceTemplateSlot, config, workspace, envs, aspectLoader) {
|
|
221
|
+
constructor(componentTemplateSlot, workspaceTemplateSlot, config, workspace, envs, aspectLoader, newComponentHelper) {
|
|
232
222
|
this.componentTemplateSlot = componentTemplateSlot;
|
|
233
223
|
this.workspaceTemplateSlot = workspaceTemplateSlot;
|
|
234
224
|
this.config = config;
|
|
235
225
|
this.workspace = workspace;
|
|
236
226
|
this.envs = envs;
|
|
237
227
|
this.aspectLoader = aspectLoader;
|
|
228
|
+
this.newComponentHelper = newComponentHelper;
|
|
238
229
|
(0, _defineProperty2().default)(this, "aspectLoaded", false);
|
|
239
230
|
}
|
|
240
231
|
/**
|
|
@@ -403,20 +394,8 @@ class GeneratorMain {
|
|
|
403
394
|
} = options;
|
|
404
395
|
const template = this.getComponentTemplate(templateName, aspectId);
|
|
405
396
|
if (!template) throw new (_bitError().BitError)(`template "${templateName}" was not found`);
|
|
406
|
-
const
|
|
407
|
-
|
|
408
|
-
if (!(0, _legacyBitId().isValidScopeName)(scope)) {
|
|
409
|
-
throw new (_legacyBitId().InvalidScopeName)(scope);
|
|
410
|
-
}
|
|
411
|
-
|
|
412
|
-
if (!scope) throw new (_bitError().BitError)(`failed finding defaultScope`);
|
|
413
|
-
const componentIds = componentNames.map(componentName => {
|
|
414
|
-
const fullComponentName = namespace ? `${namespace}/${componentName}` : componentName;
|
|
415
|
-
return _componentId().ComponentID.fromObject({
|
|
416
|
-
name: fullComponentName
|
|
417
|
-
}, scope);
|
|
418
|
-
});
|
|
419
|
-
const componentGenerator = new (_componentGenerator().ComponentGenerator)(this.workspace, componentIds, options, template, this.envs);
|
|
397
|
+
const componentIds = componentNames.map(componentName => this.newComponentHelper.getNewComponentId(componentName, namespace, options.scope));
|
|
398
|
+
const componentGenerator = new (_componentGenerator().ComponentGenerator)(this.workspace, componentIds, options, template, this.envs, this.newComponentHelper);
|
|
420
399
|
return componentGenerator.generate();
|
|
421
400
|
}
|
|
422
401
|
|
|
@@ -475,8 +454,8 @@ class GeneratorMain {
|
|
|
475
454
|
this.aspectLoaded = true;
|
|
476
455
|
}
|
|
477
456
|
|
|
478
|
-
static async provider([workspace, cli, graphql, envs, aspectLoader], config, [componentTemplateSlot, workspaceTemplateSlot]) {
|
|
479
|
-
const generator = new GeneratorMain(componentTemplateSlot, workspaceTemplateSlot, config, workspace, envs, aspectLoader);
|
|
457
|
+
static async provider([workspace, cli, graphql, envs, aspectLoader, newComponentHelper], config, [componentTemplateSlot, workspaceTemplateSlot]) {
|
|
458
|
+
const generator = new GeneratorMain(componentTemplateSlot, workspaceTemplateSlot, config, workspace, envs, aspectLoader, newComponentHelper);
|
|
480
459
|
const commands = [new (_create().CreateCmd)(generator), new (_templates().TemplatesCmd)(generator), new (_new().NewCmd)(generator)];
|
|
481
460
|
cli.register(...commands);
|
|
482
461
|
graphql.register((0, _generator2().generatorSchema)(generator));
|
|
@@ -488,7 +467,7 @@ class GeneratorMain {
|
|
|
488
467
|
|
|
489
468
|
exports.GeneratorMain = GeneratorMain;
|
|
490
469
|
(0, _defineProperty2().default)(GeneratorMain, "slots", [_harmony().Slot.withType(), _harmony().Slot.withType()]);
|
|
491
|
-
(0, _defineProperty2().default)(GeneratorMain, "dependencies", [_workspace().default, _cli().CLIAspect, _graphql().GraphqlAspect, _envs().EnvsAspect, _aspectLoader().default]);
|
|
470
|
+
(0, _defineProperty2().default)(GeneratorMain, "dependencies", [_workspace().default, _cli().CLIAspect, _graphql().GraphqlAspect, _envs().EnvsAspect, _aspectLoader().default, _newComponentHelper().default]);
|
|
492
471
|
(0, _defineProperty2().default)(GeneratorMain, "runtime", _cli().MainRuntime);
|
|
493
472
|
|
|
494
473
|
_generator().GeneratorAspect.addRuntime(GeneratorMain);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["generator.main.runtime.ts"],"names":["GeneratorMain","constructor","componentTemplateSlot","workspaceTemplateSlot","config","workspace","envs","aspectLoader","registerComponentTemplate","templates","register","registerWorkspaceTemplate","listTemplates","getTemplateDescriptor","id","template","shouldBeHidden","hidden","hideCoreTemplates","aspectId","name","description","isRunningInsideWorkspace","getAllComponentTemplatesFlattened","map","getAllWorkspaceTemplatesFlattened","listComponentTemplates","Boolean","getComponentTemplateByAspect","get","getComponentTemplate","found","find","findTemplateInGlobalScope","aspects","loadAspectsFromGlobalScope","fullAspectId","toString","searchRegisteredWorkspaceTemplate","findTemplateInOtherWorkspace","workspacePath","BitError","harmony","WorkspaceAspect","err","Error","aspectComponentId","resolveComponentId","loadAspects","aspectFullId","generator","GeneratorAspect","getWorkspaceTemplate","registeredTemplate","workspaceTemplate","aspect","fromGlobal","generateComponentTemplate","componentNames","templateName","options","ConsumerNotFound","namespace","scope","defaultScope","InvalidScopeName","componentIds","componentName","fullComponentName","ComponentID","fromObject","componentGenerator","ComponentGenerator","generate","generateWorkspaceTemplate","workspaceName","loadFrom","aspectComponent","workspaceGenerator","WorkspaceGenerator","templatesByAspects","toArray","flatMap","componentTemplates","workspaceTemplates","aspectLoaded","provider","cli","graphql","commands","CreateCmd","TemplatesCmd","NewCmd","componentGeneratorTemplate","workspaceGeneratorTemplate","Slot","withType","CLIAspect","GraphqlAspect","EnvsAspect","AspectLoaderAspect","MainRuntime","addRuntime"],"mappings":"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","sourcesContent":["import { GraphqlAspect, GraphqlMain } from '@teambit/graphql';\nimport { CLIAspect, CLIMain, MainRuntime } from '@teambit/cli';\nimport WorkspaceAspect, { Workspace } from '@teambit/workspace';\nimport { EnvsAspect, EnvsMain } from '@teambit/envs';\nimport { ConsumerNotFound } from '@teambit/legacy/dist/consumer/exceptions';\nimport { Component } from '@teambit/component';\nimport { ComponentID } from '@teambit/component-id';\nimport { isCoreAspect, loadBit } from '@teambit/bit';\nimport { Slot, SlotRegistry } from '@teambit/harmony';\nimport { BitError } from '@teambit/bit-error';\nimport { InvalidScopeName, isValidScopeName } from '@teambit/legacy-bit-id';\nimport AspectLoaderAspect, { AspectLoaderMain } from '@teambit/aspect-loader';\nimport { ComponentTemplate } from './component-template';\nimport { GeneratorAspect } from './generator.aspect';\nimport { CreateCmd, CreateOptions } from './create.cmd';\nimport { TemplatesCmd } from './templates.cmd';\nimport { generatorSchema } from './generator.graphql';\nimport { ComponentGenerator, GenerateResult } from './component-generator';\nimport { WorkspaceGenerator } from './workspace-generator';\nimport { WorkspaceTemplate } from './workspace-template';\nimport { NewCmd, NewOptions } from './new.cmd';\nimport { componentGeneratorTemplate } from './templates/component-generator';\nimport { workspaceGeneratorTemplate } from './templates/workspace-generator';\n\nexport type ComponentTemplateSlot = SlotRegistry<ComponentTemplate[]>;\nexport type WorkspaceTemplateSlot = SlotRegistry<WorkspaceTemplate[]>;\n\nexport type TemplateDescriptor = { aspectId: string; name: string; description?: string; hidden?: boolean };\n\nexport type GeneratorConfig = {\n /**\n * array of aspects to include in the list of templates.\n */\n aspects: string[];\n\n /**\n * by default core templates are shown.\n * use this to hide them unless `--show-all` flag of `bit templates` was used\n */\n hideCoreTemplates: boolean;\n};\n\nexport class GeneratorMain {\n private aspectLoaded = false;\n constructor(\n private componentTemplateSlot: ComponentTemplateSlot,\n private workspaceTemplateSlot: WorkspaceTemplateSlot,\n private config: GeneratorConfig,\n private workspace: Workspace,\n private envs: EnvsMain,\n private aspectLoader: AspectLoaderMain\n ) {}\n\n /**\n * register a new component template.\n */\n registerComponentTemplate(templates: ComponentTemplate[]) {\n this.componentTemplateSlot.register(templates);\n return this;\n }\n\n /**\n * register a new component template.\n */\n registerWorkspaceTemplate(templates: WorkspaceTemplate[]) {\n this.workspaceTemplateSlot.register(templates);\n return this;\n }\n\n /**\n * list all component templates registered in the workspace or workspace templates in case the\n * workspace is not available\n */\n async listTemplates(): Promise<TemplateDescriptor[]> {\n const getTemplateDescriptor = ({\n id,\n template,\n }: {\n id: string;\n template: WorkspaceTemplate | ComponentTemplate;\n }) => {\n const shouldBeHidden = () => {\n if (template.hidden) return true;\n if (this.config.hideCoreTemplates && isCoreAspect(id)) return true;\n return false;\n };\n return {\n aspectId: id,\n name: template.name,\n description: template.description,\n hidden: shouldBeHidden(),\n };\n };\n return this.isRunningInsideWorkspace()\n ? this.getAllComponentTemplatesFlattened().map(getTemplateDescriptor)\n : this.getAllWorkspaceTemplatesFlattened().map(getTemplateDescriptor);\n }\n\n /**\n * @deprecated use this.listTemplates()\n */\n async listComponentTemplates(): Promise<TemplateDescriptor[]> {\n return this.listTemplates();\n }\n\n isRunningInsideWorkspace(): boolean {\n return Boolean(this.workspace);\n }\n\n /**\n * get all component templates registered by a specific aspect ID.\n */\n getComponentTemplateByAspect(aspectId: string): ComponentTemplate[] {\n return this.componentTemplateSlot.get(aspectId) || [];\n }\n\n /**\n * returns a specific component template.\n */\n getComponentTemplate(name: string, aspectId?: string): ComponentTemplate | undefined {\n const templates = this.getAllComponentTemplatesFlattened();\n const found = templates.find(({ id, template }) => {\n if (aspectId && id !== aspectId) return false;\n return template.name === name;\n });\n return found?.template;\n }\n\n /**\n * in the case the aspect-id is given and this aspect doesn't exist locally, import it to the\n * global scope and load it from the capsule\n */\n async findTemplateInGlobalScope(aspectId: string, name?: string): Promise<WorkspaceTemplate | undefined> {\n const aspects = await this.aspectLoader.loadAspectsFromGlobalScope([aspectId]);\n const fullAspectId = aspects[0].id.toString();\n return this.searchRegisteredWorkspaceTemplate(name, fullAspectId);\n }\n\n async findTemplateInOtherWorkspace(workspacePath: string, name: string, aspectId?: string) {\n if (!aspectId)\n throw new BitError(\n `to load a template from a different workspace, please provide the aspect-id using --aspect flag`\n );\n const harmony = await loadBit(workspacePath);\n let workspace: Workspace;\n try {\n workspace = harmony.get<Workspace>(WorkspaceAspect.id);\n } catch (err: any) {\n throw new Error(`fatal: \"${workspacePath}\" is not a valid Bit workspace, make sure the path is correct`);\n }\n const aspectComponentId = await workspace.resolveComponentId(aspectId);\n await workspace.loadAspects([aspectId], true);\n const aspectFullId = aspectComponentId.toString();\n const generator = harmony.get<GeneratorMain>(GeneratorAspect.id);\n return generator.searchRegisteredWorkspaceTemplate(name, aspectFullId);\n }\n\n /**\n * returns a specific workspace template.\n */\n async getWorkspaceTemplate(\n name: string,\n aspectId?: string\n ): Promise<{ workspaceTemplate: WorkspaceTemplate; aspect?: Component }> {\n const registeredTemplate = await this.searchRegisteredWorkspaceTemplate(name, aspectId);\n if (registeredTemplate) {\n return { workspaceTemplate: registeredTemplate };\n }\n if (!aspectId) {\n throw new BitError(`template \"${name}\" was not found, if this is a custom-template, please use --aspect flag`);\n }\n const aspects = await this.aspectLoader.loadAspectsFromGlobalScope([aspectId]);\n const aspect = aspects[0];\n const fullAspectId = aspect.id.toString();\n const fromGlobal = await this.searchRegisteredWorkspaceTemplate(name, fullAspectId);\n if (fromGlobal) {\n return { workspaceTemplate: fromGlobal, aspect };\n }\n throw new BitError(`template \"${name}\" was not found`);\n }\n\n async searchRegisteredWorkspaceTemplate(name?: string, aspectId?: string): Promise<WorkspaceTemplate | undefined> {\n const templates = this.getAllWorkspaceTemplatesFlattened();\n const found = templates.find(({ id, template }) => {\n if (aspectId && name) return aspectId === id && name === template.name;\n if (aspectId) return aspectId === id;\n if (name) return name === template.name;\n throw new Error(`searchRegisteredWorkspaceTemplate expects to get \"name\" or \"aspectId\"`);\n });\n return found?.template;\n }\n\n async generateComponentTemplate(\n componentNames: string[],\n templateName: string,\n options: CreateOptions\n ): Promise<GenerateResult[]> {\n if (!this.workspace) throw new ConsumerNotFound();\n await this.loadAspects();\n const { namespace, aspect: aspectId } = options;\n const template = this.getComponentTemplate(templateName, aspectId);\n if (!template) throw new BitError(`template \"${templateName}\" was not found`);\n const scope = options.scope || this.workspace.defaultScope;\n if (!isValidScopeName(scope)) {\n throw new InvalidScopeName(scope);\n }\n if (!scope) throw new BitError(`failed finding defaultScope`);\n\n const componentIds = componentNames.map((componentName) => {\n const fullComponentName = namespace ? `${namespace}/${componentName}` : componentName;\n return ComponentID.fromObject({ name: fullComponentName }, scope);\n });\n\n const componentGenerator = new ComponentGenerator(this.workspace, componentIds, options, template, this.envs);\n return componentGenerator.generate();\n }\n\n async generateWorkspaceTemplate(workspaceName: string, templateName: string, options: NewOptions) {\n if (this.workspace) {\n throw new BitError('Error: unable to generate a new workspace inside of an existing workspace');\n }\n const { aspect: aspectId, loadFrom } = options;\n let template: WorkspaceTemplate | undefined;\n let aspectComponent: Component | undefined;\n if (loadFrom) {\n template = await this.findTemplateInOtherWorkspace(loadFrom, templateName, aspectId);\n } else {\n const { workspaceTemplate, aspect } = await this.getWorkspaceTemplate(templateName, aspectId);\n template = workspaceTemplate;\n aspectComponent = aspect;\n }\n if (!template) throw new BitError(`template \"${templateName}\" was not found`);\n const workspaceGenerator = new WorkspaceGenerator(workspaceName, options, template, aspectComponent);\n const workspacePath = await workspaceGenerator.generate();\n\n return workspacePath;\n }\n\n private getAllComponentTemplatesFlattened(): Array<{ id: string; template: ComponentTemplate }> {\n const templatesByAspects = this.componentTemplateSlot.toArray();\n return templatesByAspects.flatMap(([id, componentTemplates]) => {\n return componentTemplates.map((template) => ({\n id,\n template,\n }));\n });\n }\n\n private getAllWorkspaceTemplatesFlattened(): Array<{ id: string; template: WorkspaceTemplate }> {\n const templatesByAspects = this.workspaceTemplateSlot.toArray();\n return templatesByAspects.flatMap(([id, workspaceTemplates]) => {\n return workspaceTemplates.map((template) => ({\n id,\n template,\n }));\n });\n }\n\n private async loadAspects() {\n if (this.aspectLoaded) return;\n await this.workspace.loadAspects(this.config.aspects);\n this.aspectLoaded = true;\n }\n\n static slots = [Slot.withType<ComponentTemplate[]>(), Slot.withType<WorkspaceTemplate[]>()];\n\n static dependencies = [WorkspaceAspect, CLIAspect, GraphqlAspect, EnvsAspect, AspectLoaderAspect];\n\n static runtime = MainRuntime;\n\n static async provider(\n [workspace, cli, graphql, envs, aspectLoader]: [Workspace, CLIMain, GraphqlMain, EnvsMain, AspectLoaderMain],\n config: GeneratorConfig,\n [componentTemplateSlot, workspaceTemplateSlot]: [ComponentTemplateSlot, WorkspaceTemplateSlot]\n ) {\n const generator = new GeneratorMain(\n componentTemplateSlot,\n workspaceTemplateSlot,\n config,\n workspace,\n envs,\n aspectLoader\n );\n const commands = [new CreateCmd(generator), new TemplatesCmd(generator), new NewCmd(generator)];\n cli.register(...commands);\n graphql.register(generatorSchema(generator));\n generator.registerComponentTemplate([componentGeneratorTemplate, workspaceGeneratorTemplate]);\n return generator;\n }\n}\n\nGeneratorAspect.addRuntime(GeneratorMain);\n"]}
|
|
1
|
+
{"version":3,"sources":["generator.main.runtime.ts"],"names":["GeneratorMain","constructor","componentTemplateSlot","workspaceTemplateSlot","config","workspace","envs","aspectLoader","newComponentHelper","registerComponentTemplate","templates","register","registerWorkspaceTemplate","listTemplates","getTemplateDescriptor","id","template","shouldBeHidden","hidden","hideCoreTemplates","aspectId","name","description","isRunningInsideWorkspace","getAllComponentTemplatesFlattened","map","getAllWorkspaceTemplatesFlattened","listComponentTemplates","Boolean","getComponentTemplateByAspect","get","getComponentTemplate","found","find","findTemplateInGlobalScope","aspects","loadAspectsFromGlobalScope","fullAspectId","toString","searchRegisteredWorkspaceTemplate","findTemplateInOtherWorkspace","workspacePath","BitError","harmony","WorkspaceAspect","err","Error","aspectComponentId","resolveComponentId","loadAspects","aspectFullId","generator","GeneratorAspect","getWorkspaceTemplate","registeredTemplate","workspaceTemplate","aspect","fromGlobal","generateComponentTemplate","componentNames","templateName","options","ConsumerNotFound","namespace","componentIds","componentName","getNewComponentId","scope","componentGenerator","ComponentGenerator","generate","generateWorkspaceTemplate","workspaceName","loadFrom","aspectComponent","workspaceGenerator","WorkspaceGenerator","templatesByAspects","toArray","flatMap","componentTemplates","workspaceTemplates","aspectLoaded","provider","cli","graphql","commands","CreateCmd","TemplatesCmd","NewCmd","componentGeneratorTemplate","workspaceGeneratorTemplate","Slot","withType","CLIAspect","GraphqlAspect","EnvsAspect","AspectLoaderAspect","NewComponentHelperAspect","MainRuntime","addRuntime"],"mappings":"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","sourcesContent":["import { GraphqlAspect, GraphqlMain } from '@teambit/graphql';\nimport { CLIAspect, CLIMain, MainRuntime } from '@teambit/cli';\nimport WorkspaceAspect, { Workspace } from '@teambit/workspace';\nimport { EnvsAspect, EnvsMain } from '@teambit/envs';\nimport { ConsumerNotFound } from '@teambit/legacy/dist/consumer/exceptions';\nimport { Component } from '@teambit/component';\nimport { isCoreAspect, loadBit } from '@teambit/bit';\nimport { Slot, SlotRegistry } from '@teambit/harmony';\nimport { BitError } from '@teambit/bit-error';\nimport AspectLoaderAspect, { AspectLoaderMain } from '@teambit/aspect-loader';\nimport NewComponentHelperAspect, { NewComponentHelperMain } from '@teambit/new-component-helper';\nimport { ComponentTemplate } from './component-template';\nimport { GeneratorAspect } from './generator.aspect';\nimport { CreateCmd, CreateOptions } from './create.cmd';\nimport { TemplatesCmd } from './templates.cmd';\nimport { generatorSchema } from './generator.graphql';\nimport { ComponentGenerator, GenerateResult } from './component-generator';\nimport { WorkspaceGenerator } from './workspace-generator';\nimport { WorkspaceTemplate } from './workspace-template';\nimport { NewCmd, NewOptions } from './new.cmd';\nimport { componentGeneratorTemplate } from './templates/component-generator';\nimport { workspaceGeneratorTemplate } from './templates/workspace-generator';\n\nexport type ComponentTemplateSlot = SlotRegistry<ComponentTemplate[]>;\nexport type WorkspaceTemplateSlot = SlotRegistry<WorkspaceTemplate[]>;\n\nexport type TemplateDescriptor = { aspectId: string; name: string; description?: string; hidden?: boolean };\n\nexport type GeneratorConfig = {\n /**\n * array of aspects to include in the list of templates.\n */\n aspects: string[];\n\n /**\n * by default core templates are shown.\n * use this to hide them unless `--show-all` flag of `bit templates` was used\n */\n hideCoreTemplates: boolean;\n};\n\nexport class GeneratorMain {\n private aspectLoaded = false;\n constructor(\n private componentTemplateSlot: ComponentTemplateSlot,\n private workspaceTemplateSlot: WorkspaceTemplateSlot,\n private config: GeneratorConfig,\n private workspace: Workspace,\n private envs: EnvsMain,\n private aspectLoader: AspectLoaderMain,\n private newComponentHelper: NewComponentHelperMain\n ) {}\n\n /**\n * register a new component template.\n */\n registerComponentTemplate(templates: ComponentTemplate[]) {\n this.componentTemplateSlot.register(templates);\n return this;\n }\n\n /**\n * register a new component template.\n */\n registerWorkspaceTemplate(templates: WorkspaceTemplate[]) {\n this.workspaceTemplateSlot.register(templates);\n return this;\n }\n\n /**\n * list all component templates registered in the workspace or workspace templates in case the\n * workspace is not available\n */\n async listTemplates(): Promise<TemplateDescriptor[]> {\n const getTemplateDescriptor = ({\n id,\n template,\n }: {\n id: string;\n template: WorkspaceTemplate | ComponentTemplate;\n }) => {\n const shouldBeHidden = () => {\n if (template.hidden) return true;\n if (this.config.hideCoreTemplates && isCoreAspect(id)) return true;\n return false;\n };\n return {\n aspectId: id,\n name: template.name,\n description: template.description,\n hidden: shouldBeHidden(),\n };\n };\n return this.isRunningInsideWorkspace()\n ? this.getAllComponentTemplatesFlattened().map(getTemplateDescriptor)\n : this.getAllWorkspaceTemplatesFlattened().map(getTemplateDescriptor);\n }\n\n /**\n * @deprecated use this.listTemplates()\n */\n async listComponentTemplates(): Promise<TemplateDescriptor[]> {\n return this.listTemplates();\n }\n\n isRunningInsideWorkspace(): boolean {\n return Boolean(this.workspace);\n }\n\n /**\n * get all component templates registered by a specific aspect ID.\n */\n getComponentTemplateByAspect(aspectId: string): ComponentTemplate[] {\n return this.componentTemplateSlot.get(aspectId) || [];\n }\n\n /**\n * returns a specific component template.\n */\n getComponentTemplate(name: string, aspectId?: string): ComponentTemplate | undefined {\n const templates = this.getAllComponentTemplatesFlattened();\n const found = templates.find(({ id, template }) => {\n if (aspectId && id !== aspectId) return false;\n return template.name === name;\n });\n return found?.template;\n }\n\n /**\n * in the case the aspect-id is given and this aspect doesn't exist locally, import it to the\n * global scope and load it from the capsule\n */\n async findTemplateInGlobalScope(aspectId: string, name?: string): Promise<WorkspaceTemplate | undefined> {\n const aspects = await this.aspectLoader.loadAspectsFromGlobalScope([aspectId]);\n const fullAspectId = aspects[0].id.toString();\n return this.searchRegisteredWorkspaceTemplate(name, fullAspectId);\n }\n\n async findTemplateInOtherWorkspace(workspacePath: string, name: string, aspectId?: string) {\n if (!aspectId)\n throw new BitError(\n `to load a template from a different workspace, please provide the aspect-id using --aspect flag`\n );\n const harmony = await loadBit(workspacePath);\n let workspace: Workspace;\n try {\n workspace = harmony.get<Workspace>(WorkspaceAspect.id);\n } catch (err: any) {\n throw new Error(`fatal: \"${workspacePath}\" is not a valid Bit workspace, make sure the path is correct`);\n }\n const aspectComponentId = await workspace.resolveComponentId(aspectId);\n await workspace.loadAspects([aspectId], true);\n const aspectFullId = aspectComponentId.toString();\n const generator = harmony.get<GeneratorMain>(GeneratorAspect.id);\n return generator.searchRegisteredWorkspaceTemplate(name, aspectFullId);\n }\n\n /**\n * returns a specific workspace template.\n */\n async getWorkspaceTemplate(\n name: string,\n aspectId?: string\n ): Promise<{ workspaceTemplate: WorkspaceTemplate; aspect?: Component }> {\n const registeredTemplate = await this.searchRegisteredWorkspaceTemplate(name, aspectId);\n if (registeredTemplate) {\n return { workspaceTemplate: registeredTemplate };\n }\n if (!aspectId) {\n throw new BitError(`template \"${name}\" was not found, if this is a custom-template, please use --aspect flag`);\n }\n const aspects = await this.aspectLoader.loadAspectsFromGlobalScope([aspectId]);\n const aspect = aspects[0];\n const fullAspectId = aspect.id.toString();\n const fromGlobal = await this.searchRegisteredWorkspaceTemplate(name, fullAspectId);\n if (fromGlobal) {\n return { workspaceTemplate: fromGlobal, aspect };\n }\n throw new BitError(`template \"${name}\" was not found`);\n }\n\n async searchRegisteredWorkspaceTemplate(name?: string, aspectId?: string): Promise<WorkspaceTemplate | undefined> {\n const templates = this.getAllWorkspaceTemplatesFlattened();\n const found = templates.find(({ id, template }) => {\n if (aspectId && name) return aspectId === id && name === template.name;\n if (aspectId) return aspectId === id;\n if (name) return name === template.name;\n throw new Error(`searchRegisteredWorkspaceTemplate expects to get \"name\" or \"aspectId\"`);\n });\n return found?.template;\n }\n\n async generateComponentTemplate(\n componentNames: string[],\n templateName: string,\n options: CreateOptions\n ): Promise<GenerateResult[]> {\n if (!this.workspace) throw new ConsumerNotFound();\n await this.loadAspects();\n const { namespace, aspect: aspectId } = options;\n const template = this.getComponentTemplate(templateName, aspectId);\n if (!template) throw new BitError(`template \"${templateName}\" was not found`);\n\n const componentIds = componentNames.map((componentName) =>\n this.newComponentHelper.getNewComponentId(componentName, namespace, options.scope)\n );\n\n const componentGenerator = new ComponentGenerator(\n this.workspace,\n componentIds,\n options,\n template,\n this.envs,\n this.newComponentHelper\n );\n return componentGenerator.generate();\n }\n\n async generateWorkspaceTemplate(workspaceName: string, templateName: string, options: NewOptions) {\n if (this.workspace) {\n throw new BitError('Error: unable to generate a new workspace inside of an existing workspace');\n }\n const { aspect: aspectId, loadFrom } = options;\n let template: WorkspaceTemplate | undefined;\n let aspectComponent: Component | undefined;\n if (loadFrom) {\n template = await this.findTemplateInOtherWorkspace(loadFrom, templateName, aspectId);\n } else {\n const { workspaceTemplate, aspect } = await this.getWorkspaceTemplate(templateName, aspectId);\n template = workspaceTemplate;\n aspectComponent = aspect;\n }\n if (!template) throw new BitError(`template \"${templateName}\" was not found`);\n const workspaceGenerator = new WorkspaceGenerator(workspaceName, options, template, aspectComponent);\n const workspacePath = await workspaceGenerator.generate();\n\n return workspacePath;\n }\n\n private getAllComponentTemplatesFlattened(): Array<{ id: string; template: ComponentTemplate }> {\n const templatesByAspects = this.componentTemplateSlot.toArray();\n return templatesByAspects.flatMap(([id, componentTemplates]) => {\n return componentTemplates.map((template) => ({\n id,\n template,\n }));\n });\n }\n\n private getAllWorkspaceTemplatesFlattened(): Array<{ id: string; template: WorkspaceTemplate }> {\n const templatesByAspects = this.workspaceTemplateSlot.toArray();\n return templatesByAspects.flatMap(([id, workspaceTemplates]) => {\n return workspaceTemplates.map((template) => ({\n id,\n template,\n }));\n });\n }\n\n private async loadAspects() {\n if (this.aspectLoaded) return;\n await this.workspace.loadAspects(this.config.aspects);\n this.aspectLoaded = true;\n }\n\n static slots = [Slot.withType<ComponentTemplate[]>(), Slot.withType<WorkspaceTemplate[]>()];\n\n static dependencies = [\n WorkspaceAspect,\n CLIAspect,\n GraphqlAspect,\n EnvsAspect,\n AspectLoaderAspect,\n NewComponentHelperAspect,\n ];\n\n static runtime = MainRuntime;\n\n static async provider(\n [workspace, cli, graphql, envs, aspectLoader, newComponentHelper]: [\n Workspace,\n CLIMain,\n GraphqlMain,\n EnvsMain,\n AspectLoaderMain,\n NewComponentHelperMain\n ],\n config: GeneratorConfig,\n [componentTemplateSlot, workspaceTemplateSlot]: [ComponentTemplateSlot, WorkspaceTemplateSlot]\n ) {\n const generator = new GeneratorMain(\n componentTemplateSlot,\n workspaceTemplateSlot,\n config,\n workspace,\n envs,\n aspectLoader,\n newComponentHelper\n );\n const commands = [new CreateCmd(generator), new TemplatesCmd(generator), new NewCmd(generator)];\n cli.register(...commands);\n graphql.register(generatorSchema(generator));\n generator.registerComponentTemplate([componentGeneratorTemplate, workspaceGeneratorTemplate]);\n return generator;\n }\n}\n\nGeneratorAspect.addRuntime(GeneratorMain);\n"]}
|
|
Binary file
|
package/package.json
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@teambit/generator",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.597",
|
|
4
4
|
"homepage": "https://bit.dev/teambit/generator/generator",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"componentId": {
|
|
7
7
|
"scope": "teambit.generator",
|
|
8
8
|
"name": "generator",
|
|
9
|
-
"version": "0.0.
|
|
9
|
+
"version": "0.0.597"
|
|
10
10
|
},
|
|
11
11
|
"dependencies": {
|
|
12
12
|
"camelcase": "6.2.0",
|
|
@@ -21,21 +21,22 @@
|
|
|
21
21
|
"isbinaryfile": "4.0.6",
|
|
22
22
|
"@babel/runtime": "7.12.18",
|
|
23
23
|
"core-js": "^3.0.0",
|
|
24
|
-
"@teambit/bit-error": "0.0.
|
|
25
|
-
"@teambit/component-id": "0.0.
|
|
26
|
-
"@teambit/component": "0.0.
|
|
27
|
-
"@teambit/envs": "0.0.
|
|
28
|
-
"@teambit/
|
|
29
|
-
"@teambit/
|
|
30
|
-
"@teambit/
|
|
31
|
-
"@teambit/
|
|
32
|
-
"@teambit/
|
|
33
|
-
"@teambit/
|
|
34
|
-
"@teambit/compiler": "0.0.
|
|
35
|
-
"@teambit/dependency-resolver": "0.0.
|
|
36
|
-
"@teambit/
|
|
37
|
-
"@teambit/
|
|
38
|
-
"@teambit/
|
|
24
|
+
"@teambit/bit-error": "0.0.394",
|
|
25
|
+
"@teambit/component-id": "0.0.398",
|
|
26
|
+
"@teambit/component": "0.0.597",
|
|
27
|
+
"@teambit/envs": "0.0.597",
|
|
28
|
+
"@teambit/new-component-helper": "0.0.1",
|
|
29
|
+
"@teambit/workspace": "0.0.597",
|
|
30
|
+
"@teambit/cli": "0.0.410",
|
|
31
|
+
"@teambit/graphql": "0.0.597",
|
|
32
|
+
"@teambit/aspect-loader": "0.0.597",
|
|
33
|
+
"@teambit/bit": "0.0.599",
|
|
34
|
+
"@teambit/compiler": "0.0.597",
|
|
35
|
+
"@teambit/dependency-resolver": "0.0.597",
|
|
36
|
+
"@teambit/legacy-bit-id": "0.0.397",
|
|
37
|
+
"@teambit/logger": "0.0.498",
|
|
38
|
+
"@teambit/pkg": "0.0.597",
|
|
39
|
+
"@teambit/ui": "0.0.597"
|
|
39
40
|
},
|
|
40
41
|
"devDependencies": {
|
|
41
42
|
"@types/fs-extra": "9.0.7",
|
|
@@ -46,10 +47,10 @@
|
|
|
46
47
|
"@types/react-dom": "^17.0.5",
|
|
47
48
|
"@types/react": "^17.0.8",
|
|
48
49
|
"@types/node": "12.20.4",
|
|
49
|
-
"@teambit/generator.aspect-docs.generator": "0.0.
|
|
50
|
+
"@teambit/generator.aspect-docs.generator": "0.0.134"
|
|
50
51
|
},
|
|
51
52
|
"peerDependencies": {
|
|
52
|
-
"@teambit/legacy": "1.0.
|
|
53
|
+
"@teambit/legacy": "1.0.197",
|
|
53
54
|
"react-dom": "^16.8.0 || ^17.0.0",
|
|
54
55
|
"react": "^16.8.0 || ^17.0.0"
|
|
55
56
|
},
|
|
@@ -77,7 +78,7 @@
|
|
|
77
78
|
"react": "-"
|
|
78
79
|
},
|
|
79
80
|
"peerDependencies": {
|
|
80
|
-
"@teambit/legacy": "1.0.
|
|
81
|
+
"@teambit/legacy": "1.0.197",
|
|
81
82
|
"react-dom": "^16.8.0 || ^17.0.0",
|
|
82
83
|
"react": "^16.8.0 || ^17.0.0"
|
|
83
84
|
}
|
|
Binary file
|