@morojs/moro 1.6.0 → 1.6.1
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 +256 -74
- package/dist/core/auth/morojs-adapter.js +20 -20
- package/dist/core/auth/morojs-adapter.js.map +1 -1
- package/dist/core/config/file-loader.d.ts +6 -1
- package/dist/core/config/file-loader.js +249 -19
- package/dist/core/config/file-loader.js.map +1 -1
- package/dist/core/config/index.d.ts +12 -41
- package/dist/core/config/index.js +54 -65
- package/dist/core/config/index.js.map +1 -1
- package/dist/core/config/loader.d.ts +7 -0
- package/dist/core/config/loader.js +269 -0
- package/dist/core/config/loader.js.map +1 -0
- package/dist/core/config/schema.d.ts +2 -2
- package/dist/core/config/schema.js +44 -52
- package/dist/core/config/schema.js.map +1 -1
- package/dist/core/config/utils.d.ts +3 -10
- package/dist/core/config/utils.js +58 -31
- package/dist/core/config/utils.js.map +1 -1
- package/dist/core/config/validation.d.ts +17 -0
- package/dist/core/config/validation.js +131 -0
- package/dist/core/config/validation.js.map +1 -0
- package/dist/core/database/adapters/drizzle.d.ts +1 -1
- package/dist/core/database/adapters/drizzle.js +11 -18
- 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 +29 -19
- package/dist/core/database/adapters/index.js.map +1 -1
- package/dist/core/database/adapters/mongodb.d.ts +1 -13
- package/dist/core/database/adapters/mongodb.js +10 -46
- package/dist/core/database/adapters/mongodb.js.map +1 -1
- package/dist/core/database/adapters/mysql.d.ts +1 -14
- package/dist/core/database/adapters/mysql.js +9 -19
- package/dist/core/database/adapters/mysql.js.map +1 -1
- package/dist/core/database/adapters/postgresql.d.ts +2 -12
- package/dist/core/database/adapters/postgresql.js +9 -19
- package/dist/core/database/adapters/postgresql.js.map +1 -1
- package/dist/core/database/adapters/redis.d.ts +1 -12
- package/dist/core/database/adapters/redis.js +13 -48
- package/dist/core/database/adapters/redis.js.map +1 -1
- package/dist/core/database/adapters/sqlite.d.ts +1 -3
- package/dist/core/database/adapters/sqlite.js +8 -19
- 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 +18 -2
- package/dist/core/database/index.js.map +1 -1
- package/dist/core/docs/index.d.ts +9 -9
- package/dist/core/docs/index.js +35 -14
- 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 +16 -11
- 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 +11 -5
- 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 +9 -4
- 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 +29 -26
- package/dist/core/docs/swagger-ui.js.map +1 -1
- package/dist/core/docs/zod-to-openapi.js +28 -31
- 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 +10 -6
- 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 +5 -1
- package/dist/core/events/index.js.map +1 -1
- package/dist/core/framework.d.ts +12 -19
- package/dist/core/framework.js +100 -277
- package/dist/core/framework.js.map +1 -1
- package/dist/core/http/http-server.d.ts +1 -13
- package/dist/core/http/http-server.js +85 -175
- package/dist/core/http/http-server.js.map +1 -1
- package/dist/core/http/index.d.ts +3 -4
- package/dist/core/http/index.js +8 -3
- package/dist/core/http/index.js.map +1 -1
- package/dist/core/http/router.d.ts +1 -13
- package/dist/core/http/router.js +43 -117
- package/dist/core/http/router.js.map +1 -1
- package/dist/core/logger/filters.d.ts +1 -1
- package/dist/core/logger/filters.js +23 -20
- package/dist/core/logger/filters.js.map +1 -1
- package/dist/core/logger/index.d.ts +3 -3
- package/dist/core/logger/index.js +24 -2
- package/dist/core/logger/index.js.map +1 -1
- package/dist/core/logger/logger.d.ts +14 -30
- package/dist/core/logger/logger.js +223 -398
- package/dist/core/logger/logger.js.map +1 -1
- package/dist/core/logger/outputs.d.ts +1 -1
- package/dist/core/logger/outputs.js +17 -8
- 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 +47 -10
- 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 +17 -10
- 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 +7 -3
- package/dist/core/middleware/built-in/adapters/cache/memory.js.map +1 -1
- package/dist/core/middleware/built-in/adapters/cache/redis.d.ts +1 -3
- package/dist/core/middleware/built-in/adapters/cache/redis.js +9 -11
- 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 +7 -3
- 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 +7 -3
- package/dist/core/middleware/built-in/adapters/cdn/cloudflare.js.map +1 -1
- package/dist/core/middleware/built-in/adapters/cdn/cloudfront.d.ts +1 -3
- package/dist/core/middleware/built-in/adapters/cdn/cloudfront.js +10 -12
- 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 +17 -10
- 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 +23 -4
- package/dist/core/middleware/built-in/adapters/index.js.map +1 -1
- package/dist/core/middleware/built-in/auth-helpers.js +22 -11
- 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 +9 -4
- 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 +26 -93
- 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 +12 -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 +9 -5
- 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 +7 -3
- 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 +7 -3
- 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 +8 -5
- 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 +8 -5
- package/dist/core/middleware/built-in/csrf.js.map +1 -1
- package/dist/core/middleware/built-in/error-tracker.js +7 -3
- package/dist/core/middleware/built-in/error-tracker.js.map +1 -1
- package/dist/core/middleware/built-in/index.d.ts +27 -28
- package/dist/core/middleware/built-in/index.js +78 -48
- package/dist/core/middleware/built-in/index.js.map +1 -1
- package/dist/core/middleware/built-in/performance-monitor.js +7 -3
- 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 +7 -3
- package/dist/core/middleware/built-in/rate-limit.js.map +1 -1
- package/dist/core/middleware/built-in/request-logger.js +8 -5
- 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 +15 -11
- 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 +14 -12
- 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 +7 -3
- 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 +28 -8
- package/dist/core/middleware/index.js.map +1 -1
- package/dist/core/modules/auto-discovery.d.ts +2 -19
- package/dist/core/modules/auto-discovery.js +74 -391
- 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 +9 -2
- package/dist/core/modules/index.js.map +1 -1
- package/dist/core/modules/modules.d.ts +3 -3
- package/dist/core/modules/modules.js +54 -23
- package/dist/core/modules/modules.js.map +1 -1
- package/dist/core/networking/adapters/index.d.ts +3 -4
- package/dist/core/networking/adapters/index.js +7 -3
- 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 +40 -5
- package/dist/core/networking/adapters/socketio-adapter.js.map +1 -1
- package/dist/core/networking/adapters/ws-adapter.d.ts +2 -2
- package/dist/core/networking/adapters/ws-adapter.js +43 -8
- package/dist/core/networking/adapters/ws-adapter.js.map +1 -1
- package/dist/core/networking/index.d.ts +2 -3
- package/dist/core/networking/index.js +7 -2
- package/dist/core/networking/index.js.map +1 -1
- package/dist/core/networking/service-discovery.js +12 -8
- package/dist/core/networking/service-discovery.js.map +1 -1
- package/dist/core/networking/websocket-adapter.js +2 -1
- 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 +11 -9
- 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 +12 -7
- package/dist/core/routing/app-integration.js.map +1 -1
- package/dist/core/routing/index.d.ts +2 -22
- package/dist/core/routing/index.js +27 -185
- 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 +6 -2
- 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 +7 -3
- 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 +6 -2
- 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 +35 -22
- 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 +49 -18
- 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 +6 -2
- package/dist/core/runtime/vercel-edge-adapter.js.map +1 -1
- package/dist/core/utilities/circuit-breaker.js +5 -1
- package/dist/core/utilities/circuit-breaker.js.map +1 -1
- package/dist/core/utilities/container.js +22 -12
- package/dist/core/utilities/container.js.map +1 -1
- package/dist/core/utilities/hooks.d.ts +2 -2
- package/dist/core/utilities/hooks.js +12 -7
- package/dist/core/utilities/hooks.js.map +1 -1
- package/dist/core/utilities/index.d.ts +4 -5
- package/dist/core/utilities/index.js +19 -5
- package/dist/core/utilities/index.js.map +1 -1
- package/dist/core/validation/adapters.d.ts +1 -1
- package/dist/core/validation/adapters.js +26 -15
- package/dist/core/validation/adapters.js.map +1 -1
- package/dist/core/validation/index.d.ts +4 -6
- package/dist/core/validation/index.js +28 -57
- package/dist/core/validation/index.js.map +1 -1
- package/dist/core/validation/schema-interface.js +9 -3
- package/dist/core/validation/schema-interface.js.map +1 -1
- package/dist/index.d.ts +52 -51
- package/dist/index.js +132 -23
- package/dist/index.js.map +1 -1
- package/dist/moro.d.ts +10 -61
- package/dist/moro.js +237 -575
- package/dist/moro.js.map +1 -1
- package/dist/types/auth.js +9 -3
- package/dist/types/auth.js.map +1 -1
- package/dist/types/cache.js +2 -1
- package/dist/types/cdn.js +2 -1
- package/dist/types/config.d.ts +2 -70
- package/dist/types/config.js +2 -1
- package/dist/types/config.js.map +1 -1
- package/dist/types/core.d.ts +42 -36
- package/dist/types/core.js +2 -1
- package/dist/types/database.js +2 -1
- package/dist/types/discovery.js +2 -1
- package/dist/types/events.js +2 -1
- package/dist/types/hooks.d.ts +1 -1
- package/dist/types/hooks.js +2 -1
- package/dist/types/http.d.ts +1 -16
- package/dist/types/http.js +2 -1
- package/dist/types/logger.d.ts +0 -7
- package/dist/types/logger.js +2 -1
- package/dist/types/module.d.ts +0 -11
- package/dist/types/module.js +2 -1
- package/dist/types/runtime.d.ts +1 -1
- package/dist/types/runtime.js +2 -1
- package/dist/types/session.js +2 -1
- package/package.json +52 -19
- package/src/core/auth/morojs-adapter.ts +13 -18
- package/src/core/config/file-loader.ts +273 -13
- package/src/core/config/index.ts +34 -83
- package/src/core/config/loader.ts +633 -0
- package/src/core/config/schema.ts +33 -44
- package/src/core/config/utils.ts +31 -24
- package/src/core/config/validation.ts +140 -0
- package/src/core/database/README.md +16 -26
- package/src/core/database/adapters/drizzle.ts +6 -18
- package/src/core/database/adapters/index.ts +13 -13
- package/src/core/database/adapters/mongodb.ts +5 -53
- package/src/core/database/adapters/mysql.ts +4 -32
- package/src/core/database/adapters/postgresql.ts +5 -30
- package/src/core/database/adapters/redis.ts +8 -61
- package/src/core/database/adapters/sqlite.ts +3 -19
- 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 +6 -3
- package/src/core/docs/simple-docs.ts +2 -2
- package/src/core/docs/swagger-ui.ts +16 -19
- 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 +67 -311
- package/src/core/http/http-server.ts +45 -190
- package/src/core/http/index.ts +3 -4
- package/src/core/http/router.ts +40 -129
- package/src/core/logger/filters.ts +5 -13
- package/src/core/logger/index.ts +3 -4
- package/src/core/logger/logger.ts +216 -435
- package/src/core/logger/outputs.ts +3 -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 +4 -18
- 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 +5 -16
- 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 +21 -102
- package/src/core/middleware/built-in/cache.ts +6 -8
- 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 +30 -38
- 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 -3
- package/src/core/middleware/built-in/session.ts +8 -7
- package/src/core/middleware/built-in/sse.ts +9 -11
- 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 +15 -478
- package/src/core/modules/index.ts +2 -2
- package/src/core/modules/modules.ts +12 -23
- package/src/core/networking/adapters/index.ts +3 -4
- package/src/core/networking/adapters/socketio-adapter.ts +3 -5
- package/src/core/networking/adapters/ws-adapter.ts +9 -8
- package/src/core/networking/index.ts +2 -3
- package/src/core/networking/service-discovery.ts +7 -6
- package/src/core/networking/websocket-manager.ts +7 -7
- package/src/core/routing/app-integration.ts +3 -3
- package/src/core/routing/index.ts +17 -201
- 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 +10 -16
- package/src/core/runtime/vercel-edge-adapter.ts +3 -3
- package/src/core/utilities/hooks.ts +3 -3
- package/src/core/utilities/index.ts +4 -5
- package/src/core/validation/adapters.ts +1 -1
- package/src/core/validation/index.ts +16 -68
- package/src/index.ts +66 -73
- package/src/moro.ts +204 -685
- package/src/types/config.ts +2 -71
- package/src/types/core.ts +47 -49
- package/src/types/hooks.ts +1 -1
- package/src/types/http.ts +1 -23
- package/src/types/logger.ts +0 -9
- package/src/types/module.ts +0 -12
- package/src/types/runtime.ts +1 -1
- package/tsconfig.json +2 -4
- package/dist/core/config/config-manager.d.ts +0 -44
- package/dist/core/config/config-manager.js +0 -104
- package/dist/core/config/config-manager.js.map +0 -1
- package/dist/core/config/config-sources.d.ts +0 -21
- package/dist/core/config/config-sources.js +0 -499
- package/dist/core/config/config-sources.js.map +0 -1
- package/dist/core/config/config-validator.d.ts +0 -21
- package/dist/core/config/config-validator.js +0 -788
- package/dist/core/config/config-validator.js.map +0 -1
- package/dist/core/http/uws-http-server.d.ts +0 -64
- package/dist/core/http/uws-http-server.js +0 -688
- package/dist/core/http/uws-http-server.js.map +0 -1
- package/dist/core/middleware/built-in/jwt-helpers.d.ts +0 -118
- package/dist/core/middleware/built-in/jwt-helpers.js +0 -218
- package/dist/core/middleware/built-in/jwt-helpers.js.map +0 -1
- package/dist/core/networking/adapters/uws-adapter.d.ts +0 -44
- package/dist/core/networking/adapters/uws-adapter.js +0 -513
- package/dist/core/networking/adapters/uws-adapter.js.map +0 -1
- package/dist/core/utilities/package-utils.d.ts +0 -38
- package/dist/core/utilities/package-utils.js +0 -57
- package/dist/core/utilities/package-utils.js.map +0 -1
- package/jest.config.mjs +0 -41
- package/src/core/config/config-manager.ts +0 -133
- package/src/core/config/config-sources.ts +0 -596
- package/src/core/config/config-validator.ts +0 -1113
- package/src/core/http/uws-http-server.ts +0 -794
- package/src/core/middleware/built-in/jwt-helpers.ts +0 -243
- package/src/core/networking/adapters/uws-adapter.ts +0 -619
- package/src/core/utilities/package-utils.ts +0 -59
package/src/core/docs/index.ts
CHANGED
|
@@ -1,17 +1,17 @@
|
|
|
1
1
|
// Moro Framework Documentation System
|
|
2
2
|
// Automatic API documentation generation from intelligent routes and Validation schemas
|
|
3
3
|
|
|
4
|
-
import { CompiledRoute } from '../routing
|
|
5
|
-
import { IntelligentRoutingManager } from '../routing/app-integration
|
|
4
|
+
import { CompiledRoute } from '../routing';
|
|
5
|
+
import { IntelligentRoutingManager } from '../routing/app-integration';
|
|
6
6
|
import {
|
|
7
7
|
OpenAPIGenerator,
|
|
8
8
|
generateOpenAPIFromRoutes,
|
|
9
9
|
GenerationOptions,
|
|
10
10
|
OpenAPISpec,
|
|
11
11
|
defaultSecuritySchemes,
|
|
12
|
-
} from './openapi-generator
|
|
13
|
-
import { SwaggerUIMiddleware, SwaggerUIOptions, createDocsMiddleware } from './swagger-ui
|
|
14
|
-
import { createFrameworkLogger } from '../logger
|
|
12
|
+
} from './openapi-generator';
|
|
13
|
+
import { SwaggerUIMiddleware, SwaggerUIOptions, createDocsMiddleware } from './swagger-ui';
|
|
14
|
+
import { createFrameworkLogger } from '../logger';
|
|
15
15
|
|
|
16
16
|
const logger = createFrameworkLogger('DocumentationSystem');
|
|
17
17
|
|
|
@@ -226,6 +226,6 @@ export function generateDocsFromIntelligentRoutes(
|
|
|
226
226
|
}
|
|
227
227
|
|
|
228
228
|
// Export all types and functions
|
|
229
|
-
export * from './openapi-generator
|
|
230
|
-
export * from './swagger-ui
|
|
231
|
-
export * from './zod-to-openapi
|
|
229
|
+
export * from './openapi-generator';
|
|
230
|
+
export * from './swagger-ui';
|
|
231
|
+
export * from './zod-to-openapi';
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
// OpenAPI Specification Generator for Moro Framework
|
|
2
2
|
// Extracts route information from intelligent routing and generates OpenAPI 3.0 specs
|
|
3
3
|
|
|
4
|
-
import { CompiledRoute, RouteSchema } from '../routing
|
|
5
|
-
import { OpenAPISchema } from './zod-to-openapi
|
|
6
|
-
import { schemaToOpenAPI, generateExampleFromValidationSchema } from './schema-to-openapi
|
|
7
|
-
import { createFrameworkLogger } from '../logger
|
|
4
|
+
import { CompiledRoute, RouteSchema } from '../routing';
|
|
5
|
+
import { OpenAPISchema } from './zod-to-openapi';
|
|
6
|
+
import { schemaToOpenAPI, generateExampleFromValidationSchema } from './schema-to-openapi';
|
|
7
|
+
import { createFrameworkLogger } from '../logger';
|
|
8
8
|
|
|
9
9
|
const logger = createFrameworkLogger('OpenAPIGenerator');
|
|
10
10
|
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
// Universal Schema to OpenAPI Converter
|
|
2
2
|
// Converts ValidationSchema (Zod, Joi, etc.) to OpenAPI 3.0 schema definitions
|
|
3
3
|
|
|
4
|
-
import { ValidationSchema } from '../validation/schema-interface
|
|
5
|
-
import { OpenAPISchema
|
|
6
|
-
import { createFrameworkLogger } from '../logger
|
|
4
|
+
import { ValidationSchema } from '../validation/schema-interface';
|
|
5
|
+
import { OpenAPISchema } from './zod-to-openapi';
|
|
6
|
+
import { createFrameworkLogger } from '../logger';
|
|
7
7
|
|
|
8
8
|
const logger = createFrameworkLogger('SchemaToOpenAPI');
|
|
9
9
|
|
|
@@ -32,6 +32,8 @@ export function schemaToOpenAPI(
|
|
|
32
32
|
// If it's a Zod schema, use the existing zod converter
|
|
33
33
|
if (isZodSchema(schema)) {
|
|
34
34
|
try {
|
|
35
|
+
// Import zod converter dynamically
|
|
36
|
+
const { zodToOpenAPI } = require('./zod-to-openapi');
|
|
35
37
|
return zodToOpenAPI(schema, options);
|
|
36
38
|
} catch (error) {
|
|
37
39
|
logger.warn('Zod converter not available, using fallback', String(error));
|
|
@@ -57,6 +59,7 @@ export function generateExampleFromValidationSchema(schema: ValidationSchema): a
|
|
|
57
59
|
// If it's a Zod schema, use existing example generator
|
|
58
60
|
if (isZodSchema(schema)) {
|
|
59
61
|
try {
|
|
62
|
+
const { generateExampleFromSchema } = require('./zod-to-openapi');
|
|
60
63
|
return generateExampleFromSchema(schema);
|
|
61
64
|
} catch (error) {
|
|
62
65
|
logger.warn('Zod example generator not available', String(error));
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
// Simple Documentation Generator - Fallback for when Swagger UI has issues
|
|
2
2
|
// Generates clean, readable API documentation from routes
|
|
3
3
|
|
|
4
|
-
import { CompiledRoute, RouteSchema } from '../routing
|
|
5
|
-
import { createFrameworkLogger } from '../logger
|
|
4
|
+
import { CompiledRoute, RouteSchema } from '../routing';
|
|
5
|
+
import { createFrameworkLogger } from '../logger';
|
|
6
6
|
|
|
7
7
|
const logger = createFrameworkLogger('SimpleDocs');
|
|
8
8
|
|
|
@@ -3,10 +3,9 @@
|
|
|
3
3
|
|
|
4
4
|
import { readFileSync } from 'fs';
|
|
5
5
|
import { join } from 'path';
|
|
6
|
-
import {
|
|
7
|
-
import {
|
|
8
|
-
import {
|
|
9
|
-
import { createFrameworkLogger } from '../logger/index.js';
|
|
6
|
+
import { HttpRequest, HttpResponse } from '../http';
|
|
7
|
+
import { OpenAPISpec } from './openapi-generator';
|
|
8
|
+
import { createFrameworkLogger } from '../logger';
|
|
10
9
|
|
|
11
10
|
const logger = createFrameworkLogger('SwaggerUI');
|
|
12
11
|
|
|
@@ -45,9 +44,7 @@ export class SwaggerUIMiddleware {
|
|
|
45
44
|
};
|
|
46
45
|
|
|
47
46
|
try {
|
|
48
|
-
// Find swagger-ui-dist assets
|
|
49
|
-
// Create a require function from the user's working directory to find their installed packages
|
|
50
|
-
const require = createUserRequire();
|
|
47
|
+
// Find swagger-ui-dist assets
|
|
51
48
|
this.swaggerUIAssetPath = require
|
|
52
49
|
.resolve('swagger-ui-dist/package.json')
|
|
53
50
|
.replace('/package.json', '');
|
|
@@ -122,37 +119,37 @@ export class SwaggerUIMiddleware {
|
|
|
122
119
|
<h3>Failed to Load Swagger UI</h3>
|
|
123
120
|
<div id="error-details"></div>
|
|
124
121
|
</div>
|
|
125
|
-
|
|
122
|
+
|
|
126
123
|
<script src="${basePath}/swagger-ui-bundle.js" charset="UTF-8"></script>
|
|
127
124
|
<script src="${basePath}/swagger-ui-standalone-preset.js" charset="UTF-8"></script>
|
|
128
125
|
<script>
|
|
129
126
|
console.log('Starting Swagger UI initialization...');
|
|
130
|
-
|
|
127
|
+
|
|
131
128
|
function showError(message, details) {
|
|
132
129
|
console.error('Swagger UI Error:', message, details);
|
|
133
130
|
document.getElementById('loading-message').style.display = 'none';
|
|
134
131
|
document.getElementById('error-display').style.display = 'block';
|
|
135
|
-
document.getElementById('error-details').innerHTML =
|
|
132
|
+
document.getElementById('error-details').innerHTML =
|
|
136
133
|
'<p><strong>Error:</strong> ' + message + '</p>' +
|
|
137
134
|
(details ? '<pre>' + JSON.stringify(details, null, 2) + '</pre>' : '');
|
|
138
135
|
}
|
|
139
|
-
|
|
136
|
+
|
|
140
137
|
function initializeSwaggerUI() {
|
|
141
138
|
console.log('Initializing Swagger UI...');
|
|
142
|
-
|
|
139
|
+
|
|
143
140
|
if (typeof SwaggerUIBundle === 'undefined') {
|
|
144
141
|
showError('SwaggerUIBundle not loaded', { SwaggerUIBundle: typeof SwaggerUIBundle });
|
|
145
142
|
return;
|
|
146
143
|
}
|
|
147
|
-
|
|
144
|
+
|
|
148
145
|
if (typeof SwaggerUIStandalonePreset === 'undefined') {
|
|
149
146
|
showError('SwaggerUIStandalonePreset not loaded', { SwaggerUIStandalonePreset: typeof SwaggerUIStandalonePreset });
|
|
150
147
|
return;
|
|
151
148
|
}
|
|
152
|
-
|
|
149
|
+
|
|
153
150
|
try {
|
|
154
151
|
console.log('Creating SwaggerUIBundle...');
|
|
155
|
-
|
|
152
|
+
|
|
156
153
|
const ui = SwaggerUIBundle({
|
|
157
154
|
url: '${basePath}/openapi.json',
|
|
158
155
|
dom_id: '#swagger-ui',
|
|
@@ -176,10 +173,10 @@ export class SwaggerUIMiddleware {
|
|
|
176
173
|
showError('Swagger UI initialization failed', error);
|
|
177
174
|
}
|
|
178
175
|
});
|
|
179
|
-
|
|
176
|
+
|
|
180
177
|
window.ui = ui;
|
|
181
178
|
console.log('SwaggerUIBundle created successfully');
|
|
182
|
-
|
|
179
|
+
|
|
183
180
|
// Hide loading message after timeout if onComplete doesn't fire
|
|
184
181
|
setTimeout(function() {
|
|
185
182
|
var loadingEl = document.getElementById('loading-message');
|
|
@@ -188,7 +185,7 @@ export class SwaggerUIMiddleware {
|
|
|
188
185
|
loadingEl.style.display = 'none';
|
|
189
186
|
}
|
|
190
187
|
}, 5000);
|
|
191
|
-
|
|
188
|
+
|
|
192
189
|
} catch (error) {
|
|
193
190
|
console.error('Error creating SwaggerUIBundle:', error);
|
|
194
191
|
showError('Failed to create SwaggerUIBundle', {
|
|
@@ -197,7 +194,7 @@ export class SwaggerUIMiddleware {
|
|
|
197
194
|
});
|
|
198
195
|
}
|
|
199
196
|
}
|
|
200
|
-
|
|
197
|
+
|
|
201
198
|
// Initialize when DOM is ready and scripts are loaded
|
|
202
199
|
if (document.readyState === 'loading') {
|
|
203
200
|
document.addEventListener('DOMContentLoaded', function() {
|
|
@@ -1,40 +1,42 @@
|
|
|
1
1
|
// Zod to OpenAPI Schema Converter
|
|
2
2
|
// Transforms Zod schemas into OpenAPI 3.0 schema definitions
|
|
3
3
|
|
|
4
|
-
import { createFrameworkLogger } from '../logger
|
|
5
|
-
import { createUserRequire, isPackageAvailable } from '../utilities/package-utils.js';
|
|
6
|
-
|
|
7
|
-
const logger = createFrameworkLogger('ZodToOpenAPI');
|
|
4
|
+
import { createFrameworkLogger } from '../logger';
|
|
8
5
|
|
|
9
6
|
// Dynamic Zod imports (optional dependency)
|
|
10
|
-
let
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
7
|
+
let ZodSchema: any,
|
|
8
|
+
ZodType: any,
|
|
9
|
+
ZodObject: any,
|
|
10
|
+
ZodArray: any,
|
|
11
|
+
ZodString: any,
|
|
12
|
+
ZodNumber: any,
|
|
13
|
+
ZodBoolean: any,
|
|
14
|
+
ZodEnum: any,
|
|
15
|
+
ZodOptional: any,
|
|
16
|
+
ZodDefault: any,
|
|
17
|
+
ZodUnion: any,
|
|
18
|
+
ZodLiteral: any;
|
|
19
|
+
|
|
20
|
+
try {
|
|
21
|
+
const zod = require('zod');
|
|
22
|
+
ZodSchema = zod.ZodSchema;
|
|
23
|
+
ZodType = zod.ZodType;
|
|
24
|
+
ZodObject = zod.ZodObject;
|
|
25
|
+
ZodArray = zod.ZodArray;
|
|
26
|
+
ZodString = zod.ZodString;
|
|
27
|
+
ZodNumber = zod.ZodNumber;
|
|
28
|
+
ZodBoolean = zod.ZodBoolean;
|
|
29
|
+
ZodEnum = zod.ZodEnum;
|
|
30
|
+
ZodOptional = zod.ZodOptional;
|
|
31
|
+
ZodDefault = zod.ZodDefault;
|
|
32
|
+
ZodUnion = zod.ZodUnion;
|
|
33
|
+
ZodLiteral = zod.ZodLiteral;
|
|
34
|
+
} catch {
|
|
35
|
+
// Zod not available - that's fine!
|
|
36
36
|
}
|
|
37
37
|
|
|
38
|
+
const logger = createFrameworkLogger('ZodToOpenAPI');
|
|
39
|
+
|
|
38
40
|
// OpenAPI schema types
|
|
39
41
|
export interface OpenAPISchema {
|
|
40
42
|
type?: string;
|
|
@@ -70,8 +72,7 @@ export interface ConversionOptions {
|
|
|
70
72
|
// Main conversion function
|
|
71
73
|
export function zodToOpenAPI(schema: any, options: ConversionOptions = {}): OpenAPISchema {
|
|
72
74
|
// Check if Zod is available
|
|
73
|
-
|
|
74
|
-
if (!zod) {
|
|
75
|
+
if (!ZodSchema) {
|
|
75
76
|
throw new Error('Zod is not installed. Please install zod to use zodToOpenAPI function.');
|
|
76
77
|
}
|
|
77
78
|
|
|
@@ -419,8 +420,7 @@ function hasDefault(type: any): boolean {
|
|
|
419
420
|
// Generate example data from Zod schema
|
|
420
421
|
export function generateExampleFromSchema(schema: any): any {
|
|
421
422
|
// Check if Zod is available
|
|
422
|
-
|
|
423
|
-
if (!zod) {
|
|
423
|
+
if (!ZodSchema) {
|
|
424
424
|
throw new Error(
|
|
425
425
|
'Zod is not installed. Please install zod to use generateExampleFromSchema function.'
|
|
426
426
|
);
|
|
@@ -8,8 +8,8 @@ import {
|
|
|
8
8
|
GlobalEventBus,
|
|
9
9
|
EventMetrics,
|
|
10
10
|
EventHandler,
|
|
11
|
-
} from '../../types/events
|
|
12
|
-
import { createFrameworkLogger } from '../logger
|
|
11
|
+
} from '../../types/events';
|
|
12
|
+
import { createFrameworkLogger } from '../logger';
|
|
13
13
|
|
|
14
14
|
export class MoroEventBus implements GlobalEventBus {
|
|
15
15
|
private emitter = new EventEmitter();
|
package/src/core/events/index.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
// Event System - Centralized Exports
|
|
2
|
-
export { MoroEventBus } from './event-bus
|
|
2
|
+
export { MoroEventBus } from './event-bus';
|
|
3
3
|
export type {
|
|
4
4
|
EventContext,
|
|
5
5
|
EventPayload,
|
|
@@ -9,4 +9,4 @@ export type {
|
|
|
9
9
|
EventMetrics,
|
|
10
10
|
SystemEvents,
|
|
11
11
|
EventHandler,
|
|
12
|
-
} from '../../types/events
|
|
12
|
+
} from '../../types/events';
|