xypriss 9.10.5 → 9.10.6

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.
@@ -1,23 +1,15 @@
1
1
  'use strict';
2
2
 
3
3
  var xyprissSecurity = require('xypriss-security');
4
+ var getSysApi = require('./getSysApi.js');
4
5
 
5
- /**
6
- * Lazy accessor for `localSysApi`.
7
- *
8
- * Deferred to call-time to break the circular initialization chain:
9
- * `xhsc.ts` -> `PathApi` -> `XyprissTempDir` -> `xhsc` (localSysApi)
10
- */
11
- function getSysApi() {
12
- return require("../../xhsc").localSysApi;
13
- }
14
6
  /**
15
7
  * Returns the absolute path to the XyPriss shared temp directory.
16
8
  *
17
9
  * @returns {string} Path to `<os.tmpdir>/nehonix.xypriss.data`
18
10
  */
19
11
  function getXyprissTempDir() {
20
- const sys = getSysApi();
12
+ const sys = getSysApi.getSysApi();
21
13
  return sys.path.join(sys.path.tempDir(), "nehonix.xypriss.data");
22
14
  }
23
15
  /**
@@ -27,7 +19,7 @@ function getXyprissTempDir() {
27
19
  * @returns {string} The absolute resolved temp sub-path.
28
20
  */
29
21
  function createXyprissTempDir(_p) {
30
- const sys = getSysApi();
22
+ const sys = getSysApi.getSysApi();
31
23
  const base = getXyprissTempDir();
32
24
  const segment = typeof _p === "string"
33
25
  ? _p
@@ -68,7 +60,7 @@ function generateXUserTmpDir() {
68
60
  if (_sessionTmpDir !== null) {
69
61
  return _sessionTmpDir;
70
62
  }
71
- const sys = getSysApi();
63
+ const sys = getSysApi.getSysApi();
72
64
  const hex = xyprissSecurity.getRandomBytes(16).slice(0, 4).toString("hex");
73
65
  _sessionTmpDir = sys.path.join(getXyprissTempDir(), "xuser", hex);
74
66
  return _sessionTmpDir;
@@ -76,6 +68,5 @@ function generateXUserTmpDir() {
76
68
 
77
69
  exports.createXyprissTempDir = createXyprissTempDir;
78
70
  exports.generateXUserTmpDir = generateXUserTmpDir;
79
- exports.getSysApi = getSysApi;
80
71
  exports.getXyprissTempDir = getXyprissTempDir;
81
72
  //# sourceMappingURL=XyprissTempDir.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"XyprissTempDir.js","sources":["../../../../../src/plugins/const/XyprissTempDir.ts"],"sourcesContent":[null],"names":["getRandomBytes"],"mappings":";;;;AAEA;;;;;AAKG;SACa,SAAS,GAAA;AACrB,IAAA,OAAQ,OAAO,CAAC,YAAY,CAAiC,CAAC,WAAW;AAC7E;AAEA;;;;AAIG;SACa,iBAAiB,GAAA;AAC7B,IAAA,MAAM,GAAG,GAAG,SAAS,EAAE;AACvB,IAAA,OAAO,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,sBAAsB,CAAC;AACpE;AAEA;;;;;AAKG;AACG,SAAU,oBAAoB,CAAC,EAAqB,EAAA;AACtD,IAAA,MAAM,GAAG,GAAG,SAAS,EAAE;AACvB,IAAA,MAAM,IAAI,GAAG,iBAAiB,EAAE;AAEhC,IAAA,MAAM,OAAO,GACT,OAAO,EAAE,KAAK;AACV,UAAE;AACF,UAAE,EAAE,CAAC,QAAQ,CAAC,GAAG;cACb,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG;AAC5C,cAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC;;AAGxB,IAAA,MAAM,OAAO,GAAG,OAAO,CAAC,UAAU,CAAC,IAAI;AACnC,UAAE;UACA,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC;AAClC,IAAA,MAAM,cAAc,GAAG,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,CAAC,EAAE,CAAC;;IAGlE,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,MAAM,CAAC,cAAc,CAAC,EAAE;AAChC,QAAA,GAAG,CAAC,EAAE,CAAC,KAAK,CAAC,cAAc,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;IACnD;AAEA,IAAA,OAAO,cAAc;AACzB;AAEA;;;;;;;;;AASG;AACH,IAAI,cAAc,GAAkB,IAAI;AAExC;;;;;;;AAOG;SACa,mBAAmB,GAAA;AAC/B,IAAA,IAAI,cAAc,KAAK,IAAI,EAAE;AACzB,QAAA,OAAO,cAAc;IACzB;AAEA,IAAA,MAAM,GAAG,GAAG,SAAS,EAAE;AACvB,IAAA,MAAM,GAAG,GAAGA,8BAAc,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC;AAC1D,IAAA,cAAc,GAAG,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE,EAAE,OAAO,EAAE,GAAG,CAAC;AAEjE,IAAA,OAAO,cAAc;AACzB;;;;;;;"}
1
+ {"version":3,"file":"XyprissTempDir.js","sources":["../../../../../src/plugins/const/XyprissTempDir.ts"],"sourcesContent":[null],"names":["getSysApi","getRandomBytes"],"mappings":";;;;;AAIA;;;;AAIG;SACa,iBAAiB,GAAA;AAC7B,IAAA,MAAM,GAAG,GAAGA,mBAAS,EAAE;AACvB,IAAA,OAAO,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,sBAAsB,CAAC;AACpE;AAEA;;;;;AAKG;AACG,SAAU,oBAAoB,CAAC,EAAqB,EAAA;AACtD,IAAA,MAAM,GAAG,GAAGA,mBAAS,EAAE;AACvB,IAAA,MAAM,IAAI,GAAG,iBAAiB,EAAE;AAEhC,IAAA,MAAM,OAAO,GACT,OAAO,EAAE,KAAK;AACV,UAAE;AACF,UAAE,EAAE,CAAC,QAAQ,CAAC,GAAG;cACb,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG;AAC5C,cAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC;;AAGxB,IAAA,MAAM,OAAO,GAAG,OAAO,CAAC,UAAU,CAAC,IAAI;AACnC,UAAE;UACA,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC;AAClC,IAAA,MAAM,cAAc,GAAG,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,CAAC,EAAE,CAAC;;IAGlE,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,MAAM,CAAC,cAAc,CAAC,EAAE;AAChC,QAAA,GAAG,CAAC,EAAE,CAAC,KAAK,CAAC,cAAc,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;IACnD;AAEA,IAAA,OAAO,cAAc;AACzB;AAEA;;;;;;;;;AASG;AACH,IAAI,cAAc,GAAkB,IAAI;AAExC;;;;;;;AAOG;SACa,mBAAmB,GAAA;AAC/B,IAAA,IAAI,cAAc,KAAK,IAAI,EAAE;AACzB,QAAA,OAAO,cAAc;IACzB;AAEA,IAAA,MAAM,GAAG,GAAGA,mBAAS,EAAE;AACvB,IAAA,MAAM,GAAG,GAAGC,8BAAc,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC;AAC1D,IAAA,cAAc,GAAG,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE,EAAE,OAAO,EAAE,GAAG,CAAC;AAEjE,IAAA,OAAO,cAAc;AACzB;;;;;;"}
@@ -0,0 +1,14 @@
1
+ 'use strict';
2
+
3
+ /**
4
+ * Lazy accessor for `localSysApi`.
5
+ *
6
+ * Deferred to call-time to break the circular initialization chain:
7
+ * `xhsc.ts` -> `PathApi` -> `XyprissTempDir` -> `xhsc` (localSysApi)
8
+ */
9
+ function getSysApi() {
10
+ return require("../../xhsc").localSysApi;
11
+ }
12
+
13
+ exports.getSysApi = getSysApi;
14
+ //# sourceMappingURL=getSysApi.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getSysApi.js","sources":["../../../../../src/plugins/const/getSysApi.ts"],"sourcesContent":[null],"names":[],"mappings":";;AAAA;;;;;AAKG;SACa,SAAS,GAAA;AACrB,IAAA,OAAQ,OAAO,CAAC,YAAY,CAAiC,CAAC,WAAW;AAC7E;;;;"}
@@ -1,128 +1,240 @@
1
1
  'use strict';
2
2
 
3
+ var getSysApi = require('../plugins/const/getSysApi.js');
4
+
3
5
  /**
4
6
  * **Config Syntax Parser**
5
7
  *
6
8
  * Handles resolution of dynamic references in configuration files:
7
- * - `$(env).KEY` / `&(env).KEY` : Environment variables
8
- * - `$(pkg).path` / `&(pkg).path` : package.json properties
9
+ * - `$(env).KEY` / `&(env).KEY` : Environment variables
10
+ * - `$(pkg).path` / `&(pkg).path` : package.json properties (dot-notation)
11
+ * - `$(this).KEY` / `&(this).KEY` : Properties from the currently parsed object
12
+ * - `$(const).KEY` / `&(const).KEY` : Build-time constants injected at construction
13
+ * - `$(date).FMT` / `&(date).FMT` : Current date/time helpers (ISO, YEAR, MONTH, DAY, TS)
14
+ * - `$(file).path` / `&(file).path` : Synchronous file content (use for secrets, certs, etc.)
9
15
  */
16
+ // Valid reference types — extend here when adding new syntax.
17
+ const VALID_TYPES = new Set(["env", "pkg", "this", "const", "date", "file"]);
18
+ // Date format tokens supported by $(date).TOKEN
19
+ const DATE_TOKENS = {
20
+ ISO: () => new Date().toISOString(),
21
+ YEAR: () => String(new Date().getFullYear()),
22
+ MONTH: () => String(new Date().getMonth() + 1).padStart(2, "0"),
23
+ DAY: () => String(new Date().getDate()).padStart(2, "0"),
24
+ TS: () => String(Date.now()),
25
+ TIME: () => new Date().toTimeString().split(" ")[0], // HH:MM:SS
26
+ };
27
+ // ---------------------------------------------------------------------------
28
+ // Parser
29
+ // ---------------------------------------------------------------------------
10
30
  class ConfigSyntaxParser {
11
- constructor(packageJson = null, envProvider = null) {
31
+ constructor(packageJson = null, envProvider = null, constants = {}, options = {}) {
12
32
  this.packageJson = packageJson;
13
33
  this.envProvider = envProvider;
34
+ this.constants = constants;
35
+ // LRU-style cache for getDeepValue on the same object reference
36
+ this.deepValueCache = new WeakMap();
37
+ this.fileBasePath = options.fileBasePath ?? process.cwd();
38
+ this.maxPasses = options.maxPasses ?? 20;
14
39
  }
40
+ // -------------------------------------------------------------------------
41
+ // Public API — signatures intentionally unchanged
42
+ // -------------------------------------------------------------------------
15
43
  /**
16
44
  * Resolves all dynamic references in a configuration object or string.
45
+ * Non-string/array/object values are returned as-is.
17
46
  */
18
- resolve(obj) {
19
- if (typeof obj === "string") {
20
- return this.resolveString(obj);
21
- }
22
- else if (Array.isArray(obj)) {
23
- return obj.map((item) => this.resolve(item));
24
- }
25
- else if (typeof obj === "object" && obj !== null) {
47
+ resolve(obj, rootObj) {
48
+ if (rootObj === undefined)
49
+ rootObj = obj;
50
+ if (typeof obj === "string")
51
+ return this.resolveString(obj, rootObj);
52
+ if (Array.isArray(obj))
53
+ return obj.map((item) => this.resolve(item, rootObj));
54
+ if (typeof obj === "object" && obj !== null) {
26
55
  const resolved = {};
27
- for (const key in obj) {
28
- const resolvedKey = this.resolve(key);
29
- resolved[resolvedKey] = this.resolve(obj[key]);
56
+ for (const key of Object.keys(obj)) {
57
+ const resolvedKey = String(this.resolve(key, rootObj));
58
+ resolved[resolvedKey] = this.resolve(obj[key], rootObj);
30
59
  }
31
60
  return resolved;
32
61
  }
33
- return obj;
62
+ return obj; // number, boolean, null, undefined — pass through untouched
34
63
  }
64
+ // -------------------------------------------------------------------------
65
+ // Core resolution
66
+ // -------------------------------------------------------------------------
35
67
  /**
36
- * Resolves dynamic references in a string.
68
+ * Resolves dynamic references in a string, supporting chained || fallbacks.
37
69
  */
38
- resolveString(value) {
70
+ resolveString(value, rootObj) {
71
+ // Matches: $(type).key || $(type).key || literal-fallback
72
+ // Group 1 — prefix ($ or &)
73
+ // Group 2 — type
74
+ // Group 3 — key/path
75
+ // Group 4 — remainder of the || chain
76
+ const chainRegex = /([$&])\(([\w]+)\)\.([\w\d_./-]+)((?:\s*\|\|\s*(?:[$&]\((?:[\w]+)\)\.[\w\d_./-]+|[^|,]+))*)/g;
39
77
  let result = value;
40
- // Regex for a reference followed by an optional chain of || fallbacks
41
- // Group 1: prefix ($ or &)
42
- // Group 2: type (env or pkg)
43
- // Group 3: key/path
44
- // Group 4: the rest of the chain (e.g. " || $(env).B || default")
45
- const chainRegex = /([\$\&])\((env|pkg)\)\.([\w\d_.-]+)((?:\s*\|\|\s*(?:[\$\&]\((?:env|pkg)\)\.[\w\d_.-]+|[^|,]+))*)/g;
46
- while (true) {
47
- const lastResult = result;
78
+ let passes = 0;
79
+ while (passes++ < this.maxPasses) {
80
+ const prev = result;
81
+ // Reset regex before each pass (global flag keeps lastIndex)
82
+ chainRegex.lastIndex = 0;
48
83
  result = result.replace(chainRegex, (_match, _prefix, type, key, chain) => {
49
- const val = this.getValue(type, key);
84
+ const val = this.getValue(type, key, rootObj);
50
85
  if (val !== undefined)
51
86
  return val;
52
87
  if (chain) {
53
- // Remove leading " || " and return the rest for next pass
88
+ // Strip leading " || " and let the next pass handle it
54
89
  return chain.replace(/^\s*\|\|\s*/, "");
55
90
  }
56
- throw new Error(`EDYNC: ${type === "env"
57
- ? 'Environment variable'
58
- : 'Property'} "${key}" not found${type === "pkg" ? " in package.json" : ""}`);
91
+ throw new Error(this.buildMissingError(type, key));
59
92
  });
60
- if (result === lastResult)
93
+ if (result === prev)
61
94
  break;
62
95
  }
63
- // Validate that no malformed or unresolved references remain
96
+ if (passes > this.maxPasses) {
97
+ throw new Error(`ESYNC: Resolution did not stabilise after ${this.maxPasses} passes in "${value}". ` +
98
+ `Possible circular reference.`);
99
+ }
64
100
  this.validateSyntax(result);
65
101
  return result;
66
102
  }
103
+ // -------------------------------------------------------------------------
104
+ // Value retrieval
105
+ // -------------------------------------------------------------------------
67
106
  /**
68
- * Validates that no unresolved or malformed markers remain in the string.
107
+ * Dispatches value retrieval to the appropriate provider.
69
108
  */
70
- validateSyntax(value) {
71
- const marker = /[\$\&]\(/;
72
- if (!marker.test(value))
73
- return;
74
- // Try to identify the specific malformed part
75
- const malformedRegex = /([\$\&])\(([^)]*)\)(\.?)([\w\d_.-]*)/g;
76
- let match;
77
- // Reset regex state for global search
78
- malformedRegex.lastIndex = 0;
79
- match = malformedRegex.exec(value);
80
- if (match) {
81
- const [full, _prefix, type, dot, key] = match;
82
- if (type !== "env" && type !== "pkg") {
83
- throw new Error(`ESYNC: Invalid reference type "(${type})" in "${full}". Supported types are (env) and (pkg).`);
84
- }
85
- if (dot !== ".") {
86
- throw new Error(`ESYNC: Malformed syntax "${full}". Missing dot separator after type (e.g., $(env).KEY).`);
87
- }
88
- if (!key) {
89
- throw new Error(`ESYNC: Malformed syntax "${full}". Missing key or property path in "${full}".`);
90
- }
109
+ getValue(type, key, rootObj) {
110
+ switch (type) {
111
+ case "env":
112
+ return this.getEnv(key);
113
+ case "pkg":
114
+ return this.getPkg(key);
115
+ case "this":
116
+ return this.getThis(key, rootObj);
117
+ case "const":
118
+ return this.getConst(key);
119
+ case "date":
120
+ return this.getDate(key);
121
+ case "file":
122
+ return this.getFile(key);
123
+ default:
124
+ return undefined; // validateSyntax will catch this
91
125
  }
92
- // Catch-all for other malformed markers
93
- throw new Error(`ESYNC: Invalid or malformed injection syntax detected in "${value}"`);
94
126
  }
95
- /**
96
- * Unifies value retrieval for env and pkg.
97
- */
98
- getValue(type, key) {
99
- if (type === "env") {
100
- return this.envProvider?.has(key)
101
- ? this.envProvider.get(key)
102
- : undefined;
127
+ getEnv(key) {
128
+ return this.envProvider?.has(key)
129
+ ? this.envProvider.get(key)
130
+ : undefined;
131
+ }
132
+ getPkg(key) {
133
+ if (!this.packageJson)
134
+ return undefined;
135
+ const val = this.getDeepValue(this.packageJson, key);
136
+ return val !== undefined ? String(val) : undefined;
137
+ }
138
+ getThis(key, rootObj) {
139
+ if (rootObj === null || typeof rootObj !== "object")
140
+ return undefined;
141
+ const val = this.getDeepValue(rootObj, key);
142
+ return val !== undefined ? String(val) : undefined;
143
+ }
144
+ getConst(key) {
145
+ return Object.prototype.hasOwnProperty.call(this.constants, key)
146
+ ? this.constants[key]
147
+ : undefined;
148
+ }
149
+ getDate(token) {
150
+ const upper = token.toUpperCase();
151
+ return DATE_TOKENS[upper]?.();
152
+ // Unknown date tokens fall through to the error handler
153
+ }
154
+ getFile(filePath) {
155
+ try {
156
+ const sys = getSysApi.getSysApi();
157
+ const resolved = sys.path.isAbsolute(filePath)
158
+ ? filePath
159
+ : sys.path.resolve(this.fileBasePath, filePath);
160
+ return sys.fs.readFileSync(resolved, "utf8").trim();
103
161
  }
104
- else {
105
- const val = this.packageJson
106
- ? this.getDeepValue(this.packageJson, key)
107
- : undefined;
108
- return val !== undefined ? String(val) : undefined;
162
+ catch {
163
+ return undefined; // triggers fallback chain or missing-key error
109
164
  }
110
165
  }
166
+ // -------------------------------------------------------------------------
167
+ // Deep value with caching
168
+ // -------------------------------------------------------------------------
111
169
  /**
112
170
  * Retrieves a value from a nested object using dot notation.
171
+ * Results are cached per object reference to avoid repeated traversal.
113
172
  */
114
173
  getDeepValue(obj, path) {
115
- if (!obj)
116
- return undefined;
174
+ // Check cache
175
+ let pathMap = this.deepValueCache.get(obj);
176
+ if (pathMap?.has(path))
177
+ return pathMap.get(path);
117
178
  const parts = path.split(".");
118
179
  let current = obj;
119
180
  for (const part of parts) {
120
- if (current === null || typeof current !== "object")
121
- return undefined;
181
+ if (current === null || typeof current !== "object") {
182
+ current = undefined;
183
+ break;
184
+ }
122
185
  current = current[part];
123
186
  }
187
+ // Store in cache
188
+ if (!pathMap) {
189
+ pathMap = new Map();
190
+ this.deepValueCache.set(obj, pathMap);
191
+ }
192
+ pathMap.set(path, current);
124
193
  return current;
125
194
  }
195
+ // -------------------------------------------------------------------------
196
+ // Validation
197
+ // -------------------------------------------------------------------------
198
+ /**
199
+ * Validates that no unresolved or malformed markers remain in the string.
200
+ */
201
+ validateSyntax(value) {
202
+ if (!/[$&]\(/.test(value))
203
+ return;
204
+ const malformedRegex = /([$&])\(([^)]*)\)(\.?)([\w\d_./-]*)/g;
205
+ let match;
206
+ while ((match = malformedRegex.exec(value)) !== null) {
207
+ const [full, _prefix, type, dot, key] = match;
208
+ if (!VALID_TYPES.has(type)) {
209
+ throw new Error(`ESYNC: Invalid reference type "(${type})" in "${full}". ` +
210
+ `Valid types: ${[...VALID_TYPES].join(", ")}. ` +
211
+ `See https://github.com/Nehonix-Team/XyPriss/blob/master/docs/config/configuration.md`);
212
+ }
213
+ if (dot !== ".") {
214
+ throw new Error(`ESYNC: Malformed syntax "${full}". Missing dot separator after type (e.g., $(env).KEY).`);
215
+ }
216
+ if (!key) {
217
+ throw new Error(`ESYNC: Malformed syntax "${full}". Missing key or property path.`);
218
+ }
219
+ }
220
+ // Catch-all
221
+ throw new Error(`ESYNC: Invalid or malformed injection syntax detected in "${value}".`);
222
+ }
223
+ // -------------------------------------------------------------------------
224
+ // Error formatting
225
+ // -------------------------------------------------------------------------
226
+ buildMissingError(type, key) {
227
+ const descriptions = {
228
+ env: `Environment variable "${key}"`,
229
+ pkg: `Property "${key}" in package.json`,
230
+ this: `Property "${key}" in current object`,
231
+ const: `Constant "${key}"`,
232
+ date: `Date token "${key}" (valid: ${Object.keys(DATE_TOKENS).join(", ")})`,
233
+ file: `File "${key}"`,
234
+ };
235
+ const desc = descriptions[type] ?? `Reference "${key}" (type: ${type})`;
236
+ return `EDYNC: ${desc} not found or could not be resolved.`;
237
+ }
126
238
  }
127
239
 
128
240
  exports.ConfigSyntaxParser = ConfigSyntaxParser;
@@ -1 +1 @@
1
- {"version":3,"file":"ConfigSyntaxParser.js","sources":["../../../../src/utils/ConfigSyntaxParser.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ConfigSyntaxParser.js","sources":["../../../../src/utils/ConfigSyntaxParser.ts"],"sourcesContent":[null],"names":["getSysApi"],"mappings":";;;;AAAA;;;;;;;;;;AAUG;AAoBH;AACA,MAAM,WAAW,GAAG,IAAI,GAAG,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;AAE5E;AACA,MAAM,WAAW,GAAiC;IAC9C,GAAG,EAAE,MAAM,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;AACnC,IAAA,IAAI,EAAE,MAAM,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IAC5C,KAAK,EAAE,MAAM,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC;AAC/D,IAAA,GAAG,EAAE,MAAM,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC;IACxD,EAAE,EAAE,MAAM,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC;AAC5B,IAAA,IAAI,EAAE,MAAM,IAAI,IAAI,EAAE,CAAC,YAAY,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;CACtD;AAED;AACA;AACA;MAEa,kBAAkB,CAAA;IAU3B,WAAA,CACqB,WAAA,GAAuB,IAAI,EAC3B,WAAA,GAAkC,IAAI,EACtC,SAAA,GAAoC,EAAE,EACvD,OAAA,GAAqC,EAAE,EAAA;QAHtB,IAAA,CAAA,WAAW,GAAX,WAAW;QACX,IAAA,CAAA,WAAW,GAAX,WAAW;QACX,IAAA,CAAA,SAAS,GAAT,SAAS;;AARb,QAAA,IAAA,CAAA,cAAc,GAAG,IAAI,OAAO,EAG1C;QAQC,IAAI,CAAC,YAAY,GAAG,OAAO,CAAC,YAAY,IAAI,OAAO,CAAC,GAAG,EAAE;QACzD,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC,SAAS,IAAI,EAAE;IAC5C;;;;AAMA;;;AAGG;IACI,OAAO,CAAC,GAAY,EAAE,OAAiB,EAAA;QAC1C,IAAI,OAAO,KAAK,SAAS;YAAE,OAAO,GAAG,GAAG;QAExC,IAAI,OAAO,GAAG,KAAK,QAAQ;YAAE,OAAO,IAAI,CAAC,aAAa,CAAC,GAAG,EAAE,OAAO,CAAC;AACpE,QAAA,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC;AAClB,YAAA,OAAO,GAAG,CAAC,GAAG,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QAEzD,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,GAAG,KAAK,IAAI,EAAE;YACzC,MAAM,QAAQ,GAA4B,EAAE;YAC5C,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,GAAa,CAAC,EAAE;AAC1C,gBAAA,MAAM,WAAW,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;AACtD,gBAAA,QAAQ,CAAC,WAAW,CAAC,GAAG,IAAI,CAAC,OAAO,CAC/B,GAA+B,CAAC,GAAG,CAAC,EACrC,OAAO,CACV;YACL;AACA,YAAA,OAAO,QAAQ;QACnB;QAEA,OAAO,GAAG,CAAC;IACf;;;;AAMA;;AAEG;IACK,aAAa,CAAC,KAAa,EAAE,OAAgB,EAAA;;;;;;QAMjD,MAAM,UAAU,GACZ,6FAA6F;QAEjG,IAAI,MAAM,GAAG,KAAK;QAClB,IAAI,MAAM,GAAG,CAAC;AAEd,QAAA,OAAO,MAAM,EAAE,GAAG,IAAI,CAAC,SAAS,EAAE;YAC9B,MAAM,IAAI,GAAG,MAAM;;AAGnB,YAAA,UAAU,CAAC,SAAS,GAAG,CAAC;AAExB,YAAA,MAAM,GAAG,MAAM,CAAC,OAAO,CACnB,UAAU,EACV,CAAC,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,GAAG,EAAE,KAAK,KAAI;AAClC,gBAAA,MAAM,GAAG,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,GAAG,EAAE,OAAO,CAAC;gBAC7C,IAAI,GAAG,KAAK,SAAS;AAAE,oBAAA,OAAO,GAAG;gBAEjC,IAAI,KAAK,EAAE;;oBAEP,OAAO,KAAK,CAAC,OAAO,CAAC,aAAa,EAAE,EAAE,CAAC;gBAC3C;AAEA,gBAAA,MAAM,IAAI,KAAK,CAAC,IAAI,CAAC,iBAAiB,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;AACtD,YAAA,CAAC,CACJ;YAED,IAAI,MAAM,KAAK,IAAI;gBAAE;QACzB;AAEA,QAAA,IAAI,MAAM,GAAG,IAAI,CAAC,SAAS,EAAE;YACzB,MAAM,IAAI,KAAK,CACX,CAAA,0CAAA,EAA6C,IAAI,CAAC,SAAS,CAAA,YAAA,EAAe,KAAK,CAAA,GAAA,CAAK;AAChF,gBAAA,CAAA,4BAAA,CAA8B,CACrC;QACL;AAEA,QAAA,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC;AAC3B,QAAA,OAAO,MAAM;IACjB;;;;AAMA;;AAEG;AACK,IAAA,QAAQ,CACZ,IAAY,EACZ,GAAW,EACX,OAAgB,EAAA;QAEhB,QAAQ,IAAI;AACR,YAAA,KAAK,KAAK;AACN,gBAAA,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC;AAC3B,YAAA,KAAK,KAAK;AACN,gBAAA,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC;AAC3B,YAAA,KAAK,MAAM;gBACP,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,OAAO,CAAC;AACrC,YAAA,KAAK,OAAO;AACR,gBAAA,OAAO,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC;AAC7B,YAAA,KAAK,MAAM;AACP,gBAAA,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC;AAC5B,YAAA,KAAK,MAAM;AACP,gBAAA,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC;AAC5B,YAAA;gBACI,OAAO,SAAS,CAAC;;IAE7B;AAEQ,IAAA,MAAM,CAAC,GAAW,EAAA;AACtB,QAAA,OAAO,IAAI,CAAC,WAAW,EAAE,GAAG,CAAC,GAAG;cAC1B,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,GAAG;cACxB,SAAS;IACnB;AAEQ,IAAA,MAAM,CAAC,GAAW,EAAA;QACtB,IAAI,CAAC,IAAI,CAAC,WAAW;AAAE,YAAA,OAAO,SAAS;AACvC,QAAA,MAAM,GAAG,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,WAAqB,EAAE,GAAG,CAAC;AAC9D,QAAA,OAAO,GAAG,KAAK,SAAS,GAAG,MAAM,CAAC,GAAG,CAAC,GAAG,SAAS;IACtD;IAEQ,OAAO,CAAC,GAAW,EAAE,OAAgB,EAAA;AACzC,QAAA,IAAI,OAAO,KAAK,IAAI,IAAI,OAAO,OAAO,KAAK,QAAQ;AAAE,YAAA,OAAO,SAAS;QACrE,MAAM,GAAG,GAAG,IAAI,CAAC,YAAY,CAAC,OAAiB,EAAE,GAAG,CAAC;AACrD,QAAA,OAAO,GAAG,KAAK,SAAS,GAAG,MAAM,CAAC,GAAG,CAAC,GAAG,SAAS;IACtD;AAEQ,IAAA,QAAQ,CAAC,GAAW,EAAA;AACxB,QAAA,OAAO,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,GAAG;AAC3D,cAAE,IAAI,CAAC,SAAS,CAAC,GAAG;cAClB,SAAS;IACnB;AAEQ,IAAA,OAAO,CAAC,KAAa,EAAA;AACzB,QAAA,MAAM,KAAK,GAAG,KAAK,CAAC,WAAW,EAAE;AACjC,QAAA,OAAO,WAAW,CAAC,KAAK,CAAC,IAAI;;IAEjC;AAEQ,IAAA,OAAO,CAAC,QAAgB,EAAA;AAC5B,QAAA,IAAI;AACA,YAAA,MAAM,GAAG,GAAGA,mBAAS,EAAE;YACvB,MAAM,QAAQ,GAAG,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,QAAQ;AACzC,kBAAE;AACF,kBAAE,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,YAAY,EAAE,QAAQ,CAAC;AACnD,YAAA,OAAO,GAAG,CAAC,EAAE,CAAC,YAAY,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC,IAAI,EAAE;QACvD;AAAE,QAAA,MAAM;YACJ,OAAO,SAAS,CAAC;QACrB;IACJ;;;;AAMA;;;AAGG;IACK,YAAY,CAAC,GAAW,EAAE,IAAY,EAAA;;QAE1C,IAAI,OAAO,GAAG,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,GAAG,CAAC;AAC1C,QAAA,IAAI,OAAO,EAAE,GAAG,CAAC,IAAI,CAAC;AAAE,YAAA,OAAO,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC;QAEhD,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC;QAC7B,IAAI,OAAO,GAAY,GAAG;AAE1B,QAAA,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE;YACtB,IAAI,OAAO,KAAK,IAAI,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE;gBACjD,OAAO,GAAG,SAAS;gBACnB;YACJ;AACA,YAAA,OAAO,GAAI,OAAmC,CAAC,IAAI,CAAC;QACxD;;QAGA,IAAI,CAAC,OAAO,EAAE;AACV,YAAA,OAAO,GAAG,IAAI,GAAG,EAAE;YACnB,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,GAAG,EAAE,OAAO,CAAC;QACzC;AACA,QAAA,OAAO,CAAC,GAAG,CAAC,IAAI,EAAE,OAAO,CAAC;AAE1B,QAAA,OAAO,OAAO;IAClB;;;;AAMA;;AAEG;AACK,IAAA,cAAc,CAAC,KAAa,EAAA;AAChC,QAAA,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC;YAAE;QAE3B,MAAM,cAAc,GAAG,sCAAsC;AAC7D,QAAA,IAAI,KAA6B;AAEjC,QAAA,OAAO,CAAC,KAAK,GAAG,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,IAAI,EAAE;AAClD,YAAA,MAAM,CAAC,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,CAAC,GAAG,KAAK;YAE7C,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE;AACxB,gBAAA,MAAM,IAAI,KAAK,CACX,mCAAmC,IAAI,CAAA,OAAA,EAAU,IAAI,CAAA,GAAA,CAAK;oBACtD,CAAA,aAAA,EAAgB,CAAC,GAAG,WAAW,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA,EAAA,CAAI;AAC/C,oBAAA,CAAA,oFAAA,CAAsF,CAC7F;YACL;AACA,YAAA,IAAI,GAAG,KAAK,GAAG,EAAE;AACb,gBAAA,MAAM,IAAI,KAAK,CACX,4BAA4B,IAAI,CAAA,uDAAA,CAAyD,CAC5F;YACL;YACA,IAAI,CAAC,GAAG,EAAE;AACN,gBAAA,MAAM,IAAI,KAAK,CACX,4BAA4B,IAAI,CAAA,gCAAA,CAAkC,CACrE;YACL;QACJ;;AAGA,QAAA,MAAM,IAAI,KAAK,CACX,6DAA6D,KAAK,CAAA,EAAA,CAAI,CACzE;IACL;;;;IAMQ,iBAAiB,CAAC,IAAY,EAAE,GAAW,EAAA;AAC/C,QAAA,MAAM,YAAY,GAA2B;YACzC,GAAG,EAAE,CAAA,sBAAA,EAAyB,GAAG,CAAA,CAAA,CAAG;YACpC,GAAG,EAAE,CAAA,UAAA,EAAa,GAAG,CAAA,iBAAA,CAAmB;YACxC,IAAI,EAAE,CAAA,UAAA,EAAa,GAAG,CAAA,mBAAA,CAAqB;YAC3C,KAAK,EAAE,CAAA,UAAA,EAAa,GAAG,CAAA,CAAA,CAAG;AAC1B,YAAA,IAAI,EAAE,CAAA,YAAA,EAAe,GAAG,CAAA,UAAA,EAAa,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA,CAAA,CAAG;YAC3E,IAAI,EAAE,CAAA,MAAA,EAAS,GAAG,CAAA,CAAA,CAAG;SACxB;AACD,QAAA,MAAM,IAAI,GAAG,YAAY,CAAC,IAAI,CAAC,IAAI,CAAA,WAAA,EAAc,GAAG,CAAA,SAAA,EAAY,IAAI,CAAA,CAAA,CAAG;QACvE,OAAO,CAAA,OAAA,EAAU,IAAI,CAAA,oCAAA,CAAsC;IAC/D;AACH;;;;"}
@@ -1,14 +1,6 @@
1
1
  import { getRandomBytes } from 'xypriss-security';
2
+ import { getSysApi } from './getSysApi.js';
2
3
 
3
- /**
4
- * Lazy accessor for `localSysApi`.
5
- *
6
- * Deferred to call-time to break the circular initialization chain:
7
- * `xhsc.ts` -> `PathApi` -> `XyprissTempDir` -> `xhsc` (localSysApi)
8
- */
9
- function getSysApi() {
10
- return require("../../xhsc").localSysApi;
11
- }
12
4
  /**
13
5
  * Returns the absolute path to the XyPriss shared temp directory.
14
6
  *
@@ -72,5 +64,5 @@ function generateXUserTmpDir() {
72
64
  return _sessionTmpDir;
73
65
  }
74
66
 
75
- export { createXyprissTempDir, generateXUserTmpDir, getSysApi, getXyprissTempDir };
67
+ export { createXyprissTempDir, generateXUserTmpDir, getXyprissTempDir };
76
68
  //# sourceMappingURL=XyprissTempDir.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"XyprissTempDir.js","sources":["../../../../../src/plugins/const/XyprissTempDir.ts"],"sourcesContent":[null],"names":[],"mappings":";;AAEA;;;;;AAKG;SACa,SAAS,GAAA;AACrB,IAAA,OAAQ,OAAO,CAAC,YAAY,CAAiC,CAAC,WAAW;AAC7E;AAEA;;;;AAIG;SACa,iBAAiB,GAAA;AAC7B,IAAA,MAAM,GAAG,GAAG,SAAS,EAAE;AACvB,IAAA,OAAO,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,sBAAsB,CAAC;AACpE;AAEA;;;;;AAKG;AACG,SAAU,oBAAoB,CAAC,EAAqB,EAAA;AACtD,IAAA,MAAM,GAAG,GAAG,SAAS,EAAE;AACvB,IAAA,MAAM,IAAI,GAAG,iBAAiB,EAAE;AAEhC,IAAA,MAAM,OAAO,GACT,OAAO,EAAE,KAAK;AACV,UAAE;AACF,UAAE,EAAE,CAAC,QAAQ,CAAC,GAAG;cACb,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG;AAC5C,cAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC;;AAGxB,IAAA,MAAM,OAAO,GAAG,OAAO,CAAC,UAAU,CAAC,IAAI;AACnC,UAAE;UACA,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC;AAClC,IAAA,MAAM,cAAc,GAAG,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,CAAC,EAAE,CAAC;;IAGlE,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,MAAM,CAAC,cAAc,CAAC,EAAE;AAChC,QAAA,GAAG,CAAC,EAAE,CAAC,KAAK,CAAC,cAAc,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;IACnD;AAEA,IAAA,OAAO,cAAc;AACzB;AAEA;;;;;;;;;AASG;AACH,IAAI,cAAc,GAAkB,IAAI;AAExC;;;;;;;AAOG;SACa,mBAAmB,GAAA;AAC/B,IAAA,IAAI,cAAc,KAAK,IAAI,EAAE;AACzB,QAAA,OAAO,cAAc;IACzB;AAEA,IAAA,MAAM,GAAG,GAAG,SAAS,EAAE;AACvB,IAAA,MAAM,GAAG,GAAG,cAAc,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC;AAC1D,IAAA,cAAc,GAAG,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE,EAAE,OAAO,EAAE,GAAG,CAAC;AAEjE,IAAA,OAAO,cAAc;AACzB;;;;"}
1
+ {"version":3,"file":"XyprissTempDir.js","sources":["../../../../../src/plugins/const/XyprissTempDir.ts"],"sourcesContent":[null],"names":[],"mappings":";;;AAIA;;;;AAIG;SACa,iBAAiB,GAAA;AAC7B,IAAA,MAAM,GAAG,GAAG,SAAS,EAAE;AACvB,IAAA,OAAO,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,sBAAsB,CAAC;AACpE;AAEA;;;;;AAKG;AACG,SAAU,oBAAoB,CAAC,EAAqB,EAAA;AACtD,IAAA,MAAM,GAAG,GAAG,SAAS,EAAE;AACvB,IAAA,MAAM,IAAI,GAAG,iBAAiB,EAAE;AAEhC,IAAA,MAAM,OAAO,GACT,OAAO,EAAE,KAAK;AACV,UAAE;AACF,UAAE,EAAE,CAAC,QAAQ,CAAC,GAAG;cACb,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG;AAC5C,cAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC;;AAGxB,IAAA,MAAM,OAAO,GAAG,OAAO,CAAC,UAAU,CAAC,IAAI;AACnC,UAAE;UACA,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC;AAClC,IAAA,MAAM,cAAc,GAAG,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,CAAC,EAAE,CAAC;;IAGlE,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,MAAM,CAAC,cAAc,CAAC,EAAE;AAChC,QAAA,GAAG,CAAC,EAAE,CAAC,KAAK,CAAC,cAAc,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;IACnD;AAEA,IAAA,OAAO,cAAc;AACzB;AAEA;;;;;;;;;AASG;AACH,IAAI,cAAc,GAAkB,IAAI;AAExC;;;;;;;AAOG;SACa,mBAAmB,GAAA;AAC/B,IAAA,IAAI,cAAc,KAAK,IAAI,EAAE;AACzB,QAAA,OAAO,cAAc;IACzB;AAEA,IAAA,MAAM,GAAG,GAAG,SAAS,EAAE;AACvB,IAAA,MAAM,GAAG,GAAG,cAAc,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC;AAC1D,IAAA,cAAc,GAAG,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE,EAAE,OAAO,EAAE,GAAG,CAAC;AAEjE,IAAA,OAAO,cAAc;AACzB;;;;"}
@@ -0,0 +1,12 @@
1
+ /**
2
+ * Lazy accessor for `localSysApi`.
3
+ *
4
+ * Deferred to call-time to break the circular initialization chain:
5
+ * `xhsc.ts` -> `PathApi` -> `XyprissTempDir` -> `xhsc` (localSysApi)
6
+ */
7
+ function getSysApi() {
8
+ return require("../../xhsc").localSysApi;
9
+ }
10
+
11
+ export { getSysApi };
12
+ //# sourceMappingURL=getSysApi.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getSysApi.js","sources":["../../../../../src/plugins/const/getSysApi.ts"],"sourcesContent":[null],"names":[],"mappings":"AAAA;;;;;AAKG;SACa,SAAS,GAAA;AACrB,IAAA,OAAQ,OAAO,CAAC,YAAY,CAAiC,CAAC,WAAW;AAC7E;;;;"}
@@ -1,126 +1,238 @@
1
+ import { getSysApi } from '../plugins/const/getSysApi.js';
2
+
1
3
  /**
2
4
  * **Config Syntax Parser**
3
5
  *
4
6
  * Handles resolution of dynamic references in configuration files:
5
- * - `$(env).KEY` / `&(env).KEY` : Environment variables
6
- * - `$(pkg).path` / `&(pkg).path` : package.json properties
7
+ * - `$(env).KEY` / `&(env).KEY` : Environment variables
8
+ * - `$(pkg).path` / `&(pkg).path` : package.json properties (dot-notation)
9
+ * - `$(this).KEY` / `&(this).KEY` : Properties from the currently parsed object
10
+ * - `$(const).KEY` / `&(const).KEY` : Build-time constants injected at construction
11
+ * - `$(date).FMT` / `&(date).FMT` : Current date/time helpers (ISO, YEAR, MONTH, DAY, TS)
12
+ * - `$(file).path` / `&(file).path` : Synchronous file content (use for secrets, certs, etc.)
7
13
  */
14
+ // Valid reference types — extend here when adding new syntax.
15
+ const VALID_TYPES = new Set(["env", "pkg", "this", "const", "date", "file"]);
16
+ // Date format tokens supported by $(date).TOKEN
17
+ const DATE_TOKENS = {
18
+ ISO: () => new Date().toISOString(),
19
+ YEAR: () => String(new Date().getFullYear()),
20
+ MONTH: () => String(new Date().getMonth() + 1).padStart(2, "0"),
21
+ DAY: () => String(new Date().getDate()).padStart(2, "0"),
22
+ TS: () => String(Date.now()),
23
+ TIME: () => new Date().toTimeString().split(" ")[0], // HH:MM:SS
24
+ };
25
+ // ---------------------------------------------------------------------------
26
+ // Parser
27
+ // ---------------------------------------------------------------------------
8
28
  class ConfigSyntaxParser {
9
- constructor(packageJson = null, envProvider = null) {
29
+ constructor(packageJson = null, envProvider = null, constants = {}, options = {}) {
10
30
  this.packageJson = packageJson;
11
31
  this.envProvider = envProvider;
32
+ this.constants = constants;
33
+ // LRU-style cache for getDeepValue on the same object reference
34
+ this.deepValueCache = new WeakMap();
35
+ this.fileBasePath = options.fileBasePath ?? process.cwd();
36
+ this.maxPasses = options.maxPasses ?? 20;
12
37
  }
38
+ // -------------------------------------------------------------------------
39
+ // Public API — signatures intentionally unchanged
40
+ // -------------------------------------------------------------------------
13
41
  /**
14
42
  * Resolves all dynamic references in a configuration object or string.
43
+ * Non-string/array/object values are returned as-is.
15
44
  */
16
- resolve(obj) {
17
- if (typeof obj === "string") {
18
- return this.resolveString(obj);
19
- }
20
- else if (Array.isArray(obj)) {
21
- return obj.map((item) => this.resolve(item));
22
- }
23
- else if (typeof obj === "object" && obj !== null) {
45
+ resolve(obj, rootObj) {
46
+ if (rootObj === undefined)
47
+ rootObj = obj;
48
+ if (typeof obj === "string")
49
+ return this.resolveString(obj, rootObj);
50
+ if (Array.isArray(obj))
51
+ return obj.map((item) => this.resolve(item, rootObj));
52
+ if (typeof obj === "object" && obj !== null) {
24
53
  const resolved = {};
25
- for (const key in obj) {
26
- const resolvedKey = this.resolve(key);
27
- resolved[resolvedKey] = this.resolve(obj[key]);
54
+ for (const key of Object.keys(obj)) {
55
+ const resolvedKey = String(this.resolve(key, rootObj));
56
+ resolved[resolvedKey] = this.resolve(obj[key], rootObj);
28
57
  }
29
58
  return resolved;
30
59
  }
31
- return obj;
60
+ return obj; // number, boolean, null, undefined — pass through untouched
32
61
  }
62
+ // -------------------------------------------------------------------------
63
+ // Core resolution
64
+ // -------------------------------------------------------------------------
33
65
  /**
34
- * Resolves dynamic references in a string.
66
+ * Resolves dynamic references in a string, supporting chained || fallbacks.
35
67
  */
36
- resolveString(value) {
68
+ resolveString(value, rootObj) {
69
+ // Matches: $(type).key || $(type).key || literal-fallback
70
+ // Group 1 — prefix ($ or &)
71
+ // Group 2 — type
72
+ // Group 3 — key/path
73
+ // Group 4 — remainder of the || chain
74
+ const chainRegex = /([$&])\(([\w]+)\)\.([\w\d_./-]+)((?:\s*\|\|\s*(?:[$&]\((?:[\w]+)\)\.[\w\d_./-]+|[^|,]+))*)/g;
37
75
  let result = value;
38
- // Regex for a reference followed by an optional chain of || fallbacks
39
- // Group 1: prefix ($ or &)
40
- // Group 2: type (env or pkg)
41
- // Group 3: key/path
42
- // Group 4: the rest of the chain (e.g. " || $(env).B || default")
43
- const chainRegex = /([\$\&])\((env|pkg)\)\.([\w\d_.-]+)((?:\s*\|\|\s*(?:[\$\&]\((?:env|pkg)\)\.[\w\d_.-]+|[^|,]+))*)/g;
44
- while (true) {
45
- const lastResult = result;
76
+ let passes = 0;
77
+ while (passes++ < this.maxPasses) {
78
+ const prev = result;
79
+ // Reset regex before each pass (global flag keeps lastIndex)
80
+ chainRegex.lastIndex = 0;
46
81
  result = result.replace(chainRegex, (_match, _prefix, type, key, chain) => {
47
- const val = this.getValue(type, key);
82
+ const val = this.getValue(type, key, rootObj);
48
83
  if (val !== undefined)
49
84
  return val;
50
85
  if (chain) {
51
- // Remove leading " || " and return the rest for next pass
86
+ // Strip leading " || " and let the next pass handle it
52
87
  return chain.replace(/^\s*\|\|\s*/, "");
53
88
  }
54
- throw new Error(`EDYNC: ${type === "env"
55
- ? 'Environment variable'
56
- : 'Property'} "${key}" not found${type === "pkg" ? " in package.json" : ""}`);
89
+ throw new Error(this.buildMissingError(type, key));
57
90
  });
58
- if (result === lastResult)
91
+ if (result === prev)
59
92
  break;
60
93
  }
61
- // Validate that no malformed or unresolved references remain
94
+ if (passes > this.maxPasses) {
95
+ throw new Error(`ESYNC: Resolution did not stabilise after ${this.maxPasses} passes in "${value}". ` +
96
+ `Possible circular reference.`);
97
+ }
62
98
  this.validateSyntax(result);
63
99
  return result;
64
100
  }
101
+ // -------------------------------------------------------------------------
102
+ // Value retrieval
103
+ // -------------------------------------------------------------------------
65
104
  /**
66
- * Validates that no unresolved or malformed markers remain in the string.
105
+ * Dispatches value retrieval to the appropriate provider.
67
106
  */
68
- validateSyntax(value) {
69
- const marker = /[\$\&]\(/;
70
- if (!marker.test(value))
71
- return;
72
- // Try to identify the specific malformed part
73
- const malformedRegex = /([\$\&])\(([^)]*)\)(\.?)([\w\d_.-]*)/g;
74
- let match;
75
- // Reset regex state for global search
76
- malformedRegex.lastIndex = 0;
77
- match = malformedRegex.exec(value);
78
- if (match) {
79
- const [full, _prefix, type, dot, key] = match;
80
- if (type !== "env" && type !== "pkg") {
81
- throw new Error(`ESYNC: Invalid reference type "(${type})" in "${full}". Supported types are (env) and (pkg).`);
82
- }
83
- if (dot !== ".") {
84
- throw new Error(`ESYNC: Malformed syntax "${full}". Missing dot separator after type (e.g., $(env).KEY).`);
85
- }
86
- if (!key) {
87
- throw new Error(`ESYNC: Malformed syntax "${full}". Missing key or property path in "${full}".`);
88
- }
107
+ getValue(type, key, rootObj) {
108
+ switch (type) {
109
+ case "env":
110
+ return this.getEnv(key);
111
+ case "pkg":
112
+ return this.getPkg(key);
113
+ case "this":
114
+ return this.getThis(key, rootObj);
115
+ case "const":
116
+ return this.getConst(key);
117
+ case "date":
118
+ return this.getDate(key);
119
+ case "file":
120
+ return this.getFile(key);
121
+ default:
122
+ return undefined; // validateSyntax will catch this
89
123
  }
90
- // Catch-all for other malformed markers
91
- throw new Error(`ESYNC: Invalid or malformed injection syntax detected in "${value}"`);
92
124
  }
93
- /**
94
- * Unifies value retrieval for env and pkg.
95
- */
96
- getValue(type, key) {
97
- if (type === "env") {
98
- return this.envProvider?.has(key)
99
- ? this.envProvider.get(key)
100
- : undefined;
125
+ getEnv(key) {
126
+ return this.envProvider?.has(key)
127
+ ? this.envProvider.get(key)
128
+ : undefined;
129
+ }
130
+ getPkg(key) {
131
+ if (!this.packageJson)
132
+ return undefined;
133
+ const val = this.getDeepValue(this.packageJson, key);
134
+ return val !== undefined ? String(val) : undefined;
135
+ }
136
+ getThis(key, rootObj) {
137
+ if (rootObj === null || typeof rootObj !== "object")
138
+ return undefined;
139
+ const val = this.getDeepValue(rootObj, key);
140
+ return val !== undefined ? String(val) : undefined;
141
+ }
142
+ getConst(key) {
143
+ return Object.prototype.hasOwnProperty.call(this.constants, key)
144
+ ? this.constants[key]
145
+ : undefined;
146
+ }
147
+ getDate(token) {
148
+ const upper = token.toUpperCase();
149
+ return DATE_TOKENS[upper]?.();
150
+ // Unknown date tokens fall through to the error handler
151
+ }
152
+ getFile(filePath) {
153
+ try {
154
+ const sys = getSysApi();
155
+ const resolved = sys.path.isAbsolute(filePath)
156
+ ? filePath
157
+ : sys.path.resolve(this.fileBasePath, filePath);
158
+ return sys.fs.readFileSync(resolved, "utf8").trim();
101
159
  }
102
- else {
103
- const val = this.packageJson
104
- ? this.getDeepValue(this.packageJson, key)
105
- : undefined;
106
- return val !== undefined ? String(val) : undefined;
160
+ catch {
161
+ return undefined; // triggers fallback chain or missing-key error
107
162
  }
108
163
  }
164
+ // -------------------------------------------------------------------------
165
+ // Deep value with caching
166
+ // -------------------------------------------------------------------------
109
167
  /**
110
168
  * Retrieves a value from a nested object using dot notation.
169
+ * Results are cached per object reference to avoid repeated traversal.
111
170
  */
112
171
  getDeepValue(obj, path) {
113
- if (!obj)
114
- return undefined;
172
+ // Check cache
173
+ let pathMap = this.deepValueCache.get(obj);
174
+ if (pathMap?.has(path))
175
+ return pathMap.get(path);
115
176
  const parts = path.split(".");
116
177
  let current = obj;
117
178
  for (const part of parts) {
118
- if (current === null || typeof current !== "object")
119
- return undefined;
179
+ if (current === null || typeof current !== "object") {
180
+ current = undefined;
181
+ break;
182
+ }
120
183
  current = current[part];
121
184
  }
185
+ // Store in cache
186
+ if (!pathMap) {
187
+ pathMap = new Map();
188
+ this.deepValueCache.set(obj, pathMap);
189
+ }
190
+ pathMap.set(path, current);
122
191
  return current;
123
192
  }
193
+ // -------------------------------------------------------------------------
194
+ // Validation
195
+ // -------------------------------------------------------------------------
196
+ /**
197
+ * Validates that no unresolved or malformed markers remain in the string.
198
+ */
199
+ validateSyntax(value) {
200
+ if (!/[$&]\(/.test(value))
201
+ return;
202
+ const malformedRegex = /([$&])\(([^)]*)\)(\.?)([\w\d_./-]*)/g;
203
+ let match;
204
+ while ((match = malformedRegex.exec(value)) !== null) {
205
+ const [full, _prefix, type, dot, key] = match;
206
+ if (!VALID_TYPES.has(type)) {
207
+ throw new Error(`ESYNC: Invalid reference type "(${type})" in "${full}". ` +
208
+ `Valid types: ${[...VALID_TYPES].join(", ")}. ` +
209
+ `See https://github.com/Nehonix-Team/XyPriss/blob/master/docs/config/configuration.md`);
210
+ }
211
+ if (dot !== ".") {
212
+ throw new Error(`ESYNC: Malformed syntax "${full}". Missing dot separator after type (e.g., $(env).KEY).`);
213
+ }
214
+ if (!key) {
215
+ throw new Error(`ESYNC: Malformed syntax "${full}". Missing key or property path.`);
216
+ }
217
+ }
218
+ // Catch-all
219
+ throw new Error(`ESYNC: Invalid or malformed injection syntax detected in "${value}".`);
220
+ }
221
+ // -------------------------------------------------------------------------
222
+ // Error formatting
223
+ // -------------------------------------------------------------------------
224
+ buildMissingError(type, key) {
225
+ const descriptions = {
226
+ env: `Environment variable "${key}"`,
227
+ pkg: `Property "${key}" in package.json`,
228
+ this: `Property "${key}" in current object`,
229
+ const: `Constant "${key}"`,
230
+ date: `Date token "${key}" (valid: ${Object.keys(DATE_TOKENS).join(", ")})`,
231
+ file: `File "${key}"`,
232
+ };
233
+ const desc = descriptions[type] ?? `Reference "${key}" (type: ${type})`;
234
+ return `EDYNC: ${desc} not found or could not be resolved.`;
235
+ }
124
236
  }
125
237
 
126
238
  export { ConfigSyntaxParser };
@@ -1 +1 @@
1
- {"version":3,"file":"ConfigSyntaxParser.js","sources":["../../../../src/utils/ConfigSyntaxParser.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ConfigSyntaxParser.js","sources":["../../../../src/utils/ConfigSyntaxParser.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -70,5 +70,5 @@
70
70
  },
71
71
  "type": "module",
72
72
  "types": "./dist/index.d.ts",
73
- "version": "9.10.5"
73
+ "version": "9.10.6"
74
74
  }