xypriss 2.1.0 → 2.1.2

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 (33) hide show
  1. package/dist/cjs/src/index.js +1 -1
  2. package/dist/cjs/src/index.js.map +1 -1
  3. package/dist/cjs/src/server/FastServer.js +1 -1
  4. package/dist/cjs/src/server/FastServer.js.map +1 -1
  5. package/dist/cjs/src/server/ServerFactory.js +1 -0
  6. package/dist/cjs/src/server/ServerFactory.js.map +1 -1
  7. package/dist/cjs/src/server/components/fastapi/FileWatcherManager.js +183 -135
  8. package/dist/cjs/src/server/components/fastapi/FileWatcherManager.js.map +1 -1
  9. package/dist/cjs/src/server/components/lifecycle/ServerLifecycleManager.js +4 -3
  10. package/dist/cjs/src/server/components/lifecycle/ServerLifecycleManager.js.map +1 -1
  11. package/dist/cjs/src/server/const/default.js +6 -1
  12. package/dist/cjs/src/server/const/default.js.map +1 -1
  13. package/dist/cjs/src/server/core/XyprissApp.js +72 -10
  14. package/dist/cjs/src/server/core/XyprissApp.js.map +1 -1
  15. package/dist/esm/src/index.js +1 -1
  16. package/dist/esm/src/index.js.map +1 -1
  17. package/dist/esm/src/server/FastServer.js +2 -2
  18. package/dist/esm/src/server/FastServer.js.map +1 -1
  19. package/dist/esm/src/server/ServerFactory.js +1 -0
  20. package/dist/esm/src/server/ServerFactory.js.map +1 -1
  21. package/dist/esm/src/server/components/fastapi/FileWatcherManager.js +183 -135
  22. package/dist/esm/src/server/components/fastapi/FileWatcherManager.js.map +1 -1
  23. package/dist/esm/src/server/components/lifecycle/ServerLifecycleManager.js +4 -3
  24. package/dist/esm/src/server/components/lifecycle/ServerLifecycleManager.js.map +1 -1
  25. package/dist/esm/src/server/const/default.js +5 -2
  26. package/dist/esm/src/server/const/default.js.map +1 -1
  27. package/dist/esm/src/server/core/XyprissApp.js +72 -10
  28. package/dist/esm/src/server/core/XyprissApp.js.map +1 -1
  29. package/package.json +6 -5
  30. package/dist/cjs/src/server/components/fastapi/typescript/TypeScriptChecker.js +0 -373
  31. package/dist/cjs/src/server/components/fastapi/typescript/TypeScriptChecker.js.map +0 -1
  32. package/dist/esm/src/server/components/fastapi/typescript/TypeScriptChecker.js +0 -351
  33. package/dist/esm/src/server/components/fastapi/typescript/TypeScriptChecker.js.map +0 -1
@@ -555,10 +555,6 @@ class XyprissApp {
555
555
  // Register all routes from the router
556
556
  routes.forEach((route) => {
557
557
  const fullPath = this.joinPaths(basePath, route.path);
558
- // Register route-specific middleware
559
- route.middleware.forEach((mw) => {
560
- this.httpServer.use(mw);
561
- });
562
558
  // If the route has a compiled pattern, we need to create a new pattern
563
559
  // that includes the base path
564
560
  let routePath = fullPath;
@@ -621,22 +617,88 @@ class XyprissApp {
621
617
  }
622
618
  }
623
619
  this.logger.debug("server", `Mounted route: ${route.method} ${fullPath}`);
620
+ // For root routes, also register the base path without trailing slash to match Express behavior
621
+ if (route.path === "/") {
622
+ const altPath = basePath.replace(/\/$/, ""); // remove trailing slash if present
623
+ let altRoutePath = altPath;
624
+ if (routePath instanceof RegExp && route.pattern) {
625
+ // For RegExp routes, create alternative
626
+ const flags = route.pattern.flags;
627
+ const basePathEscaped = altPath.replace(/[.*+?^${}()|[\]\\]/g, "\\$&");
628
+ const newPatternSource = `^${basePathEscaped}/?$`;
629
+ altRoutePath = new RegExp(newPatternSource, flags);
630
+ }
631
+ else {
632
+ // For string routes, use the alt path
633
+ altRoutePath = altPath;
634
+ }
635
+ // Register the alternative route
636
+ const allHandlersAlt = [...route.middleware, route.handler];
637
+ switch (route.method.toUpperCase()) {
638
+ case "GET":
639
+ this.httpServer.get(altRoutePath, ...allHandlersAlt);
640
+ break;
641
+ case "POST":
642
+ this.httpServer.post(altRoutePath, ...allHandlersAlt);
643
+ break;
644
+ case "PUT":
645
+ this.httpServer.put(altRoutePath, ...allHandlersAlt);
646
+ break;
647
+ case "DELETE":
648
+ this.httpServer.delete(altRoutePath, ...allHandlersAlt);
649
+ break;
650
+ case "PATCH":
651
+ this.httpServer.patch(altRoutePath, ...allHandlersAlt);
652
+ break;
653
+ case "OPTIONS":
654
+ this.httpServer.options(altRoutePath, ...allHandlersAlt);
655
+ break;
656
+ case "HEAD":
657
+ this.httpServer.head(altRoutePath, ...allHandlersAlt);
658
+ break;
659
+ default:
660
+ this.logger.warn("server", `Unsupported HTTP method for alt route: ${route.method}`);
661
+ break;
662
+ }
663
+ this.logger.debug("server", `Mounted alt route: ${route.method} ${altPath}`);
664
+ }
624
665
  });
625
666
  this.logger.debug("server", `Mounted router at ${basePath} with ${routes.length} routes`);
626
667
  }
627
668
  /**
628
- * Join two paths correctly
669
+ * Join two paths correctly (matches Router._joinPaths)
629
670
  */
630
671
  joinPaths(basePath, subPath) {
631
- const normalizedBase = basePath.endsWith("/")
632
- ? basePath.slice(0, -1)
633
- : basePath;
634
- const normalizedSub = subPath.startsWith("/") ? subPath : "/" + subPath;
635
- if (normalizedBase === "" || normalizedBase === "/") {
672
+ const normalizedBase = this.normalizePath(basePath);
673
+ const normalizedSub = this.normalizePath(subPath);
674
+ if (normalizedSub === "/") {
675
+ return normalizedBase;
676
+ }
677
+ if (normalizedBase === "/") {
636
678
  return normalizedSub;
637
679
  }
638
680
  return normalizedBase + normalizedSub;
639
681
  }
682
+ /**
683
+ * Normalize path (matches Router.normalizePath)
684
+ */
685
+ normalizePath(path) {
686
+ if (!path || typeof path !== "string") {
687
+ throw new Error("Path must be a non-empty string");
688
+ }
689
+ let normalized = path.trim();
690
+ // Ensure path starts with /
691
+ if (!normalized.startsWith("/")) {
692
+ normalized = "/" + normalized;
693
+ }
694
+ // Remove trailing slashes except for root
695
+ if (normalized.length > 1) {
696
+ normalized = normalized.replace(/\/+$/, "");
697
+ }
698
+ // Normalize multiple consecutive slashes to single slash
699
+ normalized = normalized.replace(/\/+/g, "/");
700
+ return normalized || "/";
701
+ }
640
702
  // ===== HELPER METHODS =====
641
703
  /**
642
704
  * Convert Express RequestHandler to XyPrisHttpServer handler
@@ -1 +1 @@
1
- {"version":3,"file":"XyprissApp.js","sources":["../../../../../src/server/core/XyprissApp.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"XyprissApp.js","sources":["../../../../../src/server/core/XyprissApp.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "xypriss",
3
- "version": "2.1.0",
3
+ "version": "2.1.2",
4
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",
@@ -19,12 +19,13 @@
19
19
  "scripts": {
20
20
  "postinstall": "node scripts/postinstall.js",
21
21
  "install-memory-cli": "node scripts/install-memory-cli.js",
22
- "build": "npx rollup -c rollup.config.js",
22
+ "build": "NODE_OPTIONS='--max-old-space-size=4096' 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"
27
+ "benchmark": "node benchmarks/index.js",
28
+ "prepublishOnly": "npm run build"
28
29
  },
29
30
  "exports": {
30
31
  ".": {
@@ -165,7 +166,7 @@
165
166
  "@types/morgan": "^1.9.10",
166
167
  "@types/multer": "^2.0.0",
167
168
  "@types/noble": "^0.0.44",
168
- "@types/node": "^18.19.110",
169
+ "@types/node": "^18.19.129",
169
170
  "@types/react": "^18.0.0",
170
171
  "@types/ws": "^8.18.1",
171
172
  "@typescript-eslint/eslint-plugin": "^5.57.0",
@@ -239,6 +240,7 @@
239
240
  "express-validator": "^7.2.1",
240
241
  "fast-json-stable-stringify": "^2.1.0",
241
242
  "fast-json-stringify": "^6.0.1",
243
+ "fortify-schema": "^2.1.2",
242
244
  "helmet": "^8.1.0",
243
245
  "hpp": "^0.2.3",
244
246
  "http-proxy-middleware": "^3.0.5",
@@ -264,7 +266,6 @@
264
266
  "secure-random": "^1.1.2",
265
267
  "systeminformation": "^5.27.1",
266
268
  "tweetnacl": "^1.0.3",
267
- "typescript": "^5.8.3",
268
269
  "ws": "^8.18.2",
269
270
  "xss": "^1.0.15",
270
271
  "xypriss-security": "^1.1.3"
@@ -1,373 +0,0 @@
1
- 'use strict';
2
-
3
- var ts = require('typescript');
4
- var fs = require('fs');
5
- var path = require('path');
6
- var Logger = require('../../../../../shared/logger/Logger.js');
7
-
8
- function _interopNamespaceDefault(e) {
9
- var n = Object.create(null);
10
- if (e) {
11
- Object.keys(e).forEach(function (k) {
12
- if (k !== 'default') {
13
- var d = Object.getOwnPropertyDescriptor(e, k);
14
- Object.defineProperty(n, k, d.get ? d : {
15
- enumerable: true,
16
- get: function () { return e[k]; }
17
- });
18
- }
19
- });
20
- }
21
- n.default = e;
22
- return Object.freeze(n);
23
- }
24
-
25
- var fs__namespace = /*#__PURE__*/_interopNamespaceDefault(fs);
26
- var path__namespace = /*#__PURE__*/_interopNamespaceDefault(path);
27
-
28
- /**
29
- * TypeScript Type Checker
30
- * Provides real-time TypeScript error detection and reporting
31
- */
32
- class TypeScriptChecker {
33
- constructor(config) {
34
- this.program = null;
35
- this.compilerOptions = {};
36
- this.lastCheckTime = new Date();
37
- this.isChecking = false;
38
- this.config = {
39
- ...config,
40
- enabled: config.enabled ?? true,
41
- watchMode: config.watchMode ?? false,
42
- checkOnSave: config.checkOnSave ?? true,
43
- showWarnings: config.showWarnings ?? true,
44
- showInfos: config.showInfos ?? false,
45
- maxErrors: config.maxErrors ?? 50,
46
- excludePatterns: config.excludePatterns ?? [
47
- "node_modules",
48
- "dist",
49
- "build",
50
- ".git",
51
- ],
52
- includePatterns: config.includePatterns ?? ["**/*.ts", "**/*.tsx"],
53
- verbose: config.verbose ?? false,
54
- };
55
- this.configPath = this.findTsConfig();
56
- this.loadCompilerOptions();
57
- }
58
- /**
59
- * Find tsconfig.json file
60
- */
61
- findTsConfig() {
62
- if (this.config.configFile && fs__namespace.existsSync(this.config.configFile)) {
63
- return this.config.configFile;
64
- }
65
- // Search for tsconfig.json in current directory and parent directories
66
- let currentDir = process.cwd();
67
- while (currentDir !== path__namespace.dirname(currentDir)) {
68
- const configPath = path__namespace.join(currentDir, "tsconfig.json");
69
- if (fs__namespace.existsSync(configPath)) {
70
- return configPath;
71
- }
72
- currentDir = path__namespace.dirname(currentDir);
73
- }
74
- // Default fallback
75
- return path__namespace.join(process.cwd(), "tsconfig.json");
76
- }
77
- /**
78
- * Load TypeScript compiler options
79
- */
80
- loadCompilerOptions() {
81
- try {
82
- if (fs__namespace.existsSync(this.configPath)) {
83
- const configFile = ts.readConfigFile(this.configPath, ts.sys.readFile);
84
- if (configFile.error) {
85
- Logger.logger.warn("typescript", `Error reading tsconfig.json: ${configFile.error.messageText}`);
86
- this.compilerOptions = this.getDefaultCompilerOptions();
87
- return;
88
- }
89
- const parsedConfig = ts.parseJsonConfigFileContent(configFile.config, ts.sys, path__namespace.dirname(this.configPath));
90
- if (parsedConfig.errors.length > 0) {
91
- Logger.logger.warn("typescript", "TypeScript config errors found");
92
- parsedConfig.errors.forEach((error) => {
93
- Logger.logger.warn("typescript", `Config error: ${error.messageText}`);
94
- });
95
- }
96
- this.compilerOptions = parsedConfig.options;
97
- if (this.config.verbose) {
98
- Logger.logger.debug("typescript", `Loaded TypeScript config from: ${this.configPath}`);
99
- }
100
- }
101
- else {
102
- Logger.logger.warn("typescript", `tsconfig.json not found at: ${this.configPath}`);
103
- this.compilerOptions = this.getDefaultCompilerOptions();
104
- }
105
- }
106
- catch (error) {
107
- Logger.logger.error("typescript", `Failed to load TypeScript config: ${error.message}`);
108
- this.compilerOptions = this.getDefaultCompilerOptions();
109
- }
110
- }
111
- /**
112
- * Get default compiler options
113
- */
114
- getDefaultCompilerOptions() {
115
- return {
116
- target: ts.ScriptTarget.ES2020,
117
- module: ts.ModuleKind.CommonJS,
118
- lib: ["ES2020", "DOM"],
119
- strict: true,
120
- esModuleInterop: true,
121
- skipLibCheck: true,
122
- forceConsistentCasingInFileNames: true,
123
- moduleResolution: ts.ModuleResolutionKind.Node10,
124
- allowSyntheticDefaultImports: true,
125
- noEmit: true, // We only want type checking, not compilation
126
- };
127
- }
128
- /**
129
- * Get TypeScript files to check
130
- */
131
- getFilesToCheck(specificFiles) {
132
- if (specificFiles && specificFiles.length > 0) {
133
- return specificFiles.filter((file) => file.endsWith(".ts") || file.endsWith(".tsx"));
134
- }
135
- // Get all TypeScript files in the project
136
- const files = [];
137
- const searchPaths = ["src", "lib", "app", "."];
138
- for (const searchPath of searchPaths) {
139
- if (fs__namespace.existsSync(searchPath)) {
140
- this.findTypeScriptFiles(searchPath, files);
141
- }
142
- }
143
- return files;
144
- }
145
- /**
146
- * Recursively find TypeScript files
147
- */
148
- findTypeScriptFiles(dir, files) {
149
- try {
150
- const entries = fs__namespace.readdirSync(dir, { withFileTypes: true });
151
- for (const entry of entries) {
152
- const fullPath = path__namespace.join(dir, entry.name);
153
- // Skip excluded patterns
154
- if (this.config.excludePatterns.some((pattern) => fullPath.includes(pattern))) {
155
- continue;
156
- }
157
- if (entry.isDirectory()) {
158
- this.findTypeScriptFiles(fullPath, files);
159
- }
160
- else if (entry.isFile() &&
161
- (entry.name.endsWith(".ts") || entry.name.endsWith(".tsx"))) {
162
- files.push(fullPath);
163
- }
164
- }
165
- }
166
- catch (error) {
167
- if (this.config.verbose) {
168
- Logger.logger.debug("typescript", `Error reading directory ${dir}: ${error.message}`);
169
- }
170
- }
171
- }
172
- /**
173
- * Check TypeScript files for errors
174
- */
175
- async checkFiles(specificFiles) {
176
- if (!this.config.enabled) {
177
- return {
178
- success: true,
179
- errors: [],
180
- warnings: [],
181
- totalFiles: 0,
182
- checkedFiles: [],
183
- duration: 0,
184
- timestamp: new Date(),
185
- };
186
- }
187
- if (this.isChecking) {
188
- Logger.logger.debug("typescript", "Type check already in progress, skipping");
189
- return {
190
- success: false,
191
- errors: [],
192
- warnings: [],
193
- totalFiles: 0,
194
- checkedFiles: [],
195
- duration: 0,
196
- timestamp: new Date(),
197
- };
198
- }
199
- this.isChecking = true;
200
- const startTime = Date.now();
201
- try {
202
- const filesToCheck = this.getFilesToCheck(specificFiles);
203
- if (filesToCheck.length === 0) {
204
- Logger.logger.debug("typescript", "No TypeScript files found to check");
205
- return {
206
- success: true,
207
- errors: [],
208
- warnings: [],
209
- totalFiles: 0,
210
- checkedFiles: [],
211
- duration: Date.now() - startTime,
212
- timestamp: new Date(),
213
- };
214
- }
215
- if (this.config.verbose) {
216
- Logger.logger.debug("typescript", `Checking ${filesToCheck.length} TypeScript files`);
217
- }
218
- // Create TypeScript program
219
- this.program = ts.createProgram(filesToCheck, this.compilerOptions);
220
- // Get diagnostics
221
- const allDiagnostics = ts.getPreEmitDiagnostics(this.program);
222
- // Process diagnostics
223
- const errors = [];
224
- const warnings = [];
225
- for (const diagnostic of allDiagnostics) {
226
- const tsError = this.processDiagnostic(diagnostic);
227
- if (tsError) {
228
- if (tsError.severity === "error") {
229
- errors.push(tsError);
230
- }
231
- else if (tsError.severity === "warning" &&
232
- this.config.showWarnings) {
233
- warnings.push(tsError);
234
- }
235
- }
236
- // Limit errors to prevent overwhelming output
237
- if (errors.length >= this.config.maxErrors) {
238
- Logger.logger.warn("typescript", `Reached maximum error limit (${this.config.maxErrors}), stopping check`);
239
- break;
240
- }
241
- }
242
- const duration = Date.now() - startTime;
243
- const success = errors.length === 0;
244
- // Log results
245
- if (errors.length > 0) {
246
- Logger.logger.error("typescript", `❌ TypeScript check failed: ${errors.length} errors found`);
247
- errors.slice(0, 5).forEach((error) => {
248
- Logger.logger.error("typescript", ` ${error.file}:${error.line}:${error.column} - ${error.message}`);
249
- });
250
- if (errors.length > 5) {
251
- Logger.logger.error("typescript", ` ... and ${errors.length - 5} more errors`);
252
- }
253
- }
254
- else {
255
- Logger.logger.info("typescript", `✅ TypeScript check passed (${filesToCheck.length} files, ${duration}ms)`);
256
- }
257
- if (warnings.length > 0 && this.config.showWarnings) {
258
- Logger.logger.warn("typescript", `⚠️ ${warnings.length} TypeScript warnings found`);
259
- }
260
- this.lastCheckTime = new Date();
261
- return {
262
- success,
263
- errors,
264
- warnings,
265
- totalFiles: filesToCheck.length,
266
- checkedFiles: filesToCheck,
267
- duration,
268
- timestamp: this.lastCheckTime,
269
- };
270
- }
271
- catch (error) {
272
- Logger.logger.error("typescript", `TypeScript check failed: ${error.message}`);
273
- return {
274
- success: false,
275
- errors: [
276
- {
277
- file: "system",
278
- line: 0,
279
- column: 0,
280
- message: `TypeScript checker error: ${error.message}`,
281
- code: 0,
282
- severity: "error",
283
- category: "system",
284
- source: error.stack || "",
285
- },
286
- ],
287
- warnings: [],
288
- totalFiles: 0,
289
- checkedFiles: [],
290
- duration: Date.now() - startTime,
291
- timestamp: new Date(),
292
- };
293
- }
294
- finally {
295
- this.isChecking = false;
296
- }
297
- }
298
- /**
299
- * Process TypeScript diagnostic
300
- */
301
- processDiagnostic(diagnostic) {
302
- const message = ts.flattenDiagnosticMessageText(diagnostic.messageText, "\n");
303
- let file = "unknown";
304
- let line = 0;
305
- let column = 0;
306
- if (diagnostic.file && diagnostic.start !== undefined) {
307
- file = diagnostic.file.fileName;
308
- const position = diagnostic.file.getLineAndCharacterOfPosition(diagnostic.start);
309
- line = position.line + 1; // Convert to 1-based
310
- column = position.character + 1; // Convert to 1-based
311
- }
312
- const severity = this.getDiagnosticSeverity(diagnostic.category);
313
- const category = ts.DiagnosticCategory[diagnostic.category].toLowerCase();
314
- return {
315
- file: path__namespace.relative(process.cwd(), file),
316
- line,
317
- column,
318
- message,
319
- code: diagnostic.code,
320
- severity,
321
- category,
322
- source: diagnostic.source || "typescript",
323
- };
324
- }
325
- /**
326
- * Get diagnostic severity
327
- */
328
- getDiagnosticSeverity(category) {
329
- switch (category) {
330
- case ts.DiagnosticCategory.Error:
331
- return "error";
332
- case ts.DiagnosticCategory.Warning:
333
- return "warning";
334
- case ts.DiagnosticCategory.Suggestion:
335
- case ts.DiagnosticCategory.Message:
336
- return "info";
337
- default:
338
- return "error";
339
- }
340
- }
341
- /**
342
- * Get checker status
343
- */
344
- getStatus() {
345
- return {
346
- enabled: this.config.enabled,
347
- isChecking: this.isChecking,
348
- lastCheckTime: this.lastCheckTime,
349
- configPath: this.configPath,
350
- compilerOptions: this.compilerOptions,
351
- };
352
- }
353
- /**
354
- * Update configuration
355
- */
356
- updateConfig(newConfig) {
357
- this.config = { ...this.config, ...newConfig };
358
- if (newConfig.configFile) {
359
- this.configPath = newConfig.configFile;
360
- this.loadCompilerOptions();
361
- }
362
- }
363
- /**
364
- * Enable/disable type checking
365
- */
366
- setEnabled(enabled) {
367
- this.config.enabled = enabled;
368
- Logger.logger.info("typescript", `TypeScript checking ${enabled ? "enabled" : "disabled"}`);
369
- }
370
- }
371
-
372
- exports.TypeScriptChecker = TypeScriptChecker;
373
- //# sourceMappingURL=TypeScriptChecker.js.map