@morojs/cli 1.0.0 → 1.1.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.
- package/LICENSE +0 -0
- package/README.md +17 -8
- package/dist/commands/dev.d.ts.map +1 -1
- package/dist/commands/dev.js +4 -23
- package/dist/commands/dev.js.map +1 -1
- package/dist/commands/init.d.ts +4 -0
- package/dist/commands/init.d.ts.map +1 -1
- package/dist/commands/init.js +384 -98
- package/dist/commands/init.js.map +1 -1
- package/dist/module-stub-generator.d.ts.map +1 -1
- package/dist/module-stub-generator.js +39 -35
- package/dist/module-stub-generator.js.map +1 -1
- package/package.json +34 -20
package/LICENSE
ADDED
|
File without changes
|
package/README.md
CHANGED
|
@@ -147,31 +147,37 @@ morojs-cli security:scan
|
|
|
147
147
|
## Project Templates
|
|
148
148
|
|
|
149
149
|
### API Server
|
|
150
|
+
|
|
150
151
|
```bash
|
|
151
152
|
morojs-cli init my-api --template=api --runtime=node --database=postgresql
|
|
152
153
|
```
|
|
154
|
+
|
|
153
155
|
Perfect for REST APIs, GraphQL servers, and backend services.
|
|
154
156
|
|
|
155
157
|
### Microservice
|
|
158
|
+
|
|
156
159
|
```bash
|
|
157
160
|
morojs-cli init my-service --template=microservice --runtime=vercel-edge
|
|
158
161
|
```
|
|
162
|
+
|
|
159
163
|
Lightweight services optimized for serverless deployment.
|
|
160
164
|
|
|
161
165
|
### Full-stack
|
|
166
|
+
|
|
162
167
|
```bash
|
|
163
168
|
morojs-cli init my-app --template=fullstack --features=auth,websocket,docs
|
|
164
169
|
```
|
|
170
|
+
|
|
165
171
|
Complete application with frontend integration support.
|
|
166
172
|
|
|
167
173
|
## Runtime Adapters
|
|
168
174
|
|
|
169
|
-
| Runtime
|
|
170
|
-
|
|
171
|
-
| **Node.js**
|
|
172
|
-
| **Vercel Edge**
|
|
173
|
-
| **AWS Lambda**
|
|
174
|
-
| **Cloudflare Workers** | Edge workers with V8 isolates
|
|
175
|
+
| Runtime | Description | Deploy Command |
|
|
176
|
+
| ---------------------- | -------------------------------------- | --------------------------- |
|
|
177
|
+
| **Node.js** | Traditional server deployment | `node dist/index.js` |
|
|
178
|
+
| **Vercel Edge** | Edge runtime with global distribution | `morojs-cli deploy vercel` |
|
|
179
|
+
| **AWS Lambda** | Serverless functions with auto-scaling | `morojs-cli deploy lambda` |
|
|
180
|
+
| **Cloudflare Workers** | Edge workers with V8 isolates | `morojs-cli deploy workers` |
|
|
175
181
|
|
|
176
182
|
## Database Support
|
|
177
183
|
|
|
@@ -197,6 +203,7 @@ Complete application with frontend integration support.
|
|
|
197
203
|
## Examples
|
|
198
204
|
|
|
199
205
|
### Create a User Management API
|
|
206
|
+
|
|
200
207
|
```bash
|
|
201
208
|
# Initialize project
|
|
202
209
|
morojs-cli init user-api --runtime=node --database=postgresql --features=auth,docs
|
|
@@ -215,6 +222,7 @@ npm run dev
|
|
|
215
222
|
```
|
|
216
223
|
|
|
217
224
|
### Serverless Microservice
|
|
225
|
+
|
|
218
226
|
```bash
|
|
219
227
|
# Create lightweight service
|
|
220
228
|
morojs-cli init payment-service --template=microservice --runtime=aws-lambda --database=redis
|
|
@@ -230,6 +238,7 @@ npm run deploy:lambda
|
|
|
230
238
|
```
|
|
231
239
|
|
|
232
240
|
### Full-stack Application
|
|
241
|
+
|
|
233
242
|
```bash
|
|
234
243
|
# Create full-stack app
|
|
235
244
|
morojs-cli init chat-app --template=fullstack --features=websocket,auth,docs --database=mongodb
|
|
@@ -293,8 +302,8 @@ This project is licensed under the MIT License - see the [LICENSE](LICENSE) file
|
|
|
293
302
|
- **Documentation**: [https://morojs.com](https://morojs.com)
|
|
294
303
|
- **GitHub**: [https://github.com/Moro-JS/cli](https://github.com/Moro-JS/cli)
|
|
295
304
|
- **NPM**: [https://www.npmjs.com/package/@morojs/cli](https://www.npmjs.com/package/@morojs/cli)
|
|
296
|
-
- **Discord**: [Join our community](https://
|
|
305
|
+
- **Discord**: [Join our community](https://morojs.com/discord)
|
|
297
306
|
|
|
298
307
|
---
|
|
299
308
|
|
|
300
|
-
**Built with ❤️ by the MoroJS Team**
|
|
309
|
+
**Built with ❤️ by the MoroJS Team**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dev.d.ts","sourceRoot":"","sources":["../../src/commands/dev.ts"],"names":[],"mappings":"AAMA,MAAM,WAAW,gBAAgB;IAC/B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,YAAY;IAC3B,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,QAAQ,GAAG,SAAS,CAAC;IAChD,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAED,MAAM,WAAW,WAAW;IAC1B,GAAG,CAAC,EAAE,OAAO,CAAC;CACf;AAED,MAAM,WAAW,WAAW;IAC1B,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,qBAAa,QAAQ;IACnB,OAAO,CAAC,MAAM,CAAqC;IAE7C,cAAc,CAAC,OAAO,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC;IA+CxD,YAAY,CAAC,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"dev.d.ts","sourceRoot":"","sources":["../../src/commands/dev.ts"],"names":[],"mappings":"AAMA,MAAM,WAAW,gBAAgB;IAC/B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,YAAY;IAC3B,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,QAAQ,GAAG,SAAS,CAAC;IAChD,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAED,MAAM,WAAW,WAAW;IAC1B,GAAG,CAAC,EAAE,OAAO,CAAC;CACf;AAED,MAAM,WAAW,WAAW;IAC1B,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,qBAAa,QAAQ;IACnB,OAAO,CAAC,MAAM,CAAqC;IAE7C,cAAc,CAAC,OAAO,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC;IA+CxD,YAAY,CAAC,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC;IAwBlD,WAAW,CAAC,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC;IAoChD,QAAQ,CAAC,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC;IAkC7C,YAAY,IAAI,OAAO,CAAC,IAAI,CAAC;YAkCrB,4BAA4B;CAuB3C"}
|
package/dist/commands/dev.js
CHANGED
|
@@ -84,29 +84,10 @@ class DevTools {
|
|
|
84
84
|
this.logger.info(`Building project for ${options.target || 'node'} runtime...`, 'Build');
|
|
85
85
|
try {
|
|
86
86
|
const outputDir = options.output || 'dist';
|
|
87
|
-
//
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
'src/index.ts',
|
|
92
|
-
'--bundle',
|
|
93
|
-
'--platform=node',
|
|
94
|
-
'--target=node18',
|
|
95
|
-
'--format=esm',
|
|
96
|
-
'--outfile=' + (0, path_1.join)(outputDir, 'index.js'),
|
|
97
|
-
'--external:@morojs/moro',
|
|
98
|
-
];
|
|
99
|
-
if (options.minify) {
|
|
100
|
-
esbuildArgs.push('--minify');
|
|
101
|
-
}
|
|
102
|
-
await (0, terminal_1.spawnCommand)('npx', ['esbuild', ...esbuildArgs]);
|
|
103
|
-
this.logger.info(`✅ Build completed! Output: ${outputDir}/`, 'Build');
|
|
104
|
-
}
|
|
105
|
-
else {
|
|
106
|
-
// Fallback to TypeScript compiler
|
|
107
|
-
await (0, terminal_1.runTerminalCmd)('npx tsc');
|
|
108
|
-
this.logger.info(`✅ Build completed using TypeScript compiler!`, 'Build');
|
|
109
|
-
}
|
|
87
|
+
// Use TypeScript compiler for reliable CommonJS output
|
|
88
|
+
// esbuild bundling causes issues with dynamic requires in CommonJS dependencies
|
|
89
|
+
await (0, terminal_1.runTerminalCmd)('npx tsc');
|
|
90
|
+
this.logger.info(`✅ Build completed using TypeScript compiler!`, 'Build');
|
|
110
91
|
// Generate runtime-specific files
|
|
111
92
|
if (options.target && options.target !== 'node') {
|
|
112
93
|
await this.generateRuntimeSpecificFiles(options.target, outputDir);
|
package/dist/commands/dev.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dev.js","sourceRoot":"","sources":["../../src/commands/dev.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,6DAA6D;AAC7D,sCAAkD;AAClD,gDAAiE;AACjE,2BAAgC;AAChC,+BAA4B;AAuB5B,MAAa,QAAQ;IAArB;QACU,WAAM,GAAG,IAAA,8BAAqB,EAAC,UAAU,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"dev.js","sourceRoot":"","sources":["../../src/commands/dev.ts"],"names":[],"mappings":"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"}
|
package/dist/commands/init.d.ts
CHANGED
|
@@ -23,5 +23,9 @@ export declare class ProjectInitializer {
|
|
|
23
23
|
private generateAuthMiddleware;
|
|
24
24
|
private generateTestSetup;
|
|
25
25
|
private displaySuccessMessage;
|
|
26
|
+
/**
|
|
27
|
+
* Fetch the latest version of a package from NPM registry
|
|
28
|
+
*/
|
|
29
|
+
private getLatestPackageVersion;
|
|
26
30
|
}
|
|
27
31
|
//# sourceMappingURL=init.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"AAgBA,MAAM,WAAW,kBAAkB;IACjC,OAAO,CAAC,EAAE,MAAM,GAAG,aAAa,GAAG,YAAY,GAAG,oBAAoB,CAAC;IACvE,QAAQ,CAAC,EAAE,OAAO,GAAG,YAAY,GAAG,QAAQ,GAAG,SAAS,GAAG,OAAO,GAAG,SAAS,CAAC;IAC/E,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,KAAK,GAAG,WAAW,GAAG,cAAc,CAAC;IAChD,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB;AAED,qBAAa,kBAAkB;IAC7B,OAAO,CAAC,MAAM,CAA+C;IAEvD,iBAAiB,CAAC,WAAW,EAAE,MAAM,EAAE,OAAO,EAAE,kBAAkB,GAAG,OAAO,CAAC,IAAI,CAAC;YAyF1E,mBAAmB;YAmFnB,mBAAmB;YA+DnB,gBAAgB;YA4BhB,eAAe;YA+Ff,gBAAgB;YAyFhB,kBAAkB;YAmQlB,iBAAiB;YA4GjB,cAAc;YAiMd,kBAAkB;YA8IlB,wBAAwB;YAgCxB,qBAAqB;YAiErB,sBAAsB;YA2HtB,iBAAiB;IAoD/B,OAAO,CAAC,qBAAqB;IA0C7B;;OAEG;YACW,uBAAuB;CActC"}
|
package/dist/commands/init.js
CHANGED
|
@@ -15,6 +15,9 @@ const ora_1 = __importDefault(require("ora"));
|
|
|
15
15
|
const boxen_1 = __importDefault(require("boxen"));
|
|
16
16
|
const figlet_1 = __importDefault(require("figlet"));
|
|
17
17
|
const terminal_1 = require("../utils/terminal");
|
|
18
|
+
const child_process_1 = require("child_process");
|
|
19
|
+
const util_1 = require("util");
|
|
20
|
+
const execAsync = (0, util_1.promisify)(child_process_1.exec);
|
|
18
21
|
class ProjectInitializer {
|
|
19
22
|
constructor() {
|
|
20
23
|
this.logger = (0, logger_1.createFrameworkLogger)('ProjectInitializer');
|
|
@@ -176,8 +179,8 @@ class ProjectInitializer {
|
|
|
176
179
|
name: projectName,
|
|
177
180
|
version: '1.0.0',
|
|
178
181
|
description: `MoroJS ${config.template} project`,
|
|
179
|
-
main: 'dist/index.js',
|
|
180
182
|
type: 'module',
|
|
183
|
+
main: 'dist/index.js',
|
|
181
184
|
scripts: {
|
|
182
185
|
dev: 'morojs-cli dev',
|
|
183
186
|
build: 'morojs-cli build',
|
|
@@ -193,7 +196,7 @@ class ProjectInitializer {
|
|
|
193
196
|
}),
|
|
194
197
|
},
|
|
195
198
|
dependencies: {
|
|
196
|
-
'@morojs/moro':
|
|
199
|
+
'@morojs/moro': await this.getLatestPackageVersion('@morojs/moro'),
|
|
197
200
|
...(config.database === 'postgresql' && { pg: '^8.11.3', '@types/pg': '^8.10.9' }),
|
|
198
201
|
...(config.database === 'mysql' && { mysql2: '^3.6.5' }),
|
|
199
202
|
...(config.database === 'mongodb' && { mongodb: '^6.3.0' }),
|
|
@@ -202,13 +205,18 @@ class ProjectInitializer {
|
|
|
202
205
|
'drizzle-orm': '^0.29.1',
|
|
203
206
|
'drizzle-kit': '^0.20.6',
|
|
204
207
|
}),
|
|
205
|
-
...(config.features.includes('auth') && {
|
|
208
|
+
...(config.features.includes('auth') && {
|
|
209
|
+
bcryptjs: '^2.4.3',
|
|
210
|
+
}),
|
|
206
211
|
zod: '^3.22.4',
|
|
207
212
|
},
|
|
208
213
|
devDependencies: {
|
|
209
214
|
'@morojs/cli': '^1.0.0',
|
|
210
215
|
'@types/node': '^20.10.0',
|
|
211
216
|
typescript: '^5.3.2',
|
|
217
|
+
...(config.features.includes('auth') && {
|
|
218
|
+
'@types/bcryptjs': '^2.4.0',
|
|
219
|
+
}),
|
|
212
220
|
...(config.features.includes('testing') && {
|
|
213
221
|
jest: '^29.7.0',
|
|
214
222
|
'@types/jest': '^29.5.8',
|
|
@@ -258,18 +266,20 @@ class ProjectInitializer {
|
|
|
258
266
|
'cloudflare-workers': 'createAppWorker',
|
|
259
267
|
};
|
|
260
268
|
const appContent = `// ${config.template.toUpperCase()} MoroJS Application
|
|
261
|
-
import { ${runtimeImports[config.runtime]}, logger } from '@morojs/moro';
|
|
269
|
+
import { ${runtimeImports[config.runtime]}, logger, initializeConfig } from '@morojs/moro';
|
|
262
270
|
${config.database !== 'none' ? `import { setupDatabase } from './database';` : ''}
|
|
263
271
|
${config.features.includes('auth') ? `import { setupAuth } from './middleware/auth';` : ''}
|
|
264
272
|
|
|
273
|
+
// Initialize configuration from moro.config.js and environment variables
|
|
274
|
+
const appConfig = initializeConfig();
|
|
275
|
+
|
|
265
276
|
// Create MoroJS application with ${config.runtime} runtime
|
|
266
277
|
const app = ${runtimeImports[config.runtime]}({
|
|
267
|
-
runtime: { type: '${config.runtime}' },
|
|
268
278
|
${config.features.includes('cors') ? `cors: true,` : ''}
|
|
269
279
|
${config.features.includes('compression') ? `compression: true,` : ''}
|
|
270
280
|
logger: {
|
|
271
|
-
level:
|
|
272
|
-
format: 'pretty'
|
|
281
|
+
level: appConfig.logging?.level || 'info',
|
|
282
|
+
format: appConfig.logging?.format || 'pretty'
|
|
273
283
|
}
|
|
274
284
|
});
|
|
275
285
|
|
|
@@ -316,11 +326,11 @@ app.get('/', async (req, res) => {
|
|
|
316
326
|
${config.runtime === 'node'
|
|
317
327
|
? `
|
|
318
328
|
// Start server (Node.js only)
|
|
319
|
-
const PORT =
|
|
320
|
-
const HOST =
|
|
329
|
+
const PORT = appConfig.server?.port || 3000;
|
|
330
|
+
const HOST = appConfig.server?.host || 'localhost';
|
|
321
331
|
|
|
322
332
|
app.listen(PORT, HOST, () => {
|
|
323
|
-
logger.info(
|
|
333
|
+
logger.info(\`${config.template.charAt(0).toUpperCase() + config.template.slice(1)} server running!\`);
|
|
324
334
|
logger.info(\`HTTP: http://\${HOST}:\${PORT}\`);
|
|
325
335
|
${config.features.includes('websocket') ? `logger.info(\`🔌 WebSocket: ws://\${HOST}:\${PORT}\`);` : ''}
|
|
326
336
|
${config.features.includes('docs') ? `logger.info(\`Docs: http://\${HOST}:\${PORT}/docs\`);` : ''}
|
|
@@ -407,62 +417,214 @@ CLOUDFLARE_API_TOKEN=`
|
|
|
407
417
|
}
|
|
408
418
|
async generateMoroConfig(projectPath, config) {
|
|
409
419
|
const configContent = `// MoroJS Configuration
|
|
410
|
-
|
|
420
|
+
// Generated based on selected features: ${config.features.join(', ')}
|
|
421
|
+
// Reference: https://morojs.com/docs/configuration
|
|
411
422
|
|
|
412
423
|
export default {
|
|
424
|
+
// Server Configuration
|
|
413
425
|
server: {
|
|
414
|
-
port: parseInt(process.env.PORT || '3000'),
|
|
415
|
-
host: process.env.HOST || 'localhost',
|
|
416
|
-
environment: process.env.NODE_ENV || 'development'
|
|
417
|
-
|
|
418
|
-
|
|
419
|
-
|
|
420
|
-
? `database: {
|
|
421
|
-
${config.database === 'postgresql' ? `url: process.env.DATABASE_URL` : ''}
|
|
422
|
-
${config.database === 'mysql' ? `url: process.env.DATABASE_URL` : ''}
|
|
423
|
-
${config.database === 'mongodb' ? `url: process.env.MONGODB_URI` : ''}
|
|
424
|
-
${config.database === 'redis' ? `redis: { url: process.env.REDIS_URL }` : ''}
|
|
425
|
-
},`
|
|
426
|
+
port: parseInt(process.env.PORT || process.env.MORO_PORT || '3000'),
|
|
427
|
+
host: process.env.HOST || process.env.MORO_HOST || 'localhost',
|
|
428
|
+
environment: process.env.NODE_ENV || process.env.MORO_ENV || 'development'${config.runtime === 'node'
|
|
429
|
+
? `,
|
|
430
|
+
maxConnections: parseInt(process.env.MAX_CONNECTIONS || process.env.MORO_MAX_CONNECTIONS || '1000'),
|
|
431
|
+
timeout: parseInt(process.env.REQUEST_TIMEOUT || process.env.MORO_TIMEOUT || '30000')`
|
|
426
432
|
: ''}
|
|
427
|
-
|
|
433
|
+
},
|
|
434
|
+
|
|
435
|
+
${config.database !== 'none' && config.database !== 'sqlite'
|
|
436
|
+
? ` // Database Configuration
|
|
437
|
+
database: {${config.database === 'postgresql'
|
|
438
|
+
? `
|
|
439
|
+
url: process.env.DATABASE_URL || process.env.MORO_DATABASE_URL`
|
|
440
|
+
: ''}${config.database === 'mysql'
|
|
441
|
+
? `
|
|
442
|
+
mysql: {
|
|
443
|
+
host: process.env.MYSQL_HOST || process.env.MORO_MYSQL_HOST || 'localhost',
|
|
444
|
+
port: parseInt(process.env.MYSQL_PORT || process.env.MORO_MYSQL_PORT || '3306'),
|
|
445
|
+
database: process.env.MYSQL_DATABASE || process.env.MORO_MYSQL_DB,
|
|
446
|
+
username: process.env.MYSQL_USERNAME || process.env.MORO_MYSQL_USER,
|
|
447
|
+
password: process.env.MYSQL_PASSWORD || process.env.MORO_MYSQL_PASS,
|
|
448
|
+
connectionLimit: parseInt(process.env.MYSQL_CONNECTION_LIMIT || process.env.MORO_MYSQL_CONNECTIONS || '10'),
|
|
449
|
+
acquireTimeout: parseInt(process.env.MYSQL_ACQUIRE_TIMEOUT || '60000'),
|
|
450
|
+
timeout: parseInt(process.env.MYSQL_TIMEOUT || '60000')
|
|
451
|
+
}`
|
|
452
|
+
: ''}${config.database === 'mongodb'
|
|
453
|
+
? `
|
|
454
|
+
url: process.env.DATABASE_URL || process.env.MONGODB_URI || process.env.MORO_DATABASE_URL || 'mongodb://localhost:27017/database'`
|
|
455
|
+
: ''}${config.database === 'redis' || config.features.includes('cache')
|
|
456
|
+
? `,
|
|
457
|
+
redis: {
|
|
458
|
+
url: process.env.REDIS_URL || process.env.MORO_REDIS_URL || 'redis://localhost:6379',
|
|
459
|
+
maxRetries: parseInt(process.env.REDIS_MAX_RETRIES || process.env.MORO_REDIS_RETRIES || '3'),
|
|
460
|
+
retryDelay: parseInt(process.env.REDIS_RETRY_DELAY || process.env.MORO_REDIS_DELAY || '1000'),
|
|
461
|
+
keyPrefix: process.env.REDIS_KEY_PREFIX || process.env.MORO_REDIS_PREFIX || 'moro:'
|
|
462
|
+
}`
|
|
463
|
+
: ''}
|
|
464
|
+
},
|
|
465
|
+
|
|
466
|
+
`
|
|
467
|
+
: ''} // Logging Configuration
|
|
428
468
|
logging: {
|
|
429
|
-
level: process.env.LOG_LEVEL || 'info',
|
|
430
|
-
format: 'pretty',
|
|
431
|
-
enableColors:
|
|
432
|
-
enableTimestamp:
|
|
469
|
+
level: process.env.LOG_LEVEL || process.env.MORO_LOG_LEVEL || 'info',
|
|
470
|
+
format: process.env.LOG_FORMAT || process.env.MORO_LOG_FORMAT || (process.env.NODE_ENV === 'production' ? 'json' : 'pretty'),
|
|
471
|
+
enableColors: process.env.LOG_COLORS !== 'false' && process.env.NO_COLOR !== '1' && process.env.NODE_ENV !== 'production',
|
|
472
|
+
enableTimestamp: process.env.LOG_TIMESTAMP !== 'false',
|
|
473
|
+
enableContext: process.env.LOG_CONTEXT !== 'false'${config.features.includes('monitoring')
|
|
474
|
+
? `,
|
|
475
|
+
outputs: {
|
|
476
|
+
console: true,
|
|
477
|
+
file: {
|
|
478
|
+
enabled: process.env.LOG_FILE_ENABLED === 'true' || process.env.MORO_LOG_FILE === 'true' || process.env.NODE_ENV === 'production',
|
|
479
|
+
path: process.env.LOG_FILE_PATH || process.env.MORO_LOG_PATH || './logs/moro.log',
|
|
480
|
+
maxSize: '10MB',
|
|
481
|
+
maxFiles: 5
|
|
482
|
+
}${config.features.includes('webhook-logging')
|
|
483
|
+
? `,
|
|
484
|
+
webhook: {
|
|
485
|
+
enabled: !!process.env.LOG_WEBHOOK_URL || !!process.env.MORO_LOG_WEBHOOK_URL,
|
|
486
|
+
url: process.env.LOG_WEBHOOK_URL || process.env.MORO_LOG_WEBHOOK_URL,
|
|
487
|
+
headers: {
|
|
488
|
+
'Authorization': process.env.LOG_WEBHOOK_AUTH,
|
|
489
|
+
'Content-Type': 'application/json'
|
|
490
|
+
}
|
|
491
|
+
}`
|
|
492
|
+
: ''}
|
|
493
|
+
}`
|
|
494
|
+
: ''}
|
|
433
495
|
},
|
|
434
|
-
|
|
496
|
+
|
|
497
|
+
// Security Configuration
|
|
435
498
|
security: {
|
|
436
499
|
cors: {
|
|
437
|
-
enabled:
|
|
438
|
-
|
|
500
|
+
enabled: ${config.features.includes('cors') ? "process.env.CORS_ENABLED !== 'false'" : 'false'},${config.features.includes('cors')
|
|
501
|
+
? `
|
|
502
|
+
origin: process.env.NODE_ENV === 'production'
|
|
503
|
+
? (process.env.CORS_ORIGIN || process.env.MORO_CORS_ORIGIN || false)?.split(',')
|
|
504
|
+
: '*',
|
|
505
|
+
methods: (process.env.CORS_METHODS || process.env.MORO_CORS_METHODS || 'GET,POST,PUT,DELETE,PATCH,OPTIONS').split(','),
|
|
506
|
+
allowedHeaders: (process.env.CORS_HEADERS || process.env.MORO_CORS_HEADERS || 'Content-Type,Authorization').split(','),
|
|
507
|
+
credentials: process.env.CORS_CREDENTIALS === 'true'`
|
|
508
|
+
: ''}
|
|
439
509
|
},
|
|
440
510
|
helmet: {
|
|
441
|
-
enabled:
|
|
442
|
-
|
|
511
|
+
enabled: process.env.HELMET_ENABLED !== 'false',
|
|
512
|
+
contentSecurityPolicy: process.env.NODE_ENV === 'production',
|
|
513
|
+
hsts: process.env.NODE_ENV === 'production',
|
|
514
|
+
noSniff: true,
|
|
515
|
+
frameguard: true
|
|
516
|
+
}${config.features.includes('rate-limit')
|
|
517
|
+
? `,
|
|
518
|
+
rateLimit: {
|
|
519
|
+
enabled: process.env.GLOBAL_RATE_LIMIT_ENABLED === 'true',
|
|
520
|
+
requests: parseInt(process.env.GLOBAL_RATE_LIMIT_REQUESTS || process.env.MORO_GLOBAL_RATE_REQUESTS || '1000'),
|
|
521
|
+
window: 60000 // 1 minute window
|
|
522
|
+
}`
|
|
523
|
+
: ''}
|
|
443
524
|
},
|
|
444
|
-
|
|
445
|
-
|
|
525
|
+
|
|
526
|
+
${config.features.includes('compression') ||
|
|
527
|
+
config.features.includes('circuit-breaker') ||
|
|
528
|
+
config.runtime === 'node'
|
|
529
|
+
? ` // Performance Configuration
|
|
530
|
+
performance: {${config.features.includes('compression')
|
|
531
|
+
? `
|
|
446
532
|
compression: {
|
|
447
|
-
enabled:
|
|
448
|
-
level: 6
|
|
449
|
-
|
|
533
|
+
enabled: process.env.COMPRESSION_ENABLED !== 'false',
|
|
534
|
+
level: parseInt(process.env.COMPRESSION_LEVEL || process.env.MORO_COMPRESSION_LEVEL || '6'),
|
|
535
|
+
threshold: parseInt(process.env.COMPRESSION_THRESHOLD || process.env.MORO_COMPRESSION_THRESHOLD || '1024')
|
|
536
|
+
}${config.features.includes('circuit-breaker') || config.runtime === 'node' ? ',' : ''}`
|
|
537
|
+
: ''}${config.features.includes('circuit-breaker')
|
|
538
|
+
? `
|
|
450
539
|
circuitBreaker: {
|
|
451
|
-
enabled:
|
|
452
|
-
|
|
540
|
+
enabled: process.env.CIRCUIT_BREAKER_ENABLED !== 'false',
|
|
541
|
+
failureThreshold: parseInt(process.env.CIRCUIT_BREAKER_THRESHOLD || process.env.MORO_CB_THRESHOLD || '5'),
|
|
542
|
+
resetTimeout: parseInt(process.env.CIRCUIT_BREAKER_RESET_TIMEOUT || '60000'),
|
|
543
|
+
monitoringPeriod: parseInt(process.env.CIRCUIT_BREAKER_MONITORING_PERIOD || '10000')
|
|
544
|
+
}${config.runtime === 'node' ? ',' : ''}`
|
|
545
|
+
: ''}${config.runtime === 'node'
|
|
546
|
+
? `
|
|
547
|
+
clustering: {
|
|
548
|
+
enabled: process.env.CLUSTERING_ENABLED === 'true',
|
|
549
|
+
workers: parseInt(process.env.CLUSTER_WORKERS || process.env.MORO_WORKERS) || require('os').cpus().length
|
|
550
|
+
}`
|
|
551
|
+
: ''}
|
|
453
552
|
},
|
|
454
|
-
|
|
455
|
-
|
|
553
|
+
|
|
554
|
+
`
|
|
555
|
+
: ''} // Module Configuration
|
|
556
|
+
modules: {${config.features.includes('cache')
|
|
557
|
+
? `
|
|
456
558
|
cache: {
|
|
457
|
-
enabled:
|
|
458
|
-
defaultTtl: 300
|
|
459
|
-
|
|
559
|
+
enabled: process.env.CACHE_ENABLED !== 'false' || process.env.MORO_CACHE_ENABLED !== 'false',
|
|
560
|
+
defaultTtl: parseInt(process.env.DEFAULT_CACHE_TTL || process.env.MORO_CACHE_TTL || '300'),
|
|
561
|
+
maxSize: parseInt(process.env.CACHE_MAX_SIZE || process.env.MORO_CACHE_SIZE || '1000'),
|
|
562
|
+
strategy: process.env.CACHE_STRATEGY || process.env.MORO_CACHE_STRATEGY || 'lru'
|
|
563
|
+
}${config.features.includes('rate-limit') || config.features.includes('validation') ? ',' : ''}`
|
|
564
|
+
: ''}${config.features.includes('rate-limit')
|
|
565
|
+
? `
|
|
460
566
|
rateLimit: {
|
|
461
|
-
enabled:
|
|
462
|
-
defaultRequests: 100,
|
|
463
|
-
defaultWindow: 60000
|
|
464
|
-
|
|
465
|
-
|
|
567
|
+
enabled: process.env.RATE_LIMIT_ENABLED !== 'false' || process.env.MORO_RATE_LIMIT_ENABLED !== 'false',
|
|
568
|
+
defaultRequests: parseInt(process.env.DEFAULT_RATE_LIMIT_REQUESTS || process.env.MORO_RATE_LIMIT_REQUESTS || '100'),
|
|
569
|
+
defaultWindow: parseInt(process.env.DEFAULT_RATE_LIMIT_WINDOW || process.env.MORO_RATE_LIMIT_WINDOW || '60000'),
|
|
570
|
+
skipSuccessfulRequests: process.env.RATE_LIMIT_SKIP_SUCCESS === 'true',
|
|
571
|
+
skipFailedRequests: process.env.RATE_LIMIT_SKIP_FAILED === 'true'
|
|
572
|
+
}${config.features.includes('validation') ? ',' : ''}`
|
|
573
|
+
: ''}${config.features.includes('validation')
|
|
574
|
+
? `
|
|
575
|
+
validation: {
|
|
576
|
+
enabled: process.env.VALIDATION_ENABLED !== 'false' || process.env.MORO_VALIDATION_ENABLED !== 'false',
|
|
577
|
+
stripUnknown: process.env.VALIDATION_STRIP_UNKNOWN !== 'false',
|
|
578
|
+
abortEarly: process.env.VALIDATION_ABORT_EARLY === 'true'
|
|
579
|
+
}`
|
|
580
|
+
: ''}
|
|
581
|
+
}${config.features.includes('service-discovery')
|
|
582
|
+
? `,
|
|
583
|
+
|
|
584
|
+
// Service Discovery Configuration
|
|
585
|
+
serviceDiscovery: {
|
|
586
|
+
enabled: process.env.SERVICE_DISCOVERY_ENABLED === 'true' || process.env.MORO_SERVICE_DISCOVERY === 'true',
|
|
587
|
+
type: process.env.DISCOVERY_TYPE || process.env.MORO_DISCOVERY_TYPE || 'memory',
|
|
588
|
+
consulUrl: process.env.CONSUL_URL || process.env.MORO_CONSUL_URL || 'http://localhost:8500',
|
|
589
|
+
kubernetesNamespace: process.env.K8S_NAMESPACE || process.env.MORO_K8S_NAMESPACE || 'default',
|
|
590
|
+
healthCheckInterval: parseInt(process.env.HEALTH_CHECK_INTERVAL || process.env.MORO_HEALTH_INTERVAL || '30000'),
|
|
591
|
+
retryAttempts: parseInt(process.env.DISCOVERY_RETRY_ATTEMPTS || process.env.MORO_DISCOVERY_RETRIES || '3')
|
|
592
|
+
}`
|
|
593
|
+
: ''}${config.features.some((f) => ['stripe', 'paypal', 'smtp', 'email'].includes(f))
|
|
594
|
+
? `,
|
|
595
|
+
|
|
596
|
+
// External Services Configuration
|
|
597
|
+
external: {${config.features.includes('stripe')
|
|
598
|
+
? `
|
|
599
|
+
// Stripe Configuration (uncomment and configure)
|
|
600
|
+
// stripe: {
|
|
601
|
+
// secretKey: process.env.STRIPE_SECRET_KEY || process.env.MORO_STRIPE_SECRET,
|
|
602
|
+
// publishableKey: process.env.STRIPE_PUBLISHABLE_KEY || process.env.MORO_STRIPE_PUBLIC,
|
|
603
|
+
// webhookSecret: process.env.STRIPE_WEBHOOK_SECRET || process.env.MORO_STRIPE_WEBHOOK,
|
|
604
|
+
// apiVersion: process.env.STRIPE_API_VERSION || process.env.MORO_STRIPE_VERSION || '2023-10-16'
|
|
605
|
+
// }${config.features.includes('paypal') || config.features.includes('smtp') ? ',' : ''}`
|
|
606
|
+
: ''}${config.features.includes('paypal')
|
|
607
|
+
? `
|
|
608
|
+
// PayPal Configuration (uncomment and configure)
|
|
609
|
+
// paypal: {
|
|
610
|
+
// clientId: process.env.PAYPAL_CLIENT_ID || process.env.MORO_PAYPAL_CLIENT,
|
|
611
|
+
// clientSecret: process.env.PAYPAL_CLIENT_SECRET || process.env.MORO_PAYPAL_SECRET,
|
|
612
|
+
// webhookId: process.env.PAYPAL_WEBHOOK_ID,
|
|
613
|
+
// environment: process.env.PAYPAL_ENVIRONMENT || process.env.MORO_PAYPAL_ENV || 'sandbox'
|
|
614
|
+
// }${config.features.includes('smtp') ? ',' : ''}`
|
|
615
|
+
: ''}${config.features.includes('smtp') || config.features.includes('email')
|
|
616
|
+
? `
|
|
617
|
+
// SMTP Configuration (uncomment and configure)
|
|
618
|
+
// smtp: {
|
|
619
|
+
// host: process.env.SMTP_HOST || process.env.MORO_SMTP_HOST,
|
|
620
|
+
// port: parseInt(process.env.SMTP_PORT || process.env.MORO_SMTP_PORT || '587'),
|
|
621
|
+
// secure: process.env.SMTP_SECURE === 'true',
|
|
622
|
+
// username: process.env.SMTP_USERNAME || process.env.MORO_SMTP_USER,
|
|
623
|
+
// password: process.env.SMTP_PASSWORD || process.env.MORO_SMTP_PASS
|
|
624
|
+
// }`
|
|
625
|
+
: ''}
|
|
626
|
+
}`
|
|
627
|
+
: ''}
|
|
466
628
|
};`;
|
|
467
629
|
await (0, promises_1.writeFile)((0, path_1.join)(projectPath, 'moro.config.js'), configContent);
|
|
468
630
|
}
|
|
@@ -621,6 +783,28 @@ npm start
|
|
|
621
783
|
- **Welcome**: \`GET /\`
|
|
622
784
|
${config.features.includes('docs') ? `- **API Docs**: \`GET /docs\`` : ''}
|
|
623
785
|
|
|
786
|
+
## Configuration
|
|
787
|
+
|
|
788
|
+
This project includes a comprehensive configuration system:
|
|
789
|
+
|
|
790
|
+
- **\`moro.config.js\`** - Feature-based configuration with production-ready defaults
|
|
791
|
+
- **\`.env\`** - Environment variables for development
|
|
792
|
+
- **\`.env.example\`** - Environment variables template
|
|
793
|
+
|
|
794
|
+
### Production Setup
|
|
795
|
+
|
|
796
|
+
1. Set up production environment variables:
|
|
797
|
+
\`\`\`bash
|
|
798
|
+
cp .env.example .env.production
|
|
799
|
+
# Edit .env.production with your production values
|
|
800
|
+
\`\`\`
|
|
801
|
+
|
|
802
|
+
2. The configuration automatically adapts to production when \`NODE_ENV=production\`:
|
|
803
|
+
- **Performance**: Compression, clustering, circuit breakers
|
|
804
|
+
- **Security**: CORS, Helmet, rate limiting, SSL
|
|
805
|
+
- **Monitoring**: Structured logging, file outputs
|
|
806
|
+
- **Scalability**: Redis caching, connection pooling
|
|
807
|
+
|
|
624
808
|
## Database
|
|
625
809
|
|
|
626
810
|
${config.database !== 'none'
|
|
@@ -883,24 +1067,37 @@ volumes:
|
|
|
883
1067
|
}
|
|
884
1068
|
}
|
|
885
1069
|
async generateDatabaseSetup(projectPath, config) {
|
|
1070
|
+
// Fix the adapter name for PostgreSQL (should be PostgreSQLAdapter, not PostgresqlAdapter)
|
|
1071
|
+
const getAdapterName = (dbType) => {
|
|
1072
|
+
if (dbType === 'postgresql')
|
|
1073
|
+
return 'PostgreSQLAdapter';
|
|
1074
|
+
return dbType.charAt(0).toUpperCase() + dbType.slice(1) + 'Adapter';
|
|
1075
|
+
};
|
|
1076
|
+
const adapterName = getAdapterName(config.database);
|
|
886
1077
|
const dbSetupContent = `// Database Setup and Configuration
|
|
887
|
-
import { ${
|
|
1078
|
+
import { ${adapterName} } from '@morojs/moro';
|
|
888
1079
|
import { createFrameworkLogger } from '@morojs/moro';
|
|
889
1080
|
|
|
890
1081
|
const logger = createFrameworkLogger('Database');
|
|
891
1082
|
|
|
892
1083
|
export async function setupDatabase(app: any): Promise<void> {
|
|
893
1084
|
try {
|
|
894
|
-
const adapter = new ${
|
|
895
|
-
${config.database === 'postgresql'
|
|
1085
|
+
const adapter = new ${adapterName}({
|
|
1086
|
+
${config.database === 'postgresql'
|
|
896
1087
|
? `
|
|
897
|
-
|
|
898
|
-
|
|
899
|
-
|
|
900
|
-
|
|
901
|
-
|
|
902
|
-
|
|
903
|
-
|
|
1088
|
+
host: process.env.POSTGRESQL_HOST || 'localhost',
|
|
1089
|
+
port: parseInt(process.env.POSTGRESQL_PORT || '5432'),
|
|
1090
|
+
user: process.env.POSTGRESQL_USER || 'postgres',
|
|
1091
|
+
password: process.env.POSTGRESQL_PASSWORD,
|
|
1092
|
+
database: process.env.POSTGRESQL_DATABASE`
|
|
1093
|
+
: config.database === 'mysql'
|
|
1094
|
+
? `
|
|
1095
|
+
host: process.env.MYSQL_HOST || 'localhost',
|
|
1096
|
+
port: parseInt(process.env.MYSQL_PORT || '3306'),
|
|
1097
|
+
user: process.env.MYSQL_USER || 'mysql',
|
|
1098
|
+
password: process.env.MYSQL_PASSWORD,
|
|
1099
|
+
database: process.env.MYSQL_DATABASE`
|
|
1100
|
+
: ''}
|
|
904
1101
|
${config.database === 'mongodb'
|
|
905
1102
|
? `
|
|
906
1103
|
url: process.env.MONGODB_URI`
|
|
@@ -915,62 +1112,133 @@ export async function setupDatabase(app: any): Promise<void> {
|
|
|
915
1112
|
|
|
916
1113
|
await adapter.connect();
|
|
917
1114
|
app.database(adapter);
|
|
918
|
-
|
|
1115
|
+
|
|
919
1116
|
logger.info('✅ Database connected successfully', 'Database');
|
|
920
1117
|
} catch (error) {
|
|
921
|
-
logger.error('❌ Database connection failed:'
|
|
922
|
-
|
|
1118
|
+
logger.error('❌ Database connection failed: ' + String(error), 'Database');
|
|
1119
|
+
logger.warn('⚠️ App will continue without database connection', 'Database');
|
|
1120
|
+
// Don't throw - let the app continue without database
|
|
923
1121
|
}
|
|
924
1122
|
}`;
|
|
925
1123
|
await (0, promises_1.writeFile)((0, path_1.join)(projectPath, 'src', 'database', 'index.ts'), dbSetupContent);
|
|
926
1124
|
}
|
|
927
1125
|
async generateAuthMiddleware(projectPath) {
|
|
928
|
-
const authContent = `// Authentication Middleware
|
|
929
|
-
import {
|
|
930
|
-
import jwt from 'jsonwebtoken';
|
|
1126
|
+
const authContent = `// Auth.js Authentication Middleware
|
|
1127
|
+
import { builtInMiddleware, providers } from '@morojs/moro';
|
|
931
1128
|
import bcrypt from 'bcryptjs';
|
|
932
1129
|
|
|
933
|
-
const JWT_SECRET = process.env.JWT_SECRET || 'your-secret-key';
|
|
934
|
-
|
|
935
1130
|
export async function setupAuth(app: any): Promise<void> {
|
|
936
|
-
//
|
|
937
|
-
app.use(auth({
|
|
938
|
-
secret:
|
|
939
|
-
|
|
940
|
-
|
|
1131
|
+
// Configure Auth.js providers
|
|
1132
|
+
app.use(builtInMiddleware.auth({
|
|
1133
|
+
secret: process.env.NEXTAUTH_SECRET || process.env.AUTH_SECRET || 'your-secret-key-change-in-production',
|
|
1134
|
+
providers: [
|
|
1135
|
+
// Credentials provider for email/password authentication
|
|
1136
|
+
providers.credentials({
|
|
1137
|
+
name: 'credentials',
|
|
1138
|
+
credentials: {
|
|
1139
|
+
email: { label: 'Email', type: 'email', placeholder: 'user@example.com' },
|
|
1140
|
+
password: { label: 'Password', type: 'password' }
|
|
1141
|
+
},
|
|
1142
|
+
authorize: async (credentials) => {
|
|
1143
|
+
if (!credentials?.email || !credentials?.password) {
|
|
1144
|
+
return null;
|
|
1145
|
+
}
|
|
1146
|
+
|
|
1147
|
+
// TODO: Replace with actual database lookup
|
|
1148
|
+
// const user = await getUserByEmail(credentials.email);
|
|
1149
|
+
// if (user && await bcrypt.compare(credentials.password, user.password)) {
|
|
1150
|
+
// return { id: user.id, name: user.name, email: user.email };
|
|
1151
|
+
// }
|
|
1152
|
+
|
|
1153
|
+
// Mock implementation for development
|
|
1154
|
+
if (credentials.email === 'admin@example.com' && credentials.password === 'password') {
|
|
1155
|
+
return {
|
|
1156
|
+
id: '1',
|
|
1157
|
+
name: 'Admin User',
|
|
1158
|
+
email: 'admin@example.com',
|
|
1159
|
+
role: 'admin'
|
|
1160
|
+
};
|
|
1161
|
+
}
|
|
1162
|
+
|
|
1163
|
+
return null;
|
|
1164
|
+
}
|
|
1165
|
+
}),
|
|
1166
|
+
|
|
1167
|
+
// Uncomment and configure OAuth providers as needed:
|
|
1168
|
+
|
|
1169
|
+
// providers.google({
|
|
1170
|
+
// clientId: process.env.GOOGLE_CLIENT_ID!,
|
|
1171
|
+
// clientSecret: process.env.GOOGLE_CLIENT_SECRET!,
|
|
1172
|
+
// }),
|
|
1173
|
+
|
|
1174
|
+
// providers.github({
|
|
1175
|
+
// clientId: process.env.GITHUB_CLIENT_ID!,
|
|
1176
|
+
// clientSecret: process.env.GITHUB_CLIENT_SECRET!,
|
|
1177
|
+
// }),
|
|
1178
|
+
|
|
1179
|
+
// providers.discord({
|
|
1180
|
+
// clientId: process.env.DISCORD_CLIENT_ID!,
|
|
1181
|
+
// clientSecret: process.env.DISCORD_CLIENT_SECRET!,
|
|
1182
|
+
// }),
|
|
1183
|
+
],
|
|
1184
|
+
session: {
|
|
1185
|
+
strategy: 'jwt', // Use JWT tokens for sessions
|
|
1186
|
+
maxAge: 30 * 24 * 60 * 60, // 30 days
|
|
1187
|
+
},
|
|
1188
|
+
pages: {
|
|
1189
|
+
signIn: '/auth/signin',
|
|
1190
|
+
signOut: '/auth/signout',
|
|
1191
|
+
error: '/auth/error',
|
|
1192
|
+
},
|
|
1193
|
+
callbacks: {
|
|
1194
|
+
jwt: async ({ token, user }) => {
|
|
1195
|
+
if (user) {
|
|
1196
|
+
token.role = user.role;
|
|
1197
|
+
}
|
|
1198
|
+
return token;
|
|
1199
|
+
},
|
|
1200
|
+
session: async ({ session, token }) => {
|
|
1201
|
+
if (token?.role) {
|
|
1202
|
+
session.user.role = token.role;
|
|
1203
|
+
}
|
|
1204
|
+
return session;
|
|
1205
|
+
},
|
|
1206
|
+
},
|
|
1207
|
+
debug: process.env.NODE_ENV === 'development',
|
|
941
1208
|
}));
|
|
942
1209
|
|
|
943
|
-
//
|
|
944
|
-
app.
|
|
945
|
-
|
|
946
|
-
|
|
947
|
-
// TODO: Implement user lookup from database
|
|
948
|
-
// const user = await getUserByEmail(email);
|
|
949
|
-
// const isValid = await bcrypt.compare(password, user.password);
|
|
950
|
-
|
|
951
|
-
// Mock implementation
|
|
952
|
-
if (email === 'admin@example.com' && password === 'password') {
|
|
953
|
-
const token = jwt.sign(
|
|
954
|
-
{ userId: 1, email, roles: ['admin'] },
|
|
955
|
-
JWT_SECRET,
|
|
956
|
-
{ expiresIn: process.env.JWT_EXPIRES_IN || '24h' }
|
|
957
|
-
);
|
|
958
|
-
|
|
959
|
-
return { success: true, token, user: { id: 1, email, roles: ['admin'] } };
|
|
960
|
-
}
|
|
961
|
-
|
|
1210
|
+
// Protected route example
|
|
1211
|
+
app.get('/api/profile', async (req: any, res: any) => {
|
|
1212
|
+
// Auth.js automatically adds auth object to request
|
|
1213
|
+
if (!req.auth?.isAuthenticated) {
|
|
962
1214
|
res.status(401);
|
|
963
|
-
|
|
1215
|
+
return { success: false, error: 'Authentication required' };
|
|
1216
|
+
}
|
|
1217
|
+
|
|
1218
|
+
return {
|
|
1219
|
+
success: true,
|
|
1220
|
+
user: req.auth.user,
|
|
1221
|
+
session: req.auth.session
|
|
1222
|
+
};
|
|
964
1223
|
});
|
|
965
1224
|
|
|
966
|
-
//
|
|
967
|
-
app.get('/
|
|
968
|
-
if (!req.
|
|
1225
|
+
// Admin-only route example
|
|
1226
|
+
app.get('/api/admin', async (req: any, res: any) => {
|
|
1227
|
+
if (!req.auth?.isAuthenticated) {
|
|
969
1228
|
res.status(401);
|
|
970
1229
|
return { success: false, error: 'Authentication required' };
|
|
971
1230
|
}
|
|
972
|
-
|
|
973
|
-
|
|
1231
|
+
|
|
1232
|
+
if (req.auth.user?.role !== 'admin') {
|
|
1233
|
+
res.status(403);
|
|
1234
|
+
return { success: false, error: 'Admin access required' };
|
|
1235
|
+
}
|
|
1236
|
+
|
|
1237
|
+
return {
|
|
1238
|
+
success: true,
|
|
1239
|
+
message: 'Admin access granted',
|
|
1240
|
+
user: req.auth.user
|
|
1241
|
+
};
|
|
974
1242
|
});
|
|
975
1243
|
}`;
|
|
976
1244
|
await (0, promises_1.writeFile)((0, path_1.join)(projectPath, 'src', 'middleware', 'auth.ts'), authContent);
|
|
@@ -1056,6 +1324,24 @@ ${config.features.map((f) => ` • ${f}`).join('\n')}
|
|
|
1056
1324
|
borderColor: 'green',
|
|
1057
1325
|
}));
|
|
1058
1326
|
}
|
|
1327
|
+
/**
|
|
1328
|
+
* Fetch the latest version of a package from NPM registry
|
|
1329
|
+
*/
|
|
1330
|
+
async getLatestPackageVersion(packageName) {
|
|
1331
|
+
try {
|
|
1332
|
+
const { stdout } = await execAsync(`npm view ${packageName} version`);
|
|
1333
|
+
const version = stdout.trim();
|
|
1334
|
+
return `^${version}`;
|
|
1335
|
+
}
|
|
1336
|
+
catch (error) {
|
|
1337
|
+
this.logger.warn(`Failed to fetch latest version for ${packageName}, using fallback`, 'Init');
|
|
1338
|
+
// Fallback to a reasonable default if npm view fails
|
|
1339
|
+
if (packageName === '@morojs/moro') {
|
|
1340
|
+
return '^1.1.0';
|
|
1341
|
+
}
|
|
1342
|
+
return '^1.1.0';
|
|
1343
|
+
}
|
|
1344
|
+
}
|
|
1059
1345
|
}
|
|
1060
1346
|
exports.ProjectInitializer = ProjectInitializer;
|
|
1061
1347
|
//# sourceMappingURL=init.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"init.js","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"init.js","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"module-stub-generator.d.ts","sourceRoot":"","sources":["../src/module-stub-generator.ts"],"names":[],"mappings":"AAMA,qBAAa,mBAAmB;IAC9B,OAAO,CAAC,MAAM,CAAgD;IAExD,sBAAsB,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC;IAoBjE,WAAW,IAAI,OAAO,CAAC,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"module-stub-generator.d.ts","sourceRoot":"","sources":["../src/module-stub-generator.ts"],"names":[],"mappings":"AAMA,qBAAa,mBAAmB;IAC9B,OAAO,CAAC,MAAM,CAAgD;IAExD,sBAAsB,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC;IAoBjE,WAAW,IAAI,OAAO,CAAC,IAAI,CAAC;IAqC5B,cAAc,CAClB,IAAI,EAAE,MAAM,EACZ,QAAQ,GAAE,MAAM,EAAO,EACvB,eAAe,GAAE,GAAQ,GACxB,OAAO,CAAC,IAAI,CAAC;IAmChB,OAAO,CAAC,UAAU;IA2BlB,OAAO,CAAC,YAAY;IAmDpB,OAAO,CAAC,WAAW;IAYnB,OAAO,CAAC,YAAY;IAgFpB,OAAO,CAAC,WAAW;IA2InB,OAAO,CAAC,YAAY;YA0BN,aAAa;IAyD3B,OAAO,CAAC,UAAU;IA+BlB,OAAO,CAAC,UAAU;CAGnB"}
|
|
@@ -57,7 +57,7 @@ class ModuleStubGenerator {
|
|
|
57
57
|
withDocs: options.withDocs,
|
|
58
58
|
database: options.database,
|
|
59
59
|
template: options.template,
|
|
60
|
-
routes: options.routes
|
|
60
|
+
routes: options.routes,
|
|
61
61
|
});
|
|
62
62
|
}
|
|
63
63
|
async listModules() {
|
|
@@ -85,7 +85,7 @@ class ModuleStubGenerator {
|
|
|
85
85
|
}
|
|
86
86
|
}
|
|
87
87
|
async generateModule(name, features = [], advancedOptions = {}) {
|
|
88
|
-
const modulePath = (0, path_1.join)(process.cwd(), name);
|
|
88
|
+
const modulePath = (0, path_1.join)(process.cwd(), 'src', 'modules', name);
|
|
89
89
|
// Create module directory
|
|
90
90
|
await (0, promises_1.mkdir)(modulePath, { recursive: true });
|
|
91
91
|
// Generate files based on features
|
|
@@ -98,7 +98,7 @@ class ModuleStubGenerator {
|
|
|
98
98
|
this.writeActions(modulePath, name, hasDatabase),
|
|
99
99
|
this.writeRoutes(modulePath, name),
|
|
100
100
|
hasWebSocket ? this.writeSockets(modulePath, name) : Promise.resolve(),
|
|
101
|
-
hasDatabase ? this.writeDatabase(modulePath, name) : Promise.resolve()
|
|
101
|
+
hasDatabase ? this.writeDatabase(modulePath, name) : Promise.resolve(),
|
|
102
102
|
]);
|
|
103
103
|
await this.writeIndex(modulePath, name, hasWebSocket);
|
|
104
104
|
this.logger.info(`Generated functional module: ${name}`, 'Generation');
|
|
@@ -221,17 +221,17 @@ export async function create${className}(data: Create${className}Request, databa
|
|
|
221
221
|
};
|
|
222
222
|
|
|
223
223
|
items.push(newItem);
|
|
224
|
-
|
|
224
|
+
|
|
225
225
|
// Intentional event emission
|
|
226
226
|
await events.emit('${name}.created', { ${name}: newItem });
|
|
227
|
-
|
|
227
|
+
|
|
228
228
|
return newItem;
|
|
229
229
|
}
|
|
230
230
|
|
|
231
231
|
export async function update${className}(id: number, data: Update${className}Request, database: any, events: any): Promise<${className} | null> {
|
|
232
232
|
const items = database.${name}s || [];
|
|
233
233
|
const itemIndex = items.findIndex((item: ${className}) => item.id === id);
|
|
234
|
-
|
|
234
|
+
|
|
235
235
|
if (itemIndex === -1) {
|
|
236
236
|
return null;
|
|
237
237
|
}
|
|
@@ -240,34 +240,34 @@ export async function update${className}(id: number, data: Update${className}Req
|
|
|
240
240
|
if (data.name !== undefined) updates.name = data.name;
|
|
241
241
|
if (data.description !== undefined) updates.description = data.description;
|
|
242
242
|
if (data.active !== undefined) updates.active = data.active;
|
|
243
|
-
|
|
243
|
+
|
|
244
244
|
if (Object.keys(updates).length === 0) {
|
|
245
245
|
return items[itemIndex];
|
|
246
246
|
}
|
|
247
|
-
|
|
247
|
+
|
|
248
248
|
updates.updatedAt = new Date();
|
|
249
249
|
items[itemIndex] = { ...items[itemIndex], ...updates };
|
|
250
|
-
|
|
250
|
+
|
|
251
251
|
// Intentional event emission
|
|
252
252
|
await events.emit('${name}.updated', { ${name}: items[itemIndex], changes: updates });
|
|
253
|
-
|
|
253
|
+
|
|
254
254
|
return items[itemIndex];
|
|
255
255
|
}
|
|
256
256
|
|
|
257
257
|
export async function delete${className}(id: number, database: any, events: any): Promise<boolean> {
|
|
258
258
|
const items = database.${name}s || [];
|
|
259
259
|
const itemIndex = items.findIndex((item: ${className}) => item.id === id);
|
|
260
|
-
|
|
260
|
+
|
|
261
261
|
if (itemIndex === -1) {
|
|
262
262
|
return false;
|
|
263
263
|
}
|
|
264
264
|
|
|
265
265
|
const item = items[itemIndex];
|
|
266
266
|
items.splice(itemIndex, 1);
|
|
267
|
-
|
|
267
|
+
|
|
268
268
|
// Intentional event emission
|
|
269
269
|
await events.emit('${name}.deleted', { ${name}Id: id, ${name}: item });
|
|
270
|
-
|
|
270
|
+
|
|
271
271
|
return true;
|
|
272
272
|
}`;
|
|
273
273
|
return (0, promises_1.writeFile)((0, path_1.join)(modulePath, 'actions.ts'), content);
|
|
@@ -275,12 +275,12 @@ export async function delete${className}(id: number, database: any, events: any)
|
|
|
275
275
|
writeRoutes(modulePath, name) {
|
|
276
276
|
const className = this.capitalize(name);
|
|
277
277
|
const content = `// ${className} Routes - HTTP Handlers with Intelligent Routing
|
|
278
|
-
import {
|
|
279
|
-
getAll${className}s,
|
|
280
|
-
get${className}ById,
|
|
281
|
-
create${className},
|
|
282
|
-
update${className},
|
|
283
|
-
delete${className}
|
|
278
|
+
import {
|
|
279
|
+
getAll${className}s,
|
|
280
|
+
get${className}ById,
|
|
281
|
+
create${className},
|
|
282
|
+
update${className},
|
|
283
|
+
delete${className}
|
|
284
284
|
} from './actions';
|
|
285
285
|
import {
|
|
286
286
|
${className}QuerySchema,
|
|
@@ -302,26 +302,26 @@ export const routes = [
|
|
|
302
302
|
tags: ['${name}', 'list'],
|
|
303
303
|
handler: async (req: any, res: any) => {
|
|
304
304
|
const items = await getAll${className}s(req.database);
|
|
305
|
-
|
|
305
|
+
|
|
306
306
|
// Apply query filtering
|
|
307
307
|
let filteredItems = items;
|
|
308
308
|
if (req.query.active !== undefined) {
|
|
309
309
|
filteredItems = filteredItems.filter((item: any) => item.active === req.query.active);
|
|
310
310
|
}
|
|
311
311
|
if (req.query.search) {
|
|
312
|
-
filteredItems = filteredItems.filter((item: any) =>
|
|
312
|
+
filteredItems = filteredItems.filter((item: any) =>
|
|
313
313
|
item.name.toLowerCase().includes(req.query.search.toLowerCase()) ||
|
|
314
314
|
item.description.toLowerCase().includes(req.query.search.toLowerCase())
|
|
315
315
|
);
|
|
316
316
|
}
|
|
317
|
-
|
|
317
|
+
|
|
318
318
|
// Apply pagination
|
|
319
319
|
const offset = req.query.offset || 0;
|
|
320
320
|
const limit = req.query.limit || 10;
|
|
321
321
|
const paginatedItems = filteredItems.slice(offset, offset + limit);
|
|
322
|
-
|
|
323
|
-
return {
|
|
324
|
-
success: true,
|
|
322
|
+
|
|
323
|
+
return {
|
|
324
|
+
success: true,
|
|
325
325
|
data: paginatedItems,
|
|
326
326
|
meta: {
|
|
327
327
|
total: filteredItems.length,
|
|
@@ -343,12 +343,12 @@ export const routes = [
|
|
|
343
343
|
tags: ['${name}', 'get'],
|
|
344
344
|
handler: async (req: any, res: any) => {
|
|
345
345
|
const item = await get${className}ById(req.params.id, req.database);
|
|
346
|
-
|
|
346
|
+
|
|
347
347
|
if (!item) {
|
|
348
348
|
res.status(404);
|
|
349
349
|
return { success: false, error: '${className} not found' };
|
|
350
350
|
}
|
|
351
|
-
|
|
351
|
+
|
|
352
352
|
return { success: true, data: item };
|
|
353
353
|
}
|
|
354
354
|
},
|
|
@@ -378,12 +378,12 @@ export const routes = [
|
|
|
378
378
|
tags: ['${name}', 'update'],
|
|
379
379
|
handler: async (req: any, res: any) => {
|
|
380
380
|
const item = await update${className}(req.params.id, req.body, req.database, req.events);
|
|
381
|
-
|
|
381
|
+
|
|
382
382
|
if (!item) {
|
|
383
383
|
res.status(404);
|
|
384
384
|
return { success: false, error: '${className} not found' };
|
|
385
385
|
}
|
|
386
|
-
|
|
386
|
+
|
|
387
387
|
return { success: true, data: item };
|
|
388
388
|
}
|
|
389
389
|
},
|
|
@@ -397,12 +397,12 @@ export const routes = [
|
|
|
397
397
|
tags: ['${name}', 'delete'],
|
|
398
398
|
handler: async (req: any, res: any) => {
|
|
399
399
|
const success = await delete${className}(req.params.id, req.database, req.events);
|
|
400
|
-
|
|
400
|
+
|
|
401
401
|
if (!success) {
|
|
402
402
|
res.status(404);
|
|
403
403
|
return { success: false, error: '${className} not found' };
|
|
404
404
|
}
|
|
405
|
-
|
|
405
|
+
|
|
406
406
|
return { success: true, message: '${className} deleted successfully' };
|
|
407
407
|
}
|
|
408
408
|
}
|
|
@@ -480,16 +480,20 @@ INSERT INTO ${name}s (name, description) VALUES
|
|
|
480
480
|
const className = this.capitalize(name);
|
|
481
481
|
const content = `// ${className} Module - Functional Structure
|
|
482
482
|
import { config } from './config';
|
|
483
|
-
import { routes } from './routes';${hasWebSocket
|
|
484
|
-
|
|
483
|
+
import { routes } from './routes';${hasWebSocket
|
|
484
|
+
? `
|
|
485
|
+
import { ${name}Sockets as sockets } from './sockets';`
|
|
486
|
+
: ''}
|
|
485
487
|
import { defineModule } from '@morojs/moro';
|
|
486
488
|
|
|
487
489
|
export default defineModule({
|
|
488
490
|
name: '${name}',
|
|
489
491
|
version: '1.0.0',
|
|
490
492
|
config,
|
|
491
|
-
routes${hasWebSocket
|
|
492
|
-
|
|
493
|
+
routes${hasWebSocket
|
|
494
|
+
? `,
|
|
495
|
+
sockets`
|
|
496
|
+
: ''}
|
|
493
497
|
});
|
|
494
498
|
|
|
495
499
|
// Re-export types and actions for direct usage
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"module-stub-generator.js","sourceRoot":"","sources":["../src/module-stub-generator.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,mCAAmC;AACnC,0CAA+C;AAC/C,+BAA4B;AAC5B,2BAAgC;AAChC,qCAAiD;AAEjD,MAAa,mBAAmB;IAAhC;QACU,WAAM,GAAG,IAAA,8BAAqB,EAAC,qBAAqB,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"module-stub-generator.js","sourceRoot":"","sources":["../src/module-stub-generator.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@morojs/cli",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.1.0",
|
|
4
4
|
"description": "MoroJS Framework - Comprehensive Development Toolkit",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"types": "dist/index.d.ts",
|
|
@@ -10,9 +10,9 @@
|
|
|
10
10
|
},
|
|
11
11
|
"exports": {
|
|
12
12
|
".": {
|
|
13
|
+
"types": "./dist/index.d.ts",
|
|
13
14
|
"import": "./dist/index.js",
|
|
14
|
-
"require": "./dist/index.js"
|
|
15
|
-
"types": "./dist/index.d.ts"
|
|
15
|
+
"require": "./dist/index.js"
|
|
16
16
|
}
|
|
17
17
|
},
|
|
18
18
|
"scripts": {
|
|
@@ -24,7 +24,9 @@
|
|
|
24
24
|
"test": "jest",
|
|
25
25
|
"test:watch": "jest --watch",
|
|
26
26
|
"lint": "eslint src --fix",
|
|
27
|
-
"
|
|
27
|
+
"lint-staged": "lint-staged",
|
|
28
|
+
"format": "prettier --write src/**/*.ts",
|
|
29
|
+
"prepare": "husky"
|
|
28
30
|
},
|
|
29
31
|
"keywords": [
|
|
30
32
|
"morojs",
|
|
@@ -57,33 +59,36 @@
|
|
|
57
59
|
"node": ">=18.0.0"
|
|
58
60
|
},
|
|
59
61
|
"dependencies": {
|
|
60
|
-
"commander": "^14.0.0",
|
|
61
|
-
"winston": "^3.11.0",
|
|
62
|
-
"chalk": "^4.1.2",
|
|
63
|
-
"inquirer": "^8.2.6",
|
|
64
|
-
"ora": "^5.4.1",
|
|
65
62
|
"boxen": "^5.1.2",
|
|
63
|
+
"chalk": "^4.1.2",
|
|
64
|
+
"chokidar": "^3.5.3",
|
|
65
|
+
"commander": "^14.0.0",
|
|
66
|
+
"esbuild": "^0.25.9",
|
|
66
67
|
"figlet": "^1.7.0",
|
|
67
|
-
"zod": "^3.22.4",
|
|
68
68
|
"fs-extra": "^11.2.0",
|
|
69
69
|
"glob": "^11.0.0",
|
|
70
|
-
"
|
|
71
|
-
"
|
|
72
|
-
"
|
|
70
|
+
"inquirer": "^8.2.6",
|
|
71
|
+
"nodemon": "^3.0.2",
|
|
72
|
+
"ora": "^5.4.1",
|
|
73
|
+
"winston": "^3.11.0",
|
|
74
|
+
"zod": "^3.22.4"
|
|
73
75
|
},
|
|
74
76
|
"devDependencies": {
|
|
75
|
-
"@
|
|
76
|
-
"@types/inquirer": "^9.0.7",
|
|
77
|
-
"@types/fs-extra": "^11.0.4",
|
|
77
|
+
"@morojs/moro": "^1.0.3",
|
|
78
78
|
"@types/figlet": "^1.5.8",
|
|
79
|
+
"@types/fs-extra": "^11.0.4",
|
|
80
|
+
"@types/inquirer": "^9.0.7",
|
|
81
|
+
"@types/jest": "^30.0.0",
|
|
82
|
+
"@types/node": "^24.0.0",
|
|
79
83
|
"@typescript-eslint/eslint-plugin": "^6.13.1",
|
|
80
84
|
"@typescript-eslint/parser": "^6.13.1",
|
|
81
85
|
"eslint": "^8.54.0",
|
|
82
86
|
"eslint-config-prettier": "^10.0.0",
|
|
83
87
|
"eslint-plugin-prettier": "^5.0.1",
|
|
84
|
-
"
|
|
88
|
+
"husky": "^9.1.7",
|
|
85
89
|
"jest": "^29.7.0",
|
|
86
|
-
"
|
|
90
|
+
"lint-staged": "^16.1.6",
|
|
91
|
+
"prettier": "^3.1.0",
|
|
87
92
|
"ts-jest": "^29.1.1",
|
|
88
93
|
"typescript": "^5.3.2"
|
|
89
94
|
},
|
|
@@ -93,5 +98,14 @@
|
|
|
93
98
|
"templates/**/*",
|
|
94
99
|
"README.md",
|
|
95
100
|
"LICENSE"
|
|
96
|
-
]
|
|
97
|
-
|
|
101
|
+
],
|
|
102
|
+
"lint-staged": {
|
|
103
|
+
"*.ts": [
|
|
104
|
+
"eslint --fix",
|
|
105
|
+
"prettier --write"
|
|
106
|
+
],
|
|
107
|
+
"*.{json,md}": [
|
|
108
|
+
"prettier --write"
|
|
109
|
+
]
|
|
110
|
+
}
|
|
111
|
+
}
|