@morojs/moro 1.7.21 → 1.7.22

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.
@@ -1,6 +1,5 @@
1
1
  import { Container } from '../utilities/index.js';
2
- import { ModuleConfig } from '../../types/module.js';
3
- import { ModuleDefinition } from '../../types/module.js';
2
+ import { ModuleConfig, ModuleDefinition } from '../../types/module.js';
4
3
  export declare function defineModule(definition: ModuleDefinition): ModuleConfig;
5
4
  export declare class ModuleLoader {
6
5
  private container;
@@ -3,6 +3,24 @@ import { promises as fs } from 'fs';
3
3
  import path from 'path';
4
4
  import { createFrameworkLogger } from '../logger/index.js';
5
5
  import { filePathToImportURL } from '../utilities/package-utils.js';
6
+ function isCompiledRoute(route) {
7
+ return 'schema' in route && 'execute' in route;
8
+ }
9
+ function normalizeRoute(route) {
10
+ if (!isCompiledRoute(route))
11
+ return route;
12
+ return {
13
+ method: route.schema.method,
14
+ path: route.schema.path,
15
+ handler: route.schema.handler,
16
+ validation: route.schema.validation,
17
+ auth: route.schema.auth,
18
+ cache: route.schema.cache,
19
+ rateLimit: route.schema.rateLimit
20
+ ? { requests: route.schema.rateLimit.requests, window: route.schema.rateLimit.window }
21
+ : undefined,
22
+ };
23
+ }
6
24
  // Module Definition Function
7
25
  export function defineModule(definition) {
8
26
  const moduleConfig = {
@@ -16,7 +34,8 @@ export function defineModule(definition) {
16
34
  }
17
35
  // Store route definitions and handlers
18
36
  if (definition.routes) {
19
- moduleConfig.routes = definition.routes.map((route, index) => ({
37
+ const normalizedRoutes = definition.routes.map(normalizeRoute);
38
+ moduleConfig.routes = normalizedRoutes.map((route, index) => ({
20
39
  method: route.method,
21
40
  path: route.path,
22
41
  handler: `route_handler_${index}`, // Standardized naming
@@ -36,7 +55,7 @@ export function defineModule(definition) {
36
55
  ].includes(key))),
37
56
  }));
38
57
  // Store the actual route handler functions
39
- moduleConfig.routeHandlers = definition.routes.reduce((acc, route, index) => {
58
+ moduleConfig.routeHandlers = normalizedRoutes.reduce((acc, route, index) => {
40
59
  acc[`route_handler_${index}`] = route.handler;
41
60
  return acc;
42
61
  }, {});
@@ -1 +1 @@
1
- {"version":3,"file":"modules.js","sourceRoot":"","sources":["../../../src/core/modules/modules.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"modules.js","sourceRoot":"","sources":["../../../src/core/modules/modules.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,5 @@
1
1
  import type { ValidationErrorHandler } from './config.js';
2
+ import type { CompiledRoute } from '../core/routing/index.js';
2
3
  export type ModuleMiddleware = string | ((req: any, res: any, next: () => void) => void | Promise<void>);
3
4
  export interface ModuleRoute {
4
5
  method: 'GET' | 'POST' | 'PUT' | 'DELETE' | 'PATCH';
@@ -48,7 +49,7 @@ export interface ModuleDefinition {
48
49
  };
49
50
  [key: string]: any;
50
51
  };
51
- routes?: ModuleRoute[];
52
+ routes?: (ModuleRoute | CompiledRoute)[];
52
53
  sockets?: ModuleSocket[];
53
54
  dependencies?: string[];
54
55
  middleware?: ModuleMiddleware[];
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@morojs/moro",
3
- "version": "1.7.21",
3
+ "version": "1.7.22",
4
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
  "type": "module",
6
6
  "main": "dist/index.js",