exisjs 0.7.5 → 0.7.7

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 (321) hide show
  1. package/dist/cli/commands/build.d.ts.map +1 -1
  2. package/dist/cli/commands/build.js +12 -0
  3. package/dist/cli/commands/build.js.map +1 -1
  4. package/dist/cli/commands/clean.d.ts +5 -0
  5. package/dist/cli/commands/clean.d.ts.map +1 -0
  6. package/dist/cli/commands/clean.js +30 -0
  7. package/dist/cli/commands/clean.js.map +1 -0
  8. package/dist/cli/commands/dev.d.ts.map +1 -1
  9. package/dist/cli/commands/dev.js +171 -86
  10. package/dist/cli/commands/dev.js.map +1 -1
  11. package/dist/cli/commands/generate.d.ts +6 -1
  12. package/dist/cli/commands/generate.d.ts.map +1 -1
  13. package/dist/cli/commands/generate.js +57 -2
  14. package/dist/cli/commands/generate.js.map +1 -1
  15. package/dist/cli/commands/start.d.ts.map +1 -1
  16. package/dist/cli/commands/start.js +54 -16
  17. package/dist/cli/commands/start.js.map +1 -1
  18. package/dist/cli/index.js +26 -3
  19. package/dist/cli/index.js.map +1 -1
  20. package/dist/cli/manifest.d.ts +1 -0
  21. package/dist/cli/manifest.d.ts.map +1 -1
  22. package/dist/cli/manifest.js +264 -33
  23. package/dist/cli/manifest.js.map +1 -1
  24. package/dist/cli/resolve-aliases.d.ts +1 -1
  25. package/dist/cli/resolve-aliases.d.ts.map +1 -1
  26. package/dist/cli/resolve-aliases.js +30 -13
  27. package/dist/cli/resolve-aliases.js.map +1 -1
  28. package/dist/config/config.d.ts +3 -1
  29. package/dist/config/config.d.ts.map +1 -1
  30. package/dist/config/config.js +9 -0
  31. package/dist/config/config.js.map +1 -1
  32. package/dist/config/types.d.ts +6 -0
  33. package/dist/config/types.d.ts.map +1 -1
  34. package/dist/cron/expressions.d.ts +45 -0
  35. package/dist/cron/expressions.d.ts.map +1 -0
  36. package/dist/cron/expressions.js +87 -0
  37. package/dist/cron/expressions.js.map +1 -0
  38. package/dist/cron/index.d.ts +6 -0
  39. package/dist/cron/index.d.ts.map +1 -0
  40. package/dist/cron/index.js +22 -0
  41. package/dist/cron/index.js.map +1 -0
  42. package/dist/cron/job.d.ts +50 -0
  43. package/dist/cron/job.d.ts.map +1 -0
  44. package/dist/cron/job.js +247 -0
  45. package/dist/cron/job.js.map +1 -0
  46. package/dist/cron/manager.d.ts +105 -0
  47. package/dist/cron/manager.d.ts.map +1 -0
  48. package/dist/cron/manager.js +245 -0
  49. package/dist/cron/manager.js.map +1 -0
  50. package/dist/cron/parser.d.ts +22 -0
  51. package/dist/cron/parser.d.ts.map +1 -0
  52. package/dist/cron/parser.js +269 -0
  53. package/dist/cron/parser.js.map +1 -0
  54. package/dist/cron/types.d.ts +76 -0
  55. package/dist/cron/types.d.ts.map +1 -0
  56. package/dist/cron/types.js +3 -0
  57. package/dist/cron/types.js.map +1 -0
  58. package/dist/decorators/constants.d.ts +2 -0
  59. package/dist/decorators/constants.d.ts.map +1 -1
  60. package/dist/decorators/constants.js +3 -1
  61. package/dist/decorators/constants.js.map +1 -1
  62. package/dist/decorators/core.d.ts +29 -11
  63. package/dist/decorators/core.d.ts.map +1 -1
  64. package/dist/decorators/core.js +49 -11
  65. package/dist/decorators/core.js.map +1 -1
  66. package/dist/decorators/cron.d.ts +57 -0
  67. package/dist/decorators/cron.d.ts.map +1 -0
  68. package/dist/decorators/cron.js +143 -0
  69. package/dist/decorators/cron.js.map +1 -0
  70. package/dist/decorators/index.d.ts +2 -0
  71. package/dist/decorators/index.d.ts.map +1 -1
  72. package/dist/decorators/index.js +2 -0
  73. package/dist/decorators/index.js.map +1 -1
  74. package/dist/decorators/middleware.d.ts +65 -2
  75. package/dist/decorators/middleware.d.ts.map +1 -1
  76. package/dist/decorators/middleware.js +148 -62
  77. package/dist/decorators/middleware.js.map +1 -1
  78. package/dist/decorators/params.d.ts +102 -2
  79. package/dist/decorators/params.d.ts.map +1 -1
  80. package/dist/decorators/params.js +105 -3
  81. package/dist/decorators/params.js.map +1 -1
  82. package/dist/decorators/response.d.ts.map +1 -1
  83. package/dist/decorators/response.js +32 -22
  84. package/dist/decorators/response.js.map +1 -1
  85. package/dist/decorators/routing.d.ts +81 -16
  86. package/dist/decorators/routing.d.ts.map +1 -1
  87. package/dist/decorators/routing.js +81 -16
  88. package/dist/decorators/routing.js.map +1 -1
  89. package/dist/di/container.d.ts.map +1 -1
  90. package/dist/di/container.js +6 -1
  91. package/dist/di/container.js.map +1 -1
  92. package/dist/docs/content/cli/commands.mdx +1 -1
  93. package/dist/docs/content/controllers.mdx +127 -10
  94. package/dist/docs/content/cron.mdx +196 -0
  95. package/dist/docs/content/decorators.mdx +22 -4
  96. package/dist/docs/content/errors.mdx +58 -9
  97. package/dist/docs/content/introduction.mdx +7 -7
  98. package/dist/docs/content/middleware.mdx +269 -6
  99. package/dist/docs/content/requests.mdx +180 -6
  100. package/dist/docs/content/responses.mdx +283 -32
  101. package/dist/docs/content/routing.mdx +46 -0
  102. package/dist/docs/content/swagger.mdx +228 -0
  103. package/dist/docs/content/validation.mdx +190 -11
  104. package/dist/docs/reference/context.mdx +11 -0
  105. package/dist/docs/reference/cron.mdx +300 -0
  106. package/dist/docs/reference/decorators.mdx +22 -4
  107. package/dist/docs/reference/error.mdx +88 -0
  108. package/dist/docs/reference/logger.mdx +175 -43
  109. package/dist/docs/reference/middleware.mdx +31 -0
  110. package/dist/docs/reference/router.mdx +22 -0
  111. package/dist/docs/reference/swagger.mdx +143 -0
  112. package/dist/docs/reference/validator.mdx +83 -23
  113. package/dist/error/errors.d.ts.map +1 -1
  114. package/dist/error/errors.js +95 -43
  115. package/dist/error/errors.js.map +1 -1
  116. package/dist/error/index.d.ts +1 -0
  117. package/dist/error/index.d.ts.map +1 -1
  118. package/dist/error/index.js +11 -1
  119. package/dist/error/index.js.map +1 -1
  120. package/dist/error/overlay.d.ts +42 -0
  121. package/dist/error/overlay.d.ts.map +1 -0
  122. package/dist/error/overlay.js +306 -0
  123. package/dist/error/overlay.js.map +1 -0
  124. package/dist/index.d.ts +1 -0
  125. package/dist/index.d.ts.map +1 -1
  126. package/dist/index.js +22 -1
  127. package/dist/index.js.map +1 -1
  128. package/dist/lib/start-server.js +33 -7
  129. package/dist/lib/start-server.js.map +1 -1
  130. package/dist/logger/index.d.ts +1 -1
  131. package/dist/logger/index.d.ts.map +1 -1
  132. package/dist/logger/index.js +9 -1
  133. package/dist/logger/index.js.map +1 -1
  134. package/dist/middleware/guard.d.ts +2 -2
  135. package/dist/middleware/guard.d.ts.map +1 -1
  136. package/dist/middleware/guard.js.map +1 -1
  137. package/dist/middleware/ip-filter.d.ts +1 -0
  138. package/dist/middleware/ip-filter.d.ts.map +1 -1
  139. package/dist/middleware/ip-filter.js +2 -0
  140. package/dist/middleware/ip-filter.js.map +1 -1
  141. package/dist/middleware/middleware.d.ts +2 -2
  142. package/dist/middleware/middleware.d.ts.map +1 -1
  143. package/dist/middleware/middleware.js +20 -2
  144. package/dist/middleware/middleware.js.map +1 -1
  145. package/dist/middleware/security.d.ts +43 -1
  146. package/dist/middleware/security.d.ts.map +1 -1
  147. package/dist/middleware/security.js +101 -0
  148. package/dist/middleware/security.js.map +1 -1
  149. package/dist/response/index.d.ts +229 -6
  150. package/dist/response/index.d.ts.map +1 -1
  151. package/dist/response/index.js +272 -2
  152. package/dist/response/index.js.map +1 -1
  153. package/dist/router/boundary.d.ts +41 -11
  154. package/dist/router/boundary.d.ts.map +1 -1
  155. package/dist/router/boundary.js +24 -2
  156. package/dist/router/boundary.js.map +1 -1
  157. package/dist/router/controller-registrar.d.ts.map +1 -1
  158. package/dist/router/controller-registrar.js +108 -4
  159. package/dist/router/controller-registrar.js.map +1 -1
  160. package/dist/router/index.d.ts +2 -2
  161. package/dist/router/index.d.ts.map +1 -1
  162. package/dist/router/index.js +2 -1
  163. package/dist/router/index.js.map +1 -1
  164. package/dist/router/route-builder.d.ts +262 -65
  165. package/dist/router/route-builder.d.ts.map +1 -1
  166. package/dist/router/route-builder.js +181 -23
  167. package/dist/router/route-builder.js.map +1 -1
  168. package/dist/router/route-scanner.d.ts +6 -0
  169. package/dist/router/route-scanner.d.ts.map +1 -1
  170. package/dist/router/route-scanner.js +71 -792
  171. package/dist/router/route-scanner.js.map +1 -1
  172. package/dist/router/router.d.ts.map +1 -1
  173. package/dist/router/router.js +62 -17
  174. package/dist/router/router.js.map +1 -1
  175. package/dist/router/scanner/boundary-loader.d.ts +18 -0
  176. package/dist/router/scanner/boundary-loader.d.ts.map +1 -0
  177. package/dist/router/scanner/boundary-loader.js +539 -0
  178. package/dist/router/scanner/boundary-loader.js.map +1 -0
  179. package/dist/router/scanner/cron-mounter.d.ts +15 -0
  180. package/dist/router/scanner/cron-mounter.d.ts.map +1 -0
  181. package/dist/router/scanner/cron-mounter.js +216 -0
  182. package/dist/router/scanner/cron-mounter.js.map +1 -0
  183. package/dist/router/scanner/error-mounter.d.ts +14 -0
  184. package/dist/router/scanner/error-mounter.d.ts.map +1 -0
  185. package/dist/router/scanner/error-mounter.js +200 -0
  186. package/dist/router/scanner/error-mounter.js.map +1 -0
  187. package/dist/router/scanner/fs-scanner.d.ts +25 -0
  188. package/dist/router/scanner/fs-scanner.d.ts.map +1 -0
  189. package/dist/router/scanner/fs-scanner.js +115 -0
  190. package/dist/router/scanner/fs-scanner.js.map +1 -0
  191. package/dist/router/scanner/functional-compiler.d.ts +9 -0
  192. package/dist/router/scanner/functional-compiler.d.ts.map +1 -0
  193. package/dist/router/scanner/functional-compiler.js +233 -0
  194. package/dist/router/scanner/functional-compiler.js.map +1 -0
  195. package/dist/router/scanner/index.d.ts +9 -0
  196. package/dist/router/scanner/index.d.ts.map +1 -0
  197. package/dist/router/scanner/index.js +19 -0
  198. package/dist/router/scanner/index.js.map +1 -0
  199. package/dist/router/types.d.ts +23 -0
  200. package/dist/router/types.d.ts.map +1 -1
  201. package/dist/server/app.d.ts +3 -0
  202. package/dist/server/app.d.ts.map +1 -1
  203. package/dist/server/app.js +13 -0
  204. package/dist/server/app.js.map +1 -1
  205. package/dist/server/bootstrapper.d.ts.map +1 -1
  206. package/dist/server/bootstrapper.js +91 -30
  207. package/dist/server/bootstrapper.js.map +1 -1
  208. package/dist/server/cluster.d.ts.map +1 -1
  209. package/dist/server/cluster.js +13 -2
  210. package/dist/server/cluster.js.map +1 -1
  211. package/dist/server/context.d.ts +8 -0
  212. package/dist/server/context.d.ts.map +1 -1
  213. package/dist/server/context.js +50 -6
  214. package/dist/server/context.js.map +1 -1
  215. package/dist/server/helpers/body-parser.d.ts +18 -0
  216. package/dist/server/helpers/body-parser.d.ts.map +1 -0
  217. package/dist/server/helpers/body-parser.js +246 -0
  218. package/dist/server/helpers/body-parser.js.map +1 -0
  219. package/dist/server/helpers/cookie.d.ts +4 -0
  220. package/dist/server/helpers/cookie.d.ts.map +1 -0
  221. package/dist/server/helpers/cookie.js +61 -0
  222. package/dist/server/helpers/cookie.js.map +1 -0
  223. package/dist/server/helpers/etag.d.ts +3 -0
  224. package/dist/server/helpers/etag.d.ts.map +1 -0
  225. package/dist/server/helpers/etag.js +25 -0
  226. package/dist/server/helpers/etag.js.map +1 -0
  227. package/dist/server/helpers/index.d.ts +6 -0
  228. package/dist/server/helpers/index.d.ts.map +1 -0
  229. package/dist/server/helpers/index.js +21 -0
  230. package/dist/server/helpers/index.js.map +1 -0
  231. package/dist/server/helpers/ip.d.ts +9 -0
  232. package/dist/server/helpers/ip.d.ts.map +1 -0
  233. package/dist/server/helpers/ip.js +62 -0
  234. package/dist/server/helpers/ip.js.map +1 -0
  235. package/dist/server/helpers/stream.d.ts +4 -0
  236. package/dist/server/helpers/stream.d.ts.map +1 -0
  237. package/dist/server/helpers/stream.js +193 -0
  238. package/dist/server/helpers/stream.js.map +1 -0
  239. package/dist/server/lifecycle.d.ts +22 -0
  240. package/dist/server/lifecycle.d.ts.map +1 -0
  241. package/dist/server/lifecycle.js +106 -0
  242. package/dist/server/lifecycle.js.map +1 -0
  243. package/dist/server/request-handler.d.ts +1 -0
  244. package/dist/server/request-handler.d.ts.map +1 -1
  245. package/dist/server/request-handler.js +27 -17
  246. package/dist/server/request-handler.js.map +1 -1
  247. package/dist/server/request.d.ts +1 -139
  248. package/dist/server/request.d.ts.map +1 -1
  249. package/dist/server/request.js +37 -433
  250. package/dist/server/request.js.map +1 -1
  251. package/dist/server/response.d.ts +112 -156
  252. package/dist/server/response.d.ts.map +1 -1
  253. package/dist/server/response.js +129 -279
  254. package/dist/server/response.js.map +1 -1
  255. package/dist/swagger/decorators.d.ts +81 -0
  256. package/dist/swagger/decorators.d.ts.map +1 -0
  257. package/dist/swagger/decorators.js +172 -0
  258. package/dist/swagger/decorators.js.map +1 -0
  259. package/dist/swagger/generator.d.ts +19 -0
  260. package/dist/swagger/generator.d.ts.map +1 -0
  261. package/dist/swagger/generator.js +344 -0
  262. package/dist/swagger/generator.js.map +1 -0
  263. package/dist/swagger/index.d.ts +31 -0
  264. package/dist/swagger/index.d.ts.map +1 -0
  265. package/dist/swagger/index.js +53 -0
  266. package/dist/swagger/index.js.map +1 -0
  267. package/dist/swagger/mounter.d.ts +7 -0
  268. package/dist/swagger/mounter.d.ts.map +1 -0
  269. package/dist/swagger/mounter.js +56 -0
  270. package/dist/swagger/mounter.js.map +1 -0
  271. package/dist/swagger/types.d.ts +190 -0
  272. package/dist/swagger/types.d.ts.map +1 -0
  273. package/dist/swagger/types.js +3 -0
  274. package/dist/swagger/types.js.map +1 -0
  275. package/dist/swagger/ui.d.ts +6 -0
  276. package/dist/swagger/ui.d.ts.map +1 -0
  277. package/dist/swagger/ui.js +118 -0
  278. package/dist/swagger/ui.js.map +1 -0
  279. package/dist/testing/index.d.ts.map +1 -1
  280. package/dist/testing/index.js +6 -1
  281. package/dist/testing/index.js.map +1 -1
  282. package/dist/testing/mocks.d.ts.map +1 -1
  283. package/dist/testing/mocks.js +15 -3
  284. package/dist/testing/mocks.js.map +1 -1
  285. package/dist/utils/logger.d.ts +8 -0
  286. package/dist/utils/logger.d.ts.map +1 -1
  287. package/dist/utils/logger.js +184 -1
  288. package/dist/utils/logger.js.map +1 -1
  289. package/dist/validator/builder.d.ts +223 -0
  290. package/dist/validator/builder.d.ts.map +1 -0
  291. package/dist/validator/builder.js +517 -0
  292. package/dist/validator/builder.js.map +1 -0
  293. package/dist/validator/engine.d.ts +19 -0
  294. package/dist/validator/engine.d.ts.map +1 -0
  295. package/dist/validator/engine.js +568 -0
  296. package/dist/validator/engine.js.map +1 -0
  297. package/dist/validator/error.d.ts +12 -0
  298. package/dist/validator/error.d.ts.map +1 -0
  299. package/dist/validator/error.js +63 -0
  300. package/dist/validator/error.js.map +1 -0
  301. package/dist/validator/pagination.d.ts +40 -0
  302. package/dist/validator/pagination.d.ts.map +1 -0
  303. package/dist/validator/pagination.js +60 -0
  304. package/dist/validator/pagination.js.map +1 -0
  305. package/dist/validator/tex-types.d.ts +2 -1
  306. package/dist/validator/tex-types.d.ts.map +1 -1
  307. package/dist/validator/tex-types.js +2 -1
  308. package/dist/validator/tex-types.js.map +1 -1
  309. package/dist/validator/tex.d.ts +6 -142
  310. package/dist/validator/tex.d.ts.map +1 -1
  311. package/dist/validator/tex.js +14 -733
  312. package/dist/validator/tex.js.map +1 -1
  313. package/dist/validator/types.d.ts +83 -0
  314. package/dist/validator/types.d.ts.map +1 -0
  315. package/dist/validator/types.js +3 -0
  316. package/dist/validator/types.js.map +1 -0
  317. package/package.json +8 -4
  318. package/dist/dev/error-overlay.d.ts +0 -3
  319. package/dist/dev/error-overlay.d.ts.map +0 -1
  320. package/dist/dev/error-overlay.js +0 -118
  321. package/dist/dev/error-overlay.js.map +0 -1
@@ -193,15 +193,53 @@ class ServerBootstrapper {
193
193
  return;
194
194
  finishCalled = true;
195
195
  try {
196
- for (const hook of this.shutdownHooks) {
197
- await hook();
196
+ // Close engine listener
197
+ if (this.engine) {
198
+ try {
199
+ await this.engine.close();
200
+ }
201
+ catch {
202
+ // ignore engine close error
203
+ }
204
+ }
205
+ const runHookSafely = async (hook, hookName, hookTimeoutMs) => {
206
+ let timer;
207
+ const timeoutPromise = new Promise((_, rejectTimeout) => {
208
+ timer = setTimeout(() => {
209
+ rejectTimeout(new Error(`[exis] ${hookName} exceeded timeout of ${hookTimeoutMs}ms`));
210
+ }, hookTimeoutMs);
211
+ timer.unref?.();
212
+ });
213
+ try {
214
+ await Promise.race([Promise.resolve(hook()), timeoutPromise]);
215
+ }
216
+ catch (err) {
217
+ this.app.log.error({ err: err?.message || err }, `Error executing ${hookName}`);
218
+ }
219
+ finally {
220
+ if (timer)
221
+ clearTimeout(timer);
222
+ }
223
+ };
224
+ const perHookTimeout = Math.max(1000, Math.floor(timeout / 2));
225
+ // Execute shutdown hooks
226
+ for (let i = 0; i < this.shutdownHooks.length; i++) {
227
+ await runHookSafely(() => this.shutdownHooks[i](), `shutdownHook[${i}]`, perHookTimeout);
198
228
  }
199
229
  // Also execute onClose hooks
200
- for (const hook of this.app.hooks.close) {
201
- await hook();
230
+ for (let i = 0; i < this.app.hooks.close.length; i++) {
231
+ await runHookSafely(() => this.app.hooks.close[i](), `onClose hook[${i}]`, perHookTimeout);
202
232
  }
203
233
  if (this.app.onCloseHook) {
204
- await this.app.onCloseHook(this.app);
234
+ await runHookSafely(() => this.app.onCloseHook(this.app), 'app.onClose', perHookTimeout);
235
+ }
236
+ // Automatically unregister process-level listeners registered during App lifetime
237
+ try {
238
+ const { ProcessLifecycle } = await Promise.resolve().then(() => __importStar(require('./lifecycle')));
239
+ ProcessLifecycle.cleanup();
240
+ }
241
+ catch {
242
+ // ignore
205
243
  }
206
244
  if (!isCLI)
207
245
  this.app.log.info('Graceful shutdown completed');
@@ -216,39 +254,62 @@ class ServerBootstrapper {
216
254
  finish();
217
255
  return;
218
256
  }
219
- setTimeout(async () => {
220
- await this.engine.close();
221
- process.exit(0);
222
- }, timeout).unref();
257
+ // Stop accepting new incoming requests immediately
258
+ try {
259
+ if ('server' in this.engine && this.engine.server) {
260
+ ;
261
+ this.engine.server.close?.();
262
+ }
263
+ }
264
+ catch {
265
+ // ignore
266
+ }
223
267
  // Close idle keep-alive connections immediately
224
268
  if ('closeIdleConnections' in this.engine) {
225
- ;
226
- this.engine.closeIdleConnections?.();
269
+ try {
270
+ ;
271
+ this.engine.closeIdleConnections?.();
272
+ }
273
+ catch {
274
+ // ignore
275
+ }
227
276
  }
228
- let checkIdle;
277
+ let timer = null;
278
+ let done = false;
279
+ const finishOnce = async () => {
280
+ if (done)
281
+ return;
282
+ done = true;
283
+ if (timer)
284
+ clearTimeout(timer);
285
+ clearInterval(checkIdle);
286
+ await finish();
287
+ };
288
+ const checkIdle = setInterval(() => {
289
+ if (request_handler_1.RequestHandler.activeRequests === 0) {
290
+ finishOnce();
291
+ }
292
+ }, 50);
293
+ checkIdle.unref();
229
294
  // Set timeout to force close active connections
230
- const timer = setTimeout(() => {
295
+ timer = setTimeout(() => {
231
296
  this.app.log.warn(`Shutdown timeout of ${timeout}ms exceeded, forcefully terminating active connections`);
232
297
  if ('closeAllConnections' in this.engine) {
233
- ;
234
- this.engine.closeAllConnections?.();
298
+ try {
299
+ ;
300
+ this.engine.closeAllConnections?.();
301
+ }
302
+ catch {
303
+ // ignore
304
+ }
235
305
  }
236
- if (checkIdle)
237
- clearInterval(checkIdle);
238
- finish(); // Ensure finish is called on timeout
306
+ finishOnce();
239
307
  }, timeout);
240
- const cleanupAndFinish = async () => {
241
- checkIdle = setInterval(async () => {
242
- const active = request_handler_1.RequestHandler.activeRequests;
243
- if (active === 0) {
244
- clearInterval(checkIdle);
245
- clearTimeout(timer);
246
- await finish();
247
- }
248
- }, 100);
249
- };
250
- this.engine.close();
251
- cleanupAndFinish();
308
+ timer.unref();
309
+ // Initial check in case activeRequests is already 0
310
+ if (request_handler_1.RequestHandler.activeRequests === 0) {
311
+ finishOnce();
312
+ }
252
313
  });
253
314
  }
254
315
  }
@@ -1 +1 @@
1
- {"version":3,"file":"bootstrapper.js","sourceRoot":"","sources":["../../src/server/bootstrapper.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"bootstrapper.js","sourceRoot":"","sources":["../../src/server/bootstrapper.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"cluster.d.ts","sourceRoot":"","sources":["../../src/server/cluster.ts"],"names":[],"mappings":"AAMA,MAAM,WAAW,aAAa;IAC5B;;;;;;;;OAQG;IACH,OAAO,CAAC,EAAE,MAAM,GAAG,OAAO,GAAG,MAAM,GAAG,KAAK,CAAA;IAE3C;;;OAGG;IACH,OAAO,CAAC,EAAE,OAAO,CAAA;IAEjB;;;;OAIG;IACH,WAAW,CAAC,EAAE,MAAM,CAAA;IAEpB;;;OAGG;IACH,aAAa,CAAC,EAAE,MAAM,CAAA;CACvB;AAmCD;;;;;;;;;GASG;AACH,wBAAgB,YAAY,CAC1B,QAAQ,EAAE,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,EACpC,MAAM,CAAC,EAAE,aAAa,QAgBvB;AAmID;;GAEG;AACH,eAAO,MAAM,WAAW;IACtB,2EAA2E;wBAC1D,OAAO;IAIxB,uDAAuD;uBACvC,OAAO;IAIvB,sDAAsD;uBACtC,MAAM,GAAG,SAAS;IAIlC,mEAAmE;0BAChD,MAAM;CAG1B,CAAA"}
1
+ {"version":3,"file":"cluster.d.ts","sourceRoot":"","sources":["../../src/server/cluster.ts"],"names":[],"mappings":"AAMA,MAAM,WAAW,aAAa;IAC5B;;;;;;;;OAQG;IACH,OAAO,CAAC,EAAE,MAAM,GAAG,OAAO,GAAG,MAAM,GAAG,KAAK,CAAA;IAE3C;;;OAGG;IACH,OAAO,CAAC,EAAE,OAAO,CAAA;IAEjB;;;;OAIG;IACH,WAAW,CAAC,EAAE,MAAM,CAAA;IAEpB;;;OAGG;IACH,aAAa,CAAC,EAAE,MAAM,CAAA;CACvB;AAmCD;;;;;;;;;GASG;AACH,wBAAgB,YAAY,CAC1B,QAAQ,EAAE,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,EACpC,MAAM,CAAC,EAAE,aAAa,QAgBvB;AA4ID;;GAEG;AACH,eAAO,MAAM,WAAW;IACtB,2EAA2E;wBAC1D,OAAO;IAIxB,uDAAuD;uBACvC,OAAO;IAIvB,sDAAsD;uBACtC,MAAM,GAAG,SAAS;IAIlC,mEAAmE;0BAChD,MAAM;CAG1B,CAAA"}
@@ -131,9 +131,20 @@ function primaryProcess(workerCount, config) {
131
131
  return;
132
132
  isShuttingDown = true;
133
133
  console.log(`\n ${c.primary}[exis-cluster]${c.reset} Received ${c.yellow}${signal}${c.reset}, shutting down workers...`);
134
- // Send SIGTERM to all workers and let them close gracefully
134
+ // Send IPC shutdown message and SIGTERM to all workers and let them close gracefully
135
135
  for (const id in node_cluster_1.default.workers) {
136
- node_cluster_1.default.workers[id]?.process.kill('SIGTERM');
136
+ try {
137
+ node_cluster_1.default.workers[id]?.send({ type: 'exis:shutdown' });
138
+ }
139
+ catch {
140
+ // ignore
141
+ }
142
+ try {
143
+ node_cluster_1.default.workers[id]?.process.kill('SIGTERM');
144
+ }
145
+ catch {
146
+ // ignore
147
+ }
137
148
  }
138
149
  // Give workers a grace period to shut down, then force kill
139
150
  const forceTimeout = setTimeout(() => {
@@ -1 +1 @@
1
- {"version":3,"file":"cluster.js","sourceRoot":"","sources":["../../src/server/cluster.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cluster.js","sourceRoot":"","sources":["../../src/server/cluster.ts"],"names":[],"mappings":"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"}
@@ -9,8 +9,16 @@ export interface InternalContext {
9
9
  res: Response;
10
10
  app: App;
11
11
  diCache: Map<any, any>;
12
+ cleanedUp?: boolean;
12
13
  }
13
14
  export declare const executionContext: AsyncLocalStorage<InternalContext>;
15
+ /**
16
+ * Safely executes remaining after() callbacks, clears request-scoped DI cache,
17
+ * purges state objects, and breaks circular references to ensure zero memory leaks.
18
+ */
19
+ export declare function cleanupContext(store: InternalContext, logger?: {
20
+ error: (data: any, msg: string) => void;
21
+ }): void;
14
22
  /**
15
23
  * Retrieves the current request context state.
16
24
  * Must be called during an active request lifecycle.
@@ -1 +1 @@
1
- {"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../src/server/context.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAA;AACpD,OAAO,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAA;AACjD,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,OAAO,CAAA;AAEhC,MAAM,MAAM,WAAW,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;AAE7C,MAAM,WAAW,eAAe;IAC9B,KAAK,EAAE,WAAW,CAAA;IAClB,cAAc,EAAE,CAAC,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,EAAE,CAAA;IAC9C,GAAG,EAAE,OAAO,CAAA;IACZ,GAAG,EAAE,QAAQ,CAAA;IACb,GAAG,EAAE,GAAG,CAAA;IACR,OAAO,EAAE,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,CAAA;CACvB;AAED,eAAO,MAAM,gBAAgB,oCAA2C,CAAA;AAExE;;;GAGG;AACH,wBAAgB,UAAU,CAAC,CAAC,GAAG,WAAW,KAAK,CAAC,CAQ/C;AAED;;;GAGG;AACH,wBAAgB,UAAU,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,GAAG,IAAI,CAQxD;AAED;;GAEG;AACH,wBAAgB,UAAU,IAAI,OAAO,CAQpC;AAED;;GAEG;AACH,wBAAgB,WAAW,IAAI,QAAQ,CAQtC;AAED;;GAEG;AACH,wBAAgB,KAAK,CAAC,QAAQ,EAAE,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAQhE;AAED;;GAEG;AACH,wBAAgB,MAAM,IAAI,GAAG,CAQ5B"}
1
+ {"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../src/server/context.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAA;AACpD,OAAO,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAA;AACjD,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,OAAO,CAAA;AAEhC,MAAM,MAAM,WAAW,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;AAE7C,MAAM,WAAW,eAAe;IAC9B,KAAK,EAAE,WAAW,CAAA;IAClB,cAAc,EAAE,CAAC,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,EAAE,CAAA;IAC9C,GAAG,EAAE,OAAO,CAAA;IACZ,GAAG,EAAE,QAAQ,CAAA;IACb,GAAG,EAAE,GAAG,CAAA;IACR,OAAO,EAAE,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,CAAA;IACtB,SAAS,CAAC,EAAE,OAAO,CAAA;CACpB;AAED,eAAO,MAAM,gBAAgB,oCAA2C,CAAA;AAExE;;;GAGG;AACH,wBAAgB,cAAc,CAC5B,KAAK,EAAE,eAAe,EACtB,MAAM,CAAC,EAAE;IAAE,KAAK,EAAE,CAAC,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,MAAM,KAAK,IAAI,CAAA;CAAE,GACnD,IAAI,CAuCN;AAED;;;GAGG;AACH,wBAAgB,UAAU,CAAC,CAAC,GAAG,WAAW,KAAK,CAAC,CAQ/C;AAED;;;GAGG;AACH,wBAAgB,UAAU,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,GAAG,IAAI,CAQxD;AAED;;GAEG;AACH,wBAAgB,UAAU,IAAI,OAAO,CAQpC;AAED;;GAEG;AACH,wBAAgB,WAAW,IAAI,QAAQ,CAQtC;AAED;;GAEG;AACH,wBAAgB,KAAK,CAAC,QAAQ,EAAE,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAQhE;AAED;;GAEG;AACH,wBAAgB,MAAM,IAAI,GAAG,CAQ5B"}
@@ -1,6 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.executionContext = void 0;
4
+ exports.cleanupContext = cleanupContext;
4
5
  exports.getContext = getContext;
5
6
  exports.setContext = setContext;
6
7
  exports.getRequest = getRequest;
@@ -9,13 +10,56 @@ exports.after = after;
9
10
  exports.getApp = getApp;
10
11
  const node_async_hooks_1 = require("node:async_hooks");
11
12
  exports.executionContext = new node_async_hooks_1.AsyncLocalStorage();
13
+ /**
14
+ * Safely executes remaining after() callbacks, clears request-scoped DI cache,
15
+ * purges state objects, and breaks circular references to ensure zero memory leaks.
16
+ */
17
+ function cleanupContext(store, logger) {
18
+ if (!store || store.cleanedUp)
19
+ return;
20
+ store.cleanedUp = true;
21
+ // 1. Drain and execute after() callbacks safely
22
+ if (store.afterCallbacks && store.afterCallbacks.length > 0) {
23
+ while (store.afterCallbacks.length > 0) {
24
+ const cb = store.afterCallbacks.shift();
25
+ if (cb) {
26
+ try {
27
+ const r = cb();
28
+ if (r instanceof Promise) {
29
+ r.catch((e) => {
30
+ logger?.error({ err: e }, 'Error in after() callback');
31
+ });
32
+ }
33
+ }
34
+ catch (e) {
35
+ logger?.error({ err: e }, 'Error in after() callback');
36
+ }
37
+ }
38
+ }
39
+ }
40
+ // 2. Clear request-scoped DI cache
41
+ if (store.diCache) {
42
+ store.diCache.clear();
43
+ }
44
+ // 3. Purge request state
45
+ if (store.state) {
46
+ for (const key of Object.keys(store.state)) {
47
+ delete store.state[key];
48
+ }
49
+ }
50
+ // 4. Break circular references to allow V8 GC collection
51
+ ;
52
+ store.req = null;
53
+ store.res = null;
54
+ store.app = null;
55
+ }
12
56
  /**
13
57
  * Retrieves the current request context state.
14
58
  * Must be called during an active request lifecycle.
15
59
  */
16
60
  function getContext() {
17
61
  const store = exports.executionContext.getStore();
18
- if (!store) {
62
+ if (!store || store.cleanedUp) {
19
63
  throw new Error('getContext() must be called during an active request lifecycle. Ensure asyncContext: true is set in createApp() options.');
20
64
  }
21
65
  return store.state;
@@ -26,7 +70,7 @@ function getContext() {
26
70
  */
27
71
  function setContext(key, value) {
28
72
  const store = exports.executionContext.getStore();
29
- if (!store) {
73
+ if (!store || store.cleanedUp) {
30
74
  throw new Error('setContext() can only be called inside an active Exis request handler.');
31
75
  }
32
76
  store.state[key] = value;
@@ -36,7 +80,7 @@ function setContext(key, value) {
36
80
  */
37
81
  function getRequest() {
38
82
  const store = exports.executionContext.getStore();
39
- if (!store) {
83
+ if (!store || store.cleanedUp || !store.req) {
40
84
  throw new Error('getRequest() can only be called inside an active Exis request handler.');
41
85
  }
42
86
  return store.req;
@@ -46,7 +90,7 @@ function getRequest() {
46
90
  */
47
91
  function getResponse() {
48
92
  const store = exports.executionContext.getStore();
49
- if (!store) {
93
+ if (!store || store.cleanedUp || !store.res) {
50
94
  throw new Error('getResponse() can only be called inside an active Exis request handler.');
51
95
  }
52
96
  return store.res;
@@ -56,7 +100,7 @@ function getResponse() {
56
100
  */
57
101
  function after(callback) {
58
102
  const store = exports.executionContext.getStore();
59
- if (!store) {
103
+ if (!store || store.cleanedUp) {
60
104
  throw new Error('after() must be called during an active request lifecycle. Ensure asyncContext: true is set in createApp() options.');
61
105
  }
62
106
  store.afterCallbacks.push(callback);
@@ -66,7 +110,7 @@ function after(callback) {
66
110
  */
67
111
  function getApp() {
68
112
  const store = exports.executionContext.getStore();
69
- if (!store) {
113
+ if (!store || store.cleanedUp || !store.app) {
70
114
  throw new Error('getApp() can only be called inside an active Exis request handler.');
71
115
  }
72
116
  return store.app;
@@ -1 +1 @@
1
- {"version":3,"file":"context.js","sourceRoot":"","sources":["../../src/server/context.ts"],"names":[],"mappings":";;;AAqBA,gCAQC;AAMD,gCAQC;AAKD,gCAQC;AAKD,kCAQC;AAKD,sBAQC;AAKD,wBAQC;AA/FD,uDAAoD;AAevC,QAAA,gBAAgB,GAAG,IAAI,oCAAiB,EAAmB,CAAA;AAExE;;;GAGG;AACH,SAAgB,UAAU;IACxB,MAAM,KAAK,GAAG,wBAAgB,CAAC,QAAQ,EAAE,CAAA;IACzC,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,MAAM,IAAI,KAAK,CACb,0HAA0H,CAC3H,CAAA;IACH,CAAC;IACD,OAAO,KAAK,CAAC,KAAqB,CAAA;AACpC,CAAC;AAED;;;GAGG;AACH,SAAgB,UAAU,CAAC,GAAW,EAAE,KAAU;IAChD,MAAM,KAAK,GAAG,wBAAgB,CAAC,QAAQ,EAAE,CAAA;IACzC,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,MAAM,IAAI,KAAK,CACb,wEAAwE,CACzE,CAAA;IACH,CAAC;IACD,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,KAAK,CAAA;AAC1B,CAAC;AAED;;GAEG;AACH,SAAgB,UAAU;IACxB,MAAM,KAAK,GAAG,wBAAgB,CAAC,QAAQ,EAAE,CAAA;IACzC,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,MAAM,IAAI,KAAK,CACb,wEAAwE,CACzE,CAAA;IACH,CAAC;IACD,OAAO,KAAK,CAAC,GAAG,CAAA;AAClB,CAAC;AAED;;GAEG;AACH,SAAgB,WAAW;IACzB,MAAM,KAAK,GAAG,wBAAgB,CAAC,QAAQ,EAAE,CAAA;IACzC,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,MAAM,IAAI,KAAK,CACb,yEAAyE,CAC1E,CAAA;IACH,CAAC;IACD,OAAO,KAAK,CAAC,GAAG,CAAA;AAClB,CAAC;AAED;;GAEG;AACH,SAAgB,KAAK,CAAC,QAAoC;IACxD,MAAM,KAAK,GAAG,wBAAgB,CAAC,QAAQ,EAAE,CAAA;IACzC,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,MAAM,IAAI,KAAK,CACb,qHAAqH,CACtH,CAAA;IACH,CAAC;IACD,KAAK,CAAC,cAAc,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;AACrC,CAAC;AAED;;GAEG;AACH,SAAgB,MAAM;IACpB,MAAM,KAAK,GAAG,wBAAgB,CAAC,QAAQ,EAAE,CAAA;IACzC,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,MAAM,IAAI,KAAK,CACb,oEAAoE,CACrE,CAAA;IACH,CAAC;IACD,OAAO,KAAK,CAAC,GAAG,CAAA;AAClB,CAAC"}
1
+ {"version":3,"file":"context.js","sourceRoot":"","sources":["../../src/server/context.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,18 @@
1
+ import type { IncomingMessage } from 'node:http';
2
+ import type { ExisFile } from '../../types';
3
+ export declare function parseRawBody(raw: IncomingMessage, bodyLimit: number, contentType: string, method: string): Promise<string>;
4
+ export declare function parseMultipartFormData(raw: IncomingMessage, bodyLimit: number, filesContainer: ExisFile[]): Promise<{
5
+ fields: Record<string, string>;
6
+ files: Record<string, any>;
7
+ }>;
8
+ export declare function streamMultipartUpload(raw: IncomingMessage, destDir: string): Promise<{
9
+ fields: Record<string, string>;
10
+ files: {
11
+ fieldname: string;
12
+ filename: string;
13
+ mimetype: string;
14
+ destPath: string;
15
+ size: number;
16
+ }[];
17
+ }>;
18
+ //# sourceMappingURL=body-parser.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"body-parser.d.ts","sourceRoot":"","sources":["../../../src/server/helpers/body-parser.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,WAAW,CAAA;AAGhD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAA;AAK3C,wBAAsB,YAAY,CAChC,GAAG,EAAE,eAAe,EACpB,SAAS,EAAE,MAAM,EACjB,WAAW,EAAE,MAAM,EACnB,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,MAAM,CAAC,CAoFjB;AAED,wBAAgB,sBAAsB,CACpC,GAAG,EAAE,eAAe,EACpB,SAAS,EAAE,MAAM,EACjB,cAAc,EAAE,QAAQ,EAAE,GACzB,OAAO,CAAC;IAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;CAAE,CAAC,CAwGzE;AAED,wBAAsB,qBAAqB,CACzC,GAAG,EAAE,eAAe,EACpB,OAAO,EAAE,MAAM,GACd,OAAO,CAAC;IACT,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAC9B,KAAK,EAAE;QACL,SAAS,EAAE,MAAM,CAAA;QACjB,QAAQ,EAAE,MAAM,CAAA;QAChB,QAAQ,EAAE,MAAM,CAAA;QAChB,QAAQ,EAAE,MAAM,CAAA;QAChB,IAAI,EAAE,MAAM,CAAA;KACb,EAAE,CAAA;CACJ,CAAC,CA8ED"}