@haskou/ddd-kernel 2.0.2 → 2.0.4

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 (93) hide show
  1. package/dist/{DomainMessageBus-CQSFU6A6.d.cts → DomainMessageBus-BHnBQZvI.d.cts} +1 -1
  2. package/dist/{DomainMessageBus-kjMVNGfv.d.ts → DomainMessageBus-DbctRnBy.d.ts} +1 -1
  3. package/dist/{HandlerContext-DUUExVo3.d.ts → HandlerContext-BT0RLBRT.d.ts} +1 -1
  4. package/dist/{HandlerContext-Lm89pSeG.d.cts → HandlerContext-CdX28Pr5.d.cts} +1 -1
  5. package/dist/{MessageBus-BtUXnd0Y.d.cts → MessageBus-BTy_hVua.d.cts} +2 -2
  6. package/dist/{MessageBus-oQ9BnW84.d.ts → MessageBus-BkHiX3LI.d.ts} +2 -2
  7. package/dist/{NoFailedMessagesError-z-6ffelK.d.ts → NoFailedMessagesError-C6wMAOvs.d.ts} +2 -2
  8. package/dist/{NoFailedMessagesError-Dm5AFcJV.d.cts → NoFailedMessagesError-De3UfABY.d.cts} +2 -2
  9. package/dist/{PublisherHookErrorPolicy-DSsCNE6O.d.ts → PublisherHookErrorPolicy-Bfh_QLs7.d.ts} +1 -1
  10. package/dist/{PublisherHookErrorPolicy-CjouTcSR.d.cts → PublisherHookErrorPolicy-BgSvNZBD.d.cts} +1 -1
  11. package/dist/{RetryPredicate-BFGD3FUP.d.cts → RetryPredicate-2f09m_NF.d.cts} +1 -1
  12. package/dist/{RetryPredicate-CuL59f8-.d.ts → RetryPredicate-B5jR8Nhs.d.ts} +1 -1
  13. package/dist/{Scheduler-BW-U5Ccg.d.cts → Scheduler-JFwOYxSp.d.cts} +1 -0
  14. package/dist/{Scheduler-BW-U5Ccg.d.ts → Scheduler-JFwOYxSp.d.ts} +1 -0
  15. package/dist/{ServiceClass-Cv5KbUSf.d.cts → ServiceClass-D_0gCcMr.d.cts} +3 -1
  16. package/dist/{ServiceClass-DXDAxvao.d.ts → ServiceClass-IInu6j5L.d.ts} +3 -1
  17. package/dist/{ServiceResolver-D2Jz-l_Z.d.cts → ServiceResolver-CQGmbk-X.d.cts} +1 -0
  18. package/dist/{ServiceResolver-D2Jz-l_Z.d.ts → ServiceResolver-CQGmbk-X.d.ts} +1 -0
  19. package/dist/{ShutdownHook-dvsrwsQi.d.ts → ShutdownHook-C3Zb9-5R.d.ts} +2 -2
  20. package/dist/{ShutdownHook-6-YKfmzG.d.cts → ShutdownHook-DnzfGgAA.d.cts} +2 -2
  21. package/dist/{Subscription-vtF0lEHP.d.ts → Subscription-BdLdP_5-.d.ts} +1 -1
  22. package/dist/{Subscription-4vuAAxax.d.cts → Subscription-DY3nBVkU.d.cts} +1 -1
  23. package/dist/adapters/index.cjs +59 -6
  24. package/dist/adapters/index.cjs.map +1 -1
  25. package/dist/adapters/index.d.cts +10 -10
  26. package/dist/adapters/index.d.ts +10 -10
  27. package/dist/adapters/index.js +58 -6
  28. package/dist/adapters/index.js.map +1 -1
  29. package/dist/adapters/pubsub/amqp/index.cjs +6 -0
  30. package/dist/adapters/pubsub/amqp/index.cjs.map +1 -1
  31. package/dist/adapters/pubsub/amqp/index.d.cts +8 -8
  32. package/dist/adapters/pubsub/amqp/index.d.ts +8 -8
  33. package/dist/adapters/pubsub/amqp/index.js +6 -0
  34. package/dist/adapters/pubsub/amqp/index.js.map +1 -1
  35. package/dist/adapters/pubsub/in-memory/index.d.cts +4 -4
  36. package/dist/adapters/pubsub/in-memory/index.d.ts +4 -4
  37. package/dist/adapters/pubsub/index.cjs +6 -0
  38. package/dist/adapters/pubsub/index.cjs.map +1 -1
  39. package/dist/adapters/pubsub/index.d.cts +9 -9
  40. package/dist/adapters/pubsub/index.d.ts +9 -9
  41. package/dist/adapters/pubsub/index.js +6 -0
  42. package/dist/adapters/pubsub/index.js.map +1 -1
  43. package/dist/adapters/ui/express/index.cjs +53 -6
  44. package/dist/adapters/ui/express/index.cjs.map +1 -1
  45. package/dist/adapters/ui/express/index.d.cts +17 -5
  46. package/dist/adapters/ui/express/index.d.ts +17 -5
  47. package/dist/adapters/ui/express/index.js +52 -6
  48. package/dist/adapters/ui/express/index.js.map +1 -1
  49. package/dist/adapters/ui/index.cjs +59 -6
  50. package/dist/adapters/ui/index.cjs.map +1 -1
  51. package/dist/adapters/ui/index.d.cts +5 -5
  52. package/dist/adapters/ui/index.d.ts +5 -5
  53. package/dist/adapters/ui/index.js +58 -6
  54. package/dist/adapters/ui/index.js.map +1 -1
  55. package/dist/adapters/ui/routes/index.cjs +6 -0
  56. package/dist/adapters/ui/routes/index.cjs.map +1 -1
  57. package/dist/adapters/ui/routes/index.js +6 -0
  58. package/dist/adapters/ui/routes/index.js.map +1 -1
  59. package/dist/contracts/index.d.cts +9 -9
  60. package/dist/contracts/index.d.ts +9 -9
  61. package/dist/contracts/kernel/index.d.cts +6 -6
  62. package/dist/contracts/kernel/index.d.ts +6 -6
  63. package/dist/contracts/pubsub/index.d.cts +7 -7
  64. package/dist/contracts/pubsub/index.d.ts +7 -7
  65. package/dist/contracts/ui/index.d.cts +2 -2
  66. package/dist/contracts/ui/index.d.ts +2 -2
  67. package/dist/domain/index.d.cts +5 -5
  68. package/dist/domain/index.d.ts +5 -5
  69. package/dist/index.cjs +6 -0
  70. package/dist/index.cjs.map +1 -1
  71. package/dist/index.d.cts +9 -9
  72. package/dist/index.d.ts +9 -9
  73. package/dist/index.js +6 -0
  74. package/dist/index.js.map +1 -1
  75. package/dist/infrastructure/dependency-injection/index.cjs +6 -0
  76. package/dist/infrastructure/dependency-injection/index.cjs.map +1 -1
  77. package/dist/infrastructure/dependency-injection/index.d.cts +2 -2
  78. package/dist/infrastructure/dependency-injection/index.d.ts +2 -2
  79. package/dist/infrastructure/dependency-injection/index.js +6 -0
  80. package/dist/infrastructure/dependency-injection/index.js.map +1 -1
  81. package/dist/infrastructure/express/index.cjs +53 -6
  82. package/dist/infrastructure/express/index.cjs.map +1 -1
  83. package/dist/infrastructure/express/index.d.cts +5 -5
  84. package/dist/infrastructure/express/index.d.ts +5 -5
  85. package/dist/infrastructure/express/index.js +52 -6
  86. package/dist/infrastructure/express/index.js.map +1 -1
  87. package/dist/infrastructure/scheduler/index.cjs +15 -1
  88. package/dist/infrastructure/scheduler/index.cjs.map +1 -1
  89. package/dist/infrastructure/scheduler/index.d.cts +2 -2
  90. package/dist/infrastructure/scheduler/index.d.ts +2 -2
  91. package/dist/infrastructure/scheduler/index.js +15 -1
  92. package/dist/infrastructure/scheduler/index.js.map +1 -1
  93. package/package.json +7 -6
@@ -1,4 +1,4 @@
1
- import { M as MessageBus } from './MessageBus-BtUXnd0Y.cjs';
1
+ import { M as MessageBus } from './MessageBus-BTy_hVua.cjs';
2
2
  import { D as DomainEventConsumer } from './DomainEventConsumer-BiTSbfMw.cjs';
3
3
  import { D as DomainEvent } from './DomainEvent-mXWEtr_J.cjs';
4
4
 
@@ -1,4 +1,4 @@
1
- import { M as MessageBus } from './MessageBus-oQ9BnW84.js';
1
+ import { M as MessageBus } from './MessageBus-BkHiX3LI.js';
2
2
  import { D as DomainEventConsumer } from './DomainEventConsumer-D1P4oXoj.js';
3
3
  import { D as DomainEvent } from './DomainEvent-mXWEtr_J.js';
4
4
 
@@ -1,4 +1,4 @@
1
- import { S as ServiceResolver } from './ServiceResolver-D2Jz-l_Z.js';
1
+ import { S as ServiceResolver } from './ServiceResolver-CQGmbk-X.js';
2
2
 
3
3
  type MessageMetadata = Readonly<Record<string, unknown>>;
4
4
 
@@ -1,4 +1,4 @@
1
- import { S as ServiceResolver } from './ServiceResolver-D2Jz-l_Z.cjs';
1
+ import { S as ServiceResolver } from './ServiceResolver-CQGmbk-X.cjs';
2
2
 
3
3
  type MessageMetadata = Readonly<Record<string, unknown>>;
4
4
 
@@ -1,5 +1,5 @@
1
- import { M as Message } from './HandlerContext-Lm89pSeG.cjs';
2
- import { a as PublisherHook, M as MessageHandler, S as Subscription } from './Subscription-4vuAAxax.cjs';
1
+ import { M as Message } from './HandlerContext-CdX28Pr5.cjs';
2
+ import { a as PublisherHook, M as MessageHandler, S as Subscription } from './Subscription-DY3nBVkU.cjs';
3
3
 
4
4
  interface MessageBus {
5
5
  publish<TMessage extends Message>(topic: string, message: TMessage): Promise<void>;
@@ -1,5 +1,5 @@
1
- import { M as Message } from './HandlerContext-DUUExVo3.js';
2
- import { a as PublisherHook, M as MessageHandler, S as Subscription } from './Subscription-vtF0lEHP.js';
1
+ import { M as Message } from './HandlerContext-BT0RLBRT.js';
2
+ import { a as PublisherHook, M as MessageHandler, S as Subscription } from './Subscription-BdLdP_5-.js';
3
3
 
4
4
  interface MessageBus {
5
5
  publish<TMessage extends Message>(topic: string, message: TMessage): Promise<void>;
@@ -1,5 +1,5 @@
1
- import { a as PublisherHook } from './Subscription-vtF0lEHP.js';
2
- import { P as PublisherHookErrorPolicy } from './PublisherHookErrorPolicy-DSsCNE6O.js';
1
+ import { a as PublisherHook } from './Subscription-BdLdP_5-.js';
2
+ import { P as PublisherHookErrorPolicy } from './PublisherHookErrorPolicy-Bfh_QLs7.js';
3
3
  import { L as Log } from './Log-36L3Z84a.js';
4
4
  import { Channel } from 'amqplib';
5
5
  import { D as DomainEvent } from './DomainEvent-mXWEtr_J.js';
@@ -1,5 +1,5 @@
1
- import { a as PublisherHook } from './Subscription-4vuAAxax.cjs';
2
- import { P as PublisherHookErrorPolicy } from './PublisherHookErrorPolicy-CjouTcSR.cjs';
1
+ import { a as PublisherHook } from './Subscription-DY3nBVkU.cjs';
2
+ import { P as PublisherHookErrorPolicy } from './PublisherHookErrorPolicy-BgSvNZBD.cjs';
3
3
  import { L as Log } from './Log-36L3Z84a.cjs';
4
4
  import { Channel } from 'amqplib';
5
5
  import { D as DomainEvent } from './DomainEvent-mXWEtr_J.cjs';
@@ -1,4 +1,4 @@
1
- import { P as PublishContext } from './Subscription-vtF0lEHP.js';
1
+ import { P as PublishContext } from './Subscription-BdLdP_5-.js';
2
2
 
3
3
  interface PublisherHookErrorPolicy {
4
4
  handleAfterPublishError(error: unknown, context: PublishContext): Promise<void> | void;
@@ -1,4 +1,4 @@
1
- import { P as PublishContext } from './Subscription-4vuAAxax.cjs';
1
+ import { P as PublishContext } from './Subscription-DY3nBVkU.cjs';
2
2
 
3
3
  interface PublisherHookErrorPolicy {
4
4
  handleAfterPublishError(error: unknown, context: PublishContext): Promise<void> | void;
@@ -1,4 +1,4 @@
1
- import { C as ConsumerExecutionContext } from './ShutdownHook-6-YKfmzG.cjs';
1
+ import { C as ConsumerExecutionContext } from './ShutdownHook-DnzfGgAA.cjs';
2
2
 
3
3
  interface IdempotencyStore {
4
4
  claim?(key: string): Promise<boolean> | boolean;
@@ -1,4 +1,4 @@
1
- import { C as ConsumerExecutionContext } from './ShutdownHook-dvsrwsQi.js';
1
+ import { C as ConsumerExecutionContext } from './ShutdownHook-C3Zb9-5R.js';
2
2
 
3
3
  interface IdempotencyStore {
4
4
  claim?(key: string): Promise<boolean> | boolean;
@@ -14,6 +14,7 @@ interface SchedulerErrorPolicy {
14
14
 
15
15
  declare abstract class Scheduler {
16
16
  private readonly errorPolicy;
17
+ private readonly executionSemaphore;
17
18
  constructor(errorPolicy?: SchedulerErrorPolicy);
18
19
  private parseCronExpression;
19
20
  abstract execute(): Promise<void>;
@@ -14,6 +14,7 @@ interface SchedulerErrorPolicy {
14
14
 
15
15
  declare abstract class Scheduler {
16
16
  private readonly errorPolicy;
17
+ private readonly executionSemaphore;
17
18
  constructor(errorPolicy?: SchedulerErrorPolicy);
18
19
  private parseCronExpression;
19
20
  abstract execute(): Promise<void>;
@@ -1,4 +1,4 @@
1
- import { S as ServiceResolver } from './ServiceResolver-D2Jz-l_Z.cjs';
1
+ import { S as ServiceResolver } from './ServiceResolver-CQGmbk-X.cjs';
2
2
 
3
3
  type DependencyOverrideToken = unknown;
4
4
 
@@ -43,6 +43,7 @@ declare class DependencyInjection implements ServiceResolver {
43
43
  private ensureFolderExists;
44
44
  private getServiceClassName;
45
45
  private getOverrideId;
46
+ private hasDirectService;
46
47
  private ensureSyntheticService;
47
48
  private parentMatchesService;
48
49
  private serviceIdMatchesService;
@@ -63,6 +64,7 @@ declare class DependencyInjection implements ServiceResolver {
63
64
  private registerParentAliases;
64
65
  compile(): Promise<void>;
65
66
  getService<T>(serviceName: unknown): T;
67
+ hasService(serviceName: unknown): boolean;
66
68
  }
67
69
 
68
70
  type ServiceClass<T> = {
@@ -1,4 +1,4 @@
1
- import { S as ServiceResolver } from './ServiceResolver-D2Jz-l_Z.js';
1
+ import { S as ServiceResolver } from './ServiceResolver-CQGmbk-X.js';
2
2
 
3
3
  type DependencyOverrideToken = unknown;
4
4
 
@@ -43,6 +43,7 @@ declare class DependencyInjection implements ServiceResolver {
43
43
  private ensureFolderExists;
44
44
  private getServiceClassName;
45
45
  private getOverrideId;
46
+ private hasDirectService;
46
47
  private ensureSyntheticService;
47
48
  private parentMatchesService;
48
49
  private serviceIdMatchesService;
@@ -63,6 +64,7 @@ declare class DependencyInjection implements ServiceResolver {
63
64
  private registerParentAliases;
64
65
  compile(): Promise<void>;
65
66
  getService<T>(serviceName: unknown): T;
67
+ hasService(serviceName: unknown): boolean;
66
68
  }
67
69
 
68
70
  type ServiceClass<T> = {
@@ -1,5 +1,6 @@
1
1
  interface ServiceResolver {
2
2
  getService<T>(serviceName: unknown): T;
3
+ hasService?(serviceName: unknown): boolean;
3
4
  }
4
5
 
5
6
  export type { ServiceResolver as S };
@@ -1,5 +1,6 @@
1
1
  interface ServiceResolver {
2
2
  getService<T>(serviceName: unknown): T;
3
+ hasService?(serviceName: unknown): boolean;
3
4
  }
4
5
 
5
6
  export type { ServiceResolver as S };
@@ -1,8 +1,8 @@
1
1
  import { D as DomainEvent } from './DomainEvent-mXWEtr_J.js';
2
2
  import { DotenvConfigOutput } from 'dotenv';
3
- import { b as DependencyOverride, D as DependencyInjection, S as ServiceClass } from './ServiceClass-DXDAxvao.js';
3
+ import { b as DependencyOverride, D as DependencyInjection, S as ServiceClass } from './ServiceClass-IInu6j5L.js';
4
4
  import { Initializer, Runtime } from './infrastructure/lifecycle/index.js';
5
- import { a as Scheduler } from './Scheduler-BW-U5Ccg.js';
5
+ import { a as Scheduler } from './Scheduler-JFwOYxSp.js';
6
6
  import { K as KernelLogger } from './KernelLogger-BESOFrpW.js';
7
7
  import { K as KernelRoute } from './KernelRoute-B7mVPrEx.js';
8
8
 
@@ -1,8 +1,8 @@
1
1
  import { D as DomainEvent } from './DomainEvent-mXWEtr_J.cjs';
2
2
  import { DotenvConfigOutput } from 'dotenv';
3
- import { b as DependencyOverride, D as DependencyInjection, S as ServiceClass } from './ServiceClass-Cv5KbUSf.cjs';
3
+ import { b as DependencyOverride, D as DependencyInjection, S as ServiceClass } from './ServiceClass-D_0gCcMr.cjs';
4
4
  import { Initializer, Runtime } from './infrastructure/lifecycle/index.cjs';
5
- import { a as Scheduler } from './Scheduler-BW-U5Ccg.cjs';
5
+ import { a as Scheduler } from './Scheduler-JFwOYxSp.cjs';
6
6
  import { K as KernelLogger } from './KernelLogger-BESOFrpW.cjs';
7
7
  import { K as KernelRoute } from './KernelRoute-B7mVPrEx.cjs';
8
8
 
@@ -1,4 +1,4 @@
1
- import { M as Message, H as HandlerContext, D as DomainEvent } from './HandlerContext-DUUExVo3.js';
1
+ import { M as Message, H as HandlerContext, D as DomainEvent } from './HandlerContext-BT0RLBRT.js';
2
2
  import { D as DomainEvent$1 } from './DomainEvent-mXWEtr_J.js';
3
3
 
4
4
  type MessageHandler<TMessage extends Message = Message, TResult = unknown> = (message: TMessage, context: HandlerContext) => TResult | Promise<TResult>;
@@ -1,4 +1,4 @@
1
- import { M as Message, H as HandlerContext, D as DomainEvent } from './HandlerContext-Lm89pSeG.cjs';
1
+ import { M as Message, H as HandlerContext, D as DomainEvent } from './HandlerContext-CdX28Pr5.cjs';
2
2
  import { D as DomainEvent$1 } from './DomainEvent-mXWEtr_J.cjs';
3
3
 
4
4
  type MessageHandler<TMessage extends Message = Message, TResult = unknown> = (message: TMessage, context: HandlerContext) => TResult | Promise<TResult>;
@@ -35,6 +35,7 @@ __export(adapters_exports, {
35
35
  ConsumerMiddlewarePipeline: () => ConsumerMiddlewarePipeline,
36
36
  CorrelationConsumerMiddleware: () => CorrelationConsumerMiddleware,
37
37
  DefaultPublisherHookErrorPolicy: () => DefaultPublisherHookErrorPolicy,
38
+ ExpressControllerResolver: () => ExpressControllerResolver,
38
39
  ExpressKernelServer: () => ExpressKernelServer,
39
40
  HttpErrorHandler: () => HttpErrorHandler,
40
41
  IdempotencyConsumerMiddleware: () => IdempotencyConsumerMiddleware,
@@ -198,6 +199,9 @@ var DependencyInjection = class _DependencyInjection {
198
199
  const tokenName = this.getServiceClassName(token) ?? String(token);
199
200
  return `ddd-kernel.override.${prefix}.${tokenName}`;
200
201
  }
202
+ hasDirectService(serviceName) {
203
+ return typeof serviceName === "string" && (this.definitions.has(serviceName) || this.aliases.has(serviceName));
204
+ }
201
205
  ensureSyntheticService(id, value) {
202
206
  const definition = this.container.register(id);
203
207
  definition.public = true;
@@ -398,6 +402,9 @@ var DependencyInjection = class _DependencyInjection {
398
402
  }
399
403
  return this.container.get(serviceName);
400
404
  }
405
+ hasService(serviceName) {
406
+ return this.overrideTokenIds.has(serviceName) || this.findAliasServiceId(serviceName) !== void 0 || this.findConcreteChildServiceId(serviceName) !== void 0 || this.findRegisteredServiceId(serviceName) !== void 0 || this.hasDirectService(serviceName);
407
+ }
401
408
  };
402
409
 
403
410
  // src/kernel/KernelEnvironmentValidationError.ts
@@ -1074,6 +1081,45 @@ var InMemoryPubSub = class {
1074
1081
  }
1075
1082
  };
1076
1083
 
1084
+ // src/adapters/ui/express/ExpressControllerResolver.ts
1085
+ var ExpressControllerResolver = class {
1086
+ constructor(kernel, controllers) {
1087
+ this.kernel = kernel;
1088
+ this.controllers = new Set(controllers);
1089
+ }
1090
+ kernel;
1091
+ controllerInstances = /* @__PURE__ */ new Map();
1092
+ controllers;
1093
+ createControllerInstance(ClassDefinition) {
1094
+ const Controller = ClassDefinition;
1095
+ return new Controller();
1096
+ }
1097
+ getCachedController(ClassDefinition) {
1098
+ const cached = this.controllerInstances.get(ClassDefinition);
1099
+ if (cached) {
1100
+ return cached;
1101
+ }
1102
+ const instance = this.createControllerInstance(ClassDefinition);
1103
+ this.controllerInstances.set(ClassDefinition, instance);
1104
+ return instance;
1105
+ }
1106
+ isKnownController(ClassDefinition) {
1107
+ return this.controllers.has(ClassDefinition);
1108
+ }
1109
+ canResolveService(ClassDefinition) {
1110
+ return this.kernel.di.hasService?.(ClassDefinition) === true;
1111
+ }
1112
+ get(ClassDefinition) {
1113
+ if (!this.canResolveService(ClassDefinition)) {
1114
+ if (this.isKnownController(ClassDefinition)) {
1115
+ return this.getCachedController(ClassDefinition);
1116
+ }
1117
+ return void 0;
1118
+ }
1119
+ return this.kernel.di.getService(ClassDefinition);
1120
+ }
1121
+ };
1122
+
1077
1123
  // src/adapters/ui/express/ExpressKernelServer.ts
1078
1124
  var import_node_module = require("module");
1079
1125
  var import_node_path3 = __toESM(require("path"), 1);
@@ -1112,16 +1158,19 @@ var ExpressKernelServer = class {
1112
1158
  copy(items) {
1113
1159
  return [...items ?? []];
1114
1160
  }
1115
- configureControllerContainer() {
1161
+ configureControllerContainer(controllers) {
1116
1162
  const { useContainer } = this.getRoutingControllers();
1163
+ const resolver = new ExpressControllerResolver(
1164
+ this.options.kernel,
1165
+ controllers
1166
+ );
1117
1167
  useContainer(
1118
1168
  {
1119
- /* c8 ignore next */
1120
- get: (ClassDefinition) => this.options.kernel.di.getService(ClassDefinition)
1169
+ get: (ClassDefinition) => resolver.get(ClassDefinition)
1121
1170
  },
1122
1171
  {
1123
1172
  fallback: true,
1124
- fallbackOnErrors: true
1173
+ fallbackOnErrors: false
1125
1174
  }
1126
1175
  );
1127
1176
  }
@@ -1139,8 +1188,11 @@ var ExpressKernelServer = class {
1139
1188
  }
1140
1189
  defaultErrorHandler() {
1141
1190
  return (error, request, response, next) => {
1142
- void next;
1143
1191
  void request;
1192
+ if (response.headersSent) {
1193
+ next(error);
1194
+ return;
1195
+ }
1144
1196
  response.status(500).json({
1145
1197
  error: error instanceof Error ? error.message : String(error)
1146
1198
  });
@@ -1251,7 +1303,7 @@ var ExpressKernelServer = class {
1251
1303
  this.applyMiddlewares(app, this.preControllerMiddlewares);
1252
1304
  await this.runHooks(this.beforeControllersHooks, app);
1253
1305
  await this.runPhaseHooks("beforeControllers", app);
1254
- this.configureControllerContainer();
1306
+ this.configureControllerContainer(controllers);
1255
1307
  useExpressServer(app, {
1256
1308
  ...this.options.routingControllersOptions,
1257
1309
  controllers,
@@ -1441,6 +1493,7 @@ var Route = class extends KernelRoute {
1441
1493
  ConsumerMiddlewarePipeline,
1442
1494
  CorrelationConsumerMiddleware,
1443
1495
  DefaultPublisherHookErrorPolicy,
1496
+ ExpressControllerResolver,
1444
1497
  ExpressKernelServer,
1445
1498
  HttpErrorHandler,
1446
1499
  IdempotencyConsumerMiddleware,