equipped 5.3.0 → 5.3.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (129) hide show
  1. package/CHANGELOG.md +7 -0
  2. package/dist/cjs/server/adapters/express/index.cjs +47 -1
  3. package/dist/cjs/server/adapters/express/index.cjs.map +1 -1
  4. package/dist/cjs/server/adapters/express/index.min.cjs +6 -6
  5. package/dist/cjs/server/adapters/express/index.min.cjs.map +1 -1
  6. package/dist/cjs/server/adapters/fastify/index.cjs +47 -1
  7. package/dist/cjs/server/adapters/fastify/index.cjs.map +1 -1
  8. package/dist/cjs/server/adapters/fastify/index.min.cjs +6 -6
  9. package/dist/cjs/server/adapters/fastify/index.min.cjs.map +1 -1
  10. package/dist/cjs/server/index.cjs +47 -1
  11. package/dist/cjs/server/index.cjs.map +1 -1
  12. package/dist/cjs/server/index.min.cjs +6 -6
  13. package/dist/cjs/server/index.min.cjs.map +1 -1
  14. package/dist/esm/cache/adapters/in-memory/index.min.mjs +1 -1
  15. package/dist/esm/cache/adapters/in-memory/index.mjs +2 -2
  16. package/dist/esm/cache/adapters/redis/index.min.mjs +1 -1
  17. package/dist/esm/cache/adapters/redis/index.mjs +3 -3
  18. package/dist/esm/cache/index.min.mjs +1 -1
  19. package/dist/esm/cache/index.mjs +2 -2
  20. package/dist/esm/{chunk-QHLKB47N.min.mjs → chunk-2GGMLKRP.min.mjs} +2 -2
  21. package/dist/esm/{chunk-PQCBVQL6.mjs → chunk-3TP7NINX.mjs} +2 -2
  22. package/dist/esm/{chunk-PNZNNUMN.mjs → chunk-5PZACGPI.mjs} +3 -3
  23. package/dist/esm/{chunk-ZGMFFK6Y.min.mjs → chunk-676VIABN.min.mjs} +2 -2
  24. package/dist/esm/{chunk-4MXYZS5R.mjs → chunk-7CP7ZE2O.mjs} +2 -2
  25. package/dist/esm/{chunk-5VW3JAFR.min.mjs → chunk-7NF7PV6S.min.mjs} +2 -2
  26. package/dist/esm/{chunk-4JLDXF7T.min.mjs → chunk-7SQ5JQYR.min.mjs} +2 -2
  27. package/dist/esm/{chunk-MDQKODYQ.mjs → chunk-A4P7P6BU.mjs} +48 -2
  28. package/dist/esm/chunk-A4P7P6BU.mjs.map +1 -0
  29. package/dist/esm/{chunk-JH6EBXY4.mjs → chunk-BWUFPMVG.mjs} +2 -2
  30. package/dist/esm/{chunk-AKQBDYUO.mjs → chunk-HXFNN6RI.mjs} +3 -3
  31. package/dist/esm/{chunk-FLAPYQUT.min.mjs → chunk-IN5YKIJ7.min.mjs} +7 -7
  32. package/dist/esm/chunk-IN5YKIJ7.min.mjs.map +1 -0
  33. package/dist/esm/{chunk-PCAUXBAG.min.mjs → chunk-IRYCN6PI.min.mjs} +2 -2
  34. package/dist/esm/{chunk-Z2TZ3KR7.mjs → chunk-LKS5ZE45.mjs} +2 -2
  35. package/dist/esm/{chunk-SGZNOYC3.min.mjs → chunk-MQXTTWPS.min.mjs} +2 -2
  36. package/dist/esm/{chunk-B5QQ32YY.min.mjs → chunk-P4PRHHIY.min.mjs} +2 -2
  37. package/dist/esm/{chunk-TVTYDU2D.mjs → chunk-TSVHZZE4.mjs} +3 -3
  38. package/dist/esm/dbs/adapters/mongodb/index.min.mjs +1 -1
  39. package/dist/esm/dbs/adapters/mongodb/index.mjs +3 -3
  40. package/dist/esm/dbs/index.min.mjs +1 -1
  41. package/dist/esm/dbs/index.mjs +3 -3
  42. package/dist/esm/errors/index.min.mjs +1 -1
  43. package/dist/esm/errors/index.mjs +1 -1
  44. package/dist/esm/events/adapters/kafka/index.min.mjs +1 -1
  45. package/dist/esm/events/adapters/kafka/index.mjs +2 -2
  46. package/dist/esm/events/adapters/rabbitmq/index.min.mjs +1 -1
  47. package/dist/esm/events/adapters/rabbitmq/index.mjs +1 -1
  48. package/dist/esm/index.min.mjs +1 -1
  49. package/dist/esm/index.mjs +1 -1
  50. package/dist/esm/instance/index.min.mjs +1 -1
  51. package/dist/esm/instance/index.mjs +1 -1
  52. package/dist/esm/introspection-THKMXV5V.min.mjs +2 -0
  53. package/dist/esm/{introspection-32BRYKYY.mjs → introspection-YJF3QAUK.mjs} +3 -3
  54. package/dist/esm/jobs/adapters/redis/index.min.mjs +1 -1
  55. package/dist/esm/jobs/adapters/redis/index.mjs +3 -3
  56. package/dist/esm/orm/adapters/in-memory/index.min.mjs +1 -1
  57. package/dist/esm/orm/adapters/in-memory/index.mjs +3 -3
  58. package/dist/esm/orm/adapters/json/index.min.mjs +1 -1
  59. package/dist/esm/orm/adapters/json/index.mjs +3 -3
  60. package/dist/esm/orm/adapters/mongodb/index.min.mjs +1 -1
  61. package/dist/esm/orm/adapters/mongodb/index.mjs +2 -2
  62. package/dist/esm/orm/adapters/postgresql/index.min.mjs +2 -2
  63. package/dist/esm/orm/adapters/postgresql/index.mjs +3 -3
  64. package/dist/esm/orm/index.min.mjs +1 -1
  65. package/dist/esm/orm/index.mjs +3 -3
  66. package/dist/esm/server/adapters/express/index.min.mjs +1 -1
  67. package/dist/esm/server/adapters/express/index.mjs +1 -1
  68. package/dist/esm/server/adapters/fastify/index.min.mjs +1 -1
  69. package/dist/esm/server/adapters/fastify/index.mjs +1 -1
  70. package/dist/esm/server/index.min.mjs +1 -1
  71. package/dist/esm/server/index.mjs +1 -1
  72. package/dist/esm/utilities/index.min.mjs +1 -1
  73. package/dist/esm/utilities/index.mjs +1 -1
  74. package/dist/esm/validations/index.min.mjs +1 -1
  75. package/dist/esm/validations/index.mjs +1 -1
  76. package/dist/types/{base-DVr0fHil.d.ts → base-BDTBLZ9a.d.ts} +7 -1
  77. package/dist/types/cache/adapters/in-memory/index.js +2 -2
  78. package/dist/types/cache/adapters/redis/index.js +3 -3
  79. package/dist/types/cache/index.js +2 -2
  80. package/dist/types/{chunk-NJ2FHI3U.js → chunk-4DH3POYM.js} +2 -2
  81. package/dist/types/{chunk-OHFTQGQG.js → chunk-55CTVK7R.js} +1 -1
  82. package/dist/types/{chunk-JQ2FWX4W.js → chunk-5Z26ZURE.js} +1 -1
  83. package/dist/types/{chunk-3M4PBZAQ.js → chunk-IZDJDGOV.js} +2 -2
  84. package/dist/types/{chunk-XGGGAEET.js → chunk-J3TGB5YQ.js} +1 -1
  85. package/dist/types/{chunk-3TKJGSCZ.js → chunk-LPB5LS7A.js} +1 -1
  86. package/dist/types/{chunk-YTY3EFNB.js → chunk-TT5EORDK.js} +47 -1
  87. package/dist/types/{chunk-65EHKCDZ.js → chunk-YLJNBL6J.js} +2 -2
  88. package/dist/types/dbs/adapters/mongodb/index.js +3 -3
  89. package/dist/types/dbs/index.js +3 -3
  90. package/dist/types/errors/index.js +1 -1
  91. package/dist/types/events/adapters/kafka/index.js +2 -2
  92. package/dist/types/events/adapters/rabbitmq/index.js +1 -1
  93. package/dist/types/index.js +1 -1
  94. package/dist/types/instance/index.js +1 -1
  95. package/dist/types/{introspection-VOIU3XE6.js → introspection-EHGM4RMO.js} +2 -2
  96. package/dist/types/jobs/adapters/redis/index.js +3 -3
  97. package/dist/types/orm/adapters/in-memory/index.js +3 -3
  98. package/dist/types/orm/adapters/json/index.js +3 -3
  99. package/dist/types/orm/adapters/mongodb/index.js +2 -2
  100. package/dist/types/orm/adapters/postgresql/index.js +3 -3
  101. package/dist/types/orm/index.js +3 -3
  102. package/dist/types/server/adapters/express/index.d.ts +1 -1
  103. package/dist/types/server/adapters/express/index.js +1 -1
  104. package/dist/types/server/adapters/fastify/index.d.ts +1 -1
  105. package/dist/types/server/adapters/fastify/index.js +1 -1
  106. package/dist/types/server/index.d.ts +2 -2
  107. package/dist/types/server/index.js +1 -1
  108. package/dist/types/utilities/index.js +1 -1
  109. package/dist/types/validations/index.js +1 -1
  110. package/package.json +1 -1
  111. package/dist/esm/chunk-FLAPYQUT.min.mjs.map +0 -1
  112. package/dist/esm/chunk-MDQKODYQ.mjs.map +0 -1
  113. package/dist/esm/introspection-A72WMWE3.min.mjs +0 -2
  114. /package/dist/esm/{chunk-QHLKB47N.min.mjs.map → chunk-2GGMLKRP.min.mjs.map} +0 -0
  115. /package/dist/esm/{chunk-PQCBVQL6.mjs.map → chunk-3TP7NINX.mjs.map} +0 -0
  116. /package/dist/esm/{chunk-PNZNNUMN.mjs.map → chunk-5PZACGPI.mjs.map} +0 -0
  117. /package/dist/esm/{chunk-ZGMFFK6Y.min.mjs.map → chunk-676VIABN.min.mjs.map} +0 -0
  118. /package/dist/esm/{chunk-4MXYZS5R.mjs.map → chunk-7CP7ZE2O.mjs.map} +0 -0
  119. /package/dist/esm/{chunk-5VW3JAFR.min.mjs.map → chunk-7NF7PV6S.min.mjs.map} +0 -0
  120. /package/dist/esm/{chunk-4JLDXF7T.min.mjs.map → chunk-7SQ5JQYR.min.mjs.map} +0 -0
  121. /package/dist/esm/{chunk-JH6EBXY4.mjs.map → chunk-BWUFPMVG.mjs.map} +0 -0
  122. /package/dist/esm/{chunk-AKQBDYUO.mjs.map → chunk-HXFNN6RI.mjs.map} +0 -0
  123. /package/dist/esm/{chunk-PCAUXBAG.min.mjs.map → chunk-IRYCN6PI.min.mjs.map} +0 -0
  124. /package/dist/esm/{chunk-Z2TZ3KR7.mjs.map → chunk-LKS5ZE45.mjs.map} +0 -0
  125. /package/dist/esm/{chunk-SGZNOYC3.min.mjs.map → chunk-MQXTTWPS.min.mjs.map} +0 -0
  126. /package/dist/esm/{chunk-B5QQ32YY.min.mjs.map → chunk-P4PRHHIY.min.mjs.map} +0 -0
  127. /package/dist/esm/{chunk-TVTYDU2D.mjs.map → chunk-TSVHZZE4.mjs.map} +0 -0
  128. /package/dist/esm/{introspection-32BRYKYY.mjs.map → introspection-THKMXV5V.min.mjs.map} +0 -0
  129. /package/dist/esm/{introspection-A72WMWE3.min.mjs.map → introspection-YJF3QAUK.mjs.map} +0 -0
@@ -1402,6 +1402,7 @@ var Server = class {
1402
1402
  #queue = [];
1403
1403
  #routesByKey = /* @__PURE__ */ new Set();
1404
1404
  #started = false;
1405
+ #beforeListenHandlers = [];
1405
1406
  #notFoundHandler = null;
1406
1407
  setup(httpServer, config) {
1407
1408
  this.#httpServer = httpServer;
@@ -1457,6 +1458,11 @@ var Server = class {
1457
1458
  this.#notFoundHandler = handler;
1458
1459
  return this;
1459
1460
  }
1461
+ onBeforeListen(handler) {
1462
+ if (this.#started) throw new EquippedError("Cannot add before-listen handler after server has started", {});
1463
+ this.#beforeListenHandlers.push(handler);
1464
+ return this;
1465
+ }
1460
1466
  test() {
1461
1467
  return (0, import_supertest.default)(this.#httpServer);
1462
1468
  }
@@ -1490,6 +1496,7 @@ var Server = class {
1490
1496
  });
1491
1497
  return await this.handleResponse(res, response);
1492
1498
  });
1499
+ for (const handler of this.#beforeListenHandlers) await handler({ httpServer: this.#httpServer, port: config.port });
1493
1500
  const started = await this.startServer(config.port);
1494
1501
  if (started) Instance.get().log.info(`${instance.id}(${app.name}) service listening on port ${config.port}`);
1495
1502
  return started;
@@ -1641,6 +1648,7 @@ if (void 0) {
1641
1648
  const testInstanceState = globalThis;
1642
1649
  class TestServer extends Server {
1643
1650
  handledResponse = null;
1651
+ startedPorts = [];
1644
1652
  notFoundHandler = null;
1645
1653
  constructor() {
1646
1654
  super();
@@ -1685,7 +1693,8 @@ if (void 0) {
1685
1693
  registerNotFoundHandler(cb) {
1686
1694
  this.notFoundHandler = cb;
1687
1695
  }
1688
- async startServer() {
1696
+ async startServer(port) {
1697
+ this.startedPorts.push(port);
1689
1698
  return true;
1690
1699
  }
1691
1700
  async dispatchNotFound(path) {
@@ -1696,6 +1705,43 @@ if (void 0) {
1696
1705
  return { handledResponse: this.handledResponse, rawResponse };
1697
1706
  }
1698
1707
  }
1708
+ describe("Server before-listen handlers", () => {
1709
+ test("runs before-listen handlers before adapter listen in registration order", async () => {
1710
+ ensureTestInstance();
1711
+ const server = new TestServer();
1712
+ const calls = [];
1713
+ let receivedServer = null;
1714
+ server.onBeforeListen(({ httpServer, port }) => {
1715
+ calls.push(`first:${port}`);
1716
+ receivedServer = httpServer;
1717
+ expect(server.startedPorts).toEqual([]);
1718
+ }).onBeforeListen(({ httpServer, port }) => {
1719
+ calls.push(`second:${port}`);
1720
+ expect(httpServer).toBe(receivedServer);
1721
+ expect(server.startedPorts).toEqual([]);
1722
+ });
1723
+ await server.start();
1724
+ expect(calls).toEqual(["first:0", "second:0"]);
1725
+ expect(receivedServer).toBeInstanceOf(http.Server);
1726
+ expect(server.startedPorts).toEqual([0]);
1727
+ });
1728
+ test("rejects startup when a before-listen handler fails before adapter listen", async () => {
1729
+ ensureTestInstance();
1730
+ const server = new TestServer();
1731
+ server.onBeforeListen(async () => {
1732
+ throw new Error("before-listen failed");
1733
+ });
1734
+ await expect(server.start()).rejects.toThrow("before-listen failed");
1735
+ expect(server.startedPorts).toEqual([]);
1736
+ });
1737
+ test("rejects adding before-listen handlers after server startup", async () => {
1738
+ ensureTestInstance();
1739
+ const server = new TestServer();
1740
+ await server.start();
1741
+ expect(() => server.onBeforeListen(() => {
1742
+ })).toThrow("Cannot add before-listen handler after server has started");
1743
+ });
1744
+ });
1699
1745
  describe("Server not-found handler", () => {
1700
1746
  test("throws the default Equipped not-found error when no custom handler is set", async () => {
1701
1747
  ensureTestInstance();