xypriss 9.3.62 → 9.3.64

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 (461) hide show
  1. package/.xypriss-compression-dev/LICENSE +21 -0
  2. package/.xypriss-compression-dev/README.md +229 -0
  3. package/.xypriss-compression-dev/package.json +64 -0
  4. package/dist/index.d.ts +2 -38
  5. package/dist/shared/logger/DEFAULT_LOGGER_CONFIG.d.ts +3 -0
  6. package/dist/shared/logger/DEFAULT_LOGGER_CONFIG.d.ts.map +1 -0
  7. package/dist/shared/logger/DEFAULT_LOGGER_CONFIG.js +66 -0
  8. package/dist/shared/logger/DEFAULT_LOGGER_CONFIG.js.map +1 -0
  9. package/dist/shared/logger/DEFAULT_PALETTE.d.ts +16 -0
  10. package/dist/shared/logger/DEFAULT_PALETTE.d.ts.map +1 -0
  11. package/dist/shared/logger/DEFAULT_PALETTE.js +16 -0
  12. package/dist/shared/logger/DEFAULT_PALETTE.js.map +1 -0
  13. package/dist/shared/logger/Logger.d.ts +96 -0
  14. package/dist/shared/logger/Logger.d.ts.map +1 -0
  15. package/dist/shared/logger/Logger.js +573 -0
  16. package/dist/shared/logger/Logger.js.map +1 -0
  17. package/dist/shared/logger/index.d.ts +2 -0
  18. package/dist/shared/logger/index.d.ts.map +1 -0
  19. package/dist/shared/logger/index.js +2 -0
  20. package/dist/shared/logger/index.js.map +1 -0
  21. package/dist/shared/types/index.d.ts +2 -0
  22. package/dist/shared/types/index.d.ts.map +1 -0
  23. package/dist/shared/types/index.js +2 -0
  24. package/dist/shared/types/index.js.map +1 -0
  25. package/dist/shared/types/logger.type.d.ts +46 -0
  26. package/dist/shared/types/logger.type.d.ts.map +1 -0
  27. package/dist/shared/types/logger.type.js +43 -0
  28. package/dist/shared/types/logger.type.js.map +1 -0
  29. package/package.json +124 -142
  30. package/dist/cjs/src/FiUp.js +0 -88
  31. package/dist/cjs/src/FiUp.js.map +0 -1
  32. package/dist/cjs/src/cache/CacheFactory.js +0 -416
  33. package/dist/cjs/src/cache/CacheFactory.js.map +0 -1
  34. package/dist/cjs/src/config.js +0 -368
  35. package/dist/cjs/src/config.js.map +0 -1
  36. package/dist/cjs/src/const.js +0 -577
  37. package/dist/cjs/src/const.js.map +0 -1
  38. package/dist/cjs/src/file-upload.js +0 -257
  39. package/dist/cjs/src/file-upload.js.map +0 -1
  40. package/dist/cjs/src/index.js +0 -109
  41. package/dist/cjs/src/index.js.map +0 -1
  42. package/dist/cjs/src/middleware/XJsonResponseHandler.js +0 -180
  43. package/dist/cjs/src/middleware/XJsonResponseHandler.js.map +0 -1
  44. package/dist/cjs/src/middleware/XemsSessionMiddleware.js +0 -115
  45. package/dist/cjs/src/middleware/XemsSessionMiddleware.js.map +0 -1
  46. package/dist/cjs/src/middleware/XyPrissMiddlewareAPI.js +0 -354
  47. package/dist/cjs/src/middleware/XyPrissMiddlewareAPI.js.map +0 -1
  48. package/dist/cjs/src/middleware/built-in/BuiltInMiddleware.js +0 -462
  49. package/dist/cjs/src/middleware/built-in/BuiltInMiddleware.js.map +0 -1
  50. package/dist/cjs/src/middleware/built-in/security/BrowserOnlyProtector.js +0 -552
  51. package/dist/cjs/src/middleware/built-in/security/BrowserOnlyProtector.js.map +0 -1
  52. package/dist/cjs/src/middleware/built-in/security/CommandInjectionDetector.js +0 -215
  53. package/dist/cjs/src/middleware/built-in/security/CommandInjectionDetector.js.map +0 -1
  54. package/dist/cjs/src/middleware/built-in/security/LDAPInjectionDetector.js +0 -96
  55. package/dist/cjs/src/middleware/built-in/security/LDAPInjectionDetector.js.map +0 -1
  56. package/dist/cjs/src/middleware/built-in/security/MobileOnlyProtector.js +0 -504
  57. package/dist/cjs/src/middleware/built-in/security/MobileOnlyProtector.js.map +0 -1
  58. package/dist/cjs/src/middleware/built-in/security/PathTraversalDetector.js +0 -212
  59. package/dist/cjs/src/middleware/built-in/security/PathTraversalDetector.js.map +0 -1
  60. package/dist/cjs/src/middleware/built-in/security/RequestSignatureProtector.js +0 -481
  61. package/dist/cjs/src/middleware/built-in/security/RequestSignatureProtector.js.map +0 -1
  62. package/dist/cjs/src/middleware/built-in/security/SQLInjectionDetector.js +0 -337
  63. package/dist/cjs/src/middleware/built-in/security/SQLInjectionDetector.js.map +0 -1
  64. package/dist/cjs/src/middleware/built-in/security/TerminalOnlyProtector.js +0 -478
  65. package/dist/cjs/src/middleware/built-in/security/TerminalOnlyProtector.js.map +0 -1
  66. package/dist/cjs/src/middleware/built-in/security/XXEProtector.js +0 -175
  67. package/dist/cjs/src/middleware/built-in/security/XXEProtector.js.map +0 -1
  68. package/dist/cjs/src/middleware/safe-json-middleware.js +0 -155
  69. package/dist/cjs/src/middleware/safe-json-middleware.js.map +0 -1
  70. package/dist/cjs/src/middleware/security-middleware.js +0 -1104
  71. package/dist/cjs/src/middleware/security-middleware.js.map +0 -1
  72. package/dist/cjs/src/plugins/PluginManager.js +0 -410
  73. package/dist/cjs/src/plugins/PluginManager.js.map +0 -1
  74. package/dist/cjs/src/plugins/api/PluginAPI.js +0 -199
  75. package/dist/cjs/src/plugins/api/PluginAPI.js.map +0 -1
  76. package/dist/cjs/src/plugins/const/PluginHookIds.js +0 -64
  77. package/dist/cjs/src/plugins/const/PluginHookIds.js.map +0 -1
  78. package/dist/cjs/src/plugins/core/PluginManager.js +0 -683
  79. package/dist/cjs/src/plugins/core/PluginManager.js.map +0 -1
  80. package/dist/cjs/src/plugins/modules/PluginEngine.js +0 -494
  81. package/dist/cjs/src/plugins/modules/PluginEngine.js.map +0 -1
  82. package/dist/cjs/src/plugins/modules/PluginRegistry.js +0 -309
  83. package/dist/cjs/src/plugins/modules/PluginRegistry.js.map +0 -1
  84. package/dist/cjs/src/plugins/modules/builtin/SmartCachePlugin.js +0 -843
  85. package/dist/cjs/src/plugins/modules/builtin/SmartCachePlugin.js.map +0 -1
  86. package/dist/cjs/src/plugins/modules/builtin/server-maintenance-plugin.js +0 -588
  87. package/dist/cjs/src/plugins/modules/builtin/server-maintenance-plugin.js.map +0 -1
  88. package/dist/cjs/src/plugins/modules/core/CachePlugin.js +0 -1970
  89. package/dist/cjs/src/plugins/modules/core/CachePlugin.js.map +0 -1
  90. package/dist/cjs/src/plugins/modules/network/builtin/ConnectionPlugin.js +0 -797
  91. package/dist/cjs/src/plugins/modules/network/builtin/ConnectionPlugin.js.map +0 -1
  92. package/dist/cjs/src/plugins/modules/network/builtin/ProxyPlugin.js +0 -424
  93. package/dist/cjs/src/plugins/modules/network/builtin/ProxyPlugin.js.map +0 -1
  94. package/dist/cjs/src/plugins/modules/network/core/NetworkPlugin.js +0 -230
  95. package/dist/cjs/src/plugins/modules/network/core/NetworkPlugin.js.map +0 -1
  96. package/dist/cjs/src/plugins/modules/network/types/NetworkTypes.js +0 -24
  97. package/dist/cjs/src/plugins/modules/network/types/NetworkTypes.js.map +0 -1
  98. package/dist/cjs/src/plugins/modules/types/PluginTypes.js +0 -48
  99. package/dist/cjs/src/plugins/modules/types/PluginTypes.js.map +0 -1
  100. package/dist/cjs/src/plugins/modules/xems/XemsBuiltinPlugin.js +0 -240
  101. package/dist/cjs/src/plugins/modules/xems/XemsBuiltinPlugin.js.map +0 -1
  102. package/dist/cjs/src/plugins/modules/xems/XemsPlugin.js +0 -398
  103. package/dist/cjs/src/plugins/modules/xems/XemsPlugin.js.map +0 -1
  104. package/dist/cjs/src/plugins/plugin-manager.js +0 -151
  105. package/dist/cjs/src/plugins/plugin-manager.js.map +0 -1
  106. package/dist/cjs/src/plugins/route-optimization-plugin.js +0 -421
  107. package/dist/cjs/src/plugins/route-optimization-plugin.js.map +0 -1
  108. package/dist/cjs/src/quick-start.js +0 -43
  109. package/dist/cjs/src/quick-start.js.map +0 -1
  110. package/dist/cjs/src/schemas/plugingSchema.js +0 -40
  111. package/dist/cjs/src/schemas/plugingSchema.js.map +0 -1
  112. package/dist/cjs/src/server/FastServer.js +0 -824
  113. package/dist/cjs/src/server/FastServer.js.map +0 -1
  114. package/dist/cjs/src/server/ServerFactory.js +0 -136
  115. package/dist/cjs/src/server/ServerFactory.js.map +0 -1
  116. package/dist/cjs/src/server/components/fastapi/CacheManager.js +0 -245
  117. package/dist/cjs/src/server/components/fastapi/CacheManager.js.map +0 -1
  118. package/dist/cjs/src/server/components/fastapi/FileUploadManager.js +0 -197
  119. package/dist/cjs/src/server/components/fastapi/FileUploadManager.js.map +0 -1
  120. package/dist/cjs/src/server/components/fastapi/FileWatcherManager.js +0 -536
  121. package/dist/cjs/src/server/components/fastapi/FileWatcherManager.js.map +0 -1
  122. package/dist/cjs/src/server/components/fastapi/MonitoringManager.js +0 -307
  123. package/dist/cjs/src/server/components/fastapi/MonitoringManager.js.map +0 -1
  124. package/dist/cjs/src/server/components/fastapi/PerformanceManager.js +0 -297
  125. package/dist/cjs/src/server/components/fastapi/PerformanceManager.js.map +0 -1
  126. package/dist/cjs/src/server/components/fastapi/RedirectManager.js +0 -487
  127. package/dist/cjs/src/server/components/fastapi/RedirectManager.js.map +0 -1
  128. package/dist/cjs/src/server/components/fastapi/RequestProcessor.js +0 -213
  129. package/dist/cjs/src/server/components/fastapi/RequestProcessor.js.map +0 -1
  130. package/dist/cjs/src/server/components/fastapi/RouteManager.js +0 -190
  131. package/dist/cjs/src/server/components/fastapi/RouteManager.js.map +0 -1
  132. package/dist/cjs/src/server/components/fastapi/WorkerPoolComponent.js +0 -82
  133. package/dist/cjs/src/server/components/fastapi/WorkerPoolComponent.js.map +0 -1
  134. package/dist/cjs/src/server/components/fastapi/console/ConsoleInterceptor.js +0 -977
  135. package/dist/cjs/src/server/components/fastapi/console/ConsoleInterceptor.js.map +0 -1
  136. package/dist/cjs/src/server/components/fastapi/console/encryption/ConsoleEncryption.js +0 -216
  137. package/dist/cjs/src/server/components/fastapi/console/encryption/ConsoleEncryption.js.map +0 -1
  138. package/dist/cjs/src/server/components/fastapi/console/types.js +0 -131
  139. package/dist/cjs/src/server/components/fastapi/console/types.js.map +0 -1
  140. package/dist/cjs/src/server/components/fastapi/smart-routes.js +0 -347
  141. package/dist/cjs/src/server/components/fastapi/smart-routes.js.map +0 -1
  142. package/dist/cjs/src/server/components/fastapi/templates/redirectTemp.js +0 -101
  143. package/dist/cjs/src/server/components/fastapi/templates/redirectTemp.js.map +0 -1
  144. package/dist/cjs/src/server/components/multi-server/MultiServerApp.js +0 -593
  145. package/dist/cjs/src/server/components/multi-server/MultiServerApp.js.map +0 -1
  146. package/dist/cjs/src/server/components/multi-server/MultiServerManager.js +0 -352
  147. package/dist/cjs/src/server/components/multi-server/MultiServerManager.js.map +0 -1
  148. package/dist/cjs/src/server/conf/networkConnectionConf.js +0 -25
  149. package/dist/cjs/src/server/conf/networkConnectionConf.js.map +0 -1
  150. package/dist/cjs/src/server/conf/proxyConfig.js +0 -23
  151. package/dist/cjs/src/server/conf/proxyConfig.js.map +0 -1
  152. package/dist/cjs/src/server/const/ExecutionPredictor_EP.const.js +0 -73
  153. package/dist/cjs/src/server/const/ExecutionPredictor_EP.const.js.map +0 -1
  154. package/dist/cjs/src/server/const/FileWatcher.config.js +0 -98
  155. package/dist/cjs/src/server/const/FileWatcher.config.js.map +0 -1
  156. package/dist/cjs/src/server/const/default.js +0 -357
  157. package/dist/cjs/src/server/const/default.js.map +0 -1
  158. package/dist/cjs/src/server/const/http.js +0 -19
  159. package/dist/cjs/src/server/const/http.js.map +0 -1
  160. package/dist/cjs/src/server/core/HttpServer.js +0 -445
  161. package/dist/cjs/src/server/core/HttpServer.js.map +0 -1
  162. package/dist/cjs/src/server/core/RequestApp.js +0 -95
  163. package/dist/cjs/src/server/core/RequestApp.js.map +0 -1
  164. package/dist/cjs/src/server/core/RequestEnhancer.js +0 -292
  165. package/dist/cjs/src/server/core/RequestEnhancer.js.map +0 -1
  166. package/dist/cjs/src/server/core/ResponseEnhancer.js +0 -537
  167. package/dist/cjs/src/server/core/ResponseEnhancer.js.map +0 -1
  168. package/dist/cjs/src/server/core/StartupProcessor.js +0 -112
  169. package/dist/cjs/src/server/core/StartupProcessor.js.map +0 -1
  170. package/dist/cjs/src/server/core/VirtualServer.js +0 -33
  171. package/dist/cjs/src/server/core/VirtualServer.js.map +0 -1
  172. package/dist/cjs/src/server/core/XHSCBridge.js +0 -582
  173. package/dist/cjs/src/server/core/XHSCBridge.js.map +0 -1
  174. package/dist/cjs/src/server/core/XHSCProtocol.js +0 -361
  175. package/dist/cjs/src/server/core/XHSCProtocol.js.map +0 -1
  176. package/dist/cjs/src/server/core/XyDiagnosticsManager.js +0 -78
  177. package/dist/cjs/src/server/core/XyDiagnosticsManager.js.map +0 -1
  178. package/dist/cjs/src/server/core/XyLifecycleManager.js +0 -248
  179. package/dist/cjs/src/server/core/XyLifecycleManager.js.map +0 -1
  180. package/dist/cjs/src/server/core/XyModuleManager.js +0 -161
  181. package/dist/cjs/src/server/core/XyModuleManager.js.map +0 -1
  182. package/dist/cjs/src/server/core/XyRoutingManager.js +0 -187
  183. package/dist/cjs/src/server/core/XyRoutingManager.js.map +0 -1
  184. package/dist/cjs/src/server/core/XyServerCreator.js +0 -96
  185. package/dist/cjs/src/server/core/XyServerCreator.js.map +0 -1
  186. package/dist/cjs/src/server/core/XyprissApp.js +0 -495
  187. package/dist/cjs/src/server/core/XyprissApp.js.map +0 -1
  188. package/dist/cjs/src/server/core/request/XyRequestManager.js +0 -229
  189. package/dist/cjs/src/server/core/request/XyRequestManager.js.map +0 -1
  190. package/dist/cjs/src/server/handlers/NotFoundHandler.js +0 -84
  191. package/dist/cjs/src/server/handlers/NotFoundHandler.js.map +0 -1
  192. package/dist/cjs/src/server/handlers/templates/notFoundTemplate.js +0 -655
  193. package/dist/cjs/src/server/handlers/templates/notFoundTemplate.js.map +0 -1
  194. package/dist/cjs/src/server/middleware/MiddlewareManager.js +0 -197
  195. package/dist/cjs/src/server/middleware/MiddlewareManager.js.map +0 -1
  196. package/dist/cjs/src/server/optimization/ExecutionPredictor.js +0 -218
  197. package/dist/cjs/src/server/optimization/ExecutionPredictor.js.map +0 -1
  198. package/dist/cjs/src/server/optimization/PerformanceProfiler.js +0 -234
  199. package/dist/cjs/src/server/optimization/PerformanceProfiler.js.map +0 -1
  200. package/dist/cjs/src/server/optimization/RequestPreCompiler.js +0 -709
  201. package/dist/cjs/src/server/optimization/RequestPreCompiler.js.map +0 -1
  202. package/dist/cjs/src/server/optimization/UltraFastOptimizer.js +0 -427
  203. package/dist/cjs/src/server/optimization/UltraFastOptimizer.js.map +0 -1
  204. package/dist/cjs/src/server/optimization/performance-monitor.js +0 -160
  205. package/dist/cjs/src/server/optimization/performance-monitor.js.map +0 -1
  206. package/dist/cjs/src/server/routing/Router.js +0 -353
  207. package/dist/cjs/src/server/routing/Router.js.map +0 -1
  208. package/dist/cjs/src/server/service/Reload/FileWatcher.js +0 -755
  209. package/dist/cjs/src/server/service/Reload/FileWatcher.js.map +0 -1
  210. package/dist/cjs/src/server/service/Reload/HotReloader.js +0 -737
  211. package/dist/cjs/src/server/service/Reload/HotReloader.js.map +0 -1
  212. package/dist/cjs/src/server/service/Reload/exec/TypeScriptExecutor.js +0 -341
  213. package/dist/cjs/src/server/service/Reload/exec/TypeScriptExecutor.js.map +0 -1
  214. package/dist/cjs/src/server/utils/ConfigLoader.js +0 -368
  215. package/dist/cjs/src/server/utils/ConfigLoader.js.map +0 -1
  216. package/dist/cjs/src/server/utils/PortManager.js +0 -237
  217. package/dist/cjs/src/server/utils/PortManager.js.map +0 -1
  218. package/dist/cjs/src/server/utils/WorkerModeHandler.js +0 -65
  219. package/dist/cjs/src/server/utils/WorkerModeHandler.js.map +0 -1
  220. package/dist/cjs/src/server/utils/forceClosePort.js +0 -332
  221. package/dist/cjs/src/server/utils/forceClosePort.js.map +0 -1
  222. package/dist/cjs/src/server/utils/trustProxy.js +0 -778
  223. package/dist/cjs/src/server/utils/trustProxy.js.map +0 -1
  224. package/dist/cjs/src/sys/FSApi.js +0 -1160
  225. package/dist/cjs/src/sys/FSApi.js.map +0 -1
  226. package/dist/cjs/src/sys/PathApi.js +0 -202
  227. package/dist/cjs/src/sys/PathApi.js.map +0 -1
  228. package/dist/cjs/src/sys/SysApi.js +0 -421
  229. package/dist/cjs/src/sys/SysApi.js.map +0 -1
  230. package/dist/cjs/src/sys/System.js +0 -40
  231. package/dist/cjs/src/sys/System.js.map +0 -1
  232. package/dist/cjs/src/sys/XyPrissCache.js +0 -70
  233. package/dist/cjs/src/sys/XyPrissCache.js.map +0 -1
  234. package/dist/cjs/src/sys/XyPrissRunner.js +0 -248
  235. package/dist/cjs/src/sys/XyPrissRunner.js.map +0 -1
  236. package/dist/cjs/src/sys.js +0 -464
  237. package/dist/cjs/src/sys.js.map +0 -1
  238. package/dist/cjs/src/types/NotFoundConfig.js +0 -86
  239. package/dist/cjs/src/types/NotFoundConfig.js.map +0 -1
  240. package/dist/cjs/src/utils/DotEnvLoader.js +0 -74
  241. package/dist/cjs/src/utils/DotEnvLoader.js.map +0 -1
  242. package/dist/cjs/src/utils/mergeWithDefaults.js +0 -176
  243. package/dist/cjs/src/utils/mergeWithDefaults.js.map +0 -1
  244. package/dist/cjs/src/xhs/cluster/XHSCWorker.js +0 -202
  245. package/dist/cjs/src/xhs/cluster/XHSCWorker.js.map +0 -1
  246. package/dist/esm/src/FiUp.js +0 -82
  247. package/dist/esm/src/FiUp.js.map +0 -1
  248. package/dist/esm/src/cache/CacheFactory.js +0 -412
  249. package/dist/esm/src/cache/CacheFactory.js.map +0 -1
  250. package/dist/esm/src/config.js +0 -364
  251. package/dist/esm/src/config.js.map +0 -1
  252. package/dist/esm/src/const.js +0 -574
  253. package/dist/esm/src/const.js.map +0 -1
  254. package/dist/esm/src/file-upload.js +0 -250
  255. package/dist/esm/src/file-upload.js.map +0 -1
  256. package/dist/esm/src/index.js +0 -62
  257. package/dist/esm/src/index.js.map +0 -1
  258. package/dist/esm/src/middleware/XJsonResponseHandler.js +0 -178
  259. package/dist/esm/src/middleware/XJsonResponseHandler.js.map +0 -1
  260. package/dist/esm/src/middleware/XemsSessionMiddleware.js +0 -113
  261. package/dist/esm/src/middleware/XemsSessionMiddleware.js.map +0 -1
  262. package/dist/esm/src/middleware/XyPrissMiddlewareAPI.js +0 -352
  263. package/dist/esm/src/middleware/XyPrissMiddlewareAPI.js.map +0 -1
  264. package/dist/esm/src/middleware/built-in/BuiltInMiddleware.js +0 -460
  265. package/dist/esm/src/middleware/built-in/BuiltInMiddleware.js.map +0 -1
  266. package/dist/esm/src/middleware/built-in/security/BrowserOnlyProtector.js +0 -550
  267. package/dist/esm/src/middleware/built-in/security/BrowserOnlyProtector.js.map +0 -1
  268. package/dist/esm/src/middleware/built-in/security/CommandInjectionDetector.js +0 -213
  269. package/dist/esm/src/middleware/built-in/security/CommandInjectionDetector.js.map +0 -1
  270. package/dist/esm/src/middleware/built-in/security/LDAPInjectionDetector.js +0 -94
  271. package/dist/esm/src/middleware/built-in/security/LDAPInjectionDetector.js.map +0 -1
  272. package/dist/esm/src/middleware/built-in/security/MobileOnlyProtector.js +0 -502
  273. package/dist/esm/src/middleware/built-in/security/MobileOnlyProtector.js.map +0 -1
  274. package/dist/esm/src/middleware/built-in/security/PathTraversalDetector.js +0 -210
  275. package/dist/esm/src/middleware/built-in/security/PathTraversalDetector.js.map +0 -1
  276. package/dist/esm/src/middleware/built-in/security/RequestSignatureProtector.js +0 -460
  277. package/dist/esm/src/middleware/built-in/security/RequestSignatureProtector.js.map +0 -1
  278. package/dist/esm/src/middleware/built-in/security/SQLInjectionDetector.js +0 -335
  279. package/dist/esm/src/middleware/built-in/security/SQLInjectionDetector.js.map +0 -1
  280. package/dist/esm/src/middleware/built-in/security/TerminalOnlyProtector.js +0 -476
  281. package/dist/esm/src/middleware/built-in/security/TerminalOnlyProtector.js.map +0 -1
  282. package/dist/esm/src/middleware/built-in/security/XXEProtector.js +0 -173
  283. package/dist/esm/src/middleware/built-in/security/XXEProtector.js.map +0 -1
  284. package/dist/esm/src/middleware/safe-json-middleware.js +0 -149
  285. package/dist/esm/src/middleware/safe-json-middleware.js.map +0 -1
  286. package/dist/esm/src/middleware/security-middleware.js +0 -1102
  287. package/dist/esm/src/middleware/security-middleware.js.map +0 -1
  288. package/dist/esm/src/plugins/PluginManager.js +0 -408
  289. package/dist/esm/src/plugins/PluginManager.js.map +0 -1
  290. package/dist/esm/src/plugins/api/PluginAPI.js +0 -195
  291. package/dist/esm/src/plugins/api/PluginAPI.js.map +0 -1
  292. package/dist/esm/src/plugins/const/PluginHookIds.js +0 -61
  293. package/dist/esm/src/plugins/const/PluginHookIds.js.map +0 -1
  294. package/dist/esm/src/plugins/core/PluginManager.js +0 -681
  295. package/dist/esm/src/plugins/core/PluginManager.js.map +0 -1
  296. package/dist/esm/src/plugins/modules/PluginEngine.js +0 -492
  297. package/dist/esm/src/plugins/modules/PluginEngine.js.map +0 -1
  298. package/dist/esm/src/plugins/modules/PluginRegistry.js +0 -307
  299. package/dist/esm/src/plugins/modules/PluginRegistry.js.map +0 -1
  300. package/dist/esm/src/plugins/modules/builtin/SmartCachePlugin.js +0 -841
  301. package/dist/esm/src/plugins/modules/builtin/SmartCachePlugin.js.map +0 -1
  302. package/dist/esm/src/plugins/modules/builtin/server-maintenance-plugin.js +0 -566
  303. package/dist/esm/src/plugins/modules/builtin/server-maintenance-plugin.js.map +0 -1
  304. package/dist/esm/src/plugins/modules/core/CachePlugin.js +0 -1968
  305. package/dist/esm/src/plugins/modules/core/CachePlugin.js.map +0 -1
  306. package/dist/esm/src/plugins/modules/network/builtin/ConnectionPlugin.js +0 -776
  307. package/dist/esm/src/plugins/modules/network/builtin/ConnectionPlugin.js.map +0 -1
  308. package/dist/esm/src/plugins/modules/network/builtin/ProxyPlugin.js +0 -422
  309. package/dist/esm/src/plugins/modules/network/builtin/ProxyPlugin.js.map +0 -1
  310. package/dist/esm/src/plugins/modules/network/core/NetworkPlugin.js +0 -228
  311. package/dist/esm/src/plugins/modules/network/core/NetworkPlugin.js.map +0 -1
  312. package/dist/esm/src/plugins/modules/network/types/NetworkTypes.js +0 -24
  313. package/dist/esm/src/plugins/modules/network/types/NetworkTypes.js.map +0 -1
  314. package/dist/esm/src/plugins/modules/types/PluginTypes.js +0 -48
  315. package/dist/esm/src/plugins/modules/types/PluginTypes.js.map +0 -1
  316. package/dist/esm/src/plugins/modules/xems/XemsBuiltinPlugin.js +0 -238
  317. package/dist/esm/src/plugins/modules/xems/XemsBuiltinPlugin.js.map +0 -1
  318. package/dist/esm/src/plugins/modules/xems/XemsPlugin.js +0 -374
  319. package/dist/esm/src/plugins/modules/xems/XemsPlugin.js.map +0 -1
  320. package/dist/esm/src/plugins/plugin-manager.js +0 -149
  321. package/dist/esm/src/plugins/plugin-manager.js.map +0 -1
  322. package/dist/esm/src/plugins/route-optimization-plugin.js +0 -419
  323. package/dist/esm/src/plugins/route-optimization-plugin.js.map +0 -1
  324. package/dist/esm/src/quick-start.js +0 -41
  325. package/dist/esm/src/quick-start.js.map +0 -1
  326. package/dist/esm/src/schemas/plugingSchema.js +0 -38
  327. package/dist/esm/src/schemas/plugingSchema.js.map +0 -1
  328. package/dist/esm/src/server/FastServer.js +0 -822
  329. package/dist/esm/src/server/FastServer.js.map +0 -1
  330. package/dist/esm/src/server/ServerFactory.js +0 -122
  331. package/dist/esm/src/server/ServerFactory.js.map +0 -1
  332. package/dist/esm/src/server/components/fastapi/CacheManager.js +0 -243
  333. package/dist/esm/src/server/components/fastapi/CacheManager.js.map +0 -1
  334. package/dist/esm/src/server/components/fastapi/FileUploadManager.js +0 -176
  335. package/dist/esm/src/server/components/fastapi/FileUploadManager.js.map +0 -1
  336. package/dist/esm/src/server/components/fastapi/FileWatcherManager.js +0 -534
  337. package/dist/esm/src/server/components/fastapi/FileWatcherManager.js.map +0 -1
  338. package/dist/esm/src/server/components/fastapi/MonitoringManager.js +0 -305
  339. package/dist/esm/src/server/components/fastapi/MonitoringManager.js.map +0 -1
  340. package/dist/esm/src/server/components/fastapi/PerformanceManager.js +0 -295
  341. package/dist/esm/src/server/components/fastapi/PerformanceManager.js.map +0 -1
  342. package/dist/esm/src/server/components/fastapi/RedirectManager.js +0 -485
  343. package/dist/esm/src/server/components/fastapi/RedirectManager.js.map +0 -1
  344. package/dist/esm/src/server/components/fastapi/RequestProcessor.js +0 -211
  345. package/dist/esm/src/server/components/fastapi/RequestProcessor.js.map +0 -1
  346. package/dist/esm/src/server/components/fastapi/RouteManager.js +0 -188
  347. package/dist/esm/src/server/components/fastapi/RouteManager.js.map +0 -1
  348. package/dist/esm/src/server/components/fastapi/WorkerPoolComponent.js +0 -80
  349. package/dist/esm/src/server/components/fastapi/WorkerPoolComponent.js.map +0 -1
  350. package/dist/esm/src/server/components/fastapi/console/ConsoleInterceptor.js +0 -975
  351. package/dist/esm/src/server/components/fastapi/console/ConsoleInterceptor.js.map +0 -1
  352. package/dist/esm/src/server/components/fastapi/console/encryption/ConsoleEncryption.js +0 -214
  353. package/dist/esm/src/server/components/fastapi/console/encryption/ConsoleEncryption.js.map +0 -1
  354. package/dist/esm/src/server/components/fastapi/console/types.js +0 -128
  355. package/dist/esm/src/server/components/fastapi/console/types.js.map +0 -1
  356. package/dist/esm/src/server/components/fastapi/smart-routes.js +0 -345
  357. package/dist/esm/src/server/components/fastapi/smart-routes.js.map +0 -1
  358. package/dist/esm/src/server/components/fastapi/templates/redirectTemp.js +0 -99
  359. package/dist/esm/src/server/components/fastapi/templates/redirectTemp.js.map +0 -1
  360. package/dist/esm/src/server/components/multi-server/MultiServerApp.js +0 -591
  361. package/dist/esm/src/server/components/multi-server/MultiServerApp.js.map +0 -1
  362. package/dist/esm/src/server/components/multi-server/MultiServerManager.js +0 -350
  363. package/dist/esm/src/server/components/multi-server/MultiServerManager.js.map +0 -1
  364. package/dist/esm/src/server/conf/networkConnectionConf.js +0 -23
  365. package/dist/esm/src/server/conf/networkConnectionConf.js.map +0 -1
  366. package/dist/esm/src/server/conf/proxyConfig.js +0 -21
  367. package/dist/esm/src/server/conf/proxyConfig.js.map +0 -1
  368. package/dist/esm/src/server/const/ExecutionPredictor_EP.const.js +0 -62
  369. package/dist/esm/src/server/const/ExecutionPredictor_EP.const.js.map +0 -1
  370. package/dist/esm/src/server/const/FileWatcher.config.js +0 -96
  371. package/dist/esm/src/server/const/FileWatcher.config.js.map +0 -1
  372. package/dist/esm/src/server/const/default.js +0 -353
  373. package/dist/esm/src/server/const/default.js.map +0 -1
  374. package/dist/esm/src/server/const/http.js +0 -17
  375. package/dist/esm/src/server/const/http.js.map +0 -1
  376. package/dist/esm/src/server/core/HttpServer.js +0 -443
  377. package/dist/esm/src/server/core/HttpServer.js.map +0 -1
  378. package/dist/esm/src/server/core/RequestApp.js +0 -93
  379. package/dist/esm/src/server/core/RequestApp.js.map +0 -1
  380. package/dist/esm/src/server/core/RequestEnhancer.js +0 -290
  381. package/dist/esm/src/server/core/RequestEnhancer.js.map +0 -1
  382. package/dist/esm/src/server/core/ResponseEnhancer.js +0 -535
  383. package/dist/esm/src/server/core/ResponseEnhancer.js.map +0 -1
  384. package/dist/esm/src/server/core/StartupProcessor.js +0 -110
  385. package/dist/esm/src/server/core/StartupProcessor.js.map +0 -1
  386. package/dist/esm/src/server/core/VirtualServer.js +0 -31
  387. package/dist/esm/src/server/core/VirtualServer.js.map +0 -1
  388. package/dist/esm/src/server/core/XHSCBridge.js +0 -560
  389. package/dist/esm/src/server/core/XHSCBridge.js.map +0 -1
  390. package/dist/esm/src/server/core/XHSCProtocol.js +0 -358
  391. package/dist/esm/src/server/core/XHSCProtocol.js.map +0 -1
  392. package/dist/esm/src/server/core/XyDiagnosticsManager.js +0 -76
  393. package/dist/esm/src/server/core/XyDiagnosticsManager.js.map +0 -1
  394. package/dist/esm/src/server/core/XyLifecycleManager.js +0 -246
  395. package/dist/esm/src/server/core/XyLifecycleManager.js.map +0 -1
  396. package/dist/esm/src/server/core/XyModuleManager.js +0 -159
  397. package/dist/esm/src/server/core/XyModuleManager.js.map +0 -1
  398. package/dist/esm/src/server/core/XyRoutingManager.js +0 -185
  399. package/dist/esm/src/server/core/XyRoutingManager.js.map +0 -1
  400. package/dist/esm/src/server/core/XyServerCreator.js +0 -94
  401. package/dist/esm/src/server/core/XyServerCreator.js.map +0 -1
  402. package/dist/esm/src/server/core/XyprissApp.js +0 -493
  403. package/dist/esm/src/server/core/XyprissApp.js.map +0 -1
  404. package/dist/esm/src/server/core/request/XyRequestManager.js +0 -227
  405. package/dist/esm/src/server/core/request/XyRequestManager.js.map +0 -1
  406. package/dist/esm/src/server/handlers/NotFoundHandler.js +0 -81
  407. package/dist/esm/src/server/handlers/NotFoundHandler.js.map +0 -1
  408. package/dist/esm/src/server/handlers/templates/notFoundTemplate.js +0 -653
  409. package/dist/esm/src/server/handlers/templates/notFoundTemplate.js.map +0 -1
  410. package/dist/esm/src/server/middleware/MiddlewareManager.js +0 -195
  411. package/dist/esm/src/server/middleware/MiddlewareManager.js.map +0 -1
  412. package/dist/esm/src/server/optimization/ExecutionPredictor.js +0 -216
  413. package/dist/esm/src/server/optimization/ExecutionPredictor.js.map +0 -1
  414. package/dist/esm/src/server/optimization/PerformanceProfiler.js +0 -232
  415. package/dist/esm/src/server/optimization/PerformanceProfiler.js.map +0 -1
  416. package/dist/esm/src/server/optimization/RequestPreCompiler.js +0 -707
  417. package/dist/esm/src/server/optimization/RequestPreCompiler.js.map +0 -1
  418. package/dist/esm/src/server/optimization/UltraFastOptimizer.js +0 -424
  419. package/dist/esm/src/server/optimization/UltraFastOptimizer.js.map +0 -1
  420. package/dist/esm/src/server/optimization/performance-monitor.js +0 -158
  421. package/dist/esm/src/server/optimization/performance-monitor.js.map +0 -1
  422. package/dist/esm/src/server/routing/Router.js +0 -351
  423. package/dist/esm/src/server/routing/Router.js.map +0 -1
  424. package/dist/esm/src/server/service/Reload/FileWatcher.js +0 -734
  425. package/dist/esm/src/server/service/Reload/FileWatcher.js.map +0 -1
  426. package/dist/esm/src/server/service/Reload/HotReloader.js +0 -735
  427. package/dist/esm/src/server/service/Reload/HotReloader.js.map +0 -1
  428. package/dist/esm/src/server/service/Reload/exec/TypeScriptExecutor.js +0 -339
  429. package/dist/esm/src/server/service/Reload/exec/TypeScriptExecutor.js.map +0 -1
  430. package/dist/esm/src/server/utils/ConfigLoader.js +0 -345
  431. package/dist/esm/src/server/utils/ConfigLoader.js.map +0 -1
  432. package/dist/esm/src/server/utils/PortManager.js +0 -235
  433. package/dist/esm/src/server/utils/PortManager.js.map +0 -1
  434. package/dist/esm/src/server/utils/WorkerModeHandler.js +0 -63
  435. package/dist/esm/src/server/utils/WorkerModeHandler.js.map +0 -1
  436. package/dist/esm/src/server/utils/forceClosePort.js +0 -330
  437. package/dist/esm/src/server/utils/forceClosePort.js.map +0 -1
  438. package/dist/esm/src/server/utils/trustProxy.js +0 -776
  439. package/dist/esm/src/server/utils/trustProxy.js.map +0 -1
  440. package/dist/esm/src/sys/FSApi.js +0 -1158
  441. package/dist/esm/src/sys/FSApi.js.map +0 -1
  442. package/dist/esm/src/sys/PathApi.js +0 -199
  443. package/dist/esm/src/sys/PathApi.js.map +0 -1
  444. package/dist/esm/src/sys/SysApi.js +0 -419
  445. package/dist/esm/src/sys/SysApi.js.map +0 -1
  446. package/dist/esm/src/sys/System.js +0 -38
  447. package/dist/esm/src/sys/System.js.map +0 -1
  448. package/dist/esm/src/sys/XyPrissCache.js +0 -68
  449. package/dist/esm/src/sys/XyPrissCache.js.map +0 -1
  450. package/dist/esm/src/sys/XyPrissRunner.js +0 -244
  451. package/dist/esm/src/sys/XyPrissRunner.js.map +0 -1
  452. package/dist/esm/src/sys.js +0 -461
  453. package/dist/esm/src/sys.js.map +0 -1
  454. package/dist/esm/src/types/NotFoundConfig.js +0 -84
  455. package/dist/esm/src/types/NotFoundConfig.js.map +0 -1
  456. package/dist/esm/src/utils/DotEnvLoader.js +0 -72
  457. package/dist/esm/src/utils/DotEnvLoader.js.map +0 -1
  458. package/dist/esm/src/utils/mergeWithDefaults.js +0 -174
  459. package/dist/esm/src/utils/mergeWithDefaults.js.map +0 -1
  460. package/dist/esm/src/xhs/cluster/XHSCWorker.js +0 -181
  461. package/dist/esm/src/xhs/cluster/XHSCWorker.js.map +0 -1
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2025 Nehonix Team
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
@@ -0,0 +1,229 @@
1
+ # XyPriss Compression
2
+
3
+ Custom compression middleware for Express/Connect with strict algorithm enforcement.
4
+
5
+ ## Key Feature
6
+
7
+ Unlike the standard `compression` package, `xypriss-compression` enforces which compression algorithms can be used. If you configure `algorithms: ['br', 'deflate']`, it will never use gzip, even if the client requests it.
8
+
9
+ ## Problem Solved
10
+
11
+ The original `compression` package has no way to restrict which algorithms are used. It automatically chooses based on the client's `Accept-Encoding` header, ignoring your configuration.
12
+
13
+ **Example of the problem:**
14
+
15
+ ```javascript
16
+ // Using standard 'compression' package
17
+ const compression = require("compression");
18
+ app.use(
19
+ compression({
20
+ // This option doesn't exist!
21
+ // algorithms: ['br', 'deflate']
22
+ })
23
+ );
24
+
25
+ // Client requests gzip → Server uses gzip (no control!)
26
+ ```
27
+
28
+ **With xypriss-compression:**
29
+
30
+ ```typescript
31
+ import compression from "xypriss-compression-pluging";
32
+
33
+ app.use(
34
+ compression({
35
+ algorithms: ["br", "deflate"], // STRICTLY ENFORCED
36
+ })
37
+ );
38
+
39
+ // Client requests gzip → Server responds with identity (uncompressed)
40
+ // Client requests br → Server uses brotli
41
+ // Client requests deflate → Server uses deflate
42
+ ```
43
+
44
+ ## Installation
45
+
46
+ ```bash
47
+ npm install xypriss-compression
48
+ ```
49
+
50
+ ## Usage
51
+
52
+ ### Basic Usage
53
+
54
+ ```typescript
55
+ import express from "express";
56
+ import compression from "xypriss-compression-pluging";
57
+
58
+ const app = express();
59
+
60
+ // Use with default settings (gzip, deflate)
61
+ app.use(compression());
62
+
63
+ app.listen(3000);
64
+ ```
65
+
66
+ ### With Algorithm Enforcement
67
+
68
+ ```typescript
69
+ import compression from "xypriss-compression-pluging";
70
+
71
+ app.use(
72
+ compression({
73
+ // Only allow Brotli and Deflate
74
+ algorithms: ["br", "deflate"],
75
+
76
+ // Compression level (1-9 for gzip/deflate, 0-11 for brotli)
77
+ level: 6,
78
+
79
+ // Minimum size to compress (1KB)
80
+ threshold: "1kb",
81
+ })
82
+ );
83
+ ```
84
+
85
+ ### Advanced Configuration
86
+
87
+ ```typescript
88
+ app.use(
89
+ compression({
90
+ algorithms: ["br", "gzip"],
91
+ level: 9,
92
+ threshold: 2048,
93
+
94
+ // Custom filter
95
+ filter: (req, res) => {
96
+ // Don't compress images
97
+ const type = res.getHeader("Content-Type");
98
+ if (type && type.toString().startsWith("image/")) {
99
+ return false;
100
+ }
101
+ return true;
102
+ },
103
+
104
+ // Brotli-specific options
105
+ brotli: {
106
+ params: {
107
+ [zlib.constants.BROTLI_PARAM_MODE]: zlib.constants.BROTLI_MODE_TEXT,
108
+ },
109
+ },
110
+
111
+ // Gzip-specific options
112
+ gzip: {
113
+ memLevel: 8,
114
+ },
115
+ })
116
+ );
117
+ ```
118
+
119
+ ## API
120
+
121
+ ### `compression(options?)`
122
+
123
+ Creates a compression middleware.
124
+
125
+ #### Options
126
+
127
+ | Option | Type | Default | Description |
128
+ | ------------ | ------------------------------------ | --------------------- | --------------------------------------------------------- |
129
+ | `algorithms` | `Array<'gzip' \| 'deflate' \| 'br'>` | `['gzip', 'deflate']` | Strictly enforced list of allowed algorithms |
130
+ | `level` | `number` | `6` | Compression level (1-9 for gzip/deflate, 0-11 for brotli) |
131
+ | `threshold` | `number \| string` | `1024` | Minimum response size to compress |
132
+ | `filter` | `Function` | `shouldCompress` | Custom filter function |
133
+ | `brotli` | `BrotliOptions` | `{}` | Brotli-specific options |
134
+ | `gzip` | `ZlibOptions` | `{}` | Gzip-specific options |
135
+ | `deflate` | `ZlibOptions` | `{}` | Deflate-specific options |
136
+
137
+ ## How It Works
138
+
139
+ 1. Client sends request with `Accept-Encoding: gzip, deflate, br`
140
+ 2. Middleware checks which algorithms are in the `algorithms` config
141
+ 3. Selects best match from allowed algorithms (priority: br > gzip > deflate)
142
+ 4. If no match, responds with uncompressed data (identity)
143
+
144
+ ### Algorithm Selection Priority
145
+
146
+ When multiple algorithms are allowed and accepted by the client:
147
+
148
+ 1. **Brotli (br)** - Best compression ratio
149
+ 2. **Gzip (gzip)** - Good compression, widely supported
150
+ 3. **Deflate (deflate)** - Faster but less efficient
151
+
152
+ ## Comparison with `compression`
153
+
154
+ | Feature | `compression` | `xypriss-compression` |
155
+ | --------------------- | ------------- | --------------------- |
156
+ | Algorithm enforcement | No | Yes |
157
+ | TypeScript | No | Yes |
158
+ | Custom filters | Yes | Yes |
159
+ | Threshold | Yes | Yes |
160
+ | Brotli support | Yes | Yes |
161
+
162
+ ## Use Cases
163
+
164
+ ### Security Compliance
165
+
166
+ ```typescript
167
+ // Only use approved algorithms
168
+ app.use(
169
+ compression({
170
+ algorithms: ["br"], // Company policy: Brotli only
171
+ })
172
+ );
173
+ ```
174
+
175
+ ### Performance Optimization
176
+
177
+ ```typescript
178
+ // Prefer speed over compression ratio
179
+ app.use(
180
+ compression({
181
+ algorithms: ["deflate"], // Fastest
182
+ level: 1,
183
+ })
184
+ );
185
+ ```
186
+
187
+ ### Modern Browsers Only
188
+
189
+ ```typescript
190
+ // Serve Brotli to modern browsers, nothing to old ones
191
+ app.use(
192
+ compression({
193
+ algorithms: ["br"],
194
+ filter: (req, res) => {
195
+ // Fallback to uncompressed for old browsers
196
+ return req.headers["user-agent"]?.includes("Chrome") || false;
197
+ },
198
+ })
199
+ );
200
+ ```
201
+
202
+ ## Debugging
203
+
204
+ Enable debug logs:
205
+
206
+ ```bash
207
+ DEBUG=xypriss:compression node app.js
208
+ ```
209
+
210
+ ## License
211
+
212
+ MIT
213
+
214
+ ## Author
215
+
216
+ **Nehonix Team**
217
+
218
+ - Website: [nehonix.com](https://nehonix.com)
219
+ - GitHub: [@Nehonix-Team](https://github.com/Nehonix-Team)
220
+
221
+ ## Credits
222
+
223
+ Based on [expressjs/compression](https://github.com/expressjs/compression) but with strict algorithm enforcement.
224
+
225
+ ## Links
226
+
227
+ - [GitHub Repository](https://github.com/Nehonix-Team/xypriss-compression-plugin)
228
+ - [Issue Tracker](https://github.com/Nehonix-Team/xypriss-compression-plugin/issues)
229
+ - [XyPriss Framework](https://github.com/Nehonix-Team/XyPriss)
@@ -0,0 +1,64 @@
1
+ {
2
+ "name": "xypriss-compression-pluging",
3
+ "version": "1.0.3",
4
+ "description": "Custom compression middleware for XyPriss with strict algorithm enforcement",
5
+ "main": "dist/index.js",
6
+ "types": "dist/index.d.ts",
7
+ "keywords": [
8
+ "compression",
9
+ "gzip",
10
+ "deflate",
11
+ "brotli",
12
+ "br",
13
+ "middleware",
14
+ "express",
15
+ "xypriss",
16
+ "http",
17
+ "stream",
18
+ "algorithm-enforcement",
19
+ "typescript"
20
+ ],
21
+ "author": {
22
+ "name": "Nehonix Team",
23
+ "url": "https://nehonix.com"
24
+ },
25
+ "license": "MIT",
26
+ "repository": {
27
+ "type": "git",
28
+ "url": "https://github.com/Nehonix-Team/xypriss-compression-plugin.git"
29
+ },
30
+ "bugs": {
31
+ "url": "https://github.com/Nehonix-Team/xypriss-compression-plugin/issues"
32
+ },
33
+ "homepage": "https://github.com/Nehonix-Team/xypriss-compression-plugin#readme",
34
+ "dependencies": {
35
+ "bytes": "^3.1.2",
36
+ "compressible": "^2.0.18",
37
+ "debug": "^2.6.9",
38
+ "on-headers": "^1.1.0",
39
+ "vary": "^1.1.2"
40
+ },
41
+ "devDependencies": {
42
+ "@types/bytes": "^3.1.4",
43
+ "@types/compressible": "^2.0.2",
44
+ "@types/debug": "^4.1.12",
45
+ "@types/negotiator": "^0.6.4",
46
+ "@types/node": "^20.0.0",
47
+ "@types/on-headers": "^1.0.4",
48
+ "@types/vary": "^1.1.3",
49
+ "typescript": "^5.3.0"
50
+ },
51
+ "engines": {
52
+ "node": ">= 14.0.0"
53
+ },
54
+ "files": [
55
+ "dist",
56
+ "LICENSE",
57
+ "README.md"
58
+ ],
59
+ "scripts": {
60
+ "build": "tsc",
61
+ "dev": "tsc --watch",
62
+ "prepublishOnly": "npm run build"
63
+ }
64
+ }
package/dist/index.d.ts CHANGED
@@ -8287,42 +8287,6 @@ declare class XyPrissRouter {
8287
8287
  private _matchPathWithPattern;
8288
8288
  }
8289
8289
 
8290
- /**
8291
- * XyPrissJS Smart Routes
8292
- * Intelligent route handlers with automatic optimization, caching, and security
8293
- */
8294
-
8295
- /**
8296
- * Smart route configuration for intelligent caching
8297
- */
8298
- interface SmartRouteConfig {
8299
- ttl?: number;
8300
- tags?: string[];
8301
- strategy?: "always" | "conditional" | "smart" | "never";
8302
- conditions?: {
8303
- methods?: string[];
8304
- statusCodes?: number[];
8305
- headers?: Record<string, string>;
8306
- queryParams?: string[];
8307
- };
8308
- smart?: {
8309
- minHits?: number;
8310
- hitWindow?: number;
8311
- adaptiveTTL?: boolean;
8312
- };
8313
- invalidation?: {
8314
- onMethods?: string[];
8315
- onRoutes?: string[];
8316
- onTags?: string[];
8317
- };
8318
- }
8319
- /**
8320
- * Create a secure route with maximum protection
8321
- */
8322
- declare function Route(config: Omit<RouteConfig, "security"> & {
8323
- security?: Partial<RouteConfig["security"]>;
8324
- }): MiddlewareFunction$1;
8325
-
8326
8290
  /**
8327
8291
  * XyPrissJS Cache Factory
8328
8292
  *@version 4.1.8
@@ -9137,5 +9101,5 @@ declare global {
9137
9101
  */
9138
9102
  declare function Router(): XyPrissRouter;
9139
9103
 
9140
- export { ConfigurationManager as CM, ConfigurationManager as Configs, FileUploadAPI as FLA, FileUploadAPI, PerformanceMonitor, Plugin, PluginHookIds, Route, Router, SecurityMiddleware, TrustProxy, Upload, XJsonResponseHandler, MultiServerApp as XyPMS, XyPrissRouter, XyPrissSys, __cfg__, __const__, __sys__, createCircularRefDebugger, createOptimalCache, createSafeJsonMiddleware, createServer, initializeFileUpload, mergeWithDefaults, mergeWithDefaults as mwdef, quickServer, safeJsonStringify, sendSafeJson, setupSafeJson, uploadAny, uploadArray, uploadFields, uploadSingle, xems };
9141
- export type { ArchiveOptions, BatchRenameChange, CacheConfig, FileUploadConfig as FiUpConfig, FileUploadConfig, MonitorSnapshot, MultiServerConfig, NetworkStats, NextFunction, PerformanceConfig, PluginCreator, ProcessInfo, ProcessMonitorSnapshot, XyPrisRequest as Request, RequestHandler, XyPrisResponse as Response, RouteConfig, RouteOptions, SecurityConfig, ServerOptions$1 as ServerOptions, SmartRouteConfig, TrustProxyValue$1 as TrustProxyValue, UltraFastApp, XemsTypes, XyPrisRequest, XyPrisResponse, XyPrissPlugin, XyPrisRequest as XyPrissRequest, XyPrisResponse as XyPrissResponse };
9104
+ export { ConfigurationManager as CM, ConfigurationManager as Configs, FileUploadAPI as FLA, FileUploadAPI, PerformanceMonitor, Plugin, PluginHookIds, Router, SecurityMiddleware, TrustProxy, Upload, XJsonResponseHandler, MultiServerApp as XyPMS, XyPrissRouter, XyPrissSys, __cfg__, __const__, __sys__, createCircularRefDebugger, createOptimalCache, createSafeJsonMiddleware, createServer, initializeFileUpload, mergeWithDefaults, mergeWithDefaults as mwdef, quickServer, safeJsonStringify, sendSafeJson, setupSafeJson, uploadAny, uploadArray, uploadFields, uploadSingle, xems };
9105
+ export type { ArchiveOptions, BatchRenameChange, CacheConfig, FileUploadConfig as FiUpConfig, FileUploadConfig, MonitorSnapshot, MultiServerConfig, NetworkStats, NextFunction, PerformanceConfig, PluginCreator, ProcessInfo, ProcessMonitorSnapshot, XyPrisRequest as Request, RequestHandler, XyPrisResponse as Response, RouteConfig, RouteOptions, SecurityConfig, ServerOptions$1 as ServerOptions, TrustProxyValue$1 as TrustProxyValue, UltraFastApp, XemsTypes, XyPrisRequest, XyPrisResponse, XyPrissPlugin, XyPrisRequest as XyPrissRequest, XyPrisResponse as XyPrissResponse };
@@ -0,0 +1,3 @@
1
+ export type LoggerConfig = NonNullable<ServerOptions["logging"]>;
2
+ export declare const DEFAULT_LOGGER_CONFIG: LoggerConfig;
3
+ //# sourceMappingURL=DEFAULT_LOGGER_CONFIG.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DEFAULT_LOGGER_CONFIG.d.ts","sourceRoot":"","sources":["../../../shared/logger/DEFAULT_LOGGER_CONFIG.ts"],"names":[],"mappings":"AAEA,MAAM,MAAM,YAAY,GAAG,WAAW,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC,CAAC;AAEjE,eAAO,MAAM,qBAAqB,EAAE,YAgEnC,CAAC"}
@@ -0,0 +1,66 @@
1
+ import { DEFAULT_CONSOLE_CONFIG } from "../../src/server/components/fastapi/console/types";
2
+ export const DEFAULT_LOGGER_CONFIG = {
3
+ enabled: true,
4
+ level: "info",
5
+ components: {
6
+ server: true,
7
+ cache: true,
8
+ cluster: true,
9
+ performance: true,
10
+ fileWatcher: true,
11
+ plugins: true,
12
+ security: true,
13
+ monitoring: true,
14
+ routes: true,
15
+ userApp: true,
16
+ middleware: true,
17
+ router: true,
18
+ typescript: true,
19
+ acpes: true,
20
+ other: true,
21
+ ipc: true,
22
+ memory: true,
23
+ lifecycle: true,
24
+ routing: true,
25
+ xems: true,
26
+ console: false, // noisy by default
27
+ },
28
+ types: {
29
+ startup: true,
30
+ warnings: true,
31
+ errors: true,
32
+ performance: true,
33
+ debug: false,
34
+ hotReload: true,
35
+ portSwitching: true,
36
+ lifecycle: true,
37
+ },
38
+ format: {
39
+ timestamps: true,
40
+ colors: true,
41
+ prefix: true,
42
+ compact: false,
43
+ includeMemory: false,
44
+ includeProcessId: false,
45
+ maxLineLength: 0,
46
+ },
47
+ buffer: {
48
+ enabled: false,
49
+ maxSize: 1000,
50
+ flushInterval: 5000,
51
+ autoFlush: true,
52
+ },
53
+ errorHandling: {
54
+ maxErrorsPerMinute: 100,
55
+ suppressRepeatedErrors: true,
56
+ suppressAfterCount: 5,
57
+ resetSuppressionAfter: 300000,
58
+ },
59
+ // Console Interception with Encryption Support
60
+ consoleInterception: {
61
+ ...DEFAULT_CONSOLE_CONFIG,
62
+ enabled: false, // Disabled by default (user can enable when needed)
63
+ preserveOriginal: true,
64
+ },
65
+ };
66
+ //# sourceMappingURL=DEFAULT_LOGGER_CONFIG.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DEFAULT_LOGGER_CONFIG.js","sourceRoot":"","sources":["../../../shared/logger/DEFAULT_LOGGER_CONFIG.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,MAAM,mDAAmD,CAAC;AAI3F,MAAM,CAAC,MAAM,qBAAqB,GAAiB;IAC/C,OAAO,EAAE,IAAI;IACb,KAAK,EAAE,MAAM;IACb,UAAU,EAAE;QACR,MAAM,EAAE,IAAI;QACZ,KAAK,EAAE,IAAI;QACX,OAAO,EAAE,IAAI;QACb,WAAW,EAAE,IAAI;QACjB,WAAW,EAAE,IAAI;QACjB,OAAO,EAAE,IAAI;QACb,QAAQ,EAAE,IAAI;QACd,UAAU,EAAE,IAAI;QAChB,MAAM,EAAE,IAAI;QACZ,OAAO,EAAE,IAAI;QACb,UAAU,EAAE,IAAI;QAChB,MAAM,EAAE,IAAI;QACZ,UAAU,EAAE,IAAI;QAChB,KAAK,EAAE,IAAI;QACX,KAAK,EAAE,IAAI;QACX,GAAG,EAAE,IAAI;QACT,MAAM,EAAE,IAAI;QACZ,SAAS,EAAE,IAAI;QACf,OAAO,EAAE,IAAI;QACb,IAAI,EAAE,IAAI;QACV,OAAO,EAAE,KAAK,EAAE,mBAAmB;KACtC;IACD,KAAK,EAAE;QACH,OAAO,EAAE,IAAI;QACb,QAAQ,EAAE,IAAI;QACd,MAAM,EAAE,IAAI;QACZ,WAAW,EAAE,IAAI;QACjB,KAAK,EAAE,KAAK;QACZ,SAAS,EAAE,IAAI;QACf,aAAa,EAAE,IAAI;QACnB,SAAS,EAAE,IAAI;KAClB;IACD,MAAM,EAAE;QACJ,UAAU,EAAE,IAAI;QAChB,MAAM,EAAE,IAAI;QACZ,MAAM,EAAE,IAAI;QACZ,OAAO,EAAE,KAAK;QACd,aAAa,EAAE,KAAK;QACpB,gBAAgB,EAAE,KAAK;QACvB,aAAa,EAAE,CAAC;KACnB;IACD,MAAM,EAAE;QACJ,OAAO,EAAE,KAAK;QACd,OAAO,EAAE,IAAI;QACb,aAAa,EAAE,IAAI;QACnB,SAAS,EAAE,IAAI;KAClB;IACD,aAAa,EAAE;QACX,kBAAkB,EAAE,GAAG;QACvB,sBAAsB,EAAE,IAAI;QAC5B,kBAAkB,EAAE,CAAC;QACrB,qBAAqB,EAAE,MAAO;KACjC;IACA,+CAA+C;IAC5C,mBAAmB,EAAE;QACjB,GAAG,sBAAsB;QACzB,OAAO,EAAE,KAAK,EAAE,oDAAoD;QACpE,gBAAgB,EAAE,IAAI;KACzB;CAER,CAAC"}
@@ -0,0 +1,16 @@
1
+ export declare const DEFAULT_PALETTE: {
2
+ reset: string;
3
+ bold: string;
4
+ dim: string;
5
+ gray: string;
6
+ white: string;
7
+ red: string;
8
+ brightRed: string;
9
+ yellow: string;
10
+ green: string;
11
+ brightGreen: string;
12
+ cyan: string;
13
+ blue: string;
14
+ magenta: string;
15
+ };
16
+ //# sourceMappingURL=DEFAULT_PALETTE.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DEFAULT_PALETTE.d.ts","sourceRoot":"","sources":["../../../shared/logger/DEFAULT_PALETTE.ts"],"names":[],"mappings":"AACA,eAAO,MAAM,eAAe;;;;;;;;;;;;;;CAc3B,CAAC"}
@@ -0,0 +1,16 @@
1
+ export const DEFAULT_PALETTE = {
2
+ reset: "\x1b[0m",
3
+ bold: "\x1b[1m",
4
+ dim: "\x1b[2m",
5
+ gray: "\x1b[90m",
6
+ white: "\x1b[37m",
7
+ red: "\x1b[31m",
8
+ brightRed: "\x1b[91m",
9
+ yellow: "\x1b[33m",
10
+ green: "\x1b[32m",
11
+ brightGreen: "\x1b[92m",
12
+ cyan: "\x1b[36m",
13
+ blue: "\x1b[34m",
14
+ magenta: "\x1b[35m",
15
+ };
16
+ //# sourceMappingURL=DEFAULT_PALETTE.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DEFAULT_PALETTE.js","sourceRoot":"","sources":["../../../shared/logger/DEFAULT_PALETTE.ts"],"names":[],"mappings":"AACA,MAAM,CAAC,MAAM,eAAe,GAAG;IAC3B,KAAK,EAAE,SAAS;IAChB,IAAI,EAAE,SAAS;IACf,GAAG,EAAE,SAAS;IACd,IAAI,EAAE,UAAU;IAChB,KAAK,EAAE,UAAU;IACjB,GAAG,EAAE,UAAU;IACf,SAAS,EAAE,UAAU;IACrB,MAAM,EAAE,UAAU;IAClB,KAAK,EAAE,UAAU;IACjB,WAAW,EAAE,UAAU;IACvB,IAAI,EAAE,UAAU;IAChB,IAAI,EAAE,UAAU;IAChB,OAAO,EAAE,UAAU;CACtB,CAAC"}
@@ -0,0 +1,96 @@
1
+ /**
2
+ * Logger.ts
3
+ * Centralized logger for FastApi.ts — structured, typed, and console-friendly.
4
+ *
5
+ * Output format: {gray timestamp} {color}[COMPONENT]{/} {color}message{/}
6
+ *
7
+ * Color logic:
8
+ * - error → bright red (level always wins)
9
+ * - warn → yellow (level always wins)
10
+ * - debug → magenta (level always wins)
11
+ * - verbose → gray (level always wins)
12
+ * - info / startup / perf / etc. → component identity color
13
+ */
14
+ import type { LogLevel, LogComponent, LogType } from "../types";
15
+ import { LoggerConfig } from "./DEFAULT_LOGGER_CONFIG";
16
+ export declare class Logger {
17
+ private static instance;
18
+ static getInstance(config?: LoggerConfig): Logger;
19
+ private config;
20
+ private buffer;
21
+ private flushTimer?;
22
+ private isDisposed;
23
+ private palette;
24
+ private compColors;
25
+ private levelColors;
26
+ private logQueue;
27
+ private isProcessingQueue;
28
+ private errorCount;
29
+ private lastErrorTime;
30
+ private suppressedComponents;
31
+ constructor(config?: LoggerConfig);
32
+ private applyColors;
33
+ error(component: LogComponent, message: string, ...args: any[]): void;
34
+ warn(component: LogComponent, message: string, ...args: any[]): void;
35
+ info(component: LogComponent, message: string, ...args: any[]): void;
36
+ debug(component: LogComponent, message: string, ...args: any[]): void;
37
+ verbose(component: LogComponent, message: string, ...args: any[]): void;
38
+ startup(component: LogComponent, message: string, ...args: any[]): void;
39
+ performance(component: LogComponent, message: string, ...args: any[]): void;
40
+ hotReload(component: LogComponent, message: string, ...args: any[]): void;
41
+ portSwitching(component: LogComponent, message: string, ...args: any[]): void;
42
+ success(component: LogComponent, message: string, ...args: any[]): void;
43
+ securityWarning(message: string, ...args: any[]): void;
44
+ updateConfig(config: LoggerConfig): void;
45
+ getConfig(): LoggerConfig;
46
+ getLevel(): LogLevel;
47
+ isEnabled(): boolean;
48
+ isComponentEnabled(component: LogComponent): boolean;
49
+ isTypeEnabled(type: LogType): boolean;
50
+ getStats(): {
51
+ errorCount: number;
52
+ lastErrorTime: number;
53
+ suppressedComponents: ("middleware" | "server" | "cache" | "cluster" | "performance" | "fileWatcher" | "plugins" | "security" | "monitoring" | "routes" | "userApp" | "typescript" | "console" | "other" | "router" | "acpes" | "ipc" | "memory" | "lifecycle" | "routing" | "xems")[];
54
+ bufferSize: number;
55
+ queueSize: number;
56
+ };
57
+ clearSuppression(): void;
58
+ flush(): void;
59
+ dispose(): void;
60
+ /** Create a scoped child logger inheriting (and optionally overriding) config. */
61
+ child(_component: LogComponent, config?: Partial<LoggerConfig>): Logger;
62
+ private log;
63
+ private drainQueue;
64
+ private shouldLog;
65
+ private shouldSuppressError;
66
+ private writeEntry;
67
+ /**
68
+ * Produces a log line:
69
+ *
70
+ * {gray}HH:MM:SS.mmm{/} {color}[COMPONENT]{/} {color}message{/}
71
+ *
72
+ * Color priority:
73
+ * 1. Level color — error=brightRed, warn=yellow, debug=magenta, verbose=gray
74
+ * 2. Component color — each component has its own identity color (for info-class)
75
+ *
76
+ * Tag and message always share the same color so they read as one visual unit.
77
+ */
78
+ private formatEntry;
79
+ /** Human-readable uppercase label for a component. */
80
+ private componentLabel;
81
+ private truncate;
82
+ private readMemoryMB;
83
+ private readProcessId;
84
+ /** Bypass all filters — used only for logger-internal failures. */
85
+ private emergencyLog;
86
+ private initBuffer;
87
+ private initErrorHandling;
88
+ private deepMerge;
89
+ }
90
+ /** Shared singleton — ready to use immediately. */
91
+ export declare const logger: Logger;
92
+ /** Configure and return the singleton logger. */
93
+ export declare function initializeLogger(config?: LoggerConfig): Logger;
94
+ /** Flush + dispose the singleton — call on graceful shutdown. */
95
+ export declare function cleanupLogger(): void;
96
+ //# sourceMappingURL=Logger.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Logger.d.ts","sourceRoot":"","sources":["../../../shared/logger/Logger.ts"],"names":[],"mappings":"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"}