@asenajs/asena 0.3.2 → 0.4.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.
Files changed (126) hide show
  1. package/README.md +165 -140
  2. package/dist/index.d.ts +2 -1
  3. package/dist/index.js +2 -1
  4. package/dist/index.js.map +1 -1
  5. package/dist/lib/adapter/AsenaAdapter.d.ts +19 -3
  6. package/dist/lib/adapter/AsenaAdapter.js.map +1 -1
  7. package/dist/lib/adapter/AsenaWebsocketAdapter.d.ts +2 -2
  8. package/dist/lib/adapter/AsenaWebsocketAdapter.js.map +1 -1
  9. package/dist/lib/adapter/types/RouteParams.d.ts +3 -0
  10. package/dist/lib/adapter/types/ServeOptions.d.ts +2 -2
  11. package/dist/lib/adapter/types/index.d.ts +4 -4
  12. package/dist/lib/adapter/types/index.js +4 -4
  13. package/dist/lib/adapter/types/index.js.map +1 -1
  14. package/dist/lib/ioc/CircularDependencyDetector.d.ts +49 -0
  15. package/dist/lib/ioc/CircularDependencyDetector.js +69 -0
  16. package/dist/lib/ioc/CircularDependencyDetector.js.map +1 -0
  17. package/dist/lib/ioc/Container.d.ts +9 -0
  18. package/dist/lib/ioc/Container.js +42 -11
  19. package/dist/lib/ioc/Container.js.map +1 -1
  20. package/dist/lib/ioc/CoreContainer.d.ts +78 -0
  21. package/dist/lib/ioc/CoreContainer.js +135 -0
  22. package/dist/lib/ioc/CoreContainer.js.map +1 -0
  23. package/dist/lib/ioc/IocEngine.d.ts +16 -6
  24. package/dist/lib/ioc/IocEngine.js +35 -7
  25. package/dist/lib/ioc/IocEngine.js.map +1 -1
  26. package/dist/lib/ioc/component/index.d.ts +1 -1
  27. package/dist/lib/ioc/component/index.js +1 -1
  28. package/dist/lib/ioc/component/index.js.map +1 -1
  29. package/dist/lib/ioc/constants/ComponentConstants.d.ts +27 -18
  30. package/dist/lib/ioc/constants/ComponentConstants.js +34 -20
  31. package/dist/lib/ioc/constants/ComponentConstants.js.map +1 -1
  32. package/dist/lib/ioc/decorators/CoreService.d.ts +8 -0
  33. package/dist/lib/ioc/decorators/CoreService.js +27 -0
  34. package/dist/lib/ioc/decorators/CoreService.js.map +1 -0
  35. package/dist/lib/ioc/decorators/index.d.ts +1 -0
  36. package/dist/lib/ioc/decorators/index.js +2 -0
  37. package/dist/lib/ioc/decorators/index.js.map +1 -0
  38. package/dist/lib/ioc/index.d.ts +5 -0
  39. package/dist/lib/ioc/index.js +5 -0
  40. package/dist/lib/ioc/index.js.map +1 -1
  41. package/dist/lib/ioc/types/CoreBootstrapPhase.d.ts +15 -0
  42. package/dist/lib/ioc/types/CoreBootstrapPhase.js +17 -0
  43. package/dist/lib/ioc/types/CoreBootstrapPhase.js.map +1 -0
  44. package/dist/lib/ioc/types/ICoreService.d.ts +9 -0
  45. package/dist/lib/ioc/types/ICoreService.js +2 -0
  46. package/dist/lib/ioc/types/ICoreService.js.map +1 -0
  47. package/dist/lib/ioc/types/ICoreServiceNamesType.d.ts +18 -0
  48. package/dist/lib/ioc/types/ICoreServiceNamesType.js +23 -0
  49. package/dist/lib/ioc/types/ICoreServiceNamesType.js.map +1 -0
  50. package/dist/lib/ioc/types/decorators/ControllerParams.d.ts +1 -1
  51. package/dist/lib/ioc/types/index.d.ts +3 -0
  52. package/dist/lib/ioc/types/index.js +3 -0
  53. package/dist/lib/ioc/types/index.js.map +1 -1
  54. package/dist/lib/server/AsenaServer.d.ts +85 -14
  55. package/dist/lib/server/AsenaServer.js +169 -61
  56. package/dist/lib/server/AsenaServer.js.map +1 -1
  57. package/dist/lib/server/AsenaServerFactory.d.ts +26 -0
  58. package/dist/lib/server/AsenaServerFactory.js +58 -0
  59. package/dist/lib/server/AsenaServerFactory.js.map +1 -0
  60. package/dist/lib/server/config/AsenaConfig.d.ts +91 -18
  61. package/dist/lib/server/decorators/Override.js +1 -1
  62. package/dist/lib/server/decorators/Override.js.map +1 -1
  63. package/dist/lib/server/decorators/components/Config.d.ts +1 -1
  64. package/dist/lib/server/decorators/components/Config.js +1 -1
  65. package/dist/lib/server/decorators/components/Config.js.map +1 -1
  66. package/dist/lib/server/decorators/components/Controller.d.ts +1 -1
  67. package/dist/lib/server/decorators/components/Controller.js +2 -2
  68. package/dist/lib/server/decorators/components/Controller.js.map +1 -1
  69. package/dist/lib/server/decorators/components/Middleware.js +2 -2
  70. package/dist/lib/server/decorators/components/Middleware.js.map +1 -1
  71. package/dist/lib/server/decorators/components/Schedule.d.ts +1 -1
  72. package/dist/lib/server/decorators/components/Schedule.js +2 -2
  73. package/dist/lib/server/decorators/components/Schedule.js.map +1 -1
  74. package/dist/lib/server/decorators/components/WebSocket.d.ts +1 -1
  75. package/dist/lib/server/decorators/components/WebSocket.js +2 -2
  76. package/dist/lib/server/decorators/components/WebSocket.js.map +1 -1
  77. package/dist/lib/server/decorators/index.d.ts +2 -0
  78. package/dist/lib/server/decorators/index.js +2 -0
  79. package/dist/lib/server/decorators/index.js.map +1 -1
  80. package/dist/lib/server/index.d.ts +2 -0
  81. package/dist/lib/server/index.js +2 -0
  82. package/dist/lib/server/index.js.map +1 -1
  83. package/dist/lib/server/src/services/PrepareConfigService.d.ts +9 -5
  84. package/dist/lib/server/src/services/PrepareConfigService.js +32 -7
  85. package/dist/lib/server/src/services/PrepareConfigService.js.map +1 -1
  86. package/dist/lib/server/src/services/PrepareMiddlewareService.d.ts +8 -5
  87. package/dist/lib/server/src/services/PrepareMiddlewareService.js +28 -7
  88. package/dist/lib/server/src/services/PrepareMiddlewareService.js.map +1 -1
  89. package/dist/lib/server/src/services/PrepareStaticServeConfigService.d.ts +8 -5
  90. package/dist/lib/server/src/services/PrepareStaticServeConfigService.js +27 -6
  91. package/dist/lib/server/src/services/PrepareStaticServeConfigService.js.map +1 -1
  92. package/dist/lib/server/src/services/PrepareValidatorService.d.ts +8 -5
  93. package/dist/lib/server/src/services/PrepareValidatorService.js +27 -6
  94. package/dist/lib/server/src/services/PrepareValidatorService.js.map +1 -1
  95. package/dist/lib/server/src/services/PrepareWebsocketService.d.ts +8 -5
  96. package/dist/lib/server/src/services/PrepareWebsocketService.js +28 -9
  97. package/dist/lib/server/src/services/PrepareWebsocketService.js.map +1 -1
  98. package/dist/lib/server/web/decorators/http.base.d.ts +1 -1
  99. package/dist/lib/server/web/decorators/http.base.js.map +1 -1
  100. package/dist/lib/server/web/decorators/methods/Connect.d.ts +1 -1
  101. package/dist/lib/server/web/decorators/methods/Delete.d.ts +1 -1
  102. package/dist/lib/server/web/decorators/methods/Get.d.ts +1 -1
  103. package/dist/lib/server/web/decorators/methods/Head.d.ts +1 -1
  104. package/dist/lib/server/web/decorators/methods/Options.d.ts +1 -1
  105. package/dist/lib/server/web/decorators/methods/Patch.d.ts +1 -1
  106. package/dist/lib/server/web/decorators/methods/Post.d.ts +1 -1
  107. package/dist/lib/server/web/decorators/methods/Put.d.ts +1 -1
  108. package/dist/lib/server/web/decorators/methods/Trace.d.ts +1 -1
  109. package/dist/lib/server/web/websocket/AsenaSocket.js +12 -8
  110. package/dist/lib/server/web/websocket/AsenaSocket.js.map +1 -1
  111. package/dist/lib/server/web/websocket/AsenaWebSocketServer.d.ts +1 -1
  112. package/dist/lib/server/web/websocket/AsenaWebSocketServer.js.map +1 -1
  113. package/dist/lib/server/web/websocket/AsenaWebSocketService.js +1 -1
  114. package/dist/lib/server/web/websocket/AsenaWebSocketService.js.map +1 -1
  115. package/dist/lib/server/web/websocket/index.d.ts +1 -1
  116. package/dist/lib/server/web/websocket/index.js +1 -1
  117. package/dist/lib/server/web/websocket/index.js.map +1 -1
  118. package/dist/lib/utils/patternMatcher.d.ts +41 -0
  119. package/dist/lib/utils/patternMatcher.js +99 -0
  120. package/dist/lib/utils/patternMatcher.js.map +1 -0
  121. package/dist/lib/utils/typedMetadata.d.ts +3 -3
  122. package/dist/lib/utils/typedMetadata.js.map +1 -1
  123. package/package.json +12 -7
  124. package/dist/lib/server/src/PrepareService.d.ts +0 -8
  125. package/dist/lib/server/src/PrepareService.js +0 -9
  126. package/dist/lib/server/src/PrepareService.js.map +0 -1
@@ -1,92 +1,95 @@
1
- import { IocEngine } from '../ioc';
2
- import { readConfigFile } from '../ioc/helper/fileHelper';
3
- import { ComponentType } from '../ioc/types';
1
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
2
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
6
+ };
7
+ var __metadata = (this && this.__metadata) || function (k, v) {
8
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
9
+ };
10
+ import { ComponentType, CoreBootstrapPhase, CoreService, ICoreServiceNames, } from '../ioc';
4
11
  import * as path from 'node:path';
5
12
  import { ComponentConstants } from '../ioc/constants';
6
13
  import * as bun from 'bun';
7
14
  import { green, yellow } from '../logger';
8
15
  import { getOwnTypedMetadata, getTypedMetadata } from '../utils/typedMetadata';
9
- import { PrepareMiddlewareService } from './src/services/PrepareMiddlewareService';
10
- import { PrepareConfigService } from './src/services/PrepareConfigService';
11
- import { PrepareWebsocketService } from './src/services/PrepareWebsocketService';
12
- import { PrepareValidatorService } from './src/services/PrepareValidatorService';
13
- import { PrepareStaticServeConfigService } from './src/services/PrepareStaticServeConfigService';
14
- export class AsenaServer {
15
- _port;
16
- controllers = [];
17
- _components = [];
18
- _ioc;
19
- _logger;
16
+ import { Inject } from '../ioc/component';
17
+ /**
18
+ * @description AsenaServer - Main server class for Asena framework
19
+ * Now a core service managed by IoC container with field injection
20
+ */
21
+ let AsenaServer = class AsenaServer {
22
+ serviceName = 'AsenaServer';
23
+ _coreContainer;
20
24
  _adapter;
25
+ _logger;
21
26
  prepareMiddleware;
22
27
  prepareConfigService;
23
28
  prepareWebsocketService;
24
29
  prepareValidatorService;
25
30
  prepareStaticServeConfigService;
26
- constructor(adapter, logger) {
27
- this._adapter = adapter;
28
- this._logger = logger;
31
+ // Instance state
32
+ _port;
33
+ _gc = false;
34
+ controllers = [];
35
+ /**
36
+ * @description Lifecycle hook - called after dependencies are injected
37
+ * @returns {void}
38
+ */
39
+ onInit() {
29
40
  this._logger.info(`
30
41
  ___ _____ ______ _ __ ___
31
42
  / | / ___/ / ____// | / // |
32
43
  / /| | \\__ \\ / __/ / |/ // /| |
33
44
  / ___ | ___/ // /___ / /| // ___ |
34
45
  /_/ |_|/____//_____//_/ |_//_/ |_|
35
- `);
46
+ `);
36
47
  }
37
- async initialize() {
38
- const config = await readConfigFile();
39
- if (!config) {
40
- this._logger.warn('asena-config file not found');
41
- }
42
- this._ioc = new IocEngine(config);
43
- await this._ioc.searchAndRegister(this._components);
44
- this.prepareMiddleware = new PrepareMiddlewareService(this._ioc.container, this._logger);
45
- this.prepareConfigService = new PrepareConfigService(this._ioc.container, this._logger);
46
- this.prepareWebsocketService = new PrepareWebsocketService(this._ioc.container, this._logger);
47
- this.prepareValidatorService = new PrepareValidatorService(this._ioc.container, this._logger);
48
- this.prepareStaticServeConfigService = new PrepareStaticServeConfigService(this._ioc.container, this._logger);
49
- return this._ioc.container;
50
- }
51
- async start(gc = false) {
52
- await this.initialize();
48
+ /**
49
+ * @description Start the server
50
+ * Main entry point after factory creation
51
+ * @returns {Promise<void>}
52
+ */
53
+ async start() {
53
54
  this._logger.info(`Adapter: ${green(this._adapter.name)} implemented`);
54
55
  this._adapter.setPort(this._port);
55
56
  this._logger.info('All components registered and ready to use');
57
+ // Phase 7: Application setup
58
+ this._coreContainer.setPhase(CoreBootstrapPhase.APPLICATION_SETUP);
56
59
  await this.prepareConfigs();
57
60
  await this.initializeControllers();
58
61
  await this.prepareWebSocket();
59
- this._logger.info('Server started on port ' + this._port);
62
+ // Phase 8: Server ready
63
+ this._coreContainer.setPhase(CoreBootstrapPhase.SERVER_READY);
60
64
  await this._adapter.start();
61
- // TODO: this is wierd but when we call gc asena uses less memory rest of the time
62
- if (gc) {
65
+ if (this._gc) {
63
66
  bun.gc(true);
64
67
  }
65
68
  }
66
- components(components) {
67
- this._components = components.map((_component) => {
68
- const face = getTypedMetadata(ComponentConstants.InterfaceKey, _component);
69
- const component = {
70
- Class: _component,
71
- interface: face,
72
- };
73
- return component;
74
- });
75
- return this;
76
- }
69
+ /**
70
+ * @description Configure server port
71
+ * Builder pattern for API compatibility
72
+ * @param {number} port - Port number
73
+ * @returns {this}
74
+ */
77
75
  port(port) {
78
76
  this._port = port;
79
77
  return this;
80
78
  }
81
- logger(value) {
82
- this._logger = value;
83
- return this;
79
+ /**
80
+ * @description Get current CoreContainer instance
81
+ * @returns {CoreContainer}
82
+ */
83
+ get coreContainer() {
84
+ return this._coreContainer;
84
85
  }
86
+ /**
87
+ * @description Initialize and register all controllers
88
+ * @returns {Promise<void>}
89
+ */
85
90
  async initializeControllers() {
86
91
  await this.validateAndSetControllers();
87
92
  for (const controller of this.controllers) {
88
- const name = getTypedMetadata(ComponentConstants.NameKey, controller.constructor);
89
- this._logger.info(`Controller: ${green(name)} found:`);
90
93
  const routes = getOwnTypedMetadata(ComponentConstants.RouteKey, controller.constructor) || {};
91
94
  const routePath = getOwnTypedMetadata(ComponentConstants.PathKey, controller.constructor) || '';
92
95
  await this.prepareTopMiddlewares({ controller, routePath });
@@ -101,13 +104,18 @@ export class AsenaServer {
101
104
  handler: controller[name].bind(controller),
102
105
  staticServe: await this.prepareStaticServeConfig(params.staticServe),
103
106
  validator: validatorInstance,
107
+ controllerName: getTypedMetadata(ComponentConstants.NameKey, controller.constructor),
108
+ controllerBasePath: routePath,
104
109
  });
105
110
  }
106
- this._logger.info(`Controller: ${green(name)} successfully registered.`);
107
111
  }
108
112
  }
113
+ /**
114
+ * @description Validate and set controllers from container
115
+ * @returns {Promise<void>}
116
+ */
109
117
  async validateAndSetControllers() {
110
- const controllers = await this._ioc.container.resolveAll(ComponentType.CONTROLLER);
118
+ const controllers = await this._coreContainer.container.resolveAll(ComponentType.CONTROLLER);
111
119
  if (controllers !== null) {
112
120
  // check if any controller is array or not
113
121
  if (controllers.find((controller) => Array.isArray(controller))) {
@@ -116,29 +124,62 @@ export class AsenaServer {
116
124
  this.controllers = controllers;
117
125
  }
118
126
  }
127
+ /**
128
+ * @description Prepare static serve configuration
129
+ * @param {StaticServeClass} staticServeClass - Static serve class
130
+ * @returns {Promise<BaseStaticServeParams>}
131
+ */
119
132
  async prepareStaticServeConfig(staticServeClass) {
120
133
  return await this.prepareStaticServeConfigService.prepare(staticServeClass);
121
134
  }
135
+ /**
136
+ * @description Prepare top-level middlewares for controller or websocket
137
+ * @param {PrepareMiddlewareParams} params - Middleware parameters
138
+ * @param {boolean} websocket - Whether this is for websocket
139
+ * @returns {Promise<BaseMiddleware[]>}
140
+ */
122
141
  async prepareTopMiddlewares({ controller, routePath }, websocket = false) {
123
142
  const topMiddlewares = getTypedMetadata(ComponentConstants.MiddlewaresKey, controller.constructor) || [];
124
143
  const middlewares = await this.prepareMiddlewares(topMiddlewares);
125
144
  if (websocket) {
126
145
  return middlewares;
127
146
  }
147
+ // Register controller-level middlewares with pattern matching
148
+ // Convert routePath to pattern: /api → /api/*
149
+ const routePattern = routePath ? `${routePath}/*` : undefined;
128
150
  for (const middleware of middlewares) {
129
- await this._adapter.use(middleware, routePath);
151
+ await this._adapter.use(middleware, routePattern ? { include: [routePattern] } : undefined);
130
152
  }
131
153
  }
154
+ /**
155
+ * @description Prepare validator instance
156
+ * @param {ValidatorClass<any>} Validator - Validator class
157
+ * @returns {Promise<BaseValidator>}
158
+ */
132
159
  async prepareValidator(Validator) {
133
160
  return await this.prepareValidatorService.prepare(Validator);
134
161
  }
162
+ /**
163
+ * @description Prepare route-level middlewares
164
+ * @param {ApiParams} middlewareParams - Middleware parameters
165
+ * @returns {Promise<BaseMiddleware[]>}
166
+ */
135
167
  async prepareRouteMiddleware(middlewareParams) {
136
168
  const routeMiddlewares = middlewareParams?.middlewares || [];
137
169
  return this.prepareMiddlewares(routeMiddlewares);
138
170
  }
171
+ /**
172
+ * @description Prepare middlewares from classes
173
+ * @param {MiddlewareClass[]} middlewares - Middleware classes
174
+ * @returns {Promise<BaseMiddleware[]>}
175
+ */
139
176
  async prepareMiddlewares(middlewares) {
140
177
  return this.prepareMiddleware.prepare(middlewares);
141
178
  }
179
+ /**
180
+ * @description Prepare and register WebSocket routes
181
+ * @returns {Promise<void>}
182
+ */
142
183
  async prepareWebSocket() {
143
184
  const websockets = await this.prepareWebsocketService.prepare();
144
185
  if (!websockets) {
@@ -151,9 +192,33 @@ export class AsenaServer {
151
192
  path: path,
152
193
  middlewares: middlewares,
153
194
  websocketService: websocket,
195
+ controllerName: getTypedMetadata(ComponentConstants.NameKey, websocket.constructor),
154
196
  });
155
197
  }
156
198
  }
199
+ /**
200
+ * @description Normalizes global middleware entry to config format
201
+ * Handles backward compatibility (MiddlewareClass → GlobalMiddlewareConfig)
202
+ *
203
+ * @param entry - Middleware entry (class or config object)
204
+ * @returns Normalized config object
205
+ */
206
+ normalizeMiddlewareEntry(entry) {
207
+ // If it's already a config object, return as-is
208
+ if (typeof entry === 'object' && 'middleware' in entry) {
209
+ return entry;
210
+ }
211
+ // If it's a class (old format), convert to config format
212
+ return {
213
+ middleware: entry,
214
+ routes: undefined, // No route config = apply to all routes
215
+ };
216
+ }
217
+ /**
218
+ * @description Prepare and apply configuration
219
+ * Updated to support pattern-based global middlewares
220
+ * @returns {Promise<void>}
221
+ */
157
222
  async prepareConfigs() {
158
223
  const configInstance = await this.prepareConfigService.prepare();
159
224
  if (!configInstance) {
@@ -165,15 +230,58 @@ export class AsenaServer {
165
230
  if (typeof configInstance.onError === 'function') {
166
231
  await this._adapter.onError(configInstance.onError.bind(configInstance));
167
232
  }
233
+ // Pattern-based global middleware registration
168
234
  if (typeof configInstance.globalMiddlewares === 'function') {
169
- const middlewares = await configInstance.globalMiddlewares();
170
- const preparedMiddlewares = await this.prepareMiddlewares(middlewares);
171
- for (const middleware of preparedMiddlewares) {
172
- await this._adapter.use(middleware);
235
+ const middlewareEntries = await configInstance.globalMiddlewares();
236
+ for (const entry of middlewareEntries) {
237
+ // Normalize entry to config format (handles backward compatibility)
238
+ const config = this.normalizeMiddlewareEntry(entry);
239
+ // Prepare middleware instances
240
+ const preparedMiddlewares = await this.prepareMiddlewares([config.middleware]);
241
+ // Register with adapter (pass route config)
242
+ for (const middleware of preparedMiddlewares) {
243
+ await this._adapter.use(middleware, config.routes);
244
+ }
173
245
  }
174
246
  }
175
247
  const name = getOwnTypedMetadata(ComponentConstants.NameKey, configInstance.constructor);
176
248
  this._logger.info(`Config ${yellow(name)} applied`);
177
249
  }
178
- }
250
+ };
251
+ __decorate([
252
+ Inject(ICoreServiceNames.CORE_CONTAINER),
253
+ __metadata("design:type", Function)
254
+ ], AsenaServer.prototype, "_coreContainer", void 0);
255
+ __decorate([
256
+ Inject(ICoreServiceNames.ASENA_ADAPTER),
257
+ __metadata("design:type", Object)
258
+ ], AsenaServer.prototype, "_adapter", void 0);
259
+ __decorate([
260
+ Inject(ICoreServiceNames.SERVER_LOGGER),
261
+ __metadata("design:type", Object)
262
+ ], AsenaServer.prototype, "_logger", void 0);
263
+ __decorate([
264
+ Inject(ICoreServiceNames.PREPARE_MIDDLEWARE_SERVICE),
265
+ __metadata("design:type", Function)
266
+ ], AsenaServer.prototype, "prepareMiddleware", void 0);
267
+ __decorate([
268
+ Inject(ICoreServiceNames.PREPARE_CONFIG_SERVICE),
269
+ __metadata("design:type", Function)
270
+ ], AsenaServer.prototype, "prepareConfigService", void 0);
271
+ __decorate([
272
+ Inject(ICoreServiceNames.PREPARE_WEBSOCKET_SERVICE),
273
+ __metadata("design:type", Function)
274
+ ], AsenaServer.prototype, "prepareWebsocketService", void 0);
275
+ __decorate([
276
+ Inject(ICoreServiceNames.PREPARE_VALIDATOR_SERVICE),
277
+ __metadata("design:type", Function)
278
+ ], AsenaServer.prototype, "prepareValidatorService", void 0);
279
+ __decorate([
280
+ Inject(ICoreServiceNames.PREPARE_STATIC_SERVE_CONFIG_SERVICE),
281
+ __metadata("design:type", Function)
282
+ ], AsenaServer.prototype, "prepareStaticServeConfigService", void 0);
283
+ AsenaServer = __decorate([
284
+ CoreService(ICoreServiceNames.ASENA_SERVER)
285
+ ], AsenaServer);
286
+ export { AsenaServer };
179
287
  //# sourceMappingURL=AsenaServer.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"AsenaServer.js","sourceRoot":"","sources":["../../../lib/server/AsenaServer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"AsenaServer.js","sourceRoot":"","sources":["../../../lib/server/AsenaServer.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,26 @@
1
+ import type { AsenaServer } from './AsenaServer';
2
+ import type { AsenaAdapter } from '../adapter';
3
+ import type { ServerLogger } from '../logger';
4
+ import type { Class } from './types';
5
+ /**
6
+ * @description Configuration options for AsenaServer creation
7
+ */
8
+ export interface AsenaServerOptions<A extends AsenaAdapter<any, any>> {
9
+ adapter: A;
10
+ logger: ServerLogger;
11
+ port?: number;
12
+ components?: Class[];
13
+ gc?: boolean;
14
+ }
15
+ /**
16
+ * @description Factory for creating AsenaServer instances
17
+ * Handles IoC bootstrap and dependency injection
18
+ */
19
+ export declare class AsenaServerFactory {
20
+ /**
21
+ * @description Create and configure AsenaServer instance
22
+ * @param {AsenaServerOptions<A>} options - Server configuration options
23
+ * @returns {Promise<AsenaServer<A>>} Fully configured AsenaServer instance
24
+ */
25
+ static create<A extends AsenaAdapter<any, any>>(options: AsenaServerOptions<A>): Promise<AsenaServer<A>>;
26
+ }
@@ -0,0 +1,58 @@
1
+ import { CoreBootstrapPhase, CoreContainer, ICoreServiceNames } from '../ioc';
2
+ import { readConfigFile } from '../ioc/helper/fileHelper';
3
+ import { ComponentConstants } from '../ioc/constants';
4
+ import { getTypedMetadata } from '../utils/typedMetadata';
5
+ /**
6
+ * @description Factory for creating AsenaServer instances
7
+ * Handles IoC bootstrap and dependency injection
8
+ */
9
+ export class AsenaServerFactory {
10
+ /**
11
+ * @description Create and configure AsenaServer instance
12
+ * @param {AsenaServerOptions<A>} options - Server configuration options
13
+ * @returns {Promise<AsenaServer<A>>} Fully configured AsenaServer instance
14
+ */
15
+ static async create(options) {
16
+ const { adapter, logger, port, components, gc } = options;
17
+ // Read config file
18
+ const config = await readConfigFile();
19
+ if (!config) {
20
+ logger.warn('asena-config file not found');
21
+ }
22
+ // Create CoreContainer
23
+ const coreContainer = new CoreContainer();
24
+ // Phase 1-5: Bootstrap core services
25
+ await coreContainer.bootstrap(adapter, logger);
26
+ // Register CoreContainer itself for AsenaServer injection
27
+ await coreContainer.container.registerInstance(ICoreServiceNames.CORE_CONTAINER, coreContainer);
28
+ // Phase 6: Register user components
29
+ const iocEngine = await coreContainer.resolve(ICoreServiceNames.IOC_ENGINE);
30
+ iocEngine.setConfig(config);
31
+ if (components?.length) {
32
+ const injectableComponents = components.map((comp) => {
33
+ const face = getTypedMetadata(ComponentConstants.InterfaceKey, comp);
34
+ return {
35
+ Class: comp,
36
+ interface: face,
37
+ };
38
+ });
39
+ await iocEngine.searchAndRegister(injectableComponents);
40
+ }
41
+ else if (config) {
42
+ await iocEngine.searchAndRegister();
43
+ }
44
+ coreContainer.setPhase(CoreBootstrapPhase.USER_COMPONENTS_INIT);
45
+ // Register AsenaServer as core service
46
+ const { AsenaServer } = await import('./AsenaServer');
47
+ await coreContainer.container.register(ICoreServiceNames.ASENA_SERVER, AsenaServer, true);
48
+ // Resolve AsenaServer (with all dependencies injected)
49
+ const server = await coreContainer.resolve(ICoreServiceNames.ASENA_SERVER);
50
+ // Configure server
51
+ if (port)
52
+ server.port(port);
53
+ if (gc !== undefined)
54
+ server._gc = gc;
55
+ return server;
56
+ }
57
+ }
58
+ //# sourceMappingURL=AsenaServerFactory.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AsenaServerFactory.js","sourceRoot":"","sources":["../../../lib/server/AsenaServerFactory.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,kBAAkB,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,QAAQ,CAAC;AAK9E,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC1D,OAAO,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AACtD,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAa1D;;;GAGG;AACH,MAAM,OAAO,kBAAkB;IAE7B;;;;OAIG;IACI,MAAM,CAAC,KAAK,CAAC,MAAM,CACxB,OAA8B;QAE9B,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE,EAAE,EAAE,GAAG,OAAO,CAAC;QAE1D,mBAAmB;QACnB,MAAM,MAAM,GAAG,MAAM,cAAc,EAAE,CAAC;QAEtC,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,MAAM,CAAC,IAAI,CAAC,6BAA6B,CAAC,CAAC;QAC7C,CAAC;QAED,uBAAuB;QACvB,MAAM,aAAa,GAAG,IAAI,aAAa,EAAE,CAAC;QAE1C,qCAAqC;QACrC,MAAM,aAAa,CAAC,SAAS,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;QAE/C,0DAA0D;QAC1D,MAAM,aAAa,CAAC,SAAS,CAAC,gBAAgB,CAAC,iBAAiB,CAAC,cAAc,EAAE,aAAa,CAAC,CAAC;QAEhG,oCAAoC;QACpC,MAAM,SAAS,GAAG,MAAM,aAAa,CAAC,OAAO,CAAY,iBAAiB,CAAC,UAAU,CAAC,CAAC;QAEvF,SAAS,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;QAE5B,IAAI,UAAU,EAAE,MAAM,EAAE,CAAC;YACvB,MAAM,oBAAoB,GAA0B,UAAU,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;gBAC1E,MAAM,IAAI,GAAW,gBAAgB,CAAS,kBAAkB,CAAC,YAAY,EAAE,IAAI,CAAC,CAAC;gBAErF,OAAO;oBACL,KAAK,EAAE,IAAI;oBACX,SAAS,EAAE,IAAI;iBAChB,CAAC;YACJ,CAAC,CAAC,CAAC;YAEH,MAAM,SAAS,CAAC,iBAAiB,CAAC,oBAAoB,CAAC,CAAC;QAC1D,CAAC;aAAM,IAAI,MAAM,EAAE,CAAC;YAClB,MAAM,SAAS,CAAC,iBAAiB,EAAE,CAAC;QACtC,CAAC;QAED,aAAa,CAAC,QAAQ,CAAC,kBAAkB,CAAC,oBAAoB,CAAC,CAAC;QAEhE,uCAAuC;QACvC,MAAM,EAAE,WAAW,EAAE,GAAG,MAAM,MAAM,CAAC,eAAe,CAAC,CAAC;QAEtD,MAAM,aAAa,CAAC,SAAS,CAAC,QAAQ,CAAC,iBAAiB,CAAC,YAAY,EAAE,WAAW,EAAE,IAAI,CAAC,CAAC;QAE1F,uDAAuD;QACvD,MAAM,MAAM,GAAG,MAAM,aAAa,CAAC,OAAO,CAAiB,iBAAiB,CAAC,YAAY,CAAC,CAAC;QAE3F,mBAAmB;QACnB,IAAI,IAAI;YAAE,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAE5B,IAAI,EAAE,KAAK,SAAS;YAAG,MAAc,CAAC,GAAG,GAAG,EAAE,CAAC;QAE/C,OAAO,MAAM,CAAC;IAChB,CAAC;CAEF"}
@@ -1,5 +1,49 @@
1
1
  import type { AsenaContext, AsenaServeOptions } from '../../adapter';
2
- import type { MiddlewareClass } from "../web/middleware";
2
+ import type { MiddlewareClass } from '../web/middleware';
3
+ /**
4
+ * Route configuration for global middleware
5
+ */
6
+ export interface GlobalMiddlewareRouteConfig {
7
+ /**
8
+ * Paths to include. Supports glob patterns.
9
+ * Default: ['*'] (all routes)
10
+ *
11
+ * @example
12
+ * include: ['/api/*', '/admin/*']
13
+ * include: ['/users/:id', '/posts/:id']
14
+ */
15
+ include?: string[];
16
+ /**
17
+ * Paths to exclude. Supports glob patterns.
18
+ * Exclusions take precedence over inclusions.
19
+ * Default: []
20
+ *
21
+ * @example
22
+ * exclude: ['/health', '/metrics']
23
+ * exclude: ['/api/public/*']
24
+ */
25
+ exclude?: string[];
26
+ }
27
+ /**
28
+ * Global middleware configuration
29
+ */
30
+ export interface GlobalMiddlewareConfig {
31
+ /**
32
+ * Middleware class to apply
33
+ */
34
+ middleware: MiddlewareClass;
35
+ /**
36
+ * Route configuration for this middleware
37
+ * If not specified, middleware applies to all routes
38
+ */
39
+ routes?: GlobalMiddlewareRouteConfig;
40
+ }
41
+ /**
42
+ * Union type for backward compatibility
43
+ * - MiddlewareClass: Apply to all routes (old behavior)
44
+ * - GlobalMiddlewareConfig: Apply with pattern matching (new behavior)
45
+ */
46
+ export type GlobalMiddlewareEntry = MiddlewareClass | GlobalMiddlewareConfig;
3
47
  /**
4
48
  * Configuration interface for Asena framework
5
49
  * @template C - Extends AsenaContext type with generic parameters
@@ -18,26 +62,55 @@ export interface AsenaConfig<C extends AsenaContext<any, any> = AsenaContext<any
18
62
  */
19
63
  serveOptions?(): AsenaServeOptions;
20
64
  /**
21
- * Global middleware configuration for applying middleware across all routes.
22
- * Similar to Hono's global middleware usage:
65
+ * Global middleware configuration for applying middleware across routes.
66
+ *
67
+ * Supports two formats:
68
+ * 1. Simple: MiddlewareClass (applies to all routes)
69
+ * 2. Advanced: GlobalMiddlewareConfig (pattern-based filtering)
70
+ *
23
71
  * @example
24
- * // Hono usage:
25
- * const app = new Hono()
26
- * app.use(middleware1)
27
- * app.use(middleware2)
28
- *
29
- * // Equivalent in Asena:
30
- * class Config implements AsenaConfig {
31
- * globalMiddlewares() {
32
- * return [
33
- * MiddlewareService1,
34
- * MiddlewareService2
35
- * ]
36
- * }
72
+ * ```typescript
73
+ * // Simple format (backward compatible)
74
+ * globalMiddlewares() {
75
+ * return [LoggerMiddleware, CorsMiddleware];
76
+ * }
77
+ *
78
+ * // Advanced format with pattern matching
79
+ * globalMiddlewares() {
80
+ * return [
81
+ * // Apply to all routes
82
+ * LoggerMiddleware,
83
+ *
84
+ * // Apply only to /api/* and /admin/*
85
+ * {
86
+ * middleware: AuthMiddleware,
87
+ * routes: {
88
+ * include: ['/api/*', '/admin/*']
89
+ * }
90
+ * },
91
+ *
92
+ * // Apply to all routes except /health
93
+ * {
94
+ * middleware: RateLimitMiddleware,
95
+ * routes: {
96
+ * exclude: ['/health', '/metrics']
97
+ * }
98
+ * },
99
+ *
100
+ * // Advanced: include + exclude
101
+ * {
102
+ * middleware: AuditMiddleware,
103
+ * routes: {
104
+ * include: ['/api/*'],
105
+ * exclude: ['/api/health']
106
+ * }
107
+ * }
108
+ * ];
37
109
  * }
110
+ * ```
38
111
  *
39
- * @returns Array of middleware services to be applied globally
112
+ * @returns Array of middleware configurations
40
113
  */
41
- globalMiddlewares?(): Promise<MiddlewareClass[]> | MiddlewareClass[];
114
+ globalMiddlewares?(): Promise<GlobalMiddlewareEntry[]> | GlobalMiddlewareEntry[];
42
115
  }
43
116
  export type AsenaConfigFunctions = 'onError' | 'serveOptions' | 'globalMiddlewares';
@@ -1,4 +1,4 @@
1
- import { ComponentConstants } from '../../ioc/constants';
1
+ import { ComponentConstants } from '../../ioc';
2
2
  import { defineTypedMetadata, getOwnTypedMetadata } from '../../utils/typedMetadata';
3
3
  /**
4
4
  * Decorator for marking a property as an override.
@@ -1 +1 @@
1
- {"version":3,"file":"Override.js","sourceRoot":"","sources":["../../../../lib/server/decorators/Override.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AACzD,OAAO,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AAErF;;;;;;;;GAQG;AACH,MAAM,CAAC,MAAM,QAAQ,GAAG,GAAsB,EAAE;IAC9C,OAAO,CAAC,MAAc,EAAE,WAAmB,EAAE,EAAE;QAC7C,MAAM,SAAS,GAAa,mBAAmB,CAAW,kBAAkB,CAAC,WAAW,EAAE,MAAM,CAAC,IAAI,EAAE,CAAC;QAExG,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC;YACrC,SAAS,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QAC9B,CAAC;QAED,mBAAmB,CAAW,kBAAkB,CAAC,WAAW,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC;IACnF,CAAC,CAAC;AACJ,CAAC,CAAC"}
1
+ {"version":3,"file":"Override.js","sourceRoot":"","sources":["../../../../lib/server/decorators/Override.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,WAAW,CAAC;AAC/C,OAAO,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AAErF;;;;;;;;GAQG;AACH,MAAM,CAAC,MAAM,QAAQ,GAAG,GAAsB,EAAE;IAC9C,OAAO,CAAC,MAAc,EAAE,WAAmB,EAAE,EAAE;QAC7C,MAAM,SAAS,GAAa,mBAAmB,CAAW,kBAAkB,CAAC,WAAW,EAAE,MAAM,CAAC,IAAI,EAAE,CAAC;QAExG,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC;YACrC,SAAS,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QAC9B,CAAC;QAED,mBAAmB,CAAW,kBAAkB,CAAC,WAAW,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC;IACnF,CAAC,CAAC;AACJ,CAAC,CAAC"}
@@ -1,4 +1,4 @@
1
- import { type ComponentParams } from '../../../ioc/types';
1
+ import { type ComponentParams } from '../../../ioc';
2
2
  /**
3
3
  * Decorator that marks a class as a configuration component.
4
4
  * Used to define configuration classes that can be injected into other components.
@@ -1,4 +1,4 @@
1
- import { ComponentType } from '../../../ioc/types';
1
+ import { ComponentType } from '../../../ioc';
2
2
  import { defineComponent } from '../../../ioc/component';
3
3
  /**
4
4
  * Decorator that marks a class as a configuration component.
@@ -1 +1 @@
1
- {"version":3,"file":"Config.js","sourceRoot":"","sources":["../../../../../lib/server/decorators/components/Config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAwB,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACzE,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAEzD;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,MAAM,GAAG,CAAC,MAAiC,EAAkB,EAAE;IAC1E,OAAO,eAAe,CAAC,aAAa,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;AACvD,CAAC,CAAC"}
1
+ {"version":3,"file":"Config.js","sourceRoot":"","sources":["../../../../../lib/server/decorators/components/Config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAwB,aAAa,EAAE,MAAM,cAAc,CAAC;AACnE,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAEzD;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,MAAM,GAAG,CAAC,MAAiC,EAAkB,EAAE;IAC1E,OAAO,eAAe,CAAC,aAAa,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;AACvD,CAAC,CAAC"}
@@ -1,4 +1,4 @@
1
- import { type ControllerParams } from '../../../ioc/types';
1
+ import { type ControllerParams } from '../../../ioc';
2
2
  /**
3
3
  * Decorator for defining a Controller component. String is used for defining the path.
4
4
  *
@@ -1,6 +1,6 @@
1
- import { ComponentType } from '../../../ioc/types';
1
+ import { ComponentType } from '../../../ioc';
2
2
  import { defineComponent } from '../../../ioc/component';
3
- import { ComponentConstants } from '../../../ioc/constants';
3
+ import { ComponentConstants } from '../../../ioc';
4
4
  import { defineMiddleware } from '../../web/helper';
5
5
  import { defineTypedMetadata } from '../../../utils/typedMetadata';
6
6
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"Controller.js","sourceRoot":"","sources":["../../../../../lib/server/decorators/components/Controller.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAyB,MAAM,oBAAoB,CAAC;AAC1E,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAC5D,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,EAAE,mBAAmB,EAAE,MAAM,8BAA8B,CAAC;AAInE;;;;;GAKG;AACH,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,MAAkC,EAAkB,EAAE;IAC/E,MAAM,OAAO,GACX,OAAO,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,MAAM,IAAI,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;IAE3G,OAAO,eAAe,CAAC,aAAa,CAAC,UAAU,EAAE,OAAO,EAAE,CAAC,MAAM,EAAE,EAAE;QACnE,mBAAmB,CACjB,kBAAkB,CAAC,OAAO,EACzB,OAA4B,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,IAAI,GAAG,EAC9D,MAAM,CACP,CAAC;QAEF,gBAAgB,CAAC,MAAM,EAAG,OAA4B,CAAC,WAAW,IAAI,EAAE,CAAC,CAAC;QAE1E,mBAAmB,CACjB,kBAAkB,CAAC,cAAc,EAChC,OAA4B,CAAC,WAAW,IAAK,EAAwB,EACtE,MAAM,CACP,CAAC;IACJ,CAAC,CAAC,CAAC;AACL,CAAC,CAAC"}
1
+ {"version":3,"file":"Controller.js","sourceRoot":"","sources":["../../../../../lib/server/decorators/components/Controller.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAyB,MAAM,cAAc,CAAC;AACpE,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAClD,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,EAAE,mBAAmB,EAAE,MAAM,8BAA8B,CAAC;AAInE;;;;;GAKG;AACH,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,MAAkC,EAAkB,EAAE;IAC/E,MAAM,OAAO,GACX,OAAO,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,MAAM,IAAI,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;IAE3G,OAAO,eAAe,CAAC,aAAa,CAAC,UAAU,EAAE,OAAO,EAAE,CAAC,MAAM,EAAE,EAAE;QACnE,mBAAmB,CACjB,kBAAkB,CAAC,OAAO,EACzB,OAA4B,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,IAAI,GAAG,EAC9D,MAAM,CACP,CAAC;QAEF,gBAAgB,CAAC,MAAM,EAAG,OAA4B,CAAC,WAAW,IAAI,EAAE,CAAC,CAAC;QAE1E,mBAAmB,CACjB,kBAAkB,CAAC,cAAc,EAChC,OAA4B,CAAC,WAAW,IAAK,EAAwB,EACtE,MAAM,CACP,CAAC;IACJ,CAAC,CAAC,CAAC;AACL,CAAC,CAAC"}