xypriss 5.6.0 → 6.2.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/bin/xsys +0 -0
- package/dist/cjs/src/index.js.map +1 -1
- package/dist/cjs/src/server/utils/ConfigLoader.js +50 -17
- package/dist/cjs/src/server/utils/ConfigLoader.js.map +1 -1
- package/dist/cjs/src/sys/FSApi.js +1049 -0
- package/dist/cjs/src/sys/FSApi.js.map +1 -0
- package/dist/cjs/src/sys/PathApi.js +202 -0
- package/dist/cjs/src/sys/PathApi.js.map +1 -0
- package/dist/cjs/src/sys/SysApi.js +250 -0
- package/dist/cjs/src/sys/SysApi.js.map +1 -0
- package/dist/cjs/src/sys/System.js +40 -0
- package/dist/cjs/src/sys/System.js.map +1 -0
- package/dist/cjs/src/sys/XyPrissRunner.js +145 -0
- package/dist/cjs/src/sys/XyPrissRunner.js.map +1 -0
- package/dist/cjs/src/sys.js +115 -463
- package/dist/cjs/src/sys.js.map +1 -1
- package/dist/esm/src/index.js.map +1 -1
- package/dist/esm/src/server/utils/ConfigLoader.js +49 -16
- package/dist/esm/src/server/utils/ConfigLoader.js.map +1 -1
- package/dist/esm/src/sys/FSApi.js +1047 -0
- package/dist/esm/src/sys/FSApi.js.map +1 -0
- package/dist/esm/src/sys/PathApi.js +199 -0
- package/dist/esm/src/sys/PathApi.js.map +1 -0
- package/dist/esm/src/sys/SysApi.js +248 -0
- package/dist/esm/src/sys/SysApi.js.map +1 -0
- package/dist/esm/src/sys/System.js +38 -0
- package/dist/esm/src/sys/System.js.map +1 -0
- package/dist/esm/src/sys/XyPrissRunner.js +142 -0
- package/dist/esm/src/sys/XyPrissRunner.js.map +1 -0
- package/dist/esm/src/sys.js +115 -463
- package/dist/esm/src/sys.js.map +1 -1
- package/dist/index.d.ts +1252 -1201
- package/package.json +7 -3
- package/scripts/postinstall-xsys.js +107 -0
- package/scripts/test-fs-full.ts +96 -0
- package/scripts/verify-xsys-bridge.ts +48 -0
package/bin/xsys
ADDED
|
Binary file
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../../../src/index.ts"],"sourcesContent":[null],"names":["configLoader","XyPrissRouter"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;;;;;;;;;;;;;;;;;;;;;AAsBiF;
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../src/index.ts"],"sourcesContent":[null],"names":["configLoader","XyPrissRouter"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;;;;;;;;;;;;;;;;;;;;;AAsBiF;AAejF;AACA,IAAI,OAAO,UAAU,KAAK,WAAW,EAAE;IACnCA,yBAAY,CAAC,qBAAqB,EAAE,CAAC;AACzC,CAAC;AAwGD;;AAEG;SACa,MAAM,GAAA;IAClB,OAAO,IAAIC,sBAAa,CAAC;AACrB,QAAA,aAAa,EAAE,KAAK;AACpB,QAAA,WAAW,EAAE,KAAK;AAClB,QAAA,MAAM,EAAE,KAAK;AAChB,KAAA,CAAC,CAAC;AACP;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
var fs = require('fs');
|
|
4
4
|
var path = require('path');
|
|
5
5
|
var Logger = require('../../../shared/logger/Logger.js');
|
|
6
|
-
var
|
|
6
|
+
var System = require('../../sys/System.js');
|
|
7
7
|
|
|
8
8
|
function _interopNamespaceDefault(e) {
|
|
9
9
|
var n = Object.create(null);
|
|
@@ -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);
|
|
@@ -152,7 +140,7 @@ class ConfigLoader {
|
|
|
152
140
|
if (resolvedFsPath) {
|
|
153
141
|
// Runtime validation: Ensure the path exists
|
|
154
142
|
if (fs__namespace.existsSync(resolvedFsPath)) {
|
|
155
|
-
const specializedFS = new
|
|
143
|
+
const specializedFS = new System.XyPrissFS({
|
|
156
144
|
__root__: resolvedFsPath,
|
|
157
145
|
});
|
|
158
146
|
sys.$add(sysName, specializedFS);
|
|
@@ -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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"}
|