xypriss 4.6.0 → 5.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (96) hide show
  1. package/LICENSE +9 -17
  2. package/README.md +36 -4
  3. package/dist/cjs/src/config.js +33 -8
  4. package/dist/cjs/src/config.js.map +1 -1
  5. package/dist/cjs/src/const.js +457 -190
  6. package/dist/cjs/src/const.js.map +1 -1
  7. package/dist/cjs/src/index.js +16 -17
  8. package/dist/cjs/src/index.js.map +1 -1
  9. package/dist/cjs/src/middleware/built-in/BuiltInMiddleware.js +24 -8
  10. package/dist/cjs/src/middleware/built-in/BuiltInMiddleware.js.map +1 -1
  11. package/dist/cjs/src/middleware/security-middleware.js +67 -6
  12. package/dist/cjs/src/middleware/security-middleware.js.map +1 -1
  13. package/dist/cjs/src/plugins/const/PluginHookIds.js +56 -0
  14. package/dist/cjs/src/plugins/const/PluginHookIds.js.map +1 -0
  15. package/dist/cjs/src/plugins/core/PluginManager.js +138 -25
  16. package/dist/cjs/src/plugins/core/PluginManager.js.map +1 -1
  17. package/dist/cjs/src/plugins/server-maintenance-plugin.js +3 -3
  18. package/dist/cjs/src/plugins/server-maintenance-plugin.js.map +1 -1
  19. package/dist/cjs/src/server/FastServer.js +8 -8
  20. package/dist/cjs/src/server/FastServer.js.map +1 -1
  21. package/dist/cjs/src/server/ServerFactory.js +17 -18
  22. package/dist/cjs/src/server/ServerFactory.js.map +1 -1
  23. package/dist/cjs/src/server/components/fastapi/FileWatcherManager.js +14 -19
  24. package/dist/cjs/src/server/components/fastapi/FileWatcherManager.js.map +1 -1
  25. package/dist/cjs/src/server/components/fastapi/RedirectManager.js +16 -21
  26. package/dist/cjs/src/server/components/fastapi/RedirectManager.js.map +1 -1
  27. package/dist/cjs/src/server/components/lifecycle/ServerLifecycleManager.js +6 -3
  28. package/dist/cjs/src/server/components/lifecycle/ServerLifecycleManager.js.map +1 -1
  29. package/dist/cjs/src/server/const/default.js +8 -4
  30. package/dist/cjs/src/server/const/default.js.map +1 -1
  31. package/dist/cjs/src/server/core/HttpServer.js +63 -9
  32. package/dist/cjs/src/server/core/HttpServer.js.map +1 -1
  33. package/dist/cjs/src/server/core/XyprissApp.js +3 -14
  34. package/dist/cjs/src/server/core/XyprissApp.js.map +1 -1
  35. package/dist/cjs/src/server/handlers/NotFoundHandler.js +44 -184
  36. package/dist/cjs/src/server/handlers/NotFoundHandler.js.map +1 -1
  37. package/dist/cjs/src/server/handlers/templates/notFoundTemplate.js +655 -0
  38. package/dist/cjs/src/server/handlers/templates/notFoundTemplate.js.map +1 -0
  39. package/dist/cjs/src/sys/FileSystem.js +1302 -0
  40. package/dist/cjs/src/sys/FileSystem.js.map +1 -0
  41. package/dist/cjs/src/sys.js +32 -30
  42. package/dist/cjs/src/sys.js.map +1 -1
  43. package/dist/cjs/src/types/NotFoundConfig.js +86 -0
  44. package/dist/cjs/src/types/NotFoundConfig.js.map +1 -0
  45. package/dist/esm/src/config.js +33 -8
  46. package/dist/esm/src/config.js.map +1 -1
  47. package/dist/esm/src/const.js +457 -190
  48. package/dist/esm/src/const.js.map +1 -1
  49. package/dist/esm/src/index.js +15 -17
  50. package/dist/esm/src/index.js.map +1 -1
  51. package/dist/esm/src/middleware/built-in/BuiltInMiddleware.js +24 -8
  52. package/dist/esm/src/middleware/built-in/BuiltInMiddleware.js.map +1 -1
  53. package/dist/esm/src/middleware/security-middleware.js +67 -6
  54. package/dist/esm/src/middleware/security-middleware.js.map +1 -1
  55. package/dist/esm/src/plugins/const/PluginHookIds.js +53 -0
  56. package/dist/esm/src/plugins/const/PluginHookIds.js.map +1 -0
  57. package/dist/esm/src/plugins/core/PluginManager.js +138 -25
  58. package/dist/esm/src/plugins/core/PluginManager.js.map +1 -1
  59. package/dist/esm/src/plugins/server-maintenance-plugin.js +3 -3
  60. package/dist/esm/src/plugins/server-maintenance-plugin.js.map +1 -1
  61. package/dist/esm/src/server/FastServer.js +8 -8
  62. package/dist/esm/src/server/FastServer.js.map +1 -1
  63. package/dist/esm/src/server/ServerFactory.js +18 -19
  64. package/dist/esm/src/server/ServerFactory.js.map +1 -1
  65. package/dist/esm/src/server/components/fastapi/FileWatcherManager.js +14 -19
  66. package/dist/esm/src/server/components/fastapi/FileWatcherManager.js.map +1 -1
  67. package/dist/esm/src/server/components/fastapi/RedirectManager.js +16 -21
  68. package/dist/esm/src/server/components/fastapi/RedirectManager.js.map +1 -1
  69. package/dist/esm/src/server/components/lifecycle/ServerLifecycleManager.js +6 -3
  70. package/dist/esm/src/server/components/lifecycle/ServerLifecycleManager.js.map +1 -1
  71. package/dist/esm/src/server/const/default.js +8 -4
  72. package/dist/esm/src/server/const/default.js.map +1 -1
  73. package/dist/esm/src/server/core/HttpServer.js +63 -9
  74. package/dist/esm/src/server/core/HttpServer.js.map +1 -1
  75. package/dist/esm/src/server/core/XyprissApp.js +3 -14
  76. package/dist/esm/src/server/core/XyprissApp.js.map +1 -1
  77. package/dist/esm/src/server/handlers/NotFoundHandler.js +44 -164
  78. package/dist/esm/src/server/handlers/NotFoundHandler.js.map +1 -1
  79. package/dist/esm/src/server/handlers/templates/notFoundTemplate.js +653 -0
  80. package/dist/esm/src/server/handlers/templates/notFoundTemplate.js.map +1 -0
  81. package/dist/esm/src/sys/FileSystem.js +1300 -0
  82. package/dist/esm/src/sys/FileSystem.js.map +1 -0
  83. package/dist/esm/src/sys.js +32 -30
  84. package/dist/esm/src/sys.js.map +1 -1
  85. package/dist/esm/src/types/NotFoundConfig.js +84 -0
  86. package/dist/esm/src/types/NotFoundConfig.js.map +1 -0
  87. package/dist/index.d.ts +1290 -157
  88. package/package.json +3 -4
  89. package/dist/cjs/src/server/handlers/templates/notFoundTemp.js +0 -163
  90. package/dist/cjs/src/server/handlers/templates/notFoundTemp.js.map +0 -1
  91. package/dist/cjs/src/server/utils/es_modules.js +0 -12
  92. package/dist/cjs/src/server/utils/es_modules.js.map +0 -1
  93. package/dist/esm/src/server/handlers/templates/notFoundTemp.js +0 -161
  94. package/dist/esm/src/server/handlers/templates/notFoundTemp.js.map +0 -1
  95. package/dist/esm/src/server/utils/es_modules.js +0 -8
  96. package/dist/esm/src/server/utils/es_modules.js.map +0 -1
package/LICENSE CHANGED
@@ -1,21 +1,13 @@
1
- MIT License
1
+ NEHONIX Open Source License (NOSL) v1.0
2
2
 
3
- Copyright (c) 2025 NEHONIX INC
3
+ Copyright (c) 2025 NEHONIX - www.nehonix.com
4
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:
5
+ This License governs the use, modification, and distribution of software provided by NEHONIX under its open source projects. NEHONIX is committed to fostering collaborative innovation while strictly protecting its intellectual property rights. Violation of any term of this License will result in immediate termination of all granted rights and may subject the violator to legal action.
11
6
 
12
- The above copyright notice and this permission notice shall be included in all
13
- copies or substantial portions of the Software.
7
+ The full version of this license is available at: https://dll.nehonix.com/licenses/NOSL
14
8
 
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.
9
+ > **DISCLAIMER OF WARRANTY**
10
+ > THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, AND NON-INFRINGEMENT.
11
+
12
+ > **LIMITATION OF LIABILITY**
13
+ > IN NO EVENT SHALL NEHONIX BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES ARISING FROM THE USE OR INABILITY TO USE THE SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
package/README.md CHANGED
@@ -7,8 +7,9 @@ A powerful Node.js web framework with built-in security, clustering, and perform
7
7
 
8
8
  [![npm version](https://badge.fury.io/js/xypriss.svg)](https://badge.fury.io/js/xypriss)
9
9
  [![TypeScript](https://img.shields.io/badge/TypeScript-007ACC?style=flat&logo=typescript&logoColor=white)](https://www.typescriptlang.org/)
10
- [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
10
+ [![License: NOSL](https://img.shields.io/badge/License-NOSL-blue.svg)](https://dll.nehonix.com/licenses/NOSL)
11
11
  [![Powered by Nehonix](https://img.shields.io/badge/Powered%20by-Nehonix-blue?style=flat&logo=data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjQiIGhlaWdodD0iMjQiIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTEyIDJMMTMuMDkgOC4yNkwyMCA5TDEzLjA5IDE1Ljc0TDEyIDIyTDEwLjkxIDE1Ljc0TDQgOUwxMC45MSA4LjI2TDEyIDJaIiBmaWxsPSJ3aGl0ZSIvPgo8L3N2Zz4K)](https://nehonix.com)
12
+ [![XyNginC](https://img.shields.io/badge/XyNginC-Production%20Ready-success?style=flat&logo=nginx&logoColor=white)](https://github.com/Nehonix-Team/xynginc)
12
13
 
13
14
  </div>
14
15
 
@@ -18,6 +19,8 @@ A powerful Node.js web framework with built-in security, clustering, and perform
18
19
 
19
20
  XyPriss is a powerful, TypeScript-first, open-source Node.js web framework that enhances your development experience with built-in security middleware, clustering, and performance optimizations. Whether you're building new applications or enhancing existing ones, XyPriss provides the tools you need for scalable, secure web development.
20
21
 
22
+ For production deployments, XyPriss integrates seamlessly with **[XyNginC](https://github.com/Nehonix-Team/xynginc)** for automated Nginx configuration and SSL management.
23
+
21
24
  ### Key Features
22
25
 
23
26
  - **Familiar API**: Intuitive syntax for defining routes and middleware
@@ -213,6 +216,36 @@ await app.startAllServers();
213
216
 
214
217
  [→ Full Multi-Server Guide](./docs/MULTI_SERVER.md)
215
218
 
219
+ ### Production Deployment
220
+
221
+ Integrate **XyNginC** directly into your server for automated Nginx & SSL management:
222
+
223
+ ```typescript
224
+ import { createServer } from "xypriss";
225
+ import XNCP from "xynginc";
226
+
227
+ const app = createServer({
228
+ plugins: {
229
+ register: [
230
+ XNCP({
231
+ domains: [
232
+ {
233
+ domain: "api.example.com",
234
+ port: 3000,
235
+ ssl: true,
236
+ email: "admin@example.com",
237
+ },
238
+ ],
239
+ }),
240
+ ],
241
+ },
242
+ });
243
+
244
+ app.start();
245
+ ```
246
+
247
+ [→ Full XyNginC Guide](https://github.com/Nehonix-Team/xynginc)
248
+
216
249
  ---
217
250
 
218
251
  ## Modules
@@ -316,13 +349,12 @@ We welcome contributions! See the [Contributing Guide](./CONTRIBUTING.md) for de
316
349
 
317
350
  ## License
318
351
 
319
- XyPriss is licensed under the [MIT License](./LICENSE).
352
+ XyPriss is licensed under the [NOSL License](./LICENSE).
320
353
 
321
354
  ---
322
355
 
323
- ### Powered by Nehonix Devs
356
+ ### Built with ❤️ by [Nehonix Devs](https://github.com/Nehonix-Team) and its [collaborators](https://github.com/Nehonix-Team/XyPriss/graphs/contributors)
324
357
 
325
358
  [![Website](https://img.shields.io/badge/Website-nehonix.com-blue?style=for-the-badge&logo=globe)](https://nehonix.com)
326
359
  [![GitHub](https://img.shields.io/badge/GitHub-Nehonix--Team-black?style=for-the-badge&logo=github)](https://github.com/Nehonix-Team)
327
- [![Twitter](https://img.shields.io/badge/Twitter-@nehonix-1DA1F2?style=for-the-badge&logo=twitter)](https://twitter.com/nehonix)
328
360
 
@@ -115,22 +115,47 @@ class ConfigurationManager {
115
115
  * @param source - Source object to merge
116
116
  * @returns Merged object
117
117
  */
118
+ /**
119
+ * Deeply merge two configuration objects
120
+ * @param target - Target object to merge into
121
+ * @param source - Source object to merge from
122
+ * @returns Merged object
123
+ */
118
124
  static deepMerge(target, source) {
119
- const result = { ...target };
125
+ // Create a plain copy of target. If target is a Proxy, this spreads its properties.
126
+ const result = (Array.isArray(target) ? [...target] : { ...target });
120
127
  for (const key in source) {
121
128
  const sourceValue = source[key];
122
129
  const targetValue = result[key];
123
- if (sourceValue &&
130
+ const isSourceObj = sourceValue &&
124
131
  typeof sourceValue === "object" &&
125
- !Array.isArray(sourceValue) &&
126
- targetValue &&
132
+ !Array.isArray(sourceValue);
133
+ const isTargetObj = targetValue &&
127
134
  typeof targetValue === "object" &&
128
- !Array.isArray(targetValue)) {
129
- // Recursively merge nested objects
130
- result[key] = ConfigurationManager.deepMerge(targetValue, sourceValue);
135
+ !Array.isArray(targetValue);
136
+ if (isSourceObj && isTargetObj) {
137
+ // Both are objects, merge them recursively
138
+ if (targetValue === sourceValue) {
139
+ continue;
140
+ }
141
+ if (targetValue.__isXyPrissImmutable) {
142
+ // Target is immutable. We must merge recursively into it to trigger traps
143
+ // and ensure compatibility.
144
+ ConfigurationManager.deepMerge(targetValue, sourceValue);
145
+ result[key] = targetValue;
146
+ }
147
+ else {
148
+ // Target is plain, merge recursively
149
+ result[key] = ConfigurationManager.deepMerge(targetValue, sourceValue);
150
+ }
131
151
  }
132
152
  else if (sourceValue !== undefined) {
133
- // Replace value (including arrays and primitives)
153
+ // Primitive, array, or target is not an object.
154
+ // If the parent (target) is immutable, try to set it there to trigger trap
155
+ // This will throw if the value is different from the current one.
156
+ if (target.__isXyPrissImmutable) {
157
+ target[key] = sourceValue;
158
+ }
134
159
  result[key] = sourceValue;
135
160
  }
136
161
  }
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sources":["../../../src/config.ts"],"sourcesContent":[null],"names":["DEFAULT_OPTIONS"],"mappings":"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"}
1
+ {"version":3,"file":"config.js","sources":["../../../src/config.ts"],"sourcesContent":[null],"names":["DEFAULT_OPTIONS"],"mappings":"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"}