xypriss 9.12.29 → 9.12.31
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/dist/cjs/src/index.js.map +1 -1
- package/dist/cjs/src/plugins/const/XyprissTempDir.js +26 -0
- package/dist/cjs/src/plugins/const/XyprissTempDir.js.map +1 -1
- package/dist/cjs/src/server/ServerFactory.js +1 -0
- package/dist/cjs/src/server/ServerFactory.js.map +1 -1
- package/dist/cjs/src/server/core/XHSCBridge/EngineManager.js +5 -0
- package/dist/cjs/src/server/core/XHSCBridge/EngineManager.js.map +1 -1
- package/dist/cjs/src/server/core/XHSCBridge/cmd/buildSecurityArgs.js +2 -0
- package/dist/cjs/src/server/core/XHSCBridge/cmd/buildSecurityArgs.js.map +1 -1
- package/dist/cjs/src/server/core/XHSCBridge/cmd/buildUploadArgs.js +4 -1
- package/dist/cjs/src/server/core/XHSCBridge/cmd/buildUploadArgs.js.map +1 -1
- package/dist/cjs/src/server/core/XHSCBridge/cmd/builders/corsBuilder.js +23 -0
- package/dist/cjs/src/server/core/XHSCBridge/cmd/builders/corsBuilder.js.map +1 -0
- package/dist/cjs/src/server/core/XHSCBridge/cmd/builders/helmetBuilder.js +2 -1
- package/dist/cjs/src/server/core/XHSCBridge/cmd/builders/helmetBuilder.js.map +1 -1
- package/dist/cjs/src/server/core/XHSCBridge/cmd/builders/injectionBuilders.js +10 -9
- package/dist/cjs/src/server/core/XHSCBridge/cmd/builders/injectionBuilders.js.map +1 -1
- package/dist/cjs/src/server/core/XHSCBridge/cmd/builders/isFeatureEnabled.js +22 -0
- package/dist/cjs/src/server/core/XHSCBridge/cmd/builders/isFeatureEnabled.js.map +1 -0
- package/dist/cjs/src/server/core/XHSCBridge/cmd/builders/resilienceBuilder.js +9 -6
- package/dist/cjs/src/server/core/XHSCBridge/cmd/builders/resilienceBuilder.js.map +1 -1
- package/dist/cjs/src/shared/logger/quickLogger.js +54 -3
- package/dist/cjs/src/shared/logger/quickLogger.js.map +1 -1
- package/dist/cjs/src/xhsc/fs/FSCore.js +106 -10
- package/dist/cjs/src/xhsc/fs/FSCore.js.map +1 -1
- package/dist/cjs/src/xhsc/fs/TempFileManager.js +178 -0
- package/dist/cjs/src/xhsc/fs/TempFileManager.js.map +1 -0
- package/dist/esm/src/index.js.map +1 -1
- package/dist/esm/src/plugins/const/XyprissTempDir.js +26 -1
- package/dist/esm/src/plugins/const/XyprissTempDir.js.map +1 -1
- package/dist/esm/src/server/ServerFactory.js +1 -0
- package/dist/esm/src/server/ServerFactory.js.map +1 -1
- package/dist/esm/src/server/core/XHSCBridge/EngineManager.js +5 -0
- package/dist/esm/src/server/core/XHSCBridge/EngineManager.js.map +1 -1
- package/dist/esm/src/server/core/XHSCBridge/cmd/buildSecurityArgs.js +2 -0
- package/dist/esm/src/server/core/XHSCBridge/cmd/buildSecurityArgs.js.map +1 -1
- package/dist/esm/src/server/core/XHSCBridge/cmd/buildUploadArgs.js +4 -1
- package/dist/esm/src/server/core/XHSCBridge/cmd/buildUploadArgs.js.map +1 -1
- package/dist/esm/src/server/core/XHSCBridge/cmd/builders/corsBuilder.js +21 -0
- package/dist/esm/src/server/core/XHSCBridge/cmd/builders/corsBuilder.js.map +1 -0
- package/dist/esm/src/server/core/XHSCBridge/cmd/builders/helmetBuilder.js +2 -1
- package/dist/esm/src/server/core/XHSCBridge/cmd/builders/helmetBuilder.js.map +1 -1
- package/dist/esm/src/server/core/XHSCBridge/cmd/builders/injectionBuilders.js +10 -9
- package/dist/esm/src/server/core/XHSCBridge/cmd/builders/injectionBuilders.js.map +1 -1
- package/dist/esm/src/server/core/XHSCBridge/cmd/builders/isFeatureEnabled.js +20 -0
- package/dist/esm/src/server/core/XHSCBridge/cmd/builders/isFeatureEnabled.js.map +1 -0
- package/dist/esm/src/server/core/XHSCBridge/cmd/builders/resilienceBuilder.js +9 -6
- package/dist/esm/src/server/core/XHSCBridge/cmd/builders/resilienceBuilder.js.map +1 -1
- package/dist/esm/src/shared/logger/quickLogger.js +54 -3
- package/dist/esm/src/shared/logger/quickLogger.js.map +1 -1
- package/dist/esm/src/xhsc/fs/FSCore.js +106 -10
- package/dist/esm/src/xhsc/fs/FSCore.js.map +1 -1
- package/dist/esm/src/xhsc/fs/TempFileManager.js +176 -0
- package/dist/esm/src/xhsc/fs/TempFileManager.js.map +1 -0
- package/dist/index.d.ts +132 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../../../src/index.ts"],"sourcesContent":[null],"names":["configLoader","XyPrissRouter"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;;;;;;;;;;;;;;;;;;;;;AAsBiF;AACjF;AAEA;AACA;
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../src/index.ts"],"sourcesContent":[null],"names":["configLoader","XyPrissRouter"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;;;;;;;;;;;;;;;;;;;;;AAsBiF;AACjF;AAEA;AACA;AAsBA;AACA,IAAI,OAAO,UAAU,KAAK,WAAW,EAAE;IACnCA,yBAAY,CAAC,qBAAqB,EAAE;AACxC;AA+BA;;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;AACN;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -48,6 +48,29 @@ function createXyprissTempDir(_p) {
|
|
|
48
48
|
* session share the same isolated scratch space.
|
|
49
49
|
*/
|
|
50
50
|
let _sessionTmpDir = null;
|
|
51
|
+
function sweepOrphanXUserTmpDirs() {
|
|
52
|
+
try {
|
|
53
|
+
const sys = getSysApi.getSysApi();
|
|
54
|
+
const xuserRoot = sys.path.join(getXyprissTempDir(), "xuser");
|
|
55
|
+
if (sys.fs.exist(xuserRoot)) {
|
|
56
|
+
const entries = sys.fs.ls(xuserRoot);
|
|
57
|
+
for (const entry of entries) {
|
|
58
|
+
const folderName = typeof entry === "string" ? entry : entry[0];
|
|
59
|
+
const fullPath = sys.path.join(xuserRoot, folderName);
|
|
60
|
+
if (_sessionTmpDir && fullPath === _sessionTmpDir) {
|
|
61
|
+
continue;
|
|
62
|
+
}
|
|
63
|
+
if (sys.fs.exist(fullPath)) {
|
|
64
|
+
try {
|
|
65
|
+
sys.fs.rm(fullPath, { force: true });
|
|
66
|
+
}
|
|
67
|
+
catch { }
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
catch { }
|
|
73
|
+
}
|
|
51
74
|
/**
|
|
52
75
|
* Returns the process-scoped user temp directory path.
|
|
53
76
|
*
|
|
@@ -63,10 +86,13 @@ function generateXUserTmpDir() {
|
|
|
63
86
|
const sys = getSysApi.getSysApi();
|
|
64
87
|
const hex = xyprissSecurity.getRandomBytes(16).slice(0, 4).toString("hex");
|
|
65
88
|
_sessionTmpDir = sys.path.join(getXyprissTempDir(), "xuser", hex);
|
|
89
|
+
// Automatically purge old orphan session folders from past crashes
|
|
90
|
+
sweepOrphanXUserTmpDirs();
|
|
66
91
|
return _sessionTmpDir;
|
|
67
92
|
}
|
|
68
93
|
|
|
69
94
|
exports.createXyprissTempDir = createXyprissTempDir;
|
|
70
95
|
exports.generateXUserTmpDir = generateXUserTmpDir;
|
|
71
96
|
exports.getXyprissTempDir = getXyprissTempDir;
|
|
97
|
+
exports.sweepOrphanXUserTmpDirs = sweepOrphanXUserTmpDirs;
|
|
72
98
|
//# sourceMappingURL=XyprissTempDir.js.map
|
|
@@ -1 +1 @@
|
|
|
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;
|
|
1
|
+
{"version":3,"file":"XyprissTempDir.js","sources":["../../../../../src/plugins/const/XyprissTempDir.ts"],"sourcesContent":[null],"names":["getSysApi","getRandomBytes"],"mappings":"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"}
|
|
@@ -119,6 +119,7 @@ function createServer(options = {}) {
|
|
|
119
119
|
// We merge these global options with each individual server's config.
|
|
120
120
|
const globalOptions = { ...options };
|
|
121
121
|
delete globalOptions.multiServer;
|
|
122
|
+
ConfigurationManager.CM.merge(globalOptions);
|
|
122
123
|
const servers = (xms || []).map((server) => {
|
|
123
124
|
// Individual server options take precedence over global ones
|
|
124
125
|
return mergeWithDefaults.mergeWithDefaults(globalOptions, server);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ServerFactory.js","sources":["../../../../src/server/ServerFactory.ts"],"sourcesContent":[null],"names":["rejectInternalFlag","configLoader","Logger","
|
|
1
|
+
{"version":3,"file":"ServerFactory.js","sources":["../../../../src/server/ServerFactory.ts"],"sourcesContent":[null],"names":["rejectInternalFlag","configLoader","Logger","Configs","mergeWithDefaults","handleWorkerMode","initializeLogger","MultiServerManager","MultiServerApp","XyServerCreator"],"mappings":";;;;;;;;;;;;AAAA;;;;;;;;;;;;;;;;;;;;;;AAsBiF;AAejF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA+DG;AACG,SAAU,YAAY,CAAC,OAAA,GAAyB,EAAE,EAAA;;IAEpDA,yCAAkB,CAAC,OAAO,CAAC;;IAG3BC,yBAAY,CAAC,qBAAqB,EAAE;AACpC,IAAAC,aAAM,CAAC,WAAW,CAAC,OAAO,CAAC,OAAO,CAAC;IACnC,MAAM,GAAG,GAAG,OAAO,EAAE,WAAW,EAAE,OAAO,CAAC;;AAG1C,IAAA,IAAI,OAAO,CAAC,WAAW,EAAE,OAAO,EAAE;;;;AAI9B,QAAA,MAAM,aAAa,GAAG,EAAE,GAAG,OAAO,EAAE;QACpC,OAAO,aAAa,CAAC,WAAW;AAEhC,QAAAC,uBAAO,CAAC,KAAK,CAAC,aAAa,CAAC;AAE5B,QAAA,MAAM,OAAO,GAAG,CAAC,GAAG,IAAI,EAAE,EAAE,GAAG,CAAC,CAAC,MAAM,KAAI;;AAEvC,YAAA,OAAOC,mCAAiB,CAAC,aAAa,EAAE,MAAa,CAAC;AAC1D,QAAA,CAAC,CAAC;AAEF,QAAA,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE;AACtB,YAAA,MAAM,IAAI,KAAK,CACX,wIAAwI,CAC3I;QACL;AAEA,QAAA,MAAM,aAAa,GAAGC,kCAAgB,CAAC,OAAO,CAAC;AAC/C,QAAAF,uBAAO,CAAC,KAAK,CAAC,aAAa,CAAC;QAC5B,MAAM,MAAM,GAAGG,uBAAgB,CAACH,uBAAO,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;AACvD,QAAA,MAAM,kBAAkB,GAAG,IAAII,qCAAkB,CAC7CJ,uBAAO,CAAC,MAAM,EAAE,EAChB,MAAM,CACT;QAED,MAAM,QAAQ,GAAG,IAAIK,6BAAc,CAC/B,kBAAkB,EAClB,OAAc,EACd,MAAM,CACT;AAED,QAAA,OAAO,QAA4B;IACvC;;AAGA,IAAA,OAAOC,+BAAe,CAAC,MAAM,CAAC,OAAO,CAAC;AAC1C;AACO,MAAM,OAAO,GAAG;AACnB,IAAA,MAAM,EAAE,YAAY;;;;;;"}
|
|
@@ -15,6 +15,7 @@ var buildUploadArgs = require('./cmd/buildUploadArgs.js');
|
|
|
15
15
|
var buildStaticArgs = require('./cmd/buildStaticArgs.js');
|
|
16
16
|
var buildConversionArgs = require('./cmd/buildConversionArgs.js');
|
|
17
17
|
var XHSC_SIGNATURE = require('../../const/XHSC_SIGNATURE.js');
|
|
18
|
+
var TempFileManager = require('../../../xhsc/fs/TempFileManager.js');
|
|
18
19
|
|
|
19
20
|
class EngineManager {
|
|
20
21
|
constructor(app, logger, runner) {
|
|
@@ -121,6 +122,10 @@ class EngineManager {
|
|
|
121
122
|
});
|
|
122
123
|
}
|
|
123
124
|
stop() {
|
|
125
|
+
try {
|
|
126
|
+
TempFileManager.TempFileManager.getInstance().cleanupAll();
|
|
127
|
+
}
|
|
128
|
+
catch { }
|
|
124
129
|
if (!this.rustPid)
|
|
125
130
|
return;
|
|
126
131
|
this.logger.warn("server", `Bridge: Stopping XHSC engine (P${this.rustPid})...`);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EngineManager.js","sources":["../../../../../../src/server/core/XHSCBridge/EngineManager.ts"],"sourcesContent":[null],"names":["Configs","__sys__","getCallerProjectRoot","identifyProjectRoot","buildCoreArgs","buildPerformanceArgs","buildNetworkArgs","buildSecurityArgs","buildClusterArgs","buildRequestArgs","buildWorkerPoolArgs","buildUploadArgs","buildStaticArgs","buildConversionArgs","XHSC_SIGNATURE","spawn"],"mappings":"
|
|
1
|
+
{"version":3,"file":"EngineManager.js","sources":["../../../../../../src/server/core/XHSCBridge/EngineManager.ts"],"sourcesContent":[null],"names":["Configs","__sys__","getCallerProjectRoot","identifyProjectRoot","buildCoreArgs","buildPerformanceArgs","buildNetworkArgs","buildSecurityArgs","buildClusterArgs","buildRequestArgs","buildWorkerPoolArgs","buildUploadArgs","buildStaticArgs","buildConversionArgs","XHSC_SIGNATURE","spawn","TempFileManager"],"mappings":"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"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
3
|
require('../../../../index.js');
|
|
4
|
+
var corsBuilder = require('./builders/corsBuilder.js');
|
|
4
5
|
var rateLimitBuilder = require('./builders/rateLimitBuilder.js');
|
|
5
6
|
var resilienceBuilder = require('./builders/resilienceBuilder.js');
|
|
6
7
|
var helmetBuilder = require('./builders/helmetBuilder.js');
|
|
@@ -17,6 +18,7 @@ function buildSecurityArgs(securityConf, rmconf, rootConf, app) {
|
|
|
17
18
|
}
|
|
18
19
|
resilienceBuilder.buildResilienceArgs(rmconf, args);
|
|
19
20
|
helmetBuilder.buildHelmetArgs(securityConf, args);
|
|
21
|
+
corsBuilder.buildCorsArgs(securityConf, args);
|
|
20
22
|
csrfBuilder.buildCsrfArgs(securityConf, args);
|
|
21
23
|
injectionBuilders.buildXssArgs(securityConf, args);
|
|
22
24
|
injectionBuilders.buildResponseManipulationArgs(rootConf, args);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"buildSecurityArgs.js","sources":["../../../../../../../src/server/core/XHSCBridge/cmd/buildSecurityArgs.ts"],"sourcesContent":[null],"names":["Configs","buildRateLimitArgs","buildResilienceArgs","buildHelmetArgs","buildCsrfArgs","buildXssArgs","buildResponseManipulationArgs","buildHppArgs","buildXxeArgs","buildSlowDownArgs","buildSqliArgs","buildCmdInjectArgs","buildPathTraversalArgs","buildLdapInjectArgs"],"mappings":"
|
|
1
|
+
{"version":3,"file":"buildSecurityArgs.js","sources":["../../../../../../../src/server/core/XHSCBridge/cmd/buildSecurityArgs.ts"],"sourcesContent":[null],"names":["Configs","buildRateLimitArgs","buildResilienceArgs","buildHelmetArgs","buildCorsArgs","buildCsrfArgs","buildXssArgs","buildResponseManipulationArgs","buildHppArgs","buildXxeArgs","buildSlowDownArgs","buildSqliArgs","buildCmdInjectArgs","buildPathTraversalArgs","buildLdapInjectArgs"],"mappings":";;;;;;;;;;;AAuBaA,uBAAO,CAAC,GAAG,CAAC,mBAAmB;AAEtC,SAAU,iBAAiB,CAC7B,YAA8B,EAC9B,MAAmB,EACnB,QAAc,EACd,GAAS,EAAA;IAET,MAAM,IAAI,GAAa,EAAE;AAEzB,IAAAC,mCAAkB,CAAC,YAAY,EAAE,IAAI,EAAE,GAAG,CAAC;IAE3C,IAAI,YAAY,IAAI,YAAY,CAAC,OAAO,KAAK,KAAK,EAAE;AAChD,QAAA,OAAO,IAAI;IACf;AAEA,IAAAC,qCAAmB,CAAC,MAAM,EAAE,IAAI,CAAC;AACjC,IAAAC,6BAAe,CAAC,YAAY,EAAE,IAAI,CAAC;AACnC,IAAAC,yBAAa,CAAC,YAAY,EAAE,IAAI,CAAC;AACjC,IAAAC,yBAAa,CAAC,YAAY,EAAE,IAAI,CAAC;AACjC,IAAAC,8BAAY,CAAC,YAAY,EAAE,IAAI,CAAC;AAChC,IAAAC,+CAA6B,CAAC,QAAQ,EAAE,IAAI,CAAC;AAC7C,IAAAC,8BAAY,CAAC,YAAY,EAAE,IAAI,CAAC;AAChC,IAAAC,8BAAY,CAAC,YAAY,EAAE,IAAI,CAAC;AAChC,IAAAC,mCAAiB,CAAC,YAAY,EAAE,IAAI,CAAC;AACrC,IAAAC,+BAAa,CAAC,YAAY,EAAE,IAAI,CAAC;AACjC,IAAAC,oCAAkB,CAAC,YAAY,EAAE,IAAI,CAAC;AACtC,IAAAC,wCAAsB,CAAC,YAAY,EAAE,IAAI,CAAC;AAC1C,IAAAC,qCAAmB,CAAC,YAAY,EAAE,IAAI,CAAC;AAEvC,IAAA,OAAO,IAAI;AACf;;;;"}
|
|
@@ -1,7 +1,10 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
3
|
function buildUploadArgs(uploadConf) {
|
|
4
|
-
|
|
4
|
+
const isEnabled = uploadConf &&
|
|
5
|
+
uploadConf.enabled !== false &&
|
|
6
|
+
(uploadConf.enabled === true || !!uploadConf.destination);
|
|
7
|
+
if (!isEnabled)
|
|
5
8
|
return [];
|
|
6
9
|
const args = [];
|
|
7
10
|
if (uploadConf.destination)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"buildUploadArgs.js","sources":["../../../../../../../src/server/core/XHSCBridge/cmd/buildUploadArgs.ts"],"sourcesContent":[null],"names":[],"mappings":";;AAAM,SAAU,eAAe,CAAC,UAAe,EAAA;IAC3C,IAAI,CAAC,UAAU,
|
|
1
|
+
{"version":3,"file":"buildUploadArgs.js","sources":["../../../../../../../src/server/core/XHSCBridge/cmd/buildUploadArgs.ts"],"sourcesContent":[null],"names":[],"mappings":";;AAAM,SAAU,eAAe,CAAC,UAAe,EAAA;IAC3C,MAAM,SAAS,GACX,UAAU;QACV,UAAU,CAAC,OAAO,KAAK,KAAK;AAC5B,SAAC,UAAU,CAAC,OAAO,KAAK,IAAI,IAAI,CAAC,CAAC,UAAU,CAAC,WAAW,CAAC;AAC7D,IAAA,IAAI,CAAC,SAAS;AAAE,QAAA,OAAO,EAAE;IAEzB,MAAM,IAAI,GAAa,EAAE;IAEzB,IAAI,UAAU,CAAC,WAAW;QACtB,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,UAAU,CAAC,WAAW,CAAC;IACrD,IAAI,UAAU,CAAC,WAAW;QACtB,IAAI,CAAC,IAAI,CAAC,mBAAmB,EAAE,UAAU,CAAC,WAAW,CAAC;AAC1D,IAAA,IAAI,UAAU,CAAC,YAAY,KAAK,SAAS;QACrC,IAAI,CAAC,IAAI,CAAC,CAAA,wBAAA,EAA2B,UAAU,CAAC,YAAY,CAAA,CAAE,CAAC;IAEnE,MAAM,WAAW,GAAG,UAAU,CAAC,WAAW,IAAI,UAAU,CAAC,MAAM,EAAE,QAAQ;IACzE,IAAI,WAAW,KAAK,SAAS;QACzB,IAAI,CAAC,IAAI,CAAC,wBAAwB,EAAE,WAAW,CAAC,QAAQ,EAAE,CAAC;IAE/D,MAAM,QAAQ,GAAG,UAAU,CAAC,QAAQ,IAAI,UAAU,CAAC,MAAM,EAAE,KAAK;IAChE,IAAI,QAAQ,KAAK,SAAS;QACtB,IAAI,CAAC,IAAI,CAAC,oBAAoB,EAAE,QAAQ,CAAC,QAAQ,EAAE,CAAC;AAExD,IAAA,IACI,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,gBAAgB,CAAC;AAC1C,QAAA,UAAU,CAAC,gBAAgB,CAAC,MAAM,GAAG,CAAC;AAEtC,QAAA,IAAI,CAAC,IAAI,CACL,wBAAwB,EACxB,UAAU,CAAC,gBAAgB,CAAC,IAAI,CAAC,GAAG,CAAC,CACxC;AAEL,IAAA,IAAI,UAAU,CAAC,SAAS,KAAK,SAAS;QAClC,IAAI,CAAC,IAAI,CAAC,CAAA,oBAAA,EAAuB,UAAU,CAAC,SAAS,CAAA,CAAE,CAAC;AAE5D,IAAA,OAAO,IAAI;AACf;;;;"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var xyprissSecurity = require('xypriss-security');
|
|
4
|
+
var isFeatureEnabled = require('./isFeatureEnabled.js');
|
|
5
|
+
|
|
6
|
+
function buildCorsArgs(securityConf, args) {
|
|
7
|
+
if (isFeatureEnabled.isFeatureEnabled(securityConf?.cors)) {
|
|
8
|
+
let userCorsOpts = typeof securityConf?.cors === "object" ? securityConf.cors : {};
|
|
9
|
+
let finalCorsOpts = { ...userCorsOpts };
|
|
10
|
+
if (finalCorsOpts.origin) {
|
|
11
|
+
if (Array.isArray(finalCorsOpts.origin)) {
|
|
12
|
+
finalCorsOpts.origin = finalCorsOpts.origin.map((o) => o instanceof RegExp ? o.toString() : String(o));
|
|
13
|
+
}
|
|
14
|
+
else if (finalCorsOpts.origin instanceof RegExp) {
|
|
15
|
+
finalCorsOpts.origin = finalCorsOpts.origin.toString();
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
args.push("--cors-config-json", Buffer.from(xyprissSecurity.XStringify(finalCorsOpts)).toString("base64"));
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
exports.buildCorsArgs = buildCorsArgs;
|
|
23
|
+
//# sourceMappingURL=corsBuilder.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"corsBuilder.js","sources":["../../../../../../../../src/server/core/XHSCBridge/cmd/builders/corsBuilder.ts"],"sourcesContent":[null],"names":["isFeatureEnabled","XStringify"],"mappings":";;;;;AAGM,SAAU,aAAa,CAAC,YAAiB,EAAE,IAAc,EAAA;AAC3D,IAAA,IAAIA,iCAAgB,CAAC,YAAY,EAAE,IAAI,CAAC,EAAE;AACtC,QAAA,IAAI,YAAY,GACZ,OAAO,YAAY,EAAE,IAAI,KAAK,QAAQ,GAAG,YAAY,CAAC,IAAI,GAAG,EAAE;AAEnE,QAAA,IAAI,aAAa,GAAQ,EAAE,GAAG,YAAY,EAAE;AAE5C,QAAA,IAAI,aAAa,CAAC,MAAM,EAAE;YACtB,IAAI,KAAK,CAAC,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,EAAE;AACrC,gBAAA,aAAa,CAAC,MAAM,GAAG,aAAa,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAM,KACnD,CAAC,YAAY,MAAM,GAAG,CAAC,CAAC,QAAQ,EAAE,GAAG,MAAM,CAAC,CAAC,CAAC,CACjD;YACL;AAAO,iBAAA,IAAI,aAAa,CAAC,MAAM,YAAY,MAAM,EAAE;gBAC/C,aAAa,CAAC,MAAM,GAAG,aAAa,CAAC,MAAM,CAAC,QAAQ,EAAE;YAC1D;QACJ;QAEA,IAAI,CAAC,IAAI,CACL,oBAAoB,EACpB,MAAM,CAAC,IAAI,CAACC,0BAAU,CAAC,aAAa,CAAC,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAC5D;IACL;AACJ;;;;"}
|
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
3
|
var xyprissSecurity = require('xypriss-security');
|
|
4
|
+
var isFeatureEnabled = require('./isFeatureEnabled.js');
|
|
4
5
|
|
|
5
6
|
function buildHelmetArgs(securityConf, args) {
|
|
6
|
-
if (securityConf?.helmet
|
|
7
|
+
if (isFeatureEnabled.isFeatureEnabled(securityConf?.helmet)) {
|
|
7
8
|
const defaultHelmetOpts = {
|
|
8
9
|
contentSecurityPolicy: {
|
|
9
10
|
directives: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"helmetBuilder.js","sources":["../../../../../../../../src/server/core/XHSCBridge/cmd/builders/helmetBuilder.ts"],"sourcesContent":[null],"names":["XStringify"],"mappings":"
|
|
1
|
+
{"version":3,"file":"helmetBuilder.js","sources":["../../../../../../../../src/server/core/XHSCBridge/cmd/builders/helmetBuilder.ts"],"sourcesContent":[null],"names":["isFeatureEnabled","XStringify"],"mappings":"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"}
|
|
@@ -2,11 +2,12 @@
|
|
|
2
2
|
|
|
3
3
|
var xyprissSecurity = require('xypriss-security');
|
|
4
4
|
require('../../../../../index.js');
|
|
5
|
+
var isFeatureEnabled = require('./isFeatureEnabled.js');
|
|
5
6
|
var normalizeRouteConfig = require('./normalizeRouteConfig.js');
|
|
6
7
|
var ConfigurationManager = require('../../../../../ConfigurationManager.js');
|
|
7
8
|
|
|
8
9
|
function buildXssArgs(securityConf, args) {
|
|
9
|
-
if (securityConf?.xss) {
|
|
10
|
+
if (isFeatureEnabled.isFeatureEnabled(securityConf?.xss)) {
|
|
10
11
|
const defaultXssOpts = {
|
|
11
12
|
enabled: true,
|
|
12
13
|
blockOnDetection: true,
|
|
@@ -33,12 +34,12 @@ function buildXssArgs(securityConf, args) {
|
|
|
33
34
|
}
|
|
34
35
|
function buildResponseManipulationArgs(rootConf, args) {
|
|
35
36
|
const responseManipulation = rootConf?.responseManipulation || ConfigurationManager.CM.get("responseManipulation");
|
|
36
|
-
if (responseManipulation
|
|
37
|
+
if (isFeatureEnabled.isFeatureEnabled(responseManipulation)) {
|
|
37
38
|
args.push("--response-manipulation-config-json", Buffer.from(xyprissSecurity.XStringify(responseManipulation)).toString("base64"));
|
|
38
39
|
}
|
|
39
40
|
}
|
|
40
41
|
function buildHppArgs(securityConf, args) {
|
|
41
|
-
if (securityConf?.hpp) {
|
|
42
|
+
if (isFeatureEnabled.isFeatureEnabled(securityConf?.hpp)) {
|
|
42
43
|
const defaultHppOpts = {
|
|
43
44
|
checkQuery: true,
|
|
44
45
|
checkBody: true,
|
|
@@ -51,7 +52,7 @@ function buildHppArgs(securityConf, args) {
|
|
|
51
52
|
}
|
|
52
53
|
}
|
|
53
54
|
function buildXxeArgs(securityConf, args) {
|
|
54
|
-
if (securityConf?.xxe) {
|
|
55
|
+
if (isFeatureEnabled.isFeatureEnabled(securityConf?.xxe)) {
|
|
55
56
|
const defaultXxeOpts = {
|
|
56
57
|
enabled: true,
|
|
57
58
|
blockOnDetection: true,
|
|
@@ -70,7 +71,7 @@ function buildXxeArgs(securityConf, args) {
|
|
|
70
71
|
}
|
|
71
72
|
}
|
|
72
73
|
function buildSlowDownArgs(securityConf, args) {
|
|
73
|
-
if (securityConf?.slowDown) {
|
|
74
|
+
if (isFeatureEnabled.isFeatureEnabled(securityConf?.slowDown)) {
|
|
74
75
|
const defaultSlowDownOpts = {
|
|
75
76
|
windowMs: 60000,
|
|
76
77
|
delayAfter: 1,
|
|
@@ -85,7 +86,7 @@ function buildSlowDownArgs(securityConf, args) {
|
|
|
85
86
|
}
|
|
86
87
|
}
|
|
87
88
|
function buildSqliArgs(securityConf, args) {
|
|
88
|
-
if (securityConf?.sqlInjection) {
|
|
89
|
+
if (isFeatureEnabled.isFeatureEnabled(securityConf?.sqlInjection)) {
|
|
89
90
|
const defaultSqliOpts = {
|
|
90
91
|
enabled: true,
|
|
91
92
|
blockOnDetection: true,
|
|
@@ -107,7 +108,7 @@ function buildSqliArgs(securityConf, args) {
|
|
|
107
108
|
}
|
|
108
109
|
}
|
|
109
110
|
function buildCmdInjectArgs(securityConf, args) {
|
|
110
|
-
if (securityConf?.commandInjection) {
|
|
111
|
+
if (isFeatureEnabled.isFeatureEnabled(securityConf?.commandInjection)) {
|
|
111
112
|
const defaultCmdInjectOpts = {
|
|
112
113
|
enabled: true,
|
|
113
114
|
blockOnDetection: true,
|
|
@@ -131,7 +132,7 @@ function buildCmdInjectArgs(securityConf, args) {
|
|
|
131
132
|
}
|
|
132
133
|
}
|
|
133
134
|
function buildPathTraversalArgs(securityConf, args) {
|
|
134
|
-
if (securityConf?.pathTraversal) {
|
|
135
|
+
if (isFeatureEnabled.isFeatureEnabled(securityConf?.pathTraversal)) {
|
|
135
136
|
const defaultPathTraversalOpts = {
|
|
136
137
|
enabled: true,
|
|
137
138
|
blockOnDetection: true,
|
|
@@ -155,7 +156,7 @@ function buildPathTraversalArgs(securityConf, args) {
|
|
|
155
156
|
}
|
|
156
157
|
}
|
|
157
158
|
function buildLdapInjectArgs(securityConf, args) {
|
|
158
|
-
if (securityConf?.ldapInjection) {
|
|
159
|
+
if (isFeatureEnabled.isFeatureEnabled(securityConf?.ldapInjection)) {
|
|
159
160
|
const defaultLdapInjectOpts = {
|
|
160
161
|
enabled: true,
|
|
161
162
|
blockOnDetection: true,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"injectionBuilders.js","sources":["../../../../../../../../src/server/core/XHSCBridge/cmd/builders/injectionBuilders.ts"],"sourcesContent":[null],"names":["normalizeRouteConfig","XStringify","Configs"],"mappings":"
|
|
1
|
+
{"version":3,"file":"injectionBuilders.js","sources":["../../../../../../../../src/server/core/XHSCBridge/cmd/builders/injectionBuilders.ts"],"sourcesContent":[null],"names":["isFeatureEnabled","normalizeRouteConfig","XStringify","Configs"],"mappings":"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"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* Helper utility to determine whether a feature configuration module is enabled.
|
|
5
|
+
* Returns false if conf is false, null, undefined, or an object with `enabled: false`.
|
|
6
|
+
* Returns true if conf is true or a truthy object where `enabled` is not false.
|
|
7
|
+
*/
|
|
8
|
+
function isFeatureEnabled(conf) {
|
|
9
|
+
if (conf === false || conf === null || conf === undefined)
|
|
10
|
+
return false;
|
|
11
|
+
if (conf === true)
|
|
12
|
+
return true;
|
|
13
|
+
if (typeof conf === "object") {
|
|
14
|
+
if (conf.enabled === false)
|
|
15
|
+
return false;
|
|
16
|
+
return true;
|
|
17
|
+
}
|
|
18
|
+
return false;
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
exports.isFeatureEnabled = isFeatureEnabled;
|
|
22
|
+
//# sourceMappingURL=isFeatureEnabled.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"isFeatureEnabled.js","sources":["../../../../../../../../src/server/core/XHSCBridge/cmd/builders/isFeatureEnabled.ts"],"sourcesContent":[null],"names":[],"mappings":";;AAAA;;;;AAIG;AACG,SAAU,gBAAgB,CAAC,IAAS,EAAA;IACtC,IAAI,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,IAAI,IAAI,IAAI,KAAK,SAAS;AAAE,QAAA,OAAO,KAAK;IACvE,IAAI,IAAI,KAAK,IAAI;AAAE,QAAA,OAAO,IAAI;AAC9B,IAAA,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE;AAC1B,QAAA,IAAI,IAAI,CAAC,OAAO,KAAK,KAAK;AAAE,YAAA,OAAO,KAAK;AACxC,QAAA,OAAO,IAAI;IACf;AACA,IAAA,OAAO,KAAK;AAChB;;;;"}
|
|
@@ -1,20 +1,23 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
+
var isFeatureEnabled = require('./isFeatureEnabled.js');
|
|
4
|
+
|
|
3
5
|
function buildResilienceArgs(rmconf, args) {
|
|
4
6
|
// Circuit breaker
|
|
5
7
|
const cb = rmconf?.resilience?.circuitBreaker;
|
|
6
|
-
if (cb) {
|
|
7
|
-
|
|
8
|
-
args.push("--breaker-enabled");
|
|
8
|
+
if (isFeatureEnabled.isFeatureEnabled(cb)) {
|
|
9
|
+
args.push("--breaker-enabled");
|
|
9
10
|
if (cb.failureThreshold)
|
|
10
11
|
args.push("--breaker-threshold", cb.failureThreshold.toString());
|
|
11
12
|
if (cb.resetTimeout)
|
|
12
13
|
args.push("--breaker-timeout", Math.ceil(cb.resetTimeout / 1000).toString());
|
|
13
14
|
}
|
|
14
15
|
// Retry
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
16
|
+
const retryConf = rmconf?.resilience?.retry;
|
|
17
|
+
const retryEnabled = rmconf?.resilience?.retryEnabled || isFeatureEnabled.isFeatureEnabled(retryConf);
|
|
18
|
+
if (retryEnabled) {
|
|
19
|
+
args.push("--retry-max", (rmconf?.resilience?.maxRetries || retryConf?.maxRetries || 3).toString());
|
|
20
|
+
args.push("--retry-delay", (rmconf?.resilience?.retryDelay || retryConf?.retryDelay || 100).toString());
|
|
18
21
|
}
|
|
19
22
|
}
|
|
20
23
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resilienceBuilder.js","sources":["../../../../../../../../src/server/core/XHSCBridge/cmd/builders/resilienceBuilder.ts"],"sourcesContent":[null],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"resilienceBuilder.js","sources":["../../../../../../../../src/server/core/XHSCBridge/cmd/builders/resilienceBuilder.ts"],"sourcesContent":[null],"names":["isFeatureEnabled"],"mappings":";;;;AAEM,SAAU,mBAAmB,CAAC,MAAW,EAAE,IAAc,EAAA;;AAE3D,IAAA,MAAM,EAAE,GAAG,MAAM,EAAE,UAAU,EAAE,cAAc;AAC7C,IAAA,IAAIA,iCAAgB,CAAC,EAAE,CAAC,EAAE;AACtB,QAAA,IAAI,CAAC,IAAI,CAAC,mBAAmB,CAAC;QAC9B,IAAI,EAAE,CAAC,gBAAgB;AACnB,YAAA,IAAI,CAAC,IAAI,CAAC,qBAAqB,EAAE,EAAE,CAAC,gBAAgB,CAAC,QAAQ,EAAE,CAAC;QACpE,IAAI,EAAE,CAAC,YAAY;AACf,YAAA,IAAI,CAAC,IAAI,CACL,mBAAmB,EACnB,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,YAAY,GAAG,IAAI,CAAC,CAAC,QAAQ,EAAE,CAC/C;IACT;;AAGA,IAAA,MAAM,SAAS,GAAG,MAAM,EAAE,UAAU,EAAE,KAAK;AAC3C,IAAA,MAAM,YAAY,GACd,MAAM,EAAE,UAAU,EAAE,YAAY,IAAIA,iCAAgB,CAAC,SAAS,CAAC;IACnE,IAAI,YAAY,EAAE;QACd,IAAI,CAAC,IAAI,CACL,aAAa,EACb,CAAC,MAAM,EAAE,UAAU,EAAE,UAAU,IAAI,SAAS,EAAE,UAAU,IAAI,CAAC,EAAE,QAAQ,EAAE,CAC5E;QACD,IAAI,CAAC,IAAI,CACL,eAAe,EACf,CAAC,MAAM,EAAE,UAAU,EAAE,UAAU,IAAI,SAAS,EAAE,UAAU,IAAI,GAAG,EAAE,QAAQ,EAAE,CAC9E;IACL;AACJ;;;;"}
|
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
+
var ConfigurationManager = require('../../ConfigurationManager.js');
|
|
4
|
+
|
|
3
5
|
/**
|
|
4
6
|
* ANSI color codes for terminal output
|
|
5
7
|
*/
|
|
@@ -55,7 +57,7 @@ const LOG_CONFIGS = {
|
|
|
55
57
|
labelColor: `${ANSI.bgRed}${ANSI.white}`,
|
|
56
58
|
},
|
|
57
59
|
debug: {
|
|
58
|
-
icon: "
|
|
60
|
+
icon: "-",
|
|
59
61
|
color: ANSI.gray,
|
|
60
62
|
label: "DEBUG",
|
|
61
63
|
labelColor: `${ANSI.bgMagenta}${ANSI.white}`,
|
|
@@ -85,6 +87,19 @@ const LOG_CONFIGS = {
|
|
|
85
87
|
labelColor: `${ANSI.bgYellow}${ANSI.black}`,
|
|
86
88
|
},
|
|
87
89
|
};
|
|
90
|
+
const LEVEL_RANK = {
|
|
91
|
+
silent: 0,
|
|
92
|
+
error: 1,
|
|
93
|
+
warn: 2,
|
|
94
|
+
info: 3,
|
|
95
|
+
success: 3,
|
|
96
|
+
http: 3,
|
|
97
|
+
swagger: 3,
|
|
98
|
+
db: 3,
|
|
99
|
+
auth: 3,
|
|
100
|
+
debug: 4,
|
|
101
|
+
verbose: 5,
|
|
102
|
+
};
|
|
88
103
|
class QuickLogger {
|
|
89
104
|
constructor(context) {
|
|
90
105
|
this.context = context;
|
|
@@ -93,11 +108,47 @@ class QuickLogger {
|
|
|
93
108
|
static for(context) {
|
|
94
109
|
return new QuickLogger(context);
|
|
95
110
|
}
|
|
96
|
-
static
|
|
97
|
-
|
|
111
|
+
static shouldLog(level) {
|
|
112
|
+
if (typeof process !== "undefined" && process.env) {
|
|
113
|
+
if (process.env.DEBUG ||
|
|
114
|
+
process.env.XYPRISS_DEBUG ||
|
|
115
|
+
process.env.DEBUG_FS) {
|
|
116
|
+
return true;
|
|
117
|
+
}
|
|
118
|
+
}
|
|
119
|
+
try {
|
|
120
|
+
const logging = ConfigurationManager.CM.get("logging");
|
|
121
|
+
if (logging) {
|
|
122
|
+
if (logging.enabled === false) {
|
|
123
|
+
return false;
|
|
124
|
+
}
|
|
125
|
+
// Check logging.types overrides
|
|
126
|
+
if (level === "error" && logging.types?.errors === false)
|
|
127
|
+
return false;
|
|
128
|
+
if (level === "warn" && logging.types?.warnings === false)
|
|
129
|
+
return false;
|
|
130
|
+
if (level === "debug" && logging.types?.debug === false)
|
|
131
|
+
return false;
|
|
132
|
+
if (level === "debug" && logging.types?.debug === true)
|
|
133
|
+
return true;
|
|
134
|
+
// Check logging.level rank
|
|
135
|
+
const configuredLevel = (logging.level || "info").toLowerCase();
|
|
136
|
+
const configuredRank = LEVEL_RANK[configuredLevel] ?? 3;
|
|
137
|
+
const messageRank = LEVEL_RANK[level] ?? 3;
|
|
138
|
+
return messageRank <= configuredRank;
|
|
139
|
+
}
|
|
140
|
+
}
|
|
141
|
+
catch { }
|
|
142
|
+
// Default ranking if no config: info level (rank 3)
|
|
143
|
+
const defaultRank = 3;
|
|
144
|
+
const messageRank = LEVEL_RANK[level] ?? 3;
|
|
145
|
+
return messageRank <= defaultRank;
|
|
98
146
|
}
|
|
99
147
|
// ─── Core log method ──────────────────────────────────────────────────────
|
|
100
148
|
log(level, ...args) {
|
|
149
|
+
if (!QuickLogger.shouldLog(level)) {
|
|
150
|
+
return;
|
|
151
|
+
}
|
|
101
152
|
const cfg = LOG_CONFIGS[level];
|
|
102
153
|
const timestamp = QuickLogger.showTimestamp
|
|
103
154
|
? `${ANSI.dim}${ANSI.gray}${new Date().toISOString()}${ANSI.reset} `
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"quickLogger.js","sources":["../../../../../src/shared/logger/quickLogger.ts"],"sourcesContent":[null],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"quickLogger.js","sources":["../../../../../src/shared/logger/quickLogger.ts"],"sourcesContent":[null],"names":["Configs"],"mappings":"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"}
|