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
package/CHANGELOG.md CHANGED
@@ -2,6 +2,13 @@
2
2
 
3
3
  All notable changes to this project will be documented in this file. See [standard-version](https://github.com/conventional-changelog/standard-version) for commit guidelines.
4
4
 
5
+ ### [5.3.1](https://github.com/kevinand11/equipped/compare/v5.3.0...v5.3.1) (2026-06-19)
6
+
7
+
8
+ ### Features
9
+
10
+ * **server:** add before listen hook ([f72134c](https://github.com/kevinand11/equipped/commit/f72134c67273023a3e98351dd079fa6600b6a43d))
11
+
5
12
  ## [5.3.0](https://github.com/kevinand11/equipped/compare/v5.3.0-alpha.0...v5.3.0) (2026-06-19)
6
13
 
7
14
 
@@ -873,6 +873,7 @@ var Server = class {
873
873
  #queue = [];
874
874
  #routesByKey = /* @__PURE__ */ new Set();
875
875
  #started = false;
876
+ #beforeListenHandlers = [];
876
877
  #notFoundHandler = null;
877
878
  setup(httpServer, config) {
878
879
  this.#httpServer = httpServer;
@@ -928,6 +929,11 @@ var Server = class {
928
929
  this.#notFoundHandler = handler;
929
930
  return this;
930
931
  }
932
+ onBeforeListen(handler) {
933
+ if (this.#started) throw new EquippedError("Cannot add before-listen handler after server has started", {});
934
+ this.#beforeListenHandlers.push(handler);
935
+ return this;
936
+ }
931
937
  test() {
932
938
  return (0, import_supertest.default)(this.#httpServer);
933
939
  }
@@ -961,6 +967,7 @@ var Server = class {
961
967
  });
962
968
  return await this.handleResponse(res, response);
963
969
  });
970
+ for (const handler of this.#beforeListenHandlers) await handler({ httpServer: this.#httpServer, port: config.port });
964
971
  const started = await this.startServer(config.port);
965
972
  if (started) Instance.get().log.info(`${instance.id}(${app.name}) service listening on port ${config.port}`);
966
973
  return started;
@@ -1112,6 +1119,7 @@ if (void 0) {
1112
1119
  const testInstanceState = globalThis;
1113
1120
  class TestServer extends Server {
1114
1121
  handledResponse = null;
1122
+ startedPorts = [];
1115
1123
  notFoundHandler = null;
1116
1124
  constructor() {
1117
1125
  super();
@@ -1156,7 +1164,8 @@ if (void 0) {
1156
1164
  registerNotFoundHandler(cb) {
1157
1165
  this.notFoundHandler = cb;
1158
1166
  }
1159
- async startServer() {
1167
+ async startServer(port) {
1168
+ this.startedPorts.push(port);
1160
1169
  return true;
1161
1170
  }
1162
1171
  async dispatchNotFound(path) {
@@ -1167,6 +1176,43 @@ if (void 0) {
1167
1176
  return { handledResponse: this.handledResponse, rawResponse };
1168
1177
  }
1169
1178
  }
1179
+ describe("Server before-listen handlers", () => {
1180
+ test("runs before-listen handlers before adapter listen in registration order", async () => {
1181
+ ensureTestInstance();
1182
+ const server = new TestServer();
1183
+ const calls = [];
1184
+ let receivedServer = null;
1185
+ server.onBeforeListen(({ httpServer, port }) => {
1186
+ calls.push(`first:${port}`);
1187
+ receivedServer = httpServer;
1188
+ expect(server.startedPorts).toEqual([]);
1189
+ }).onBeforeListen(({ httpServer, port }) => {
1190
+ calls.push(`second:${port}`);
1191
+ expect(httpServer).toBe(receivedServer);
1192
+ expect(server.startedPorts).toEqual([]);
1193
+ });
1194
+ await server.start();
1195
+ expect(calls).toEqual(["first:0", "second:0"]);
1196
+ expect(receivedServer).toBeInstanceOf(http.Server);
1197
+ expect(server.startedPorts).toEqual([0]);
1198
+ });
1199
+ test("rejects startup when a before-listen handler fails before adapter listen", async () => {
1200
+ ensureTestInstance();
1201
+ const server = new TestServer();
1202
+ server.onBeforeListen(async () => {
1203
+ throw new Error("before-listen failed");
1204
+ });
1205
+ await expect(server.start()).rejects.toThrow("before-listen failed");
1206
+ expect(server.startedPorts).toEqual([]);
1207
+ });
1208
+ test("rejects adding before-listen handlers after server startup", async () => {
1209
+ ensureTestInstance();
1210
+ const server = new TestServer();
1211
+ await server.start();
1212
+ expect(() => server.onBeforeListen(() => {
1213
+ })).toThrow("Cannot add before-listen handler after server has started");
1214
+ });
1215
+ });
1170
1216
  describe("Server not-found handler", () => {
1171
1217
  test("throws the default Equipped not-found error when no custom handler is set", async () => {
1172
1218
  ensureTestInstance();