node-cqrs 1.1.0-alpha.4 → 1.1.0-alpha.5

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/CHANGELOG.md CHANGED
@@ -1,3 +1,74 @@
1
+ # [1.1.0-alpha.5](https://github.com/snatalenko/node-cqrs/compare/v1.0.2...v1.1.0-alpha.5) (2026-04-03)
2
+
3
+
4
+
5
+ # [1.1.0-alpha.4](https://github.com/snatalenko/node-cqrs/compare/v1.1.0-alpha.3...v1.1.0-alpha.4) (2026-03-27)
6
+
7
+
8
+
9
+ # [1.1.0-alpha.3](https://github.com/snatalenko/node-cqrs/compare/v1.1.0-alpha.2...v1.1.0-alpha.3) (2026-03-26)
10
+
11
+
12
+ ### Internal Fixes
13
+
14
+ * Rename telemetry metadata span field to `otelSpan`, enhance typings ([2ca2494](https://github.com/snatalenko/node-cqrs/commit/2ca2494625ea8dde11f86fdf078d85c1d848d10a))
15
+ * Compiled AbstractWorkerProjection type compatibility ([bf8ca08](https://github.com/snatalenko/node-cqrs/commit/bf8ca08a09faacb4cbf0da141dd4f09d4647e86e))
16
+
17
+
18
+ # [1.1.0-alpha.2](https://github.com/snatalenko/node-cqrs/compare/v1.0.0...v1.1.0-alpha.2) (2026-03-24)
19
+
20
+
21
+ ### Features
22
+
23
+ * Integrate OpenTelemetry for command and event tracing ([b03997f](https://github.com/snatalenko/node-cqrs/commit/b03997f17b0e88cccaeca6ca599ad5d43457390a))
24
+ * RabbitMQ trace context propagation via W3C TraceContext AMQP headers ([1db354a](https://github.com/snatalenko/node-cqrs/commit/1db354af099cfe9c3884d0ea46087da1610e73da))
25
+ * Redis-backed projection views with distributed locking (experimental) ([8ff0f1e](https://github.com/snatalenko/node-cqrs/commit/8ff0f1e14a6fdcd676d549a9d4c7ad2d2ce7cd4c))
26
+ * SqliteEventStorage ([ffaf766](https://github.com/snatalenko/node-cqrs/commit/ffaf7669139e797488c50332cac94a234738cc62))
27
+ * MongoDB-backed event storage ([53fb5e1](https://github.com/snatalenko/node-cqrs/commit/53fb5e1c0d7a027f9afebf88f8d3d516d06c3c48))
28
+ * MongoDb-backed view model (`MongoObjectView`, `AbstractMongoObjectProjection`) ([4995bfe](https://github.com/snatalenko/node-cqrs/commit/4995bfe2daf53372d3e7e36d59ee103219ad6a35))
29
+
30
+ ### Changes
31
+
32
+ * Remove "md5" from peer dependencies ([87600bc](https://github.com/snatalenko/node-cqrs/commit/87600bc5a857b0e251ceed37d99cc5cf66f61ee5))
33
+ * Expose `restorePromises` on DI container for tracking async projection restoring processes ([ebdaa2c](https://github.com/snatalenko/node-cqrs/commit/ebdaa2ca4ff6d1088deba5d4069d7a027be65107))
34
+ * Use `Identifier` as id type in redis and sqlite views ([dfbe964](https://github.com/snatalenko/node-cqrs/commit/dfbe9648a8ea8e7e5550aa40e0094ca8af1758ef))
35
+ * Add default queueName for RabbitMqCommandBus ([ee4b5a1](https://github.com/snatalenko/node-cqrs/commit/ee4b5a170e44db6227e76d2ffb1695b6dfaef6e4))
36
+ * Add error handling and drain functionality to event publishing process ([d23ea62](https://github.com/snatalenko/node-cqrs/commit/d23ea621c8a71e2cda4baaf091166534c4f5af2e))
37
+
38
+ ### Fixes
39
+
40
+ * Defer aggregate cache pre-warm to avoid orphaned async operations on command error ([677ed29](https://github.com/snatalenko/node-cqrs/commit/677ed29cd6dab5f80b021ee90ad1dd8c3586fcd3))
41
+
42
+ ### Documentation
43
+
44
+ * Remove readme code samples in favor of runnable ./examples/ ([73417c3](https://github.com/snatalenko/node-cqrs/commit/73417c3b997f2d838b02dd0b91f05e0a6001e556))
45
+ * Rearrange examples to use same aggregate and projection implementation ([5325901](https://github.com/snatalenko/node-cqrs/commit/532590143fd29a205b6eb3fd4d6c686b17956835))
46
+ * Add detailed documentation for redis and mongodb modules ([72e66f5](https://github.com/snatalenko/node-cqrs/commit/72e66f5508a6df6c0a4a341e752cfab76830478a))
47
+ * Detailed sqlite and rabbitmq instructions ([dd242fd](https://github.com/snatalenko/node-cqrs/commit/dd242fd73018bcfa0583ab1ddd12518c4f3a4777))
48
+
49
+
50
+ ## [1.0.2](https://github.com/snatalenko/node-cqrs/compare/v1.0.1...v1.0.2) (2026-04-03)
51
+
52
+
53
+ ### Changes
54
+
55
+ * Set `x-consumer-timeout` on MQ according to configured `handlerProcessTimeout` ([3e272ea](https://github.com/snatalenko/node-cqrs/commit/3e272ea66da5d1ed44253c4b620b6a677e2038dc))
56
+ * Disable DLQ setup for RabbitMqEventBus by default ([b953829](https://github.com/snatalenko/node-cqrs/commit/b95382924e3377e26574f36613e546ea6155ad73))
57
+
58
+ ### Internal Fixes
59
+
60
+ * Event description formatting in logging ([419cc7d](https://github.com/snatalenko/node-cqrs/commit/419cc7d3da7ce45385605968e1e3b70174a44661))
61
+ * Fix vulnerabilities in dev dependencies ([203ef19](https://github.com/snatalenko/node-cqrs/commit/203ef191cc1d64b1927427d02495d0a7997d567e))
62
+
63
+
64
+ ## [1.0.1](https://github.com/snatalenko/node-cqrs/compare/v1.1.0-alpha.4...v1.0.1) (2026-03-31)
65
+
66
+
67
+ ### Fixes
68
+
69
+ * Use setImmediate in Node.js for nextCycle to avoid setTimeout performance overhead ([4b63706](https://github.com/snatalenko/node-cqrs/commit/4b63706c4271afd85470dff8b956605133863e9d))
70
+
71
+
1
72
  # [1.1.0-alpha.4](https://github.com/snatalenko/node-cqrs/compare/v1.1.0-alpha.3...v1.1.0-alpha.4) (2026-03-27)
2
73
 
3
74
 
package/dist/cjs/Event.js CHANGED
@@ -6,7 +6,9 @@ exports.describeMultiple = describeMultiple;
6
6
  * Get text description of an event for logging purposes
7
7
  */
8
8
  function describe(event) {
9
- return `'${event.type}' of ${event.aggregateId} (v${event.aggregateVersion})`;
9
+ return `'${event.type}'`
10
+ + (event.id ? ` (id: ${event.id})` : '')
11
+ + (event.aggregateId ? ` of ${event.aggregateId} (v${event.aggregateVersion})` : '');
10
12
  }
11
13
  /**
12
14
  * Get text description of a set of events for logging purposes
@@ -1 +1 @@
1
- {"version":3,"file":"Event.js","sourceRoot":"","sources":["../../src/Event.ts"],"names":[],"mappings":";;AAKA,4BAEC;AAKD,4CAKC;AAfD;;GAEG;AACH,SAAgB,QAAQ,CAAC,KAAa;IACrC,OAAO,IAAI,KAAK,CAAC,IAAI,QAAQ,KAAK,CAAC,WAAW,MAAM,KAAK,CAAC,gBAAgB,GAAG,CAAC;AAC/E,CAAC;AAED;;GAEG;AACH,SAAgB,gBAAgB,CAAC,MAA6B;IAC7D,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC;QACtB,OAAO,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;IAE5B,OAAO,GAAG,MAAM,CAAC,MAAM,SAAS,CAAC;AAClC,CAAC"}
1
+ {"version":3,"file":"Event.js","sourceRoot":"","sources":["../../src/Event.ts"],"names":[],"mappings":";;AAKA,4BAIC;AAKD,4CAKC;AAjBD;;GAEG;AACH,SAAgB,QAAQ,CAAC,KAAa;IACrC,OAAO,IAAI,KAAK,CAAC,IAAI,GAAG;UACrB,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,KAAK,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;UACtC,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,OAAO,KAAK,CAAC,WAAW,MAAM,KAAK,CAAC,gBAAgB,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;AACvF,CAAC;AAED;;GAEG;AACH,SAAgB,gBAAgB,CAAC,MAA6B;IAC7D,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC;QACtB,OAAO,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;IAE5B,OAAO,GAAG,MAAM,CAAC,MAAM,SAAS,CAAC;AAClC,CAAC"}
@@ -1,9 +1,13 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.nextCycle = void 0;
4
+ // setImmediate is much faster in Node.js but doesn't exist in browsers; fall back to setTimeout
5
+ const schedule = typeof setImmediate === 'function' ?
6
+ setImmediate :
7
+ (fn) => setTimeout(fn, 0);
4
8
  /**
5
9
  * @returns Promise that resolves on next event loop cycle
6
10
  */
7
- const nextCycle = () => new Promise(rs => setTimeout(rs, 0));
11
+ const nextCycle = () => new Promise(rs => schedule(rs));
8
12
  exports.nextCycle = nextCycle;
9
13
  //# sourceMappingURL=nextCycle.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"nextCycle.js","sourceRoot":"","sources":["../../../../src/in-memory/utils/nextCycle.ts"],"names":[],"mappings":";;;AAAA;;GAEG;AACI,MAAM,SAAS,GAAG,GAAkB,EAAE,CAAC,IAAI,OAAO,CAAC,EAAE,CAAC,EAAE,CAAC,UAAU,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC;AAAtE,QAAA,SAAS,aAA6D"}
1
+ {"version":3,"file":"nextCycle.js","sourceRoot":"","sources":["../../../../src/in-memory/utils/nextCycle.ts"],"names":[],"mappings":";;;AAAA,gGAAgG;AAChG,MAAM,QAAQ,GAAG,OAAO,YAAY,KAAK,UAAU,CAAC,CAAC;IACpD,YAAY,CAAC,CAAC;IACd,CAAC,EAAc,EAAE,EAAE,CAAC,UAAU,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;AAEvC;;GAEG;AACI,MAAM,SAAS,GAAG,GAAkB,EAAE,CAAC,IAAI,OAAO,CAAC,EAAE,CAAC,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC;AAAjE,QAAA,SAAS,aAAwD"}
@@ -8,7 +8,7 @@ async function resolveConfig(provider) {
8
8
  // eslint-disable-next-line no-use-before-define
9
9
  exchange = RabbitMqCommandBus.DEFAULT_EXCHANGE,
10
10
  // eslint-disable-next-line no-use-before-define
11
- queueName = RabbitMqCommandBus.DEFAULT_QUEUE_NAME, ignoreOwn = false, concurrentLimit, handlerProcessTimeout, queueExpires } = await (0, index_ts_2.resolveProvider)(provider) ?? {};
11
+ queueName = RabbitMqCommandBus.DEFAULT_QUEUE_NAME, ignoreOwn = false, concurrentLimit, handlerProcessTimeout, queueExpires, deadLetterQueue } = await (0, index_ts_2.resolveProvider)(provider) ?? {};
12
12
  (0, index_ts_1.assertString)(exchange, 'rabbitMqCommandConfig.exchange');
13
13
  (0, index_ts_1.assertString)(queueName, 'rabbitMqCommandConfig.queueName');
14
14
  (0, index_ts_1.assertBoolean)(ignoreOwn, 'rabbitMqCommandConfig.ignoreOwn');
@@ -18,7 +18,9 @@ async function resolveConfig(provider) {
18
18
  (0, index_ts_1.assertNonNegativeInteger)(handlerProcessTimeout, 'rabbitMqCommandConfig.handlerProcessTimeout');
19
19
  if (queueExpires !== undefined)
20
20
  (0, index_ts_1.assertNonNegativeInteger)(queueExpires, 'rabbitMqCommandConfig.queueExpires');
21
- return { exchange, queueName, ignoreOwn, concurrentLimit, handlerProcessTimeout, queueExpires };
21
+ if (deadLetterQueue !== undefined)
22
+ (0, index_ts_1.assertBoolean)(deadLetterQueue, 'rabbitMqCommandConfig.deadLetterQueue');
23
+ return { exchange, queueName, ignoreOwn, concurrentLimit, handlerProcessTimeout, queueExpires, deadLetterQueue };
22
24
  }
23
25
  /**
24
26
  * RabbitMQ-backed command bus: delivers each message to exactly
@@ -68,16 +70,11 @@ class RabbitMqCommandBus {
68
70
  * Only one consumer receives each message.
69
71
  */
70
72
  async on(messageType, handler) {
71
- const { exchange, queueName, ignoreOwn, concurrentLimit, handlerProcessTimeout, queueExpires } = await this.#resolveConfig();
73
+ const subscriptionParams = await this.#resolveConfig();
72
74
  await this.#gateway.subscribe({
73
- exchange,
74
- queueName,
75
+ ...subscriptionParams,
75
76
  eventType: messageType,
76
- handler,
77
- ignoreOwn,
78
- concurrentLimit,
79
- handlerProcessTimeout,
80
- queueExpires
77
+ handler
81
78
  });
82
79
  }
83
80
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"RabbitMqCommandBus.js","sourceRoot":"","sources":["../../../src/rabbitmq/RabbitMqCommandBus.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"RabbitMqCommandBus.js","sourceRoot":"","sources":["../../../src/rabbitmq/RabbitMqCommandBus.ts"],"names":[],"mappings":"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"}
@@ -8,7 +8,7 @@ const index_ts_2 = require("./utils/index.js");
8
8
  async function resolveConfig(provider) {
9
9
  const {
10
10
  // eslint-disable-next-line no-use-before-define
11
- exchange = RabbitMqEventBus.DEFAULT_EXCHANGE, ignoreOwn = true, concurrentLimit, handlerProcessTimeout, queueName, queueExpires } = await (0, index_ts_2.resolveProvider)(provider) ?? {};
11
+ exchange = RabbitMqEventBus.DEFAULT_EXCHANGE, ignoreOwn = true, concurrentLimit, handlerProcessTimeout, queueName, queueExpires, deadLetterQueue = false } = await (0, index_ts_2.resolveProvider)(provider) ?? {};
12
12
  (0, index_ts_1.assertString)(exchange, 'rabbitMqEventConfig.exchange');
13
13
  (0, index_ts_1.assertBoolean)(ignoreOwn, 'rabbitMqEventConfig.ignoreOwn');
14
14
  if (concurrentLimit !== undefined)
@@ -19,7 +19,8 @@ async function resolveConfig(provider) {
19
19
  (0, index_ts_1.assertString)(queueName, 'rabbitMqEventConfig.queueName');
20
20
  if (queueExpires !== undefined)
21
21
  (0, index_ts_1.assertNonNegativeInteger)(queueExpires, 'rabbitMqEventConfig.queueExpires');
22
- return { exchange, ignoreOwn, concurrentLimit, handlerProcessTimeout, queueName, queueExpires };
22
+ (0, index_ts_1.assertBoolean)(deadLetterQueue, 'rabbitMqEventConfig.deadLetterQueue');
23
+ return { exchange, ignoreOwn, concurrentLimit, handlerProcessTimeout, queueName, queueExpires, deadLetterQueue };
23
24
  }
24
25
  /**
25
26
  * RabbitMQ-backed event bus: delivers each published message
@@ -28,6 +29,10 @@ async function resolveConfig(provider) {
28
29
  * By default uses an exclusive (non-durable) queue per connection.
29
30
  * Set `queueName` in config for a durable queue that survives restarts.
30
31
  *
32
+ * Dead letter queue is disabled by default (`deadLetterQueue: false`).
33
+ * When a handler fails or times out, the message is discarded.
34
+ * Set `deadLetterQueue: true` to route rejected messages to a `.failed` queue.
35
+ *
31
36
  * Optionally ignores messages published by this instance (default: true).
32
37
  *
33
38
  * Supports named durable queues via {@link queue} for single-consumer delivery.
@@ -66,16 +71,11 @@ class RabbitMqEventBus {
66
71
  * (non-durable) queue that is deleted on disconnect.
67
72
  */
68
73
  async on(eventType, handler) {
69
- const { exchange, queueName, ignoreOwn, concurrentLimit, handlerProcessTimeout, queueExpires } = await this.#resolveConfig();
74
+ const subscriptionParams = await this.#resolveConfig();
70
75
  return this.#gateway.subscribe({
71
- exchange,
72
- queueName,
76
+ ...subscriptionParams,
73
77
  eventType,
74
78
  handler,
75
- ignoreOwn,
76
- concurrentLimit,
77
- handlerProcessTimeout,
78
- queueExpires,
79
79
  singleActiveConsumer: true
80
80
  });
81
81
  }
@@ -102,13 +102,14 @@ class RabbitMqEventBus {
102
102
  queue = new RabbitMqCommandBus_ts_1.RabbitMqCommandBus({
103
103
  rabbitMqGateway: this.#gateway,
104
104
  rabbitMqCommandBusConfig: async () => {
105
- const { exchange, concurrentLimit, handlerProcessTimeout, queueExpires } = await this.#resolveConfig();
105
+ const { exchange, concurrentLimit, handlerProcessTimeout, queueExpires, deadLetterQueue } = await this.#resolveConfig();
106
106
  return {
107
107
  exchange,
108
108
  queueName,
109
109
  concurrentLimit,
110
110
  handlerProcessTimeout,
111
- queueExpires
111
+ queueExpires,
112
+ deadLetterQueue
112
113
  };
113
114
  }
114
115
  });
@@ -1 +1 @@
1
- {"version":3,"file":"RabbitMqEventBus.js","sourceRoot":"","sources":["../../../src/rabbitmq/RabbitMqEventBus.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"RabbitMqEventBus.js","sourceRoot":"","sources":["../../../src/rabbitmq/RabbitMqEventBus.ts"],"names":[],"mappings":"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"}
@@ -304,7 +304,9 @@ class RabbitMqGateway {
304
304
  // record subscription details to restore it if connection attempt fails or on reconnect
305
305
  this.#subscriptions.push(subscription);
306
306
  this.#logger?.debug(`Subscription ${describeSub(subscription)} recorded`);
307
- const { exchange, queueName, eventType, queueExpires, singleActiveConsumer } = subscription;
307
+ const { exchange, queueName, eventType, queueExpires, handlerProcessTimeout, singleActiveConsumer, deadLetterQueue = !!queueName } = subscription;
308
+ if (deadLetterQueue && !queueName)
309
+ throw new Error('deadLetterQueue requires a durable queue (queueName must be set)');
308
310
  const channel = await this.#assertQueueChannel(queueName);
309
311
  let queueGivenName = queueName;
310
312
  let messageCount = 0;
@@ -329,14 +331,18 @@ class RabbitMqGateway {
329
331
  }
330
332
  else {
331
333
  // Handle durable queue case
332
- const deadLetterExchangeName = `${exchange}.failed`;
333
- // Assert dead letter queue for rejected or timed out messages
334
- await this.#assetQueue(channel, deadLetterExchangeName, `${queueGivenName}.failed`);
334
+ let deadLetterExchangeName;
335
+ if (deadLetterQueue) {
336
+ deadLetterExchangeName = `${exchange}.failed`;
337
+ // Assert dead letter queue for rejected or timed out messages
338
+ await this.#assetQueue(channel, deadLetterExchangeName, `${queueGivenName}.failed`);
339
+ }
335
340
  // Assert durable queue that will survive broker restart
336
341
  const reply = await this.#assetQueue(channel, exchange, queueGivenName, eventType, {
337
- deadLetterExchangeName,
342
+ ...deadLetterExchangeName && { deadLetterExchangeName },
338
343
  ...singleActiveConsumer && { singleActiveConsumer },
339
- ...queueExpires && { queueExpires }
344
+ ...queueExpires && { queueExpires },
345
+ handlerProcessTimeout
340
346
  });
341
347
  messageCount = reply.messageCount;
342
348
  consumerCount = reply.consumerCount;
@@ -385,7 +391,7 @@ class RabbitMqGateway {
385
391
  * Ensure queue, exchange, and binding exist
386
392
  */
387
393
  async #assetQueue(channel, exchange, queueName, eventType, options) {
388
- const { durable = true, exclusive = false, singleActiveConsumer = false, deadLetterExchangeName, queueExpires } = options ?? {};
394
+ const { durable = true, exclusive = false, singleActiveConsumer = false, deadLetterExchangeName, queueExpires, handlerProcessTimeout = _a.HANDLER_PROCESS_TIMEOUT } = options ?? {};
389
395
  await channel.assertExchange(exchange, 'topic', { durable: true });
390
396
  const reply = await channel.assertQueue(queueName, {
391
397
  exclusive,
@@ -403,6 +409,9 @@ class RabbitMqGateway {
403
409
  },
404
410
  ...singleActiveConsumer && {
405
411
  'x-single-active-consumer': true
412
+ },
413
+ ...handlerProcessTimeout && {
414
+ 'x-consumer-timeout': handlerProcessTimeout + 1_000
406
415
  }
407
416
  }
408
417
  });
@@ -1 +1 @@
1
- {"version":3,"file":"RabbitMqGateway.js","sourceRoot":"","sources":["../../../src/rabbitmq/RabbitMqGateway.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"RabbitMqGateway.js","sourceRoot":"","sources":["../../../src/rabbitmq/RabbitMqGateway.ts"],"names":[],"mappings":"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"}
package/dist/esm/Event.js CHANGED
@@ -2,7 +2,9 @@
2
2
  * Get text description of an event for logging purposes
3
3
  */
4
4
  export function describe(event) {
5
- return `'${event.type}' of ${event.aggregateId} (v${event.aggregateVersion})`;
5
+ return `'${event.type}'`
6
+ + (event.id ? ` (id: ${event.id})` : '')
7
+ + (event.aggregateId ? ` of ${event.aggregateId} (v${event.aggregateVersion})` : '');
6
8
  }
7
9
  /**
8
10
  * Get text description of a set of events for logging purposes
@@ -1 +1 @@
1
- {"version":3,"file":"Event.js","sourceRoot":"","sources":["../../src/Event.ts"],"names":[],"mappings":"AAEA;;GAEG;AACH,MAAM,UAAU,QAAQ,CAAC,KAAa;IACrC,OAAO,IAAI,KAAK,CAAC,IAAI,QAAQ,KAAK,CAAC,WAAW,MAAM,KAAK,CAAC,gBAAgB,GAAG,CAAC;AAC/E,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,gBAAgB,CAAC,MAA6B;IAC7D,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC;QACtB,OAAO,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;IAE5B,OAAO,GAAG,MAAM,CAAC,MAAM,SAAS,CAAC;AAClC,CAAC"}
1
+ {"version":3,"file":"Event.js","sourceRoot":"","sources":["../../src/Event.ts"],"names":[],"mappings":"AAEA;;GAEG;AACH,MAAM,UAAU,QAAQ,CAAC,KAAa;IACrC,OAAO,IAAI,KAAK,CAAC,IAAI,GAAG;UACrB,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,KAAK,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;UACtC,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,OAAO,KAAK,CAAC,WAAW,MAAM,KAAK,CAAC,gBAAgB,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;AACvF,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,gBAAgB,CAAC,MAA6B;IAC7D,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC;QACtB,OAAO,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;IAE5B,OAAO,GAAG,MAAM,CAAC,MAAM,SAAS,CAAC;AAClC,CAAC"}
@@ -1,5 +1,9 @@
1
+ // setImmediate is much faster in Node.js but doesn't exist in browsers; fall back to setTimeout
2
+ const schedule = typeof setImmediate === 'function' ?
3
+ setImmediate :
4
+ (fn) => setTimeout(fn, 0);
1
5
  /**
2
6
  * @returns Promise that resolves on next event loop cycle
3
7
  */
4
- export const nextCycle = () => new Promise(rs => setTimeout(rs, 0));
8
+ export const nextCycle = () => new Promise(rs => schedule(rs));
5
9
  //# sourceMappingURL=nextCycle.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"nextCycle.js","sourceRoot":"","sources":["../../../../src/in-memory/utils/nextCycle.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,CAAC,MAAM,SAAS,GAAG,GAAkB,EAAE,CAAC,IAAI,OAAO,CAAC,EAAE,CAAC,EAAE,CAAC,UAAU,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"nextCycle.js","sourceRoot":"","sources":["../../../../src/in-memory/utils/nextCycle.ts"],"names":[],"mappings":"AAAA,gGAAgG;AAChG,MAAM,QAAQ,GAAG,OAAO,YAAY,KAAK,UAAU,CAAC,CAAC;IACpD,YAAY,CAAC,CAAC;IACd,CAAC,EAAc,EAAE,EAAE,CAAC,UAAU,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;AAEvC;;GAEG;AACH,MAAM,CAAC,MAAM,SAAS,GAAG,GAAkB,EAAE,CAAC,IAAI,OAAO,CAAC,EAAE,CAAC,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC"}
@@ -5,7 +5,7 @@ async function resolveConfig(provider) {
5
5
  // eslint-disable-next-line no-use-before-define
6
6
  exchange = RabbitMqCommandBus.DEFAULT_EXCHANGE,
7
7
  // eslint-disable-next-line no-use-before-define
8
- queueName = RabbitMqCommandBus.DEFAULT_QUEUE_NAME, ignoreOwn = false, concurrentLimit, handlerProcessTimeout, queueExpires } = await resolveProvider(provider) ?? {};
8
+ queueName = RabbitMqCommandBus.DEFAULT_QUEUE_NAME, ignoreOwn = false, concurrentLimit, handlerProcessTimeout, queueExpires, deadLetterQueue } = await resolveProvider(provider) ?? {};
9
9
  assertString(exchange, 'rabbitMqCommandConfig.exchange');
10
10
  assertString(queueName, 'rabbitMqCommandConfig.queueName');
11
11
  assertBoolean(ignoreOwn, 'rabbitMqCommandConfig.ignoreOwn');
@@ -15,7 +15,9 @@ async function resolveConfig(provider) {
15
15
  assertNonNegativeInteger(handlerProcessTimeout, 'rabbitMqCommandConfig.handlerProcessTimeout');
16
16
  if (queueExpires !== undefined)
17
17
  assertNonNegativeInteger(queueExpires, 'rabbitMqCommandConfig.queueExpires');
18
- return { exchange, queueName, ignoreOwn, concurrentLimit, handlerProcessTimeout, queueExpires };
18
+ if (deadLetterQueue !== undefined)
19
+ assertBoolean(deadLetterQueue, 'rabbitMqCommandConfig.deadLetterQueue');
20
+ return { exchange, queueName, ignoreOwn, concurrentLimit, handlerProcessTimeout, queueExpires, deadLetterQueue };
19
21
  }
20
22
  /**
21
23
  * RabbitMQ-backed command bus: delivers each message to exactly
@@ -65,16 +67,11 @@ export class RabbitMqCommandBus {
65
67
  * Only one consumer receives each message.
66
68
  */
67
69
  async on(messageType, handler) {
68
- const { exchange, queueName, ignoreOwn, concurrentLimit, handlerProcessTimeout, queueExpires } = await this.#resolveConfig();
70
+ const subscriptionParams = await this.#resolveConfig();
69
71
  await this.#gateway.subscribe({
70
- exchange,
71
- queueName,
72
+ ...subscriptionParams,
72
73
  eventType: messageType,
73
- handler,
74
- ignoreOwn,
75
- concurrentLimit,
76
- handlerProcessTimeout,
77
- queueExpires
74
+ handler
78
75
  });
79
76
  }
80
77
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"RabbitMqCommandBus.js","sourceRoot":"","sources":["../../../src/rabbitmq/RabbitMqCommandBus.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"RabbitMqCommandBus.js","sourceRoot":"","sources":["../../../src/rabbitmq/RabbitMqCommandBus.ts"],"names":[],"mappings":"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"}
@@ -5,7 +5,7 @@ import { resolveProvider } from "./utils/index.js";
5
5
  async function resolveConfig(provider) {
6
6
  const {
7
7
  // eslint-disable-next-line no-use-before-define
8
- exchange = RabbitMqEventBus.DEFAULT_EXCHANGE, ignoreOwn = true, concurrentLimit, handlerProcessTimeout, queueName, queueExpires } = await resolveProvider(provider) ?? {};
8
+ exchange = RabbitMqEventBus.DEFAULT_EXCHANGE, ignoreOwn = true, concurrentLimit, handlerProcessTimeout, queueName, queueExpires, deadLetterQueue = false } = await resolveProvider(provider) ?? {};
9
9
  assertString(exchange, 'rabbitMqEventConfig.exchange');
10
10
  assertBoolean(ignoreOwn, 'rabbitMqEventConfig.ignoreOwn');
11
11
  if (concurrentLimit !== undefined)
@@ -16,7 +16,8 @@ async function resolveConfig(provider) {
16
16
  assertString(queueName, 'rabbitMqEventConfig.queueName');
17
17
  if (queueExpires !== undefined)
18
18
  assertNonNegativeInteger(queueExpires, 'rabbitMqEventConfig.queueExpires');
19
- return { exchange, ignoreOwn, concurrentLimit, handlerProcessTimeout, queueName, queueExpires };
19
+ assertBoolean(deadLetterQueue, 'rabbitMqEventConfig.deadLetterQueue');
20
+ return { exchange, ignoreOwn, concurrentLimit, handlerProcessTimeout, queueName, queueExpires, deadLetterQueue };
20
21
  }
21
22
  /**
22
23
  * RabbitMQ-backed event bus: delivers each published message
@@ -25,6 +26,10 @@ async function resolveConfig(provider) {
25
26
  * By default uses an exclusive (non-durable) queue per connection.
26
27
  * Set `queueName` in config for a durable queue that survives restarts.
27
28
  *
29
+ * Dead letter queue is disabled by default (`deadLetterQueue: false`).
30
+ * When a handler fails or times out, the message is discarded.
31
+ * Set `deadLetterQueue: true` to route rejected messages to a `.failed` queue.
32
+ *
28
33
  * Optionally ignores messages published by this instance (default: true).
29
34
  *
30
35
  * Supports named durable queues via {@link queue} for single-consumer delivery.
@@ -63,16 +68,11 @@ export class RabbitMqEventBus {
63
68
  * (non-durable) queue that is deleted on disconnect.
64
69
  */
65
70
  async on(eventType, handler) {
66
- const { exchange, queueName, ignoreOwn, concurrentLimit, handlerProcessTimeout, queueExpires } = await this.#resolveConfig();
71
+ const subscriptionParams = await this.#resolveConfig();
67
72
  return this.#gateway.subscribe({
68
- exchange,
69
- queueName,
73
+ ...subscriptionParams,
70
74
  eventType,
71
75
  handler,
72
- ignoreOwn,
73
- concurrentLimit,
74
- handlerProcessTimeout,
75
- queueExpires,
76
76
  singleActiveConsumer: true
77
77
  });
78
78
  }
@@ -99,13 +99,14 @@ export class RabbitMqEventBus {
99
99
  queue = new RabbitMqCommandBus({
100
100
  rabbitMqGateway: this.#gateway,
101
101
  rabbitMqCommandBusConfig: async () => {
102
- const { exchange, concurrentLimit, handlerProcessTimeout, queueExpires } = await this.#resolveConfig();
102
+ const { exchange, concurrentLimit, handlerProcessTimeout, queueExpires, deadLetterQueue } = await this.#resolveConfig();
103
103
  return {
104
104
  exchange,
105
105
  queueName,
106
106
  concurrentLimit,
107
107
  handlerProcessTimeout,
108
- queueExpires
108
+ queueExpires,
109
+ deadLetterQueue
109
110
  };
110
111
  }
111
112
  });
@@ -1 +1 @@
1
- {"version":3,"file":"RabbitMqEventBus.js","sourceRoot":"","sources":["../../../src/rabbitmq/RabbitMqEventBus.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"RabbitMqEventBus.js","sourceRoot":"","sources":["../../../src/rabbitmq/RabbitMqEventBus.ts"],"names":[],"mappings":"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"}
@@ -268,7 +268,9 @@ export class RabbitMqGateway {
268
268
  // record subscription details to restore it if connection attempt fails or on reconnect
269
269
  this.#subscriptions.push(subscription);
270
270
  this.#logger?.debug(`Subscription ${describeSub(subscription)} recorded`);
271
- const { exchange, queueName, eventType, queueExpires, singleActiveConsumer } = subscription;
271
+ const { exchange, queueName, eventType, queueExpires, handlerProcessTimeout, singleActiveConsumer, deadLetterQueue = !!queueName } = subscription;
272
+ if (deadLetterQueue && !queueName)
273
+ throw new Error('deadLetterQueue requires a durable queue (queueName must be set)');
272
274
  const channel = await this.#assertQueueChannel(queueName);
273
275
  let queueGivenName = queueName;
274
276
  let messageCount = 0;
@@ -293,14 +295,18 @@ export class RabbitMqGateway {
293
295
  }
294
296
  else {
295
297
  // Handle durable queue case
296
- const deadLetterExchangeName = `${exchange}.failed`;
297
- // Assert dead letter queue for rejected or timed out messages
298
- await this.#assetQueue(channel, deadLetterExchangeName, `${queueGivenName}.failed`);
298
+ let deadLetterExchangeName;
299
+ if (deadLetterQueue) {
300
+ deadLetterExchangeName = `${exchange}.failed`;
301
+ // Assert dead letter queue for rejected or timed out messages
302
+ await this.#assetQueue(channel, deadLetterExchangeName, `${queueGivenName}.failed`);
303
+ }
299
304
  // Assert durable queue that will survive broker restart
300
305
  const reply = await this.#assetQueue(channel, exchange, queueGivenName, eventType, {
301
- deadLetterExchangeName,
306
+ ...deadLetterExchangeName && { deadLetterExchangeName },
302
307
  ...singleActiveConsumer && { singleActiveConsumer },
303
- ...queueExpires && { queueExpires }
308
+ ...queueExpires && { queueExpires },
309
+ handlerProcessTimeout
304
310
  });
305
311
  messageCount = reply.messageCount;
306
312
  consumerCount = reply.consumerCount;
@@ -349,7 +355,7 @@ export class RabbitMqGateway {
349
355
  * Ensure queue, exchange, and binding exist
350
356
  */
351
357
  async #assetQueue(channel, exchange, queueName, eventType, options) {
352
- const { durable = true, exclusive = false, singleActiveConsumer = false, deadLetterExchangeName, queueExpires } = options ?? {};
358
+ const { durable = true, exclusive = false, singleActiveConsumer = false, deadLetterExchangeName, queueExpires, handlerProcessTimeout = _a.HANDLER_PROCESS_TIMEOUT } = options ?? {};
353
359
  await channel.assertExchange(exchange, 'topic', { durable: true });
354
360
  const reply = await channel.assertQueue(queueName, {
355
361
  exclusive,
@@ -367,6 +373,9 @@ export class RabbitMqGateway {
367
373
  },
368
374
  ...singleActiveConsumer && {
369
375
  'x-single-active-consumer': true
376
+ },
377
+ ...handlerProcessTimeout && {
378
+ 'x-consumer-timeout': handlerProcessTimeout + 1_000
370
379
  }
371
380
  }
372
381
  });
@@ -1 +1 @@
1
- {"version":3,"file":"RabbitMqGateway.js","sourceRoot":"","sources":["../../../src/rabbitmq/RabbitMqGateway.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"RabbitMqGateway.js","sourceRoot":"","sources":["../../../src/rabbitmq/RabbitMqGateway.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import type { IEvent } from './IEvent.ts';
2
- import { IMessageMeta } from './IMessageMeta.ts';
2
+ import type { IMessageMeta } from './IMessageMeta.ts';
3
3
  /**
4
4
  * Represents a wrapper for an event that can optionally contain additional metadata.
5
5
  * Used to extend event processing with context-specific data required by processors.
@@ -1,7 +1,7 @@
1
1
  import type { IContainer } from 'node-cqrs';
2
2
  import type { ICommand, ICommandBus, IMessageHandler, IMessageMeta } from '../interfaces/index.ts';
3
3
  import { type Subscription } from './RabbitMqGateway.ts';
4
- export type RabbitMqCommandBusConfig = Partial<Pick<Subscription, 'exchange' | 'queueName' | 'ignoreOwn' | 'concurrentLimit' | 'handlerProcessTimeout' | 'queueExpires'>>;
4
+ export type RabbitMqCommandBusConfig = Partial<Pick<Subscription, 'exchange' | 'queueName' | 'ignoreOwn' | 'concurrentLimit' | 'handlerProcessTimeout' | 'queueExpires' | 'deadLetterQueue'>>;
5
5
  /**
6
6
  * RabbitMQ-backed command bus: delivers each message to exactly
7
7
  * one consumer via a durable named queue.
@@ -1,7 +1,7 @@
1
1
  import type { IContainer } from 'node-cqrs';
2
2
  import type { IEventBus, IMessage, IMessageHandler, IMessageMeta, IObservable, IObservableQueueProvider } from '../interfaces/index.ts';
3
3
  import { type Subscription, type SubscribeResult } from './RabbitMqGateway.ts';
4
- export type RabbitMqEventBusConfig = Partial<Pick<Subscription, 'exchange' | 'queueName' | 'ignoreOwn' | 'concurrentLimit' | 'handlerProcessTimeout' | 'queueExpires'>>;
4
+ export type RabbitMqEventBusConfig = Partial<Pick<Subscription, 'exchange' | 'queueName' | 'ignoreOwn' | 'concurrentLimit' | 'handlerProcessTimeout' | 'queueExpires' | 'deadLetterQueue'>>;
5
5
  /**
6
6
  * RabbitMQ-backed event bus: delivers each published message
7
7
  * to all subscribers.
@@ -9,6 +9,10 @@ export type RabbitMqEventBusConfig = Partial<Pick<Subscription, 'exchange' | 'qu
9
9
  * By default uses an exclusive (non-durable) queue per connection.
10
10
  * Set `queueName` in config for a durable queue that survives restarts.
11
11
  *
12
+ * Dead letter queue is disabled by default (`deadLetterQueue: false`).
13
+ * When a handler fails or times out, the message is discarded.
14
+ * Set `deadLetterQueue: true` to route rejected messages to a `.failed` queue.
15
+ *
12
16
  * Optionally ignores messages published by this instance (default: true).
13
17
  *
14
18
  * Supports named durable queues via {@link queue} for single-consumer delivery.
@@ -46,6 +46,12 @@ export type Subscription = {
46
46
  * Enables RabbitMQ single active consumer mode (`x-single-active-consumer`).
47
47
  */
48
48
  singleActiveConsumer?: boolean;
49
+ /**
50
+ * Whether to create a dead letter queue for rejected or timed out messages.
51
+ * Only applicable to durable queues (when `queueName` is set).
52
+ * Defaults to `true` when `queueName` is set, `false` otherwise.
53
+ */
54
+ deadLetterQueue?: boolean;
49
55
  };
50
56
  export type SubscribeResult = {
51
57
  /** The actual queue name (may be auto-generated for exclusive queues) */
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "node-cqrs",
3
- "version": "1.1.0-alpha.4",
3
+ "version": "1.1.0-alpha.5",
4
4
  "description": "TypeScript CQRS/Event Sourcing toolkit for Node.js with DI, sagas, projections, and optional Worker, RabbitMQ, and SQLite adapters",
5
5
  "type": "module",
6
6
  "keywords": [