xypriss 5.6.0 → 5.6.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.
|
@@ -76,21 +76,9 @@ class ConfigLoader {
|
|
|
76
76
|
currentDir = path__namespace.dirname(currentDir);
|
|
77
77
|
}
|
|
78
78
|
const root = highestRoot;
|
|
79
|
-
// 2. Scan for other configs
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
const dirPath = path__namespace.join(root, dir);
|
|
83
|
-
if (fs__namespace.existsSync(dirPath) && fs__namespace.statSync(dirPath).isDirectory()) {
|
|
84
|
-
const subDirs = fs__namespace.readdirSync(dirPath);
|
|
85
|
-
for (const subDir of subDirs) {
|
|
86
|
-
const potentialConfig = path__namespace.join(dirPath, subDir, "xypriss.config.json");
|
|
87
|
-
if (fs__namespace.existsSync(potentialConfig) &&
|
|
88
|
-
!configFiles.includes(potentialConfig)) {
|
|
89
|
-
configFiles.push(potentialConfig);
|
|
90
|
-
}
|
|
91
|
-
}
|
|
92
|
-
}
|
|
93
|
-
}
|
|
79
|
+
// 2. Scan for other configs recursively (downwards search from root)
|
|
80
|
+
// This avoids hardcoding directory names like "plugins", "mods", etc.
|
|
81
|
+
this.discoverConfigs(root, configFiles);
|
|
94
82
|
// 3. Process each found configuration
|
|
95
83
|
for (const configPath of configFiles) {
|
|
96
84
|
this.applyConfigFromFile(configPath, root);
|
|
@@ -281,6 +269,51 @@ class ConfigLoader {
|
|
|
281
269
|
}
|
|
282
270
|
}
|
|
283
271
|
}
|
|
272
|
+
/**
|
|
273
|
+
* Recursively discovers all xypriss.config.json files starting from a directory.
|
|
274
|
+
* Skips common non-project directories (node_modules, dist, etc.) for efficiency.
|
|
275
|
+
*
|
|
276
|
+
* @param dir - The directory to start the search from.
|
|
277
|
+
* @param results - Array to accumulate found configuration paths.
|
|
278
|
+
* @param depth - Current recursion depth (limit to prevent excessive scanning).
|
|
279
|
+
* @private
|
|
280
|
+
*/
|
|
281
|
+
discoverConfigs(dir, results, depth = 0) {
|
|
282
|
+
if (depth > 5)
|
|
283
|
+
return; // Limit depth for performance
|
|
284
|
+
try {
|
|
285
|
+
const items = fs__namespace.readdirSync(dir, { withFileTypes: true });
|
|
286
|
+
for (const item of items) {
|
|
287
|
+
const fullPath = path__namespace.join(dir, item.name);
|
|
288
|
+
if (item.isDirectory()) {
|
|
289
|
+
// Skip common ignore patterns
|
|
290
|
+
const ignorePatterns = [
|
|
291
|
+
"node_modules",
|
|
292
|
+
"dist",
|
|
293
|
+
".git",
|
|
294
|
+
"target",
|
|
295
|
+
"out",
|
|
296
|
+
".private",
|
|
297
|
+
".meta",
|
|
298
|
+
"temp",
|
|
299
|
+
"tmp",
|
|
300
|
+
".xypriss",
|
|
301
|
+
];
|
|
302
|
+
if (ignorePatterns.includes(item.name))
|
|
303
|
+
continue;
|
|
304
|
+
this.discoverConfigs(fullPath, results, depth + 1);
|
|
305
|
+
}
|
|
306
|
+
else if (item.name === "xypriss.config.json") {
|
|
307
|
+
if (!results.includes(fullPath)) {
|
|
308
|
+
results.push(fullPath);
|
|
309
|
+
}
|
|
310
|
+
}
|
|
311
|
+
}
|
|
312
|
+
}
|
|
313
|
+
catch (error) {
|
|
314
|
+
// Log error only in debug if needed, otherwise skip inaccessible dirs
|
|
315
|
+
}
|
|
316
|
+
}
|
|
284
317
|
}
|
|
285
318
|
const configLoader = new ConfigLoader();
|
|
286
319
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ConfigLoader.js","sources":["../../../../../src/server/utils/ConfigLoader.ts"],"sourcesContent":[null],"names":["path","fs","logger","XyPrissFS"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;AAKA;;;;;AAKG;MACU,YAAY,CAAA;AAAzB,IAAA,WAAA,GAAA;QACY,IAAe,CAAA,eAAA,GAAG,KAAK,CAAC;AACxB,QAAA,IAAA,CAAA,aAAa,GAAG,IAAI,GAAG,EAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"ConfigLoader.js","sources":["../../../../../src/server/utils/ConfigLoader.ts"],"sourcesContent":[null],"names":["path","fs","logger","XyPrissFS"],"mappings":"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"}
|
|
@@ -54,21 +54,9 @@ class ConfigLoader {
|
|
|
54
54
|
currentDir = path.dirname(currentDir);
|
|
55
55
|
}
|
|
56
56
|
const root = highestRoot;
|
|
57
|
-
// 2. Scan for other configs
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
const dirPath = path.join(root, dir);
|
|
61
|
-
if (fs.existsSync(dirPath) && fs.statSync(dirPath).isDirectory()) {
|
|
62
|
-
const subDirs = fs.readdirSync(dirPath);
|
|
63
|
-
for (const subDir of subDirs) {
|
|
64
|
-
const potentialConfig = path.join(dirPath, subDir, "xypriss.config.json");
|
|
65
|
-
if (fs.existsSync(potentialConfig) &&
|
|
66
|
-
!configFiles.includes(potentialConfig)) {
|
|
67
|
-
configFiles.push(potentialConfig);
|
|
68
|
-
}
|
|
69
|
-
}
|
|
70
|
-
}
|
|
71
|
-
}
|
|
57
|
+
// 2. Scan for other configs recursively (downwards search from root)
|
|
58
|
+
// This avoids hardcoding directory names like "plugins", "mods", etc.
|
|
59
|
+
this.discoverConfigs(root, configFiles);
|
|
72
60
|
// 3. Process each found configuration
|
|
73
61
|
for (const configPath of configFiles) {
|
|
74
62
|
this.applyConfigFromFile(configPath, root);
|
|
@@ -259,6 +247,51 @@ class ConfigLoader {
|
|
|
259
247
|
}
|
|
260
248
|
}
|
|
261
249
|
}
|
|
250
|
+
/**
|
|
251
|
+
* Recursively discovers all xypriss.config.json files starting from a directory.
|
|
252
|
+
* Skips common non-project directories (node_modules, dist, etc.) for efficiency.
|
|
253
|
+
*
|
|
254
|
+
* @param dir - The directory to start the search from.
|
|
255
|
+
* @param results - Array to accumulate found configuration paths.
|
|
256
|
+
* @param depth - Current recursion depth (limit to prevent excessive scanning).
|
|
257
|
+
* @private
|
|
258
|
+
*/
|
|
259
|
+
discoverConfigs(dir, results, depth = 0) {
|
|
260
|
+
if (depth > 5)
|
|
261
|
+
return; // Limit depth for performance
|
|
262
|
+
try {
|
|
263
|
+
const items = fs.readdirSync(dir, { withFileTypes: true });
|
|
264
|
+
for (const item of items) {
|
|
265
|
+
const fullPath = path.join(dir, item.name);
|
|
266
|
+
if (item.isDirectory()) {
|
|
267
|
+
// Skip common ignore patterns
|
|
268
|
+
const ignorePatterns = [
|
|
269
|
+
"node_modules",
|
|
270
|
+
"dist",
|
|
271
|
+
".git",
|
|
272
|
+
"target",
|
|
273
|
+
"out",
|
|
274
|
+
".private",
|
|
275
|
+
".meta",
|
|
276
|
+
"temp",
|
|
277
|
+
"tmp",
|
|
278
|
+
".xypriss",
|
|
279
|
+
];
|
|
280
|
+
if (ignorePatterns.includes(item.name))
|
|
281
|
+
continue;
|
|
282
|
+
this.discoverConfigs(fullPath, results, depth + 1);
|
|
283
|
+
}
|
|
284
|
+
else if (item.name === "xypriss.config.json") {
|
|
285
|
+
if (!results.includes(fullPath)) {
|
|
286
|
+
results.push(fullPath);
|
|
287
|
+
}
|
|
288
|
+
}
|
|
289
|
+
}
|
|
290
|
+
}
|
|
291
|
+
catch (error) {
|
|
292
|
+
// Log error only in debug if needed, otherwise skip inaccessible dirs
|
|
293
|
+
}
|
|
294
|
+
}
|
|
262
295
|
}
|
|
263
296
|
const configLoader = new ConfigLoader();
|
|
264
297
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ConfigLoader.js","sources":["../../../../../src/server/utils/ConfigLoader.ts"],"sourcesContent":[null],"names":[],"mappings":";;;;;AAKA;;;;;AAKG;MACU,YAAY,CAAA;AAAzB,IAAA,WAAA,GAAA;QACY,IAAe,CAAA,eAAA,GAAG,KAAK,CAAC;AACxB,QAAA,IAAA,CAAA,aAAa,GAAG,IAAI,GAAG,EAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"ConfigLoader.js","sources":["../../../../../src/server/utils/ConfigLoader.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": "5.6.
|
|
3
|
+
"version": "5.6.1",
|
|
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",
|