@diagramers/cli 1.0.18 → 1.0.20

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.
@@ -10,6 +10,10 @@ export declare class ProjectExtender {
10
10
  addFeature(featureName: string): Promise<void>;
11
11
  private createFeatureStructure;
12
12
  private addDependencies;
13
+ private updateMainConfiguration;
14
+ private updateServerFile;
15
+ private updateRoutesIndex;
16
+ private updatePackageJson;
13
17
  private capitalizeFirst;
14
18
  }
15
19
  //# sourceMappingURL=project-extender.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"project-extender.d.ts","sourceRoot":"","sources":["../../src/services/project-extender.ts"],"names":[],"mappings":"AAIA,MAAM,WAAW,OAAO;IACtB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;CACzB;AAED,qBAAa,eAAe;IAC1B,OAAO,CAAC,QAAQ,CA8Bd;IAEI,YAAY,IAAI,OAAO,CAAC,IAAI,CAAC;IAc7B,UAAU,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;YA0BtC,sBAAsB;YAmGtB,eAAe;IAS7B,OAAO,CAAC,eAAe;CAGxB"}
1
+ {"version":3,"file":"project-extender.d.ts","sourceRoot":"","sources":["../../src/services/project-extender.ts"],"names":[],"mappings":"AAIA,MAAM,WAAW,OAAO;IACtB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;CACzB;AAED,qBAAa,eAAe;IAC1B,OAAO,CAAC,QAAQ,CA8Bd;IAEI,YAAY,IAAI,OAAO,CAAC,IAAI,CAAC;IAc7B,UAAU,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;YA8BtC,sBAAsB;YAmGtB,eAAe;YASf,uBAAuB;YAevB,gBAAgB;YAkDhB,iBAAiB;YAqCjB,iBAAiB;IA4B/B,OAAO,CAAC,eAAe;CAGxB"}
@@ -103,7 +103,10 @@ class ProjectExtender {
103
103
  if (feature.dependencies && feature.dependencies.length > 0) {
104
104
  await this.addDependencies(feature.dependencies);
105
105
  }
106
+ // Update main configuration to use the extended feature
107
+ await this.updateMainConfiguration(projectPath, feature);
106
108
  console.log(chalk_1.default.green(`✅ Feature '${featureName}' added successfully!`));
109
+ console.log(chalk_1.default.blue(`📝 Main configuration updated to include ${featureName} feature`));
107
110
  }
108
111
  async createFeatureStructure(projectPath, feature) {
109
112
  const featurePath = path.join(projectPath, 'src', 'features', feature.name);
@@ -199,6 +202,111 @@ export interface ${this.capitalizeFirst(feature.name)}Data {
199
202
  console.log(chalk_1.default.yellow(`Would install: ${dependencies.join(', ')}`));
200
203
  console.log(chalk_1.default.gray('Run: npm install ' + dependencies.join(' ') + ' to install dependencies'));
201
204
  }
205
+ async updateMainConfiguration(projectPath, feature) {
206
+ console.log(chalk_1.default.blue(`📝 Updating main configuration for ${feature.name} feature...`));
207
+ // Update main server file to include the feature
208
+ await this.updateServerFile(projectPath, feature);
209
+ // Update routes index to include feature routes
210
+ await this.updateRoutesIndex(projectPath, feature);
211
+ // Update package.json scripts if needed
212
+ await this.updatePackageJson(projectPath, feature);
213
+ console.log(chalk_1.default.green(`✅ Main configuration updated for ${feature.name} feature`));
214
+ }
215
+ async updateServerFile(projectPath, feature) {
216
+ const serverFiles = [
217
+ 'src/server/index.ts',
218
+ 'main.ts',
219
+ 'src/index.ts',
220
+ 'lib/main.js'
221
+ ];
222
+ for (const serverFile of serverFiles) {
223
+ const filePath = path.join(projectPath, serverFile);
224
+ if (await fs.pathExists(filePath)) {
225
+ let content = await fs.readFile(filePath, 'utf8');
226
+ // Add import for the feature
227
+ const importStatement = `import { ${this.capitalizeFirst(feature.name)}Feature } from './features/${feature.name}/${feature.name}';`;
228
+ if (!content.includes(importStatement)) {
229
+ // Find the last import statement and add after it
230
+ const importRegex = /import.*from.*['"];?\s*$/gm;
231
+ const matches = [...content.matchAll(importRegex)];
232
+ if (matches.length > 0) {
233
+ const lastImport = matches[matches.length - 1];
234
+ const insertIndex = lastImport.index + lastImport[0].length;
235
+ content = content.slice(0, insertIndex) + '\n' + importStatement + content.slice(insertIndex);
236
+ }
237
+ }
238
+ // Add feature initialization
239
+ const featureInit = `// Initialize ${feature.name} feature
240
+ const ${feature.name}Feature = new ${this.capitalizeFirst(feature.name)}Feature();
241
+ app.use('/api/${feature.name}', ${feature.name}Feature.getRouter());`;
242
+ if (!content.includes(featureInit)) {
243
+ // Find where routes are registered and add after
244
+ const routeRegex = /app\.use\(.*\);?\s*$/gm;
245
+ const matches = [...content.matchAll(routeRegex)];
246
+ if (matches.length > 0) {
247
+ const lastRoute = matches[matches.length - 1];
248
+ const insertIndex = lastRoute.index + lastRoute[0].length;
249
+ content = content.slice(0, insertIndex) + '\n' + featureInit + content.slice(insertIndex);
250
+ }
251
+ }
252
+ await fs.writeFile(filePath, content);
253
+ console.log(chalk_1.default.green(` ✅ Updated ${serverFile}`));
254
+ break; // Only update the first found server file
255
+ }
256
+ }
257
+ }
258
+ async updateRoutesIndex(projectPath, feature) {
259
+ const routesIndexPath = path.join(projectPath, 'src/routes/index.ts');
260
+ if (await fs.pathExists(routesIndexPath)) {
261
+ let content = await fs.readFile(routesIndexPath, 'utf8');
262
+ // Add import for feature routes
263
+ const importStatement = `import ${feature.name}Routes from '../features/${feature.name}/routes';`;
264
+ if (!content.includes(importStatement)) {
265
+ const importRegex = /import.*from.*['"];?\s*$/gm;
266
+ const matches = [...content.matchAll(importRegex)];
267
+ if (matches.length > 0) {
268
+ const lastImport = matches[matches.length - 1];
269
+ const insertIndex = lastImport.index + lastImport[0].length;
270
+ content = content.slice(0, insertIndex) + '\n' + importStatement + content.slice(insertIndex);
271
+ }
272
+ }
273
+ // Add route registration
274
+ const routeRegistration = `app.use('/api/${feature.name}', ${feature.name}Routes);`;
275
+ if (!content.includes(routeRegistration)) {
276
+ const routeRegex = /app\.use\(.*\);?\s*$/gm;
277
+ const matches = [...content.matchAll(routeRegex)];
278
+ if (matches.length > 0) {
279
+ const lastRoute = matches[matches.length - 1];
280
+ const insertIndex = lastRoute.index + lastRoute[0].length;
281
+ content = content.slice(0, insertIndex) + '\n' + routeRegistration + content.slice(insertIndex);
282
+ }
283
+ }
284
+ await fs.writeFile(routesIndexPath, content);
285
+ console.log(chalk_1.default.green(` ✅ Updated routes/index.ts`));
286
+ }
287
+ }
288
+ async updatePackageJson(projectPath, feature) {
289
+ const packageJsonPath = path.join(projectPath, 'package.json');
290
+ if (await fs.pathExists(packageJsonPath)) {
291
+ const packageJson = JSON.parse(await fs.readFile(packageJsonPath, 'utf8'));
292
+ // Add feature-specific scripts if needed
293
+ if (!packageJson.scripts) {
294
+ packageJson.scripts = {};
295
+ }
296
+ // Add feature-specific scripts
297
+ const featureScripts = {
298
+ [`test:${feature.name}`]: `npm test -- --grep "${feature.name}"`,
299
+ [`build:${feature.name}`]: `npm run build && echo "Built with ${feature.name} feature"`
300
+ };
301
+ for (const [scriptName, scriptCommand] of Object.entries(featureScripts)) {
302
+ if (!packageJson.scripts[scriptName]) {
303
+ packageJson.scripts[scriptName] = scriptCommand;
304
+ }
305
+ }
306
+ await fs.writeFile(packageJsonPath, JSON.stringify(packageJson, null, 2));
307
+ console.log(chalk_1.default.green(` ✅ Updated package.json with ${feature.name} scripts`));
308
+ }
309
+ }
202
310
  capitalizeFirst(str) {
203
311
  return str.charAt(0).toUpperCase() + str.slice(1);
204
312
  }
@@ -1 +1 @@
1
- {"version":3,"file":"project-extender.js","sourceRoot":"","sources":["../../src/services/project-extender.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"project-extender.js","sourceRoot":"","sources":["../../src/services/project-extender.ts"],"names":[],"mappings":"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"}
@@ -132,10 +132,10 @@ function generateEntityFields(tableCapitalized, relatedTableCapitalized, relatio
132
132
  switch (relationType) {
133
133
  case 'one-to-one':
134
134
  if (direction === 'forward') {
135
- return `${relatedTableCapitalized.toLowerCase()}Id: ObjectId,\n ${relatedTableCapitalized.toLowerCase()}?: I${relatedTableCapitalized}`;
135
+ return `_${relatedTableCapitalized.toLowerCase()}Id: ObjectId,\n ${relatedTableCapitalized.toLowerCase()}?: I${relatedTableCapitalized}`;
136
136
  }
137
137
  else {
138
- return `${tableCapitalized.toLowerCase()}Id: ObjectId,\n ${tableCapitalized.toLowerCase()}?: I${tableCapitalized}`;
138
+ return `_${tableCapitalized.toLowerCase()}Id: ObjectId,\n ${tableCapitalized.toLowerCase()}?: I${tableCapitalized}`;
139
139
  }
140
140
  case 'one-to-many':
141
141
  if (direction === 'forward') {
@@ -1 +1 @@
1
- {"version":3,"file":"relation-generator.js","sourceRoot":"","sources":["../../src/services/relation-generator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"relation-generator.js","sourceRoot":"","sources":["../../src/services/relation-generator.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAKA,4CAyCC;AA9CD,uCAAyB;AACzB,2CAA6B;AAItB,KAAK,UAAU,gBAAgB,CAAC,MAAc,EAAE,MAAc,EAAE,eAA6B,YAAY;IAC9G,uBAAuB;IACvB,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,IAAI,CAAC,0BAA0B,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,0BAA0B,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;QAC/G,MAAM,IAAI,KAAK,CAAC,qGAAqG,CAAC,CAAC;IACzH,CAAC;IAED,MAAM,iBAAiB,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAC3E,MAAM,iBAAiB,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAC3E,MAAM,UAAU,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;IAEjC,2CAA2C;IAC3C,MAAM,YAAY,GAAG,CAAC,cAAc,EAAE,aAAa,CAAC,CAAC;IACrD,MAAM,WAAW,GAAG,YAAY,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC;IAC3F,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC3B,MAAM,IAAI,KAAK,CAAC,kFAAkF,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAC9H,CAAC;IAED,6BAA6B;IAC7B,MAAM,gBAAgB,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,cAAc,EAAE,GAAG,MAAM,KAAK,CAAC,CAAC;IAC/E,MAAM,gBAAgB,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,cAAc,EAAE,GAAG,MAAM,KAAK,CAAC,CAAC;IAC/E,MAAM,gBAAgB,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,aAAa,EAAE,GAAG,MAAM,KAAK,CAAC,CAAC;IAC9E,MAAM,gBAAgB,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,aAAa,EAAE,GAAG,MAAM,KAAK,CAAC,CAAC;IAE9E,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,gBAAgB,CAAC,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,gBAAgB,CAAC,EAAE,CAAC;QACzE,MAAM,IAAI,KAAK,CAAC,kEAAkE,CAAC,EAAE,CAAC,UAAU,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IACxL,CAAC;IAED,OAAO,CAAC,GAAG,CAAC,eAAe,YAAY,yBAAyB,MAAM,QAAQ,MAAM,KAAK,CAAC,CAAC;IAE3F,kBAAkB;IAClB,OAAO,CAAC,GAAG,CAAC,yBAAyB,CAAC,CAAC;IACvC,YAAY,CAAC,gBAAgB,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,YAAY,EAAE,SAAS,CAAC,CAAC;IAC9F,YAAY,CAAC,gBAAgB,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,YAAY,EAAE,SAAS,CAAC,CAAC;IAE9F,iBAAiB;IACjB,OAAO,CAAC,GAAG,CAAC,wBAAwB,CAAC,CAAC;IACtC,YAAY,CAAC,gBAAgB,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,YAAY,EAAE,SAAS,CAAC,CAAC;IAC9F,YAAY,CAAC,gBAAgB,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,YAAY,EAAE,SAAS,CAAC,CAAC;IAE9F,OAAO,CAAC,GAAG,CAAC,sCAAsC,CAAC,CAAC;IACpD,OAAO,CAAC,GAAG,CAAC,MAAM,MAAM,MAAM,MAAM,KAAK,YAAY,GAAG,CAAC,CAAC;AAC5D,CAAC;AAED,SAAS,YAAY,CAAC,UAAkB,EAAE,gBAAwB,EAAE,uBAA+B,EAAE,YAA0B,EAAE,SAAgC;IAC/J,IAAI,aAAa,GAAG,EAAE,CAAC,YAAY,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;IAExD,uCAAuC;IACvC,MAAM,eAAe,GAAG,aAAa,uBAAuB,cAAc,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,uBAAuB,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,uBAAuB,CAAC,WAAW,EAAE,IAAI,CAAC;IACtL,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,eAAe,CAAC,EAAE,CAAC;QAC7C,kDAAkD;QAClD,MAAM,WAAW,GAAG,4BAA4B,CAAC;QACjD,MAAM,OAAO,GAAG,CAAC,GAAG,aAAa,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,CAAC;QACzD,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACvB,MAAM,UAAU,GAAG,OAAO,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;YAC/C,MAAM,WAAW,GAAG,UAAU,CAAC,KAAM,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;YAC7D,aAAa,GAAG,aAAa,CAAC,KAAK,CAAC,CAAC,EAAE,WAAW,CAAC,GAAG,IAAI,GAAG,eAAe,GAAG,aAAa,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;QAClH,CAAC;IACH,CAAC;IAED,wCAAwC;IACxC,MAAM,cAAc,GAAG,+DAA+D,CAAC;IACvF,MAAM,KAAK,GAAG,aAAa,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;IAElD,IAAI,KAAK,EAAE,CAAC;QACV,MAAM,gBAAgB,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;QAClC,MAAM,SAAS,GAAG,oBAAoB,CAAC,gBAAgB,EAAE,uBAAuB,EAAE,YAAY,EAAE,SAAS,CAAC,CAAC;QAE3G,0CAA0C;QAC1C,MAAM,uBAAuB,GAAG,gBAAgB,CAAC,IAAI,EAAE,GAAG,QAAQ,GAAG,SAAS,CAAC;QAC/E,aAAa,GAAG,aAAa,CAAC,OAAO,CAAC,cAAc,EAAE,qBAAqB,gBAAgB,iCAAiC,uBAAuB,KAAK,CAAC,CAAC;IAC5J,CAAC;IAED,EAAE,CAAC,aAAa,CAAC,UAAU,EAAE,aAAa,CAAC,CAAC;AAC9C,CAAC;AAED,SAAS,YAAY,CAAC,UAAkB,EAAE,gBAAwB,EAAE,uBAA+B,EAAE,YAA0B,EAAE,SAAgC;IAC/J,IAAI,aAAa,GAAG,EAAE,CAAC,YAAY,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;IAExD,oCAAoC;IACpC,MAAM,eAAe,GAAG,YAAY,uBAAuB,oBAAoB,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,uBAAuB,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,uBAAuB,CAAC,WAAW,EAAE,IAAI,CAAC;IAC3L,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,eAAe,CAAC,EAAE,CAAC;QAC7C,kDAAkD;QAClD,MAAM,WAAW,GAAG,4BAA4B,CAAC;QACjD,MAAM,OAAO,GAAG,CAAC,GAAG,aAAa,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,CAAC;QACzD,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACvB,MAAM,UAAU,GAAG,OAAO,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;YAC/C,MAAM,WAAW,GAAG,UAAU,CAAC,KAAM,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;YAC7D,aAAa,GAAG,aAAa,CAAC,KAAK,CAAC,CAAC,EAAE,WAAW,CAAC,GAAG,IAAI,GAAG,eAAe,GAAG,aAAa,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;QAClH,CAAC;IACH,CAAC;IAED,+CAA+C;IAC/C,MAAM,WAAW,GAAG,0DAA0D,CAAC;IAC/E,MAAM,KAAK,GAAG,aAAa,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;IAE/C,IAAI,KAAK,EAAE,CAAC;QACV,MAAM,YAAY,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;QAC9B,MAAM,SAAS,GAAG,oBAAoB,CAAC,gBAAgB,EAAE,uBAAuB,EAAE,YAAY,EAAE,SAAS,CAAC,CAAC;QAE3G,0CAA0C;QAC1C,MAAM,mBAAmB,GAAG,YAAY,CAAC,IAAI,EAAE,GAAG,YAAY,GAAG,SAAS,CAAC;QAC3E,aAAa,GAAG,aAAa,CAAC,OAAO,CAAC,WAAW,EAAE,gBAAgB,gBAAgB,CAAC,WAAW,EAAE,gCAAgC,mBAAmB,GAAG,CAAC,CAAC;IAC3J,CAAC;IAED,4CAA4C;IAC5C,MAAM,UAAU,GAAG,0DAA0D,CAAC;IAC9E,MAAM,aAAa,GAAG,qBAAqB,CAAC,gBAAgB,EAAE,uBAAuB,EAAE,YAAY,EAAE,SAAS,CAAC,CAAC;IAEhH,IAAI,aAAa,EAAE,CAAC;QAClB,aAAa,GAAG,aAAa,CAAC,OAAO,CAAC,UAAU,EAAE,GAAG,aAAa,QAAQ,CAAC,CAAC;IAC9E,CAAC;IAED,EAAE,CAAC,aAAa,CAAC,UAAU,EAAE,aAAa,CAAC,CAAC;AAC9C,CAAC;AAED,SAAS,oBAAoB,CAAC,gBAAwB,EAAE,uBAA+B,EAAE,YAA0B,EAAE,SAAgC;IACnJ,QAAQ,YAAY,EAAE,CAAC;QACrB,KAAK,YAAY;YACf,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;gBAC5B,OAAO,IAAI,uBAAuB,CAAC,WAAW,EAAE,sBAAsB,uBAAuB,CAAC,WAAW,EAAE,OAAO,uBAAuB,EAAE,CAAC;YAC9I,CAAC;iBAAM,CAAC;gBACN,OAAO,IAAI,gBAAgB,CAAC,WAAW,EAAE,sBAAsB,gBAAgB,CAAC,WAAW,EAAE,OAAO,gBAAgB,EAAE,CAAC;YACzH,CAAC;QAEH,KAAK,aAAa;YAChB,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;gBAC5B,OAAO,GAAG,uBAAuB,CAAC,WAAW,EAAE,sBAAsB,uBAAuB,CAAC,WAAW,EAAE,OAAO,uBAAuB,EAAE,CAAC;YAC7I,CAAC;iBAAM,CAAC;gBACN,OAAO,GAAG,gBAAgB,CAAC,WAAW,EAAE,QAAQ,gBAAgB,IAAI,CAAC;YACvE,CAAC;QAEH,KAAK,cAAc;YACjB,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;gBAC5B,OAAO,GAAG,uBAAuB,CAAC,WAAW,EAAE,yBAAyB,uBAAuB,CAAC,WAAW,EAAE,QAAQ,uBAAuB,IAAI,CAAC;YACnJ,CAAC;iBAAM,CAAC;gBACN,OAAO,GAAG,gBAAgB,CAAC,WAAW,EAAE,yBAAyB,gBAAgB,CAAC,WAAW,EAAE,QAAQ,gBAAgB,IAAI,CAAC;YAC9H,CAAC;QAEH;YACE,OAAO,EAAE,CAAC;IACd,CAAC;AACH,CAAC;AAED,SAAS,oBAAoB,CAAC,gBAAwB,EAAE,uBAA+B,EAAE,YAA0B,EAAE,SAAgC;IACnJ,QAAQ,YAAY,EAAE,CAAC;QACrB,KAAK,YAAY;YACf,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;gBAC5B,OAAO,GAAG,uBAAuB,CAAC,WAAW,EAAE,8EAA8E,uBAAuB,CAAC,WAAW,EAAE,4CAA4C,CAAC;YACjN,CAAC;iBAAM,CAAC;gBACN,OAAO,GAAG,gBAAgB,CAAC,WAAW,EAAE,8EAA8E,gBAAgB,CAAC,WAAW,EAAE,4CAA4C,CAAC;YACnM,CAAC;QAEH,KAAK,aAAa;YAChB,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;gBAC5B,OAAO,GAAG,uBAAuB,CAAC,WAAW,EAAE,8EAA8E,uBAAuB,CAAC,WAAW,EAAE,4CAA4C,CAAC;YACjN,CAAC;iBAAM,CAAC;gBACN,OAAO,EAAE,CAAC,CAAC,0CAA0C;YACvD,CAAC;QAEH,KAAK,cAAc;YACjB,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;gBAC5B,OAAO,GAAG,uBAAuB,CAAC,WAAW,EAAE,gFAAgF,uBAAuB,CAAC,WAAW,EAAE,eAAe,CAAC;YACtL,CAAC;iBAAM,CAAC;gBACN,OAAO,GAAG,gBAAgB,CAAC,WAAW,EAAE,gFAAgF,gBAAgB,CAAC,WAAW,EAAE,eAAe,CAAC;YACxK,CAAC;QAEH;YACE,OAAO,EAAE,CAAC;IACd,CAAC;AACH,CAAC;AAED,SAAS,qBAAqB,CAAC,gBAAwB,EAAE,uBAA+B,EAAE,YAA0B,EAAE,SAAgC;IACpJ,QAAQ,YAAY,EAAE,CAAC;QACrB,KAAK,YAAY;YACf,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;gBAC5B,OAAO,2BAA2B,uBAAuB,CAAC,WAAW,EAAE,KAAK,gBAAgB,CAAC,WAAW,EAAE,mBAAmB,uBAAuB,CAAC,WAAW,EAAE,mBAAmB,uBAAuB,CAAC,WAAW,EAAE,wBAAwB,uBAAuB,CAAC,WAAW,EAAE,wDAAwD,CAAC;YAClV,CAAC;iBAAM,CAAC;gBACN,OAAO,2BAA2B,gBAAgB,CAAC,WAAW,EAAE,KAAK,gBAAgB,CAAC,WAAW,EAAE,mBAAmB,gBAAgB,CAAC,WAAW,EAAE,mBAAmB,gBAAgB,CAAC,WAAW,EAAE,wBAAwB,gBAAgB,CAAC,WAAW,EAAE,wDAAwD,CAAC;YACtT,CAAC;QAEH,KAAK,aAAa;YAChB,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;gBAC5B,OAAO,2BAA2B,uBAAuB,CAAC,WAAW,EAAE,KAAK,gBAAgB,CAAC,WAAW,EAAE,mBAAmB,uBAAuB,CAAC,WAAW,EAAE,mBAAmB,uBAAuB,CAAC,WAAW,EAAE,wBAAwB,uBAAuB,CAAC,WAAW,EAAE,wDAAwD,CAAC;YAClV,CAAC;iBAAM,CAAC;gBACN,OAAO,2BAA2B,gBAAgB,CAAC,WAAW,EAAE,MAAM,gBAAgB,CAAC,WAAW,EAAE,mBAAmB,gBAAgB,CAAC,WAAW,EAAE,oBAAoB,gBAAgB,CAAC,WAAW,EAAE,kDAAkD,gBAAgB,CAAC,WAAW,EAAE,UAAU,CAAC;YACpS,CAAC;QAEH,KAAK,cAAc;YACjB,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;gBAC5B,OAAO,2BAA2B,uBAAuB,CAAC,WAAW,EAAE,MAAM,gBAAgB,CAAC,WAAW,EAAE,mBAAmB,uBAAuB,CAAC,WAAW,EAAE,oBAAoB,uBAAuB,CAAC,WAAW,EAAE,wBAAwB,uBAAuB,CAAC,WAAW,EAAE,qCAAqC,CAAC;YACjU,CAAC;iBAAM,CAAC;gBACN,OAAO,2BAA2B,gBAAgB,CAAC,WAAW,EAAE,MAAM,gBAAgB,CAAC,WAAW,EAAE,mBAAmB,gBAAgB,CAAC,WAAW,EAAE,oBAAoB,gBAAgB,CAAC,WAAW,EAAE,wBAAwB,gBAAgB,CAAC,WAAW,EAAE,qCAAqC,CAAC;YACrS,CAAC;QAEH;YACE,OAAO,EAAE,CAAC;IACd,CAAC;AACH,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@diagramers/cli",
3
- "version": "1.0.18",
3
+ "version": "1.0.20",
4
4
  "description": "Diagramers CLI - Command-line tools for managing Diagramers projects",
5
5
  "main": "dist/index.js",
6
6
  "bin": {
@@ -79,7 +79,11 @@ export class ProjectExtender {
79
79
  await this.addDependencies(feature.dependencies);
80
80
  }
81
81
 
82
+ // Update main configuration to use the extended feature
83
+ await this.updateMainConfiguration(projectPath, feature);
84
+
82
85
  console.log(chalk.green(`✅ Feature '${featureName}' added successfully!`));
86
+ console.log(chalk.blue(`📝 Main configuration updated to include ${featureName} feature`));
83
87
  }
84
88
 
85
89
  private async createFeatureStructure(projectPath: string, feature: Feature): Promise<void> {
@@ -190,6 +194,136 @@ export interface ${this.capitalizeFirst(feature.name)}Data {
190
194
  console.log(chalk.gray('Run: npm install ' + dependencies.join(' ') + ' to install dependencies'));
191
195
  }
192
196
 
197
+ private async updateMainConfiguration(projectPath: string, feature: Feature): Promise<void> {
198
+ console.log(chalk.blue(`📝 Updating main configuration for ${feature.name} feature...`));
199
+
200
+ // Update main server file to include the feature
201
+ await this.updateServerFile(projectPath, feature);
202
+
203
+ // Update routes index to include feature routes
204
+ await this.updateRoutesIndex(projectPath, feature);
205
+
206
+ // Update package.json scripts if needed
207
+ await this.updatePackageJson(projectPath, feature);
208
+
209
+ console.log(chalk.green(`✅ Main configuration updated for ${feature.name} feature`));
210
+ }
211
+
212
+ private async updateServerFile(projectPath: string, feature: Feature): Promise<void> {
213
+ const serverFiles = [
214
+ 'src/server/index.ts',
215
+ 'main.ts',
216
+ 'src/index.ts',
217
+ 'lib/main.js'
218
+ ];
219
+
220
+ for (const serverFile of serverFiles) {
221
+ const filePath = path.join(projectPath, serverFile);
222
+ if (await fs.pathExists(filePath)) {
223
+ let content = await fs.readFile(filePath, 'utf8');
224
+
225
+ // Add import for the feature
226
+ const importStatement = `import { ${this.capitalizeFirst(feature.name)}Feature } from './features/${feature.name}/${feature.name}';`;
227
+
228
+ if (!content.includes(importStatement)) {
229
+ // Find the last import statement and add after it
230
+ const importRegex = /import.*from.*['"];?\s*$/gm;
231
+ const matches = [...content.matchAll(importRegex)];
232
+ if (matches.length > 0) {
233
+ const lastImport = matches[matches.length - 1];
234
+ const insertIndex = lastImport.index! + lastImport[0].length;
235
+ content = content.slice(0, insertIndex) + '\n' + importStatement + content.slice(insertIndex);
236
+ }
237
+ }
238
+
239
+ // Add feature initialization
240
+ const featureInit = `// Initialize ${feature.name} feature
241
+ const ${feature.name}Feature = new ${this.capitalizeFirst(feature.name)}Feature();
242
+ app.use('/api/${feature.name}', ${feature.name}Feature.getRouter());`;
243
+
244
+ if (!content.includes(featureInit)) {
245
+ // Find where routes are registered and add after
246
+ const routeRegex = /app\.use\(.*\);?\s*$/gm;
247
+ const matches = [...content.matchAll(routeRegex)];
248
+ if (matches.length > 0) {
249
+ const lastRoute = matches[matches.length - 1];
250
+ const insertIndex = lastRoute.index! + lastRoute[0].length;
251
+ content = content.slice(0, insertIndex) + '\n' + featureInit + content.slice(insertIndex);
252
+ }
253
+ }
254
+
255
+ await fs.writeFile(filePath, content);
256
+ console.log(chalk.green(` ✅ Updated ${serverFile}`));
257
+ break; // Only update the first found server file
258
+ }
259
+ }
260
+ }
261
+
262
+ private async updateRoutesIndex(projectPath: string, feature: Feature): Promise<void> {
263
+ const routesIndexPath = path.join(projectPath, 'src/routes/index.ts');
264
+
265
+ if (await fs.pathExists(routesIndexPath)) {
266
+ let content = await fs.readFile(routesIndexPath, 'utf8');
267
+
268
+ // Add import for feature routes
269
+ const importStatement = `import ${feature.name}Routes from '../features/${feature.name}/routes';`;
270
+
271
+ if (!content.includes(importStatement)) {
272
+ const importRegex = /import.*from.*['"];?\s*$/gm;
273
+ const matches = [...content.matchAll(importRegex)];
274
+ if (matches.length > 0) {
275
+ const lastImport = matches[matches.length - 1];
276
+ const insertIndex = lastImport.index! + lastImport[0].length;
277
+ content = content.slice(0, insertIndex) + '\n' + importStatement + content.slice(insertIndex);
278
+ }
279
+ }
280
+
281
+ // Add route registration
282
+ const routeRegistration = `app.use('/api/${feature.name}', ${feature.name}Routes);`;
283
+
284
+ if (!content.includes(routeRegistration)) {
285
+ const routeRegex = /app\.use\(.*\);?\s*$/gm;
286
+ const matches = [...content.matchAll(routeRegex)];
287
+ if (matches.length > 0) {
288
+ const lastRoute = matches[matches.length - 1];
289
+ const insertIndex = lastRoute.index! + lastRoute[0].length;
290
+ content = content.slice(0, insertIndex) + '\n' + routeRegistration + content.slice(insertIndex);
291
+ }
292
+ }
293
+
294
+ await fs.writeFile(routesIndexPath, content);
295
+ console.log(chalk.green(` ✅ Updated routes/index.ts`));
296
+ }
297
+ }
298
+
299
+ private async updatePackageJson(projectPath: string, feature: Feature): Promise<void> {
300
+ const packageJsonPath = path.join(projectPath, 'package.json');
301
+
302
+ if (await fs.pathExists(packageJsonPath)) {
303
+ const packageJson = JSON.parse(await fs.readFile(packageJsonPath, 'utf8'));
304
+
305
+ // Add feature-specific scripts if needed
306
+ if (!packageJson.scripts) {
307
+ packageJson.scripts = {};
308
+ }
309
+
310
+ // Add feature-specific scripts
311
+ const featureScripts = {
312
+ [`test:${feature.name}`]: `npm test -- --grep "${feature.name}"`,
313
+ [`build:${feature.name}`]: `npm run build && echo "Built with ${feature.name} feature"`
314
+ };
315
+
316
+ for (const [scriptName, scriptCommand] of Object.entries(featureScripts)) {
317
+ if (!packageJson.scripts[scriptName]) {
318
+ packageJson.scripts[scriptName] = scriptCommand;
319
+ }
320
+ }
321
+
322
+ await fs.writeFile(packageJsonPath, JSON.stringify(packageJson, null, 2));
323
+ console.log(chalk.green(` ✅ Updated package.json with ${feature.name} scripts`));
324
+ }
325
+ }
326
+
193
327
  private capitalizeFirst(str: string): string {
194
328
  return str.charAt(0).toUpperCase() + str.slice(1);
195
329
  }
@@ -122,9 +122,9 @@ function generateEntityFields(tableCapitalized: string, relatedTableCapitalized:
122
122
  switch (relationType) {
123
123
  case 'one-to-one':
124
124
  if (direction === 'forward') {
125
- return `${relatedTableCapitalized.toLowerCase()}Id: ObjectId,\n ${relatedTableCapitalized.toLowerCase()}?: I${relatedTableCapitalized}`;
125
+ return `_${relatedTableCapitalized.toLowerCase()}Id: ObjectId,\n ${relatedTableCapitalized.toLowerCase()}?: I${relatedTableCapitalized}`;
126
126
  } else {
127
- return `${tableCapitalized.toLowerCase()}Id: ObjectId,\n ${tableCapitalized.toLowerCase()}?: I${tableCapitalized}`;
127
+ return `_${tableCapitalized.toLowerCase()}Id: ObjectId,\n ${tableCapitalized.toLowerCase()}?: I${tableCapitalized}`;
128
128
  }
129
129
 
130
130
  case 'one-to-many':