xypriss 5.1.0 → 5.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.
|
@@ -31,6 +31,9 @@ var path__namespace = /*#__PURE__*/_interopNamespaceDefault(path);
|
|
|
31
31
|
* This loader identifies the project root and applies system variables to the global __sys__ object.
|
|
32
32
|
*/
|
|
33
33
|
class ConfigLoader {
|
|
34
|
+
constructor() {
|
|
35
|
+
this.metaExecuted = false;
|
|
36
|
+
}
|
|
34
37
|
/**
|
|
35
38
|
* Find the project root by searching for package.json or node_modules
|
|
36
39
|
* @param startDir - Directory to start searching from
|
|
@@ -53,6 +56,8 @@ class ConfigLoader {
|
|
|
53
56
|
loadAndApplySysConfig() {
|
|
54
57
|
const root = this.findProjectRoot(process.cwd());
|
|
55
58
|
const configPath = path__namespace.join(root, "xypriss.config.json");
|
|
59
|
+
// Execute meta config first if it exists
|
|
60
|
+
this.executeMetaConfig();
|
|
56
61
|
if (fs__namespace.existsSync(configPath)) {
|
|
57
62
|
try {
|
|
58
63
|
const content = fs__namespace.readFileSync(configPath, "utf-8");
|
|
@@ -77,6 +82,48 @@ class ConfigLoader {
|
|
|
77
82
|
}
|
|
78
83
|
}
|
|
79
84
|
}
|
|
85
|
+
/**
|
|
86
|
+
* Search for +xypriss.meta.ts or +xypriss.meta.js and execute it
|
|
87
|
+
*/
|
|
88
|
+
executeMetaConfig() {
|
|
89
|
+
if (this.metaExecuted)
|
|
90
|
+
return;
|
|
91
|
+
this.metaExecuted = true;
|
|
92
|
+
const root = this.findProjectRoot(process.cwd());
|
|
93
|
+
const metaFiles = [
|
|
94
|
+
path__namespace.join(root, "+xypriss.meta.ts"),
|
|
95
|
+
path__namespace.join(root, "+xypriss.meta.js"),
|
|
96
|
+
path__namespace.join(root, ".private", "+xypriss.meta.ts"),
|
|
97
|
+
path__namespace.join(root, ".private", "+xypriss.meta.js"),
|
|
98
|
+
path__namespace.join(root, ".meta", "+xypriss.meta.js"),
|
|
99
|
+
path__namespace.join(root, ".meta", "+xypriss.meta.ts"),
|
|
100
|
+
path__namespace.join(root, ".xypriss", "+xypriss.meta.ts"),
|
|
101
|
+
path__namespace.join(root, ".xypriss", "+xypriss.meta.js"),
|
|
102
|
+
];
|
|
103
|
+
for (const metaPath of metaFiles) {
|
|
104
|
+
if (fs__namespace.existsSync(metaPath)) {
|
|
105
|
+
try {
|
|
106
|
+
// Use dynamic import to execute the file
|
|
107
|
+
// We don't await it to keep the method synchronous as per ConfigLoader design
|
|
108
|
+
import(`file://${metaPath}`)
|
|
109
|
+
.then((module) => {
|
|
110
|
+
// If it exports a run function, execute it
|
|
111
|
+
if (module && typeof module.run === "function") {
|
|
112
|
+
module.run();
|
|
113
|
+
}
|
|
114
|
+
Logger.logger.info("server", `Executed meta config: ${metaPath}`);
|
|
115
|
+
})
|
|
116
|
+
.catch((error) => {
|
|
117
|
+
Logger.logger.warn("server", `Failed to execute meta config ${metaPath}: ${error.message}`);
|
|
118
|
+
});
|
|
119
|
+
return; // Stop after first found and executed
|
|
120
|
+
}
|
|
121
|
+
catch (error) {
|
|
122
|
+
Logger.logger.warn("server", `Failed to initiate meta config execution ${metaPath}: ${error.message}`);
|
|
123
|
+
}
|
|
124
|
+
}
|
|
125
|
+
}
|
|
126
|
+
}
|
|
80
127
|
}
|
|
81
128
|
const configLoader = new ConfigLoader();
|
|
82
129
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ConfigLoader.js","sources":["../../../../../src/server/utils/ConfigLoader.ts"],"sourcesContent":[null],"names":["path","fs","logger"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAIA;;;;;AAKG;MACU,YAAY,CAAA;
|
|
1
|
+
{"version":3,"file":"ConfigLoader.js","sources":["../../../../../src/server/utils/ConfigLoader.ts"],"sourcesContent":[null],"names":["path","fs","logger"],"mappings":"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"}
|
|
@@ -9,6 +9,9 @@ import { logger } from '../../../shared/logger/Logger.js';
|
|
|
9
9
|
* This loader identifies the project root and applies system variables to the global __sys__ object.
|
|
10
10
|
*/
|
|
11
11
|
class ConfigLoader {
|
|
12
|
+
constructor() {
|
|
13
|
+
this.metaExecuted = false;
|
|
14
|
+
}
|
|
12
15
|
/**
|
|
13
16
|
* Find the project root by searching for package.json or node_modules
|
|
14
17
|
* @param startDir - Directory to start searching from
|
|
@@ -31,6 +34,8 @@ class ConfigLoader {
|
|
|
31
34
|
loadAndApplySysConfig() {
|
|
32
35
|
const root = this.findProjectRoot(process.cwd());
|
|
33
36
|
const configPath = path.join(root, "xypriss.config.json");
|
|
37
|
+
// Execute meta config first if it exists
|
|
38
|
+
this.executeMetaConfig();
|
|
34
39
|
if (fs.existsSync(configPath)) {
|
|
35
40
|
try {
|
|
36
41
|
const content = fs.readFileSync(configPath, "utf-8");
|
|
@@ -55,6 +60,48 @@ class ConfigLoader {
|
|
|
55
60
|
}
|
|
56
61
|
}
|
|
57
62
|
}
|
|
63
|
+
/**
|
|
64
|
+
* Search for +xypriss.meta.ts or +xypriss.meta.js and execute it
|
|
65
|
+
*/
|
|
66
|
+
executeMetaConfig() {
|
|
67
|
+
if (this.metaExecuted)
|
|
68
|
+
return;
|
|
69
|
+
this.metaExecuted = true;
|
|
70
|
+
const root = this.findProjectRoot(process.cwd());
|
|
71
|
+
const metaFiles = [
|
|
72
|
+
path.join(root, "+xypriss.meta.ts"),
|
|
73
|
+
path.join(root, "+xypriss.meta.js"),
|
|
74
|
+
path.join(root, ".private", "+xypriss.meta.ts"),
|
|
75
|
+
path.join(root, ".private", "+xypriss.meta.js"),
|
|
76
|
+
path.join(root, ".meta", "+xypriss.meta.js"),
|
|
77
|
+
path.join(root, ".meta", "+xypriss.meta.ts"),
|
|
78
|
+
path.join(root, ".xypriss", "+xypriss.meta.ts"),
|
|
79
|
+
path.join(root, ".xypriss", "+xypriss.meta.js"),
|
|
80
|
+
];
|
|
81
|
+
for (const metaPath of metaFiles) {
|
|
82
|
+
if (fs.existsSync(metaPath)) {
|
|
83
|
+
try {
|
|
84
|
+
// Use dynamic import to execute the file
|
|
85
|
+
// We don't await it to keep the method synchronous as per ConfigLoader design
|
|
86
|
+
import(`file://${metaPath}`)
|
|
87
|
+
.then((module) => {
|
|
88
|
+
// If it exports a run function, execute it
|
|
89
|
+
if (module && typeof module.run === "function") {
|
|
90
|
+
module.run();
|
|
91
|
+
}
|
|
92
|
+
logger.info("server", `Executed meta config: ${metaPath}`);
|
|
93
|
+
})
|
|
94
|
+
.catch((error) => {
|
|
95
|
+
logger.warn("server", `Failed to execute meta config ${metaPath}: ${error.message}`);
|
|
96
|
+
});
|
|
97
|
+
return; // Stop after first found and executed
|
|
98
|
+
}
|
|
99
|
+
catch (error) {
|
|
100
|
+
logger.warn("server", `Failed to initiate meta config execution ${metaPath}: ${error.message}`);
|
|
101
|
+
}
|
|
102
|
+
}
|
|
103
|
+
}
|
|
104
|
+
}
|
|
58
105
|
}
|
|
59
106
|
const configLoader = new ConfigLoader();
|
|
60
107
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ConfigLoader.js","sources":["../../../../../src/server/utils/ConfigLoader.ts"],"sourcesContent":[null],"names":[],"mappings":";;;;AAIA;;;;;AAKG;MACU,YAAY,CAAA;
|
|
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.
|
|
3
|
+
"version": "5.2.0",
|
|
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",
|