xypriss 4.5.0 → 4.6.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/README.md CHANGED
@@ -109,6 +109,9 @@ server.start(() => {
109
109
 
110
110
  - **[Routing](./docs/ROUTING.md)** - Routes, parameters, wildcards, and middleware
111
111
  - **[XJson API](./docs/XJSON_API.md)** - Advanced JSON serialization for BigInt and large data
112
+ - **[Global APIs](./docs/GLOBAL_APIS.md)** - Runtime globals overview
113
+ - **[Configuration API (**cfg**)](./docs/CFG_API.md)** - Deep dive into the configuration manager
114
+ - **[Immutability API (**const**)](./docs/CONST_API.md)** - Deep dive into the immutability engine
112
115
  - **[File Upload](./docs/FILE_UPLOAD_GUIDE.md)** - Complete file upload guide with runtime compatibility
113
116
  - **[Security](./docs/SECURITY.md)** - CORS, CSRF, rate limiting, and security best practices
114
117
  - **[Multi-Server](./docs/MULTI_SERVER.md)** - Running multiple server instances
@@ -142,7 +142,14 @@ class ConfigurationManager {
142
142
  */
143
143
  static merge(config) {
144
144
  const instance = ConfigurationManager.getInstance();
145
+ // Check if the incoming config is marked as immutable
146
+ const shouldBeImmutable = config?.__isXyPrissImmutable;
145
147
  instance.config = ConfigurationManager.deepMerge(instance.config, config);
148
+ // If it should be immutable, wrap it using the global __const__.$make
149
+ if (shouldBeImmutable &&
150
+ typeof globalThis.__const__ !== "undefined") {
151
+ instance.config = globalThis.__const__.$make(instance.config, "Configs");
152
+ }
146
153
  instance.initialized = true;
147
154
  }
148
155
  /**
@@ -190,7 +197,18 @@ class ConfigurationManager {
190
197
  delete instance.config[key];
191
198
  }
192
199
  }
200
+ // Self-register global __cfg__ if in a global environment
201
+ if (typeof globalThis !== "undefined") {
202
+ globalThis.__cfg__ =
203
+ globalThis.__cfg__ || ConfigurationManager;
204
+ }
205
+ /**
206
+ * Default instance for easy access
207
+ */
208
+ const __cfg__ = globalThis
209
+ .__cfg__;
193
210
 
194
211
  exports.CM = ConfigurationManager;
195
212
  exports.Configs = ConfigurationManager;
213
+ exports.__cfg__ = __cfg__;
196
214
  //# sourceMappingURL=config.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sources":["../../../src/config.ts"],"sourcesContent":[null],"names":["DEFAULT_OPTIONS"],"mappings":"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"}
1
+ {"version":3,"file":"config.js","sources":["../../../src/config.ts"],"sourcesContent":[null],"names":["DEFAULT_OPTIONS"],"mappings":"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"}
@@ -0,0 +1,310 @@
1
+ 'use strict';
2
+
3
+ /**************************************************************************************************************************************************************
4
+ * This code contains proprietary source code from NEHONIX
5
+ *
6
+ * @author Nehonix
7
+ * @license NOSL
8
+ * @version v1.0
9
+ * @see {@link https://dll.nehonix.com/licenses/NOSL}
10
+ *
11
+ * Copyright (c) 2025 Nehonix. All rights reserved.
12
+ *
13
+ *
14
+ * This License governs the use, modification, and distribution of software provided by NEHONIX under its open source projects.
15
+ * NEHONIX is committed to fostering collaborative innovation while strictly protecting its intellectual property rights.
16
+ * Violation of any term of this License will result in immediate termination of all granted rights and may subject the violator to legal action.
17
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO WARRANTIES OF MERCHANTABILITY,
18
+ * FITNESS FOR A PARTICULAR PURPOSE, AND NON-INFRINGEMENT.
19
+ * IN NO EVENT SHALL NEHONIX BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES ARISING FROM THE USE
20
+ * OR INABILITY TO USE THE SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
21
+ ************************************************************************************************************************************************************** */
22
+ /**
23
+ * XyPriss Constant Variables Class
24
+ *
25
+ * Provides a mechanism to store immutable values that cannot be changed once set.
26
+ * This is useful for protecting critical application constants from being
27
+ * modified by plugins or other modules at runtime.
28
+ *
29
+ * @class XyPrissConst
30
+ * @version 2.0.0
31
+ */
32
+ class XyPrissConst {
33
+ constructor() {
34
+ this.constants = new Map();
35
+ this.immutableCache = new WeakMap();
36
+ }
37
+ /**
38
+ * Make a value deeply immutable using Proxy protection.
39
+ * This ACTIVELY blocks any modification attempts with clear error messages.
40
+ * Works with objects, arrays, Maps, Sets, and nested structures.
41
+ *
42
+ * @template T - Type of the value to freeze
43
+ * @param {T} value - The value to make immutable
44
+ * @param {string} [path] - Internal path tracking for error messages
45
+ * @returns {T} The deeply protected immutable value
46
+ *
47
+ * @example
48
+ * ```typescript
49
+ * const config = __const__.$make({
50
+ * server: { port: 8080, host: 'localhost' },
51
+ * features: ['auth', 'logging']
52
+ * });
53
+ * config.server.port = 9000; // ❌ THROWS ERROR IMMEDIATELY
54
+ * ```
55
+ */
56
+ $make(value, path = "root") {
57
+ if (value === null || value === undefined) {
58
+ return value;
59
+ }
60
+ const type = typeof value;
61
+ // Primitives are immutable by nature
62
+ if (type !== "object" && type !== "function") {
63
+ return value;
64
+ }
65
+ // Check if it's already one of our immutable proxies
66
+ if (value?.__isXyPrissImmutable) {
67
+ return value;
68
+ }
69
+ // Check cache to avoid re-wrapping
70
+ if (this.immutableCache.has(value)) {
71
+ return this.immutableCache.get(value);
72
+ }
73
+ // Freeze the original object
74
+ Object.freeze(value);
75
+ let proxied;
76
+ // Handle arrays
77
+ if (Array.isArray(value)) {
78
+ const frozenArray = value.map((item, index) => this.$make(item, `${path}[${index}]`));
79
+ proxied = new Proxy(frozenArray, {
80
+ get: (target, prop) => {
81
+ if (prop === "__isXyPrissImmutable")
82
+ return true;
83
+ return target[prop];
84
+ },
85
+ set: (target, prop, val) => {
86
+ throw new Error(`[XyPrissConst] Cannot modify immutable array at "${path}.${String(prop)}". ` +
87
+ `Attempted to set value: ${JSON.stringify(val)}`);
88
+ },
89
+ deleteProperty: (target, prop) => {
90
+ throw new Error(`[XyPrissConst] Cannot delete property "${String(prop)}" from immutable array at "${path}"`);
91
+ },
92
+ defineProperty: (target, prop) => {
93
+ throw new Error(`[XyPrissConst] Cannot define property "${String(prop)}" on immutable array at "${path}"`);
94
+ },
95
+ });
96
+ this.immutableCache.set(value, proxied);
97
+ return proxied;
98
+ }
99
+ // Handle Maps
100
+ if (value instanceof Map) {
101
+ const frozenMap = new Map();
102
+ value.forEach((v, k) => {
103
+ frozenMap.set(this.$make(k, `${path}<key>`), this.$make(v, `${path}.get("${k}")`));
104
+ });
105
+ proxied = new Proxy(frozenMap, {
106
+ get: (target, prop) => {
107
+ if (prop === "__isXyPrissImmutable")
108
+ return true;
109
+ if (prop === "set" ||
110
+ prop === "delete" ||
111
+ prop === "clear") {
112
+ return () => {
113
+ throw new Error(`[XyPrissConst] Cannot call Map.${String(prop)}() on immutable Map at "${path}"`);
114
+ };
115
+ }
116
+ return target[prop];
117
+ },
118
+ });
119
+ this.immutableCache.set(value, proxied);
120
+ return proxied;
121
+ }
122
+ // Handle Sets
123
+ if (value instanceof Set) {
124
+ const frozenSet = new Set();
125
+ value.forEach((item) => {
126
+ frozenSet.add(this.$make(item, `${path}<item>`));
127
+ });
128
+ proxied = new Proxy(frozenSet, {
129
+ get: (target, prop) => {
130
+ if (prop === "__isXyPrissImmutable")
131
+ return true;
132
+ if (prop === "add" ||
133
+ prop === "delete" ||
134
+ prop === "clear") {
135
+ return () => {
136
+ throw new Error(`[XyPrissConst] Cannot call Set.${String(prop)}() on immutable Set at "${path}"`);
137
+ };
138
+ }
139
+ return target[prop];
140
+ },
141
+ });
142
+ this.immutableCache.set(value, proxied);
143
+ return proxied;
144
+ }
145
+ // Handle Dates - return as is (already immutable)
146
+ if (value instanceof Date) {
147
+ return value;
148
+ }
149
+ // Handle regular objects and class instances
150
+ const frozenObj = {};
151
+ const proto = Object.getPrototypeOf(value);
152
+ // Copy all properties recursively
153
+ Object.getOwnPropertyNames(value).forEach((prop) => {
154
+ const descriptor = Object.getOwnPropertyDescriptor(value, prop);
155
+ if (descriptor && descriptor.value !== undefined) {
156
+ if (typeof descriptor.value === "function") {
157
+ // Keep methods as-is
158
+ frozenObj[prop] = descriptor.value;
159
+ }
160
+ else {
161
+ // Recursively protect nested values
162
+ frozenObj[prop] = this.$make(descriptor.value, `${path}.${prop}`);
163
+ }
164
+ }
165
+ });
166
+ // Copy symbol properties
167
+ Object.getOwnPropertySymbols(value).forEach((sym) => {
168
+ const descriptor = Object.getOwnPropertyDescriptor(value, sym);
169
+ if (descriptor && descriptor.value !== undefined) {
170
+ if (typeof descriptor.value !== "function") {
171
+ frozenObj[sym] = this.$make(descriptor.value, `${path}[Symbol]`);
172
+ }
173
+ else {
174
+ frozenObj[sym] = descriptor.value;
175
+ }
176
+ }
177
+ });
178
+ // Set the prototype
179
+ Object.setPrototypeOf(frozenObj, proto);
180
+ Object.freeze(frozenObj);
181
+ // Wrap in Proxy for active protection
182
+ proxied = new Proxy(frozenObj, {
183
+ get: (target, prop) => {
184
+ if (prop === "__isXyPrissImmutable")
185
+ return true;
186
+ return target[prop];
187
+ },
188
+ set: (target, prop, val) => {
189
+ const errorMsg = `[XyPrissConst] Cannot modify immutable property "${path}.${String(prop)}". ` + `Attempted to set value: ${JSON.stringify(val)}`;
190
+ throw new Error(errorMsg);
191
+ },
192
+ deleteProperty: (target, prop) => {
193
+ throw new Error(`[XyPrissConst] Cannot delete immutable property "${path}.${String(prop)}"`);
194
+ },
195
+ defineProperty: (target, prop) => {
196
+ throw new Error(`[XyPrissConst] Cannot define property "${String(prop)}" on immutable object at "${path}"`);
197
+ },
198
+ setPrototypeOf: () => {
199
+ throw new Error(`[XyPrissConst] Cannot change prototype of immutable object at "${path}"`);
200
+ },
201
+ });
202
+ this.immutableCache.set(value, proxied);
203
+ return proxied;
204
+ }
205
+ /**
206
+ * Define a new constant.
207
+ * Throws an error if the constant is already defined.
208
+ * Automatically makes the value deeply immutable.
209
+ *
210
+ * @param {string} key - The unique identifier for the constant
211
+ * @param {any} value - The value to store (will be made immutable)
212
+ * @throws {Error} If the key already exists
213
+ *
214
+ * @example
215
+ * ```typescript
216
+ * __const__.$set('APP_CONFIG', {
217
+ * database: { host: 'localhost', port: 5432 }
218
+ * });
219
+ * ```
220
+ */
221
+ $set(key, value) {
222
+ if (this.constants.has(key)) {
223
+ throw new Error(`[XyPrissConst] Cannot redefine constant "${key}". Constants are immutable.`);
224
+ }
225
+ // Make the value deeply immutable before storing
226
+ const immutableValue = this.$make(value, key);
227
+ this.constants.set(key, immutableValue);
228
+ }
229
+ /**
230
+ * Retrieve a constant value.
231
+ *
232
+ * @template T - Expected type of the constant
233
+ * @param {string} key - The identifier of the constant
234
+ * @param {T} [defaultValue] - Optional fallback value if not found
235
+ * @returns {T} The constant value or default
236
+ *
237
+ * @example
238
+ * ```typescript
239
+ * const appId = __const__.$get('APP_ID');
240
+ * ```
241
+ */
242
+ $get(key, defaultValue) {
243
+ return (this.constants.has(key) ? this.constants.get(key) : defaultValue);
244
+ }
245
+ /**
246
+ * Check if a constant is defined.
247
+ *
248
+ * @param {string} key - The identifier to check
249
+ * @returns {boolean} True if the constant exists
250
+ */
251
+ $has(key) {
252
+ return this.constants.has(key);
253
+ }
254
+ /**
255
+ * Export all constants as a plain object.
256
+ * Note: Returns a frozen snapshot, not the proxy-protected originals.
257
+ *
258
+ * @returns {Record<string, any>}
259
+ */
260
+ $toJSON() {
261
+ const obj = Object.fromEntries(this.constants);
262
+ return Object.freeze(obj);
263
+ }
264
+ /**
265
+ * Delete a constant (use with extreme caution).
266
+ * This is primarily for testing purposes.
267
+ *
268
+ * @param {string} key - The identifier to delete
269
+ * @returns {boolean} True if the constant was deleted
270
+ */
271
+ $delete(key) {
272
+ return this.constants.delete(key);
273
+ }
274
+ /**
275
+ * Clear all constants (use with extreme caution).
276
+ * This is primarily for testing purposes.
277
+ */
278
+ $clear() {
279
+ this.constants.clear();
280
+ }
281
+ /**
282
+ * Get the total number of constants stored.
283
+ *
284
+ * @returns {number} The count of constants
285
+ */
286
+ $size() {
287
+ return this.constants.size;
288
+ }
289
+ /**
290
+ * List all constant keys.
291
+ *
292
+ * @returns {string[]} Array of all constant keys
293
+ */
294
+ $keys() {
295
+ return Array.from(this.constants.keys());
296
+ }
297
+ }
298
+ // Self-register global __const__ if in a global environment
299
+ if (typeof globalThis !== "undefined") {
300
+ globalThis.__const__ =
301
+ globalThis.__const__ || new XyPrissConst();
302
+ }
303
+ /**
304
+ * Default instance for easy access
305
+ */
306
+ const __const__ = globalThis.__const__;
307
+
308
+ exports.XyPrissConst = XyPrissConst;
309
+ exports.__const__ = __const__;
310
+ //# sourceMappingURL=const.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"const.js","sources":["../../../src/const.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
@@ -4,12 +4,13 @@ var fileUpload = require('./file-upload.js');
4
4
  var Router$1 = require('./server/routing/Router.js');
5
5
  var ConfigLoader = require('./server/utils/ConfigLoader.js');
6
6
  var sys = require('./sys.js');
7
+ var config = require('./config.js');
8
+ var _const = require('./const.js');
7
9
  var ServerFactory = require('./server/ServerFactory.js');
8
10
  var smartRoutes = require('./server/components/fastapi/smart-routes.js');
9
11
  var CacheFactory = require('./cache/CacheFactory.js');
10
12
  var securityMiddleware = require('./middleware/security-middleware.js');
11
13
  var performanceMonitor = require('./server/optimization/performance-monitor.js');
12
- var config = require('./config.js');
13
14
  var XJsonResponseHandler = require('./middleware/XJsonResponseHandler.js');
14
15
  var index = require('./plugins/modules/index.js');
15
16
  var PluginAPI = require('./plugins/api/PluginAPI.js');
@@ -62,18 +63,9 @@ var NetworkPluginUtils = require('./plugins/modules/network/utils/NetworkPluginU
62
63
  * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
63
64
  * SOFTWARE.
64
65
  ***************************************************************************** */
65
- // Initialize __sys__ global if it doesn't exist
66
+ // Load and apply system configuration from xypriss.config.json
66
67
  if (typeof globalThis !== "undefined") {
67
- // Load and apply system configuration from xypriss.config.json
68
68
  ConfigLoader.configLoader.loadAndApplySysConfig();
69
- const defaultPort = parseInt(process.env["PORT"] || "3000");
70
- globalThis.__sys__ =
71
- globalThis.__sys__ ||
72
- new sys.XyPrissSys({
73
- __port__: defaultPort,
74
- __PORT__: defaultPort,
75
- __env__: process.env["NODE_ENV"] || "development",
76
- });
77
69
  }
78
70
  /**
79
71
  * Default router instance for quick start
@@ -90,6 +82,11 @@ exports.FLA = fileUpload.FileUploadAPI;
90
82
  exports.FileUploadAPI = fileUpload.FileUploadAPI;
91
83
  exports.Upload = fileUpload.Upload;
92
84
  exports.XyPrissRouter = Router$1.XyPrissRouter;
85
+ exports.__sys__ = sys.__sys__;
86
+ exports.CM = config.Configs;
87
+ exports.Configs = config.Configs;
88
+ exports.__cfg__ = config.__cfg__;
89
+ exports.__const__ = _const.__const__;
93
90
  exports.createCacheMiddleware = ServerFactory.createCacheMiddleware;
94
91
  exports.createServer = ServerFactory.createServer;
95
92
  exports.createServerInstance = ServerFactory.createServerInstance;
@@ -97,8 +94,6 @@ exports.Route = smartRoutes.Route;
97
94
  exports.createOptimalCache = CacheFactory.createOptimalCache;
98
95
  exports.SecurityMiddleware = securityMiddleware.SecurityMiddleware;
99
96
  exports.PerformanceMonitor = performanceMonitor.PerformanceMonitor;
100
- exports.CM = config.Configs;
101
- exports.Configs = config.Configs;
102
97
  exports.XJsonResponseHandler = XJsonResponseHandler.XJsonResponseHandler;
103
98
  exports.DEFAULT_PLUGIN_CONFIG = index.DEFAULT_PLUGIN_CONFIG;
104
99
  exports.PERFORMANCE_TARGETS = index.PERFORMANCE_TARGETS;
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../src/index.ts"],"sourcesContent":[null],"names":["configLoader","XyPrissSys","XyPrissRouter"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;AAyBiF;AAQjF;AACA,IAAI,OAAO,UAAU,KAAK,WAAW,EAAE;;IAEnCA,yBAAY,CAAC,qBAAqB,EAAE,CAAC;AACrC,IAAA,MAAM,WAAW,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,MAAM,CAAC,CAAC;AAC3D,IAAA,UAAkB,CAAC,OAAO;AACtB,QAAA,UAAkB,CAAC,OAAO;AAC3B,YAAA,IAAIC,cAAU,CAAC;AACX,gBAAA,QAAQ,EAAE,WAAW;AACrB,gBAAA,QAAQ,EAAE,WAAW;gBACrB,OAAO,EAAE,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,aAAa;AACpD,aAAA,CAAC,CAAC;AACX,CAAC;AAyCD;;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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"index.js","sources":["../../../src/index.ts"],"sourcesContent":[null],"names":["configLoader","XyPrissRouter"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;AAyBiF;AAWjF;AACA,IAAI,OAAO,UAAU,KAAK,WAAW,EAAE;IACnCA,yBAAY,CAAC,qBAAqB,EAAE,CAAC;AACzC,CAAC;AA4CD;;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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -608,6 +608,22 @@ class XyPrissSys {
608
608
  return new XyPrissSys(this.$toJSON());
609
609
  }
610
610
  }
611
+ // Self-register global __sys__ if in a global environment
612
+ if (typeof globalThis !== "undefined") {
613
+ const defaultPort = parseInt(process.env["PORT"] || "3000");
614
+ globalThis.__sys__ =
615
+ globalThis.__sys__ ||
616
+ new XyPrissSys({
617
+ __port__: defaultPort,
618
+ __PORT__: defaultPort,
619
+ __env__: process.env["NODE_ENV"] || "development",
620
+ });
621
+ }
622
+ /**
623
+ * Default instance for easy access
624
+ */
625
+ const __sys__ = globalThis.__sys__;
611
626
 
612
627
  exports.XyPrissSys = XyPrissSys;
628
+ exports.__sys__ = __sys__;
613
629
  //# sourceMappingURL=sys.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"sys.js","sources":["../../../src/sys.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sys.js","sources":["../../../src/sys.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
@@ -140,7 +140,14 @@ class ConfigurationManager {
140
140
  */
141
141
  static merge(config) {
142
142
  const instance = ConfigurationManager.getInstance();
143
+ // Check if the incoming config is marked as immutable
144
+ const shouldBeImmutable = config?.__isXyPrissImmutable;
143
145
  instance.config = ConfigurationManager.deepMerge(instance.config, config);
146
+ // If it should be immutable, wrap it using the global __const__.$make
147
+ if (shouldBeImmutable &&
148
+ typeof globalThis.__const__ !== "undefined") {
149
+ instance.config = globalThis.__const__.$make(instance.config, "Configs");
150
+ }
144
151
  instance.initialized = true;
145
152
  }
146
153
  /**
@@ -188,6 +195,16 @@ class ConfigurationManager {
188
195
  delete instance.config[key];
189
196
  }
190
197
  }
198
+ // Self-register global __cfg__ if in a global environment
199
+ if (typeof globalThis !== "undefined") {
200
+ globalThis.__cfg__ =
201
+ globalThis.__cfg__ || ConfigurationManager;
202
+ }
203
+ /**
204
+ * Default instance for easy access
205
+ */
206
+ const __cfg__ = globalThis
207
+ .__cfg__;
191
208
 
192
- export { ConfigurationManager as CM, ConfigurationManager as Configs };
209
+ export { ConfigurationManager as CM, ConfigurationManager as Configs, __cfg__ };
193
210
  //# sourceMappingURL=config.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sources":["../../../src/config.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config.js","sources":["../../../src/config.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}