@morojs/moro 1.0.1 → 1.0.3
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 +15 -15
- package/dist/index.d.ts +12 -2
- package/dist/index.js +25 -3
- package/dist/index.js.map +1 -1
- package/package.json +7 -5
- package/src/index.ts +49 -3
package/README.md
CHANGED
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
|
|
5
5
|

|
|
6
6
|
|
|
7
|
-
**High-performance multi-runtime framework with intelligent routing**
|
|
7
|
+
**High-performance multi-runtime framework with intelligent routing**
|
|
8
8
|
*Functional • Type-safe • Multi-environment • Production-ready*
|
|
9
9
|
|
|
10
10
|
[](https://badge.fury.io/js/@morojs%2Fmoro)
|
|
@@ -81,22 +81,22 @@ Deploy the **same code** everywhere:
|
|
|
81
81
|
|
|
82
82
|
```typescript
|
|
83
83
|
// Node.js (default)
|
|
84
|
-
import { createApp } from 'moro';
|
|
84
|
+
import { createApp } from '@morojs/moro';
|
|
85
85
|
const app = createApp();
|
|
86
86
|
app.listen(3000);
|
|
87
87
|
|
|
88
88
|
// Vercel Edge Functions
|
|
89
|
-
import { createAppEdge } from 'moro';
|
|
89
|
+
import { createAppEdge } from '@morojs/moro';
|
|
90
90
|
const app = createAppEdge();
|
|
91
91
|
export default app.getHandler();
|
|
92
92
|
|
|
93
93
|
// AWS Lambda
|
|
94
|
-
import { createAppLambda } from 'moro';
|
|
94
|
+
import { createAppLambda } from '@morojs/moro';
|
|
95
95
|
const app = createAppLambda();
|
|
96
96
|
export const handler = app.getHandler();
|
|
97
97
|
|
|
98
98
|
// Cloudflare Workers
|
|
99
|
-
import { createAppWorker } from 'moro';
|
|
99
|
+
import { createAppWorker } from '@morojs/moro';
|
|
100
100
|
const app = createAppWorker();
|
|
101
101
|
export default { fetch: app.getHandler() };
|
|
102
102
|
```
|
|
@@ -109,7 +109,7 @@ export default { fetch: app.getHandler() };
|
|
|
109
109
|
```typescript
|
|
110
110
|
// Express - Order matters, easy to break
|
|
111
111
|
app.use(cors()); // Must be first
|
|
112
|
-
app.use(helmet()); // Must be early
|
|
112
|
+
app.use(helmet()); // Must be early
|
|
113
113
|
app.use(bodyParser()); // Must be before validation
|
|
114
114
|
app.use(rateLimit()); // Must be before routes
|
|
115
115
|
app.use(validation()); // Must be before handler
|
|
@@ -197,7 +197,7 @@ await app.loadModule(UsersModule);
|
|
|
197
197
|
- [**Migration Guide**](./docs/MIGRATION.md) - From Express, Fastify, NestJS
|
|
198
198
|
- [**Performance Guide**](./docs/PERFORMANCE.md) - Optimization and benchmarks
|
|
199
199
|
- [**Runtime System**](./docs/RUNTIME.md) - Multi-runtime deployment guide
|
|
200
|
-
- [**Examples Repository**](../
|
|
200
|
+
- [**Examples Repository**](../Moro-JS/examples/) - Working examples
|
|
201
201
|
|
|
202
202
|
### **Key Concepts**
|
|
203
203
|
- **Multi-Runtime Support** - Same API works on Node.js, Edge, Lambda, and Workers
|
|
@@ -207,12 +207,12 @@ await app.loadModule(UsersModule);
|
|
|
207
207
|
|
|
208
208
|
## Why Choose Moro?
|
|
209
209
|
|
|
210
|
-
**Same API everywhere** - Write once, deploy to any runtime
|
|
211
|
-
**No middleware dependencies** - Framework handles optimal ordering
|
|
212
|
-
**Full type safety** - Zod provides end-to-end TypeScript inference
|
|
213
|
-
**Clean APIs** - Chainable and schema-first approaches
|
|
214
|
-
**Production ready** - Circuit breakers, rate limiting, events
|
|
215
|
-
**Performance optimized** - Runtime-specific adapters
|
|
210
|
+
**Same API everywhere** - Write once, deploy to any runtime
|
|
211
|
+
**No middleware dependencies** - Framework handles optimal ordering
|
|
212
|
+
**Full type safety** - Zod provides end-to-end TypeScript inference
|
|
213
|
+
**Clean APIs** - Chainable and schema-first approaches
|
|
214
|
+
**Production ready** - Circuit breakers, rate limiting, events
|
|
215
|
+
**Performance optimized** - Runtime-specific adapters
|
|
216
216
|
|
|
217
217
|
## Contributing
|
|
218
218
|
|
|
@@ -228,6 +228,6 @@ MIT © [Moro Framework Team](https://morojs.com)
|
|
|
228
228
|
|
|
229
229
|
**Ready to deploy everywhere with one codebase?**
|
|
230
230
|
|
|
231
|
-
[Get Started](./docs/GETTING_STARTED.md) • [GitHub](https://github.com/
|
|
231
|
+
[Get Started](./docs/GETTING_STARTED.md) • [GitHub](https://github.com/Moro-JS/moro) • [npm](https://www.npmjs.com/package/@morojs/moro)
|
|
232
232
|
|
|
233
|
-
</div>
|
|
233
|
+
</div>
|
package/dist/index.d.ts
CHANGED
|
@@ -6,23 +6,33 @@ export type { LambdaEvent, LambdaContext, LambdaResponse } from './core/runtime/
|
|
|
6
6
|
export type { WorkersEnv, WorkersContext } from './core/runtime/cloudflare-workers-adapter';
|
|
7
7
|
export { MoroHttpServer, middleware as httpMiddleware } from './core/http';
|
|
8
8
|
export { builtInMiddleware, simpleMiddleware } from './core/middleware/built-in';
|
|
9
|
-
export { WebSocketManager } from './core/networking';
|
|
9
|
+
export { WebSocketManager, ServiceRegistry, ServiceInfo, ServiceDiscoveryOptions, } from './core/networking';
|
|
10
10
|
export { Container, FunctionalContainer, ServiceScope, ServiceLifecycle, withLogging, withCaching, withRetry, withTimeout, CircuitBreaker, HookManager, HOOK_EVENTS, middleware, } from './core/utilities';
|
|
11
|
+
export { MoroEventBus } from './core/events';
|
|
12
|
+
export type { EventContext, EventPayload, EventBusOptions, ModuleEventBus, GlobalEventBus, EventMetrics, SystemEvents, EventHandler, } from './types/events';
|
|
11
13
|
export { createFrameworkLogger, logger } from './core/logger';
|
|
12
14
|
export { validate, body, query, params, combineSchemas, z } from './core/validation';
|
|
13
15
|
export type { ValidationConfig, ValidationResult, ValidationError, ValidatedRequest, } from './core/validation';
|
|
14
|
-
export { defineModule } from './core/modules';
|
|
16
|
+
export { defineModule, ModuleLoader, ModuleDiscovery, autoDiscoverModuleDirectories, } from './core/modules';
|
|
15
17
|
export type { ModuleDefinition, ModuleRoute, ModuleSocket, ModuleConfig } from './types/module';
|
|
16
18
|
export { createRoute, defineRoute, EXECUTION_PHASES } from './core/routing';
|
|
17
19
|
export { IntelligentRoutingManager, RouteRegistry } from './core/routing/app-integration';
|
|
18
20
|
export type { RouteBuilder, RouteSchema, CompiledRoute, HttpMethod, AuthConfig, RateLimitConfig, CacheConfig, MiddlewarePhases, ExecutionPhase, } from './core/routing';
|
|
21
|
+
export { DocumentationSystem, AppDocumentationManager, createDocumentationSystem, generateDocsFromIntelligentRoutes, } from './core/docs';
|
|
22
|
+
export type { DocsConfig } from './core/docs';
|
|
19
23
|
export { getConfig, createModuleConfig, getEnvVar, getEnvArray, getEnvJson, isDevelopment, isProduction, isStaging, requireEnvVars, envVar, getConfigValue, } from './core/config/utils';
|
|
24
|
+
export { initializeConfig, getGlobalConfig, isConfigInitialized } from './core/config';
|
|
25
|
+
export { MiddlewareManager } from './core/middleware';
|
|
26
|
+
export type { MiddlewareInterface, MoroMiddleware } from './core/middleware';
|
|
20
27
|
export type * from './types/core';
|
|
21
28
|
export type * from './types/http';
|
|
22
29
|
export type * from './types/hooks';
|
|
23
30
|
export type * from './types/cache';
|
|
24
31
|
export type * from './types/cdn';
|
|
25
32
|
export type * from './types/database';
|
|
33
|
+
export type * from './types/logger';
|
|
34
|
+
export type * from './types/session';
|
|
35
|
+
export type * from './types/discovery';
|
|
26
36
|
export * from './core/middleware/built-in/adapters';
|
|
27
37
|
export * from './core/database/adapters';
|
|
28
38
|
export type { CacheAdapter, CacheOptions, CacheStrategy } from './types/cache';
|
package/dist/index.js
CHANGED
|
@@ -14,8 +14,8 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
|
14
14
|
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
15
|
};
|
|
16
16
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
-
exports.
|
|
18
|
-
exports.getConfigValue = exports.envVar = exports.requireEnvVars = exports.isStaging = exports.isProduction = exports.isDevelopment = exports.getEnvJson = exports.getEnvArray = void 0;
|
|
17
|
+
exports.EXECUTION_PHASES = exports.defineRoute = exports.createRoute = exports.autoDiscoverModuleDirectories = exports.ModuleDiscovery = exports.ModuleLoader = exports.defineModule = exports.z = exports.combineSchemas = exports.params = exports.query = exports.body = exports.validate = exports.logger = exports.createFrameworkLogger = exports.MoroEventBus = exports.middleware = exports.HOOK_EVENTS = exports.HookManager = exports.CircuitBreaker = exports.withTimeout = exports.withRetry = exports.withCaching = exports.withLogging = exports.ServiceLifecycle = exports.ServiceScope = exports.FunctionalContainer = exports.Container = exports.ServiceRegistry = exports.WebSocketManager = exports.simpleMiddleware = exports.builtInMiddleware = exports.httpMiddleware = exports.MoroHttpServer = exports.createWorkerHandler = exports.createLambdaHandler = exports.createEdgeHandler = exports.createNodeHandler = exports.createRuntimeAdapter = exports.CloudflareWorkersAdapter = exports.AWSLambdaAdapter = exports.VercelEdgeAdapter = exports.NodeRuntimeAdapter = exports.createAppWorker = exports.createAppLambda = exports.createAppEdge = exports.createAppNode = exports.createApp = exports.MoroCore = exports.Moro = void 0;
|
|
18
|
+
exports.MiddlewareManager = exports.isConfigInitialized = exports.getGlobalConfig = exports.initializeConfig = exports.getConfigValue = exports.envVar = exports.requireEnvVars = exports.isStaging = exports.isProduction = exports.isDevelopment = exports.getEnvJson = exports.getEnvArray = exports.getEnvVar = exports.createModuleConfig = exports.getConfig = exports.generateDocsFromIntelligentRoutes = exports.createDocumentationSystem = exports.AppDocumentationManager = exports.DocumentationSystem = exports.RouteRegistry = exports.IntelligentRoutingManager = void 0;
|
|
19
19
|
// MoroJS Framework - Main Entry Point
|
|
20
20
|
var moro_1 = require("./moro");
|
|
21
21
|
Object.defineProperty(exports, "Moro", { enumerable: true, get: function () { return moro_1.Moro; } });
|
|
@@ -42,8 +42,11 @@ Object.defineProperty(exports, "httpMiddleware", { enumerable: true, get: functi
|
|
|
42
42
|
var built_in_1 = require("./core/middleware/built-in");
|
|
43
43
|
Object.defineProperty(exports, "builtInMiddleware", { enumerable: true, get: function () { return built_in_1.builtInMiddleware; } });
|
|
44
44
|
Object.defineProperty(exports, "simpleMiddleware", { enumerable: true, get: function () { return built_in_1.simpleMiddleware; } });
|
|
45
|
+
// Networking System
|
|
45
46
|
var networking_1 = require("./core/networking");
|
|
46
47
|
Object.defineProperty(exports, "WebSocketManager", { enumerable: true, get: function () { return networking_1.WebSocketManager; } });
|
|
48
|
+
Object.defineProperty(exports, "ServiceRegistry", { enumerable: true, get: function () { return networking_1.ServiceRegistry; } });
|
|
49
|
+
// Utilities and Container System
|
|
47
50
|
var utilities_1 = require("./core/utilities");
|
|
48
51
|
Object.defineProperty(exports, "Container", { enumerable: true, get: function () { return utilities_1.Container; } });
|
|
49
52
|
Object.defineProperty(exports, "FunctionalContainer", { enumerable: true, get: function () { return utilities_1.FunctionalContainer; } });
|
|
@@ -57,6 +60,10 @@ Object.defineProperty(exports, "CircuitBreaker", { enumerable: true, get: functi
|
|
|
57
60
|
Object.defineProperty(exports, "HookManager", { enumerable: true, get: function () { return utilities_1.HookManager; } });
|
|
58
61
|
Object.defineProperty(exports, "HOOK_EVENTS", { enumerable: true, get: function () { return utilities_1.HOOK_EVENTS; } });
|
|
59
62
|
Object.defineProperty(exports, "middleware", { enumerable: true, get: function () { return utilities_1.middleware; } });
|
|
63
|
+
// Event System
|
|
64
|
+
var events_1 = require("./core/events");
|
|
65
|
+
Object.defineProperty(exports, "MoroEventBus", { enumerable: true, get: function () { return events_1.MoroEventBus; } });
|
|
66
|
+
// Logger System
|
|
60
67
|
var logger_1 = require("./core/logger");
|
|
61
68
|
Object.defineProperty(exports, "createFrameworkLogger", { enumerable: true, get: function () { return logger_1.createFrameworkLogger; } });
|
|
62
69
|
Object.defineProperty(exports, "logger", { enumerable: true, get: function () { return logger_1.logger; } });
|
|
@@ -71,6 +78,9 @@ Object.defineProperty(exports, "z", { enumerable: true, get: function () { retur
|
|
|
71
78
|
// Module System
|
|
72
79
|
var modules_1 = require("./core/modules");
|
|
73
80
|
Object.defineProperty(exports, "defineModule", { enumerable: true, get: function () { return modules_1.defineModule; } });
|
|
81
|
+
Object.defineProperty(exports, "ModuleLoader", { enumerable: true, get: function () { return modules_1.ModuleLoader; } });
|
|
82
|
+
Object.defineProperty(exports, "ModuleDiscovery", { enumerable: true, get: function () { return modules_1.ModuleDiscovery; } });
|
|
83
|
+
Object.defineProperty(exports, "autoDiscoverModuleDirectories", { enumerable: true, get: function () { return modules_1.autoDiscoverModuleDirectories; } });
|
|
74
84
|
// Intelligent Routing System
|
|
75
85
|
var routing_1 = require("./core/routing");
|
|
76
86
|
Object.defineProperty(exports, "createRoute", { enumerable: true, get: function () { return routing_1.createRoute; } });
|
|
@@ -79,6 +89,12 @@ Object.defineProperty(exports, "EXECUTION_PHASES", { enumerable: true, get: func
|
|
|
79
89
|
var app_integration_1 = require("./core/routing/app-integration");
|
|
80
90
|
Object.defineProperty(exports, "IntelligentRoutingManager", { enumerable: true, get: function () { return app_integration_1.IntelligentRoutingManager; } });
|
|
81
91
|
Object.defineProperty(exports, "RouteRegistry", { enumerable: true, get: function () { return app_integration_1.RouteRegistry; } });
|
|
92
|
+
// Documentation System
|
|
93
|
+
var docs_1 = require("./core/docs");
|
|
94
|
+
Object.defineProperty(exports, "DocumentationSystem", { enumerable: true, get: function () { return docs_1.DocumentationSystem; } });
|
|
95
|
+
Object.defineProperty(exports, "AppDocumentationManager", { enumerable: true, get: function () { return docs_1.AppDocumentationManager; } });
|
|
96
|
+
Object.defineProperty(exports, "createDocumentationSystem", { enumerable: true, get: function () { return docs_1.createDocumentationSystem; } });
|
|
97
|
+
Object.defineProperty(exports, "generateDocsFromIntelligentRoutes", { enumerable: true, get: function () { return docs_1.generateDocsFromIntelligentRoutes; } });
|
|
82
98
|
// Configuration utilities
|
|
83
99
|
var utils_1 = require("./core/config/utils");
|
|
84
100
|
Object.defineProperty(exports, "getConfig", { enumerable: true, get: function () { return utils_1.getConfig; } });
|
|
@@ -92,8 +108,14 @@ Object.defineProperty(exports, "isStaging", { enumerable: true, get: function ()
|
|
|
92
108
|
Object.defineProperty(exports, "requireEnvVars", { enumerable: true, get: function () { return utils_1.requireEnvVars; } });
|
|
93
109
|
Object.defineProperty(exports, "envVar", { enumerable: true, get: function () { return utils_1.envVar; } });
|
|
94
110
|
Object.defineProperty(exports, "getConfigValue", { enumerable: true, get: function () { return utils_1.getConfigValue; } });
|
|
111
|
+
var config_1 = require("./core/config");
|
|
112
|
+
Object.defineProperty(exports, "initializeConfig", { enumerable: true, get: function () { return config_1.initializeConfig; } });
|
|
113
|
+
Object.defineProperty(exports, "getGlobalConfig", { enumerable: true, get: function () { return config_1.getGlobalConfig; } });
|
|
114
|
+
Object.defineProperty(exports, "isConfigInitialized", { enumerable: true, get: function () { return config_1.isConfigInitialized; } });
|
|
115
|
+
// Middleware System
|
|
116
|
+
var middleware_1 = require("./core/middleware");
|
|
117
|
+
Object.defineProperty(exports, "MiddlewareManager", { enumerable: true, get: function () { return middleware_1.MiddlewareManager; } });
|
|
95
118
|
// Adapters
|
|
96
119
|
__exportStar(require("./core/middleware/built-in/adapters"), exports);
|
|
97
120
|
__exportStar(require("./core/database/adapters"), exports);
|
|
98
|
-
// Final test
|
|
99
121
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;AAAA,sCAAsC;AACtC,+BAQgB;AAPd,4FAAA,IAAI,OAAA;AACJ,gGAAA,IAAI,OAAY;AAChB,iGAAA,SAAS,OAAA;AACT,qGAAA,aAAa,OAAA;AACb,qGAAA,aAAa,OAAA;AACb,uGAAA,eAAe,OAAA;AACf,uGAAA,eAAe,OAAA;AAajB,0CAUwB;AATtB,6GAAA,kBAAkB,OAAA;AAClB,4GAAA,iBAAiB,OAAA;AACjB,2GAAA,gBAAgB,OAAA;AAChB,mHAAA,wBAAwB,OAAA;AACxB,+GAAA,oBAAoB,OAAA;AACpB,4GAAA,iBAAiB,OAAA;AACjB,4GAAA,iBAAiB,OAAA;AACjB,8GAAA,mBAAmB,OAAA;AACnB,8GAAA,mBAAmB,OAAA;AAOrB,eAAe;AACf,oCAA2E;AAAlE,sGAAA,cAAc,OAAA;AAAE,sGAAA,UAAU,OAAkB;AACrD,uDAAiF;AAAxE,6GAAA,iBAAiB,OAAA;AAAE,4GAAA,gBAAgB,OAAA;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;AAAA,sCAAsC;AACtC,+BAQgB;AAPd,4FAAA,IAAI,OAAA;AACJ,gGAAA,IAAI,OAAY;AAChB,iGAAA,SAAS,OAAA;AACT,qGAAA,aAAa,OAAA;AACb,qGAAA,aAAa,OAAA;AACb,uGAAA,eAAe,OAAA;AACf,uGAAA,eAAe,OAAA;AAajB,0CAUwB;AATtB,6GAAA,kBAAkB,OAAA;AAClB,4GAAA,iBAAiB,OAAA;AACjB,2GAAA,gBAAgB,OAAA;AAChB,mHAAA,wBAAwB,OAAA;AACxB,+GAAA,oBAAoB,OAAA;AACpB,4GAAA,iBAAiB,OAAA;AACjB,4GAAA,iBAAiB,OAAA;AACjB,8GAAA,mBAAmB,OAAA;AACnB,8GAAA,mBAAmB,OAAA;AAOrB,eAAe;AACf,oCAA2E;AAAlE,sGAAA,cAAc,OAAA;AAAE,sGAAA,UAAU,OAAkB;AACrD,uDAAiF;AAAxE,6GAAA,iBAAiB,OAAA;AAAE,4GAAA,gBAAgB,OAAA;AAE5C,oBAAoB;AACpB,gDAK2B;AAJzB,8GAAA,gBAAgB,OAAA;AAChB,6GAAA,eAAe,OAAA;AAKjB,iCAAiC;AACjC,8CAa0B;AAZxB,sGAAA,SAAS,OAAA;AACT,gHAAA,mBAAmB,OAAA;AACnB,yGAAA,YAAY,OAAA;AACZ,6GAAA,gBAAgB,OAAA;AAChB,wGAAA,WAAW,OAAA;AACX,wGAAA,WAAW,OAAA;AACX,sGAAA,SAAS,OAAA;AACT,wGAAA,WAAW,OAAA;AACX,2GAAA,cAAc,OAAA;AACd,wGAAA,WAAW,OAAA;AACX,wGAAA,WAAW,OAAA;AACX,uGAAA,UAAU,OAAA;AAGZ,eAAe;AACf,wCAA6C;AAApC,sGAAA,YAAY,OAAA;AAYrB,gBAAgB;AAChB,wCAA8D;AAArD,+GAAA,qBAAqB,OAAA;AAAE,gGAAA,MAAM,OAAA;AAEtC,gCAAgC;AAChC,gDAAqF;AAA5E,sGAAA,QAAQ,OAAA;AAAE,kGAAA,IAAI,OAAA;AAAE,mGAAA,KAAK,OAAA;AAAE,oGAAA,MAAM,OAAA;AAAE,4GAAA,cAAc,OAAA;AAAE,+FAAA,CAAC,OAAA;AAQzD,gBAAgB;AAChB,0CAKwB;AAJtB,uGAAA,YAAY,OAAA;AACZ,uGAAA,YAAY,OAAA;AACZ,0GAAA,eAAe,OAAA;AACf,wHAAA,6BAA6B,OAAA;AAI/B,6BAA6B;AAC7B,0CAA4E;AAAnE,sGAAA,WAAW,OAAA;AAAE,sGAAA,WAAW,OAAA;AAAE,2GAAA,gBAAgB,OAAA;AACnD,kEAA0F;AAAjF,4HAAA,yBAAyB,OAAA;AAAE,gHAAA,aAAa,OAAA;AAajD,uBAAuB;AACvB,oCAKqB;AAJnB,2GAAA,mBAAmB,OAAA;AACnB,+GAAA,uBAAuB,OAAA;AACvB,iHAAA,yBAAyB,OAAA;AACzB,yHAAA,iCAAiC,OAAA;AAInC,0BAA0B;AAC1B,6CAY6B;AAX3B,kGAAA,SAAS,OAAA;AACT,2GAAA,kBAAkB,OAAA;AAClB,kGAAA,SAAS,OAAA;AACT,oGAAA,WAAW,OAAA;AACX,mGAAA,UAAU,OAAA;AACV,sGAAA,aAAa,OAAA;AACb,qGAAA,YAAY,OAAA;AACZ,kGAAA,SAAS,OAAA;AACT,uGAAA,cAAc,OAAA;AACd,+FAAA,MAAM,OAAA;AACN,uGAAA,cAAc,OAAA;AAGhB,wCAAuF;AAA9E,0GAAA,gBAAgB,OAAA;AAAE,yGAAA,eAAe,OAAA;AAAE,6GAAA,mBAAmB,OAAA;AAE/D,oBAAoB;AACpB,gDAAsD;AAA7C,+GAAA,iBAAiB,OAAA;AAc1B,WAAW;AACX,sEAAoD;AACpD,2DAAyC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@morojs/moro",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.3",
|
|
4
4
|
"description": "High-performance Node.js framework with intelligent routing, automatic middleware ordering, type-safe Zod validation, and functional architecture",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"types": "dist/index.d.ts",
|
|
@@ -31,9 +31,9 @@
|
|
|
31
31
|
"test:all": "npm run test:unit && npm run test:integration && npm run test:e2e",
|
|
32
32
|
"lint": "eslint src --ext .ts",
|
|
33
33
|
"lint:fix": "eslint src --ext .ts --fix",
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
34
|
+
"format": "prettier --write \"src/**/*.ts\"",
|
|
35
|
+
"format:check": "prettier --check \"src/**/*.ts\"",
|
|
36
|
+
"lint-staged": "lint-staged",
|
|
37
37
|
"docs:build": "typedoc --out docs src/index.ts",
|
|
38
38
|
"docs:serve": "http-server docs -p 8080"
|
|
39
39
|
},
|
|
@@ -178,7 +178,9 @@
|
|
|
178
178
|
"forceExit": false,
|
|
179
179
|
"detectOpenHandles": true,
|
|
180
180
|
"openHandlesTimeout": 1000,
|
|
181
|
-
"extensionsToTreatAsEsm": [
|
|
181
|
+
"extensionsToTreatAsEsm": [
|
|
182
|
+
".ts"
|
|
183
|
+
]
|
|
182
184
|
},
|
|
183
185
|
"lint-staged": {
|
|
184
186
|
"src/**/*.ts": [
|
package/src/index.ts
CHANGED
|
@@ -38,7 +38,16 @@ export type { WorkersEnv, WorkersContext } from './core/runtime/cloudflare-worke
|
|
|
38
38
|
// Core exports
|
|
39
39
|
export { MoroHttpServer, middleware as httpMiddleware } from './core/http';
|
|
40
40
|
export { builtInMiddleware, simpleMiddleware } from './core/middleware/built-in';
|
|
41
|
-
|
|
41
|
+
|
|
42
|
+
// Networking System
|
|
43
|
+
export {
|
|
44
|
+
WebSocketManager,
|
|
45
|
+
ServiceRegistry,
|
|
46
|
+
ServiceInfo,
|
|
47
|
+
ServiceDiscoveryOptions,
|
|
48
|
+
} from './core/networking';
|
|
49
|
+
|
|
50
|
+
// Utilities and Container System
|
|
42
51
|
export {
|
|
43
52
|
Container,
|
|
44
53
|
FunctionalContainer,
|
|
@@ -53,6 +62,21 @@ export {
|
|
|
53
62
|
HOOK_EVENTS,
|
|
54
63
|
middleware,
|
|
55
64
|
} from './core/utilities';
|
|
65
|
+
|
|
66
|
+
// Event System
|
|
67
|
+
export { MoroEventBus } from './core/events';
|
|
68
|
+
export type {
|
|
69
|
+
EventContext,
|
|
70
|
+
EventPayload,
|
|
71
|
+
EventBusOptions,
|
|
72
|
+
ModuleEventBus,
|
|
73
|
+
GlobalEventBus,
|
|
74
|
+
EventMetrics,
|
|
75
|
+
SystemEvents,
|
|
76
|
+
EventHandler,
|
|
77
|
+
} from './types/events';
|
|
78
|
+
|
|
79
|
+
// Logger System
|
|
56
80
|
export { createFrameworkLogger, logger } from './core/logger';
|
|
57
81
|
|
|
58
82
|
// Validation System (Zod-based)
|
|
@@ -65,7 +89,12 @@ export type {
|
|
|
65
89
|
} from './core/validation';
|
|
66
90
|
|
|
67
91
|
// Module System
|
|
68
|
-
export {
|
|
92
|
+
export {
|
|
93
|
+
defineModule,
|
|
94
|
+
ModuleLoader,
|
|
95
|
+
ModuleDiscovery,
|
|
96
|
+
autoDiscoverModuleDirectories,
|
|
97
|
+
} from './core/modules';
|
|
69
98
|
export type { ModuleDefinition, ModuleRoute, ModuleSocket, ModuleConfig } from './types/module';
|
|
70
99
|
|
|
71
100
|
// Intelligent Routing System
|
|
@@ -83,6 +112,15 @@ export type {
|
|
|
83
112
|
ExecutionPhase,
|
|
84
113
|
} from './core/routing';
|
|
85
114
|
|
|
115
|
+
// Documentation System
|
|
116
|
+
export {
|
|
117
|
+
DocumentationSystem,
|
|
118
|
+
AppDocumentationManager,
|
|
119
|
+
createDocumentationSystem,
|
|
120
|
+
generateDocsFromIntelligentRoutes,
|
|
121
|
+
} from './core/docs';
|
|
122
|
+
export type { DocsConfig } from './core/docs';
|
|
123
|
+
|
|
86
124
|
// Configuration utilities
|
|
87
125
|
export {
|
|
88
126
|
getConfig,
|
|
@@ -98,6 +136,12 @@ export {
|
|
|
98
136
|
getConfigValue,
|
|
99
137
|
} from './core/config/utils';
|
|
100
138
|
|
|
139
|
+
export { initializeConfig, getGlobalConfig, isConfigInitialized } from './core/config';
|
|
140
|
+
|
|
141
|
+
// Middleware System
|
|
142
|
+
export { MiddlewareManager } from './core/middleware';
|
|
143
|
+
export type { MiddlewareInterface, MoroMiddleware } from './core/middleware';
|
|
144
|
+
|
|
101
145
|
// Types
|
|
102
146
|
export type * from './types/core';
|
|
103
147
|
export type * from './types/http';
|
|
@@ -105,6 +149,9 @@ export type * from './types/hooks';
|
|
|
105
149
|
export type * from './types/cache';
|
|
106
150
|
export type * from './types/cdn';
|
|
107
151
|
export type * from './types/database';
|
|
152
|
+
export type * from './types/logger';
|
|
153
|
+
export type * from './types/session';
|
|
154
|
+
export type * from './types/discovery';
|
|
108
155
|
|
|
109
156
|
// Adapters
|
|
110
157
|
export * from './core/middleware/built-in/adapters';
|
|
@@ -115,4 +162,3 @@ export type { CacheAdapter, CacheOptions, CacheStrategy } from './types/cache';
|
|
|
115
162
|
export type { CDNAdapter, CDNOptions } from './types/cdn';
|
|
116
163
|
export type { DatabaseAdapter, DatabaseTransaction, DatabaseConfig } from './types/database';
|
|
117
164
|
export type { CookieOptions } from './types/http';
|
|
118
|
-
// Final test
|