@nestjs-transactional/outbox 1.1.0 → 2.0.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 (123) hide show
  1. package/README.md +14 -0
  2. package/dist/api/completed-event-publications.d.ts +2 -2
  3. package/dist/api/completed-event-publications.js +6 -9
  4. package/dist/api/completed-event-publications.js.map +1 -1
  5. package/dist/api/failed-event-publications.d.ts +3 -3
  6. package/dist/api/failed-event-publications.js +10 -13
  7. package/dist/api/failed-event-publications.js.map +1 -1
  8. package/dist/api/incomplete-event-publications.d.ts +3 -3
  9. package/dist/api/incomplete-event-publications.js +11 -14
  10. package/dist/api/incomplete-event-publications.js.map +1 -1
  11. package/dist/decorators/inject-decorators.js +12 -24
  12. package/dist/decorators/inject-decorators.js.map +1 -1
  13. package/dist/decorators/outbox-events-handler.decorator.js +6 -11
  14. package/dist/decorators/outbox-events-handler.decorator.js.map +1 -1
  15. package/dist/dispatcher/data-source-outbox-publisher.d.ts +2 -2
  16. package/dist/dispatcher/data-source-outbox-publisher.js +7 -11
  17. package/dist/dispatcher/data-source-outbox-publisher.js.map +1 -1
  18. package/dist/dispatcher/event-publication-processor.d.ts +5 -5
  19. package/dist/dispatcher/event-publication-processor.js +18 -21
  20. package/dist/dispatcher/event-publication-processor.js.map +1 -1
  21. package/dist/dispatcher/outbox-event-publisher.js +16 -19
  22. package/dist/dispatcher/outbox-event-publisher.js.map +1 -1
  23. package/dist/dispatcher/processor-options.d.ts +1 -1
  24. package/dist/dispatcher/processor-options.js +5 -8
  25. package/dist/dispatcher/processor-options.js.map +1 -1
  26. package/dist/externalization/describe-thrown.js +1 -4
  27. package/dist/externalization/describe-thrown.js.map +1 -1
  28. package/dist/externalization/errors.d.ts +1 -1
  29. package/dist/externalization/errors.js +2 -6
  30. package/dist/externalization/errors.js.map +1 -1
  31. package/dist/externalization/event-externalizer.d.ts +1 -1
  32. package/dist/externalization/event-externalizer.js +1 -4
  33. package/dist/externalization/event-externalizer.js.map +1 -1
  34. package/dist/externalization/externalization-registry.d.ts +3 -3
  35. package/dist/externalization/externalization-registry.js +10 -13
  36. package/dist/externalization/externalization-registry.js.map +1 -1
  37. package/dist/externalization/externalized.decorator.js +6 -11
  38. package/dist/externalization/externalized.decorator.js.map +1 -1
  39. package/dist/externalization/types.js +1 -2
  40. package/dist/index.d.ts +43 -43
  41. package/dist/index.js +39 -65
  42. package/dist/index.js.map +1 -1
  43. package/dist/interfaces/outbox-event-handler.interface.js +1 -2
  44. package/dist/module/outbox-processing.module.d.ts +1 -1
  45. package/dist/module/outbox-processing.module.js +6 -9
  46. package/dist/module/outbox-processing.module.js.map +1 -1
  47. package/dist/module/outbox.module.d.ts +10 -10
  48. package/dist/module/outbox.module.js +145 -148
  49. package/dist/module/outbox.module.js.map +1 -1
  50. package/dist/recovery/outbox-cleanup-scheduler.d.ts +2 -2
  51. package/dist/recovery/outbox-cleanup-scheduler.js +7 -10
  52. package/dist/recovery/outbox-cleanup-scheduler.js.map +1 -1
  53. package/dist/recovery/outbox-retry-scheduler.d.ts +2 -2
  54. package/dist/recovery/outbox-retry-scheduler.js +11 -14
  55. package/dist/recovery/outbox-retry-scheduler.js.map +1 -1
  56. package/dist/recovery/staleness-monitor.d.ts +2 -2
  57. package/dist/recovery/staleness-monitor.js +14 -17
  58. package/dist/recovery/staleness-monitor.js.map +1 -1
  59. package/dist/recovery/startup-recovery.d.ts +1 -1
  60. package/dist/recovery/startup-recovery.js +11 -14
  61. package/dist/recovery/startup-recovery.js.map +1 -1
  62. package/dist/registry/event-publication-registry.d.ts +4 -4
  63. package/dist/registry/event-publication-registry.js +17 -20
  64. package/dist/registry/event-publication-registry.js.map +1 -1
  65. package/dist/registry/listener-registry.js +6 -9
  66. package/dist/registry/listener-registry.js.map +1 -1
  67. package/dist/registry/multi-ds-listener-registrar.d.ts +1 -1
  68. package/dist/registry/multi-ds-listener-registrar.js +15 -18
  69. package/dist/registry/multi-ds-listener-registrar.js.map +1 -1
  70. package/dist/registry/outbox-listener-scanner.d.ts +1 -1
  71. package/dist/registry/outbox-listener-scanner.js +23 -27
  72. package/dist/registry/outbox-listener-scanner.js.map +1 -1
  73. package/dist/repository/event-publication-repository.d.ts +2 -2
  74. package/dist/repository/event-publication-repository.js +1 -4
  75. package/dist/repository/event-publication-repository.js.map +1 -1
  76. package/dist/serialization/event-serializer.js +1 -4
  77. package/dist/serialization/event-serializer.js.map +1 -1
  78. package/dist/serialization/event-type-registry.js +5 -8
  79. package/dist/serialization/event-type-registry.js.map +1 -1
  80. package/dist/serialization/event-type-resolver.d.ts +1 -1
  81. package/dist/serialization/event-type-resolver.js +4 -7
  82. package/dist/serialization/event-type-resolver.js.map +1 -1
  83. package/dist/serialization/json-event-serializer.d.ts +2 -2
  84. package/dist/serialization/json-event-serializer.js +10 -13
  85. package/dist/serialization/json-event-serializer.js.map +1 -1
  86. package/dist/shutdown/drain.js +2 -6
  87. package/dist/shutdown/drain.js.map +1 -1
  88. package/dist/testing/assertable-published-events.d.ts +1 -1
  89. package/dist/testing/assertable-published-events.js +8 -13
  90. package/dist/testing/assertable-published-events.js.map +1 -1
  91. package/dist/testing/in-memory-repository.d.ts +3 -3
  92. package/dist/testing/in-memory-repository.js +22 -25
  93. package/dist/testing/in-memory-repository.js.map +1 -1
  94. package/dist/testing/index.d.ts +3 -3
  95. package/dist/testing/index.js +3 -19
  96. package/dist/testing/index.js.map +1 -1
  97. package/dist/testing/published-events.d.ts +3 -3
  98. package/dist/testing/published-events.js +9 -13
  99. package/dist/testing/published-events.js.map +1 -1
  100. package/dist/tokens/index.d.ts +1 -1
  101. package/dist/tokens/index.js +1 -13
  102. package/dist/tokens/index.js.map +1 -1
  103. package/dist/tokens/token-utils.js +10 -21
  104. package/dist/tokens/token-utils.js.map +1 -1
  105. package/dist/types/cleanup-config.js +3 -6
  106. package/dist/types/cleanup-config.js.map +1 -1
  107. package/dist/types/completion-mode.js +2 -5
  108. package/dist/types/completion-mode.js.map +1 -1
  109. package/dist/types/errors.d.ts +1 -1
  110. package/dist/types/errors.js +7 -16
  111. package/dist/types/errors.js.map +1 -1
  112. package/dist/types/event-publication.d.ts +1 -1
  113. package/dist/types/event-publication.js +1 -2
  114. package/dist/types/publication-status.js +2 -5
  115. package/dist/types/publication-status.js.map +1 -1
  116. package/dist/types/resubmission-options.d.ts +1 -1
  117. package/dist/types/resubmission-options.js +1 -5
  118. package/dist/types/resubmission-options.js.map +1 -1
  119. package/dist/types/retry-config.js +3 -6
  120. package/dist/types/retry-config.js.map +1 -1
  121. package/dist/types/staleness-config.js +3 -6
  122. package/dist/types/staleness-config.js.map +1 -1
  123. package/package.json +13 -12
@@ -1,6 +1,3 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.ResubmissionOptions = void 0;
4
1
  /**
5
2
  * Builder-style configuration for a resubmission pass.
6
3
  *
@@ -12,7 +9,7 @@ exports.ResubmissionOptions = void 0;
12
9
  * .withMaxAttempts(3);
13
10
  * ```
14
11
  */
15
- class ResubmissionOptions {
12
+ export class ResubmissionOptions {
16
13
  _batchSize = 100;
17
14
  _minAge = 0;
18
15
  _maxCompletionAttempts = null;
@@ -49,5 +46,4 @@ class ResubmissionOptions {
49
46
  return this._filter;
50
47
  }
51
48
  }
52
- exports.ResubmissionOptions = ResubmissionOptions;
53
49
  //# sourceMappingURL=resubmission-options.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"resubmission-options.js","sourceRoot":"","sources":["../../src/types/resubmission-options.ts"],"names":[],"mappings":";;;AAQA;;;;;;;;;;GAUG;AACH,MAAa,mBAAmB;IACtB,UAAU,GAAG,GAAG,CAAC;IACjB,OAAO,GAAG,CAAC,CAAC;IACZ,sBAAsB,GAAkB,IAAI,CAAC;IAC7C,OAAO,GAA8B,IAAI,CAAC;IAElD,MAAM,CAAC,QAAQ;QACb,OAAO,IAAI,mBAAmB,EAAE,CAAC;IACnC,CAAC;IAED,aAAa,CAAC,IAAY;QACxB,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;QACvB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,UAAU,CAAC,EAAU;QACnB,IAAI,CAAC,OAAO,GAAG,EAAE,CAAC;QAClB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,eAAe,CAAC,CAAS;QACvB,IAAI,CAAC,sBAAsB,GAAG,CAAC,CAAC;QAChC,OAAO,IAAI,CAAC;IACd,CAAC;IAED,UAAU,CAAC,MAA0B;QACnC,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC;QACtB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,IAAI,SAAS;QACX,OAAO,IAAI,CAAC,UAAU,CAAC;IACzB,CAAC;IAED,IAAI,MAAM;QACR,OAAO,IAAI,CAAC,OAAO,CAAC;IACtB,CAAC;IAED,IAAI,qBAAqB;QACvB,OAAO,IAAI,CAAC,sBAAsB,CAAC;IACrC,CAAC;IAED,IAAI,MAAM;QACR,OAAO,IAAI,CAAC,OAAO,CAAC;IACtB,CAAC;CACF;AA7CD,kDA6CC"}
1
+ {"version":3,"file":"resubmission-options.js","sourceRoot":"","sources":["../../src/types/resubmission-options.ts"],"names":[],"mappings":"AAQA;;;;;;;;;;GAUG;AACH,MAAM,OAAO,mBAAmB;IACtB,UAAU,GAAG,GAAG,CAAC;IACjB,OAAO,GAAG,CAAC,CAAC;IACZ,sBAAsB,GAAkB,IAAI,CAAC;IAC7C,OAAO,GAA8B,IAAI,CAAC;IAElD,MAAM,CAAC,QAAQ;QACb,OAAO,IAAI,mBAAmB,EAAE,CAAC;IACnC,CAAC;IAED,aAAa,CAAC,IAAY;QACxB,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;QACvB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,UAAU,CAAC,EAAU;QACnB,IAAI,CAAC,OAAO,GAAG,EAAE,CAAC;QAClB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,eAAe,CAAC,CAAS;QACvB,IAAI,CAAC,sBAAsB,GAAG,CAAC,CAAC;QAChC,OAAO,IAAI,CAAC;IACd,CAAC;IAED,UAAU,CAAC,MAA0B;QACnC,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC;QACtB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,IAAI,SAAS;QACX,OAAO,IAAI,CAAC,UAAU,CAAC;IACzB,CAAC;IAED,IAAI,MAAM;QACR,OAAO,IAAI,CAAC,OAAO,CAAC;IACtB,CAAC;IAED,IAAI,qBAAqB;QACvB,OAAO,IAAI,CAAC,sBAAsB,CAAC;IACrC,CAAC;IAED,IAAI,MAAM;QACR,OAAO,IAAI,CAAC,OAAO,CAAC;IACtB,CAAC;CACF"}
@@ -1,9 +1,6 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.DEFAULT_RETRY_CONFIG = void 0;
4
- const drain_1 = require("../shutdown/drain");
1
+ import { DEFAULT_DRAIN_TIMEOUT_MS } from '../shutdown/drain.js';
5
2
  /** Automatic retry off; every other value is the curve it would use if switched on. */
6
- exports.DEFAULT_RETRY_CONFIG = {
3
+ export const DEFAULT_RETRY_CONFIG = {
7
4
  maxAttempts: 0,
8
5
  interval: 60_000,
9
6
  baseDelay: 1_000,
@@ -11,6 +8,6 @@ exports.DEFAULT_RETRY_CONFIG = {
11
8
  maxDelay: 300_000,
12
9
  jitter: 0.2,
13
10
  batchSize: 100,
14
- shutdownTimeout: drain_1.DEFAULT_DRAIN_TIMEOUT_MS,
11
+ shutdownTimeout: DEFAULT_DRAIN_TIMEOUT_MS,
15
12
  };
16
13
  //# sourceMappingURL=retry-config.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"retry-config.js","sourceRoot":"","sources":["../../src/types/retry-config.ts"],"names":[],"mappings":";;;AAAA,6CAA6D;AAmD7D,uFAAuF;AAC1E,QAAA,oBAAoB,GAAsB;IACrD,WAAW,EAAE,CAAC;IACd,QAAQ,EAAE,MAAM;IAChB,SAAS,EAAE,KAAK;IAChB,MAAM,EAAE,CAAC;IACT,QAAQ,EAAE,OAAO;IACjB,MAAM,EAAE,GAAG;IACX,SAAS,EAAE,GAAG;IACd,eAAe,EAAE,gCAAwB;CAC1C,CAAC"}
1
+ {"version":3,"file":"retry-config.js","sourceRoot":"","sources":["../../src/types/retry-config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,wBAAwB,EAAE,MAAM,sBAAsB,CAAC;AAmDhE,uFAAuF;AACvF,MAAM,CAAC,MAAM,oBAAoB,GAAsB;IACrD,WAAW,EAAE,CAAC;IACd,QAAQ,EAAE,MAAM;IAChB,SAAS,EAAE,KAAK;IAChB,MAAM,EAAE,CAAC;IACT,QAAQ,EAAE,OAAO;IACjB,MAAM,EAAE,GAAG;IACX,SAAS,EAAE,GAAG;IACd,eAAe,EAAE,wBAAwB;CAC1C,CAAC"}
@@ -1,12 +1,9 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.DEFAULT_STALENESS_CONFIG = void 0;
4
- const drain_1 = require("../shutdown/drain");
5
- exports.DEFAULT_STALENESS_CONFIG = {
1
+ import { DEFAULT_DRAIN_TIMEOUT_MS } from '../shutdown/drain.js';
2
+ export const DEFAULT_STALENESS_CONFIG = {
6
3
  published: 0,
7
4
  processing: 0,
8
5
  resubmitted: 0,
9
6
  monitorInterval: 60_000,
10
- shutdownTimeout: drain_1.DEFAULT_DRAIN_TIMEOUT_MS,
7
+ shutdownTimeout: DEFAULT_DRAIN_TIMEOUT_MS,
11
8
  };
12
9
  //# sourceMappingURL=staleness-config.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"staleness-config.js","sourceRoot":"","sources":["../../src/types/staleness-config.ts"],"names":[],"mappings":";;;AAAA,6CAA6D;AA2BhD,QAAA,wBAAwB,GAAoB;IACvD,SAAS,EAAE,CAAC;IACZ,UAAU,EAAE,CAAC;IACb,WAAW,EAAE,CAAC;IACd,eAAe,EAAE,MAAM;IACvB,eAAe,EAAE,gCAAwB;CAC1C,CAAC"}
1
+ {"version":3,"file":"staleness-config.js","sourceRoot":"","sources":["../../src/types/staleness-config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,wBAAwB,EAAE,MAAM,sBAAsB,CAAC;AA2BhE,MAAM,CAAC,MAAM,wBAAwB,GAAoB;IACvD,SAAS,EAAE,CAAC;IACZ,UAAU,EAAE,CAAC;IACb,WAAW,EAAE,CAAC;IACd,eAAe,EAAE,MAAM;IACvB,eAAe,EAAE,wBAAwB;CAC1C,CAAC"}
package/package.json CHANGED
@@ -1,9 +1,9 @@
1
1
  {
2
2
  "name": "@nestjs-transactional/outbox",
3
- "version": "1.1.0",
3
+ "version": "2.0.0",
4
4
  "description": "Persistent Event Publication Registry for @nestjs-transactional — Spring Modulith equivalent (ORM-agnostic core)",
5
5
  "license": "MIT",
6
- "type": "commonjs",
6
+ "type": "module",
7
7
  "sideEffects": false,
8
8
  "author": "Igor Golovanov",
9
9
  "repository": {
@@ -24,7 +24,7 @@
24
24
  "transaction"
25
25
  ],
26
26
  "engines": {
27
- "node": ">=22.11.0"
27
+ "node": ">=22.13.0"
28
28
  },
29
29
  "main": "dist/index.js",
30
30
  "types": "dist/index.d.ts",
@@ -56,35 +56,36 @@
56
56
  "provenance": true
57
57
  },
58
58
  "peerDependencies": {
59
- "@nestjs/common": "^10.0.0 || ^11.0.0",
60
- "@nestjs/core": "^10.0.0 || ^11.0.0",
59
+ "@nestjs/common": "^10.0.0 || ^11.0.0 || ^12.0.0",
60
+ "@nestjs/core": "^10.0.0 || ^11.0.0 || ^12.0.0",
61
61
  "reflect-metadata": "^0.1.13 || ^0.2.0",
62
62
  "rxjs": "^7.0.0",
63
- "@nestjs-transactional/core": "^1.0.0"
63
+ "@nestjs-transactional/core": "^2.0.0"
64
64
  },
65
65
  "devDependencies": {
66
+ "@jest/globals": "^30.4.2",
66
67
  "@nestjs/common": "^11.2.3",
67
68
  "@nestjs/core": "^11.2.3",
68
69
  "@nestjs/testing": "^11.2.3",
69
70
  "@types/jest": "^30.0.0",
70
71
  "@types/node": "^22.20.1",
71
- "jest": "^30.4.2",
72
+ "jest": "^30.5.1",
72
73
  "reflect-metadata": "^0.2.2",
73
74
  "rxjs": "^7.8.1",
74
75
  "ts-jest": "^29.4.12",
75
76
  "typescript": "^6.0.3",
76
- "@nestjs-transactional/core": "1.0.0"
77
+ "@nestjs-transactional/core": "2.0.0"
77
78
  },
78
79
  "scripts": {
79
80
  "build": "tsc -p tsconfig.build.json",
80
81
  "clean": "rimraf dist *.tsbuildinfo coverage",
81
- "test": "jest",
82
- "test:watch": "jest --watch",
83
- "test:cov": "jest --coverage",
82
+ "test": "NODE_OPTIONS=--experimental-vm-modules jest",
83
+ "test:watch": "NODE_OPTIONS=--experimental-vm-modules jest --watch",
84
+ "test:cov": "NODE_OPTIONS=--experimental-vm-modules jest --coverage",
84
85
  "type-check": "tsc --noEmit",
85
86
  "lint": "eslint .",
86
87
  "api:check": "api-extractor run && api-extractor run -c api-extractor.testing.json",
87
88
  "api:update": "api-extractor run --local && api-extractor run --local -c api-extractor.testing.json",
88
- "publish:check": "publint && attw --pack ."
89
+ "publish:check": "publint && attw --pack . --profile esm-only"
89
90
  }
90
91
  }