xypriss 1.3.8 → 2.1.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 (221) hide show
  1. package/README.md +232 -254
  2. package/dist/cjs/mods/security/src/algorithms/hash-algorithms.js +10 -0
  3. package/dist/cjs/mods/security/src/algorithms/hash-algorithms.js.map +1 -1
  4. package/dist/cjs/mods/security/src/components/cache/cacheSys.utils.js +10 -0
  5. package/dist/cjs/mods/security/src/components/cache/cacheSys.utils.js.map +1 -1
  6. package/dist/cjs/mods/security/src/components/cache/index.js +10 -74
  7. package/dist/cjs/mods/security/src/components/cache/index.js.map +1 -1
  8. package/dist/cjs/mods/security/src/components/fortified-function/index.js +9 -0
  9. package/dist/cjs/mods/security/src/components/fortified-function/index.js.map +1 -1
  10. package/dist/cjs/mods/security/src/components/fortified-function/security/security-handler.js +10 -0
  11. package/dist/cjs/mods/security/src/components/fortified-function/security/security-handler.js.map +1 -1
  12. package/dist/cjs/mods/security/src/core/crypto.js +14 -0
  13. package/dist/cjs/mods/security/src/core/crypto.js.map +1 -1
  14. package/dist/cjs/mods/security/src/index.js +10 -4
  15. package/dist/cjs/mods/security/src/index.js.map +1 -1
  16. package/dist/cjs/shared/logger/Logger.js +374 -29
  17. package/dist/cjs/shared/logger/Logger.js.map +1 -1
  18. package/dist/cjs/src/cluster/bun-cluster-manager.js +91 -1
  19. package/dist/cjs/src/cluster/bun-cluster-manager.js.map +1 -1
  20. package/dist/cjs/src/cluster/cluster-manager.js +15 -3
  21. package/dist/cjs/src/cluster/cluster-manager.js.map +1 -1
  22. package/dist/cjs/src/cluster/modules/AutoScaler.js +4 -4
  23. package/dist/cjs/src/cluster/modules/AutoScaler.js.map +1 -1
  24. package/dist/cjs/src/cluster/modules/CrossPlatformMemory.js +2 -2
  25. package/dist/cjs/src/cluster/modules/CrossPlatformMemory.js.map +1 -1
  26. package/dist/cjs/src/cluster/modules/EventLoopMonitor.js +270 -0
  27. package/dist/cjs/src/cluster/modules/EventLoopMonitor.js.map +1 -0
  28. package/dist/cjs/src/cluster/modules/GCStatsTracker.js +200 -0
  29. package/dist/cjs/src/cluster/modules/GCStatsTracker.js.map +1 -0
  30. package/dist/cjs/src/cluster/modules/HeapStatsCollector.js +111 -0
  31. package/dist/cjs/src/cluster/modules/HeapStatsCollector.js.map +1 -0
  32. package/dist/cjs/src/cluster/modules/NetworkTracker.js +162 -0
  33. package/dist/cjs/src/cluster/modules/NetworkTracker.js.map +1 -0
  34. package/dist/cjs/src/cluster/modules/ThroughputCalculator.js +186 -0
  35. package/dist/cjs/src/cluster/modules/ThroughputCalculator.js.map +1 -0
  36. package/dist/cjs/src/cluster/modules/WorkerManager.js +14 -15
  37. package/dist/cjs/src/cluster/modules/WorkerManager.js.map +1 -1
  38. package/dist/cjs/src/cluster/modules/{LoadBalancer.js → strategy/LoadBalancer.js} +1 -1
  39. package/dist/cjs/src/cluster/modules/strategy/LoadBalancer.js.map +1 -0
  40. package/dist/cjs/src/index.js +55 -61
  41. package/dist/cjs/src/index.js.map +1 -1
  42. package/dist/cjs/src/middleware/XyPrissMiddlewareAPI.js +281 -0
  43. package/dist/cjs/src/middleware/XyPrissMiddlewareAPI.js.map +1 -0
  44. package/dist/cjs/src/middleware/built-in/index.js +325 -0
  45. package/dist/cjs/src/middleware/built-in/index.js.map +1 -0
  46. package/dist/cjs/src/middleware/built-in/sqlInjection.js +335 -0
  47. package/dist/cjs/src/middleware/built-in/sqlInjection.js.map +1 -0
  48. package/dist/cjs/src/middleware/safe-json-middleware.js +1 -1
  49. package/dist/cjs/src/middleware/safe-json-middleware.js.map +1 -1
  50. package/dist/cjs/src/middleware/security-middleware.js +447 -332
  51. package/dist/cjs/src/middleware/security-middleware.js.map +1 -1
  52. package/dist/cjs/src/plugins/modules/builtin/ResponseTimePlugin.js +1 -1
  53. package/dist/cjs/src/plugins/modules/builtin/ResponseTimePlugin.js.map +1 -1
  54. package/dist/cjs/src/plugins/modules/index.js +9 -3
  55. package/dist/cjs/src/plugins/modules/index.js.map +1 -1
  56. package/dist/cjs/src/quick-start.js +0 -4
  57. package/dist/cjs/src/quick-start.js.map +1 -1
  58. package/dist/cjs/src/server/FastServer.js +94 -412
  59. package/dist/cjs/src/server/FastServer.js.map +1 -1
  60. package/dist/cjs/src/server/ServerFactory.js +69 -64
  61. package/dist/cjs/src/server/ServerFactory.js.map +1 -1
  62. package/dist/cjs/src/server/components/fastapi/ClusterManagerComponent.js +31 -5
  63. package/dist/cjs/src/server/components/fastapi/ClusterManagerComponent.js.map +1 -1
  64. package/dist/cjs/src/server/components/fastapi/PerformanceManager.js +1 -1
  65. package/dist/cjs/src/server/components/fastapi/PerformanceManager.js.map +1 -1
  66. package/dist/cjs/src/server/components/fastapi/RouteManager.js +0 -82
  67. package/dist/cjs/src/server/components/fastapi/RouteManager.js.map +1 -1
  68. package/dist/cjs/src/server/components/fastapi/WorkerPoolComponent.js +206 -0
  69. package/dist/cjs/src/server/components/fastapi/WorkerPoolComponent.js.map +1 -0
  70. package/dist/cjs/src/server/components/fastapi/console/ConsoleInterceptor.js +3 -28
  71. package/dist/cjs/src/server/components/fastapi/console/ConsoleInterceptor.js.map +1 -1
  72. package/dist/cjs/src/server/components/fastapi/modules/UFRP/WorkerPoolManager.js +265 -0
  73. package/dist/cjs/src/server/components/fastapi/modules/UFRP/WorkerPoolManager.js.map +1 -0
  74. package/dist/cjs/src/server/components/fastapi/modules/UFRP/workers/Logger.js +236 -0
  75. package/dist/cjs/src/server/components/fastapi/modules/UFRP/workers/cpu-tasks.js +294 -0
  76. package/dist/cjs/src/server/components/fastapi/modules/UFRP/workers/enhanced-cpu-worker.js +433 -0
  77. package/dist/cjs/src/server/components/fastapi/modules/UFRP/workers/io-worker.js +1615 -0
  78. package/dist/cjs/src/server/components/lifecycle/ServerLifecycleManager.js +503 -0
  79. package/dist/cjs/src/server/components/lifecycle/ServerLifecycleManager.js.map +1 -0
  80. package/dist/cjs/src/server/const/default.js +23 -17
  81. package/dist/cjs/src/server/const/default.js.map +1 -1
  82. package/dist/cjs/src/server/core/HttpServer.js +500 -0
  83. package/dist/cjs/src/server/core/HttpServer.js.map +1 -0
  84. package/dist/cjs/src/server/core/XyprissApp.js +679 -0
  85. package/dist/cjs/src/server/core/XyprissApp.js.map +1 -0
  86. package/dist/cjs/src/server/handlers/NotFoundHandler.js +1 -1
  87. package/dist/cjs/src/server/handlers/NotFoundHandler.js.map +1 -1
  88. package/dist/cjs/src/server/middleware/MiddlewareManager.js +191 -0
  89. package/dist/cjs/src/server/middleware/MiddlewareManager.js.map +1 -0
  90. package/dist/cjs/src/server/routing/Router.js +341 -0
  91. package/dist/cjs/src/server/routing/Router.js.map +1 -0
  92. package/dist/cjs/src/server/utils/PortManager.js +1 -0
  93. package/dist/cjs/src/server/utils/PortManager.js.map +1 -1
  94. package/dist/cjs/src/server/utils/forceClosePort.js +294 -88
  95. package/dist/cjs/src/server/utils/forceClosePort.js.map +1 -1
  96. package/dist/esm/mods/security/src/algorithms/hash-algorithms.js +10 -0
  97. package/dist/esm/mods/security/src/algorithms/hash-algorithms.js.map +1 -1
  98. package/dist/esm/mods/security/src/components/cache/cacheSys.utils.js +10 -0
  99. package/dist/esm/mods/security/src/components/cache/cacheSys.utils.js.map +1 -1
  100. package/dist/esm/mods/security/src/components/cache/index.js +11 -72
  101. package/dist/esm/mods/security/src/components/cache/index.js.map +1 -1
  102. package/dist/esm/mods/security/src/components/fortified-function/index.js +9 -0
  103. package/dist/esm/mods/security/src/components/fortified-function/index.js.map +1 -1
  104. package/dist/esm/mods/security/src/components/fortified-function/security/security-handler.js +10 -0
  105. package/dist/esm/mods/security/src/components/fortified-function/security/security-handler.js.map +1 -1
  106. package/dist/esm/mods/security/src/core/crypto.js +14 -0
  107. package/dist/esm/mods/security/src/core/crypto.js.map +1 -1
  108. package/dist/esm/mods/security/src/index.js +11 -2
  109. package/dist/esm/mods/security/src/index.js.map +1 -1
  110. package/dist/esm/shared/logger/Logger.js +374 -29
  111. package/dist/esm/shared/logger/Logger.js.map +1 -1
  112. package/dist/esm/src/cluster/bun-cluster-manager.js +91 -1
  113. package/dist/esm/src/cluster/bun-cluster-manager.js.map +1 -1
  114. package/dist/esm/src/cluster/cluster-manager.js +15 -3
  115. package/dist/esm/src/cluster/cluster-manager.js.map +1 -1
  116. package/dist/esm/src/cluster/modules/AutoScaler.js +4 -4
  117. package/dist/esm/src/cluster/modules/AutoScaler.js.map +1 -1
  118. package/dist/esm/src/cluster/modules/CrossPlatformMemory.js +2 -2
  119. package/dist/esm/src/cluster/modules/CrossPlatformMemory.js.map +1 -1
  120. package/dist/esm/src/cluster/modules/EventLoopMonitor.js +268 -0
  121. package/dist/esm/src/cluster/modules/EventLoopMonitor.js.map +1 -0
  122. package/dist/esm/src/cluster/modules/GCStatsTracker.js +198 -0
  123. package/dist/esm/src/cluster/modules/GCStatsTracker.js.map +1 -0
  124. package/dist/esm/src/cluster/modules/HeapStatsCollector.js +109 -0
  125. package/dist/esm/src/cluster/modules/HeapStatsCollector.js.map +1 -0
  126. package/dist/esm/src/cluster/modules/NetworkTracker.js +160 -0
  127. package/dist/esm/src/cluster/modules/NetworkTracker.js.map +1 -0
  128. package/dist/esm/src/cluster/modules/ThroughputCalculator.js +184 -0
  129. package/dist/esm/src/cluster/modules/ThroughputCalculator.js.map +1 -0
  130. package/dist/esm/src/cluster/modules/WorkerManager.js +14 -14
  131. package/dist/esm/src/cluster/modules/WorkerManager.js.map +1 -1
  132. package/dist/esm/src/cluster/modules/{LoadBalancer.js → strategy/LoadBalancer.js} +1 -1
  133. package/dist/esm/src/cluster/modules/strategy/LoadBalancer.js.map +1 -0
  134. package/dist/esm/src/index.js +41 -11
  135. package/dist/esm/src/index.js.map +1 -1
  136. package/dist/esm/src/middleware/XyPrissMiddlewareAPI.js +279 -0
  137. package/dist/esm/src/middleware/XyPrissMiddlewareAPI.js.map +1 -0
  138. package/dist/esm/src/middleware/built-in/index.js +323 -0
  139. package/dist/esm/src/middleware/built-in/index.js.map +1 -0
  140. package/dist/esm/src/middleware/built-in/sqlInjection.js +333 -0
  141. package/dist/esm/src/middleware/built-in/sqlInjection.js.map +1 -0
  142. package/dist/esm/src/middleware/safe-json-middleware.js +1 -1
  143. package/dist/esm/src/middleware/safe-json-middleware.js.map +1 -1
  144. package/dist/esm/src/middleware/security-middleware.js +447 -332
  145. package/dist/esm/src/middleware/security-middleware.js.map +1 -1
  146. package/dist/esm/src/plugins/modules/builtin/ResponseTimePlugin.js +1 -1
  147. package/dist/esm/src/plugins/modules/builtin/ResponseTimePlugin.js.map +1 -1
  148. package/dist/esm/src/plugins/modules/index.js +9 -3
  149. package/dist/esm/src/plugins/modules/index.js.map +1 -1
  150. package/dist/esm/src/quick-start.js +0 -4
  151. package/dist/esm/src/quick-start.js.map +1 -1
  152. package/dist/esm/src/server/FastServer.js +94 -412
  153. package/dist/esm/src/server/FastServer.js.map +1 -1
  154. package/dist/esm/src/server/ServerFactory.js +70 -61
  155. package/dist/esm/src/server/ServerFactory.js.map +1 -1
  156. package/dist/esm/src/server/components/fastapi/ClusterManagerComponent.js +31 -5
  157. package/dist/esm/src/server/components/fastapi/ClusterManagerComponent.js.map +1 -1
  158. package/dist/esm/src/server/components/fastapi/PerformanceManager.js +1 -1
  159. package/dist/esm/src/server/components/fastapi/PerformanceManager.js.map +1 -1
  160. package/dist/esm/src/server/components/fastapi/RouteManager.js +0 -82
  161. package/dist/esm/src/server/components/fastapi/RouteManager.js.map +1 -1
  162. package/dist/esm/src/server/components/fastapi/WorkerPoolComponent.js +204 -0
  163. package/dist/esm/src/server/components/fastapi/WorkerPoolComponent.js.map +1 -0
  164. package/dist/esm/src/server/components/fastapi/console/ConsoleInterceptor.js +2 -27
  165. package/dist/esm/src/server/components/fastapi/console/ConsoleInterceptor.js.map +1 -1
  166. package/dist/esm/src/server/components/fastapi/modules/UFRP/WorkerPoolManager.js +263 -0
  167. package/dist/esm/src/server/components/fastapi/modules/UFRP/WorkerPoolManager.js.map +1 -0
  168. package/dist/esm/src/server/components/fastapi/modules/UFRP/workers/Logger.js +236 -0
  169. package/dist/esm/src/server/components/fastapi/modules/UFRP/workers/cpu-tasks.js +294 -0
  170. package/dist/esm/src/server/components/fastapi/modules/UFRP/workers/enhanced-cpu-worker.js +433 -0
  171. package/dist/esm/src/server/components/fastapi/modules/UFRP/workers/io-worker.js +1615 -0
  172. package/dist/esm/src/server/components/lifecycle/ServerLifecycleManager.js +501 -0
  173. package/dist/esm/src/server/components/lifecycle/ServerLifecycleManager.js.map +1 -0
  174. package/dist/esm/src/server/const/default.js +23 -17
  175. package/dist/esm/src/server/const/default.js.map +1 -1
  176. package/dist/esm/src/server/core/HttpServer.js +498 -0
  177. package/dist/esm/src/server/core/HttpServer.js.map +1 -0
  178. package/dist/esm/src/server/core/XyprissApp.js +677 -0
  179. package/dist/esm/src/server/core/XyprissApp.js.map +1 -0
  180. package/dist/esm/src/server/handlers/NotFoundHandler.js +1 -1
  181. package/dist/esm/src/server/handlers/NotFoundHandler.js.map +1 -1
  182. package/dist/esm/src/server/middleware/MiddlewareManager.js +189 -0
  183. package/dist/esm/src/server/middleware/MiddlewareManager.js.map +1 -0
  184. package/dist/esm/src/server/routing/Router.js +339 -0
  185. package/dist/esm/src/server/routing/Router.js.map +1 -0
  186. package/dist/esm/src/server/utils/PortManager.js +1 -0
  187. package/dist/esm/src/server/utils/PortManager.js.map +1 -1
  188. package/dist/esm/src/server/utils/forceClosePort.js +294 -88
  189. package/dist/esm/src/server/utils/forceClosePort.js.map +1 -1
  190. package/dist/index.d.ts +3363 -5311
  191. package/package.json +39 -28
  192. package/dist/cjs/src/cluster/index.js +0 -361
  193. package/dist/cjs/src/cluster/index.js.map +0 -1
  194. package/dist/cjs/src/cluster/modules/ClusterFactory.js +0 -539
  195. package/dist/cjs/src/cluster/modules/ClusterFactory.js.map +0 -1
  196. package/dist/cjs/src/cluster/modules/LoadBalancer.js.map +0 -1
  197. package/dist/cjs/src/server/components/fastapi/UltraFastRequestProcessor.js +0 -668
  198. package/dist/cjs/src/server/components/fastapi/UltraFastRequestProcessor.js.map +0 -1
  199. package/dist/cjs/src/server/components/fastapi/middlewares/MiddlewareAPI.js +0 -347
  200. package/dist/cjs/src/server/components/fastapi/middlewares/MiddlewareAPI.js.map +0 -1
  201. package/dist/cjs/src/server/components/fastapi/middlewares/MiddlewareMethodsManager.js +0 -204
  202. package/dist/cjs/src/server/components/fastapi/middlewares/MiddlewareMethodsManager.js.map +0 -1
  203. package/dist/cjs/src/server/components/fastapi/middlewares/middlewareManager.js +0 -953
  204. package/dist/cjs/src/server/components/fastapi/middlewares/middlewareManager.js.map +0 -1
  205. package/dist/cjs/src/server/components/fastapi/modules/UFRP/WorkerPool.js +0 -56
  206. package/dist/cjs/src/server/components/fastapi/modules/UFRP/WorkerPool.js.map +0 -1
  207. package/dist/esm/src/cluster/index.js +0 -339
  208. package/dist/esm/src/cluster/index.js.map +0 -1
  209. package/dist/esm/src/cluster/modules/ClusterFactory.js +0 -511
  210. package/dist/esm/src/cluster/modules/ClusterFactory.js.map +0 -1
  211. package/dist/esm/src/cluster/modules/LoadBalancer.js.map +0 -1
  212. package/dist/esm/src/server/components/fastapi/UltraFastRequestProcessor.js +0 -647
  213. package/dist/esm/src/server/components/fastapi/UltraFastRequestProcessor.js.map +0 -1
  214. package/dist/esm/src/server/components/fastapi/middlewares/MiddlewareAPI.js +0 -345
  215. package/dist/esm/src/server/components/fastapi/middlewares/MiddlewareAPI.js.map +0 -1
  216. package/dist/esm/src/server/components/fastapi/middlewares/MiddlewareMethodsManager.js +0 -202
  217. package/dist/esm/src/server/components/fastapi/middlewares/MiddlewareMethodsManager.js.map +0 -1
  218. package/dist/esm/src/server/components/fastapi/middlewares/middlewareManager.js +0 -951
  219. package/dist/esm/src/server/components/fastapi/middlewares/middlewareManager.js.map +0 -1
  220. package/dist/esm/src/server/components/fastapi/modules/UFRP/WorkerPool.js +0 -54
  221. package/dist/esm/src/server/components/fastapi/modules/UFRP/WorkerPool.js.map +0 -1
@@ -2,6 +2,7 @@
2
2
 
3
3
  var net = require('net');
4
4
 
5
+ // ServerConfig removed - using ServerOptions instead
5
6
  class PortManager {
6
7
  constructor(originalPort, config) {
7
8
  this.originalPort = originalPort;
@@ -1 +1 @@
1
- {"version":3,"file":"PortManager.js","sources":["../../../../../src/server/utils/PortManager.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"PortManager.js","sources":["../../../../../src/server/utils/PortManager.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
@@ -1,125 +1,331 @@
1
1
  'use strict';
2
2
 
3
3
  var Logger = require('../../../shared/logger/Logger.js');
4
+ var childProcess = require('child_process');
5
+ var util = require('util');
4
6
 
5
7
  class Port {
6
8
  constructor(port) {
7
- this.port = port;
9
+ this.MAX_RETRIES = 3;
10
+ this.RETRY_DELAY = 500;
11
+ this.PORT_FREE_WAIT = 1000;
12
+ this.port = this._validatePort(port);
8
13
  this.logger = Logger.Logger.getInstance();
14
+ this.execAsync = util.promisify(childProcess.exec);
9
15
  }
10
16
  /**
11
17
  * Attempt to forcefully close/free up the specified port
12
- * @param port - The port number to force close
13
18
  * @returns Promise<boolean> - true if successful, false if failed
14
19
  */
15
20
  async forceClosePort() {
16
21
  try {
17
22
  this.logger.debug("server", `Attempting to force close port ${this.port}...`);
18
- // Import required modules
19
- const { exec } = require("child_process");
20
- const { promisify } = require("util");
21
- const execAsync = promisify(exec);
22
- // Platform-specific port closing logic
23
- if (process.platform === "win32") {
24
- // Windows: Find and kill process using the port
25
- try {
26
- const { stdout } = await execAsync(`netstat -ano | findstr :${this.port}`);
27
- const lines = stdout
28
- .split("\n")
29
- .filter((line) => line.trim());
30
- for (const line of lines) {
31
- const parts = line.trim().split(/\s+/);
32
- if (parts.length >= 5) {
33
- const pid = parts[4];
34
- if (pid && pid !== "0") {
35
- try {
36
- await execAsync(`taskkill /F /PID ${pid}`);
37
- this.logger.info("server", `Forcefully closed process ${pid} using port ${this.port}`);
38
- }
39
- catch (killError) {
40
- // Handle race condition - process may have already exited
41
- if (killError.message.includes("n'a pas pu être arrêté") ||
42
- killError.message.includes("could not be terminated") ||
43
- killError.message.includes("No such process")) {
44
- this.logger.info("server", `Process ${pid} using port ${this.port} had already exited`);
45
- }
46
- else {
47
- this.logger.warn("server", `Failed to kill process ${pid}: ${killError.message}`);
48
- }
49
- }
50
- }
51
- }
23
+ // Check if port is actually in use
24
+ const portCheck = await this._checkPortStatus();
25
+ if (!portCheck.isInUse) {
26
+ this.logger.debug("server", `Port ${this.port} is already free`);
27
+ return true;
28
+ }
29
+ // Kill processes using the port
30
+ const success = await this._killPortProcesses(portCheck.processes);
31
+ if (!success) {
32
+ return false;
33
+ }
34
+ // Wait for port to be freed
35
+ await this._waitForPortFree();
36
+ // Final verification
37
+ const finalCheck = await this._verifyPortIsFree();
38
+ if (finalCheck) {
39
+ this.logger.info("server", `Port ${this.port} is now free`);
40
+ return true;
41
+ }
42
+ else {
43
+ this.logger.warn("server", `Port ${this.port} may still be in use after cleanup attempt`);
44
+ return false;
45
+ }
46
+ }
47
+ catch (error) {
48
+ this.logger.error("server", `Error force closing port ${this.port}:`, error.message);
49
+ return false;
50
+ }
51
+ }
52
+ /**
53
+ * Validates that the port number is within valid range
54
+ * @param port - The port number to validate
55
+ * @returns The validated port number
56
+ * @throws Error if port is invalid
57
+ */
58
+ _validatePort(port) {
59
+ if (!Number.isInteger(port) || port < 1 || port > 65535) {
60
+ throw new Error(`Invalid port number: ${port}. Port must be between 1 and 65535.`);
61
+ }
62
+ return port;
63
+ }
64
+ /**
65
+ * Checks the current status of the port
66
+ * @returns Promise<PortCheckResult> - Information about port usage
67
+ */
68
+ async _checkPortStatus() {
69
+ try {
70
+ const processes = await this._getPortProcesses();
71
+ return {
72
+ isInUse: processes.length > 0,
73
+ processes,
74
+ };
75
+ }
76
+ catch (error) {
77
+ this.logger.debug("server", `Error checking port status: ${error.message}`);
78
+ return { isInUse: false, processes: [] };
79
+ }
80
+ }
81
+ /**
82
+ * Gets list of processes using the port
83
+ * @returns Promise<PortProcess[]> - Array of processes using the port
84
+ */
85
+ async _getPortProcesses() {
86
+ if (process.platform === "win32") {
87
+ return this._getWindowsPortProcesses();
88
+ }
89
+ else {
90
+ return this._getUnixPortProcesses();
91
+ }
92
+ }
93
+ /**
94
+ * Gets processes using the port on Windows
95
+ * @returns Promise<PortProcess[]> - Array of Windows processes
96
+ */
97
+ async _getWindowsPortProcesses() {
98
+ const processes = [];
99
+ try {
100
+ const { stdout } = await this._executeWithRetry(`netstat -ano | findstr :${this.port}`);
101
+ const lines = stdout.split("\n").filter((line) => line.trim());
102
+ for (const line of lines) {
103
+ const parts = line.trim().split(/\s+/);
104
+ if (parts.length >= 5) {
105
+ const localAddress = parts[1];
106
+ const protocol = parts[0];
107
+ const state = parts[3];
108
+ const pid = parts[4];
109
+ // Ensure this is exactly our port (not a port that contains our port number)
110
+ if (this._isExactPortMatch(localAddress, this.port) &&
111
+ pid &&
112
+ pid !== "0") {
113
+ processes.push({ pid, protocol, state });
52
114
  }
53
115
  }
54
- catch (error) {
55
- this.logger.warn("server", `Failed to close port ${this.port} on Windows: ${error.message}`);
56
- return false;
116
+ }
117
+ }
118
+ catch (error) {
119
+ this.logger.debug("server", `Windows netstat command failed: ${error.message}`);
120
+ }
121
+ return processes;
122
+ }
123
+ /**
124
+ * Gets processes using the port on Unix-like systems
125
+ * @returns Promise<PortProcess[]> - Array of Unix processes
126
+ */
127
+ async _getUnixPortProcesses() {
128
+ const processes = [];
129
+ try {
130
+ const { stdout } = await this._executeWithRetry(`lsof -ti:${this.port}`);
131
+ const pids = stdout
132
+ .trim()
133
+ .split("\n")
134
+ .filter((pid) => pid && pid.trim());
135
+ for (const pid of pids) {
136
+ if (pid.trim()) {
137
+ // Get additional process info
138
+ try {
139
+ const { stdout: processInfo } = await this.execAsync(`lsof -p ${pid.trim()} | grep :${this.port}`);
140
+ const protocol = this._extractProtocolFromLsof(processInfo);
141
+ processes.push({ pid: pid.trim(), protocol });
142
+ }
143
+ catch {
144
+ // Fallback if detailed info fails
145
+ processes.push({
146
+ pid: pid.trim(),
147
+ protocol: "unknown",
148
+ });
149
+ }
57
150
  }
58
151
  }
152
+ }
153
+ catch (error) {
154
+ this.logger.debug("server", `Unix lsof command failed: ${error.message}`);
155
+ }
156
+ return processes;
157
+ }
158
+ /**
159
+ * Kills all processes using the port
160
+ * @param processes - Array of processes to kill
161
+ * @returns Promise<boolean> - true if all processes were handled successfully
162
+ */
163
+ async _killPortProcesses(processes) {
164
+ let allSuccessful = true;
165
+ for (const process of processes) {
166
+ const success = await this._killSingleProcess(process);
167
+ if (!success) {
168
+ allSuccessful = false;
169
+ }
170
+ }
171
+ return allSuccessful;
172
+ }
173
+ /**
174
+ * Kills a single process
175
+ * @param process - The process to kill
176
+ * @returns Promise<boolean> - true if successful or process no longer exists
177
+ */
178
+ async _killSingleProcess(process) {
179
+ try {
180
+ this.logger.debug("server", `Attempting to kill process ${process.pid} (${process.protocol}) using port ${this.port}`);
181
+ if (globalThis.process.platform === "win32") {
182
+ await this._executeWithRetry(`taskkill /F /PID ${process.pid}`);
183
+ }
59
184
  else {
60
- // Unix/Linux/macOS: Find and kill process using the port
185
+ // Try graceful kill first, then force kill
61
186
  try {
62
- const { stdout } = await execAsync(`lsof -ti:${this.port}`);
63
- const pids = stdout
64
- .trim()
65
- .split("\n")
66
- .filter((pid) => pid);
67
- for (const pid of pids) {
68
- if (pid) {
69
- try {
70
- await execAsync(`kill -9 ${pid}`);
71
- this.logger.info("server", `Forcefully closed process ${pid} using port ${this.port}`);
72
- }
73
- catch (killError) {
74
- // Handle race condition - process may have already exited
75
- if (killError.message.includes("No such process") ||
76
- killError.message.includes("Operation not permitted")) {
77
- this.logger.info("server", `Process ${pid} using port ${this.port} had already exited or is protected`);
78
- }
79
- else {
80
- this.logger.warn("server", `Failed to kill process ${pid}: ${killError.message}`);
81
- }
82
- }
83
- }
187
+ await this._executeWithRetry(`kill ${process.pid}`);
188
+ await new Promise((resolve) => setTimeout(resolve, 500));
189
+ // Check if process still exists
190
+ const stillExists = await this._processExists(process.pid);
191
+ if (stillExists) {
192
+ await this._executeWithRetry(`kill -9 ${process.pid}`);
84
193
  }
85
194
  }
86
- catch (error) {
87
- this.logger.warn("server", `Failed to close port ${this.port} on Unix: ${error.message}`);
88
- return false;
195
+ catch {
196
+ // Fallback to force kill
197
+ await this._executeWithRetry(`kill -9 ${process.pid}`);
89
198
  }
90
199
  }
91
- // Wait a moment for the port to be freed
92
- await new Promise((resolve) => setTimeout(resolve, 1000));
93
- // Verify the port is now free
200
+ this.logger.info("server", `Successfully killed process ${process.pid} using port ${this.port}`);
201
+ return true;
202
+ }
203
+ catch (error) {
204
+ // Handle common scenarios where process is already gone or protected
205
+ if (this._isProcessAlreadyGoneError(error.message)) {
206
+ this.logger.info("server", `Process ${process.pid} using port ${this.port} had already exited`);
207
+ return true;
208
+ }
209
+ else if (this._isProcessProtectedError(error.message)) {
210
+ this.logger.warn("server", `Process ${process.pid} is protected and cannot be killed`);
211
+ return false;
212
+ }
213
+ else {
214
+ this.logger.warn("server", `Failed to kill process ${process.pid}: ${error.message}`);
215
+ return false;
216
+ }
217
+ }
218
+ }
219
+ /**
220
+ * Executes a command with retry logic
221
+ * @param command - Command to execute
222
+ * @returns Promise with command result
223
+ */
224
+ async _executeWithRetry(command) {
225
+ let lastError;
226
+ for (let attempt = 1; attempt <= this.MAX_RETRIES; attempt++) {
94
227
  try {
95
- if (process.platform === "win32") {
96
- const { stdout } = await execAsync(`netstat -ano | findstr :${this.port}`);
97
- if (!stdout.trim()) {
98
- this.logger.info("server", `Port ${this.port} is now free`);
99
- return true;
100
- }
101
- }
102
- else {
103
- const { stdout } = await execAsync(`lsof -ti:${this.port}`);
104
- if (!stdout.trim()) {
105
- this.logger.info("server", `Port ${this.port} is now free`);
106
- return true;
107
- }
228
+ return await this.execAsync(command);
229
+ }
230
+ catch (error) {
231
+ lastError = error;
232
+ if (attempt < this.MAX_RETRIES) {
233
+ this.logger.debug("server", `Command failed (attempt ${attempt}/${this.MAX_RETRIES}), retrying: ${command}`);
234
+ await new Promise((resolve) => setTimeout(resolve, this.RETRY_DELAY));
108
235
  }
109
236
  }
110
- catch (verifyError) {
111
- // If the command fails, it likely means no process is using the port
112
- this.logger.info("server", `Port ${this.port} appears to be free`);
113
- return true;
237
+ }
238
+ throw lastError;
239
+ }
240
+ /**
241
+ * Waits for the port to be freed
242
+ */
243
+ async _waitForPortFree() {
244
+ await new Promise((resolve) => setTimeout(resolve, this.PORT_FREE_WAIT));
245
+ }
246
+ /**
247
+ * Verifies that the port is now free
248
+ * @returns Promise<boolean> - true if port is free
249
+ */
250
+ async _verifyPortIsFree() {
251
+ try {
252
+ const portCheck = await this._checkPortStatus();
253
+ return !portCheck.isInUse;
254
+ }
255
+ catch (error) {
256
+ // If check fails, assume port is free (commands typically fail when nothing is using the port)
257
+ return true;
258
+ }
259
+ }
260
+ /**
261
+ * Checks if a process still exists
262
+ * @param pid - Process ID to check
263
+ * @returns Promise<boolean> - true if process exists
264
+ */
265
+ async _processExists(pid) {
266
+ try {
267
+ if (process.platform === "win32") {
268
+ await this.execAsync(`tasklist /FI "PID eq ${pid}" | findstr ${pid}`);
269
+ }
270
+ else {
271
+ await this.execAsync(`kill -0 ${pid}`);
114
272
  }
115
- this.logger.info("server", `Successfully processed port ${this.port} closure request`);
116
273
  return true;
117
274
  }
118
- catch (error) {
119
- this.logger.error("server", `Error force closing port ${this.port}:`, error.message);
275
+ catch {
120
276
  return false;
121
277
  }
122
278
  }
279
+ /**
280
+ * Checks if the address exactly matches our port
281
+ * @param address - Network address string (e.g., "0.0.0.0:3000")
282
+ * @param port - Port number to match
283
+ * @returns boolean - true if exact match
284
+ */
285
+ _isExactPortMatch(address, port) {
286
+ const portPattern = new RegExp(`:${port}$`);
287
+ return portPattern.test(address);
288
+ }
289
+ /**
290
+ * Extracts protocol information from lsof output
291
+ * @param lsofOutput - Output from lsof command
292
+ * @returns string - Protocol type
293
+ */
294
+ _extractProtocolFromLsof(lsofOutput) {
295
+ if (lsofOutput.includes("TCP"))
296
+ return "TCP";
297
+ if (lsofOutput.includes("UDP"))
298
+ return "UDP";
299
+ return "unknown";
300
+ }
301
+ /**
302
+ * Determines if error indicates process is already gone
303
+ * @param errorMessage - Error message to check
304
+ * @returns boolean - true if process no longer exists
305
+ */
306
+ _isProcessAlreadyGoneError(errorMessage) {
307
+ const goneIndicators = [
308
+ "n'a pas pu être arrêté",
309
+ "could not be terminated",
310
+ "No such process",
311
+ "not found",
312
+ "ERROR: The process",
313
+ ];
314
+ return goneIndicators.some((indicator) => errorMessage.toLowerCase().includes(indicator.toLowerCase()));
315
+ }
316
+ /**
317
+ * Determines if error indicates process is protected
318
+ * @param errorMessage - Error message to check
319
+ * @returns boolean - true if process is protected
320
+ */
321
+ _isProcessProtectedError(errorMessage) {
322
+ const protectedIndicators = [
323
+ "Operation not permitted",
324
+ "Access denied",
325
+ "insufficient privilege",
326
+ ];
327
+ return protectedIndicators.some((indicator) => errorMessage.toLowerCase().includes(indicator.toLowerCase()));
328
+ }
123
329
  }
124
330
 
125
331
  exports.Port = Port;
@@ -1 +1 @@
1
- {"version":3,"file":"forceClosePort.js","sources":["../../../../../src/server/utils/forceClosePort.ts"],"sourcesContent":[null],"names":["Logger"],"mappings":"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"}
1
+ {"version":3,"file":"forceClosePort.js","sources":["../../../../../src/server/utils/forceClosePort.ts"],"sourcesContent":[null],"names":["Logger","promisify","exec"],"mappings":";;;;;;MAea,IAAI,CAAA;AAUb,IAAA,WAAA,CAAY,IAAY,EAAA;QAJP,IAAW,CAAA,WAAA,GAAG,CAAC,CAAC;QAChB,IAAW,CAAA,WAAA,GAAG,GAAG,CAAC;QAClB,IAAc,CAAA,cAAA,GAAG,IAAI,CAAC;QAGnC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;AACrC,QAAA,IAAI,CAAC,MAAM,GAAGA,aAAM,CAAC,WAAW,EAAE,CAAC;AACnC,QAAA,IAAI,CAAC,SAAS,GAAGC,cAAS,CAACC,iBAAI,CAAC,CAAC;KACpC;AAED;;;AAGG;AACI,IAAA,MAAM,cAAc,GAAA;AACvB,QAAA,IAAI;AACA,YAAA,IAAI,CAAC,MAAM,CAAC,KAAK,CACb,QAAQ,EACR,CAAA,+BAAA,EAAkC,IAAI,CAAC,IAAI,CAAA,GAAA,CAAK,CACnD,CAAC;;AAGF,YAAA,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,gBAAgB,EAAE,CAAC;AAChD,YAAA,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE;AACpB,gBAAA,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAA,KAAA,EAAQ,IAAI,CAAC,IAAI,CAAA,gBAAA,CAAkB,CAAC,CAAC;AACjE,gBAAA,OAAO,IAAI,CAAC;aACf;;YAGD,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;YACnE,IAAI,CAAC,OAAO,EAAE;AACV,gBAAA,OAAO,KAAK,CAAC;aAChB;;AAGD,YAAA,MAAM,IAAI,CAAC,gBAAgB,EAAE,CAAC;;AAG9B,YAAA,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,iBAAiB,EAAE,CAAC;YAClD,IAAI,UAAU,EAAE;AACZ,gBAAA,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAA,KAAA,EAAQ,IAAI,CAAC,IAAI,CAAA,YAAA,CAAc,CAAC,CAAC;AAC5D,gBAAA,OAAO,IAAI,CAAC;aACf;iBAAM;AACH,gBAAA,IAAI,CAAC,MAAM,CAAC,IAAI,CACZ,QAAQ,EACR,CAAA,KAAA,EAAQ,IAAI,CAAC,IAAI,CAAA,0CAAA,CAA4C,CAChE,CAAC;AACF,gBAAA,OAAO,KAAK,CAAC;aAChB;SACJ;QAAC,OAAO,KAAU,EAAE;AACjB,YAAA,IAAI,CAAC,MAAM,CAAC,KAAK,CACb,QAAQ,EACR,CAAA,yBAAA,EAA4B,IAAI,CAAC,IAAI,CAAG,CAAA,CAAA,EACxC,KAAK,CAAC,OAAO,CAChB,CAAC;AACF,YAAA,OAAO,KAAK,CAAC;SAChB;KACJ;AAED;;;;;AAKG;AACK,IAAA,aAAa,CAAC,IAAY,EAAA;AAC9B,QAAA,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,IAAI,GAAG,CAAC,IAAI,IAAI,GAAG,KAAK,EAAE;AACrD,YAAA,MAAM,IAAI,KAAK,CACX,wBAAwB,IAAI,CAAA,mCAAA,CAAqC,CACpE,CAAC;SACL;AACD,QAAA,OAAO,IAAI,CAAC;KACf;AAED;;;AAGG;AACK,IAAA,MAAM,gBAAgB,GAAA;AAC1B,QAAA,IAAI;AACA,YAAA,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,iBAAiB,EAAE,CAAC;YACjD,OAAO;AACH,gBAAA,OAAO,EAAE,SAAS,CAAC,MAAM,GAAG,CAAC;gBAC7B,SAAS;aACZ,CAAC;SACL;QAAC,OAAO,KAAU,EAAE;AACjB,YAAA,IAAI,CAAC,MAAM,CAAC,KAAK,CACb,QAAQ,EACR,CAAA,4BAAA,EAA+B,KAAK,CAAC,OAAO,CAAA,CAAE,CACjD,CAAC;YACF,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,EAAE,EAAE,CAAC;SAC5C;KACJ;AAED;;;AAGG;AACK,IAAA,MAAM,iBAAiB,GAAA;AAG3B,QAAA,IAAI,OAAO,CAAC,QAAQ,KAAK,OAAO,EAAE;AAC9B,YAAA,OAAO,IAAI,CAAC,wBAAwB,EAAE,CAAC;SAC1C;aAAM;AACH,YAAA,OAAO,IAAI,CAAC,qBAAqB,EAAE,CAAC;SACvC;KACJ;AAED;;;AAGG;AACK,IAAA,MAAM,wBAAwB,GAAA;QAClC,MAAM,SAAS,GAAkB,EAAE,CAAC;AAEpC,QAAA,IAAI;AACA,YAAA,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAC3C,2BAA2B,IAAI,CAAC,IAAI,CAAA,CAAE,CACzC,CAAC;YACF,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;AAE/D,YAAA,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE;gBACtB,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;AACvC,gBAAA,IAAI,KAAK,CAAC,MAAM,IAAI,CAAC,EAAE;AACnB,oBAAA,MAAM,YAAY,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;AAC9B,oBAAA,MAAM,QAAQ,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;AAC1B,oBAAA,MAAM,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;AACvB,oBAAA,MAAM,GAAG,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;;oBAGrB,IACI,IAAI,CAAC,iBAAiB,CAAC,YAAY,EAAE,IAAI,CAAC,IAAI,CAAC;wBAC/C,GAAG;wBACH,GAAG,KAAK,GAAG,EACb;wBACE,SAAS,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,CAAC;qBAC5C;iBACJ;aACJ;SACJ;QAAC,OAAO,KAAU,EAAE;AACjB,YAAA,IAAI,CAAC,MAAM,CAAC,KAAK,CACb,QAAQ,EACR,CAAA,gCAAA,EAAmC,KAAK,CAAC,OAAO,CAAA,CAAE,CACrD,CAAC;SACL;AAED,QAAA,OAAO,SAAS,CAAC;KACpB;AAED;;;AAGG;AACK,IAAA,MAAM,qBAAqB,GAAA;QAC/B,MAAM,SAAS,GAAkB,EAAE,CAAC;AAEpC,QAAA,IAAI;AACA,YAAA,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAC3C,YAAY,IAAI,CAAC,IAAI,CAAA,CAAE,CAC1B,CAAC;YACF,MAAM,IAAI,GAAG,MAAM;AACd,iBAAA,IAAI,EAAE;iBACN,KAAK,CAAC,IAAI,CAAC;AACX,iBAAA,MAAM,CAAC,CAAC,GAAG,KAAK,GAAG,IAAI,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC;AAExC,YAAA,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE;AACpB,gBAAA,IAAI,GAAG,CAAC,IAAI,EAAE,EAAE;;AAEZ,oBAAA,IAAI;wBACA,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,GAAG,MAAM,IAAI,CAAC,SAAS,CAChD,WAAW,GAAG,CAAC,IAAI,EAAE,CAAA,SAAA,EAAY,IAAI,CAAC,IAAI,CAAE,CAAA,CAC/C,CAAC;wBACF,MAAM,QAAQ,GACV,IAAI,CAAC,wBAAwB,CAAC,WAAW,CAAC,CAAC;AAC/C,wBAAA,SAAS,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC,IAAI,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAC;qBACjD;AAAC,oBAAA,MAAM;;wBAEJ,SAAS,CAAC,IAAI,CAAC;AACX,4BAAA,GAAG,EAAE,GAAG,CAAC,IAAI,EAAE;AACf,4BAAA,QAAQ,EAAE,SAAS;AACtB,yBAAA,CAAC,CAAC;qBACN;iBACJ;aACJ;SACJ;QAAC,OAAO,KAAU,EAAE;AACjB,YAAA,IAAI,CAAC,MAAM,CAAC,KAAK,CACb,QAAQ,EACR,CAAA,0BAAA,EAA6B,KAAK,CAAC,OAAO,CAAA,CAAE,CAC/C,CAAC;SACL;AAED,QAAA,OAAO,SAAS,CAAC;KACpB;AAED;;;;AAIG;IACK,MAAM,kBAAkB,CAC5B,SAAwB,EAAA;QAExB,IAAI,aAAa,GAAG,IAAI,CAAC;AAEzB,QAAA,KAAK,MAAM,OAAO,IAAI,SAAS,EAAE;YAC7B,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC;YACvD,IAAI,CAAC,OAAO,EAAE;gBACV,aAAa,GAAG,KAAK,CAAC;aACzB;SACJ;AAED,QAAA,OAAO,aAAa,CAAC;KACxB;AAED;;;;AAIG;IACK,MAAM,kBAAkB,CAAC,OAAoB,EAAA;AACjD,QAAA,IAAI;YACA,IAAI,CAAC,MAAM,CAAC,KAAK,CACb,QAAQ,EACR,8BAA8B,OAAO,CAAC,GAAG,CAAK,EAAA,EAAA,OAAO,CAAC,QAAQ,CAAA,aAAA,EAAgB,IAAI,CAAC,IAAI,CAAE,CAAA,CAC5F,CAAC;YAEF,IAAI,UAAU,CAAC,OAAO,CAAC,QAAQ,KAAK,OAAO,EAAE;gBACzC,MAAM,IAAI,CAAC,iBAAiB,CAAC,CAAA,iBAAA,EAAoB,OAAO,CAAC,GAAG,CAAE,CAAA,CAAC,CAAC;aACnE;iBAAM;;AAEH,gBAAA,IAAI;oBACA,MAAM,IAAI,CAAC,iBAAiB,CAAC,CAAA,KAAA,EAAQ,OAAO,CAAC,GAAG,CAAE,CAAA,CAAC,CAAC;AACpD,oBAAA,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,KAAK,UAAU,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,CAAC;;oBAGzD,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;oBAC3D,IAAI,WAAW,EAAE;wBACb,MAAM,IAAI,CAAC,iBAAiB,CAAC,CAAA,QAAA,EAAW,OAAO,CAAC,GAAG,CAAE,CAAA,CAAC,CAAC;qBAC1D;iBACJ;AAAC,gBAAA,MAAM;;oBAEJ,MAAM,IAAI,CAAC,iBAAiB,CAAC,CAAA,QAAA,EAAW,OAAO,CAAC,GAAG,CAAE,CAAA,CAAC,CAAC;iBAC1D;aACJ;AAED,YAAA,IAAI,CAAC,MAAM,CAAC,IAAI,CACZ,QAAQ,EACR,CAAA,4BAAA,EAA+B,OAAO,CAAC,GAAG,CAAe,YAAA,EAAA,IAAI,CAAC,IAAI,CAAA,CAAE,CACvE,CAAC;AACF,YAAA,OAAO,IAAI,CAAC;SACf;QAAC,OAAO,KAAU,EAAE;;YAEjB,IAAI,IAAI,CAAC,0BAA0B,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE;AAChD,gBAAA,IAAI,CAAC,MAAM,CAAC,IAAI,CACZ,QAAQ,EACR,CAAA,QAAA,EAAW,OAAO,CAAC,GAAG,CAAe,YAAA,EAAA,IAAI,CAAC,IAAI,CAAA,mBAAA,CAAqB,CACtE,CAAC;AACF,gBAAA,OAAO,IAAI,CAAC;aACf;iBAAM,IAAI,IAAI,CAAC,wBAAwB,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE;AACrD,gBAAA,IAAI,CAAC,MAAM,CAAC,IAAI,CACZ,QAAQ,EACR,CAAA,QAAA,EAAW,OAAO,CAAC,GAAG,CAAA,kCAAA,CAAoC,CAC7D,CAAC;AACF,gBAAA,OAAO,KAAK,CAAC;aAChB;iBAAM;AACH,gBAAA,IAAI,CAAC,MAAM,CAAC,IAAI,CACZ,QAAQ,EACR,CAAA,uBAAA,EAA0B,OAAO,CAAC,GAAG,CAAK,EAAA,EAAA,KAAK,CAAC,OAAO,CAAA,CAAE,CAC5D,CAAC;AACF,gBAAA,OAAO,KAAK,CAAC;aAChB;SACJ;KACJ;AAED;;;;AAIG;IACK,MAAM,iBAAiB,CAC3B,OAAe,EAAA;AAEf,QAAA,IAAI,SAAc,CAAC;AAEnB,QAAA,KAAK,IAAI,OAAO,GAAG,CAAC,EAAE,OAAO,IAAI,IAAI,CAAC,WAAW,EAAE,OAAO,EAAE,EAAE;AAC1D,YAAA,IAAI;AACA,gBAAA,OAAO,MAAM,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;aACxC;YAAC,OAAO,KAAK,EAAE;gBACZ,SAAS,GAAG,KAAK,CAAC;AAClB,gBAAA,IAAI,OAAO,GAAG,IAAI,CAAC,WAAW,EAAE;AAC5B,oBAAA,IAAI,CAAC,MAAM,CAAC,KAAK,CACb,QAAQ,EACR,CAAA,wBAAA,EAA2B,OAAO,CAAA,CAAA,EAAI,IAAI,CAAC,WAAW,gBAAgB,OAAO,CAAA,CAAE,CAClF,CAAC;AACF,oBAAA,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,KACtB,UAAU,CAAC,OAAO,EAAE,IAAI,CAAC,WAAW,CAAC,CACxC,CAAC;iBACL;aACJ;SACJ;AAED,QAAA,MAAM,SAAS,CAAC;KACnB;AAED;;AAEG;AACK,IAAA,MAAM,gBAAgB,GAAA;AAC1B,QAAA,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,KACtB,UAAU,CAAC,OAAO,EAAE,IAAI,CAAC,cAAc,CAAC,CAC3C,CAAC;KACL;AAED;;;AAGG;AACK,IAAA,MAAM,iBAAiB,GAAA;AAC3B,QAAA,IAAI;AACA,YAAA,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,gBAAgB,EAAE,CAAC;AAChD,YAAA,OAAO,CAAC,SAAS,CAAC,OAAO,CAAC;SAC7B;QAAC,OAAO,KAAK,EAAE;;AAEZ,YAAA,OAAO,IAAI,CAAC;SACf;KACJ;AAED;;;;AAIG;IACK,MAAM,cAAc,CAAC,GAAW,EAAA;AACpC,QAAA,IAAI;AACA,YAAA,IAAI,OAAO,CAAC,QAAQ,KAAK,OAAO,EAAE;gBAC9B,MAAM,IAAI,CAAC,SAAS,CAChB,CAAA,qBAAA,EAAwB,GAAG,CAAe,YAAA,EAAA,GAAG,CAAE,CAAA,CAClD,CAAC;aACL;iBAAM;gBACH,MAAM,IAAI,CAAC,SAAS,CAAC,WAAW,GAAG,CAAA,CAAE,CAAC,CAAC;aAC1C;AACD,YAAA,OAAO,IAAI,CAAC;SACf;AAAC,QAAA,MAAM;AACJ,YAAA,OAAO,KAAK,CAAC;SAChB;KACJ;AAED;;;;;AAKG;IACK,iBAAiB,CAAC,OAAe,EAAE,IAAY,EAAA;QACnD,MAAM,WAAW,GAAG,IAAI,MAAM,CAAC,CAAI,CAAA,EAAA,IAAI,CAAG,CAAA,CAAA,CAAC,CAAC;AAC5C,QAAA,OAAO,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;KACpC;AAED;;;;AAIG;AACK,IAAA,wBAAwB,CAAC,UAAkB,EAAA;AAC/C,QAAA,IAAI,UAAU,CAAC,QAAQ,CAAC,KAAK,CAAC;AAAE,YAAA,OAAO,KAAK,CAAC;AAC7C,QAAA,IAAI,UAAU,CAAC,QAAQ,CAAC,KAAK,CAAC;AAAE,YAAA,OAAO,KAAK,CAAC;AAC7C,QAAA,OAAO,SAAS,CAAC;KACpB;AAED;;;;AAIG;AACK,IAAA,0BAA0B,CAAC,YAAoB,EAAA;AACnD,QAAA,MAAM,cAAc,GAAG;YACnB,wBAAwB;YACxB,yBAAyB;YACzB,iBAAiB;YACjB,WAAW;YACX,oBAAoB;SACvB,CAAC;QAEF,OAAO,cAAc,CAAC,IAAI,CAAC,CAAC,SAAS,KACjC,YAAY,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,SAAS,CAAC,WAAW,EAAE,CAAC,CAC/D,CAAC;KACL;AAED;;;;AAIG;AACK,IAAA,wBAAwB,CAAC,YAAoB,EAAA;AACjD,QAAA,MAAM,mBAAmB,GAAG;YACxB,yBAAyB;YACzB,eAAe;YACf,wBAAwB;SAC3B,CAAC;QAEF,OAAO,mBAAmB,CAAC,IAAI,CAAC,CAAC,SAAS,KACtC,YAAY,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,SAAS,CAAC,WAAW,EAAE,CAAC,CAC/D,CAAC;KACL;AACJ;;;;"}
@@ -14,6 +14,16 @@ import '../core/random/random-types.js';
14
14
  import '../core/random/random-sources.js';
15
15
  import 'nehonix-uri-processor';
16
16
  import '../utils/memory/index.js';
17
+ import 'helmet';
18
+ import 'cors';
19
+ import 'express-rate-limit';
20
+ import 'csrf-csrf';
21
+ import 'express-mongo-sanitize';
22
+ import 'xss';
23
+ import 'hpp';
24
+ import 'compression';
25
+ import 'xypriss-security';
26
+ import '../../../../shared/logger/Logger.js';
17
27
  import 'argon2';
18
28
  import 'child_process';
19
29
  import '../types/secure-memory.js';
@@ -1 +1 @@
1
- {"version":3,"file":"hash-algorithms.js","sources":["../../../../../../mods/security/src/algorithms/hash-algorithms.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"hash-algorithms.js","sources":["../../../../../../mods/security/src/algorithms/hash-algorithms.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
@@ -18,6 +18,16 @@ import '../../core/random/random-types.js';
18
18
  import '../../core/random/random-sources.js';
19
19
  import 'nehonix-uri-processor';
20
20
  import '../../utils/memory/index.js';
21
+ import 'helmet';
22
+ import 'cors';
23
+ import 'express-rate-limit';
24
+ import 'csrf-csrf';
25
+ import 'express-mongo-sanitize';
26
+ import 'xss';
27
+ import 'hpp';
28
+ import 'compression';
29
+ import 'xypriss-security';
30
+ import '../../../../../shared/logger/Logger.js';
21
31
  import 'argon2';
22
32
  import 'child_process';
23
33
  import '../../types/secure-memory.js';