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.
- package/README.md +232 -254
- package/dist/cjs/mods/security/src/algorithms/hash-algorithms.js +10 -0
- package/dist/cjs/mods/security/src/algorithms/hash-algorithms.js.map +1 -1
- package/dist/cjs/mods/security/src/components/cache/cacheSys.utils.js +10 -0
- package/dist/cjs/mods/security/src/components/cache/cacheSys.utils.js.map +1 -1
- package/dist/cjs/mods/security/src/components/cache/index.js +10 -74
- package/dist/cjs/mods/security/src/components/cache/index.js.map +1 -1
- package/dist/cjs/mods/security/src/components/fortified-function/index.js +9 -0
- package/dist/cjs/mods/security/src/components/fortified-function/index.js.map +1 -1
- package/dist/cjs/mods/security/src/components/fortified-function/security/security-handler.js +10 -0
- package/dist/cjs/mods/security/src/components/fortified-function/security/security-handler.js.map +1 -1
- package/dist/cjs/mods/security/src/core/crypto.js +14 -0
- package/dist/cjs/mods/security/src/core/crypto.js.map +1 -1
- package/dist/cjs/mods/security/src/index.js +10 -4
- package/dist/cjs/mods/security/src/index.js.map +1 -1
- package/dist/cjs/shared/logger/Logger.js +374 -29
- package/dist/cjs/shared/logger/Logger.js.map +1 -1
- package/dist/cjs/src/cluster/bun-cluster-manager.js +91 -1
- package/dist/cjs/src/cluster/bun-cluster-manager.js.map +1 -1
- package/dist/cjs/src/cluster/cluster-manager.js +15 -3
- package/dist/cjs/src/cluster/cluster-manager.js.map +1 -1
- package/dist/cjs/src/cluster/modules/AutoScaler.js +4 -4
- package/dist/cjs/src/cluster/modules/AutoScaler.js.map +1 -1
- package/dist/cjs/src/cluster/modules/CrossPlatformMemory.js +2 -2
- package/dist/cjs/src/cluster/modules/CrossPlatformMemory.js.map +1 -1
- package/dist/cjs/src/cluster/modules/EventLoopMonitor.js +270 -0
- package/dist/cjs/src/cluster/modules/EventLoopMonitor.js.map +1 -0
- package/dist/cjs/src/cluster/modules/GCStatsTracker.js +200 -0
- package/dist/cjs/src/cluster/modules/GCStatsTracker.js.map +1 -0
- package/dist/cjs/src/cluster/modules/HeapStatsCollector.js +111 -0
- package/dist/cjs/src/cluster/modules/HeapStatsCollector.js.map +1 -0
- package/dist/cjs/src/cluster/modules/NetworkTracker.js +162 -0
- package/dist/cjs/src/cluster/modules/NetworkTracker.js.map +1 -0
- package/dist/cjs/src/cluster/modules/ThroughputCalculator.js +186 -0
- package/dist/cjs/src/cluster/modules/ThroughputCalculator.js.map +1 -0
- package/dist/cjs/src/cluster/modules/WorkerManager.js +14 -15
- package/dist/cjs/src/cluster/modules/WorkerManager.js.map +1 -1
- package/dist/cjs/src/cluster/modules/{LoadBalancer.js → strategy/LoadBalancer.js} +1 -1
- package/dist/cjs/src/cluster/modules/strategy/LoadBalancer.js.map +1 -0
- package/dist/cjs/src/index.js +55 -61
- package/dist/cjs/src/index.js.map +1 -1
- package/dist/cjs/src/middleware/XyPrissMiddlewareAPI.js +281 -0
- package/dist/cjs/src/middleware/XyPrissMiddlewareAPI.js.map +1 -0
- package/dist/cjs/src/middleware/built-in/index.js +325 -0
- package/dist/cjs/src/middleware/built-in/index.js.map +1 -0
- package/dist/cjs/src/middleware/built-in/sqlInjection.js +335 -0
- package/dist/cjs/src/middleware/built-in/sqlInjection.js.map +1 -0
- package/dist/cjs/src/middleware/safe-json-middleware.js +1 -1
- package/dist/cjs/src/middleware/safe-json-middleware.js.map +1 -1
- package/dist/cjs/src/middleware/security-middleware.js +447 -332
- package/dist/cjs/src/middleware/security-middleware.js.map +1 -1
- package/dist/cjs/src/plugins/modules/builtin/ResponseTimePlugin.js +1 -1
- package/dist/cjs/src/plugins/modules/builtin/ResponseTimePlugin.js.map +1 -1
- package/dist/cjs/src/plugins/modules/index.js +9 -3
- package/dist/cjs/src/plugins/modules/index.js.map +1 -1
- package/dist/cjs/src/quick-start.js +0 -4
- package/dist/cjs/src/quick-start.js.map +1 -1
- package/dist/cjs/src/server/FastServer.js +94 -412
- package/dist/cjs/src/server/FastServer.js.map +1 -1
- package/dist/cjs/src/server/ServerFactory.js +69 -64
- package/dist/cjs/src/server/ServerFactory.js.map +1 -1
- package/dist/cjs/src/server/components/fastapi/ClusterManagerComponent.js +31 -5
- package/dist/cjs/src/server/components/fastapi/ClusterManagerComponent.js.map +1 -1
- package/dist/cjs/src/server/components/fastapi/PerformanceManager.js +1 -1
- package/dist/cjs/src/server/components/fastapi/PerformanceManager.js.map +1 -1
- package/dist/cjs/src/server/components/fastapi/RouteManager.js +0 -82
- package/dist/cjs/src/server/components/fastapi/RouteManager.js.map +1 -1
- package/dist/cjs/src/server/components/fastapi/WorkerPoolComponent.js +206 -0
- package/dist/cjs/src/server/components/fastapi/WorkerPoolComponent.js.map +1 -0
- package/dist/cjs/src/server/components/fastapi/console/ConsoleInterceptor.js +3 -28
- package/dist/cjs/src/server/components/fastapi/console/ConsoleInterceptor.js.map +1 -1
- package/dist/cjs/src/server/components/fastapi/modules/UFRP/WorkerPoolManager.js +265 -0
- package/dist/cjs/src/server/components/fastapi/modules/UFRP/WorkerPoolManager.js.map +1 -0
- package/dist/cjs/src/server/components/fastapi/modules/UFRP/workers/Logger.js +236 -0
- package/dist/cjs/src/server/components/fastapi/modules/UFRP/workers/cpu-tasks.js +294 -0
- package/dist/cjs/src/server/components/fastapi/modules/UFRP/workers/enhanced-cpu-worker.js +433 -0
- package/dist/cjs/src/server/components/fastapi/modules/UFRP/workers/io-worker.js +1615 -0
- package/dist/cjs/src/server/components/lifecycle/ServerLifecycleManager.js +503 -0
- package/dist/cjs/src/server/components/lifecycle/ServerLifecycleManager.js.map +1 -0
- package/dist/cjs/src/server/const/default.js +23 -17
- package/dist/cjs/src/server/const/default.js.map +1 -1
- package/dist/cjs/src/server/core/HttpServer.js +500 -0
- package/dist/cjs/src/server/core/HttpServer.js.map +1 -0
- package/dist/cjs/src/server/core/XyprissApp.js +679 -0
- package/dist/cjs/src/server/core/XyprissApp.js.map +1 -0
- package/dist/cjs/src/server/handlers/NotFoundHandler.js +1 -1
- package/dist/cjs/src/server/handlers/NotFoundHandler.js.map +1 -1
- package/dist/cjs/src/server/middleware/MiddlewareManager.js +191 -0
- package/dist/cjs/src/server/middleware/MiddlewareManager.js.map +1 -0
- package/dist/cjs/src/server/routing/Router.js +341 -0
- package/dist/cjs/src/server/routing/Router.js.map +1 -0
- package/dist/cjs/src/server/utils/PortManager.js +1 -0
- package/dist/cjs/src/server/utils/PortManager.js.map +1 -1
- package/dist/cjs/src/server/utils/forceClosePort.js +294 -88
- package/dist/cjs/src/server/utils/forceClosePort.js.map +1 -1
- package/dist/esm/mods/security/src/algorithms/hash-algorithms.js +10 -0
- package/dist/esm/mods/security/src/algorithms/hash-algorithms.js.map +1 -1
- package/dist/esm/mods/security/src/components/cache/cacheSys.utils.js +10 -0
- package/dist/esm/mods/security/src/components/cache/cacheSys.utils.js.map +1 -1
- package/dist/esm/mods/security/src/components/cache/index.js +11 -72
- package/dist/esm/mods/security/src/components/cache/index.js.map +1 -1
- package/dist/esm/mods/security/src/components/fortified-function/index.js +9 -0
- package/dist/esm/mods/security/src/components/fortified-function/index.js.map +1 -1
- package/dist/esm/mods/security/src/components/fortified-function/security/security-handler.js +10 -0
- package/dist/esm/mods/security/src/components/fortified-function/security/security-handler.js.map +1 -1
- package/dist/esm/mods/security/src/core/crypto.js +14 -0
- package/dist/esm/mods/security/src/core/crypto.js.map +1 -1
- package/dist/esm/mods/security/src/index.js +11 -2
- package/dist/esm/mods/security/src/index.js.map +1 -1
- package/dist/esm/shared/logger/Logger.js +374 -29
- package/dist/esm/shared/logger/Logger.js.map +1 -1
- package/dist/esm/src/cluster/bun-cluster-manager.js +91 -1
- package/dist/esm/src/cluster/bun-cluster-manager.js.map +1 -1
- package/dist/esm/src/cluster/cluster-manager.js +15 -3
- package/dist/esm/src/cluster/cluster-manager.js.map +1 -1
- package/dist/esm/src/cluster/modules/AutoScaler.js +4 -4
- package/dist/esm/src/cluster/modules/AutoScaler.js.map +1 -1
- package/dist/esm/src/cluster/modules/CrossPlatformMemory.js +2 -2
- package/dist/esm/src/cluster/modules/CrossPlatformMemory.js.map +1 -1
- package/dist/esm/src/cluster/modules/EventLoopMonitor.js +268 -0
- package/dist/esm/src/cluster/modules/EventLoopMonitor.js.map +1 -0
- package/dist/esm/src/cluster/modules/GCStatsTracker.js +198 -0
- package/dist/esm/src/cluster/modules/GCStatsTracker.js.map +1 -0
- package/dist/esm/src/cluster/modules/HeapStatsCollector.js +109 -0
- package/dist/esm/src/cluster/modules/HeapStatsCollector.js.map +1 -0
- package/dist/esm/src/cluster/modules/NetworkTracker.js +160 -0
- package/dist/esm/src/cluster/modules/NetworkTracker.js.map +1 -0
- package/dist/esm/src/cluster/modules/ThroughputCalculator.js +184 -0
- package/dist/esm/src/cluster/modules/ThroughputCalculator.js.map +1 -0
- package/dist/esm/src/cluster/modules/WorkerManager.js +14 -14
- package/dist/esm/src/cluster/modules/WorkerManager.js.map +1 -1
- package/dist/esm/src/cluster/modules/{LoadBalancer.js → strategy/LoadBalancer.js} +1 -1
- package/dist/esm/src/cluster/modules/strategy/LoadBalancer.js.map +1 -0
- package/dist/esm/src/index.js +41 -11
- package/dist/esm/src/index.js.map +1 -1
- package/dist/esm/src/middleware/XyPrissMiddlewareAPI.js +279 -0
- package/dist/esm/src/middleware/XyPrissMiddlewareAPI.js.map +1 -0
- package/dist/esm/src/middleware/built-in/index.js +323 -0
- package/dist/esm/src/middleware/built-in/index.js.map +1 -0
- package/dist/esm/src/middleware/built-in/sqlInjection.js +333 -0
- package/dist/esm/src/middleware/built-in/sqlInjection.js.map +1 -0
- package/dist/esm/src/middleware/safe-json-middleware.js +1 -1
- package/dist/esm/src/middleware/safe-json-middleware.js.map +1 -1
- package/dist/esm/src/middleware/security-middleware.js +447 -332
- package/dist/esm/src/middleware/security-middleware.js.map +1 -1
- package/dist/esm/src/plugins/modules/builtin/ResponseTimePlugin.js +1 -1
- package/dist/esm/src/plugins/modules/builtin/ResponseTimePlugin.js.map +1 -1
- package/dist/esm/src/plugins/modules/index.js +9 -3
- package/dist/esm/src/plugins/modules/index.js.map +1 -1
- package/dist/esm/src/quick-start.js +0 -4
- package/dist/esm/src/quick-start.js.map +1 -1
- package/dist/esm/src/server/FastServer.js +94 -412
- package/dist/esm/src/server/FastServer.js.map +1 -1
- package/dist/esm/src/server/ServerFactory.js +70 -61
- package/dist/esm/src/server/ServerFactory.js.map +1 -1
- package/dist/esm/src/server/components/fastapi/ClusterManagerComponent.js +31 -5
- package/dist/esm/src/server/components/fastapi/ClusterManagerComponent.js.map +1 -1
- package/dist/esm/src/server/components/fastapi/PerformanceManager.js +1 -1
- package/dist/esm/src/server/components/fastapi/PerformanceManager.js.map +1 -1
- package/dist/esm/src/server/components/fastapi/RouteManager.js +0 -82
- package/dist/esm/src/server/components/fastapi/RouteManager.js.map +1 -1
- package/dist/esm/src/server/components/fastapi/WorkerPoolComponent.js +204 -0
- package/dist/esm/src/server/components/fastapi/WorkerPoolComponent.js.map +1 -0
- package/dist/esm/src/server/components/fastapi/console/ConsoleInterceptor.js +2 -27
- package/dist/esm/src/server/components/fastapi/console/ConsoleInterceptor.js.map +1 -1
- package/dist/esm/src/server/components/fastapi/modules/UFRP/WorkerPoolManager.js +263 -0
- package/dist/esm/src/server/components/fastapi/modules/UFRP/WorkerPoolManager.js.map +1 -0
- package/dist/esm/src/server/components/fastapi/modules/UFRP/workers/Logger.js +236 -0
- package/dist/esm/src/server/components/fastapi/modules/UFRP/workers/cpu-tasks.js +294 -0
- package/dist/esm/src/server/components/fastapi/modules/UFRP/workers/enhanced-cpu-worker.js +433 -0
- package/dist/esm/src/server/components/fastapi/modules/UFRP/workers/io-worker.js +1615 -0
- package/dist/esm/src/server/components/lifecycle/ServerLifecycleManager.js +501 -0
- package/dist/esm/src/server/components/lifecycle/ServerLifecycleManager.js.map +1 -0
- package/dist/esm/src/server/const/default.js +23 -17
- package/dist/esm/src/server/const/default.js.map +1 -1
- package/dist/esm/src/server/core/HttpServer.js +498 -0
- package/dist/esm/src/server/core/HttpServer.js.map +1 -0
- package/dist/esm/src/server/core/XyprissApp.js +677 -0
- package/dist/esm/src/server/core/XyprissApp.js.map +1 -0
- package/dist/esm/src/server/handlers/NotFoundHandler.js +1 -1
- package/dist/esm/src/server/handlers/NotFoundHandler.js.map +1 -1
- package/dist/esm/src/server/middleware/MiddlewareManager.js +189 -0
- package/dist/esm/src/server/middleware/MiddlewareManager.js.map +1 -0
- package/dist/esm/src/server/routing/Router.js +339 -0
- package/dist/esm/src/server/routing/Router.js.map +1 -0
- package/dist/esm/src/server/utils/PortManager.js +1 -0
- package/dist/esm/src/server/utils/PortManager.js.map +1 -1
- package/dist/esm/src/server/utils/forceClosePort.js +294 -88
- package/dist/esm/src/server/utils/forceClosePort.js.map +1 -1
- package/dist/index.d.ts +3363 -5311
- package/package.json +39 -28
- package/dist/cjs/src/cluster/index.js +0 -361
- package/dist/cjs/src/cluster/index.js.map +0 -1
- package/dist/cjs/src/cluster/modules/ClusterFactory.js +0 -539
- package/dist/cjs/src/cluster/modules/ClusterFactory.js.map +0 -1
- package/dist/cjs/src/cluster/modules/LoadBalancer.js.map +0 -1
- package/dist/cjs/src/server/components/fastapi/UltraFastRequestProcessor.js +0 -668
- package/dist/cjs/src/server/components/fastapi/UltraFastRequestProcessor.js.map +0 -1
- package/dist/cjs/src/server/components/fastapi/middlewares/MiddlewareAPI.js +0 -347
- package/dist/cjs/src/server/components/fastapi/middlewares/MiddlewareAPI.js.map +0 -1
- package/dist/cjs/src/server/components/fastapi/middlewares/MiddlewareMethodsManager.js +0 -204
- package/dist/cjs/src/server/components/fastapi/middlewares/MiddlewareMethodsManager.js.map +0 -1
- package/dist/cjs/src/server/components/fastapi/middlewares/middlewareManager.js +0 -953
- package/dist/cjs/src/server/components/fastapi/middlewares/middlewareManager.js.map +0 -1
- package/dist/cjs/src/server/components/fastapi/modules/UFRP/WorkerPool.js +0 -56
- package/dist/cjs/src/server/components/fastapi/modules/UFRP/WorkerPool.js.map +0 -1
- package/dist/esm/src/cluster/index.js +0 -339
- package/dist/esm/src/cluster/index.js.map +0 -1
- package/dist/esm/src/cluster/modules/ClusterFactory.js +0 -511
- package/dist/esm/src/cluster/modules/ClusterFactory.js.map +0 -1
- package/dist/esm/src/cluster/modules/LoadBalancer.js.map +0 -1
- package/dist/esm/src/server/components/fastapi/UltraFastRequestProcessor.js +0 -647
- package/dist/esm/src/server/components/fastapi/UltraFastRequestProcessor.js.map +0 -1
- package/dist/esm/src/server/components/fastapi/middlewares/MiddlewareAPI.js +0 -345
- package/dist/esm/src/server/components/fastapi/middlewares/MiddlewareAPI.js.map +0 -1
- package/dist/esm/src/server/components/fastapi/middlewares/MiddlewareMethodsManager.js +0 -202
- package/dist/esm/src/server/components/fastapi/middlewares/MiddlewareMethodsManager.js.map +0 -1
- package/dist/esm/src/server/components/fastapi/middlewares/middlewareManager.js +0 -951
- package/dist/esm/src/server/components/fastapi/middlewares/middlewareManager.js.map +0 -1
- package/dist/esm/src/server/components/fastapi/modules/UFRP/WorkerPool.js +0 -54
- package/dist/esm/src/server/components/fastapi/modules/UFRP/WorkerPool.js.map +0 -1
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "xypriss",
|
|
3
|
-
"version": "1.
|
|
4
|
-
"description": "XyPriss is a Node.js framework
|
|
3
|
+
"version": "2.1.0",
|
|
4
|
+
"description": "XyPriss is a lightweight, TypeScript-first, open-source Node.js web framework crafted for developers seeking a familiar Express-like API without Express dependencies. It features built-in security middleware, a robust routing system, and performance optimizations to build scalable, secure web applications effortlessly. Join our community and contribute on GitHub!",
|
|
5
5
|
"main": "dist/cjs/index.js",
|
|
6
6
|
"module": "dist/esm/index.js",
|
|
7
7
|
"types": "dist/index.d.ts",
|
|
@@ -19,13 +19,12 @@
|
|
|
19
19
|
"scripts": {
|
|
20
20
|
"postinstall": "node scripts/postinstall.js",
|
|
21
21
|
"install-memory-cli": "node scripts/install-memory-cli.js",
|
|
22
|
-
"build": "
|
|
22
|
+
"build": "npx rollup -c rollup.config.js",
|
|
23
23
|
"build:memory": "NODE_OPTIONS='--max-old-space-size=6144' npx rollup -c rollup.config.js",
|
|
24
24
|
"test": "jest",
|
|
25
25
|
"test:watch": "jest --watch",
|
|
26
26
|
"test:coverage": "jest --coverage",
|
|
27
|
-
"benchmark": "node benchmarks/index.js"
|
|
28
|
-
"prepublishOnly": "npm run build"
|
|
27
|
+
"benchmark": "node benchmarks/index.js"
|
|
29
28
|
},
|
|
30
29
|
"exports": {
|
|
31
30
|
".": {
|
|
@@ -51,8 +50,8 @@
|
|
|
51
50
|
"typescript",
|
|
52
51
|
"server",
|
|
53
52
|
"fast server",
|
|
54
|
-
"
|
|
55
|
-
"express
|
|
53
|
+
"web framework",
|
|
54
|
+
"express-like",
|
|
56
55
|
"javascript server",
|
|
57
56
|
"typescript server",
|
|
58
57
|
"ts server",
|
|
@@ -68,9 +67,7 @@
|
|
|
68
67
|
"type-safe",
|
|
69
68
|
"secure-object",
|
|
70
69
|
"secure-string",
|
|
71
|
-
"
|
|
72
|
-
"quantum-resistant",
|
|
73
|
-
"zero-dependencies",
|
|
70
|
+
"security",
|
|
74
71
|
"performance",
|
|
75
72
|
"developer-experience",
|
|
76
73
|
"modern-javascript",
|
|
@@ -81,17 +78,14 @@
|
|
|
81
78
|
"encryption",
|
|
82
79
|
"middleware",
|
|
83
80
|
"CSRF",
|
|
84
|
-
"
|
|
85
|
-
"
|
|
86
|
-
"
|
|
87
|
-
"ultra-fast",
|
|
81
|
+
"router",
|
|
82
|
+
"api",
|
|
83
|
+
"server",
|
|
88
84
|
"rate-limiting",
|
|
89
85
|
"tamper-evident",
|
|
90
|
-
"quantum-safe",
|
|
91
86
|
"nehonix",
|
|
92
|
-
"nehonix xypriss",
|
|
93
87
|
"secure-memory",
|
|
94
|
-
"
|
|
88
|
+
"independent",
|
|
95
89
|
"node",
|
|
96
90
|
"browser",
|
|
97
91
|
"hash",
|
|
@@ -102,8 +96,6 @@
|
|
|
102
96
|
"password",
|
|
103
97
|
"sha256",
|
|
104
98
|
"pbkdf2",
|
|
105
|
-
"enterprise",
|
|
106
|
-
"post-quantum",
|
|
107
99
|
"buffer",
|
|
108
100
|
"logging",
|
|
109
101
|
"console-interception",
|
|
@@ -161,19 +153,27 @@
|
|
|
161
153
|
"@rollup/plugin-typescript": "^11.0.0",
|
|
162
154
|
"@types/bcrypt": "^5.0.2",
|
|
163
155
|
"@types/compression": "^1.8.1",
|
|
164
|
-
"@types/cors": "^2.8.
|
|
165
|
-
"@types/
|
|
156
|
+
"@types/cors": "^2.8.19",
|
|
157
|
+
"@types/csurf": "^1.11.5",
|
|
158
|
+
"@types/express-mongo-sanitize": "^1.3.2",
|
|
159
|
+
"@types/express-rate-limit": "^5.1.3",
|
|
160
|
+
"@types/express-validator": "^2.20.33",
|
|
161
|
+
"@types/helmet": "^0.0.48",
|
|
162
|
+
"@types/hpp": "^0.2.6",
|
|
166
163
|
"@types/jest": "^29.5.0",
|
|
167
164
|
"@types/libsodium-wrappers": "^0.7.14",
|
|
165
|
+
"@types/morgan": "^1.9.10",
|
|
166
|
+
"@types/multer": "^2.0.0",
|
|
168
167
|
"@types/noble": "^0.0.44",
|
|
169
168
|
"@types/node": "^18.19.110",
|
|
170
169
|
"@types/react": "^18.0.0",
|
|
171
170
|
"@types/ws": "^8.18.1",
|
|
172
171
|
"@typescript-eslint/eslint-plugin": "^5.57.0",
|
|
173
172
|
"@typescript-eslint/parser": "^5.57.0",
|
|
173
|
+
"axios": "^1.11.0",
|
|
174
174
|
"eslint": "^8.37.0",
|
|
175
|
-
"express": "^4.21.2",
|
|
176
175
|
"jest": "^29.5.0",
|
|
176
|
+
"nehonix-uri-processor": "^2.3.19",
|
|
177
177
|
"rimraf": "^4.4.0",
|
|
178
178
|
"rollup": "^3.29.4",
|
|
179
179
|
"rollup-plugin-dts": "^6.2.1",
|
|
@@ -203,7 +203,8 @@
|
|
|
203
203
|
"@noble/curves": "^1.9.1",
|
|
204
204
|
"@noble/hashes": "^1.8.0",
|
|
205
205
|
"@noble/secp256k1": "^2.2.3",
|
|
206
|
-
"@types/
|
|
206
|
+
"@types/cookie-parser": "^1.4.9",
|
|
207
|
+
"@types/express-brute": "^1.0.6",
|
|
207
208
|
"@types/fast-json-stable-stringify": "^2.0.0",
|
|
208
209
|
"@types/ioredis": "^4.28.10",
|
|
209
210
|
"@types/msgpack-lite": "^0.1.11",
|
|
@@ -215,31 +216,42 @@
|
|
|
215
216
|
"aes-js": "^3.1.2",
|
|
216
217
|
"argon2": "^0.43.0",
|
|
217
218
|
"argon2-browser": "^1.18.0",
|
|
218
|
-
"axios": "^1.6.0",
|
|
219
219
|
"bcrypt": "^6.0.0",
|
|
220
220
|
"bcryptjs": "^2.4.3",
|
|
221
221
|
"bun": "^1.2.19",
|
|
222
222
|
"check-disk-space": "^3.4.0",
|
|
223
223
|
"compression": "^1.8.1",
|
|
224
224
|
"concurrently": "^8.2.2",
|
|
225
|
+
"cookie-parser": "^1.4.7",
|
|
225
226
|
"cors": "^2.8.5",
|
|
226
227
|
"crypto-js": "^4.2.0",
|
|
227
228
|
"crystals-kyber": "^5.1.0",
|
|
229
|
+
"csrf-csrf": "^4.0.3",
|
|
230
|
+
"csurf": "^1.11.0",
|
|
228
231
|
"elliptic": "^6.6.1",
|
|
229
232
|
"entropy-string": "^4.2.0",
|
|
233
|
+
"express": "^5.1.0",
|
|
234
|
+
"express-brute": "^1.0.1",
|
|
235
|
+
"express-csrf-double-submit-cookie": "^2.0.0",
|
|
236
|
+
"express-mongo-sanitize": "^2.2.0",
|
|
230
237
|
"express-rate-limit": "^8.0.1",
|
|
238
|
+
"express-slow-down": "^3.0.0",
|
|
239
|
+
"express-validator": "^7.2.1",
|
|
231
240
|
"fast-json-stable-stringify": "^2.1.0",
|
|
232
241
|
"fast-json-stringify": "^6.0.1",
|
|
233
242
|
"helmet": "^8.1.0",
|
|
243
|
+
"hpp": "^0.2.3",
|
|
234
244
|
"http-proxy-middleware": "^3.0.5",
|
|
235
245
|
"ioredis": "^5.7.0",
|
|
236
246
|
"kyber-crystals": "^1.0.7",
|
|
237
247
|
"libsodium-wrappers": "^0.7.15",
|
|
238
248
|
"mime-types": "^3.0.1",
|
|
249
|
+
"morgan": "^1.10.1",
|
|
239
250
|
"msgpack-lite": "^0.1.26",
|
|
251
|
+
"multer": "^2.0.2",
|
|
240
252
|
"nehoid": "^2.0.0",
|
|
241
|
-
"nehonix-uri-processor": "^2.3.19",
|
|
242
253
|
"noble": "^1.9.1",
|
|
254
|
+
"node-fetch": "^3.3.2",
|
|
243
255
|
"node-forge": "^1.3.1",
|
|
244
256
|
"node-os-utils": "^1.3.7",
|
|
245
257
|
"pako": "^2.1.0",
|
|
@@ -254,8 +266,7 @@
|
|
|
254
266
|
"tweetnacl": "^1.0.3",
|
|
255
267
|
"typescript": "^5.8.3",
|
|
256
268
|
"ws": "^8.18.2",
|
|
257
|
-
"
|
|
258
|
-
"xypriss-security": "^1.
|
|
269
|
+
"xss": "^1.0.15",
|
|
270
|
+
"xypriss-security": "^1.1.3"
|
|
259
271
|
}
|
|
260
272
|
}
|
|
261
|
-
|
|
@@ -1,361 +0,0 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
|
|
3
|
-
var ClusterFactory = require('./modules/ClusterFactory.js');
|
|
4
|
-
require('os');
|
|
5
|
-
require('events');
|
|
6
|
-
require('cluster');
|
|
7
|
-
require('pidusage');
|
|
8
|
-
require('../../mods/security/src/utils/errorHandler.js');
|
|
9
|
-
require('../../mods/security/src/components/fortified-function/core/fortified-function-core.js');
|
|
10
|
-
require('../../mods/security/src/components/fortified-function/core/fortified-config.js');
|
|
11
|
-
require('../../mods/security/src/components/fortified-function/core/fortified-logger.js');
|
|
12
|
-
require('../../mods/security/src/components/fortified-function/serializer/safe-serializer.js');
|
|
13
|
-
require('nehoid');
|
|
14
|
-
require('../../mods/security/src/utils/memory/index.js');
|
|
15
|
-
require('crypto');
|
|
16
|
-
require('../../mods/security/src/types/secure-memory.js');
|
|
17
|
-
require('../../mods/security/src/components/secure-string/advanced/entropy-analyzer.js');
|
|
18
|
-
require('../../mods/security/src/components/secure-string/advanced/quantum-safe.js');
|
|
19
|
-
require('../../mods/security/src/components/secure-string/advanced/performance-monitor.js');
|
|
20
|
-
require('../../mods/security/src/core/hash/hash-core.js');
|
|
21
|
-
require('../../mods/security/src/core/hash/hash-types.js');
|
|
22
|
-
require('../../mods/security/src/core/hash/hash-security.js');
|
|
23
|
-
require('../../mods/security/src/core/hash/hash-advanced.js');
|
|
24
|
-
require('../../mods/security/src/algorithms/hash-algorithms.js');
|
|
25
|
-
require('../../mods/security/src/core/random/random-types.js');
|
|
26
|
-
require('../../mods/security/src/core/random/random-sources.js');
|
|
27
|
-
require('nehonix-uri-processor');
|
|
28
|
-
require('../../mods/security/src/types.js');
|
|
29
|
-
require('../../mods/security/src/components/secure-array/utils/id-generator.js');
|
|
30
|
-
require('../../mods/security/src/index.js');
|
|
31
|
-
require('../../shared/logger/Logger.js');
|
|
32
|
-
require('../../mods/security/src/components/fortified-function/UFA/ultra-fast-allocator.js');
|
|
33
|
-
require('argon2');
|
|
34
|
-
require('child_process');
|
|
35
|
-
require('https');
|
|
36
|
-
require('../../mods/security/src/components/runtime-verification.js');
|
|
37
|
-
require('../../mods/security/src/components/tamper-evident-logging.js');
|
|
38
|
-
require('../../mods/security/src/core/keys/keys-types.js');
|
|
39
|
-
require('../../mods/security/src/core/keys/keys-logger.js');
|
|
40
|
-
require('../../mods/security/src/core/keys/keys-utils.js');
|
|
41
|
-
require('../../mods/security/src/core/keys/algorithms/mods/PBKDF2Algo.js');
|
|
42
|
-
require('../../mods/security/src/core/password/index.js');
|
|
43
|
-
require('http');
|
|
44
|
-
require('msgpack-lite');
|
|
45
|
-
require('fast-json-stable-stringify');
|
|
46
|
-
require('perf_hooks');
|
|
47
|
-
require('fs');
|
|
48
|
-
require('path');
|
|
49
|
-
require('../../mods/security/src/components/cache/cacheSys.js');
|
|
50
|
-
require('../../mods/security/src/components/cache/index.js');
|
|
51
|
-
require('ioredis');
|
|
52
|
-
require('xypriss-security');
|
|
53
|
-
require('../encryption/EncryptionService.js');
|
|
54
|
-
|
|
55
|
-
/***************************************************************************
|
|
56
|
-
* XyPrissJS - Advanced JavaScript Security Library
|
|
57
|
-
*
|
|
58
|
-
* @author Nehonix
|
|
59
|
-
* @license MIT
|
|
60
|
-
*
|
|
61
|
-
* Copyright (c) 2025 Nehonix. All rights reserved.
|
|
62
|
-
*
|
|
63
|
-
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
64
|
-
* of this software and associated documentation files (the "Software"), to deal
|
|
65
|
-
* in the Software without restriction, including without limitation the rights
|
|
66
|
-
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
67
|
-
* copies of the Software, and to permit persons to whom the Software is
|
|
68
|
-
* furnished to do so, subject to the following conditions:
|
|
69
|
-
*
|
|
70
|
-
* The above copyright notice and this permission notice shall be included in all
|
|
71
|
-
* copies or substantial portions of the Software.
|
|
72
|
-
*
|
|
73
|
-
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
74
|
-
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
75
|
-
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
76
|
-
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
77
|
-
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
78
|
-
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
79
|
-
* SOFTWARE.
|
|
80
|
-
***************************************************************************** */
|
|
81
|
-
/**
|
|
82
|
-
* Quick start functions for common use cases
|
|
83
|
-
*/
|
|
84
|
-
/**
|
|
85
|
-
* Create a development cluster with sensible defaults
|
|
86
|
-
* - 2 workers
|
|
87
|
-
* - Auto-scaling disabled
|
|
88
|
-
* - Debug logging enabled
|
|
89
|
-
* - Hot reload enabled
|
|
90
|
-
*/
|
|
91
|
-
function createDevelopmentCluster() {
|
|
92
|
-
return ClusterFactory.createClusterForEnvironment("development");
|
|
93
|
-
}
|
|
94
|
-
/**
|
|
95
|
-
* Create a production cluster with maximum performance and security
|
|
96
|
-
* - Auto worker count based on CPU cores
|
|
97
|
-
* - Auto-scaling enabled
|
|
98
|
-
* - Full security features
|
|
99
|
-
* - Circuit breaker and resilience features
|
|
100
|
-
*/
|
|
101
|
-
function createProductionCluster() {
|
|
102
|
-
return ClusterFactory.createClusterForEnvironment("production");
|
|
103
|
-
}
|
|
104
|
-
/**
|
|
105
|
-
* Create a test cluster with minimal overhead
|
|
106
|
-
* - Single worker
|
|
107
|
-
* - Monitoring disabled
|
|
108
|
-
* - Auto-scaling disabled
|
|
109
|
-
*/
|
|
110
|
-
function createTestCluster() {
|
|
111
|
-
return ClusterFactory.createClusterForEnvironment("test");
|
|
112
|
-
}
|
|
113
|
-
/**
|
|
114
|
-
* Create an API server cluster optimized for REST APIs
|
|
115
|
-
* - Least-connections load balancing
|
|
116
|
-
* - Aggressive auto-scaling
|
|
117
|
-
* - Fast health checks
|
|
118
|
-
*/
|
|
119
|
-
function createApiCluster() {
|
|
120
|
-
return ClusterFactory.clusterFactory.create(ClusterFactory.clusterFactory.getRecommendedConfig("api"));
|
|
121
|
-
}
|
|
122
|
-
/**
|
|
123
|
-
* Create a web server cluster optimized for web applications
|
|
124
|
-
* - Round-robin load balancing with session affinity
|
|
125
|
-
* - Moderate auto-scaling
|
|
126
|
-
* - Sticky sessions enabled
|
|
127
|
-
*/
|
|
128
|
-
function createWebCluster() {
|
|
129
|
-
return ClusterFactory.clusterFactory.create(ClusterFactory.clusterFactory.getRecommendedConfig("web"));
|
|
130
|
-
}
|
|
131
|
-
/**
|
|
132
|
-
* Create a microservice cluster optimized for containerized environments
|
|
133
|
-
* - Resource-constrained configuration
|
|
134
|
-
* - Conservative auto-scaling
|
|
135
|
-
* - Lightweight monitoring
|
|
136
|
-
*/
|
|
137
|
-
function createMicroserviceCluster() {
|
|
138
|
-
return ClusterFactory.clusterFactory.create(ClusterFactory.clusterFactory.getRecommendedConfig("microservice"));
|
|
139
|
-
}
|
|
140
|
-
/**
|
|
141
|
-
* Create a worker cluster optimized for background processing
|
|
142
|
-
* - CPU-based worker count
|
|
143
|
-
* - Weighted load balancing
|
|
144
|
-
* - High restart tolerance
|
|
145
|
-
*/
|
|
146
|
-
function createWorkerCluster() {
|
|
147
|
-
return ClusterFactory.clusterFactory.create(ClusterFactory.clusterFactory.getRecommendedConfig("worker"));
|
|
148
|
-
}
|
|
149
|
-
/**
|
|
150
|
-
* Builder pattern for custom cluster configuration
|
|
151
|
-
*
|
|
152
|
-
* @example
|
|
153
|
-
* ```typescript
|
|
154
|
-
* const cluster = clusterBuilder()
|
|
155
|
-
* .withWorkers(4)
|
|
156
|
-
* .withAutoScaling({
|
|
157
|
-
* enabled: true,
|
|
158
|
-
* minWorkers: 2,
|
|
159
|
-
* maxWorkers: 8
|
|
160
|
-
* })
|
|
161
|
-
* .withLoadBalancing("least-connections")
|
|
162
|
-
* .enableProductionMode()
|
|
163
|
-
* .create();
|
|
164
|
-
*
|
|
165
|
-
* await cluster.start();
|
|
166
|
-
* ```
|
|
167
|
-
*/
|
|
168
|
-
function clusterBuilder() {
|
|
169
|
-
return ClusterFactory.buildCluster();
|
|
170
|
-
}
|
|
171
|
-
/**
|
|
172
|
-
* Validate cluster configuration
|
|
173
|
-
*
|
|
174
|
-
* @example
|
|
175
|
-
* ```typescript
|
|
176
|
-
* const config = { workers: 4, autoScaling: { enabled: true } };
|
|
177
|
-
* const validation = validateClusterConfig(config);
|
|
178
|
-
*
|
|
179
|
-
* if (!validation.valid) {
|
|
180
|
-
* console.error("Configuration errors:", validation.errors);
|
|
181
|
-
* }
|
|
182
|
-
* ```
|
|
183
|
-
*/
|
|
184
|
-
function validateClusterConfig(config) {
|
|
185
|
-
return ClusterFactory.clusterFactory.validateConfig(config);
|
|
186
|
-
}
|
|
187
|
-
/**
|
|
188
|
-
* Get recommended configuration for specific server type
|
|
189
|
-
*
|
|
190
|
-
* @example
|
|
191
|
-
* ```typescript
|
|
192
|
-
* const apiConfig = getRecommendedConfig("api");
|
|
193
|
-
* const cluster = createCluster(apiConfig);
|
|
194
|
-
* ```
|
|
195
|
-
*/
|
|
196
|
-
function getRecommendedConfig(serverType) {
|
|
197
|
-
return ClusterFactory.clusterFactory.getRecommendedConfig(serverType);
|
|
198
|
-
}
|
|
199
|
-
/**
|
|
200
|
-
* Merge multiple cluster configurations
|
|
201
|
-
*
|
|
202
|
-
* @example
|
|
203
|
-
* ```typescript
|
|
204
|
-
* const baseConfig = getRecommendedConfig("api");
|
|
205
|
-
* const customConfig = { workers: 8 };
|
|
206
|
-
* const finalConfig = mergeClusterConfigs(baseConfig, customConfig);
|
|
207
|
-
* ```
|
|
208
|
-
*/
|
|
209
|
-
function mergeClusterConfigs(base, ...overrides) {
|
|
210
|
-
let result = base;
|
|
211
|
-
for (const override of overrides) {
|
|
212
|
-
result = ClusterFactory.clusterFactory.mergeConfigs(result, override);
|
|
213
|
-
}
|
|
214
|
-
return result;
|
|
215
|
-
}
|
|
216
|
-
/**
|
|
217
|
-
* Set global default configuration for all clusters
|
|
218
|
-
*
|
|
219
|
-
* @example
|
|
220
|
-
* ```typescript
|
|
221
|
-
* setClusterDefaults({
|
|
222
|
-
* monitoring: { logLevel: "debug" },
|
|
223
|
-
* security: { encryptIPC: true }
|
|
224
|
-
* });
|
|
225
|
-
* ```
|
|
226
|
-
*/
|
|
227
|
-
function setClusterDefaults(config) {
|
|
228
|
-
ClusterFactory.ClusterFactory.setDefaults(config);
|
|
229
|
-
}
|
|
230
|
-
/**
|
|
231
|
-
* Cluster middleware for Express integration
|
|
232
|
-
* Provides cluster information and utilities to Express routes
|
|
233
|
-
*/
|
|
234
|
-
function createClusterMiddleware(cluster) {
|
|
235
|
-
return (req, res, next) => {
|
|
236
|
-
// Add cluster utilities to request object
|
|
237
|
-
req.cluster = {
|
|
238
|
-
workerId: process.env.WORKER_ID || "master",
|
|
239
|
-
isMainProcess: !process.env.WORKER_ID,
|
|
240
|
-
isMaster: !process.env.WORKER_ID,
|
|
241
|
-
sendToMaster: async (message) => {
|
|
242
|
-
if (process.send) {
|
|
243
|
-
process.send(message);
|
|
244
|
-
}
|
|
245
|
-
},
|
|
246
|
-
sendToWorker: async (workerId, message) => {
|
|
247
|
-
await cluster.sendToWorker(workerId, message);
|
|
248
|
-
},
|
|
249
|
-
broadcast: async (message) => {
|
|
250
|
-
await cluster.broadcast(message);
|
|
251
|
-
},
|
|
252
|
-
getMetrics: async () => {
|
|
253
|
-
return await cluster.getMetrics();
|
|
254
|
-
},
|
|
255
|
-
getHealth: async () => {
|
|
256
|
-
return await cluster.getHealthStatus();
|
|
257
|
-
},
|
|
258
|
-
};
|
|
259
|
-
// Add cluster headers
|
|
260
|
-
res.set("X-Cluster-Worker", req.cluster.workerId);
|
|
261
|
-
res.set("X-Cluster-Process", req.cluster.isMainProcess ? "master" : "worker");
|
|
262
|
-
next();
|
|
263
|
-
};
|
|
264
|
-
}
|
|
265
|
-
/**
|
|
266
|
-
* Express server integration with cluster support
|
|
267
|
-
* Automatically detects if running in cluster mode and provides utilities
|
|
268
|
-
*/
|
|
269
|
-
function withClusterSupport(app, cluster) {
|
|
270
|
-
// Add cluster middleware if cluster is provided
|
|
271
|
-
if (cluster) {
|
|
272
|
-
app.use(createClusterMiddleware(cluster));
|
|
273
|
-
}
|
|
274
|
-
// Add cluster health endpoint
|
|
275
|
-
app.get("/cluster/health", async (req, res) => {
|
|
276
|
-
try {
|
|
277
|
-
if (cluster) {
|
|
278
|
-
const health = await cluster.getHealthStatus();
|
|
279
|
-
const metrics = await cluster.getAggregatedMetrics();
|
|
280
|
-
res.json({
|
|
281
|
-
status: "healthy",
|
|
282
|
-
cluster: {
|
|
283
|
-
enabled: true,
|
|
284
|
-
workers: Object.keys(health).length,
|
|
285
|
-
healthy: Object.values(health).filter((h) => h).length,
|
|
286
|
-
metrics,
|
|
287
|
-
},
|
|
288
|
-
});
|
|
289
|
-
}
|
|
290
|
-
else {
|
|
291
|
-
res.json({
|
|
292
|
-
status: "healthy",
|
|
293
|
-
cluster: {
|
|
294
|
-
enabled: false,
|
|
295
|
-
workers: 1,
|
|
296
|
-
healthy: 1,
|
|
297
|
-
},
|
|
298
|
-
});
|
|
299
|
-
}
|
|
300
|
-
}
|
|
301
|
-
catch (error) {
|
|
302
|
-
res.status(503).json({
|
|
303
|
-
status: "error",
|
|
304
|
-
error: error.message,
|
|
305
|
-
});
|
|
306
|
-
}
|
|
307
|
-
});
|
|
308
|
-
// Add cluster metrics endpoint
|
|
309
|
-
app.get("/cluster/metrics", async (req, res) => {
|
|
310
|
-
try {
|
|
311
|
-
if (cluster) {
|
|
312
|
-
const format = req.query.format || "json";
|
|
313
|
-
const metrics = await cluster.exportMetrics(format);
|
|
314
|
-
if (format === "prometheus") {
|
|
315
|
-
res.set("Content-Type", "text/plain");
|
|
316
|
-
res.send(metrics);
|
|
317
|
-
}
|
|
318
|
-
else if (format === "csv") {
|
|
319
|
-
res.set("Content-Type", "text/csv");
|
|
320
|
-
res.send(metrics);
|
|
321
|
-
}
|
|
322
|
-
else {
|
|
323
|
-
res.json(JSON.parse(metrics));
|
|
324
|
-
}
|
|
325
|
-
}
|
|
326
|
-
else {
|
|
327
|
-
res.json({ error: "Cluster not enabled" });
|
|
328
|
-
}
|
|
329
|
-
}
|
|
330
|
-
catch (error) {
|
|
331
|
-
res.status(500).json({
|
|
332
|
-
error: error.message,
|
|
333
|
-
});
|
|
334
|
-
}
|
|
335
|
-
});
|
|
336
|
-
return app;
|
|
337
|
-
}
|
|
338
|
-
|
|
339
|
-
exports.ClusterBuilderFactoryImpl = ClusterFactory.ClusterBuilderFactoryImpl;
|
|
340
|
-
exports.ClusterConfigBuilder = ClusterFactory.ClusterConfigBuilder;
|
|
341
|
-
exports.ClusterFactory = ClusterFactory.ClusterFactory;
|
|
342
|
-
exports.buildCluster = ClusterFactory.buildCluster;
|
|
343
|
-
exports.clusterBuilderFactory = ClusterFactory.clusterBuilderFactory;
|
|
344
|
-
exports.clusterFactory = ClusterFactory.clusterFactory;
|
|
345
|
-
exports.createCluster = ClusterFactory.createCluster;
|
|
346
|
-
exports.createClusterForEnvironment = ClusterFactory.createClusterForEnvironment;
|
|
347
|
-
exports.clusterBuilder = clusterBuilder;
|
|
348
|
-
exports.createApiCluster = createApiCluster;
|
|
349
|
-
exports.createClusterMiddleware = createClusterMiddleware;
|
|
350
|
-
exports.createDevelopmentCluster = createDevelopmentCluster;
|
|
351
|
-
exports.createMicroserviceCluster = createMicroserviceCluster;
|
|
352
|
-
exports.createProductionCluster = createProductionCluster;
|
|
353
|
-
exports.createTestCluster = createTestCluster;
|
|
354
|
-
exports.createWebCluster = createWebCluster;
|
|
355
|
-
exports.createWorkerCluster = createWorkerCluster;
|
|
356
|
-
exports.getRecommendedConfig = getRecommendedConfig;
|
|
357
|
-
exports.mergeClusterConfigs = mergeClusterConfigs;
|
|
358
|
-
exports.setClusterDefaults = setClusterDefaults;
|
|
359
|
-
exports.validateClusterConfig = validateClusterConfig;
|
|
360
|
-
exports.withClusterSupport = withClusterSupport;
|
|
361
|
-
//# sourceMappingURL=index.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../../../../src/cluster/index.ts"],"sourcesContent":[null],"names":["createClusterForEnvironment","clusterFactory","buildCluster","ClusterFactory"],"mappings":"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"}
|