@backtest-kit/ui 14.1.0 → 15.1.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 +273 -273
- package/build/index.cjs +28 -8
- package/build/index.mjs +28 -8
- package/build/modules/frontend/build/3rdparty/ace_1.4.12/ace.js +21337 -21337
- package/build/modules/frontend/build/3rdparty/ace_1.4.12/mode-javascript.js +797 -797
- package/build/modules/frontend/build/3rdparty/ace_1.4.12/theme-chrome.js +137 -137
- package/build/modules/frontend/build/3rdparty/ace_1.4.12/theme-twilight.js +115 -115
- package/build/modules/frontend/build/3rdparty/ace_1.4.12/worker-javascript.js +15012 -15012
- package/build/modules/frontend/build/3rdparty/qfchart_0.8.7/echarts.min.js +45 -45
- package/build/modules/frontend/build/assets/{Article-CpU7DBcT.js → Article-BbLUOulC.js} +1 -1
- package/build/modules/frontend/build/assets/{Background-DISIt7NA.js → Background-CDTP9p37.js} +1 -1
- package/build/modules/frontend/build/assets/{IconPhoto-Czod_jkW.js → IconPhoto-HzRJjN64.js} +1 -1
- package/build/modules/frontend/build/assets/{KeyboardArrowLeft-BUZ_pXI5.js → KeyboardArrowLeft-CUCkEYvJ.js} +1 -1
- package/build/modules/frontend/build/assets/{PictureAsPdfOutlined-BgifaQ0L.js → PictureAsPdfOutlined-C-gvxvB-.js} +1 -1
- package/build/modules/frontend/build/assets/{Refresh-3cixHjvW.js → Refresh-CaTTs-6v.js} +1 -1
- package/build/modules/frontend/build/assets/emitters-8dLQtS6C.js +1 -0
- package/build/modules/frontend/build/assets/{hasRouteMatch-CqJJG3sx.js → hasRouteMatch-SXqr3R6f.js} +1 -1
- package/build/modules/frontend/build/assets/{html2canvas-Ds2vwzb-.js → html2canvas-87cBQTS1.js} +1 -1
- package/build/modules/frontend/build/assets/{index-BMq2INDq.js → index-B0S0LDjw.js} +1 -1
- package/build/modules/frontend/build/assets/index-B7aH-J6E.js +1 -0
- package/build/modules/frontend/build/assets/index-BCnA_-zg.js +1 -0
- package/build/modules/frontend/build/assets/index-BPxBQtFc.js +1 -0
- package/build/modules/frontend/build/assets/{index-BI3k7b1T.js → index-BnHudNsk.js} +161 -67
- package/build/modules/frontend/build/assets/{index-C8oIDQdm.js → index-Bo3Xqg5b.js} +1 -1
- package/build/modules/frontend/build/assets/{index-CA19hrNH.js → index-C-BaXIVA.js} +1 -1
- package/build/modules/frontend/build/assets/{index-ruSh1u75.js → index-Cb6Ol44V.js} +1 -1
- package/build/modules/frontend/build/assets/index-Cd-Fw809.js +1 -0
- package/build/modules/frontend/build/assets/index-DC4vTBIw.js +1 -0
- package/build/modules/frontend/build/assets/index-HwaagyGP.js +1 -0
- package/build/modules/frontend/build/assets/{index-B1plXuf6.js → index-HyrIJdm0.js} +1 -1
- package/build/modules/frontend/build/assets/index-mYQFfqbM.js +1 -0
- package/build/modules/frontend/build/assets/{index.es-DPOJOdbj.js → index.es-B5F8LBE-.js} +1 -1
- package/build/modules/frontend/build/assets/{markdownit-C4X6Sysk.js → markdownit-BjYdF6dQ.js} +1 -1
- package/build/modules/frontend/build/index.html +87 -87
- package/build/modules/frontend/build/manifest.json +23 -23
- package/package.json +118 -118
- package/build/modules/frontend/build/assets/emitters-DmNf0ttF.js +0 -1
- package/build/modules/frontend/build/assets/index-BYiuApxW.js +0 -1
- package/build/modules/frontend/build/assets/index-BYnSX2YX.js +0 -1
- package/build/modules/frontend/build/assets/index-Cqt7co-7.js +0 -1
- package/build/modules/frontend/build/assets/index-DJ7B8Och.js +0 -1
- package/build/modules/frontend/build/assets/index-DwO4-4_F.js +0 -1
- package/build/modules/frontend/build/assets/index-VxkdhxAi.js +0 -1
- package/build/modules/frontend/build/assets/index-pxXO4P81.js +0 -1
package/build/index.mjs
CHANGED
|
@@ -41,6 +41,15 @@ router$c.get("/api/v1/health/health_check", async (req, res) => {
|
|
|
41
41
|
});
|
|
42
42
|
});
|
|
43
43
|
|
|
44
|
+
const omitValue = (value, keys) => {
|
|
45
|
+
if (isObject(value)) {
|
|
46
|
+
return omit(value, ...keys);
|
|
47
|
+
}
|
|
48
|
+
if (Array.isArray(value)) {
|
|
49
|
+
return value.map((item) => omitValue(item, keys));
|
|
50
|
+
}
|
|
51
|
+
return value;
|
|
52
|
+
};
|
|
44
53
|
function omit(obj, ...keys) {
|
|
45
54
|
const keySet = new Set(keys);
|
|
46
55
|
return Object.keys(obj).reduce((acc, key) => {
|
|
@@ -48,12 +57,7 @@ function omit(obj, ...keys) {
|
|
|
48
57
|
return acc;
|
|
49
58
|
}
|
|
50
59
|
const value = obj[key];
|
|
51
|
-
|
|
52
|
-
acc[key] = omit(value, ...keys);
|
|
53
|
-
}
|
|
54
|
-
else {
|
|
55
|
-
acc[key] = value;
|
|
56
|
-
}
|
|
60
|
+
acc[key] = omitValue(value, keys);
|
|
57
61
|
return acc;
|
|
58
62
|
}, {});
|
|
59
63
|
}
|
|
@@ -1643,7 +1647,13 @@ class ExplorerViewService {
|
|
|
1643
1647
|
if (!absPath.startsWith(dir + path.sep) && !absPath.startsWith(dir + "/") && absPath !== dir) {
|
|
1644
1648
|
throw new Error(`Path is outside of dump dir: ${nodePath}`);
|
|
1645
1649
|
}
|
|
1646
|
-
|
|
1650
|
+
// Симлинк внутри dump может указывать наружу — сверяем реальный путь
|
|
1651
|
+
const realDir = await fs.realpath(dir);
|
|
1652
|
+
const realPath = await fs.realpath(absPath);
|
|
1653
|
+
if (!realPath.startsWith(realDir + path.sep) && !realPath.startsWith(realDir + "/") && realPath !== realDir) {
|
|
1654
|
+
throw new Error(`Path is outside of dump dir: ${nodePath}`);
|
|
1655
|
+
}
|
|
1656
|
+
return await fs.readFile(realPath, "utf-8");
|
|
1647
1657
|
};
|
|
1648
1658
|
this.getTree = async () => {
|
|
1649
1659
|
this.loggerService.log("explorerViewService getTree");
|
|
@@ -1853,7 +1863,12 @@ class SymbolConnectionService {
|
|
|
1853
1863
|
symbol,
|
|
1854
1864
|
icon,
|
|
1855
1865
|
logo: logo ?? icon,
|
|
1856
|
-
|
|
1866
|
+
// -idx (not idx): with the sort's ascending-index tiebreak this keeps
|
|
1867
|
+
// symbols WITHOUT an explicit priority in their original list order.
|
|
1868
|
+
// Must match cli FrontendProviderService.MAP_SYMBOL_CONFIG_FN, which
|
|
1869
|
+
// feeds the same UI dropdown when it injects the symbol list itself;
|
|
1870
|
+
// plain `idx` reversed the fallback order relative to that path.
|
|
1871
|
+
priority: priority ?? -idx,
|
|
1857
1872
|
displayName: displayName ?? symbol,
|
|
1858
1873
|
index: idx,
|
|
1859
1874
|
...other,
|
|
@@ -5518,6 +5533,11 @@ const serveInternal = singleshot((host = CC_WWWROOT_HOST, port = CC_WWWROOT_PORT
|
|
|
5518
5533
|
});
|
|
5519
5534
|
server.addListener("error", (err) => {
|
|
5520
5535
|
console.error("Server error:", err);
|
|
5536
|
+
// Сервер не поднялся — сбрасываем singleshot, иначе повторный serve()
|
|
5537
|
+
// вернёт мёртвый инстанс и слушать порт больше никто не попробует
|
|
5538
|
+
if (!server.listening) {
|
|
5539
|
+
serveInternal.clear();
|
|
5540
|
+
}
|
|
5521
5541
|
callback && callback(err);
|
|
5522
5542
|
});
|
|
5523
5543
|
server.maxConnections = MAX_CONNECTIONS;
|