@morojs/moro 1.5.9 → 1.5.10

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/README.md CHANGED
@@ -4,7 +4,7 @@
4
4
 
5
5
  ![Moro Logo](https://img.shields.io/badge/MoroJS-2563eb?style=for-the-badge&logo=typescript&logoColor=white)
6
6
 
7
- **High-performance multi-runtime framework with intelligent routing**
7
+ **Modern TypeScript framework with intelligent routing and multi-runtime deployment**
8
8
  *Functional • Type-safe • Multi-environment • Production-ready*
9
9
 
10
10
  [![npm version](https://badge.fury.io/js/@morojs%2Fmoro.svg)](https://badge.fury.io/js/@morojs%2Fmoro)
@@ -18,20 +18,22 @@
18
18
 
19
19
  ---
20
20
 
21
- ## Why Moro?
21
+ ## What is MoroJS?
22
22
 
23
- Moro eliminates the pain points of traditional Node.js frameworks with **intelligent routing** and **automatic middleware ordering**. No more debugging middleware order issues or wrestling with type safety!
23
+ MoroJS is a modern Node.js framework designed for building high-performance APIs and web applications. It features intelligent routing with automatic middleware ordering, ensuring your application logic runs efficiently without worrying about execution sequence.
24
24
 
25
- - **Multi-Runtime Support** - Deploy to Node.js, Vercel Edge, AWS Lambda, Cloudflare Workers
26
- - **Intelligent Routing** - Chainable + schema-first APIs with automatic middleware ordering
27
- - **Enterprise Authentication** - Auth.js integration with RBAC, OAuth, and native adapter
28
- - **Universal Validation** - Support for Zod, Joi, Yup, Class Validator with full TypeScript inference
29
- - **WebSocket Support** - Pluggable adapters for Socket.IO, native WebSockets, or auto-detection
30
- - **Native Performance** - Zero framework overhead, optimized for each runtime
31
- - **Functional Architecture** - No decorators, pure functional patterns
32
- - **Zero Order Dependencies** - Framework handles optimal middleware execution
25
+ **Core Features:**
33
26
 
34
- ## Superior Performance
27
+ - **Multi-Runtime Deployment** - Write once, deploy everywhere: Node.js, Vercel Edge, AWS Lambda, Cloudflare Workers
28
+ - **Intelligent Routing** - Automatic middleware ordering with chainable and schema-first API approaches
29
+ - **Enterprise Authentication** - Built-in Auth.js integration with RBAC, OAuth providers, and custom native adapter
30
+ - **Universal Validation** - Use any validation library (Zod, Joi, Yup, Class Validator) with full TypeScript inference
31
+ - **WebSocket Support** - Pluggable adapters for Socket.IO, native WebSockets, or automatic detection
32
+ - **Zero Dependencies** - Lightweight core with optional peer dependencies for flexibility
33
+ - **Functional Architecture** - Pure functional patterns without decorators for better performance
34
+ - **Type Safety** - Complete TypeScript support with compile-time and runtime type validation
35
+
36
+ ## Performance
35
37
 
36
38
  | Framework | Req/sec | Latency | Memory |
37
39
  |-----------|---------|---------|--------|
@@ -103,35 +105,35 @@ const app = createAppWorker();
103
105
  export default { fetch: app.getHandler() };
104
106
  ```
105
107
 
106
- ## What Makes Moro Different?
108
+ ## How MoroJS Works
107
109
 
108
- ### **No More Middleware Order Hell**
110
+ ### **Intelligent Middleware Ordering**
109
111
 
110
- **Traditional frameworks:**
111
- ```typescript
112
- // Express - Order matters, easy to break
113
- app.use(cors()); // Must be first
114
- app.use(helmet()); // Must be early
115
- app.use(bodyParser()); // Must be before validation
116
- app.use(rateLimit()); // Must be before routes
117
- app.use(validation()); // Must be before handler
118
- app.post('/users', handler); // Must be last
119
- ```
112
+ MoroJS automatically organizes middleware execution into logical phases, eliminating order-dependency issues:
120
113
 
121
- **Moro - Order independent:**
122
114
  ```typescript
123
- // Moro - Framework handles optimal ordering
115
+ // Write middleware in any order - the framework optimizes execution
124
116
  app.post('/users')
125
- .body(UserSchema) // Framework places in validation phase
126
- .rateLimit({ requests: 10, window: 60000 }) // Rate limit phase
127
- .auth({ roles: ['user'] }) // Auth phase
128
- .handler(createUser); // Always executed last
117
+ .body(UserSchema) // Validation phase
118
+ .rateLimit({ requests: 10, window: 60000 }) // Rate limiting phase
119
+ .auth({ roles: ['user'] }) // Authentication phase
120
+ .handler(createUser); // Handler phase (always last)
121
+
122
+ // Behind the scenes, MoroJS executes in this order:
123
+ // 1. CORS & Security (helmet)
124
+ // 2. Rate Limiting
125
+ // 3. Authentication & Authorization
126
+ // 4. Body Parsing & Validation
127
+ // 5. Custom Middleware
128
+ // 6. Route Handler
129
129
  ```
130
130
 
131
- ### **Universal Validation with Full Type Safety**
131
+ ### **Universal Validation System**
132
+
133
+ MoroJS provides a unified validation interface that works with any validation library while maintaining full TypeScript inference:
132
134
 
133
135
  ```typescript
134
- // Use any validation library - Zod (default)
136
+ // Using Zod (built-in support)
135
137
  import { z } from '@morojs/moro';
136
138
  const UserSchema = z.object({
137
139
  name: z.string().min(2).max(50),
@@ -139,20 +141,29 @@ const UserSchema = z.object({
139
141
  age: z.number().min(18).optional()
140
142
  });
141
143
 
142
- // Or Joi with adapter
144
+ // Using Joi with MoroJS adapter
143
145
  import { joi } from '@morojs/moro';
144
146
  import Joi from 'joi';
145
- const UserSchema = joi(Joi.object({
147
+ const UserSchemaJoi = joi(Joi.object({
146
148
  name: Joi.string().min(2).max(50).required(),
147
149
  email: Joi.string().email().required(),
148
150
  age: Joi.number().min(18).optional()
149
151
  }));
150
152
 
153
+ // Using Yup with MoroJS adapter
154
+ import { yup } from '@morojs/moro';
155
+ import * as Yup from 'yup';
156
+ const UserSchemaYup = yup(Yup.object({
157
+ name: Yup.string().min(2).max(50).required(),
158
+ email: Yup.string().email().required(),
159
+ age: Yup.number().min(18).optional()
160
+ }));
161
+
162
+ // All validation libraries provide the same TypeScript experience
151
163
  app.post('/users')
152
- .body(UserSchema) // Works with any validation library!
164
+ .body(UserSchema) // Full type inference regardless of validation library
153
165
  .handler((req, res) => {
154
- // req.body is fully typed regardless of validation library
155
- const user = req.body; // ✨ Fully typed
166
+ const user = req.body; // Fully typed based on schema
156
167
  return { success: true, data: user };
157
168
  });
158
169
  ```
@@ -311,17 +322,23 @@ await app.loadModule(UsersModule);
311
322
  - **Functional Architecture** - No decorators, pure functions, better performance
312
323
  - **Type Safety** - Universal validation with compile-time and runtime type safety
313
324
 
314
- ## Why Choose Moro?
315
-
316
- **Same API everywhere** - Write once, deploy to any runtime
317
- **No middleware dependencies** - Framework handles optimal ordering
318
- **Enterprise authentication** - Auth.js integration with native adapter
319
- **Validation flexibility** - Use any validation library (Zod, Joi, Yup, Class Validator)
320
- **WebSocket choice** - Socket.IO, native WebSockets, or auto-detection
321
- **Full type safety** - Universal validation provides end-to-end TypeScript inference
322
- **Clean APIs** - Chainable and schema-first approaches
323
- **Production ready** - Circuit breakers, rate limiting, events, RBAC
324
- **Performance optimized** - Runtime-specific adapters
325
+ ## Key Benefits
326
+
327
+ **Universal Deployment** - Write your application once and deploy it seamlessly to Node.js, Vercel Edge Functions, AWS Lambda, or Cloudflare Workers using the same codebase
328
+
329
+ **Intelligent Architecture** - The framework automatically handles middleware execution order, eliminating configuration complexity and potential runtime errors
330
+
331
+ **Enterprise-Grade Authentication** - Comprehensive Auth.js integration includes OAuth providers, RBAC permissions, custom session management, and a native `@auth/morojs` adapter
332
+
333
+ **Flexible Validation** - Choose your preferred validation library (Zod, Joi, Yup, or Class Validator) while maintaining complete TypeScript inference and runtime safety
334
+
335
+ **Real-Time Communication** - Built-in WebSocket support with pluggable adapters for Socket.IO, native WebSockets, or automatic library detection
336
+
337
+ **Type Safety Throughout** - End-to-end TypeScript support ensures compile-time validation, runtime type checking, and full IDE integration
338
+
339
+ **Developer Experience** - Clean chainable APIs and schema-first routing patterns make complex applications simple to build and maintain
340
+
341
+ **Production Features** - Circuit breakers, rate limiting, event systems, caching, monitoring, and performance optimization built-in
325
342
 
326
343
  ## Contributing
327
344
 
@@ -122,7 +122,16 @@ const auth = (options) => ({
122
122
  return authInstance.getSession({ req });
123
123
  },
124
124
  getToken: async () => {
125
- return authInstance.verifyJWT(authRequest.token || '');
125
+ try {
126
+ return authInstance.verifyJWT(authRequest.token || '');
127
+ }
128
+ catch (error) {
129
+ // Handle JWT errors gracefully in getToken method
130
+ logger.debug('Failed to verify token in getToken', 'TokenValidation', {
131
+ error: error.message,
132
+ });
133
+ return null;
134
+ }
126
135
  },
127
136
  getCsrfToken: async () => {
128
137
  return authInstance.getCsrfToken();
@@ -148,7 +157,30 @@ const auth = (options) => ({
148
157
  }
149
158
  }
150
159
  catch (error) {
151
- logger.debug('Invalid JWT token', 'TokenValidation', { error });
160
+ // Handle specific JWT errors gracefully
161
+ if (error.name === 'TokenExpiredError') {
162
+ logger.debug('JWT token expired', 'TokenValidation', {
163
+ message: error.message,
164
+ expiredAt: error.expiredAt,
165
+ });
166
+ }
167
+ else if (error.name === 'JsonWebTokenError') {
168
+ logger.debug('Invalid JWT token format', 'TokenValidation', {
169
+ message: error.message,
170
+ });
171
+ }
172
+ else if (error.name === 'NotBeforeError') {
173
+ logger.debug('JWT token not active yet', 'TokenValidation', {
174
+ message: error.message,
175
+ date: error.date,
176
+ });
177
+ }
178
+ else {
179
+ logger.debug('JWT token validation failed', 'TokenValidation', {
180
+ error: error.message || error,
181
+ });
182
+ }
183
+ // Continue with unauthenticated state - don't throw
152
184
  }
153
185
  }
154
186
  // Try session cookie if no valid token
@@ -228,14 +260,48 @@ async function initializeAuthJS(config) {
228
260
  return null;
229
261
  },
230
262
  verifyJWT: async (token) => {
231
- // Mock JWT verification
263
+ // Mock JWT verification - replace with real implementation in production
232
264
  try {
233
- // In real implementation, use jose or jsonwebtoken
265
+ // In real implementation, use jose or jsonwebtoken:
266
+ //
267
+ // const jwt = require('jsonwebtoken');
268
+ // try {
269
+ // const decoded = jwt.verify(token, process.env.JWT_SECRET);
270
+ // return decoded;
271
+ // } catch (error) {
272
+ // if (error.name === 'TokenExpiredError') {
273
+ // // Token expired - handled gracefully by auth middleware
274
+ // throw error;
275
+ // } else if (error.name === 'JsonWebTokenError') {
276
+ // // Invalid token format
277
+ // throw error;
278
+ // } else {
279
+ // // Other JWT errors
280
+ // throw error;
281
+ // }
282
+ // }
283
+ // Mock implementation for development
284
+ if (!token || token.split('.').length !== 3) {
285
+ const error = new Error('Invalid token format');
286
+ error.name = 'JsonWebTokenError';
287
+ throw error;
288
+ }
234
289
  const payload = JSON.parse(Buffer.from(token.split('.')[1], 'base64').toString());
290
+ // Mock expiration check
291
+ if (payload.exp && payload.exp < Date.now() / 1000) {
292
+ const error = new Error('jwt expired');
293
+ error.name = 'TokenExpiredError';
294
+ error.expiredAt = new Date(payload.exp * 1000);
295
+ throw error;
296
+ }
235
297
  return payload;
236
298
  }
237
- catch {
238
- return null;
299
+ catch (error) {
300
+ // Re-throw JWT errors for proper handling by auth middleware
301
+ if (error instanceof Error) {
302
+ throw error;
303
+ }
304
+ throw new Error('JWT verification failed');
239
305
  }
240
306
  },
241
307
  signIn: async (provider, options) => {
@@ -1 +1 @@
1
- {"version":3,"file":"auth.js","sourceRoot":"","sources":["../../../../src/core/middleware/built-in/auth.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"auth.js","sourceRoot":"","sources":["../../../../src/core/middleware/built-in/auth.ts"],"names":[],"mappings":"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"}
@@ -322,10 +322,77 @@ class ExecutableRoute {
322
322
  });
323
323
  }
324
324
  async executeAuth(req, res) {
325
- // Authentication implementation will be added
325
+ const authConfig = this.schema.auth;
326
+ const auth = req.auth;
327
+ // This should never happen since executeAuth is only called when auth config exists
328
+ if (!authConfig) {
329
+ logger.error('executeAuth called without auth config', 'Auth');
330
+ return;
331
+ }
326
332
  logger.debug('Auth check', 'Auth', {
327
- config: this.schema.auth,
333
+ config: authConfig,
334
+ isAuthenticated: auth?.isAuthenticated,
335
+ userRoles: auth?.user?.roles,
328
336
  });
337
+ // Check if auth middleware ran
338
+ if (!auth) {
339
+ res.status(500);
340
+ res.json({
341
+ success: false,
342
+ error: 'Authentication middleware not configured',
343
+ message: 'Auth middleware must be installed before using route-level auth',
344
+ });
345
+ return;
346
+ }
347
+ // Check authentication requirement (default is required unless optional: true)
348
+ if (!authConfig.optional && !auth.isAuthenticated) {
349
+ res.status(401);
350
+ res.json({
351
+ success: false,
352
+ error: 'Authentication required',
353
+ message: 'You must be logged in to access this resource',
354
+ });
355
+ return;
356
+ }
357
+ // Skip further checks if not authenticated but optional
358
+ if (!auth.isAuthenticated && authConfig.optional) {
359
+ return; // Continue to handler
360
+ }
361
+ // Only check roles/permissions if user is authenticated
362
+ if (auth.isAuthenticated) {
363
+ const user = auth.user;
364
+ // Check roles if specified
365
+ if (authConfig.roles && authConfig.roles.length > 0) {
366
+ const userRoles = user?.roles || [];
367
+ const hasRole = authConfig.roles.some((role) => userRoles.includes(role));
368
+ if (!hasRole) {
369
+ res.status(403);
370
+ res.json({
371
+ success: false,
372
+ error: 'Insufficient permissions',
373
+ message: `Required roles: ${authConfig.roles.join(', ')}`,
374
+ userRoles,
375
+ });
376
+ return;
377
+ }
378
+ }
379
+ // Check permissions if specified
380
+ if (authConfig.permissions && authConfig.permissions.length > 0) {
381
+ const userPermissions = user?.permissions || [];
382
+ const hasPermission = authConfig.permissions.every((permission) => userPermissions.includes(permission));
383
+ if (!hasPermission) {
384
+ res.status(403);
385
+ res.json({
386
+ success: false,
387
+ error: 'Insufficient permissions',
388
+ message: `Required permissions: ${authConfig.permissions.join(', ')}`,
389
+ userPermissions,
390
+ });
391
+ return;
392
+ }
393
+ }
394
+ }
395
+ // All auth checks passed
329
396
  }
330
397
  async executeValidation(req, res) {
331
398
  if (!this.schema.validation)
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/core/routing/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/core/routing/index.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@morojs/moro",
3
- "version": "1.5.9",
4
- "description": "High-performance Node.js framework with intelligent routing, automatic middleware ordering, enterprise authentication (Auth.js), type-safe Zod validation, and functional architecture",
3
+ "version": "1.5.10",
4
+ "description": "High-performance Node.js framework with intelligent routing, automatic middleware ordering, enterprise authentication (Auth.js), type-safe validation, and functional architecture",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
7
7
  "exports": {
@@ -151,7 +151,15 @@ export const auth = (options: AuthOptions): MiddlewareInterface => ({
151
151
  return authInstance.getSession({ req });
152
152
  },
153
153
  getToken: async () => {
154
- return authInstance.verifyJWT(authRequest.token || '');
154
+ try {
155
+ return authInstance.verifyJWT(authRequest.token || '');
156
+ } catch (error: any) {
157
+ // Handle JWT errors gracefully in getToken method
158
+ logger.debug('Failed to verify token in getToken', 'TokenValidation', {
159
+ error: error.message,
160
+ });
161
+ return null;
162
+ }
155
163
  },
156
164
  getCsrfToken: async () => {
157
165
  return authInstance.getCsrfToken();
@@ -177,8 +185,28 @@ export const auth = (options: AuthOptions): MiddlewareInterface => ({
177
185
  if (decoded) {
178
186
  session = await authInstance.getSession({ req: { ...req, token } });
179
187
  }
180
- } catch (error) {
181
- logger.debug('Invalid JWT token', 'TokenValidation', { error });
188
+ } catch (error: any) {
189
+ // Handle specific JWT errors gracefully
190
+ if (error.name === 'TokenExpiredError') {
191
+ logger.debug('JWT token expired', 'TokenValidation', {
192
+ message: error.message,
193
+ expiredAt: error.expiredAt,
194
+ });
195
+ } else if (error.name === 'JsonWebTokenError') {
196
+ logger.debug('Invalid JWT token format', 'TokenValidation', {
197
+ message: error.message,
198
+ });
199
+ } else if (error.name === 'NotBeforeError') {
200
+ logger.debug('JWT token not active yet', 'TokenValidation', {
201
+ message: error.message,
202
+ date: error.date,
203
+ });
204
+ } else {
205
+ logger.debug('JWT token validation failed', 'TokenValidation', {
206
+ error: error.message || error,
207
+ });
208
+ }
209
+ // Continue with unauthenticated state - don't throw
182
210
  }
183
211
  }
184
212
 
@@ -270,13 +298,51 @@ async function initializeAuthJS(config: AuthOptions): Promise<any> {
270
298
  },
271
299
 
272
300
  verifyJWT: async (token: string) => {
273
- // Mock JWT verification
301
+ // Mock JWT verification - replace with real implementation in production
274
302
  try {
275
- // In real implementation, use jose or jsonwebtoken
303
+ // In real implementation, use jose or jsonwebtoken:
304
+ //
305
+ // const jwt = require('jsonwebtoken');
306
+ // try {
307
+ // const decoded = jwt.verify(token, process.env.JWT_SECRET);
308
+ // return decoded;
309
+ // } catch (error) {
310
+ // if (error.name === 'TokenExpiredError') {
311
+ // // Token expired - handled gracefully by auth middleware
312
+ // throw error;
313
+ // } else if (error.name === 'JsonWebTokenError') {
314
+ // // Invalid token format
315
+ // throw error;
316
+ // } else {
317
+ // // Other JWT errors
318
+ // throw error;
319
+ // }
320
+ // }
321
+
322
+ // Mock implementation for development
323
+ if (!token || token.split('.').length !== 3) {
324
+ const error = new Error('Invalid token format');
325
+ error.name = 'JsonWebTokenError';
326
+ throw error;
327
+ }
328
+
276
329
  const payload = JSON.parse(Buffer.from(token.split('.')[1], 'base64').toString());
330
+
331
+ // Mock expiration check
332
+ if (payload.exp && payload.exp < Date.now() / 1000) {
333
+ const error = new Error('jwt expired');
334
+ error.name = 'TokenExpiredError';
335
+ (error as any).expiredAt = new Date(payload.exp * 1000);
336
+ throw error;
337
+ }
338
+
277
339
  return payload;
278
- } catch {
279
- return null;
340
+ } catch (error) {
341
+ // Re-throw JWT errors for proper handling by auth middleware
342
+ if (error instanceof Error) {
343
+ throw error;
344
+ }
345
+ throw new Error('JWT verification failed');
280
346
  }
281
347
  },
282
348
 
@@ -471,10 +471,90 @@ export class ExecutableRoute implements CompiledRoute {
471
471
  }
472
472
 
473
473
  private async executeAuth(req: ValidatedRequest, res: HttpResponse): Promise<void> {
474
- // Authentication implementation will be added
474
+ const authConfig = this.schema.auth;
475
+ const auth = req.auth;
476
+
477
+ // This should never happen since executeAuth is only called when auth config exists
478
+ if (!authConfig) {
479
+ logger.error('executeAuth called without auth config', 'Auth');
480
+ return;
481
+ }
482
+
475
483
  logger.debug('Auth check', 'Auth', {
476
- config: this.schema.auth,
484
+ config: authConfig,
485
+ isAuthenticated: auth?.isAuthenticated,
486
+ userRoles: auth?.user?.roles,
477
487
  });
488
+
489
+ // Check if auth middleware ran
490
+ if (!auth) {
491
+ res.status(500);
492
+ res.json({
493
+ success: false,
494
+ error: 'Authentication middleware not configured',
495
+ message: 'Auth middleware must be installed before using route-level auth',
496
+ });
497
+ return;
498
+ }
499
+
500
+ // Check authentication requirement (default is required unless optional: true)
501
+ if (!authConfig.optional && !auth.isAuthenticated) {
502
+ res.status(401);
503
+ res.json({
504
+ success: false,
505
+ error: 'Authentication required',
506
+ message: 'You must be logged in to access this resource',
507
+ });
508
+ return;
509
+ }
510
+
511
+ // Skip further checks if not authenticated but optional
512
+ if (!auth.isAuthenticated && authConfig.optional) {
513
+ return; // Continue to handler
514
+ }
515
+
516
+ // Only check roles/permissions if user is authenticated
517
+ if (auth.isAuthenticated) {
518
+ const user = auth.user;
519
+
520
+ // Check roles if specified
521
+ if (authConfig.roles && authConfig.roles.length > 0) {
522
+ const userRoles = user?.roles || [];
523
+ const hasRole = authConfig.roles.some((role: string) => userRoles.includes(role));
524
+
525
+ if (!hasRole) {
526
+ res.status(403);
527
+ res.json({
528
+ success: false,
529
+ error: 'Insufficient permissions',
530
+ message: `Required roles: ${authConfig.roles.join(', ')}`,
531
+ userRoles,
532
+ });
533
+ return;
534
+ }
535
+ }
536
+
537
+ // Check permissions if specified
538
+ if (authConfig.permissions && authConfig.permissions.length > 0) {
539
+ const userPermissions = user?.permissions || [];
540
+ const hasPermission = authConfig.permissions.every((permission: string) =>
541
+ userPermissions.includes(permission)
542
+ );
543
+
544
+ if (!hasPermission) {
545
+ res.status(403);
546
+ res.json({
547
+ success: false,
548
+ error: 'Insufficient permissions',
549
+ message: `Required permissions: ${authConfig.permissions.join(', ')}`,
550
+ userPermissions,
551
+ });
552
+ return;
553
+ }
554
+ }
555
+ }
556
+
557
+ // All auth checks passed
478
558
  }
479
559
 
480
560
  private async executeValidation(req: ValidatedRequest, res: HttpResponse): Promise<void> {