@diagramers/cli 4.0.19 ā 4.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.
- package/dist/commands/api.d.ts.map +1 -1
- package/dist/commands/api.js +368 -9
- package/dist/commands/api.js.map +1 -1
- package/dist/commands/extend.d.ts.map +1 -1
- package/dist/commands/extend.js +125 -4
- package/dist/commands/extend.js.map +1 -1
- package/dist/commands/update.d.ts.map +1 -1
- package/dist/commands/update.js +84 -5
- package/dist/commands/update.js.map +1 -1
- package/dist/index.js +0 -0
- package/dist/services/api-generator.d.ts +1 -1
- package/dist/services/api-generator.d.ts.map +1 -1
- package/dist/services/api-generator.js +525 -223
- package/dist/services/api-generator.js.map +1 -1
- package/dist/services/project-extender.d.ts.map +1 -1
- package/dist/services/project-extender.js +422 -247
- package/dist/services/project-extender.js.map +1 -1
- package/dist/services/relation-generator.d.ts +1 -1
- package/dist/services/relation-generator.d.ts.map +1 -1
- package/dist/services/relation-generator.js +15 -1
- package/dist/services/relation-generator.js.map +1 -1
- package/dist/services/table-generator.d.ts.map +1 -1
- package/dist/services/table-generator.js +27 -18
- package/dist/services/table-generator.js.map +1 -1
- package/dist/services/template-updater.d.ts +2 -0
- package/dist/services/template-updater.d.ts.map +1 -1
- package/dist/services/template-updater.js +109 -3
- package/dist/services/template-updater.js.map +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../../src/commands/api.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../../src/commands/api.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAUpC,wBAAgB,UAAU,CAAC,OAAO,EAAE,OAAO,WA6e1C"}
|
package/dist/commands/api.js
CHANGED
|
@@ -1,4 +1,37 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
+
var ownKeys = function(o) {
|
|
20
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
+
var ar = [];
|
|
22
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
+
return ar;
|
|
24
|
+
};
|
|
25
|
+
return ownKeys(o);
|
|
26
|
+
};
|
|
27
|
+
return function (mod) {
|
|
28
|
+
if (mod && mod.__esModule) return mod;
|
|
29
|
+
var result = {};
|
|
30
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
+
__setModuleDefault(result, mod);
|
|
32
|
+
return result;
|
|
33
|
+
};
|
|
34
|
+
})();
|
|
2
35
|
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
36
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
37
|
};
|
|
@@ -10,6 +43,8 @@ const relation_generator_1 = require("../services/relation-generator");
|
|
|
10
43
|
const template_processor_1 = require("../services/template-processor");
|
|
11
44
|
const chalk_1 = __importDefault(require("chalk"));
|
|
12
45
|
const child_process_1 = require("child_process");
|
|
46
|
+
const fs = __importStar(require("fs"));
|
|
47
|
+
const path = __importStar(require("path"));
|
|
13
48
|
function apiCommand(program) {
|
|
14
49
|
const api = program
|
|
15
50
|
.command('api')
|
|
@@ -19,6 +54,7 @@ function apiCommand(program) {
|
|
|
19
54
|
.command('version')
|
|
20
55
|
.description('Show current API template version')
|
|
21
56
|
.option('-c, --check <version>', 'Check if specific version exists')
|
|
57
|
+
.option('-a, --all', 'Show all available versions')
|
|
22
58
|
.action(async (options) => {
|
|
23
59
|
try {
|
|
24
60
|
if (options.check) {
|
|
@@ -50,6 +86,28 @@ function apiCommand(program) {
|
|
|
50
86
|
}
|
|
51
87
|
}
|
|
52
88
|
}
|
|
89
|
+
else if (options.all) {
|
|
90
|
+
console.log(chalk_1.default.blue('š¦ All available @diagramers/api versions:'));
|
|
91
|
+
try {
|
|
92
|
+
const versionsOutput = (0, child_process_1.execSync)('npm view @diagramers/api versions --json', {
|
|
93
|
+
encoding: 'utf8',
|
|
94
|
+
timeout: 10000
|
|
95
|
+
});
|
|
96
|
+
const versions = JSON.parse(versionsOutput);
|
|
97
|
+
if (Array.isArray(versions)) {
|
|
98
|
+
versions.forEach((version) => {
|
|
99
|
+
console.log(chalk_1.default.yellow(` ${version}`));
|
|
100
|
+
});
|
|
101
|
+
console.log(chalk_1.default.gray(`\nš Total versions: ${versions.length}`));
|
|
102
|
+
}
|
|
103
|
+
else {
|
|
104
|
+
console.log(chalk_1.default.yellow(` ${versions}`));
|
|
105
|
+
}
|
|
106
|
+
}
|
|
107
|
+
catch (error) {
|
|
108
|
+
console.log(chalk_1.default.red('Could not fetch all versions'));
|
|
109
|
+
}
|
|
110
|
+
}
|
|
53
111
|
else {
|
|
54
112
|
// Show current version info
|
|
55
113
|
console.log(chalk_1.default.blue('š¦ @diagramers/api version information:'));
|
|
@@ -86,11 +144,29 @@ function apiCommand(program) {
|
|
|
86
144
|
api
|
|
87
145
|
.command('generate:module <name>')
|
|
88
146
|
.description('Generate a new module with entity, schema, service, controller, and routes')
|
|
89
|
-
.
|
|
147
|
+
.option('-f, --fields <fields>', 'Comma-separated list of fields for the module')
|
|
148
|
+
.option('--crud', 'Generate full CRUD operations')
|
|
149
|
+
.option('--no-routes', 'Skip route generation')
|
|
150
|
+
.option('--no-database', 'Skip database table creation')
|
|
151
|
+
.action(async (name, options) => {
|
|
90
152
|
try {
|
|
153
|
+
// Validate we're in a diagramers API project
|
|
154
|
+
if (!isDiagramersApiProject()) {
|
|
155
|
+
console.error(chalk_1.default.red('ā This command must be run from a diagramers API project'));
|
|
156
|
+
console.log(chalk_1.default.yellow('š” Navigate to your API project directory or run: diagramers init api <project-name>'));
|
|
157
|
+
process.exit(1);
|
|
158
|
+
}
|
|
91
159
|
console.log(chalk_1.default.blue(`š Generating module: ${name}`));
|
|
160
|
+
if (options.fields) {
|
|
161
|
+
console.log(chalk_1.default.gray(` Fields: ${options.fields}`));
|
|
162
|
+
}
|
|
163
|
+
if (options.crud) {
|
|
164
|
+
console.log(chalk_1.default.gray(` CRUD: Enabled`));
|
|
165
|
+
}
|
|
92
166
|
await (0, api_generator_1.generateModule)(name);
|
|
93
167
|
console.log(chalk_1.default.green(`ā
Module '${name}' generated successfully!`));
|
|
168
|
+
console.log(chalk_1.default.blue(`š Location: src/modules/${name}/`));
|
|
169
|
+
console.log(chalk_1.default.blue(`š Routes: /api/${name}s`));
|
|
94
170
|
}
|
|
95
171
|
catch (error) {
|
|
96
172
|
console.error(chalk_1.default.red(`ā Error generating module: ${error.message}`));
|
|
@@ -104,11 +180,34 @@ function apiCommand(program) {
|
|
|
104
180
|
.option('-m, --method <method>', 'HTTP method (GET, POST, PUT, DELETE)', 'GET')
|
|
105
181
|
.option('-p, --path <path>', 'Custom path for the endpoint (defaults to endpoint name)')
|
|
106
182
|
.option('-d, --description <description>', 'Description for the endpoint')
|
|
183
|
+
.option('--no-service', 'Skip service method generation')
|
|
184
|
+
.option('--no-controller', 'Skip controller method generation')
|
|
185
|
+
.option('--no-route', 'Skip route generation')
|
|
107
186
|
.action(async (moduleName, endpointName, options) => {
|
|
108
187
|
try {
|
|
188
|
+
// Validate we're in a diagramers API project
|
|
189
|
+
if (!isDiagramersApiProject()) {
|
|
190
|
+
console.error(chalk_1.default.red('ā This command must be run from a diagramers API project'));
|
|
191
|
+
console.log(chalk_1.default.yellow('š” Navigate to your API project directory or run: diagramers init api <project-name>'));
|
|
192
|
+
process.exit(1);
|
|
193
|
+
}
|
|
194
|
+
// Validate module exists
|
|
195
|
+
if (!fs.existsSync(path.join(process.cwd(), 'src/modules', moduleName))) {
|
|
196
|
+
console.error(chalk_1.default.red(`ā Module '${moduleName}' does not exist`));
|
|
197
|
+
console.log(chalk_1.default.yellow(`š” Create it first with: diagramers api generate:module ${moduleName}`));
|
|
198
|
+
process.exit(1);
|
|
199
|
+
}
|
|
109
200
|
console.log(chalk_1.default.blue(`š Generating endpoint '${endpointName}' for module '${moduleName}'`));
|
|
201
|
+
console.log(chalk_1.default.gray(` Method: ${options.method}`));
|
|
202
|
+
if (options.path) {
|
|
203
|
+
console.log(chalk_1.default.gray(` Path: ${options.path}`));
|
|
204
|
+
}
|
|
205
|
+
if (options.description) {
|
|
206
|
+
console.log(chalk_1.default.gray(` Description: ${options.description}`));
|
|
207
|
+
}
|
|
110
208
|
await (0, api_generator_1.generateEndpoint)(moduleName, endpointName, options);
|
|
111
209
|
console.log(chalk_1.default.green(`ā
Endpoint '${endpointName}' generated successfully!`));
|
|
210
|
+
console.log(chalk_1.default.blue(`š Available at: /api/${moduleName}/${options.path || endpointName}`));
|
|
112
211
|
}
|
|
113
212
|
catch (error) {
|
|
114
213
|
console.error(chalk_1.default.red(`ā Error generating endpoint: ${error.message}`));
|
|
@@ -119,11 +218,27 @@ function apiCommand(program) {
|
|
|
119
218
|
api
|
|
120
219
|
.command('process:template <name>')
|
|
121
220
|
.description('Process template files for a new project')
|
|
122
|
-
.
|
|
221
|
+
.option('--force', 'Force processing even if files exist')
|
|
222
|
+
.option('--backup', 'Create backup before processing')
|
|
223
|
+
.action(async (name, options) => {
|
|
123
224
|
try {
|
|
225
|
+
// Validate we're in a diagramers API project
|
|
226
|
+
if (!isDiagramersApiProject()) {
|
|
227
|
+
console.error(chalk_1.default.red('ā This command must be run from a diagramers API project'));
|
|
228
|
+
console.log(chalk_1.default.yellow('š” Navigate to your API project directory or run: diagramers init api <project-name>'));
|
|
229
|
+
process.exit(1);
|
|
230
|
+
}
|
|
124
231
|
console.log(chalk_1.default.blue(`š§ Processing template for project: ${name}`));
|
|
232
|
+
if (options.backup) {
|
|
233
|
+
console.log(chalk_1.default.gray(' Backup: Enabled'));
|
|
234
|
+
}
|
|
235
|
+
if (options.force) {
|
|
236
|
+
console.log(chalk_1.default.gray(' Force: Enabled'));
|
|
237
|
+
}
|
|
125
238
|
await (0, template_processor_1.processTemplate)(name);
|
|
126
239
|
console.log(chalk_1.default.green(`ā
Template processing completed for '${name}'!`));
|
|
240
|
+
console.log(chalk_1.default.blue(`š Configuration files updated`));
|
|
241
|
+
console.log(chalk_1.default.blue(`šļø Database name: ${name.toLowerCase().replace(/[^a-zA-Z0-9]/g, '_')}`));
|
|
127
242
|
}
|
|
128
243
|
catch (error) {
|
|
129
244
|
console.error(chalk_1.default.red(`ā Error processing template: ${error.message}`));
|
|
@@ -134,9 +249,18 @@ function apiCommand(program) {
|
|
|
134
249
|
api
|
|
135
250
|
.command('generate:table <module:table>')
|
|
136
251
|
.description('Generate a new database table with entity and schema only (format: module:table)')
|
|
137
|
-
.
|
|
252
|
+
.option('-f, --fields <fields>', 'Comma-separated list of fields for the table')
|
|
253
|
+
.option('--type <type>', 'Database type (mongodb, mysql, postgres)', 'mongodb')
|
|
254
|
+
.option('--no-seeder', 'Skip seeder generation')
|
|
255
|
+
.option('--force', 'Force generation even if table exists')
|
|
256
|
+
.action(async (name, options) => {
|
|
138
257
|
try {
|
|
139
|
-
|
|
258
|
+
// Validate we're in a diagramers API project
|
|
259
|
+
if (!isDiagramersApiProject()) {
|
|
260
|
+
console.error(chalk_1.default.red('ā This command must be run from a diagramers API project'));
|
|
261
|
+
console.log(chalk_1.default.yellow('š” Navigate to your API project directory or run: diagramers init api <project-name>'));
|
|
262
|
+
process.exit(1);
|
|
263
|
+
}
|
|
140
264
|
// Parse module:table format
|
|
141
265
|
const parts = name.split(':');
|
|
142
266
|
let moduleName;
|
|
@@ -149,8 +273,24 @@ function apiCommand(program) {
|
|
|
149
273
|
moduleName = name;
|
|
150
274
|
tableName = name;
|
|
151
275
|
}
|
|
152
|
-
|
|
276
|
+
// Validate module exists
|
|
277
|
+
if (!fs.existsSync(path.join(process.cwd(), 'src/modules', moduleName))) {
|
|
278
|
+
console.error(chalk_1.default.red(`ā Module '${moduleName}' does not exist`));
|
|
279
|
+
console.log(chalk_1.default.yellow(`š” Create it first with: diagramers api generate:module ${moduleName}`));
|
|
280
|
+
process.exit(1);
|
|
281
|
+
}
|
|
282
|
+
console.log(chalk_1.default.blue(`š Generating table: ${tableName} in module: ${moduleName}`));
|
|
283
|
+
console.log(chalk_1.default.gray(` Database type: ${options.type}`));
|
|
284
|
+
if (options.fields) {
|
|
285
|
+
console.log(chalk_1.default.gray(` Fields: ${options.fields}`));
|
|
286
|
+
}
|
|
287
|
+
if (options.seeder === false) {
|
|
288
|
+
console.log(chalk_1.default.gray(` Seeder: Disabled`));
|
|
289
|
+
}
|
|
290
|
+
await (0, table_generator_1.generateTable)(moduleName, tableName, options);
|
|
153
291
|
console.log(chalk_1.default.green(`ā
Table '${tableName}' generated successfully!`));
|
|
292
|
+
console.log(chalk_1.default.blue(`š Location: src/modules/${moduleName}/entities/${tableName}.entity.ts`));
|
|
293
|
+
console.log(chalk_1.default.blue(`š Location: src/modules/${moduleName}/schemas/${tableName}.schema.ts`));
|
|
154
294
|
}
|
|
155
295
|
catch (error) {
|
|
156
296
|
console.error(chalk_1.default.red(`ā Error generating table: ${error.message}`));
|
|
@@ -161,19 +301,238 @@ function apiCommand(program) {
|
|
|
161
301
|
api
|
|
162
302
|
.command('generate:relation <table1> <table2>')
|
|
163
303
|
.description('Generate a relationship between two existing tables')
|
|
164
|
-
.option('-t, --type <type>', 'Relationship type: one-to-one, one-to-many, many-to-many', 'one-to-
|
|
304
|
+
.option('-t, --type <type>', 'Relationship type: one-to-one, one-to-many, many-to-many', 'one-to-many')
|
|
305
|
+
.option('-m, --module <module>', 'Module name (if not specified, will be inferred)')
|
|
306
|
+
.option('--force', 'Force generation even if relations exist')
|
|
165
307
|
.action(async (table1, table2, options) => {
|
|
166
308
|
try {
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
309
|
+
// Validate we're in a diagramers API project
|
|
310
|
+
if (!isDiagramersApiProject()) {
|
|
311
|
+
console.error(chalk_1.default.red('ā This command must be run from a diagramers API project'));
|
|
312
|
+
console.log(chalk_1.default.yellow('š” Navigate to your API project directory or run: diagramers init api <project-name>'));
|
|
313
|
+
process.exit(1);
|
|
314
|
+
}
|
|
315
|
+
const relationType = options?.type || 'one-to-many';
|
|
316
|
+
const moduleName = options?.module || inferModuleFromTables(table1, table2);
|
|
317
|
+
if (!moduleName) {
|
|
318
|
+
console.error(chalk_1.default.red('ā Could not determine module name. Please specify with --module'));
|
|
319
|
+
process.exit(1);
|
|
320
|
+
}
|
|
321
|
+
// Validate module exists
|
|
322
|
+
if (!fs.existsSync(path.join(process.cwd(), 'src/modules', moduleName))) {
|
|
323
|
+
console.error(chalk_1.default.red(`ā Module '${moduleName}' does not exist`));
|
|
324
|
+
console.log(chalk_1.default.yellow(`š” Create it first with: diagramers api generate:module ${moduleName}`));
|
|
325
|
+
process.exit(1);
|
|
326
|
+
}
|
|
327
|
+
console.log(chalk_1.default.blue(`š Creating ${relationType} relationship between ${table1} and ${table2}`));
|
|
328
|
+
console.log(chalk_1.default.gray(` Module: ${moduleName}`));
|
|
329
|
+
console.log(chalk_1.default.gray(` Type: ${relationType}`));
|
|
330
|
+
await (0, relation_generator_1.generateRelation)(moduleName, table1, table2, relationType);
|
|
170
331
|
console.log(chalk_1.default.green(`ā
Relationship created successfully!`));
|
|
332
|
+
console.log(chalk_1.default.blue(`š ${table1} ā ${table2} (${relationType}) in module ${moduleName}`));
|
|
171
333
|
}
|
|
172
334
|
catch (error) {
|
|
173
335
|
console.error(chalk_1.default.red(`ā Error creating relationship: ${error.message}`));
|
|
174
336
|
process.exit(1);
|
|
175
337
|
}
|
|
176
338
|
});
|
|
339
|
+
// List modules command
|
|
340
|
+
api
|
|
341
|
+
.command('list:modules')
|
|
342
|
+
.description('List all modules in the current API project')
|
|
343
|
+
.option('-v, --verbose', 'Show detailed module information')
|
|
344
|
+
.action(async (options) => {
|
|
345
|
+
try {
|
|
346
|
+
if (!isDiagramersApiProject()) {
|
|
347
|
+
throw new Error('This command must be run from a diagramers API project directory');
|
|
348
|
+
}
|
|
349
|
+
const modulesPath = path.join(process.cwd(), 'src', 'modules');
|
|
350
|
+
if (!fs.existsSync(modulesPath)) {
|
|
351
|
+
console.log(chalk_1.default.yellow('š No modules directory found'));
|
|
352
|
+
return;
|
|
353
|
+
}
|
|
354
|
+
const modules = fs.readdirSync(modulesPath, { withFileTypes: true })
|
|
355
|
+
.filter(dirent => dirent.isDirectory())
|
|
356
|
+
.map(dirent => dirent.name);
|
|
357
|
+
if (modules.length === 0) {
|
|
358
|
+
console.log(chalk_1.default.yellow('š No modules found'));
|
|
359
|
+
return;
|
|
360
|
+
}
|
|
361
|
+
console.log(chalk_1.default.blue(`š¦ Found ${modules.length} module(s) in the project:`));
|
|
362
|
+
console.log('');
|
|
363
|
+
for (const moduleName of modules) {
|
|
364
|
+
const modulePath = path.join(modulesPath, moduleName);
|
|
365
|
+
console.log(chalk_1.default.green(` ${moduleName}`));
|
|
366
|
+
if (options.verbose) {
|
|
367
|
+
// Check for module components
|
|
368
|
+
const components = [];
|
|
369
|
+
if (fs.existsSync(path.join(modulePath, 'entities')))
|
|
370
|
+
components.push('entities');
|
|
371
|
+
if (fs.existsSync(path.join(modulePath, 'schemas')))
|
|
372
|
+
components.push('schemas');
|
|
373
|
+
if (fs.existsSync(path.join(modulePath, 'services')))
|
|
374
|
+
components.push('services');
|
|
375
|
+
if (fs.existsSync(path.join(modulePath, 'controllers')))
|
|
376
|
+
components.push('controllers');
|
|
377
|
+
if (fs.existsSync(path.join(modulePath, 'routes')))
|
|
378
|
+
components.push('routes');
|
|
379
|
+
if (components.length > 0) {
|
|
380
|
+
console.log(chalk_1.default.gray(` Components: ${components.join(', ')}`));
|
|
381
|
+
}
|
|
382
|
+
// Check for package.json to get module version
|
|
383
|
+
const packagePath = path.join(modulePath, 'package.json');
|
|
384
|
+
if (fs.existsSync(packagePath)) {
|
|
385
|
+
try {
|
|
386
|
+
const packageData = JSON.parse(fs.readFileSync(packagePath, 'utf8'));
|
|
387
|
+
if (packageData.version) {
|
|
388
|
+
console.log(chalk_1.default.gray(` Version: ${packageData.version}`));
|
|
389
|
+
}
|
|
390
|
+
}
|
|
391
|
+
catch (e) {
|
|
392
|
+
// Ignore package.json parsing errors
|
|
393
|
+
}
|
|
394
|
+
}
|
|
395
|
+
}
|
|
396
|
+
console.log('');
|
|
397
|
+
}
|
|
398
|
+
}
|
|
399
|
+
catch (error) {
|
|
400
|
+
console.error(chalk_1.default.red(`ā Error: ${error.message}`));
|
|
401
|
+
process.exit(1);
|
|
402
|
+
}
|
|
403
|
+
});
|
|
404
|
+
// Validate project command
|
|
405
|
+
api
|
|
406
|
+
.command('validate')
|
|
407
|
+
.description('Validate the current API project structure')
|
|
408
|
+
.option('-f, --fix', 'Attempt to fix validation issues automatically')
|
|
409
|
+
.action(async (options) => {
|
|
410
|
+
try {
|
|
411
|
+
if (!isDiagramersApiProject()) {
|
|
412
|
+
throw new Error('This command must be run from a diagramers API project directory');
|
|
413
|
+
}
|
|
414
|
+
console.log(chalk_1.default.blue('š Validating project structure...'));
|
|
415
|
+
const projectPath = process.cwd();
|
|
416
|
+
const issues = [];
|
|
417
|
+
const warnings = [];
|
|
418
|
+
// Check required directories
|
|
419
|
+
const requiredDirs = [
|
|
420
|
+
'src',
|
|
421
|
+
'src/modules',
|
|
422
|
+
'src/core',
|
|
423
|
+
'src/shared'
|
|
424
|
+
];
|
|
425
|
+
for (const dir of requiredDirs) {
|
|
426
|
+
const dirPath = path.join(projectPath, dir);
|
|
427
|
+
if (!fs.existsSync(dirPath)) {
|
|
428
|
+
issues.push(`Missing required directory: ${dir}`);
|
|
429
|
+
}
|
|
430
|
+
}
|
|
431
|
+
// Check required files
|
|
432
|
+
const requiredFiles = [
|
|
433
|
+
'package.json',
|
|
434
|
+
'src/main.ts',
|
|
435
|
+
'src/core/app.ts',
|
|
436
|
+
'src/routes/index.ts'
|
|
437
|
+
];
|
|
438
|
+
for (const file of requiredFiles) {
|
|
439
|
+
const filePath = path.join(projectPath, file);
|
|
440
|
+
if (!fs.existsSync(filePath)) {
|
|
441
|
+
issues.push(`Missing required file: ${file}`);
|
|
442
|
+
}
|
|
443
|
+
}
|
|
444
|
+
// Check modules structure
|
|
445
|
+
const modulesPath = path.join(projectPath, 'src', 'modules');
|
|
446
|
+
if (fs.existsSync(modulesPath)) {
|
|
447
|
+
const modules = fs.readdirSync(modulesPath, { withFileTypes: true })
|
|
448
|
+
.filter(dirent => dirent.isDirectory())
|
|
449
|
+
.map(dirent => dirent.name);
|
|
450
|
+
for (const moduleName of modules) {
|
|
451
|
+
const modulePath = path.join(modulesPath, moduleName);
|
|
452
|
+
const moduleComponents = [
|
|
453
|
+
'entities',
|
|
454
|
+
'schemas',
|
|
455
|
+
'services',
|
|
456
|
+
'controllers',
|
|
457
|
+
'routes'
|
|
458
|
+
];
|
|
459
|
+
for (const component of moduleComponents) {
|
|
460
|
+
const componentPath = path.join(modulePath, component);
|
|
461
|
+
if (!fs.existsSync(componentPath)) {
|
|
462
|
+
warnings.push(`Module '${moduleName}' missing ${component} directory`);
|
|
463
|
+
}
|
|
464
|
+
}
|
|
465
|
+
}
|
|
466
|
+
}
|
|
467
|
+
// Report results
|
|
468
|
+
if (issues.length === 0 && warnings.length === 0) {
|
|
469
|
+
console.log(chalk_1.default.green('ā
Project structure is valid!'));
|
|
470
|
+
return;
|
|
471
|
+
}
|
|
472
|
+
if (issues.length > 0) {
|
|
473
|
+
console.log(chalk_1.default.red(`ā Found ${issues.length} critical issue(s):`));
|
|
474
|
+
issues.forEach(issue => console.log(chalk_1.default.red(` - ${issue}`)));
|
|
475
|
+
}
|
|
476
|
+
if (warnings.length > 0) {
|
|
477
|
+
console.log(chalk_1.default.yellow(`ā ļø Found ${warnings.length} warning(s):`));
|
|
478
|
+
warnings.forEach(warning => console.log(chalk_1.default.yellow(` - ${warning}`)));
|
|
479
|
+
}
|
|
480
|
+
if (options.fix) {
|
|
481
|
+
console.log(chalk_1.default.blue('\nš§ Attempting to fix issues...'));
|
|
482
|
+
// Create missing directories
|
|
483
|
+
for (const dir of requiredDirs) {
|
|
484
|
+
const dirPath = path.join(projectPath, dir);
|
|
485
|
+
if (!fs.existsSync(dirPath)) {
|
|
486
|
+
fs.mkdirSync(dirPath, { recursive: true });
|
|
487
|
+
console.log(chalk_1.default.green(` ā
Created directory: ${dir}`));
|
|
488
|
+
}
|
|
489
|
+
}
|
|
490
|
+
// Note: Creating missing files would require more complex logic
|
|
491
|
+
// For now, just inform the user
|
|
492
|
+
if (issues.length > 0) {
|
|
493
|
+
console.log(chalk_1.default.yellow('\nš” Some issues require manual fixing. Please check the errors above.'));
|
|
494
|
+
}
|
|
495
|
+
}
|
|
496
|
+
else if (issues.length > 0) {
|
|
497
|
+
console.log(chalk_1.default.yellow('\nš” Use --fix to attempt automatic fixes'));
|
|
498
|
+
}
|
|
499
|
+
}
|
|
500
|
+
catch (error) {
|
|
501
|
+
console.error(chalk_1.default.red(`ā Error: ${error.message}`));
|
|
502
|
+
process.exit(1);
|
|
503
|
+
}
|
|
504
|
+
});
|
|
177
505
|
return api;
|
|
178
506
|
}
|
|
507
|
+
// Helper functions
|
|
508
|
+
function isDiagramersApiProject() {
|
|
509
|
+
const currentDir = process.cwd();
|
|
510
|
+
const requiredDirs = ['src/modules', 'src/core', 'src/shared'];
|
|
511
|
+
return requiredDirs.every(dir => fs.existsSync(path.join(currentDir, dir)));
|
|
512
|
+
}
|
|
513
|
+
function inferModuleFromTables(table1, table2) {
|
|
514
|
+
const currentDir = process.cwd();
|
|
515
|
+
const modulesPath = path.join(currentDir, 'src/modules');
|
|
516
|
+
if (!fs.existsSync(modulesPath)) {
|
|
517
|
+
return null;
|
|
518
|
+
}
|
|
519
|
+
const modules = fs.readdirSync(modulesPath, { withFileTypes: true })
|
|
520
|
+
.filter(dirent => dirent.isDirectory())
|
|
521
|
+
.map(dirent => dirent.name);
|
|
522
|
+
// Try to find a module that contains both tables
|
|
523
|
+
for (const module of modules) {
|
|
524
|
+
const modulePath = path.join(modulesPath, module);
|
|
525
|
+
const entitiesPath = path.join(modulePath, 'entities');
|
|
526
|
+
if (fs.existsSync(entitiesPath)) {
|
|
527
|
+
const entities = fs.readdirSync(entitiesPath)
|
|
528
|
+
.filter(file => file.endsWith('.entity.ts'))
|
|
529
|
+
.map(file => file.replace('.entity.ts', ''));
|
|
530
|
+
if (entities.includes(table1) && entities.includes(table2)) {
|
|
531
|
+
return module;
|
|
532
|
+
}
|
|
533
|
+
}
|
|
534
|
+
}
|
|
535
|
+
// If no exact match, return the first module (user can override with --module)
|
|
536
|
+
return modules.length > 0 ? modules[0] : null;
|
|
537
|
+
}
|
|
179
538
|
//# sourceMappingURL=api.js.map
|
package/dist/commands/api.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"api.js","sourceRoot":"","sources":["../../src/commands/api.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"api.js","sourceRoot":"","sources":["../../src/commands/api.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"extend.d.ts","sourceRoot":"","sources":["../../src/commands/extend.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"extend.d.ts","sourceRoot":"","sources":["../../src/commands/extend.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAQpC,wBAAgB,aAAa,CAAC,OAAO,EAAE,OAAO,QAwO7C"}
|