@morojs/moro 1.5.17 → 1.6.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/README.md +70 -269
- package/dist/core/auth/morojs-adapter.js +5 -9
- package/dist/core/auth/morojs-adapter.js.map +1 -1
- package/dist/core/config/config-manager.d.ts +1 -1
- package/dist/core/config/config-manager.js +10 -20
- package/dist/core/config/config-manager.js.map +1 -1
- package/dist/core/config/config-sources.d.ts +2 -2
- package/dist/core/config/config-sources.js +17 -20
- package/dist/core/config/config-sources.js.map +1 -1
- package/dist/core/config/config-validator.d.ts +1 -1
- package/dist/core/config/config-validator.js +33 -10
- package/dist/core/config/config-validator.js.map +1 -1
- package/dist/core/config/file-loader.d.ts +1 -1
- package/dist/core/config/file-loader.js +19 -78
- package/dist/core/config/file-loader.js.map +1 -1
- package/dist/core/config/index.d.ts +8 -8
- package/dist/core/config/index.js +25 -51
- package/dist/core/config/index.js.map +1 -1
- package/dist/core/config/schema.d.ts +2 -2
- package/dist/core/config/schema.js +11 -13
- package/dist/core/config/schema.js.map +1 -1
- package/dist/core/config/utils.d.ts +1 -1
- package/dist/core/config/utils.js +18 -32
- package/dist/core/config/utils.js.map +1 -1
- package/dist/core/database/adapters/drizzle.d.ts +1 -1
- package/dist/core/database/adapters/drizzle.js +18 -11
- package/dist/core/database/adapters/drizzle.js.map +1 -1
- package/dist/core/database/adapters/index.d.ts +7 -7
- package/dist/core/database/adapters/index.js +19 -29
- package/dist/core/database/adapters/index.js.map +1 -1
- package/dist/core/database/adapters/mongodb.d.ts +3 -1
- package/dist/core/database/adapters/mongodb.js +23 -8
- package/dist/core/database/adapters/mongodb.js.map +1 -1
- package/dist/core/database/adapters/mysql.d.ts +3 -1
- package/dist/core/database/adapters/mysql.js +18 -9
- package/dist/core/database/adapters/mysql.js.map +1 -1
- package/dist/core/database/adapters/postgresql.d.ts +3 -1
- package/dist/core/database/adapters/postgresql.js +18 -8
- package/dist/core/database/adapters/postgresql.js.map +1 -1
- package/dist/core/database/adapters/redis.d.ts +3 -1
- package/dist/core/database/adapters/redis.js +34 -9
- package/dist/core/database/adapters/redis.js.map +1 -1
- package/dist/core/database/adapters/sqlite.d.ts +3 -1
- package/dist/core/database/adapters/sqlite.js +19 -8
- package/dist/core/database/adapters/sqlite.js.map +1 -1
- package/dist/core/database/index.d.ts +2 -2
- package/dist/core/database/index.js +2 -18
- package/dist/core/database/index.js.map +1 -1
- package/dist/core/docs/index.d.ts +9 -9
- package/dist/core/docs/index.js +14 -35
- package/dist/core/docs/index.js.map +1 -1
- package/dist/core/docs/openapi-generator.d.ts +2 -2
- package/dist/core/docs/openapi-generator.js +11 -16
- package/dist/core/docs/openapi-generator.js.map +1 -1
- package/dist/core/docs/schema-to-openapi.d.ts +2 -2
- package/dist/core/docs/schema-to-openapi.js +5 -11
- package/dist/core/docs/schema-to-openapi.js.map +1 -1
- package/dist/core/docs/simple-docs.d.ts +1 -1
- package/dist/core/docs/simple-docs.js +4 -9
- package/dist/core/docs/simple-docs.js.map +1 -1
- package/dist/core/docs/swagger-ui.d.ts +2 -2
- package/dist/core/docs/swagger-ui.js +26 -29
- package/dist/core/docs/swagger-ui.js.map +1 -1
- package/dist/core/docs/zod-to-openapi.js +31 -28
- package/dist/core/docs/zod-to-openapi.js.map +1 -1
- package/dist/core/events/event-bus.d.ts +1 -1
- package/dist/core/events/event-bus.js +6 -10
- package/dist/core/events/event-bus.js.map +1 -1
- package/dist/core/events/index.d.ts +2 -2
- package/dist/core/events/index.js +1 -5
- package/dist/core/events/index.js.map +1 -1
- package/dist/core/framework.d.ts +14 -6
- package/dist/core/framework.js +150 -88
- package/dist/core/framework.js.map +1 -1
- package/dist/core/http/http-server.d.ts +1 -1
- package/dist/core/http/http-server.js +24 -62
- package/dist/core/http/http-server.js.map +1 -1
- package/dist/core/http/index.d.ts +4 -3
- package/dist/core/http/index.js +3 -8
- package/dist/core/http/index.js.map +1 -1
- package/dist/core/http/router.d.ts +1 -1
- package/dist/core/http/router.js +3 -7
- package/dist/core/http/router.js.map +1 -1
- package/dist/core/http/uws-http-server.d.ts +64 -0
- package/dist/core/http/uws-http-server.js +688 -0
- package/dist/core/http/uws-http-server.js.map +1 -0
- package/dist/core/logger/filters.d.ts +1 -1
- package/dist/core/logger/filters.js +8 -19
- package/dist/core/logger/filters.js.map +1 -1
- package/dist/core/logger/index.d.ts +3 -3
- package/dist/core/logger/index.js +2 -25
- package/dist/core/logger/index.js.map +1 -1
- package/dist/core/logger/logger.d.ts +1 -1
- package/dist/core/logger/logger.js +21 -23
- package/dist/core/logger/logger.js.map +1 -1
- package/dist/core/logger/outputs.d.ts +1 -1
- package/dist/core/logger/outputs.js +8 -15
- package/dist/core/logger/outputs.js.map +1 -1
- package/dist/core/middleware/built-in/adapters/cache/file.d.ts +1 -1
- package/dist/core/middleware/built-in/adapters/cache/file.js +10 -47
- package/dist/core/middleware/built-in/adapters/cache/file.js.map +1 -1
- package/dist/core/middleware/built-in/adapters/cache/index.d.ts +4 -4
- package/dist/core/middleware/built-in/adapters/cache/index.js +10 -17
- package/dist/core/middleware/built-in/adapters/cache/index.js.map +1 -1
- package/dist/core/middleware/built-in/adapters/cache/memory.d.ts +1 -1
- package/dist/core/middleware/built-in/adapters/cache/memory.js +3 -7
- package/dist/core/middleware/built-in/adapters/cache/memory.js.map +1 -1
- package/dist/core/middleware/built-in/adapters/cache/redis.d.ts +3 -1
- package/dist/core/middleware/built-in/adapters/cache/redis.js +11 -9
- package/dist/core/middleware/built-in/adapters/cache/redis.js.map +1 -1
- package/dist/core/middleware/built-in/adapters/cdn/azure.d.ts +1 -1
- package/dist/core/middleware/built-in/adapters/cdn/azure.js +3 -7
- package/dist/core/middleware/built-in/adapters/cdn/azure.js.map +1 -1
- package/dist/core/middleware/built-in/adapters/cdn/cloudflare.d.ts +1 -1
- package/dist/core/middleware/built-in/adapters/cdn/cloudflare.js +3 -7
- package/dist/core/middleware/built-in/adapters/cdn/cloudflare.js.map +1 -1
- package/dist/core/middleware/built-in/adapters/cdn/cloudfront.d.ts +3 -1
- package/dist/core/middleware/built-in/adapters/cdn/cloudfront.js +12 -10
- package/dist/core/middleware/built-in/adapters/cdn/cloudfront.js.map +1 -1
- package/dist/core/middleware/built-in/adapters/cdn/index.d.ts +4 -4
- package/dist/core/middleware/built-in/adapters/cdn/index.js +10 -17
- package/dist/core/middleware/built-in/adapters/cdn/index.js.map +1 -1
- package/dist/core/middleware/built-in/adapters/index.d.ts +4 -4
- package/dist/core/middleware/built-in/adapters/index.js +4 -23
- package/dist/core/middleware/built-in/adapters/index.js.map +1 -1
- package/dist/core/middleware/built-in/auth-helpers.js +11 -22
- package/dist/core/middleware/built-in/auth-helpers.js.map +1 -1
- package/dist/core/middleware/built-in/auth-providers.d.ts +1 -1
- package/dist/core/middleware/built-in/auth-providers.js +4 -9
- package/dist/core/middleware/built-in/auth-providers.js.map +1 -1
- package/dist/core/middleware/built-in/auth.d.ts +2 -2
- package/dist/core/middleware/built-in/auth.js +10 -14
- package/dist/core/middleware/built-in/auth.js.map +1 -1
- package/dist/core/middleware/built-in/cache.d.ts +2 -2
- package/dist/core/middleware/built-in/cache.js +8 -11
- package/dist/core/middleware/built-in/cache.js.map +1 -1
- package/dist/core/middleware/built-in/cdn.d.ts +2 -2
- package/dist/core/middleware/built-in/cdn.js +5 -9
- package/dist/core/middleware/built-in/cdn.js.map +1 -1
- package/dist/core/middleware/built-in/cookie.d.ts +1 -1
- package/dist/core/middleware/built-in/cookie.js +3 -7
- package/dist/core/middleware/built-in/cookie.js.map +1 -1
- package/dist/core/middleware/built-in/cors.d.ts +1 -1
- package/dist/core/middleware/built-in/cors.js +3 -7
- package/dist/core/middleware/built-in/cors.js.map +1 -1
- package/dist/core/middleware/built-in/csp.d.ts +1 -1
- package/dist/core/middleware/built-in/csp.js +5 -8
- package/dist/core/middleware/built-in/csp.js.map +1 -1
- package/dist/core/middleware/built-in/csrf.d.ts +1 -1
- package/dist/core/middleware/built-in/csrf.js +5 -8
- package/dist/core/middleware/built-in/csrf.js.map +1 -1
- package/dist/core/middleware/built-in/error-tracker.js +3 -7
- package/dist/core/middleware/built-in/error-tracker.js.map +1 -1
- package/dist/core/middleware/built-in/index.d.ts +28 -28
- package/dist/core/middleware/built-in/index.js +47 -82
- package/dist/core/middleware/built-in/index.js.map +1 -1
- package/dist/core/middleware/built-in/jwt-helpers.d.ts +1 -1
- package/dist/core/middleware/built-in/jwt-helpers.js +6 -9
- package/dist/core/middleware/built-in/jwt-helpers.js.map +1 -1
- package/dist/core/middleware/built-in/performance-monitor.js +3 -7
- package/dist/core/middleware/built-in/performance-monitor.js.map +1 -1
- package/dist/core/middleware/built-in/rate-limit.d.ts +1 -1
- package/dist/core/middleware/built-in/rate-limit.js +3 -7
- package/dist/core/middleware/built-in/rate-limit.js.map +1 -1
- package/dist/core/middleware/built-in/request-logger.js +3 -7
- package/dist/core/middleware/built-in/request-logger.js.map +1 -1
- package/dist/core/middleware/built-in/session.d.ts +2 -2
- package/dist/core/middleware/built-in/session.js +11 -15
- package/dist/core/middleware/built-in/session.js.map +1 -1
- package/dist/core/middleware/built-in/sse.d.ts +1 -1
- package/dist/core/middleware/built-in/sse.js +3 -7
- package/dist/core/middleware/built-in/sse.js.map +1 -1
- package/dist/core/middleware/built-in/validation.d.ts +1 -1
- package/dist/core/middleware/built-in/validation.js +3 -7
- package/dist/core/middleware/built-in/validation.js.map +1 -1
- package/dist/core/middleware/index.d.ts +4 -4
- package/dist/core/middleware/index.js +8 -28
- package/dist/core/middleware/index.js.map +1 -1
- package/dist/core/modules/auto-discovery.d.ts +3 -3
- package/dist/core/modules/auto-discovery.js +43 -81
- package/dist/core/modules/auto-discovery.js.map +1 -1
- package/dist/core/modules/index.d.ts +2 -2
- package/dist/core/modules/index.js +2 -9
- package/dist/core/modules/index.js.map +1 -1
- package/dist/core/modules/modules.d.ts +3 -3
- package/dist/core/modules/modules.js +11 -52
- package/dist/core/modules/modules.js.map +1 -1
- package/dist/core/networking/adapters/index.d.ts +4 -3
- package/dist/core/networking/adapters/index.js +3 -7
- package/dist/core/networking/adapters/index.js.map +1 -1
- package/dist/core/networking/adapters/socketio-adapter.d.ts +1 -1
- package/dist/core/networking/adapters/socketio-adapter.js +5 -40
- package/dist/core/networking/adapters/socketio-adapter.js.map +1 -1
- package/dist/core/networking/adapters/uws-adapter.d.ts +44 -0
- package/dist/core/networking/adapters/uws-adapter.js +513 -0
- package/dist/core/networking/adapters/uws-adapter.js.map +1 -0
- package/dist/core/networking/adapters/ws-adapter.d.ts +1 -1
- package/dist/core/networking/adapters/ws-adapter.js +7 -42
- package/dist/core/networking/adapters/ws-adapter.js.map +1 -1
- package/dist/core/networking/index.d.ts +3 -2
- package/dist/core/networking/index.js +2 -7
- package/dist/core/networking/index.js.map +1 -1
- package/dist/core/networking/service-discovery.js +3 -7
- package/dist/core/networking/service-discovery.js.map +1 -1
- package/dist/core/networking/websocket-adapter.js +1 -2
- package/dist/core/networking/websocket-adapter.js.map +1 -1
- package/dist/core/networking/websocket-manager.d.ts +3 -3
- package/dist/core/networking/websocket-manager.js +9 -11
- package/dist/core/networking/websocket-manager.js.map +1 -1
- package/dist/core/routing/app-integration.d.ts +2 -2
- package/dist/core/routing/app-integration.js +7 -12
- package/dist/core/routing/app-integration.js.map +1 -1
- package/dist/core/routing/index.d.ts +2 -2
- package/dist/core/routing/index.js +7 -14
- package/dist/core/routing/index.js.map +1 -1
- package/dist/core/runtime/aws-lambda-adapter.d.ts +3 -3
- package/dist/core/runtime/aws-lambda-adapter.js +2 -6
- package/dist/core/runtime/aws-lambda-adapter.js.map +1 -1
- package/dist/core/runtime/base-adapter.d.ts +2 -2
- package/dist/core/runtime/base-adapter.js +3 -7
- package/dist/core/runtime/base-adapter.js.map +1 -1
- package/dist/core/runtime/cloudflare-workers-adapter.d.ts +3 -3
- package/dist/core/runtime/cloudflare-workers-adapter.js +2 -6
- package/dist/core/runtime/cloudflare-workers-adapter.js.map +1 -1
- package/dist/core/runtime/index.d.ts +12 -12
- package/dist/core/runtime/index.js +22 -35
- package/dist/core/runtime/index.js.map +1 -1
- package/dist/core/runtime/node-adapter.d.ts +4 -4
- package/dist/core/runtime/node-adapter.js +6 -43
- package/dist/core/runtime/node-adapter.js.map +1 -1
- package/dist/core/runtime/vercel-edge-adapter.d.ts +3 -3
- package/dist/core/runtime/vercel-edge-adapter.js +2 -6
- package/dist/core/runtime/vercel-edge-adapter.js.map +1 -1
- package/dist/core/utilities/circuit-breaker.js +1 -5
- package/dist/core/utilities/circuit-breaker.js.map +1 -1
- package/dist/core/utilities/container.js +12 -22
- package/dist/core/utilities/container.js.map +1 -1
- package/dist/core/utilities/hooks.d.ts +2 -2
- package/dist/core/utilities/hooks.js +7 -12
- package/dist/core/utilities/hooks.js.map +1 -1
- package/dist/core/utilities/index.d.ts +5 -4
- package/dist/core/utilities/index.js +5 -19
- package/dist/core/utilities/index.js.map +1 -1
- package/dist/core/utilities/package-utils.d.ts +38 -0
- package/dist/core/utilities/package-utils.js +57 -0
- package/dist/core/utilities/package-utils.js.map +1 -0
- package/dist/core/validation/adapters.d.ts +1 -1
- package/dist/core/validation/adapters.js +15 -26
- package/dist/core/validation/adapters.js.map +1 -1
- package/dist/core/validation/index.d.ts +6 -4
- package/dist/core/validation/index.js +57 -28
- package/dist/core/validation/index.js.map +1 -1
- package/dist/core/validation/schema-interface.js +3 -9
- package/dist/core/validation/schema-interface.js.map +1 -1
- package/dist/index.d.ts +51 -52
- package/dist/index.js +23 -132
- package/dist/index.js.map +1 -1
- package/dist/moro.d.ts +13 -10
- package/dist/moro.js +132 -102
- package/dist/moro.js.map +1 -1
- package/dist/types/auth.js +3 -9
- package/dist/types/auth.js.map +1 -1
- package/dist/types/cache.js +1 -2
- package/dist/types/cdn.js +1 -2
- package/dist/types/config.d.ts +13 -1
- package/dist/types/config.js +1 -2
- package/dist/types/config.js.map +1 -1
- package/dist/types/core.d.ts +3 -3
- package/dist/types/core.js +1 -2
- package/dist/types/database.js +1 -2
- package/dist/types/discovery.js +1 -2
- package/dist/types/events.js +1 -2
- package/dist/types/hooks.d.ts +1 -1
- package/dist/types/hooks.js +1 -2
- package/dist/types/http.js +1 -2
- package/dist/types/logger.js +1 -2
- package/dist/types/module.js +1 -2
- package/dist/types/runtime.d.ts +1 -1
- package/dist/types/runtime.js +1 -2
- package/dist/types/session.js +1 -2
- package/jest.config.mjs +41 -0
- package/package.json +18 -51
- package/src/core/auth/morojs-adapter.ts +1 -1
- package/src/core/config/config-manager.ts +2 -2
- package/src/core/config/config-sources.ts +6 -6
- package/src/core/config/config-validator.ts +38 -3
- package/src/core/config/file-loader.ts +13 -40
- package/src/core/config/index.ts +15 -11
- package/src/core/config/schema.ts +3 -2
- package/src/core/config/utils.ts +3 -3
- package/src/core/database/adapters/drizzle.ts +18 -6
- package/src/core/database/adapters/index.ts +13 -13
- package/src/core/database/adapters/mongodb.ts +23 -3
- package/src/core/database/adapters/mysql.ts +18 -4
- package/src/core/database/adapters/postgresql.ts +18 -3
- package/src/core/database/adapters/redis.ts +34 -4
- package/src/core/database/adapters/sqlite.ts +19 -3
- package/src/core/database/index.ts +2 -2
- package/src/core/docs/index.ts +8 -8
- package/src/core/docs/openapi-generator.ts +4 -4
- package/src/core/docs/schema-to-openapi.ts +3 -6
- package/src/core/docs/simple-docs.ts +2 -2
- package/src/core/docs/swagger-ui.ts +19 -16
- package/src/core/docs/zod-to-openapi.ts +34 -34
- package/src/core/events/event-bus.ts +2 -2
- package/src/core/events/index.ts +2 -2
- package/src/core/framework.ts +148 -44
- package/src/core/http/http-server.ts +14 -9
- package/src/core/http/index.ts +4 -3
- package/src/core/http/router.ts +2 -2
- package/src/core/http/uws-http-server.ts +794 -0
- package/src/core/logger/filters.ts +1 -1
- package/src/core/logger/index.ts +3 -3
- package/src/core/logger/logger.ts +9 -1
- package/src/core/logger/outputs.ts +1 -1
- package/src/core/middleware/built-in/adapters/cache/file.ts +3 -3
- package/src/core/middleware/built-in/adapters/cache/index.ts +7 -7
- package/src/core/middleware/built-in/adapters/cache/memory.ts +2 -2
- package/src/core/middleware/built-in/adapters/cache/redis.ts +18 -4
- package/src/core/middleware/built-in/adapters/cdn/azure.ts +2 -2
- package/src/core/middleware/built-in/adapters/cdn/cloudflare.ts +2 -2
- package/src/core/middleware/built-in/adapters/cdn/cloudfront.ts +16 -5
- package/src/core/middleware/built-in/adapters/cdn/index.ts +7 -7
- package/src/core/middleware/built-in/adapters/index.ts +4 -4
- package/src/core/middleware/built-in/auth-helpers.ts +1 -1
- package/src/core/middleware/built-in/auth-providers.ts +1 -1
- package/src/core/middleware/built-in/auth.ts +6 -6
- package/src/core/middleware/built-in/cache.ts +5 -5
- package/src/core/middleware/built-in/cdn.ts +4 -4
- package/src/core/middleware/built-in/cookie.ts +2 -2
- package/src/core/middleware/built-in/cors.ts +2 -2
- package/src/core/middleware/built-in/csp.ts +3 -3
- package/src/core/middleware/built-in/csrf.ts +3 -3
- package/src/core/middleware/built-in/error-tracker.ts +1 -1
- package/src/core/middleware/built-in/index.ts +31 -31
- package/src/core/middleware/built-in/jwt-helpers.ts +6 -3
- package/src/core/middleware/built-in/performance-monitor.ts +1 -1
- package/src/core/middleware/built-in/rate-limit.ts +2 -2
- package/src/core/middleware/built-in/request-logger.ts +1 -1
- package/src/core/middleware/built-in/session.ts +7 -8
- package/src/core/middleware/built-in/sse.ts +2 -2
- package/src/core/middleware/built-in/validation.ts +2 -2
- package/src/core/middleware/index.ts +6 -6
- package/src/core/modules/auto-discovery.ts +4 -4
- package/src/core/modules/index.ts +2 -2
- package/src/core/modules/modules.ts +4 -4
- package/src/core/networking/adapters/index.ts +4 -3
- package/src/core/networking/adapters/socketio-adapter.ts +5 -3
- package/src/core/networking/adapters/uws-adapter.ts +619 -0
- package/src/core/networking/adapters/ws-adapter.ts +6 -4
- package/src/core/networking/index.ts +3 -2
- package/src/core/networking/service-discovery.ts +1 -1
- package/src/core/networking/websocket-manager.ts +7 -7
- package/src/core/routing/app-integration.ts +3 -3
- package/src/core/routing/index.ts +3 -3
- package/src/core/runtime/aws-lambda-adapter.ts +3 -3
- package/src/core/runtime/base-adapter.ts +2 -2
- package/src/core/runtime/cloudflare-workers-adapter.ts +3 -3
- package/src/core/runtime/index.ts +13 -13
- package/src/core/runtime/node-adapter.ts +4 -4
- package/src/core/runtime/vercel-edge-adapter.ts +3 -3
- package/src/core/utilities/hooks.ts +3 -3
- package/src/core/utilities/index.ts +5 -4
- package/src/core/utilities/package-utils.ts +59 -0
- package/src/core/validation/adapters.ts +1 -1
- package/src/core/validation/index.ts +68 -16
- package/src/index.ts +73 -66
- package/src/moro.ts +144 -51
- package/src/types/config.ts +13 -1
- package/src/types/core.ts +3 -3
- package/src/types/hooks.ts +1 -1
- package/src/types/runtime.ts +1 -1
- package/tsconfig.json +4 -2
package/dist/types/auth.js
CHANGED
|
@@ -1,7 +1,4 @@
|
|
|
1
|
-
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.SessionError = exports.CallbackError = exports.SignInError = void 0;
|
|
4
|
-
class SignInError extends Error {
|
|
1
|
+
export class SignInError extends Error {
|
|
5
2
|
type = 'SignInError';
|
|
6
3
|
code;
|
|
7
4
|
constructor(message, code) {
|
|
@@ -9,8 +6,7 @@ class SignInError extends Error {
|
|
|
9
6
|
this.code = code;
|
|
10
7
|
}
|
|
11
8
|
}
|
|
12
|
-
|
|
13
|
-
class CallbackError extends Error {
|
|
9
|
+
export class CallbackError extends Error {
|
|
14
10
|
type = 'CallbackError';
|
|
15
11
|
code;
|
|
16
12
|
constructor(message, code) {
|
|
@@ -18,8 +14,7 @@ class CallbackError extends Error {
|
|
|
18
14
|
this.code = code;
|
|
19
15
|
}
|
|
20
16
|
}
|
|
21
|
-
|
|
22
|
-
class SessionError extends Error {
|
|
17
|
+
export class SessionError extends Error {
|
|
23
18
|
type = 'SessionError';
|
|
24
19
|
code;
|
|
25
20
|
constructor(message, code) {
|
|
@@ -27,5 +22,4 @@ class SessionError extends Error {
|
|
|
27
22
|
this.code = code;
|
|
28
23
|
}
|
|
29
24
|
}
|
|
30
|
-
exports.SessionError = SessionError;
|
|
31
25
|
//# sourceMappingURL=auth.js.map
|
package/dist/types/auth.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auth.js","sourceRoot":"","sources":["../../src/types/auth.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"auth.js","sourceRoot":"","sources":["../../src/types/auth.ts"],"names":[],"mappings":"AAoZA,MAAM,OAAO,WAAY,SAAQ,KAAK;IACpC,IAAI,GAAG,aAAa,CAAC;IACrB,IAAI,CAAU;IAEd,YAAY,OAAe,EAAE,IAAa;QACxC,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACnB,CAAC;CACF;AAED,MAAM,OAAO,aAAc,SAAQ,KAAK;IACtC,IAAI,GAAG,eAAe,CAAC;IACvB,IAAI,CAAU;IAEd,YAAY,OAAe,EAAE,IAAa;QACxC,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACnB,CAAC;CACF;AAED,MAAM,OAAO,YAAa,SAAQ,KAAK;IACrC,IAAI,GAAG,cAAc,CAAC;IACtB,IAAI,CAAU;IAEd,YAAY,OAAe,EAAE,IAAa;QACxC,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACnB,CAAC;CACF"}
|
package/dist/types/cache.js
CHANGED
package/dist/types/cdn.js
CHANGED
package/dist/types/config.d.ts
CHANGED
|
@@ -10,6 +10,12 @@ export interface ServerConfig {
|
|
|
10
10
|
errorBoundary: {
|
|
11
11
|
enabled: boolean;
|
|
12
12
|
};
|
|
13
|
+
useUWebSockets?: boolean;
|
|
14
|
+
ssl?: {
|
|
15
|
+
key_file_name?: string;
|
|
16
|
+
cert_file_name?: string;
|
|
17
|
+
passphrase?: string;
|
|
18
|
+
};
|
|
13
19
|
}
|
|
14
20
|
export interface ServiceDiscoveryConfig {
|
|
15
21
|
enabled: boolean;
|
|
@@ -177,7 +183,7 @@ export interface PerformanceConfig {
|
|
|
177
183
|
}
|
|
178
184
|
export interface WebSocketConfig {
|
|
179
185
|
enabled: boolean;
|
|
180
|
-
adapter?: string | 'socket.io' | 'ws';
|
|
186
|
+
adapter?: string | 'socket.io' | 'ws' | 'uws';
|
|
181
187
|
compression?: boolean;
|
|
182
188
|
customIdGenerator?: () => string;
|
|
183
189
|
options?: {
|
|
@@ -187,6 +193,12 @@ export interface WebSocketConfig {
|
|
|
187
193
|
};
|
|
188
194
|
path?: string;
|
|
189
195
|
maxPayloadLength?: number;
|
|
196
|
+
idleTimeout?: number;
|
|
197
|
+
ssl?: {
|
|
198
|
+
key_file_name?: string;
|
|
199
|
+
cert_file_name?: string;
|
|
200
|
+
passphrase?: string;
|
|
201
|
+
};
|
|
190
202
|
};
|
|
191
203
|
}
|
|
192
204
|
export interface AppConfig {
|
package/dist/types/config.js
CHANGED
package/dist/types/config.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/types/config.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/types/config.ts"],"names":[],"mappings":"AAAA,0DAA0D"}
|
package/dist/types/core.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { RuntimeConfig } from './runtime';
|
|
2
|
-
import { LoggerOptions } from './logger';
|
|
3
|
-
import { AppConfig } from './config';
|
|
1
|
+
import { RuntimeConfig } from './runtime.js';
|
|
2
|
+
import { LoggerOptions } from './logger.js';
|
|
3
|
+
import { AppConfig } from './config.js';
|
|
4
4
|
export interface MoroOptions {
|
|
5
5
|
autoDiscover?: boolean | {
|
|
6
6
|
enabled?: boolean;
|
package/dist/types/core.js
CHANGED
package/dist/types/database.js
CHANGED
package/dist/types/discovery.js
CHANGED
package/dist/types/events.js
CHANGED
package/dist/types/hooks.d.ts
CHANGED
package/dist/types/hooks.js
CHANGED
package/dist/types/http.js
CHANGED
package/dist/types/logger.js
CHANGED
package/dist/types/module.js
CHANGED
package/dist/types/runtime.d.ts
CHANGED
package/dist/types/runtime.js
CHANGED
package/dist/types/session.js
CHANGED
package/jest.config.mjs
ADDED
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
export default {
|
|
2
|
+
preset: 'ts-jest/presets/default-esm',
|
|
3
|
+
testEnvironment: 'node',
|
|
4
|
+
extensionsToTreatAsEsm: ['.ts'],
|
|
5
|
+
moduleNameMapper: {
|
|
6
|
+
'^(\\.{1,2}/.*)\\.js$': '$1',
|
|
7
|
+
},
|
|
8
|
+
transform: {
|
|
9
|
+
'^.+\\.ts$': [
|
|
10
|
+
'ts-jest',
|
|
11
|
+
{
|
|
12
|
+
useESM: true,
|
|
13
|
+
tsconfig: {
|
|
14
|
+
module: 'ESNext',
|
|
15
|
+
moduleResolution: 'NodeNext',
|
|
16
|
+
target: 'ES2022',
|
|
17
|
+
esModuleInterop: true,
|
|
18
|
+
isolatedModules: true,
|
|
19
|
+
},
|
|
20
|
+
},
|
|
21
|
+
],
|
|
22
|
+
},
|
|
23
|
+
roots: ['<rootDir>/src', '<rootDir>/tests'],
|
|
24
|
+
testMatch: ['**/tests/**/*.test.ts', '**/src/**/*.test.ts'],
|
|
25
|
+
collectCoverageFrom: [
|
|
26
|
+
'src/**/*.ts',
|
|
27
|
+
'!src/**/*.d.ts',
|
|
28
|
+
'!src/**/*.test.ts',
|
|
29
|
+
'!src/**/index.ts',
|
|
30
|
+
],
|
|
31
|
+
coverageDirectory: 'coverage',
|
|
32
|
+
coverageReporters: ['text', 'lcov', 'html'],
|
|
33
|
+
setupFilesAfterEnv: ['<rootDir>/tests/setup.ts'],
|
|
34
|
+
testTimeout: 15000,
|
|
35
|
+
maxWorkers: 1,
|
|
36
|
+
forceExit: false,
|
|
37
|
+
detectOpenHandles: true,
|
|
38
|
+
openHandlesTimeout: 1000,
|
|
39
|
+
moduleFileExtensions: ['ts', 'tsx', 'js', 'jsx', 'json', 'node'],
|
|
40
|
+
};
|
|
41
|
+
|
package/package.json
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@morojs/moro",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.6.0",
|
|
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
|
+
"type": "module",
|
|
5
6
|
"main": "dist/index.js",
|
|
6
7
|
"types": "dist/index.d.ts",
|
|
7
8
|
"exports": {
|
|
8
9
|
".": {
|
|
9
10
|
"development": "./src/index.ts",
|
|
10
11
|
"import": "./dist/index.js",
|
|
11
|
-
"require": "./dist/index.js",
|
|
12
12
|
"types": "./dist/index.d.ts"
|
|
13
13
|
}
|
|
14
14
|
},
|
|
@@ -29,20 +29,22 @@
|
|
|
29
29
|
"test:ci": "jest --coverage --watchAll=false --ci --forceExit",
|
|
30
30
|
"test:force": "jest --forceExit",
|
|
31
31
|
"test:all": "npm run test:unit && npm run test:integration && npm run test:e2e",
|
|
32
|
+
"test:dist": "npm run build && node scripts/validate-dist.mjs",
|
|
33
|
+
"test:package": "npm run build && node scripts/validate-package.mjs",
|
|
32
34
|
"lint": "eslint src --ext .ts",
|
|
33
35
|
"lint:fix": "eslint src --ext .ts --fix",
|
|
34
|
-
"format": "prettier --write \"src/**/*.ts\"",
|
|
35
|
-
"format:check": "prettier --check \"src/**/*.ts\"",
|
|
36
|
+
"format": "prettier --write \"src/**/*.ts\" \"tests/**/*.ts\"",
|
|
37
|
+
"format:check": "prettier --check \"src/**/*.ts\" \"tests/**/*.ts\"",
|
|
36
38
|
"lint-staged": "lint-staged",
|
|
37
39
|
"docs:build": "typedoc --out docs-html src/index.ts",
|
|
38
40
|
"docs:serve": "http-server docs-html -p 8080",
|
|
39
41
|
"docs:json": "typedoc --json docs-json/api.json src/index.ts",
|
|
40
42
|
"docs:markdown": "typedoc --plugin typedoc-plugin-markdown --out docs-md src/index.ts",
|
|
41
43
|
"docs:all": "npm run docs:build && npm run docs:json && npm run docs:markdown",
|
|
42
|
-
"prerelease": "node scripts/release.js",
|
|
43
|
-
"prerelease:patch": "node scripts/release.js patch",
|
|
44
|
-
"prerelease:minor": "node scripts/release.js minor",
|
|
45
|
-
"prerelease:major": "node scripts/release.js major"
|
|
44
|
+
"prerelease": "npm run build && npm test && npm run test:package && node scripts/release.js",
|
|
45
|
+
"prerelease:patch": "npm run build && npm test && npm run test:package && node scripts/release.js patch",
|
|
46
|
+
"prerelease:minor": "npm run build && npm test && npm run test:package && node scripts/release.js minor",
|
|
47
|
+
"prerelease:major": "npm run build && npm test && npm run test:package && node scripts/release.js major"
|
|
46
48
|
},
|
|
47
49
|
"keywords": [
|
|
48
50
|
"nodejs",
|
|
@@ -89,8 +91,9 @@
|
|
|
89
91
|
"pg": "^8.16.3",
|
|
90
92
|
"socket.io": "^4.8.1",
|
|
91
93
|
"swagger-ui-dist": "^5.28.1",
|
|
94
|
+
"uWebSockets.js": "github:uNetworking/uWebSockets.js#v20.52.0",
|
|
92
95
|
"ws": "^8.18.0",
|
|
93
|
-
"yup": "^1.
|
|
96
|
+
"yup": "^1.7.1"
|
|
94
97
|
},
|
|
95
98
|
"peerDependenciesMeta": {
|
|
96
99
|
"@auth/core": {
|
|
@@ -120,6 +123,9 @@
|
|
|
120
123
|
"socket.io": {
|
|
121
124
|
"optional": true
|
|
122
125
|
},
|
|
126
|
+
"uWebSockets.js": {
|
|
127
|
+
"optional": true
|
|
128
|
+
},
|
|
123
129
|
"ws": {
|
|
124
130
|
"optional": true
|
|
125
131
|
},
|
|
@@ -165,6 +171,7 @@
|
|
|
165
171
|
"typedoc-plugin-markdown": "^4.8.1",
|
|
166
172
|
"typedoc-theme-hierarchy": "^6.0.0",
|
|
167
173
|
"typescript": "^5.9.2",
|
|
174
|
+
"uWebSockets.js": "github:uNetworking/uWebSockets.js#v20.52.0",
|
|
168
175
|
"ws": "^8.18.3",
|
|
169
176
|
"zod": "^4.1.8"
|
|
170
177
|
},
|
|
@@ -174,49 +181,9 @@
|
|
|
174
181
|
"README.md",
|
|
175
182
|
"LICENSE",
|
|
176
183
|
"API.md",
|
|
177
|
-
"tsconfig.json"
|
|
184
|
+
"tsconfig.json",
|
|
185
|
+
"jest.config.mjs"
|
|
178
186
|
],
|
|
179
|
-
"jest": {
|
|
180
|
-
"preset": "ts-jest",
|
|
181
|
-
"testEnvironment": "node",
|
|
182
|
-
"roots": [
|
|
183
|
-
"<rootDir>/src",
|
|
184
|
-
"<rootDir>/tests"
|
|
185
|
-
],
|
|
186
|
-
"testMatch": [
|
|
187
|
-
"**/tests/**/*.test.ts",
|
|
188
|
-
"**/src/**/*.test.ts"
|
|
189
|
-
],
|
|
190
|
-
"transform": {
|
|
191
|
-
"^.+\\.ts$": [
|
|
192
|
-
"ts-jest",
|
|
193
|
-
{}
|
|
194
|
-
]
|
|
195
|
-
},
|
|
196
|
-
"collectCoverageFrom": [
|
|
197
|
-
"src/**/*.ts",
|
|
198
|
-
"!src/**/*.d.ts",
|
|
199
|
-
"!src/**/*.test.ts",
|
|
200
|
-
"!src/**/index.ts"
|
|
201
|
-
],
|
|
202
|
-
"coverageDirectory": "coverage",
|
|
203
|
-
"coverageReporters": [
|
|
204
|
-
"text",
|
|
205
|
-
"lcov",
|
|
206
|
-
"html"
|
|
207
|
-
],
|
|
208
|
-
"setupFilesAfterEnv": [
|
|
209
|
-
"<rootDir>/tests/setup.ts"
|
|
210
|
-
],
|
|
211
|
-
"testTimeout": 15000,
|
|
212
|
-
"maxWorkers": 1,
|
|
213
|
-
"forceExit": false,
|
|
214
|
-
"detectOpenHandles": true,
|
|
215
|
-
"openHandlesTimeout": 1000,
|
|
216
|
-
"extensionsToTreatAsEsm": [
|
|
217
|
-
".ts"
|
|
218
|
-
]
|
|
219
|
-
},
|
|
220
187
|
"lint-staged": {
|
|
221
188
|
"src/**/*.ts": [
|
|
222
189
|
"prettier --write",
|
|
@@ -7,8 +7,8 @@
|
|
|
7
7
|
* Precedence: Environment Variables > createApp Options > Config File > Defaults
|
|
8
8
|
*/
|
|
9
9
|
|
|
10
|
-
import { AppConfig } from '../../types/config';
|
|
11
|
-
import { createFrameworkLogger } from '../logger';
|
|
10
|
+
import { AppConfig } from '../../types/config.js';
|
|
11
|
+
import { createFrameworkLogger } from '../logger/index.js';
|
|
12
12
|
|
|
13
13
|
const logger = createFrameworkLogger('ConfigManager');
|
|
14
14
|
|
|
@@ -5,12 +5,12 @@
|
|
|
5
5
|
* Environment Variables > createApp Options > Config File > Schema Defaults
|
|
6
6
|
*/
|
|
7
7
|
|
|
8
|
-
import { AppConfig } from '../../types/config';
|
|
9
|
-
import { MoroOptions } from '../../types/core';
|
|
10
|
-
import { DEFAULT_CONFIG } from './schema';
|
|
11
|
-
import { loadConfigFileSync } from './file-loader';
|
|
12
|
-
import { createFrameworkLogger } from '../logger';
|
|
13
|
-
import { validateConfig } from './config-validator';
|
|
8
|
+
import { AppConfig } from '../../types/config.js';
|
|
9
|
+
import { MoroOptions } from '../../types/core.js';
|
|
10
|
+
import { DEFAULT_CONFIG } from './schema.js';
|
|
11
|
+
import { loadConfigFileSync } from './file-loader.js';
|
|
12
|
+
import { createFrameworkLogger } from '../logger/index.js';
|
|
13
|
+
import { validateConfig } from './config-validator.js';
|
|
14
14
|
|
|
15
15
|
const logger = createFrameworkLogger('ConfigSources');
|
|
16
16
|
|
|
@@ -5,8 +5,8 @@
|
|
|
5
5
|
* simple TypeScript functions that match the type definitions exactly.
|
|
6
6
|
*/
|
|
7
7
|
|
|
8
|
-
import { AppConfig } from '../../types/config';
|
|
9
|
-
import { createFrameworkLogger } from '../logger';
|
|
8
|
+
import { AppConfig } from '../../types/config.js';
|
|
9
|
+
import { createFrameworkLogger } from '../logger/index.js';
|
|
10
10
|
|
|
11
11
|
const logger = createFrameworkLogger('ConfigValidator');
|
|
12
12
|
|
|
@@ -75,7 +75,7 @@ function validateServerConfig(config: any, path: string) {
|
|
|
75
75
|
);
|
|
76
76
|
}
|
|
77
77
|
|
|
78
|
-
|
|
78
|
+
const result: any = {
|
|
79
79
|
port: validatePort(config.port, `${path}.port`),
|
|
80
80
|
host: validateString(config.host, `${path}.host`),
|
|
81
81
|
maxConnections: validateNumber(config.maxConnections, `${path}.maxConnections`, { min: 1 }),
|
|
@@ -88,6 +88,41 @@ function validateServerConfig(config: any, path: string) {
|
|
|
88
88
|
enabled: validateBoolean(config.errorBoundary?.enabled, `${path}.errorBoundary.enabled`),
|
|
89
89
|
},
|
|
90
90
|
};
|
|
91
|
+
|
|
92
|
+
// Optional uWebSockets configuration
|
|
93
|
+
if (config.useUWebSockets !== undefined) {
|
|
94
|
+
result.useUWebSockets = validateBoolean(config.useUWebSockets, `${path}.useUWebSockets`);
|
|
95
|
+
}
|
|
96
|
+
|
|
97
|
+
// Optional SSL configuration
|
|
98
|
+
if (config.ssl !== undefined) {
|
|
99
|
+
result.ssl = validateSSLConfig(config.ssl, `${path}.ssl`);
|
|
100
|
+
}
|
|
101
|
+
|
|
102
|
+
return result;
|
|
103
|
+
}
|
|
104
|
+
|
|
105
|
+
/**
|
|
106
|
+
* Validate SSL configuration
|
|
107
|
+
*/
|
|
108
|
+
function validateSSLConfig(config: any, path: string) {
|
|
109
|
+
if (!config || typeof config !== 'object') {
|
|
110
|
+
throw new ConfigValidationError(path, config, 'object', 'SSL configuration must be an object');
|
|
111
|
+
}
|
|
112
|
+
|
|
113
|
+
const result: any = {};
|
|
114
|
+
|
|
115
|
+
if (config.key_file_name !== undefined) {
|
|
116
|
+
result.key_file_name = validateString(config.key_file_name, `${path}.key_file_name`);
|
|
117
|
+
}
|
|
118
|
+
if (config.cert_file_name !== undefined) {
|
|
119
|
+
result.cert_file_name = validateString(config.cert_file_name, `${path}.cert_file_name`);
|
|
120
|
+
}
|
|
121
|
+
if (config.passphrase !== undefined) {
|
|
122
|
+
result.passphrase = validateString(config.passphrase, `${path}.passphrase`);
|
|
123
|
+
}
|
|
124
|
+
|
|
125
|
+
return result;
|
|
91
126
|
}
|
|
92
127
|
|
|
93
128
|
/**
|
|
@@ -1,11 +1,16 @@
|
|
|
1
1
|
// Configuration File Loader - Load moro.config.js/ts files
|
|
2
2
|
import { existsSync } from 'fs';
|
|
3
3
|
import { join } from 'path';
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
4
|
+
import { createRequire } from 'module';
|
|
5
|
+
import { AppConfig } from './schema.js';
|
|
6
|
+
import { createFrameworkLogger } from '../logger/index.js';
|
|
6
7
|
|
|
7
8
|
const logger = createFrameworkLogger('ConfigFile');
|
|
8
9
|
|
|
10
|
+
// Create require function for ESM to enable synchronous config loading
|
|
11
|
+
// Use process.cwd() as base since we're loading with absolute paths anyway
|
|
12
|
+
const moduleRequire = createRequire(join(process.cwd(), 'index.js'));
|
|
13
|
+
|
|
9
14
|
/**
|
|
10
15
|
* Supported configuration file names in order of preference
|
|
11
16
|
*/
|
|
@@ -23,55 +28,23 @@ export function loadConfigFileSync(cwd: string = process.cwd()): Partial<AppConf
|
|
|
23
28
|
logger.debug('No configuration file found');
|
|
24
29
|
return null;
|
|
25
30
|
}
|
|
26
|
-
// Handle TypeScript files by trying dynamic import (works with tsx/ts-node runtimes)
|
|
27
|
-
if (configFile.endsWith('.ts')) {
|
|
28
|
-
logger.debug('Found TypeScript config file, attempting to load with dynamic import');
|
|
29
|
-
try {
|
|
30
|
-
// When running under tsx/ts-node, dynamic imports work synchronously for TypeScript
|
|
31
|
-
// We can use require() with the current environment that already has TypeScript support
|
|
32
|
-
const config = require(configFile);
|
|
33
|
-
const configData = config.default || config;
|
|
34
|
-
|
|
35
|
-
if (!configData || typeof configData !== 'object') {
|
|
36
|
-
logger.warn(`Configuration file ${configFile} did not export a valid configuration object`);
|
|
37
|
-
return null;
|
|
38
|
-
}
|
|
39
|
-
|
|
40
|
-
logger.info(`TypeScript configuration loaded from: ${configFile}`);
|
|
41
|
-
return configData;
|
|
42
|
-
} catch (error) {
|
|
43
|
-
logger.debug(
|
|
44
|
-
'TypeScript config loading failed in sync mode, this is expected if not running with tsx/ts-node'
|
|
45
|
-
);
|
|
46
|
-
logger.debug('Error details:', String(error));
|
|
47
|
-
return null;
|
|
48
|
-
}
|
|
49
|
-
}
|
|
50
|
-
|
|
51
|
-
// Only .js files use the standard synchronous loading
|
|
52
|
-
if (!configFile.endsWith('.js')) {
|
|
53
|
-
logger.debug(
|
|
54
|
-
'Found config file with unsupported extension. Only .js and .ts files are supported.'
|
|
55
|
-
);
|
|
56
|
-
return null;
|
|
57
|
-
}
|
|
58
31
|
|
|
59
32
|
logger.debug(`Loading configuration from: ${configFile}`);
|
|
60
33
|
|
|
61
34
|
try {
|
|
62
|
-
//
|
|
63
|
-
|
|
35
|
+
// Use createRequire to enable synchronous loading in ESM
|
|
36
|
+
// Clear the require cache to ensure fresh config on each load
|
|
37
|
+
delete moduleRequire.cache[moduleRequire.resolve(configFile)];
|
|
64
38
|
|
|
65
|
-
const config =
|
|
66
|
-
const configData = config.default || config;
|
|
39
|
+
const config = moduleRequire(configFile);
|
|
67
40
|
|
|
68
|
-
if (!
|
|
41
|
+
if (!config || typeof config !== 'object') {
|
|
69
42
|
logger.warn(`Configuration file ${configFile} did not export a valid configuration object`);
|
|
70
43
|
return null;
|
|
71
44
|
}
|
|
72
45
|
|
|
73
46
|
logger.info(`Configuration loaded from: ${configFile}`);
|
|
74
|
-
return
|
|
47
|
+
return config;
|
|
75
48
|
} catch (error) {
|
|
76
49
|
logger.error(`Failed to load configuration file ${configFile}:`, String(error));
|
|
77
50
|
logger.warn('Falling back to environment variable configuration');
|
package/src/core/config/index.ts
CHANGED
|
@@ -12,27 +12,31 @@
|
|
|
12
12
|
*/
|
|
13
13
|
|
|
14
14
|
// Export types and core components
|
|
15
|
-
export * from './schema';
|
|
16
|
-
export * from './config-sources';
|
|
17
|
-
export * from './config-validator';
|
|
18
|
-
export * from './file-loader';
|
|
15
|
+
export * from './schema.js';
|
|
16
|
+
export * from './config-sources.js';
|
|
17
|
+
export * from './config-validator.js';
|
|
18
|
+
export * from './file-loader.js';
|
|
19
19
|
|
|
20
20
|
// Export specific functions from config-manager to avoid conflicts
|
|
21
|
-
export {
|
|
21
|
+
export {
|
|
22
|
+
initializeAndLockConfig,
|
|
23
|
+
isConfigLocked,
|
|
24
|
+
resetConfigForTesting,
|
|
25
|
+
} from './config-manager.js';
|
|
22
26
|
|
|
23
27
|
// Export utilities for backward compatibility
|
|
24
|
-
export * from './utils';
|
|
28
|
+
export * from './utils.js';
|
|
25
29
|
|
|
26
|
-
import { MoroOptions } from '../../types/core';
|
|
27
|
-
import { AppConfig } from '../../types/config';
|
|
28
|
-
import { loadConfigFromAllSources } from './config-sources';
|
|
30
|
+
import { MoroOptions } from '../../types/core.js';
|
|
31
|
+
import { AppConfig } from '../../types/config.js';
|
|
32
|
+
import { loadConfigFromAllSources } from './config-sources.js';
|
|
29
33
|
import {
|
|
30
34
|
initializeAndLockConfig,
|
|
31
35
|
getGlobalConfig as getConfig,
|
|
32
36
|
isConfigLocked,
|
|
33
37
|
resetConfigForTesting,
|
|
34
|
-
} from './config-manager';
|
|
35
|
-
import { createFrameworkLogger } from '../logger';
|
|
38
|
+
} from './config-manager.js';
|
|
39
|
+
import { createFrameworkLogger } from '../logger/index.js';
|
|
36
40
|
|
|
37
41
|
const logger = createFrameworkLogger('ConfigSystem');
|
|
38
42
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
// Core Configuration Schema for Moro Framework
|
|
2
2
|
|
|
3
|
-
import { AppConfig } from '../../types/config';
|
|
3
|
+
import { AppConfig } from '../../types/config.js';
|
|
4
4
|
|
|
5
5
|
// Minimal default configuration - performance-focused, most things opt-in
|
|
6
6
|
export const DEFAULT_CONFIG: AppConfig = {
|
|
@@ -10,6 +10,7 @@ export const DEFAULT_CONFIG: AppConfig = {
|
|
|
10
10
|
maxConnections: 1000,
|
|
11
11
|
timeout: 30000,
|
|
12
12
|
bodySizeLimit: '10mb',
|
|
13
|
+
useUWebSockets: false, // Opt-in for ultra-high performance
|
|
13
14
|
requestTracking: {
|
|
14
15
|
enabled: true, // Enable by default for debugging
|
|
15
16
|
},
|
|
@@ -147,7 +148,7 @@ export type {
|
|
|
147
148
|
SecurityConfig,
|
|
148
149
|
ExternalServicesConfig,
|
|
149
150
|
PerformanceConfig,
|
|
150
|
-
} from '../../types/config';
|
|
151
|
+
} from '../../types/config.js';
|
|
151
152
|
|
|
152
153
|
// For backward compatibility with modules that expect schema objects
|
|
153
154
|
export const ServerConfigSchema = { parse: (data: any) => data };
|
package/src/core/config/utils.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
// Configuration Utilities for Modules and Environment Handling
|
|
2
|
-
import { AppConfig } from './schema';
|
|
3
|
-
import { createFrameworkLogger } from '../logger';
|
|
4
|
-
import { getGlobalConfig } from './config-manager';
|
|
2
|
+
import { AppConfig } from './schema.js';
|
|
3
|
+
import { createFrameworkLogger } from '../logger/index.js';
|
|
4
|
+
import { getGlobalConfig } from './config-manager.js';
|
|
5
5
|
|
|
6
6
|
const logger = createFrameworkLogger('ConfigUtils');
|
|
7
7
|
|