@morojs/cli 1.0.0

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.
Files changed (47) hide show
  1. package/README.md +300 -0
  2. package/bin/cli.js +4 -0
  3. package/dist/cli.d.ts +4 -0
  4. package/dist/cli.d.ts.map +1 -0
  5. package/dist/cli.js +426 -0
  6. package/dist/cli.js.map +1 -0
  7. package/dist/commands/config.d.ts +17 -0
  8. package/dist/commands/config.d.ts.map +1 -0
  9. package/dist/commands/config.js +334 -0
  10. package/dist/commands/config.js.map +1 -0
  11. package/dist/commands/database.d.ts +38 -0
  12. package/dist/commands/database.d.ts.map +1 -0
  13. package/dist/commands/database.js +523 -0
  14. package/dist/commands/database.js.map +1 -0
  15. package/dist/commands/deploy.d.ts +18 -0
  16. package/dist/commands/deploy.d.ts.map +1 -0
  17. package/dist/commands/deploy.js +166 -0
  18. package/dist/commands/deploy.js.map +1 -0
  19. package/dist/commands/dev.d.ts +27 -0
  20. package/dist/commands/dev.d.ts.map +1 -0
  21. package/dist/commands/dev.js +216 -0
  22. package/dist/commands/dev.js.map +1 -0
  23. package/dist/commands/init.d.ts +27 -0
  24. package/dist/commands/init.d.ts.map +1 -0
  25. package/dist/commands/init.js +1061 -0
  26. package/dist/commands/init.js.map +1 -0
  27. package/dist/commands/middleware.d.ts +11 -0
  28. package/dist/commands/middleware.d.ts.map +1 -0
  29. package/dist/commands/middleware.js +229 -0
  30. package/dist/commands/middleware.js.map +1 -0
  31. package/dist/index.d.ts +4 -0
  32. package/dist/index.d.ts.map +1 -0
  33. package/dist/index.js +11 -0
  34. package/dist/index.js.map +1 -0
  35. package/dist/logger.d.ts +7 -0
  36. package/dist/logger.d.ts.map +1 -0
  37. package/dist/logger.js +23 -0
  38. package/dist/logger.js.map +1 -0
  39. package/dist/module-stub-generator.d.ts +16 -0
  40. package/dist/module-stub-generator.d.ts.map +1 -0
  41. package/dist/module-stub-generator.js +505 -0
  42. package/dist/module-stub-generator.js.map +1 -0
  43. package/dist/utils/terminal.d.ts +11 -0
  44. package/dist/utils/terminal.d.ts.map +1 -0
  45. package/dist/utils/terminal.js +43 -0
  46. package/dist/utils/terminal.js.map +1 -0
  47. package/package.json +97 -0
package/dist/cli.js ADDED
@@ -0,0 +1,426 @@
1
+ #!/usr/bin/env node
2
+ "use strict";
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ exports.runCLI = runCLI;
5
+ exports.runModuleStubGenerator = runModuleStubGenerator;
6
+ // MoroJS CLI - Comprehensive Development Toolkit
7
+ const commander_1 = require("commander");
8
+ const logger_1 = require("./logger");
9
+ const module_stub_generator_1 = require("./module-stub-generator");
10
+ const init_1 = require("./commands/init");
11
+ const config_1 = require("./commands/config");
12
+ const database_1 = require("./commands/database");
13
+ const deploy_1 = require("./commands/deploy");
14
+ const dev_1 = require("./commands/dev");
15
+ const middleware_1 = require("./commands/middleware");
16
+ const logger = (0, logger_1.createFrameworkLogger)('MoroJS-CLI');
17
+ async function runCLI() {
18
+ const program = new commander_1.Command();
19
+ program
20
+ .name('morojs-cli')
21
+ .description('MoroJS Framework - Comprehensive Development Toolkit')
22
+ .version('1.0.0')
23
+ .option('--verbose', 'Enable verbose logging')
24
+ .option('--quiet', 'Suppress all output except errors')
25
+ .hook('preAction', (thisCommand) => {
26
+ if (thisCommand.opts().verbose) {
27
+ process.env.LOG_LEVEL = 'debug';
28
+ }
29
+ if (thisCommand.opts().quiet) {
30
+ process.env.LOG_LEVEL = 'error';
31
+ }
32
+ });
33
+ // Project Initialization
34
+ program
35
+ .command('init <project-name>')
36
+ .description('Initialize a new MoroJS project')
37
+ .option('-r, --runtime <type>', 'Runtime adapter (node|vercel-edge|aws-lambda|cloudflare-workers)', 'node')
38
+ .option('-d, --database <type>', 'Database adapter (mysql|postgresql|sqlite|mongodb|redis|drizzle)')
39
+ .option('-f, --features <features>', 'Comma-separated features (auth,cors,helmet,compression,websocket,docs)')
40
+ .option('-t, --template <template>', 'Project template (api|fullstack|microservice)', 'api')
41
+ .option('--skip-git', 'Skip Git repository initialization')
42
+ .option('--skip-install', 'Skip npm install')
43
+ .action(async (projectName, options) => {
44
+ try {
45
+ const initializer = new init_1.ProjectInitializer();
46
+ await initializer.initializeProject(projectName, options);
47
+ }
48
+ catch (error) {
49
+ logger.error(`Failed to initialize project: ${error instanceof Error ? error.message : 'Unknown error'}`, 'Init');
50
+ process.exit(1);
51
+ }
52
+ });
53
+ // Module Generation (Enhanced)
54
+ const moduleCmd = program
55
+ .command('module')
56
+ .alias('m')
57
+ .description('Module management commands');
58
+ moduleCmd
59
+ .command('create <name>')
60
+ .alias('new')
61
+ .description('Create a new module with advanced features')
62
+ .option('-f, --features <features>', 'Features: websocket,database,auth,cache,validation,docs', 'validation')
63
+ .option('-d, --database <type>', 'Database adapter type')
64
+ .option('-m, --middleware <middleware>', 'Built-in middleware: auth,cors,rate-limit,cache,validation')
65
+ .option('-r, --routes <routes>', 'Route patterns: crud,rest,graphql', 'crud')
66
+ .option('-t, --template <template>', 'Module template: service,controller,repository', 'service')
67
+ .option('--auth-roles <roles>', 'Authentication roles for protected routes')
68
+ .option('--with-tests', 'Generate test files')
69
+ .option('--with-docs', 'Generate API documentation')
70
+ .action(async (name, options) => {
71
+ try {
72
+ const generator = new module_stub_generator_1.ModuleStubGenerator();
73
+ await generator.generateAdvancedModule(name, options);
74
+ }
75
+ catch (error) {
76
+ logger.error(`Failed to generate module: ${error instanceof Error ? error.message : 'Unknown error'}`, 'Module');
77
+ process.exit(1);
78
+ }
79
+ });
80
+ moduleCmd
81
+ .command('list')
82
+ .description('List all modules in the project')
83
+ .action(async () => {
84
+ try {
85
+ const generator = new module_stub_generator_1.ModuleStubGenerator();
86
+ await generator.listModules();
87
+ }
88
+ catch (error) {
89
+ logger.error(`Failed to list modules: ${error instanceof Error ? error.message : 'Unknown error'}`, 'Module');
90
+ process.exit(1);
91
+ }
92
+ });
93
+ // Configuration Management
94
+ const configCmd = program
95
+ .command('config')
96
+ .alias('c')
97
+ .description('Configuration management');
98
+ configCmd
99
+ .command('init')
100
+ .description('Generate moro.config.js with intelligent defaults')
101
+ .option('-e, --environment <env>', 'Target environment (development|staging|production)', 'development')
102
+ .option('-d, --database <type>', 'Primary database type')
103
+ .option('-r, --runtime <type>', 'Runtime adapter type')
104
+ .action(async (options) => {
105
+ try {
106
+ const configManager = new config_1.ConfigManager();
107
+ await configManager.initializeConfig(options);
108
+ }
109
+ catch (error) {
110
+ logger.error(`Failed to initialize config: ${error instanceof Error ? error.message : 'Unknown error'}`, 'Config');
111
+ process.exit(1);
112
+ }
113
+ });
114
+ configCmd
115
+ .command('validate')
116
+ .description('Validate existing configuration')
117
+ .action(async () => {
118
+ try {
119
+ const configManager = new config_1.ConfigManager();
120
+ await configManager.validateConfig();
121
+ }
122
+ catch (error) {
123
+ logger.error(`Config validation failed: ${error instanceof Error ? error.message : 'Unknown error'}`, 'Config');
124
+ process.exit(1);
125
+ }
126
+ });
127
+ configCmd
128
+ .command('env')
129
+ .description('Generate .env template with all available options')
130
+ .option('-e, --environment <env>', 'Environment type', 'development')
131
+ .action(async (options) => {
132
+ try {
133
+ const configManager = new config_1.ConfigManager();
134
+ await configManager.generateEnvTemplate(options);
135
+ }
136
+ catch (error) {
137
+ logger.error(`Failed to generate env template: ${error instanceof Error ? error.message : 'Unknown error'}`, 'Config');
138
+ process.exit(1);
139
+ }
140
+ });
141
+ // Database Management
142
+ const dbCmd = program
143
+ .command('database')
144
+ .alias('db')
145
+ .description('Database management');
146
+ dbCmd
147
+ .command('setup <type>')
148
+ .description('Setup database adapter with configuration')
149
+ .option('-h, --host <host>', 'Database host')
150
+ .option('-p, --port <port>', 'Database port')
151
+ .option('-u, --username <username>', 'Database username')
152
+ .option('-d, --database <database>', 'Database name')
153
+ .option('--with-migrations', 'Generate migration system')
154
+ .option('--with-seeds', 'Generate seed system')
155
+ .action(async (type, options) => {
156
+ try {
157
+ const dbManager = new database_1.DatabaseManager();
158
+ await dbManager.setupAdapter(type, options);
159
+ }
160
+ catch (error) {
161
+ logger.error(`Failed to setup database: ${error instanceof Error ? error.message : 'Unknown error'}`, 'Database');
162
+ process.exit(1);
163
+ }
164
+ });
165
+ dbCmd
166
+ .command('migrate')
167
+ .description('Run database migrations')
168
+ .option('--up', 'Run migrations up')
169
+ .option('--down', 'Run migrations down')
170
+ .option('--reset', 'Reset all migrations')
171
+ .action(async (options) => {
172
+ try {
173
+ const dbManager = new database_1.DatabaseManager();
174
+ await dbManager.runMigrations(options);
175
+ }
176
+ catch (error) {
177
+ logger.error(`Migration failed: ${error instanceof Error ? error.message : 'Unknown error'}`, 'Database');
178
+ process.exit(1);
179
+ }
180
+ });
181
+ dbCmd
182
+ .command('seed')
183
+ .description('Run database seeds')
184
+ .option('-e, --environment <env>', 'Environment', 'development')
185
+ .action(async (options) => {
186
+ try {
187
+ const dbManager = new database_1.DatabaseManager();
188
+ await dbManager.runSeeds(options);
189
+ }
190
+ catch (error) {
191
+ logger.error(`Seeding failed: ${error instanceof Error ? error.message : 'Unknown error'}`, 'Database');
192
+ process.exit(1);
193
+ }
194
+ });
195
+ // Middleware Management
196
+ const middlewareCmd = program
197
+ .command('middleware')
198
+ .alias('mw')
199
+ .description('Middleware management');
200
+ middlewareCmd
201
+ .command('add <type>')
202
+ .description('Add built-in middleware configuration')
203
+ .option('-c, --config <config>', 'Middleware configuration (JSON string)')
204
+ .action(async (type, options) => {
205
+ try {
206
+ const middlewareManager = new middleware_1.MiddlewareManager();
207
+ await middlewareManager.addMiddleware(type, options);
208
+ }
209
+ catch (error) {
210
+ logger.error(`Failed to add middleware: ${error instanceof Error ? error.message : 'Unknown error'}`, 'Middleware');
211
+ process.exit(1);
212
+ }
213
+ });
214
+ middlewareCmd
215
+ .command('list')
216
+ .description('List available built-in middleware')
217
+ .action(async () => {
218
+ try {
219
+ const middlewareManager = new middleware_1.MiddlewareManager();
220
+ await middlewareManager.listMiddleware();
221
+ }
222
+ catch (error) {
223
+ logger.error(`Failed to list middleware: ${error instanceof Error ? error.message : 'Unknown error'}`, 'Middleware');
224
+ process.exit(1);
225
+ }
226
+ });
227
+ // Deployment Commands
228
+ const deployCmd = program
229
+ .command('deploy')
230
+ .alias('d')
231
+ .description('Runtime deployment management');
232
+ deployCmd
233
+ .command('vercel')
234
+ .description('Generate Vercel Edge deployment configuration')
235
+ .option('--domain <domain>', 'Custom domain')
236
+ .action(async (options) => {
237
+ try {
238
+ const deployManager = new deploy_1.DeploymentManager();
239
+ await deployManager.setupVercel(options);
240
+ }
241
+ catch (error) {
242
+ logger.error(`Vercel deployment setup failed: ${error instanceof Error ? error.message : 'Unknown error'}`, 'Deploy');
243
+ process.exit(1);
244
+ }
245
+ });
246
+ deployCmd
247
+ .command('lambda')
248
+ .description('Generate AWS Lambda deployment configuration')
249
+ .option('--region <region>', 'AWS region', 'us-east-1')
250
+ .option('--memory <memory>', 'Memory allocation (MB)', '512')
251
+ .option('--timeout <timeout>', 'Timeout (seconds)', '30')
252
+ .action(async (options) => {
253
+ try {
254
+ const deployManager = new deploy_1.DeploymentManager();
255
+ await deployManager.setupLambda(options);
256
+ }
257
+ catch (error) {
258
+ logger.error(`Lambda deployment setup failed: ${error instanceof Error ? error.message : 'Unknown error'}`, 'Deploy');
259
+ process.exit(1);
260
+ }
261
+ });
262
+ deployCmd
263
+ .command('workers')
264
+ .description('Generate Cloudflare Workers deployment configuration')
265
+ .option('--name <name>', 'Worker name')
266
+ .action(async (options) => {
267
+ try {
268
+ const deployManager = new deploy_1.DeploymentManager();
269
+ await deployManager.setupCloudflareWorkers(options);
270
+ }
271
+ catch (error) {
272
+ logger.error(`Workers deployment setup failed: ${error instanceof Error ? error.message : 'Unknown error'}`, 'Deploy');
273
+ process.exit(1);
274
+ }
275
+ });
276
+ // Development Tools
277
+ const devCmd = program
278
+ .command('dev')
279
+ .description('Development server with hot reload')
280
+ .option('-p, --port <port>', 'Port number', '3000')
281
+ .option('-h, --host <host>', 'Host address', 'localhost')
282
+ .option('--watch <paths>', 'Additional paths to watch')
283
+ .action(async (options) => {
284
+ try {
285
+ const devTools = new dev_1.DevTools();
286
+ await devTools.startDevServer(options);
287
+ }
288
+ catch (error) {
289
+ logger.error(`Dev server failed: ${error instanceof Error ? error.message : 'Unknown error'}`, 'Dev');
290
+ process.exit(1);
291
+ }
292
+ });
293
+ program
294
+ .command('build')
295
+ .description('Build project for production')
296
+ .option('-t, --target <target>', 'Build target (node|edge|lambda|workers)', 'node')
297
+ .option('-o, --output <dir>', 'Output directory', 'dist')
298
+ .option('--minify', 'Minify output')
299
+ .action(async (options) => {
300
+ try {
301
+ const devTools = new dev_1.DevTools();
302
+ await devTools.buildProject(options);
303
+ }
304
+ catch (error) {
305
+ logger.error(`Build failed: ${error instanceof Error ? error.message : 'Unknown error'}`, 'Build');
306
+ process.exit(1);
307
+ }
308
+ });
309
+ program
310
+ .command('lint')
311
+ .description('Lint and format code')
312
+ .option('--fix', 'Auto-fix issues')
313
+ .action(async (options) => {
314
+ try {
315
+ const devTools = new dev_1.DevTools();
316
+ await devTools.lintProject(options);
317
+ }
318
+ catch (error) {
319
+ logger.error(`Linting failed: ${error instanceof Error ? error.message : 'Unknown error'}`, 'Lint');
320
+ process.exit(1);
321
+ }
322
+ });
323
+ program
324
+ .command('test')
325
+ .description('Run tests')
326
+ .option('--watch', 'Watch mode')
327
+ .option('--coverage', 'Generate coverage report')
328
+ .action(async (options) => {
329
+ try {
330
+ const devTools = new dev_1.DevTools();
331
+ await devTools.runTests(options);
332
+ }
333
+ catch (error) {
334
+ logger.error(`Tests failed: ${error instanceof Error ? error.message : 'Unknown error'}`, 'Test');
335
+ process.exit(1);
336
+ }
337
+ });
338
+ // Security & Performance
339
+ program
340
+ .command('security:scan')
341
+ .description('Scan project for security issues')
342
+ .action(async () => {
343
+ try {
344
+ const devTools = new dev_1.DevTools();
345
+ await devTools.securityScan();
346
+ }
347
+ catch (error) {
348
+ logger.error(`Security scan failed: ${error instanceof Error ? error.message : 'Unknown error'}`, 'Security');
349
+ process.exit(1);
350
+ }
351
+ });
352
+ // Legacy support for existing module generation
353
+ program
354
+ .command('generate <name>')
355
+ .alias('g')
356
+ .description('Generate module (legacy command)')
357
+ .option('--features <features>', 'Comma-separated features')
358
+ .action(async (name, options) => {
359
+ logger.info('Using legacy module generation. Consider using "morojs-cli module create" for enhanced features.', 'Legacy');
360
+ try {
361
+ const generator = new module_stub_generator_1.ModuleStubGenerator();
362
+ const features = options.features ? options.features.split(',') : [];
363
+ await generator.generateModule(name, features);
364
+ }
365
+ catch (error) {
366
+ logger.error(`Failed to generate module: ${error instanceof Error ? error.message : 'Unknown error'}`, 'Generate');
367
+ process.exit(1);
368
+ }
369
+ });
370
+ // Help and examples
371
+ program
372
+ .command('examples')
373
+ .description('Show usage examples')
374
+ .action(() => {
375
+ console.log(`
376
+ MoroJS CLI Examples:
377
+
378
+ Project Initialization:
379
+ morojs-cli init my-api --runtime=node --database=postgresql --features=auth,cors,docs
380
+ morojs-cli init my-edge-api --runtime=vercel-edge --template=microservice
381
+
382
+ Module Creation:
383
+ morojs-cli module create users --features=database,auth,cache --with-tests
384
+ morojs-cli module create orders --database=mongodb --middleware=auth,rate-limit
385
+
386
+ Configuration:
387
+ morojs-cli config init --environment=production --database=mysql
388
+ morojs-cli config validate
389
+ morojs-cli config env --environment=staging
390
+
391
+ Database:
392
+ morojs-cli db setup postgresql --host=localhost --database=myapp
393
+ morojs-cli db migrate --up
394
+ morojs-cli db seed --environment=development
395
+
396
+ Development:
397
+ morojs-cli dev --port=3000 --watch=./modules
398
+ morojs-cli build --target=lambda --minify
399
+ morojs-cli test --watch --coverage
400
+
401
+ Deployment:
402
+ morojs-cli deploy vercel --domain=myapi.vercel.app
403
+ morojs-cli deploy lambda --region=us-west-2 --memory=1024
404
+ morojs-cli deploy workers --name=my-worker
405
+
406
+ Middleware:
407
+ morojs-cli middleware add auth --config='{"roles":["admin","user"]}'
408
+ morojs-cli middleware list
409
+ `);
410
+ });
411
+ // Parse arguments
412
+ await program.parseAsync(process.argv);
413
+ }
414
+ // Legacy export for backward compatibility
415
+ async function runModuleStubGenerator() {
416
+ console.log('WARNING: Legacy entry point detected. Please use "morojs-cli" instead.');
417
+ await runCLI();
418
+ }
419
+ // Run CLI if this file is executed directly
420
+ if (require.main === module) {
421
+ runCLI().catch((error) => {
422
+ console.error('CLI Error:', error);
423
+ process.exit(1);
424
+ });
425
+ }
426
+ //# sourceMappingURL=cli.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,17 @@
1
+ export interface ConfigOptions {
2
+ environment?: 'development' | 'staging' | 'production';
3
+ database?: string;
4
+ runtime?: string;
5
+ }
6
+ export declare class ConfigManager {
7
+ private logger;
8
+ initializeConfig(options: ConfigOptions): Promise<void>;
9
+ validateConfig(): Promise<void>;
10
+ generateEnvTemplate(options: {
11
+ environment: string;
12
+ }): Promise<void>;
13
+ private generateConfigContent;
14
+ private generateEnvContent;
15
+ private validateConfigStructure;
16
+ }
17
+ //# sourceMappingURL=config.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/commands/config.ts"],"names":[],"mappings":"AAMA,MAAM,WAAW,aAAa;IAC5B,WAAW,CAAC,EAAE,aAAa,GAAG,SAAS,GAAG,YAAY,CAAC;IACvD,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,qBAAa,aAAa;IACxB,OAAO,CAAC,MAAM,CAA0C;IAElD,gBAAgB,CAAC,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC;IAevD,cAAc,IAAI,OAAO,CAAC,IAAI,CAAC;IAkC/B,mBAAmB,CAAC,OAAO,EAAE;QAAE,WAAW,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAe1E,OAAO,CAAC,qBAAqB;IAsJ7B,OAAO,CAAC,kBAAkB;IA+D1B,OAAO,CAAC,uBAAuB;CA+BhC"}