@teambit/generator 0.0.1136 → 0.0.1138
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 +16 -1
- package/dist/component-generator.js +40 -3
- package/dist/component-generator.js.map +1 -1
- package/dist/generator.main.runtime.d.ts +16 -6
- package/dist/generator.main.runtime.js +19 -6
- package/dist/generator.main.runtime.js.map +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.js.map +1 -1
- package/dist/{preview-1692415056433.js → preview-1692781025298.js} +2 -2
- package/package.json +22 -22
- package/.bit-capsule-ready +0 -0
- package/package-tar/teambit-generator-0.0.1136.tgz +0 -0
@@ -4,8 +4,10 @@ import { Logger } from '@teambit/logger';
|
|
4
4
|
import { TrackerMain } from '@teambit/tracker';
|
5
5
|
import { NewComponentHelperMain } from '@teambit/new-component-helper';
|
6
6
|
import { ComponentID } from '@teambit/component-id';
|
7
|
+
import { WorkspaceConfigFilesMain } from '@teambit/workspace-config-files';
|
7
8
|
import { ComponentTemplate } from './component-template';
|
8
9
|
import { CreateOptions } from './create.cmd';
|
10
|
+
import { OnComponentCreateSlot } from './generator.main.runtime';
|
9
11
|
export declare type GenerateResult = {
|
10
12
|
id: ComponentID;
|
11
13
|
dir: string;
|
@@ -14,6 +16,7 @@ export declare type GenerateResult = {
|
|
14
16
|
envSetBy: string;
|
15
17
|
packageName: string;
|
16
18
|
};
|
19
|
+
export declare type OnComponentCreateFn = (generateResults: GenerateResult[]) => Promise<void>;
|
17
20
|
export declare class ComponentGenerator {
|
18
21
|
private workspace;
|
19
22
|
private componentIds;
|
@@ -22,11 +25,23 @@ export declare class ComponentGenerator {
|
|
22
25
|
private envs;
|
23
26
|
private newComponentHelper;
|
24
27
|
private tracker;
|
28
|
+
private wsConfigFiles;
|
25
29
|
private logger;
|
30
|
+
private onComponentCreateSlot;
|
26
31
|
private aspectId;
|
27
32
|
private envId?;
|
28
|
-
constructor(workspace: Workspace, componentIds: ComponentID[], options: CreateOptions, template: ComponentTemplate, envs: EnvsMain, newComponentHelper: NewComponentHelperMain, tracker: TrackerMain, logger: Logger, aspectId: string, envId?: ComponentID | undefined);
|
33
|
+
constructor(workspace: Workspace, componentIds: ComponentID[], options: CreateOptions, template: ComponentTemplate, envs: EnvsMain, newComponentHelper: NewComponentHelperMain, tracker: TrackerMain, wsConfigFiles: WorkspaceConfigFilesMain, logger: Logger, onComponentCreateSlot: OnComponentCreateSlot, aspectId: string, envId?: ComponentID | undefined);
|
29
34
|
generate(): Promise<GenerateResult[]>;
|
35
|
+
private tryLinkToNodeModules;
|
36
|
+
private runOnComponentCreateHook;
|
37
|
+
/**
|
38
|
+
* The function `tryWriteConfigFiles` attempts to write workspace config files, and if it fails, it logs an error
|
39
|
+
* message.
|
40
|
+
* @returns If the condition `!shouldWrite` is true, then nothing is being returned. Otherwise, if the `writeConfigFiles`
|
41
|
+
* function is successfully executed, nothing is being returned. If an error occurs during the execution of
|
42
|
+
* `writeConfigFiles`, an error message is being returned.
|
43
|
+
*/
|
44
|
+
private tryWriteConfigFiles;
|
30
45
|
private deleteGeneratedComponents;
|
31
46
|
private generateOneComponent;
|
32
47
|
private addEnvIfProvidedByFlag;
|
@@ -92,7 +92,7 @@ function _componentId() {
|
|
92
92
|
return data;
|
93
93
|
}
|
94
94
|
class ComponentGenerator {
|
95
|
-
constructor(workspace, componentIds, options, template, envs, newComponentHelper, tracker, logger, aspectId, envId) {
|
95
|
+
constructor(workspace, componentIds, options, template, envs, newComponentHelper, tracker, wsConfigFiles, logger, onComponentCreateSlot, aspectId, envId) {
|
96
96
|
this.workspace = workspace;
|
97
97
|
this.componentIds = componentIds;
|
98
98
|
this.options = options;
|
@@ -100,7 +100,9 @@ class ComponentGenerator {
|
|
100
100
|
this.envs = envs;
|
101
101
|
this.newComponentHelper = newComponentHelper;
|
102
102
|
this.tracker = tracker;
|
103
|
+
this.wsConfigFiles = wsConfigFiles;
|
103
104
|
this.logger = logger;
|
105
|
+
this.onComponentCreateSlot = onComponentCreateSlot;
|
104
106
|
this.aspectId = aspectId;
|
105
107
|
this.envId = envId;
|
106
108
|
}
|
@@ -108,7 +110,7 @@ class ComponentGenerator {
|
|
108
110
|
const dirsToDeleteIfFailed = [];
|
109
111
|
const generateResults = await (0, _pMapSeries().default)(this.componentIds, async componentId => {
|
110
112
|
try {
|
111
|
-
const componentPath = this.newComponentHelper.getNewComponentPath(componentId, this.options.path);
|
113
|
+
const componentPath = this.newComponentHelper.getNewComponentPath(componentId, this.options.path, this.componentIds.length);
|
112
114
|
if (_fsExtra().default.existsSync(_path().default.join(this.workspace.path, componentPath))) {
|
113
115
|
throw new (_bitError().BitError)(`unable to create a component at "${componentPath}", this path already exist`);
|
114
116
|
}
|
@@ -124,12 +126,47 @@ class ComponentGenerator {
|
|
124
126
|
});
|
125
127
|
await this.workspace.bitMap.write();
|
126
128
|
const ids = generateResults.map(r => r.id);
|
129
|
+
await this.tryLinkToNodeModules(ids);
|
130
|
+
await this.runOnComponentCreateHook(generateResults);
|
131
|
+
// We are running this after the runOnComponentCreateHook as it require
|
132
|
+
// the env to be installed to work properly, and the hook might install
|
133
|
+
// the env.
|
134
|
+
await this.tryWriteConfigFiles(ids);
|
135
|
+
return generateResults;
|
136
|
+
}
|
137
|
+
async tryLinkToNodeModules(ids) {
|
127
138
|
try {
|
128
139
|
await (0, _workspaceModules().linkToNodeModulesByIds)(this.workspace, ids.map(id => id._legacy));
|
129
140
|
} catch (err) {
|
130
141
|
this.logger.consoleFailure(`failed linking the new components to node_modules, please run "bit link" manually. error: ${err.message}`);
|
131
142
|
}
|
132
|
-
|
143
|
+
}
|
144
|
+
async runOnComponentCreateHook(generateResults) {
|
145
|
+
const fns = this.onComponentCreateSlot.values();
|
146
|
+
if (!fns.length) return;
|
147
|
+
await Promise.all(fns.map(fn => fn(generateResults)));
|
148
|
+
}
|
149
|
+
|
150
|
+
/**
|
151
|
+
* The function `tryWriteConfigFiles` attempts to write workspace config files, and if it fails, it logs an error
|
152
|
+
* message.
|
153
|
+
* @returns If the condition `!shouldWrite` is true, then nothing is being returned. Otherwise, if the `writeConfigFiles`
|
154
|
+
* function is successfully executed, nothing is being returned. If an error occurs during the execution of
|
155
|
+
* `writeConfigFiles`, an error message is being returned.
|
156
|
+
*/
|
157
|
+
async tryWriteConfigFiles(ids) {
|
158
|
+
try {
|
159
|
+
const shouldWrite = this.wsConfigFiles.isWorkspaceConfigWriteEnabled();
|
160
|
+
if (!shouldWrite) return;
|
161
|
+
ids.map(id => this.workspace.clearComponentCache(id));
|
162
|
+
await this.wsConfigFiles.writeConfigFiles({
|
163
|
+
clean: true,
|
164
|
+
silent: true,
|
165
|
+
dedupe: true
|
166
|
+
});
|
167
|
+
} catch (err) {
|
168
|
+
this.logger.consoleFailure(`failed generating workspace config files, please run "bit ws-config write" manually. error: ${err.message}`);
|
169
|
+
}
|
133
170
|
}
|
134
171
|
async deleteGeneratedComponents(dirs) {
|
135
172
|
await Promise.all(dirs.map(async dir => {
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":["_vinyl","data","_interopRequireDefault","require","_fsExtra","_pMapSeries","_path","_envs","_camelcase","_bitError","_workspaceModules","_sources","_componentIdToPackageName","_dataToPersist","_componentId","ComponentGenerator","constructor","workspace","componentIds","options","template","envs","newComponentHelper","tracker","logger","aspectId","envId","generate","dirsToDeleteIfFailed","generateResults","pMapSeries","componentId","componentPath","getNewComponentPath","path","fs","existsSync","join","BitError","hasName","fullName","push","generateOneComponent","err","deleteGeneratedComponents","bitMap","write","ids","map","r","id","linkToNodeModulesByIds","_legacy","consoleFailure","message","dirs","Promise","all","dir","absoluteDir","remove","code","_config","_config$EnvsAspect$id","name","namePascalCase","camelcase","pascalCase","nameCamelCase","ComponentID","fromString","files","generateFiles","mainFile","find","file","isMain","writeComponentFiles","addResults","track","rootDir","relativePath","componentName","defaultScope","scope","component","get","hasEnvConfiguredOriginally","hasEnvConfigured","envBeforeConfigChanges","getEnv","config","_this$template$config","boundConfig","bind","isInWorkspace","exists","toStringWithoutVersion","toString","env","templateEnv","EnvsAspect","Object","keys","length","undefined","configWithEnv","addEnvIfProvidedByFlag","setEntireConfig","getEnvData","_config2","_config2$EnvsAspect$i","envFromFlag","envFromTemplate","setBy","packageName","componentIdToPackageName","state","_consumer","envSetBy","_config3","_config3$EnvsAspect$i","userEnv","addEnvToConfig","templateFiles","dataToPersist","DataToPersist","vinylFiles","templateFile","templateFileVinyl","Vinyl","base","contents","Buffer","from","content","AbstractVinyl","fromVinyl","results","v","addManyFiles","addBasePath","persistAllToFS","exports"],"sources":["component-generator.ts"],"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, { EnvsMain } from '@teambit/envs';\nimport camelcase from 'camelcase';\nimport { BitError } from '@teambit/bit-error';\nimport { Logger } from '@teambit/logger';\nimport { TrackerMain } from '@teambit/tracker';\nimport { linkToNodeModulesByIds } from '@teambit/workspace.modules.node-modules-linker';\nimport { PathOsBasedRelative } from '@teambit/legacy/dist/utils/path';\nimport { AbstractVinyl } from '@teambit/legacy/dist/consumer/component/sources';\nimport componentIdToPackageName from '@teambit/legacy/dist/utils/bit/component-id-to-package-name';\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 = {\n id: ComponentID;\n dir: string;\n files: string[];\n envId: string;\n envSetBy: string;\n packageName: string;\n};\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 private tracker: TrackerMain,\n private logger: Logger,\n private aspectId: string,\n private envId?: ComponentID\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 const ids = generateResults.map((r) => r.id);\n try {\n await linkToNodeModulesByIds(\n this.workspace,\n ids.map((id) => id._legacy)\n );\n } catch (err: any) {\n this.logger.consoleFailure(\n `failed linking the new components to node_modules, please run \"bit link\" manually. error: ${err.message}`\n );\n }\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 aspectId = ComponentID.fromString(this.aspectId);\n\n const files = await this.template.generateFiles({\n name,\n namePascalCase,\n nameCamelCase,\n componentId,\n aspectId,\n envId: this.envId,\n });\n const mainFile = files.find((file) => file.isMain);\n await this.writeComponentFiles(componentPath, files);\n const addResults = await this.tracker.track({\n rootDir: componentPath,\n mainFile: mainFile?.relativePath,\n componentName: componentId.fullName,\n defaultScope: this.options.scope,\n });\n const component = await this.workspace.get(componentId);\n const hasEnvConfiguredOriginally = this.envs.hasEnvConfigured(component);\n const envBeforeConfigChanges = this.envs.getEnv(component);\n let config = this.template.config;\n if (config && typeof config === 'function') {\n const boundConfig = this.template.config?.bind(this.template);\n config = boundConfig({ aspectId: this.aspectId });\n }\n\n if (!config && this.envId) {\n const isInWorkspace = this.workspace.exists(this.envId);\n config = {\n [isInWorkspace ? this.envId.toStringWithoutVersion() : this.envId.toString()]: {},\n 'teambit.envs/envs': {\n env: this.envId.toStringWithoutVersion(),\n },\n };\n }\n\n const templateEnv = config?.[EnvsAspect.id]?.env;\n\n if (config && templateEnv && hasEnvConfiguredOriginally) {\n // remove the env we got from the template.\n delete config[templateEnv];\n delete config[EnvsAspect.id].env;\n if (Object.keys(config[EnvsAspect.id]).length === 0) delete config[EnvsAspect.id];\n if (Object.keys(config).length === 0) config = undefined;\n }\n\n const configWithEnv = await this.addEnvIfProvidedByFlag(config);\n if (configWithEnv) this.workspace.bitMap.setEntireConfig(component.id, configWithEnv);\n\n const getEnvData = () => {\n const envFromFlag = this.options.env; // env entered by the user when running `bit create --env`\n const envFromTemplate = config?.[EnvsAspect.id]?.env;\n if (envFromFlag) {\n return {\n envId: envFromFlag,\n setBy: '--env flag',\n };\n }\n if (envFromTemplate) {\n return {\n envId: envFromTemplate,\n setBy: 'template',\n };\n }\n return {\n envId: envBeforeConfigChanges.id,\n setBy: hasEnvConfiguredOriginally ? 'workspace variants' : '<default>',\n };\n };\n const { envId, setBy } = getEnvData();\n return {\n id: componentId,\n dir: componentPath,\n files: addResults.files,\n packageName: componentIdToPackageName(component.state._consumer),\n envId,\n envSetBy: setBy,\n };\n }\n\n private async addEnvIfProvidedByFlag(config?: ComponentConfig): Promise<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 await this.tracker.addEnvToConfig(userEnv, config);\n\n return 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"],"mappings":";;;;;;;;;AAAA,SAAAA,OAAA;EAAA,MAAAC,IAAA,GAAAC,sBAAA,CAAAC,OAAA;EAAAH,MAAA,YAAAA,CAAA;IAAA,OAAAC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAG,SAAA;EAAA,MAAAH,IAAA,GAAAC,sBAAA,CAAAC,OAAA;EAAAC,QAAA,YAAAA,CAAA;IAAA,OAAAH,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAI,YAAA;EAAA,MAAAJ,IAAA,GAAAC,sBAAA,CAAAC,OAAA;EAAAE,WAAA,YAAAA,CAAA;IAAA,OAAAJ,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAK,MAAA;EAAA,MAAAL,IAAA,GAAAC,sBAAA,CAAAC,OAAA;EAAAG,KAAA,YAAAA,CAAA;IAAA,OAAAL,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAEA,SAAAM,MAAA;EAAA,MAAAN,IAAA,GAAAC,sBAAA,CAAAC,OAAA;EAAAI,KAAA,YAAAA,CAAA;IAAA,OAAAN,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAO,WAAA;EAAA,MAAAP,IAAA,GAAAC,sBAAA,CAAAC,OAAA;EAAAK,UAAA,YAAAA,CAAA;IAAA,OAAAP,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAQ,UAAA;EAAA,MAAAR,IAAA,GAAAE,OAAA;EAAAM,SAAA,YAAAA,CAAA;IAAA,OAAAR,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAGA,SAAAS,kBAAA;EAAA,MAAAT,IAAA,GAAAE,OAAA;EAAAO,iBAAA,YAAAA,CAAA;IAAA,OAAAT,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAEA,SAAAU,SAAA;EAAA,MAAAV,IAAA,GAAAE,OAAA;EAAAQ,QAAA,YAAAA,CAAA;IAAA,OAAAV,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAW,0BAAA;EAAA,MAAAX,IAAA,GAAAC,sBAAA,CAAAC,OAAA;EAAAS,yBAAA,YAAAA,CAAA;IAAA,OAAAX,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAY,eAAA;EAAA,MAAAZ,IAAA,GAAAC,sBAAA,CAAAC,OAAA;EAAAU,cAAA,YAAAA,CAAA;IAAA,OAAAZ,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAEA,SAAAa,aAAA;EAAA,MAAAb,IAAA,GAAAE,OAAA;EAAAW,YAAA,YAAAA,CAAA;IAAA,OAAAb,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAaO,MAAMc,kBAAkB,CAAC;EAC9BC,WAAWA,CACDC,SAAoB,EACpBC,YAA2B,EAC3BC,OAAsB,EACtBC,QAA2B,EAC3BC,IAAc,EACdC,kBAA0C,EAC1CC,OAAoB,EACpBC,MAAc,EACdC,QAAgB,EAChBC,KAAmB,EAC3B;IAAA,KAVQT,SAAoB,GAApBA,SAAoB;IAAA,KACpBC,YAA2B,GAA3BA,YAA2B;IAAA,KAC3BC,OAAsB,GAAtBA,OAAsB;IAAA,KACtBC,QAA2B,GAA3BA,QAA2B;IAAA,KAC3BC,IAAc,GAAdA,IAAc;IAAA,KACdC,kBAA0C,GAA1CA,kBAA0C;IAAA,KAC1CC,OAAoB,GAApBA,OAAoB;IAAA,KACpBC,MAAc,GAAdA,MAAc;IAAA,KACdC,QAAgB,GAAhBA,QAAgB;IAAA,KAChBC,KAAmB,GAAnBA,KAAmB;EAC1B;EAEH,MAAMC,QAAQA,CAAA,EAA8B;IAC1C,MAAMC,oBAA8B,GAAG,EAAE;IACzC,MAAMC,eAAe,GAAG,MAAM,IAAAC,qBAAU,EAAC,IAAI,CAACZ,YAAY,EAAE,MAAOa,WAAW,IAAK;MACjF,IAAI;QACF,MAAMC,aAAa,GAAG,IAAI,CAACV,kBAAkB,CAACW,mBAAmB,CAACF,WAAW,EAAE,IAAI,CAACZ,OAAO,CAACe,IAAI,CAAC;QACjG,IAAIC,kBAAE,CAACC,UAAU,CAACF,eAAI,CAACG,IAAI,CAAC,IAAI,CAACpB,SAAS,CAACiB,IAAI,EAAEF,aAAa,CAAC,CAAC,EAAE;UAChE,MAAM,KAAIM,oBAAQ,EAAE,oCAAmCN,aAAc,4BAA2B,CAAC;QACnG;QACA,IAAI,MAAM,IAAI,CAACf,SAAS,CAACsB,OAAO,CAACR,WAAW,CAACS,QAAQ,CAAC,EAAE;UACtD,MAAM,KAAIF,oBAAQ,EACf,iCAAgCP,WAAW,CAACS,QAAS,iDACxD,CAAC;QACH;QACAZ,oBAAoB,CAACa,IAAI,CAACT,aAAa,CAAC;QACxC,OAAO,MAAM,IAAI,CAACU,oBAAoB,CAACX,WAAW,EAAEC,aAAa,CAAC;MACpE,CAAC,CAAC,OAAOW,GAAQ,EAAE;QACjB,MAAM,IAAI,CAACC,yBAAyB,CAAChB,oBAAoB,CAAC;QAC1D,MAAMe,GAAG;MACX;IACF,CAAC,CAAC;IAEF,MAAM,IAAI,CAAC1B,SAAS,CAAC4B,MAAM,CAACC,KAAK,CAAC,CAAC;IAEnC,MAAMC,GAAG,GAAGlB,eAAe,CAACmB,GAAG,CAAEC,CAAC,IAAKA,CAAC,CAACC,EAAE,CAAC;IAC5C,IAAI;MACF,MAAM,IAAAC,0CAAsB,EAC1B,IAAI,CAAClC,SAAS,EACd8B,GAAG,CAACC,GAAG,CAAEE,EAAE,IAAKA,EAAE,CAACE,OAAO,CAC5B,CAAC;IACH,CAAC,CAAC,OAAOT,GAAQ,EAAE;MACjB,IAAI,CAACnB,MAAM,CAAC6B,cAAc,CACvB,6FAA4FV,GAAG,CAACW,OAAQ,EAC3G,CAAC;IACH;IAEA,OAAOzB,eAAe;EACxB;EAEA,MAAce,yBAAyBA,CAACW,IAAc,EAAE;IACtD,MAAMC,OAAO,CAACC,GAAG,CACfF,IAAI,CAACP,GAAG,CAAC,MAAOU,GAAG,IAAK;MACtB,MAAMC,WAAW,GAAGzB,eAAI,CAACG,IAAI,CAAC,IAAI,CAACpB,SAAS,CAACiB,IAAI,EAAEwB,GAAG,CAAC;MACvD,IAAI;QACF,MAAMvB,kBAAE,CAACyB,MAAM,CAACD,WAAW,CAAC;MAC9B,CAAC,CAAC,OAAOhB,GAAQ,EAAE;QACjB,IAAIA,GAAG,CAACkB,IAAI,KAAK,QAAQ,EAAE;UACzB;UACA,MAAMlB,GAAG;QACX;MACF;IACF,CAAC,CACH,CAAC;EACH;EAEA,MAAcD,oBAAoBA,CAACX,WAAwB,EAAEC,aAAqB,EAA2B;IAAA,IAAA8B,OAAA,EAAAC,qBAAA;IAC3G,MAAMC,IAAI,GAAGjC,WAAW,CAACiC,IAAI;IAC7B,MAAMC,cAAc,GAAG,IAAAC,oBAAS,EAACF,IAAI,EAAE;MAAEG,UAAU,EAAE;IAAK,CAAC,CAAC;IAC5D,MAAMC,aAAa,GAAG,IAAAF,oBAAS,EAACF,IAAI,CAAC;IACrC,MAAMvC,QAAQ,GAAG4C,0BAAW,CAACC,UAAU,CAAC,IAAI,CAAC7C,QAAQ,CAAC;IAEtD,MAAM8C,KAAK,GAAG,MAAM,IAAI,CAACnD,QAAQ,CAACoD,aAAa,CAAC;MAC9CR,IAAI;MACJC,cAAc;MACdG,aAAa;MACbrC,WAAW;MACXN,QAAQ;MACRC,KAAK,EAAE,IAAI,CAACA;IACd,CAAC,CAAC;IACF,MAAM+C,QAAQ,GAAGF,KAAK,CAACG,IAAI,CAAEC,IAAI,IAAKA,IAAI,CAACC,MAAM,CAAC;IAClD,MAAM,IAAI,CAACC,mBAAmB,CAAC7C,aAAa,EAAEuC,KAAK,CAAC;IACpD,MAAMO,UAAU,GAAG,MAAM,IAAI,CAACvD,OAAO,CAACwD,KAAK,CAAC;MAC1CC,OAAO,EAAEhD,aAAa;MACtByC,QAAQ,EAAEA,QAAQ,aAARA,QAAQ,uBAARA,QAAQ,CAAEQ,YAAY;MAChCC,aAAa,EAAEnD,WAAW,CAACS,QAAQ;MACnC2C,YAAY,EAAE,IAAI,CAAChE,OAAO,CAACiE;IAC7B,CAAC,CAAC;IACF,MAAMC,SAAS,GAAG,MAAM,IAAI,CAACpE,SAAS,CAACqE,GAAG,CAACvD,WAAW,CAAC;IACvD,MAAMwD,0BAA0B,GAAG,IAAI,CAAClE,IAAI,CAACmE,gBAAgB,CAACH,SAAS,CAAC;IACxE,MAAMI,sBAAsB,GAAG,IAAI,CAACpE,IAAI,CAACqE,MAAM,CAACL,SAAS,CAAC;IAC1D,IAAIM,MAAM,GAAG,IAAI,CAACvE,QAAQ,CAACuE,MAAM;IACjC,IAAIA,MAAM,IAAI,OAAOA,MAAM,KAAK,UAAU,EAAE;MAAA,IAAAC,qBAAA;MAC1C,MAAMC,WAAW,IAAAD,qBAAA,GAAG,IAAI,CAACxE,QAAQ,CAACuE,MAAM,cAAAC,qBAAA,uBAApBA,qBAAA,CAAsBE,IAAI,CAAC,IAAI,CAAC1E,QAAQ,CAAC;MAC7DuE,MAAM,GAAGE,WAAW,CAAC;QAAEpE,QAAQ,EAAE,IAAI,CAACA;MAAS,CAAC,CAAC;IACnD;IAEA,IAAI,CAACkE,MAAM,IAAI,IAAI,CAACjE,KAAK,EAAE;MACzB,MAAMqE,aAAa,GAAG,IAAI,CAAC9E,SAAS,CAAC+E,MAAM,CAAC,IAAI,CAACtE,KAAK,CAAC;MACvDiE,MAAM,GAAG;QACP,CAACI,aAAa,GAAG,IAAI,CAACrE,KAAK,CAACuE,sBAAsB,CAAC,CAAC,GAAG,IAAI,CAACvE,KAAK,CAACwE,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC;QACjF,mBAAmB,EAAE;UACnBC,GAAG,EAAE,IAAI,CAACzE,KAAK,CAACuE,sBAAsB,CAAC;QACzC;MACF,CAAC;IACH;IAEA,MAAMG,WAAW,IAAAtC,OAAA,GAAG6B,MAAM,cAAA7B,OAAA,wBAAAC,qBAAA,GAAND,OAAA,CAASuC,eAAU,CAACnD,EAAE,CAAC,cAAAa,qBAAA,uBAAvBA,qBAAA,CAAyBoC,GAAG;IAEhD,IAAIR,MAAM,IAAIS,WAAW,IAAIb,0BAA0B,EAAE;MACvD;MACA,OAAOI,MAAM,CAACS,WAAW,CAAC;MAC1B,OAAOT,MAAM,CAACU,eAAU,CAACnD,EAAE,CAAC,CAACiD,GAAG;MAChC,IAAIG,MAAM,CAACC,IAAI,CAACZ,MAAM,CAACU,eAAU,CAACnD,EAAE,CAAC,CAAC,CAACsD,MAAM,KAAK,CAAC,EAAE,OAAOb,MAAM,CAACU,eAAU,CAACnD,EAAE,CAAC;MACjF,IAAIoD,MAAM,CAACC,IAAI,CAACZ,MAAM,CAAC,CAACa,MAAM,KAAK,CAAC,EAAEb,MAAM,GAAGc,SAAS;IAC1D;IAEA,MAAMC,aAAa,GAAG,MAAM,IAAI,CAACC,sBAAsB,CAAChB,MAAM,CAAC;IAC/D,IAAIe,aAAa,EAAE,IAAI,CAACzF,SAAS,CAAC4B,MAAM,CAAC+D,eAAe,CAACvB,SAAS,CAACnC,EAAE,EAAEwD,aAAa,CAAC;IAErF,MAAMG,UAAU,GAAGA,CAAA,KAAM;MAAA,IAAAC,QAAA,EAAAC,qBAAA;MACvB,MAAMC,WAAW,GAAG,IAAI,CAAC7F,OAAO,CAACgF,GAAG,CAAC,CAAC;MACtC,MAAMc,eAAe,IAAAH,QAAA,GAAGnB,MAAM,cAAAmB,QAAA,wBAAAC,qBAAA,GAAND,QAAA,CAAST,eAAU,CAACnD,EAAE,CAAC,cAAA6D,qBAAA,uBAAvBA,qBAAA,CAAyBZ,GAAG;MACpD,IAAIa,WAAW,EAAE;QACf,OAAO;UACLtF,KAAK,EAAEsF,WAAW;UAClBE,KAAK,EAAE;QACT,CAAC;MACH;MACA,IAAID,eAAe,EAAE;QACnB,OAAO;UACLvF,KAAK,EAAEuF,eAAe;UACtBC,KAAK,EAAE;QACT,CAAC;MACH;MACA,OAAO;QACLxF,KAAK,EAAE+D,sBAAsB,CAACvC,EAAE;QAChCgE,KAAK,EAAE3B,0BAA0B,GAAG,oBAAoB,GAAG;MAC7D,CAAC;IACH,CAAC;IACD,MAAM;MAAE7D,KAAK;MAAEwF;IAAM,CAAC,GAAGL,UAAU,CAAC,CAAC;IACrC,OAAO;MACL3D,EAAE,EAAEnB,WAAW;MACf2B,GAAG,EAAE1B,aAAa;MAClBuC,KAAK,EAAEO,UAAU,CAACP,KAAK;MACvB4C,WAAW,EAAE,IAAAC,mCAAwB,EAAC/B,SAAS,CAACgC,KAAK,CAACC,SAAS,CAAC;MAChE5F,KAAK;MACL6F,QAAQ,EAAEL;IACZ,CAAC;EACH;EAEA,MAAcP,sBAAsBA,CAAChB,MAAwB,EAAwC;IAAA,IAAA6B,QAAA,EAAAC,qBAAA;IACnG,MAAMC,OAAO,GAAG,IAAI,CAACvG,OAAO,CAACgF,GAAG,CAAC,CAAC;IAClC,MAAMC,WAAW,IAAAoB,QAAA,GAAG7B,MAAM,cAAA6B,QAAA,wBAAAC,qBAAA,GAAND,QAAA,CAASnB,eAAU,CAACnD,EAAE,CAAC,cAAAuE,qBAAA,uBAAvBA,qBAAA,CAAyBtB,GAAG;IAChD,IAAI,CAACuB,OAAO,IAAIA,OAAO,KAAKtB,WAAW,EAAE;MACvC,OAAOT,MAAM;IACf;IACAA,MAAM,GAAGA,MAAM,IAAI,CAAC,CAAC;IACrB,IAAIS,WAAW,EAAE;MACf;MACA,OAAOT,MAAM,CAACS,WAAW,CAAC;IAC5B;IACA,MAAM,IAAI,CAAC7E,OAAO,CAACoG,cAAc,CAACD,OAAO,EAAE/B,MAAM,CAAC;IAElD,OAAOA,MAAM;EACf;;EAEA;AACF;AACA;EACE,MAAcd,mBAAmBA,CAC/B7C,aAAqB,EACrB4F,aAA8B,EACE;IAChC,MAAMC,aAAa,GAAG,KAAIC,wBAAa,EAAC,CAAC;IACzC,MAAMC,UAAU,GAAGH,aAAa,CAAC5E,GAAG,CAAEgF,YAAY,IAAK;MACrD,MAAMC,iBAAiB,GAAG,KAAIC,gBAAK,EAAC;QAClCC,IAAI,EAAEnG,aAAa;QACnBE,IAAI,EAAEA,eAAI,CAACG,IAAI,CAACL,aAAa,EAAEgG,YAAY,CAAC/C,YAAY,CAAC;QACzDmD,QAAQ,EAAEC,MAAM,CAACC,IAAI,CAACN,YAAY,CAACO,OAAO;MAC5C,CAAC,CAAC;MACF,OAAOC,wBAAa,CAACC,SAAS,CAACR,iBAAiB,CAAC;IACnD,CAAC,CAAC;IACF,MAAMS,OAAO,GAAGX,UAAU,CAAC/E,GAAG,CAAE2F,CAAC,IAAKA,CAAC,CAACzG,IAAI,CAAC;IAC7C2F,aAAa,CAACe,YAAY,CAACb,UAAU,CAAC;IACtCF,aAAa,CAACgB,WAAW,CAAC,IAAI,CAAC5H,SAAS,CAACiB,IAAI,CAAC;IAC9C,MAAM2F,aAAa,CAACiB,cAAc,CAAC,CAAC;IACpC,OAAOJ,OAAO;EAChB;AACF;AAACK,OAAA,CAAAhI,kBAAA,GAAAA,kBAAA"}
|
1
|
+
{"version":3,"names":["_vinyl","data","_interopRequireDefault","require","_fsExtra","_pMapSeries","_path","_envs","_camelcase","_bitError","_workspaceModules","_sources","_componentIdToPackageName","_dataToPersist","_componentId","ComponentGenerator","constructor","workspace","componentIds","options","template","envs","newComponentHelper","tracker","wsConfigFiles","logger","onComponentCreateSlot","aspectId","envId","generate","dirsToDeleteIfFailed","generateResults","pMapSeries","componentId","componentPath","getNewComponentPath","path","length","fs","existsSync","join","BitError","hasName","fullName","push","generateOneComponent","err","deleteGeneratedComponents","bitMap","write","ids","map","r","id","tryLinkToNodeModules","runOnComponentCreateHook","tryWriteConfigFiles","linkToNodeModulesByIds","_legacy","consoleFailure","message","fns","values","Promise","all","fn","shouldWrite","isWorkspaceConfigWriteEnabled","clearComponentCache","writeConfigFiles","clean","silent","dedupe","dirs","dir","absoluteDir","remove","code","_config","_config$EnvsAspect$id","name","namePascalCase","camelcase","pascalCase","nameCamelCase","ComponentID","fromString","files","generateFiles","mainFile","find","file","isMain","writeComponentFiles","addResults","track","rootDir","relativePath","componentName","defaultScope","scope","component","get","hasEnvConfiguredOriginally","hasEnvConfigured","envBeforeConfigChanges","getEnv","config","_this$template$config","boundConfig","bind","isInWorkspace","exists","toStringWithoutVersion","toString","env","templateEnv","EnvsAspect","Object","keys","undefined","configWithEnv","addEnvIfProvidedByFlag","setEntireConfig","getEnvData","_config2","_config2$EnvsAspect$i","envFromFlag","envFromTemplate","setBy","packageName","componentIdToPackageName","state","_consumer","envSetBy","_config3","_config3$EnvsAspect$i","userEnv","addEnvToConfig","templateFiles","dataToPersist","DataToPersist","vinylFiles","templateFile","templateFileVinyl","Vinyl","base","contents","Buffer","from","content","AbstractVinyl","fromVinyl","results","v","addManyFiles","addBasePath","persistAllToFS","exports"],"sources":["component-generator.ts"],"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, { EnvsMain } from '@teambit/envs';\nimport camelcase from 'camelcase';\nimport { BitError } from '@teambit/bit-error';\nimport { Logger } from '@teambit/logger';\nimport { TrackerMain } from '@teambit/tracker';\nimport { linkToNodeModulesByIds } from '@teambit/workspace.modules.node-modules-linker';\nimport { PathOsBasedRelative } from '@teambit/legacy/dist/utils/path';\nimport { AbstractVinyl } from '@teambit/legacy/dist/consumer/component/sources';\nimport componentIdToPackageName from '@teambit/legacy/dist/utils/bit/component-id-to-package-name';\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 { WorkspaceConfigFilesMain } from '@teambit/workspace-config-files';\n\nimport { ComponentTemplate, ComponentFile, ComponentConfig } from './component-template';\nimport { CreateOptions } from './create.cmd';\nimport { OnComponentCreateSlot } from './generator.main.runtime';\n\nexport type GenerateResult = {\n id: ComponentID;\n dir: string;\n files: string[];\n envId: string;\n envSetBy: string;\n packageName: string;\n};\n\nexport type OnComponentCreateFn = (generateResults: GenerateResult[]) => Promise<void>;\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 private tracker: TrackerMain,\n private wsConfigFiles: WorkspaceConfigFilesMain,\n private logger: Logger,\n private onComponentCreateSlot: OnComponentCreateSlot,\n private aspectId: string,\n private envId?: ComponentID\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(\n componentId,\n this.options.path,\n this.componentIds.length\n );\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 const ids = generateResults.map((r) => r.id);\n await this.tryLinkToNodeModules(ids);\n await this.runOnComponentCreateHook(generateResults);\n // We are running this after the runOnComponentCreateHook as it require\n // the env to be installed to work properly, and the hook might install\n // the env.\n await this.tryWriteConfigFiles(ids);\n\n return generateResults;\n }\n\n private async tryLinkToNodeModules(ids: ComponentID[]) {\n try {\n await linkToNodeModulesByIds(\n this.workspace,\n ids.map((id) => id._legacy)\n );\n } catch (err: any) {\n this.logger.consoleFailure(\n `failed linking the new components to node_modules, please run \"bit link\" manually. error: ${err.message}`\n );\n }\n }\n\n private async runOnComponentCreateHook(generateResults: GenerateResult[]) {\n const fns = this.onComponentCreateSlot.values();\n if (!fns.length) return;\n await Promise.all(fns.map((fn) => fn(generateResults)));\n }\n\n /**\n * The function `tryWriteConfigFiles` attempts to write workspace config files, and if it fails, it logs an error\n * message.\n * @returns If the condition `!shouldWrite` is true, then nothing is being returned. Otherwise, if the `writeConfigFiles`\n * function is successfully executed, nothing is being returned. If an error occurs during the execution of\n * `writeConfigFiles`, an error message is being returned.\n */\n private async tryWriteConfigFiles(ids: ComponentID[]) {\n try {\n const shouldWrite = this.wsConfigFiles.isWorkspaceConfigWriteEnabled();\n if (!shouldWrite) return;\n ids.map((id) => this.workspace.clearComponentCache(id));\n await this.wsConfigFiles.writeConfigFiles({\n clean: true,\n silent: true,\n dedupe: true,\n });\n } catch (err: any) {\n this.logger.consoleFailure(\n `failed generating workspace config files, please run \"bit ws-config write\" manually. error: ${err.message}`\n );\n }\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 aspectId = ComponentID.fromString(this.aspectId);\n\n const files = await this.template.generateFiles({\n name,\n namePascalCase,\n nameCamelCase,\n componentId,\n aspectId,\n envId: this.envId,\n });\n const mainFile = files.find((file) => file.isMain);\n await this.writeComponentFiles(componentPath, files);\n const addResults = await this.tracker.track({\n rootDir: componentPath,\n mainFile: mainFile?.relativePath,\n componentName: componentId.fullName,\n defaultScope: this.options.scope,\n });\n const component = await this.workspace.get(componentId);\n const hasEnvConfiguredOriginally = this.envs.hasEnvConfigured(component);\n const envBeforeConfigChanges = this.envs.getEnv(component);\n let config = this.template.config;\n if (config && typeof config === 'function') {\n const boundConfig = this.template.config?.bind(this.template);\n config = boundConfig({ aspectId: this.aspectId });\n }\n\n if (!config && this.envId) {\n const isInWorkspace = this.workspace.exists(this.envId);\n config = {\n [isInWorkspace ? this.envId.toStringWithoutVersion() : this.envId.toString()]: {},\n 'teambit.envs/envs': {\n env: this.envId.toStringWithoutVersion(),\n },\n };\n }\n\n const templateEnv = config?.[EnvsAspect.id]?.env;\n\n if (config && templateEnv && hasEnvConfiguredOriginally) {\n // remove the env we got from the template.\n delete config[templateEnv];\n delete config[EnvsAspect.id].env;\n if (Object.keys(config[EnvsAspect.id]).length === 0) delete config[EnvsAspect.id];\n if (Object.keys(config).length === 0) config = undefined;\n }\n\n const configWithEnv = await this.addEnvIfProvidedByFlag(config);\n if (configWithEnv) this.workspace.bitMap.setEntireConfig(component.id, configWithEnv);\n\n const getEnvData = () => {\n const envFromFlag = this.options.env; // env entered by the user when running `bit create --env`\n const envFromTemplate = config?.[EnvsAspect.id]?.env;\n if (envFromFlag) {\n return {\n envId: envFromFlag,\n setBy: '--env flag',\n };\n }\n if (envFromTemplate) {\n return {\n envId: envFromTemplate,\n setBy: 'template',\n };\n }\n return {\n envId: envBeforeConfigChanges.id,\n setBy: hasEnvConfiguredOriginally ? 'workspace variants' : '<default>',\n };\n };\n const { envId, setBy } = getEnvData();\n return {\n id: componentId,\n dir: componentPath,\n files: addResults.files,\n packageName: componentIdToPackageName(component.state._consumer),\n envId,\n envSetBy: setBy,\n };\n }\n\n private async addEnvIfProvidedByFlag(config?: ComponentConfig): Promise<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 await this.tracker.addEnvToConfig(userEnv, config);\n\n return 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"],"mappings":"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"}
|
@@ -3,6 +3,7 @@ import { CLIMain } from '@teambit/cli';
|
|
3
3
|
import { Workspace } from '@teambit/workspace';
|
4
4
|
import { EnvDefinition, EnvsMain } from '@teambit/envs';
|
5
5
|
import type { CommunityMain } from '@teambit/community';
|
6
|
+
import { WorkspaceConfigFilesMain } from '@teambit/workspace-config-files';
|
6
7
|
import type { ComponentMain, Component } from '@teambit/component';
|
7
8
|
import { SlotRegistry } from '@teambit/harmony';
|
8
9
|
import { GitMain } from '@teambit/git';
|
@@ -12,11 +13,12 @@ import { NewComponentHelperMain } from '@teambit/new-component-helper';
|
|
12
13
|
import { Logger, LoggerMain } from '@teambit/logger';
|
13
14
|
import { ComponentTemplate } from './component-template';
|
14
15
|
import { CreateOptions } from './create.cmd';
|
15
|
-
import { GenerateResult } from './component-generator';
|
16
|
+
import { GenerateResult, OnComponentCreateFn } from './component-generator';
|
16
17
|
import { WorkspaceTemplate } from './workspace-template';
|
17
18
|
import { NewOptions } from './new.cmd';
|
18
19
|
export declare type ComponentTemplateSlot = SlotRegistry<ComponentTemplate[]>;
|
19
20
|
export declare type WorkspaceTemplateSlot = SlotRegistry<WorkspaceTemplate[]>;
|
21
|
+
export declare type OnComponentCreateSlot = SlotRegistry<OnComponentCreateFn>;
|
20
22
|
export declare type TemplateDescriptor = {
|
21
23
|
aspectId: string;
|
22
24
|
titlePrefix?: string;
|
@@ -56,6 +58,7 @@ export declare type GeneratorConfig = {
|
|
56
58
|
export declare class GeneratorMain {
|
57
59
|
private componentTemplateSlot;
|
58
60
|
private workspaceTemplateSlot;
|
61
|
+
private onComponentCreateSlot;
|
59
62
|
private config;
|
60
63
|
private workspace;
|
61
64
|
private envs;
|
@@ -65,8 +68,9 @@ export declare class GeneratorMain {
|
|
65
68
|
private tracker;
|
66
69
|
private logger;
|
67
70
|
private git;
|
71
|
+
private wsConfigFiles;
|
68
72
|
private aspectLoaded;
|
69
|
-
constructor(componentTemplateSlot: ComponentTemplateSlot, workspaceTemplateSlot: WorkspaceTemplateSlot, config: GeneratorConfig, workspace: Workspace, envs: EnvsMain, aspectLoader: AspectLoaderMain, newComponentHelper: NewComponentHelperMain, componentAspect: ComponentMain, tracker: TrackerMain, logger: Logger, git: GitMain);
|
73
|
+
constructor(componentTemplateSlot: ComponentTemplateSlot, workspaceTemplateSlot: WorkspaceTemplateSlot, onComponentCreateSlot: OnComponentCreateSlot, config: GeneratorConfig, workspace: Workspace, envs: EnvsMain, aspectLoader: AspectLoaderMain, newComponentHelper: NewComponentHelperMain, componentAspect: ComponentMain, tracker: TrackerMain, logger: Logger, git: GitMain, wsConfigFiles: WorkspaceConfigFilesMain);
|
70
74
|
/**
|
71
75
|
* register a new component template.
|
72
76
|
*/
|
@@ -75,6 +79,7 @@ export declare class GeneratorMain {
|
|
75
79
|
* register a new component template.
|
76
80
|
*/
|
77
81
|
registerWorkspaceTemplate(templates: WorkspaceTemplate[]): this;
|
82
|
+
registerOnComponentCreate(fn: OnComponentCreateFn): this;
|
78
83
|
/**
|
79
84
|
* list all component templates registered in the workspace or workspace templates in case the
|
80
85
|
* workspace is not available
|
@@ -140,10 +145,10 @@ export declare class GeneratorMain {
|
|
140
145
|
listEnvComponentTemplates(ids?: string[], aspectId?: string): Promise<Array<ComponentTemplateWithId>>;
|
141
146
|
loadEnvs(ids?: string[], remoteEnvsAspect?: EnvsMain): Promise<EnvDefinition[]>;
|
142
147
|
loadAspects(): Promise<void>;
|
143
|
-
static slots: (((registerFn: () => string) => SlotRegistry<ComponentTemplate[]>) | ((registerFn: () => string) => SlotRegistry<WorkspaceTemplate[]>))[];
|
148
|
+
static slots: (((registerFn: () => string) => SlotRegistry<ComponentTemplate[]>) | ((registerFn: () => string) => SlotRegistry<WorkspaceTemplate[]>) | ((registerFn: () => string) => SlotRegistry<OnComponentCreateFn>))[];
|
144
149
|
static dependencies: import("@teambit/bit").Aspect[];
|
145
150
|
static runtime: import("@teambit/bit").RuntimeDefinition;
|
146
|
-
static provider([workspace, cli, graphql, envs, aspectLoader, newComponentHelper, community, componentAspect, tracker, loggerMain, git,]: [
|
151
|
+
static provider([workspace, cli, graphql, envs, aspectLoader, newComponentHelper, community, componentAspect, tracker, loggerMain, git, wsConfigFiles,]: [
|
147
152
|
Workspace,
|
148
153
|
CLIMain,
|
149
154
|
GraphqlMain,
|
@@ -154,7 +159,12 @@ export declare class GeneratorMain {
|
|
154
159
|
ComponentMain,
|
155
160
|
TrackerMain,
|
156
161
|
LoggerMain,
|
157
|
-
GitMain
|
158
|
-
|
162
|
+
GitMain,
|
163
|
+
WorkspaceConfigFilesMain
|
164
|
+
], config: GeneratorConfig, [componentTemplateSlot, workspaceTemplateSlot, onComponentCreateSlot]: [
|
165
|
+
ComponentTemplateSlot,
|
166
|
+
WorkspaceTemplateSlot,
|
167
|
+
OnComponentCreateSlot
|
168
|
+
]): Promise<GeneratorMain>;
|
159
169
|
}
|
160
170
|
export {};
|
@@ -60,6 +60,13 @@ function _config() {
|
|
60
60
|
};
|
61
61
|
return data;
|
62
62
|
}
|
63
|
+
function _workspaceConfigFiles() {
|
64
|
+
const data = _interopRequireDefault(require("@teambit/workspace-config-files"));
|
65
|
+
_workspaceConfigFiles = function () {
|
66
|
+
return data;
|
67
|
+
};
|
68
|
+
return data;
|
69
|
+
}
|
63
70
|
function _component() {
|
64
71
|
const data = _interopRequireWildcard(require("@teambit/component"));
|
65
72
|
_component = function () {
|
@@ -219,9 +226,10 @@ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj &&
|
|
219
226
|
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
220
227
|
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2().default)(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
221
228
|
class GeneratorMain {
|
222
|
-
constructor(componentTemplateSlot, workspaceTemplateSlot, config, workspace, envs, aspectLoader, newComponentHelper, componentAspect, tracker, logger, git) {
|
229
|
+
constructor(componentTemplateSlot, workspaceTemplateSlot, onComponentCreateSlot, config, workspace, envs, aspectLoader, newComponentHelper, componentAspect, tracker, logger, git, wsConfigFiles) {
|
223
230
|
this.componentTemplateSlot = componentTemplateSlot;
|
224
231
|
this.workspaceTemplateSlot = workspaceTemplateSlot;
|
232
|
+
this.onComponentCreateSlot = onComponentCreateSlot;
|
225
233
|
this.config = config;
|
226
234
|
this.workspace = workspace;
|
227
235
|
this.envs = envs;
|
@@ -231,6 +239,7 @@ class GeneratorMain {
|
|
231
239
|
this.tracker = tracker;
|
232
240
|
this.logger = logger;
|
233
241
|
this.git = git;
|
242
|
+
this.wsConfigFiles = wsConfigFiles;
|
234
243
|
(0, _defineProperty2().default)(this, "aspectLoaded", false);
|
235
244
|
(0, _defineProperty2().default)(this, "getTemplateDescriptor", ({
|
236
245
|
id,
|
@@ -265,6 +274,10 @@ class GeneratorMain {
|
|
265
274
|
this.workspaceTemplateSlot.register(templates);
|
266
275
|
return this;
|
267
276
|
}
|
277
|
+
registerOnComponentCreate(fn) {
|
278
|
+
this.onComponentCreateSlot.register(fn);
|
279
|
+
return this;
|
280
|
+
}
|
268
281
|
|
269
282
|
/**
|
270
283
|
* list all component templates registered in the workspace or workspace templates in case the
|
@@ -439,7 +452,7 @@ class GeneratorMain {
|
|
439
452
|
_config().default.componentConfigLoadingRegistry = componentConfigLoadingRegistry;
|
440
453
|
if (!templateWithId) throw new (_bitError().BitError)(`template "${templateName}" was not found`);
|
441
454
|
const componentIds = componentNames.map(componentName => this.newComponentHelper.getNewComponentId(componentName, namespace, options.scope));
|
442
|
-
const componentGenerator = new (_componentGenerator().ComponentGenerator)(this.workspace, componentIds, options, templateWithId.template, this.envs, this.newComponentHelper, this.tracker, this.logger, templateWithId.id, templateWithId.envName ? _component().ComponentID.fromString(templateWithId.id) : undefined);
|
455
|
+
const componentGenerator = new (_componentGenerator().ComponentGenerator)(this.workspace, componentIds, options, templateWithId.template, this.envs, this.newComponentHelper, this.tracker, this.wsConfigFiles, this.logger, this.onComponentCreateSlot, templateWithId.id, templateWithId.envName ? _component().ComponentID.fromString(templateWithId.id) : undefined);
|
443
456
|
return componentGenerator.generate();
|
444
457
|
}
|
445
458
|
async generateWorkspaceTemplate(workspaceName, templateName, options) {
|
@@ -581,9 +594,9 @@ class GeneratorMain {
|
|
581
594
|
await this.workspace.loadAspects(this.config.aspects);
|
582
595
|
this.aspectLoaded = true;
|
583
596
|
}
|
584
|
-
static async provider([workspace, cli, graphql, envs, aspectLoader, newComponentHelper, community, componentAspect, tracker, loggerMain, git], config, [componentTemplateSlot, workspaceTemplateSlot]) {
|
597
|
+
static async provider([workspace, cli, graphql, envs, aspectLoader, newComponentHelper, community, componentAspect, tracker, loggerMain, git, wsConfigFiles], config, [componentTemplateSlot, workspaceTemplateSlot, onComponentCreateSlot]) {
|
585
598
|
const logger = loggerMain.createLogger(_generator().GeneratorAspect.id);
|
586
|
-
const generator = new GeneratorMain(componentTemplateSlot, workspaceTemplateSlot, config, workspace, envs, aspectLoader, newComponentHelper, componentAspect, tracker, logger, git);
|
599
|
+
const generator = new GeneratorMain(componentTemplateSlot, workspaceTemplateSlot, onComponentCreateSlot, config, workspace, envs, aspectLoader, newComponentHelper, componentAspect, tracker, logger, git, wsConfigFiles);
|
587
600
|
const commands = [new (_create().CreateCmd)(generator, community.getDocsDomain()), new (_templates().TemplatesCmd)(generator), new (_new().NewCmd)(generator)];
|
588
601
|
cli.register(...commands);
|
589
602
|
graphql.register((0, _generator2().generatorSchema)(generator));
|
@@ -594,8 +607,8 @@ class GeneratorMain {
|
|
594
607
|
}
|
595
608
|
}
|
596
609
|
exports.GeneratorMain = GeneratorMain;
|
597
|
-
(0, _defineProperty2().default)(GeneratorMain, "slots", [_harmony().Slot.withType(), _harmony().Slot.withType()]);
|
598
|
-
(0, _defineProperty2().default)(GeneratorMain, "dependencies", [_workspace().default, _cli().CLIAspect, _graphql().GraphqlAspect, _envs().EnvsAspect, _aspectLoader().default, _newComponentHelper().default, _community().CommunityAspect, _component().default, _tracker().default, _logger().LoggerAspect, _git().default]);
|
610
|
+
(0, _defineProperty2().default)(GeneratorMain, "slots", [_harmony().Slot.withType(), _harmony().Slot.withType(), _harmony().Slot.withType()]);
|
611
|
+
(0, _defineProperty2().default)(GeneratorMain, "dependencies", [_workspace().default, _cli().CLIAspect, _graphql().GraphqlAspect, _envs().EnvsAspect, _aspectLoader().default, _newComponentHelper().default, _community().CommunityAspect, _component().default, _tracker().default, _logger().LoggerAspect, _git().default, _workspaceConfigFiles().default]);
|
599
612
|
(0, _defineProperty2().default)(GeneratorMain, "runtime", _cli().MainRuntime);
|
600
613
|
_generator().GeneratorAspect.addRuntime(GeneratorMain);
|
601
614
|
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":["_graphql","data","require","_cli","_workspace","_interopRequireWildcard","_envs","_community","_config","_interopRequireDefault","_component","_bit","_harmony","_git","_bitError","_aspectLoader","_tracker","_newComponentHelper","_lodash","_logger","_generator","_create","_templates","_generator2","_componentGenerator","_workspaceGenerator","_new","_componentGenerator2","_workspaceGenerator2","_starter","_starter2","_generator3","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","default","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","ownKeys","object","enumerableOnly","keys","getOwnPropertySymbols","symbols","filter","sym","enumerable","push","apply","_objectSpread","target","i","arguments","length","source","forEach","_defineProperty2","getOwnPropertyDescriptors","defineProperties","GeneratorMain","constructor","componentTemplateSlot","workspaceTemplateSlot","config","workspace","envs","aspectLoader","newComponentHelper","componentAspect","tracker","logger","git","id","template","shouldBeHidden","hidden","hideCoreTemplates","isCoreAspect","aspectId","name","description","registerComponentTemplate","templates","register","registerWorkspaceTemplate","listTemplates","aspect","isRunningInsideWorkspace","getAllComponentTemplatesDescriptorsFlattened","getAllWorkspaceTemplatesDescriptorFlattened","listComponentTemplates","opts","Boolean","getComponentTemplateByAspect","getComponentTemplate","fromEnv","listEnvComponentTemplates","found","findTemplateByAspectIdAndName","getAllComponentTemplatesFlattened","find","idWithoutVersion","split","getGlobalGeneratorEnvs","globalScopeHarmony","components","loadAspectsFromGlobalScope","remoteGenerator","GeneratorAspect","remoteEnvsAspect","EnvsAspect","fullAspectId","toString","findWorkspaceTemplateInGlobalScope","fromGlobal","searchRegisteredWorkspaceTemplate","workspaceTemplate","findTemplateInOtherWorkspace","workspacePath","BitError","harmony","loadBit","WorkspaceAspect","err","Error","aspectComponentId","resolveComponentId","loadAspects","aspectComponent","aspectFullId","generator","getWorkspaceTemplate","registeredTemplate","listEnvWorkspaceTemplates","getAllWorkspaceTemplatesFlattened","tpl","generateComponentTemplate","componentNames","templateName","options","OutsideWorkspaceError","namespace","componentConfigLoadingRegistry","ComponentConfig","templateWithId","componentIds","map","componentName","getNewComponentId","scope","componentGenerator","ComponentGenerator","envName","ComponentID","fromString","undefined","generate","generateWorkspaceTemplate","workspaceName","loadFrom","workspaceGenerator","WorkspaceGenerator","appName","envTemplates","listEnvComponentTemplateDescriptors","filtered","flattened","getTemplateDescriptor","templatesByAspects","toArray","flatMap","componentTemplates","workspaceTemplates","envId","loadEnvs","env","getGeneratorStarters","envStarters","starter","componentId","compact","ids","envTemplate","toStringWithoutVersion","titlePrefix","configEnvs","includes","globals","allIds","concat","getGeneratorTemplates","tpls","host","getHost","envsAspect","potentialEnvs","getEnvDefinition","aspectLoaded","aspects","provider","cli","graphql","community","loggerMain","createLogger","commands","CreateCmd","getDocsDomain","TemplatesCmd","NewCmd","generatorSchema","registerPlugins","StarterPlugin","registerService","GeneratorService","componentGeneratorTemplate","starterTemplate","workspaceGeneratorTemplate","exports","Slot","withType","CLIAspect","GraphqlAspect","AspectLoaderAspect","NewComponentHelperAspect","CommunityAspect","ComponentAspect","TrackerAspect","LoggerAspect","GitAspect","MainRuntime","addRuntime"],"sources":["generator.main.runtime.ts"],"sourcesContent":["import { 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 { CommunityAspect } from '@teambit/community';\nimport type { CommunityMain } from '@teambit/community';\nimport ComponentConfig from '@teambit/legacy/dist/consumer/config';\n\nimport ComponentAspect, { ComponentID } from '@teambit/component';\nimport type { ComponentMain, Component } from '@teambit/component';\n\nimport { isCoreAspect, loadBit } from '@teambit/bit';\nimport { Slot, SlotRegistry } from '@teambit/harmony';\nimport GitAspect, { GitMain } from '@teambit/git';\nimport { BitError } from '@teambit/bit-error';\nimport AspectLoaderAspect, { AspectLoaderMain } from '@teambit/aspect-loader';\nimport TrackerAspect, { TrackerMain } from '@teambit/tracker';\nimport NewComponentHelperAspect, { NewComponentHelperMain } from '@teambit/new-component-helper';\nimport { compact } from 'lodash';\nimport { Logger, LoggerAspect, LoggerMain } from '@teambit/logger';\nimport { ComponentTemplate } from './component-template';\nimport { GeneratorAspect } from './generator.aspect';\nimport { CreateCmd, CreateOptions } from './create.cmd';\nimport { TemplatesCmd } from './templates.cmd';\nimport { generatorSchema } from './generator.graphql';\nimport { ComponentGenerator, GenerateResult } 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';\nimport { starterTemplate } from './templates/starter';\nimport { StarterPlugin } from './starter.plugin';\nimport { GeneratorService } from './generator.service';\n\nexport type ComponentTemplateSlot = SlotRegistry<ComponentTemplate[]>;\nexport type WorkspaceTemplateSlot = SlotRegistry<WorkspaceTemplate[]>;\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 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 ) {}\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({ 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 } = 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 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(`template \"${name}\" was not found, if this is a custom-template, please use --aspect flag`);\n }\n\n const { workspaceTemplate, aspect } = await this.findWorkspaceTemplateInGlobalScope(aspectId, name);\n if (workspaceTemplate) {\n return { workspaceTemplate, aspect };\n }\n throw new BitError(`template \"${name}\" was not found`);\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: CreateOptions\n ): Promise<GenerateResult[]> {\n if (!this.workspace) throw new OutsideWorkspaceError();\n await this.loadAspects();\n const { namespace, aspect: aspectId } = options;\n\n const componentConfigLoadingRegistry = ComponentConfig.componentConfigLoadingRegistry;\n\n const templateWithId = await this.getComponentTemplate(templateName, aspectId);\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 componentGenerator = new ComponentGenerator(\n this.workspace,\n componentIds,\n options,\n templateWithId.template,\n this.envs,\n this.newComponentHelper,\n this.tracker,\n this.logger,\n templateWithId.id,\n templateWithId.envName ? ComponentID.fromString(templateWithId.id) : undefined\n );\n return componentGenerator.generate();\n }\n\n async generateWorkspaceTemplate(\n workspaceName: string,\n templateName: string,\n options: NewOptions\n ): Promise<GenerateWorkspaceTemplateResult> {\n if (this.workspace) {\n throw new BitError('Error: unable to generate a new workspace inside of an existing workspace');\n }\n const { aspect: aspectId, loadFrom } = options;\n 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, options, workspaceTemplate, aspect);\n const workspacePath = await workspaceGenerator.generate();\n\n return { workspacePath, appName: workspaceTemplate.appName };\n }\n\n private async getAllComponentTemplatesDescriptorsFlattened(aspectId?: string): Promise<Array<TemplateDescriptor>> {\n const envTemplates = await this.listEnvComponentTemplateDescriptors([], aspectId);\n if (envTemplates && envTemplates.length) {\n if (!aspectId) return envTemplates;\n const filtered = envTemplates.filter((template) => template.aspectId === aspectId);\n if (filtered.length) return filtered;\n }\n\n const flattened = this.getAllComponentTemplatesFlattened();\n const filtered = aspectId ? flattened.filter((template) => template.id === aspectId) : flattened;\n return filtered.map((template) => this.getTemplateDescriptor(template));\n }\n\n private getAllComponentTemplatesFlattened(): Array<{ id: string; template: ComponentTemplate }> {\n const templatesByAspects = this.componentTemplateSlot.toArray();\n const flattened = templatesByAspects.flatMap(([id, componentTemplates]) => {\n return componentTemplates.map((template) => ({\n id,\n template,\n }));\n });\n return flattened;\n }\n\n private async getAllWorkspaceTemplatesDescriptorFlattened(aspectId?: string): Promise<Array<TemplateDescriptor>> {\n let envTemplates;\n if (aspectId) {\n envTemplates = await this.listEnvWorkspaceTemplates(aspectId);\n }\n\n const templates = envTemplates && envTemplates.length ? envTemplates : this.getAllWorkspaceTemplatesFlattened();\n return templates.map((template) => this.getTemplateDescriptor(template));\n }\n\n private getAllWorkspaceTemplatesFlattened(): Array<{ id: string; template: WorkspaceTemplate }> {\n const templatesByAspects = this.workspaceTemplateSlot.toArray();\n return templatesByAspects.flatMap(([id, workspaceTemplates]) => {\n return workspaceTemplates.map((template) => ({\n id,\n template,\n }));\n });\n }\n\n /**\n * list all starter templates registered by an env.\n */\n async listEnvWorkspaceTemplates(envId: string, remoteEnvsAspect?: EnvsMain): Promise<Array<WorkspaceTemplateWithId>> {\n const envs = await this.loadEnvs([envId], remoteEnvsAspect);\n const workspaceTemplates = envs.flatMap((env) => {\n if (!env.env.getGeneratorStarters) return undefined;\n const envStarters = env.env.getGeneratorStarters();\n return envStarters.map((starter) => {\n const componentId = ComponentID.fromString(env.id);\n return {\n id: componentId.toString(),\n envName: env.name,\n template: starter,\n };\n });\n });\n\n return compact(workspaceTemplates);\n }\n\n /**\n * list all component templates registered by an env.\n */\n async listEnvComponentTemplateDescriptors(ids: string[] = [], aspectId?: string): Promise<TemplateDescriptor[]> {\n const envTemplates = await this.listEnvComponentTemplates(ids, aspectId);\n const templates: TemplateDescriptor[] = envTemplates.map((envTemplate) => {\n const componentId = ComponentID.fromString(envTemplate.id);\n return {\n aspectId: componentId.toStringWithoutVersion(),\n titlePrefix: envTemplate.envName,\n ...envTemplate.template,\n };\n });\n\n return templates;\n }\n\n async listEnvComponentTemplates(ids: string[] = [], aspectId?: string): Promise<Array<ComponentTemplateWithId>> {\n const configEnvs = this.config.envs || [];\n let remoteEnvsAspect;\n let fullAspectId;\n if (aspectId && !configEnvs.includes(aspectId)) {\n const globals = await this.getGlobalGeneratorEnvs(aspectId);\n remoteEnvsAspect = globals.remoteEnvsAspect;\n fullAspectId = globals.fullAspectId;\n }\n const allIds = configEnvs?.concat(ids).concat([aspectId, fullAspectId]).filter(Boolean);\n const envs = await this.loadEnvs(allIds, remoteEnvsAspect);\n const templates = envs.flatMap((env) => {\n if (!env.env.getGeneratorTemplates) return [];\n const tpls = env.env.getGeneratorTemplates() || [];\n const componentId = ComponentID.fromString(env.id);\n return tpls.map((template) => {\n return {\n id: componentId.toString(),\n envName: env.name,\n template,\n };\n });\n });\n\n return templates;\n }\n\n async loadEnvs(ids: string[] = this.config.envs || [], remoteEnvsAspect?: EnvsMain): Promise<EnvDefinition[]> {\n // In case we have remoteEnvsAspect it means that we are running from the global scope\n // in that case the aspect / env were already loaded before to the global scope harmony instance\n // so no reason to load it here\n if (!remoteEnvsAspect) {\n const host = this.componentAspect.getHost();\n if (!host) return [];\n await host.loadAspects(ids);\n }\n\n const envsAspect = remoteEnvsAspect || this.envs;\n\n const potentialEnvs = ids.map((id) => {\n const componentId = ComponentID.fromString(id);\n return envsAspect.getEnvDefinition(componentId);\n });\n\n return compact(potentialEnvs);\n }\n\n async loadAspects() {\n if (this.aspectLoaded) return;\n await this.workspace.loadAspects(this.config.aspects);\n this.aspectLoaded = true;\n }\n\n static slots = [Slot.withType<ComponentTemplate[]>(), Slot.withType<WorkspaceTemplate[]>()];\n\n static dependencies = [\n WorkspaceAspect,\n CLIAspect,\n GraphqlAspect,\n EnvsAspect,\n AspectLoaderAspect,\n NewComponentHelperAspect,\n CommunityAspect,\n ComponentAspect,\n TrackerAspect,\n LoggerAspect,\n GitAspect,\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 community,\n componentAspect,\n tracker,\n loggerMain,\n git,\n ]: [\n Workspace,\n CLIMain,\n GraphqlMain,\n EnvsMain,\n AspectLoaderMain,\n NewComponentHelperMain,\n CommunityMain,\n ComponentMain,\n TrackerMain,\n LoggerMain,\n GitMain\n ],\n config: GeneratorConfig,\n [componentTemplateSlot, workspaceTemplateSlot]: [ComponentTemplateSlot, WorkspaceTemplateSlot]\n ) {\n const logger = loggerMain.createLogger(GeneratorAspect.id);\n const generator = new GeneratorMain(\n componentTemplateSlot,\n workspaceTemplateSlot,\n config,\n workspace,\n envs,\n aspectLoader,\n newComponentHelper,\n componentAspect,\n tracker,\n logger,\n git\n );\n const commands = [\n new CreateCmd(generator, community.getDocsDomain()),\n new TemplatesCmd(generator),\n new NewCmd(generator),\n ];\n cli.register(...commands);\n graphql.register(generatorSchema(generator));\n aspectLoader.registerPlugins([new StarterPlugin(generator)]);\n envs.registerService(new GeneratorService());\n\n if (generator)\n generator.registerComponentTemplate([componentGeneratorTemplate, starterTemplate, workspaceGeneratorTemplate]);\n return generator;\n }\n}\n\nGeneratorAspect.addRuntime(GeneratorMain);\n"],"mappings":"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"}
|
1
|
+
{"version":3,"names":["_graphql","data","require","_cli","_workspace","_interopRequireWildcard","_envs","_community","_config","_interopRequireDefault","_workspaceConfigFiles","_component","_bit","_harmony","_git","_bitError","_aspectLoader","_tracker","_newComponentHelper","_lodash","_logger","_generator","_create","_templates","_generator2","_componentGenerator","_workspaceGenerator","_new","_componentGenerator2","_workspaceGenerator2","_starter","_starter2","_generator3","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","default","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","ownKeys","object","enumerableOnly","keys","getOwnPropertySymbols","symbols","filter","sym","enumerable","push","apply","_objectSpread","target","i","arguments","length","source","forEach","_defineProperty2","getOwnPropertyDescriptors","defineProperties","GeneratorMain","constructor","componentTemplateSlot","workspaceTemplateSlot","onComponentCreateSlot","config","workspace","envs","aspectLoader","newComponentHelper","componentAspect","tracker","logger","git","wsConfigFiles","id","template","shouldBeHidden","hidden","hideCoreTemplates","isCoreAspect","aspectId","name","description","registerComponentTemplate","templates","register","registerWorkspaceTemplate","registerOnComponentCreate","fn","listTemplates","aspect","isRunningInsideWorkspace","getAllComponentTemplatesDescriptorsFlattened","getAllWorkspaceTemplatesDescriptorFlattened","listComponentTemplates","opts","Boolean","getComponentTemplateByAspect","getComponentTemplate","fromEnv","listEnvComponentTemplates","found","findTemplateByAspectIdAndName","getAllComponentTemplatesFlattened","find","idWithoutVersion","split","getGlobalGeneratorEnvs","globalScopeHarmony","components","loadAspectsFromGlobalScope","remoteGenerator","GeneratorAspect","remoteEnvsAspect","EnvsAspect","fullAspectId","toString","findWorkspaceTemplateInGlobalScope","fromGlobal","searchRegisteredWorkspaceTemplate","workspaceTemplate","findTemplateInOtherWorkspace","workspacePath","BitError","harmony","loadBit","WorkspaceAspect","err","Error","aspectComponentId","resolveComponentId","loadAspects","aspectComponent","aspectFullId","generator","getWorkspaceTemplate","registeredTemplate","listEnvWorkspaceTemplates","getAllWorkspaceTemplatesFlattened","tpl","generateComponentTemplate","componentNames","templateName","options","OutsideWorkspaceError","namespace","componentConfigLoadingRegistry","ComponentConfig","templateWithId","componentIds","map","componentName","getNewComponentId","scope","componentGenerator","ComponentGenerator","envName","ComponentID","fromString","undefined","generate","generateWorkspaceTemplate","workspaceName","loadFrom","workspaceGenerator","WorkspaceGenerator","appName","envTemplates","listEnvComponentTemplateDescriptors","filtered","flattened","getTemplateDescriptor","templatesByAspects","toArray","flatMap","componentTemplates","workspaceTemplates","envId","loadEnvs","env","getGeneratorStarters","envStarters","starter","componentId","compact","ids","envTemplate","toStringWithoutVersion","titlePrefix","configEnvs","includes","globals","allIds","concat","getGeneratorTemplates","tpls","host","getHost","envsAspect","potentialEnvs","getEnvDefinition","aspectLoaded","aspects","provider","cli","graphql","community","loggerMain","createLogger","commands","CreateCmd","getDocsDomain","TemplatesCmd","NewCmd","generatorSchema","registerPlugins","StarterPlugin","registerService","GeneratorService","componentGeneratorTemplate","starterTemplate","workspaceGeneratorTemplate","exports","Slot","withType","CLIAspect","GraphqlAspect","AspectLoaderAspect","NewComponentHelperAspect","CommunityAspect","ComponentAspect","TrackerAspect","LoggerAspect","GitAspect","WorkspaceConfigFilesAspect","MainRuntime","addRuntime"],"sources":["generator.main.runtime.ts"],"sourcesContent":["import { 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 { CommunityAspect } from '@teambit/community';\nimport type { CommunityMain } from '@teambit/community';\nimport ComponentConfig from '@teambit/legacy/dist/consumer/config';\nimport WorkspaceConfigFilesAspect, { WorkspaceConfigFilesMain } from '@teambit/workspace-config-files';\n\nimport ComponentAspect, { ComponentID } from '@teambit/component';\nimport type { ComponentMain, Component } from '@teambit/component';\n\nimport { isCoreAspect, loadBit } from '@teambit/bit';\nimport { Slot, SlotRegistry } from '@teambit/harmony';\nimport GitAspect, { GitMain } from '@teambit/git';\nimport { BitError } from '@teambit/bit-error';\nimport AspectLoaderAspect, { AspectLoaderMain } from '@teambit/aspect-loader';\nimport TrackerAspect, { TrackerMain } from '@teambit/tracker';\nimport NewComponentHelperAspect, { NewComponentHelperMain } from '@teambit/new-component-helper';\nimport { compact } from 'lodash';\nimport { Logger, LoggerAspect, LoggerMain } from '@teambit/logger';\nimport { ComponentTemplate } from './component-template';\nimport { GeneratorAspect } from './generator.aspect';\nimport { CreateCmd, CreateOptions } from './create.cmd';\nimport { TemplatesCmd } from './templates.cmd';\nimport { generatorSchema } from './generator.graphql';\nimport { ComponentGenerator, GenerateResult, OnComponentCreateFn } from './component-generator';\nimport { WorkspaceGenerator } from './workspace-generator';\nimport { WorkspaceTemplate } from './workspace-template';\nimport { NewCmd, NewOptions } from './new.cmd';\nimport { componentGeneratorTemplate } from './templates/component-generator';\nimport { workspaceGeneratorTemplate } from './templates/workspace-generator';\nimport { starterTemplate } from './templates/starter';\nimport { StarterPlugin } from './starter.plugin';\nimport { GeneratorService } from './generator.service';\n\nexport type ComponentTemplateSlot = SlotRegistry<ComponentTemplate[]>;\nexport type WorkspaceTemplateSlot = SlotRegistry<WorkspaceTemplate[]>;\nexport type OnComponentCreateSlot = SlotRegistry<OnComponentCreateFn>;\n\nexport type TemplateDescriptor = {\n aspectId: string;\n titlePrefix?: string;\n name: string;\n description?: string;\n hidden?: boolean;\n};\n\ntype TemplateWithId = { id: string; envName?: string };\ntype WorkspaceTemplateWithId = TemplateWithId & { template: WorkspaceTemplate };\ntype ComponentTemplateWithId = TemplateWithId & { template: ComponentTemplate };\ntype AnyTemplateWithId = TemplateWithId & { template: ComponentTemplate | WorkspaceTemplate };\n\nexport type GenerateWorkspaceTemplateResult = { workspacePath: string; appName?: string };\n\nexport type GeneratorConfig = {\n /**\n * array of aspects to include in the list of templates.\n */\n aspects: string[];\n\n /**\n * by default core templates are shown.\n * use this to hide them unless `--show-all` flag of `bit templates` was used\n */\n hideCoreTemplates: boolean;\n\n /**\n * default envs.\n */\n envs?: string[];\n};\n\nexport class GeneratorMain {\n private aspectLoaded = false;\n constructor(\n private componentTemplateSlot: ComponentTemplateSlot,\n private workspaceTemplateSlot: WorkspaceTemplateSlot,\n private onComponentCreateSlot: OnComponentCreateSlot,\n private config: GeneratorConfig,\n private workspace: Workspace,\n private envs: EnvsMain,\n private aspectLoader: AspectLoaderMain,\n private newComponentHelper: NewComponentHelperMain,\n private componentAspect: ComponentMain,\n private tracker: TrackerMain,\n private logger: Logger,\n private git: GitMain,\n private wsConfigFiles: WorkspaceConfigFilesMain\n ) {}\n\n /**\n * register a new component template.\n */\n registerComponentTemplate(templates: ComponentTemplate[]) {\n this.componentTemplateSlot.register(templates);\n return this;\n }\n\n /**\n * register a new component template.\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 } = 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 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(`template \"${name}\" was not found, if this is a custom-template, please use --aspect flag`);\n }\n\n const { workspaceTemplate, aspect } = await this.findWorkspaceTemplateInGlobalScope(aspectId, name);\n if (workspaceTemplate) {\n return { workspaceTemplate, aspect };\n }\n throw new BitError(`template \"${name}\" was not found`);\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: CreateOptions\n ): Promise<GenerateResult[]> {\n if (!this.workspace) throw new OutsideWorkspaceError();\n await this.loadAspects();\n const { namespace, aspect: aspectId } = options;\n\n const componentConfigLoadingRegistry = ComponentConfig.componentConfigLoadingRegistry;\n\n const templateWithId = await this.getComponentTemplate(templateName, aspectId);\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 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 templateWithId.envName ? ComponentID.fromString(templateWithId.id) : undefined\n );\n return componentGenerator.generate();\n }\n\n async generateWorkspaceTemplate(\n workspaceName: string,\n templateName: string,\n options: NewOptions\n ): Promise<GenerateWorkspaceTemplateResult> {\n if (this.workspace) {\n throw new BitError('Error: unable to generate a new workspace inside of an existing workspace');\n }\n const { aspect: aspectId, loadFrom } = options;\n 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, options, workspaceTemplate, aspect);\n const workspacePath = await workspaceGenerator.generate();\n\n return { workspacePath, appName: workspaceTemplate.appName };\n }\n\n private async getAllComponentTemplatesDescriptorsFlattened(aspectId?: string): Promise<Array<TemplateDescriptor>> {\n const envTemplates = await this.listEnvComponentTemplateDescriptors([], aspectId);\n if (envTemplates && envTemplates.length) {\n if (!aspectId) return envTemplates;\n const filtered = envTemplates.filter((template) => template.aspectId === aspectId);\n if (filtered.length) return filtered;\n }\n\n const flattened = this.getAllComponentTemplatesFlattened();\n const filtered = aspectId ? flattened.filter((template) => template.id === aspectId) : flattened;\n return filtered.map((template) => this.getTemplateDescriptor(template));\n }\n\n private getAllComponentTemplatesFlattened(): Array<{ id: string; template: ComponentTemplate }> {\n const templatesByAspects = this.componentTemplateSlot.toArray();\n const flattened = templatesByAspects.flatMap(([id, componentTemplates]) => {\n return componentTemplates.map((template) => ({\n id,\n template,\n }));\n });\n return flattened;\n }\n\n private async getAllWorkspaceTemplatesDescriptorFlattened(aspectId?: string): Promise<Array<TemplateDescriptor>> {\n let envTemplates;\n if (aspectId) {\n envTemplates = await this.listEnvWorkspaceTemplates(aspectId);\n }\n\n const templates = envTemplates && envTemplates.length ? envTemplates : this.getAllWorkspaceTemplatesFlattened();\n return templates.map((template) => this.getTemplateDescriptor(template));\n }\n\n private getAllWorkspaceTemplatesFlattened(): Array<{ id: string; template: WorkspaceTemplate }> {\n const templatesByAspects = this.workspaceTemplateSlot.toArray();\n return templatesByAspects.flatMap(([id, workspaceTemplates]) => {\n return workspaceTemplates.map((template) => ({\n id,\n template,\n }));\n });\n }\n\n /**\n * list all starter templates registered by an env.\n */\n async listEnvWorkspaceTemplates(envId: string, remoteEnvsAspect?: EnvsMain): Promise<Array<WorkspaceTemplateWithId>> {\n const envs = await this.loadEnvs([envId], remoteEnvsAspect);\n const workspaceTemplates = envs.flatMap((env) => {\n if (!env.env.getGeneratorStarters) return undefined;\n const envStarters = env.env.getGeneratorStarters();\n return envStarters.map((starter) => {\n const componentId = ComponentID.fromString(env.id);\n return {\n id: componentId.toString(),\n envName: env.name,\n template: starter,\n };\n });\n });\n\n return compact(workspaceTemplates);\n }\n\n /**\n * list all component templates registered by an env.\n */\n async listEnvComponentTemplateDescriptors(ids: string[] = [], aspectId?: string): Promise<TemplateDescriptor[]> {\n const envTemplates = await this.listEnvComponentTemplates(ids, aspectId);\n const templates: TemplateDescriptor[] = envTemplates.map((envTemplate) => {\n const componentId = ComponentID.fromString(envTemplate.id);\n return {\n aspectId: componentId.toStringWithoutVersion(),\n titlePrefix: envTemplate.envName,\n ...envTemplate.template,\n };\n });\n\n return templates;\n }\n\n async listEnvComponentTemplates(ids: string[] = [], aspectId?: string): Promise<Array<ComponentTemplateWithId>> {\n const configEnvs = this.config.envs || [];\n let remoteEnvsAspect;\n let fullAspectId;\n if (aspectId && !configEnvs.includes(aspectId)) {\n const globals = await this.getGlobalGeneratorEnvs(aspectId);\n remoteEnvsAspect = globals.remoteEnvsAspect;\n fullAspectId = globals.fullAspectId;\n }\n const allIds = configEnvs?.concat(ids).concat([aspectId, fullAspectId]).filter(Boolean);\n const envs = await this.loadEnvs(allIds, remoteEnvsAspect);\n const templates = envs.flatMap((env) => {\n if (!env.env.getGeneratorTemplates) return [];\n const tpls = env.env.getGeneratorTemplates() || [];\n const componentId = ComponentID.fromString(env.id);\n return tpls.map((template) => {\n return {\n id: componentId.toString(),\n envName: env.name,\n template,\n };\n });\n });\n\n return templates;\n }\n\n async loadEnvs(ids: string[] = this.config.envs || [], remoteEnvsAspect?: EnvsMain): Promise<EnvDefinition[]> {\n // In case we have remoteEnvsAspect it means that we are running from the global scope\n // in that case the aspect / env were already loaded before to the global scope harmony instance\n // so no reason to load it here\n if (!remoteEnvsAspect) {\n const host = this.componentAspect.getHost();\n if (!host) return [];\n await host.loadAspects(ids);\n }\n\n const envsAspect = remoteEnvsAspect || this.envs;\n\n const potentialEnvs = ids.map((id) => {\n const componentId = ComponentID.fromString(id);\n return envsAspect.getEnvDefinition(componentId);\n });\n\n return compact(potentialEnvs);\n }\n\n async loadAspects() {\n if (this.aspectLoaded) return;\n await this.workspace.loadAspects(this.config.aspects);\n this.aspectLoaded = true;\n }\n\n static slots = [\n Slot.withType<ComponentTemplate[]>(),\n Slot.withType<WorkspaceTemplate[]>(),\n Slot.withType<OnComponentCreateFn>(),\n ];\n\n static dependencies = [\n WorkspaceAspect,\n CLIAspect,\n GraphqlAspect,\n EnvsAspect,\n AspectLoaderAspect,\n NewComponentHelperAspect,\n CommunityAspect,\n ComponentAspect,\n TrackerAspect,\n LoggerAspect,\n GitAspect,\n WorkspaceConfigFilesAspect,\n ];\n\n static runtime = MainRuntime;\n\n static async provider(\n [\n workspace,\n cli,\n graphql,\n envs,\n aspectLoader,\n newComponentHelper,\n community,\n componentAspect,\n tracker,\n loggerMain,\n git,\n wsConfigFiles,\n ]: [\n Workspace,\n CLIMain,\n GraphqlMain,\n EnvsMain,\n AspectLoaderMain,\n NewComponentHelperMain,\n CommunityMain,\n ComponentMain,\n TrackerMain,\n LoggerMain,\n GitMain,\n WorkspaceConfigFilesMain\n ],\n config: GeneratorConfig,\n [componentTemplateSlot, workspaceTemplateSlot, onComponentCreateSlot]: [\n ComponentTemplateSlot,\n WorkspaceTemplateSlot,\n OnComponentCreateSlot\n ]\n ) {\n const logger = loggerMain.createLogger(GeneratorAspect.id);\n const generator = new GeneratorMain(\n componentTemplateSlot,\n workspaceTemplateSlot,\n onComponentCreateSlot,\n config,\n workspace,\n envs,\n aspectLoader,\n newComponentHelper,\n componentAspect,\n tracker,\n logger,\n git,\n wsConfigFiles\n );\n const commands = [\n new CreateCmd(generator, community.getDocsDomain()),\n new TemplatesCmd(generator),\n new NewCmd(generator),\n ];\n cli.register(...commands);\n graphql.register(generatorSchema(generator));\n aspectLoader.registerPlugins([new StarterPlugin(generator)]);\n envs.registerService(new GeneratorService());\n\n if (generator)\n generator.registerComponentTemplate([componentGeneratorTemplate, starterTemplate, workspaceGeneratorTemplate]);\n return generator;\n }\n}\n\nGeneratorAspect.addRuntime(GeneratorMain);\n"],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
package/dist/index.js.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":["_componentTemplate","data","require","_workspaceTemplate","_generatorEnvType","_generator","_templateList","_starterList"],"sources":["index.ts"],"sourcesContent":["export type { GeneratorMain } from './generator.main.runtime';\nexport {\n ComponentContext,\n ComponentTemplate,\n ComponentFile,\n ComponentConfig,\n ConfigContext,\n} from './component-template';\nexport { WorkspaceContext, WorkspaceTemplate, WorkspaceTemplate as Starter, WorkspaceFile } from './workspace-template';\nexport { GeneratorEnv } from './generator-env-type';\nexport { GeneratorAspect } from './generator.aspect';\nexport { TemplateList } from './template-list';\nexport { StarterList } from './starter-list';\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA,SAAAA,mBAAA;EAAA,MAAAC,IAAA,GAAAC,OAAA;EAAAF,kBAAA,YAAAA,CAAA;IAAA,OAAAC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAOA,SAAAE,mBAAA;EAAA,MAAAF,IAAA,GAAAC,OAAA;EAAAC,kBAAA,YAAAA,CAAA;IAAA,OAAAF,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAG,kBAAA;EAAA,MAAAH,IAAA,GAAAC,OAAA;EAAAE,iBAAA,YAAAA,CAAA;IAAA,OAAAH,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAI,WAAA;EAAA,MAAAJ,IAAA,GAAAC,OAAA;EAAAG,UAAA,YAAAA,CAAA;IAAA,OAAAJ,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAK,cAAA;EAAA,MAAAL,IAAA,GAAAC,OAAA;EAAAI,aAAA,YAAAA,CAAA;IAAA,OAAAL,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAM,aAAA;EAAA,MAAAN,IAAA,GAAAC,OAAA;EAAAK,YAAA,YAAAA,CAAA;IAAA,OAAAN,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA"}
|
1
|
+
{"version":3,"names":["_componentTemplate","data","require","_workspaceTemplate","_generatorEnvType","_generator","_templateList","_starterList"],"sources":["index.ts"],"sourcesContent":["export type { GeneratorMain } from './generator.main.runtime';\nexport {\n ComponentContext,\n ComponentTemplate,\n ComponentFile,\n ComponentConfig,\n ConfigContext,\n} from './component-template';\nexport { WorkspaceContext, WorkspaceTemplate, WorkspaceTemplate as Starter, WorkspaceFile } from './workspace-template';\nexport { GeneratorEnv } from './generator-env-type';\nexport { GeneratorAspect } from './generator.aspect';\nexport { TemplateList } from './template-list';\nexport { StarterList } from './starter-list';\nexport type { GenerateResult } from './component-generator';\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA,SAAAA,mBAAA;EAAA,MAAAC,IAAA,GAAAC,OAAA;EAAAF,kBAAA,YAAAA,CAAA;IAAA,OAAAC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAOA,SAAAE,mBAAA;EAAA,MAAAF,IAAA,GAAAC,OAAA;EAAAC,kBAAA,YAAAA,CAAA;IAAA,OAAAF,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAG,kBAAA;EAAA,MAAAH,IAAA,GAAAC,OAAA;EAAAE,iBAAA,YAAAA,CAAA;IAAA,OAAAH,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAI,WAAA;EAAA,MAAAJ,IAAA,GAAAC,OAAA;EAAAG,UAAA,YAAAA,CAAA;IAAA,OAAAJ,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAK,cAAA;EAAA,MAAAL,IAAA,GAAAC,OAAA;EAAAI,aAAA,YAAAA,CAAA;IAAA,OAAAL,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAM,aAAA;EAAA,MAAAN,IAAA,GAAAC,OAAA;EAAAK,YAAA,YAAAA,CAAA;IAAA,OAAAN,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA"}
|
@@ -1,5 +1,5 @@
|
|
1
|
-
import * as compositions_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad3d35bfc38b9cd90c0e05b598a5a55af/teambit.generator_generator@0.0.
|
2
|
-
import * as overview_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad3d35bfc38b9cd90c0e05b598a5a55af/teambit.generator_generator@0.0.
|
1
|
+
import * as compositions_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad3d35bfc38b9cd90c0e05b598a5a55af/teambit.generator_generator@0.0.1138/dist/generator.composition.js';
|
2
|
+
import * as overview_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad3d35bfc38b9cd90c0e05b598a5a55af/teambit.generator_generator@0.0.1138/dist/generator.docs.mdx';
|
3
3
|
|
4
4
|
export const compositions = [compositions_0];
|
5
5
|
export const overview = [overview_0];
|
package/package.json
CHANGED
@@ -1,12 +1,12 @@
|
|
1
1
|
{
|
2
2
|
"name": "@teambit/generator",
|
3
|
-
"version": "0.0.
|
3
|
+
"version": "0.0.1138",
|
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": "0.0.
|
9
|
+
"version": "0.0.1138"
|
10
10
|
},
|
11
11
|
"dependencies": {
|
12
12
|
"camelcase": "6.2.0",
|
@@ -22,25 +22,25 @@
|
|
22
22
|
"@teambit/component-id": "0.0.427",
|
23
23
|
"@teambit/harmony": "0.4.6",
|
24
24
|
"@teambit/bit-error": "0.0.402",
|
25
|
-
"@teambit/envs": "0.0.
|
26
|
-
"@teambit/logger": "0.0.
|
27
|
-
"@teambit/new-component-helper": "0.0.
|
28
|
-
"@teambit/tracker": "0.0.
|
29
|
-
"@teambit/workspace
|
30
|
-
"@teambit/workspace": "0.0.
|
31
|
-
"@teambit/
|
32
|
-
"@teambit/
|
33
|
-
"@teambit/
|
34
|
-
"@teambit/
|
35
|
-
"@teambit/
|
36
|
-
"@teambit/
|
37
|
-
"@teambit/
|
38
|
-
"@teambit/
|
39
|
-
"@teambit/
|
40
|
-
"@teambit/
|
41
|
-
"@teambit/
|
42
|
-
"@teambit/
|
43
|
-
"@teambit/
|
25
|
+
"@teambit/envs": "0.0.1138",
|
26
|
+
"@teambit/logger": "0.0.855",
|
27
|
+
"@teambit/new-component-helper": "0.0.542",
|
28
|
+
"@teambit/tracker": "0.0.169",
|
29
|
+
"@teambit/workspace-config-files": "0.0.118",
|
30
|
+
"@teambit/workspace.modules.node-modules-linker": "0.0.104",
|
31
|
+
"@teambit/workspace": "0.0.1138",
|
32
|
+
"@teambit/cli": "0.0.762",
|
33
|
+
"@teambit/graphql": "0.0.1138",
|
34
|
+
"@teambit/aspect-loader": "0.0.1138",
|
35
|
+
"@teambit/bit": "0.2.31",
|
36
|
+
"@teambit/community": "0.0.310",
|
37
|
+
"@teambit/component": "0.0.1138",
|
38
|
+
"@teambit/git": "0.0.43",
|
39
|
+
"@teambit/compiler": "0.0.1138",
|
40
|
+
"@teambit/forking": "0.0.542",
|
41
|
+
"@teambit/importer": "0.0.567",
|
42
|
+
"@teambit/install": "0.0.222",
|
43
|
+
"@teambit/ui": "0.0.1138"
|
44
44
|
},
|
45
45
|
"devDependencies": {
|
46
46
|
"@types/fs-extra": "9.0.7",
|
@@ -54,7 +54,7 @@
|
|
54
54
|
"@teambit/generator.aspect-docs.generator": "0.0.160"
|
55
55
|
},
|
56
56
|
"peerDependencies": {
|
57
|
-
"@teambit/legacy": "1.0.
|
57
|
+
"@teambit/legacy": "1.0.546",
|
58
58
|
"react": "^16.8.0 || ^17.0.0",
|
59
59
|
"react-dom": "^16.8.0 || ^17.0.0"
|
60
60
|
},
|
package/.bit-capsule-ready
DELETED
File without changes
|
Binary file
|