@lcap/nasl 4.1.0-beta.12 → 4.1.0-beta.14
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/out/generator/genBundleFiles.d.ts.map +1 -1
- package/out/generator/genBundleFiles.js +6 -87
- package/out/generator/genBundleFiles.js.map +1 -1
- package/out/generator/permission.d.ts.map +1 -1
- package/out/generator/permission.js +66 -32
- package/out/generator/permission.js.map +1 -1
- package/out/generator/release-body/body.js +1 -1
- package/out/generator/release-body/body.js.map +1 -1
- package/out/server/client/nasl-server-client.d.ts +7 -0
- package/out/server/client/nasl-server-client.d.ts.map +1 -0
- package/out/server/client/nasl-server-client.js +9 -0
- package/out/server/client/nasl-server-client.js.map +1 -0
- package/out/server/extendBaseNode.d.ts.map +1 -1
- package/out/server/extendBaseNode.js +16 -8
- package/out/server/extendBaseNode.js.map +1 -1
- package/out/server/naslServer.d.ts +5 -0
- package/out/server/naslServer.d.ts.map +1 -1
- package/out/server/naslServer.js +50 -29
- package/out/server/naslServer.js.map +1 -1
- package/out/service/storage/init.d.ts.map +1 -1
- package/out/service/storage/init.js +23 -17
- package/out/service/storage/init.js.map +1 -1
- package/package.json +10 -10
package/out/server/naslServer.js
CHANGED
|
@@ -60,25 +60,7 @@ const decorators_1 = require("../decorators");
|
|
|
60
60
|
const nasl_concepts_1 = require("@lcap/nasl-concepts");
|
|
61
61
|
const nasl_language_server_core_1 = require("@lcap/nasl-language-server-core");
|
|
62
62
|
const findReference_1 = require("./findReference");
|
|
63
|
-
const
|
|
64
|
-
'textField',
|
|
65
|
-
'valueField',
|
|
66
|
-
'iconField',
|
|
67
|
-
'toField',
|
|
68
|
-
'parentField',
|
|
69
|
-
'childrenField',
|
|
70
|
-
'hasChildrenField',
|
|
71
|
-
'field',
|
|
72
|
-
'idField',
|
|
73
|
-
'titleField',
|
|
74
|
-
'closableField',
|
|
75
|
-
'descriptionField',
|
|
76
|
-
'expandedField',
|
|
77
|
-
'disabledField',
|
|
78
|
-
'nameField',
|
|
79
|
-
'labelField',
|
|
80
|
-
'sortField'
|
|
81
|
-
];
|
|
63
|
+
const nasl_server_client_1 = require("./client/nasl-server-client");
|
|
82
64
|
const SentryMessager = (0, nasl_sentry_1.sentryMonitorTSWorkerMessager)(Messager_1.default);
|
|
83
65
|
// naslStdlib文件缓存;作为全局变量给多实例用复用
|
|
84
66
|
const __naslStdlibFileCacheMap = new Map();
|
|
@@ -406,7 +388,7 @@ let NaslServer = NaslServer_1 = class NaslServer {
|
|
|
406
388
|
rawApp.emit('collect:end');
|
|
407
389
|
this.semData.isFirstScreen = false;
|
|
408
390
|
this.semEnv.allocatedVEQNames.forEach(n => {
|
|
409
|
-
this.semEnv.refMgr.
|
|
391
|
+
this.semEnv.refMgr.gQNameDefs.delete(n);
|
|
410
392
|
});
|
|
411
393
|
this.semEnv.allocatedVEQNames.length = 0;
|
|
412
394
|
for (const value of this.cachedEventPayloadValues) {
|
|
@@ -1651,11 +1633,7 @@ let NaslServer = NaslServer_1 = class NaslServer {
|
|
|
1651
1633
|
const { parentNode } = nd;
|
|
1652
1634
|
const semEnv = NaslServer_1.toRaw(this.semEnv);
|
|
1653
1635
|
let result = wrapRefs(semEnv.refMgr.getReferences(semEnv, nd));
|
|
1654
|
-
if (nd.concept === '
|
|
1655
|
-
const refMemAddrs = semEnv.refMgr.getViewElementRefs(semEnv, nd);
|
|
1656
|
-
result.push(...wrapRefs(refMemAddrs));
|
|
1657
|
-
}
|
|
1658
|
-
else if (nd.concept === 'ProcessElementV2') {
|
|
1636
|
+
if (nd.concept === 'ProcessElementV2') {
|
|
1659
1637
|
const refMemAddrs = semEnv.refMgr.getProcessElementRefs(semEnv, nd);
|
|
1660
1638
|
result.push(...wrapRefs(refMemAddrs));
|
|
1661
1639
|
}
|
|
@@ -1668,7 +1646,15 @@ let NaslServer = NaslServer_1 = class NaslServer {
|
|
|
1668
1646
|
}
|
|
1669
1647
|
}
|
|
1670
1648
|
}
|
|
1671
|
-
else if (
|
|
1649
|
+
else if (nd.concept === 'BindEvent') {
|
|
1650
|
+
// v4.1 新增 绑定事件 改类型,需要把 事件逻辑的引用,全部迁移过去
|
|
1651
|
+
// v4.1 修改:logics 其实只能有一个
|
|
1652
|
+
if (nd.logics[0].concept === 'Logic') {
|
|
1653
|
+
const eventLogicRefs = semEnv.refMgr.getReferences(semEnv, nd.logics[0]);
|
|
1654
|
+
result.push(...wrapRefs(eventLogicRefs));
|
|
1655
|
+
}
|
|
1656
|
+
}
|
|
1657
|
+
else if (nd.concept === 'Param' || nd.concept === 'ParamWithGroup') {
|
|
1672
1658
|
// 调用处的 keyword = XXX 等也要修改,所以查 Logic、View 等的引用
|
|
1673
1659
|
const pNode = NaslServer_1.toRaw(parentNode);
|
|
1674
1660
|
if ((0, nasl_language_server_core_1.isCallableNaslLogic)(pNode) || concepts_1.asserts.isStrictView(pNode)) {
|
|
@@ -1715,6 +1701,22 @@ let NaslServer = NaslServer_1 = class NaslServer {
|
|
|
1715
1701
|
const minRange = {
|
|
1716
1702
|
...record,
|
|
1717
1703
|
};
|
|
1704
|
+
// 搞事情:v4.1 新增 绑定事件 改类型,需要把 事件逻辑的引用,全部迁移过去
|
|
1705
|
+
if (nd.concept === 'BindEvent') {
|
|
1706
|
+
if (minRange.node.concept === 'Identifier') {
|
|
1707
|
+
/**
|
|
1708
|
+
* 使用正则替换倒数第二个点和倒数第一个点之间的内容
|
|
1709
|
+
* 例如 elements.button_1.bindEvents.XXX.logics -> elements.button_1.bindEvents.YYY.logics
|
|
1710
|
+
*/
|
|
1711
|
+
minRange.newValue = minRange.node.namespace.replace(/(\.bindEvents\.)([^.]+)(\.logics)$/, `$1${newValue}$3`);
|
|
1712
|
+
minRange.setTypeMethods = 'setNamespace';
|
|
1713
|
+
}
|
|
1714
|
+
else if (minRange.node === nd) {
|
|
1715
|
+
// 自己
|
|
1716
|
+
minRange.newValue = newValue;
|
|
1717
|
+
minRange.setTypeMethods = 'setName';
|
|
1718
|
+
}
|
|
1719
|
+
}
|
|
1718
1720
|
// 节点上ts临时变量标识,如果有这个就不rename
|
|
1719
1721
|
if (minRange.node?.noTsReName) {
|
|
1720
1722
|
return null;
|
|
@@ -1748,6 +1750,22 @@ let NaslServer = NaslServer_1 = class NaslServer {
|
|
|
1748
1750
|
}
|
|
1749
1751
|
// 如果匹配到的节点是Identifier表达式
|
|
1750
1752
|
if (minRange.node instanceof concepts_1.Identifier) {
|
|
1753
|
+
/**
|
|
1754
|
+
* v4.1 新增 Identifier 可能是 页面元素 的事件逻辑 Logic 的引用 或 逻辑的引用
|
|
1755
|
+
* 页面元素 改名后,这个 Identifier 的 namespace 中间的元素名需要修改
|
|
1756
|
+
*/
|
|
1757
|
+
if (nd.concept === 'ViewElement') {
|
|
1758
|
+
minRange.setTypeMethods = 'setNamespace';
|
|
1759
|
+
/**
|
|
1760
|
+
* 使用正则替换第二个点和第三个点之间的内容
|
|
1761
|
+
* 例如 elements.XXX.bindEvents.click.logics -> elements.YYY.bindEvents.click.logics
|
|
1762
|
+
*/
|
|
1763
|
+
const parts = minRange.node.namespace.split('.');
|
|
1764
|
+
if (parts.length >= 1) {
|
|
1765
|
+
parts[1] = newValue;
|
|
1766
|
+
minRange.newValue = parts.join('.');
|
|
1767
|
+
}
|
|
1768
|
+
}
|
|
1751
1769
|
// 如果参数修改影响了Identifier, 就说明是上一级逻辑的引用,所以就直接过滤掉就好了
|
|
1752
1770
|
if (nd instanceof concepts_1.Param && minRange.node?.namespace?.endsWith('logics')) {
|
|
1753
1771
|
return null;
|
|
@@ -1826,7 +1844,7 @@ let NaslServer = NaslServer_1 = class NaslServer {
|
|
|
1826
1844
|
minRange.setTypeMethods = 'setUrlValue';
|
|
1827
1845
|
minRange.newValue = newTextValue;
|
|
1828
1846
|
}
|
|
1829
|
-
else if (minRange.node instanceof concepts_1.BindAttribute &&
|
|
1847
|
+
else if (minRange.node instanceof concepts_1.BindAttribute && nasl_language_server_core_1.specialStringRefs.includes(minRange.node.name)) {
|
|
1830
1848
|
// eslint-disable-next-line no-confusing-arrow
|
|
1831
1849
|
minRange.newValue = (minRange.node.value ?? '').split('.').map((v, i) => i ? v : newValue.charAt(0).toLowerCase() + newValue.slice(1)).join('.');
|
|
1832
1850
|
minRange.setTypeMethods = 'setValue';
|
|
@@ -1865,7 +1883,7 @@ let NaslServer = NaslServer_1 = class NaslServer {
|
|
|
1865
1883
|
// 如果要修改实体属性
|
|
1866
1884
|
if (nd instanceof concepts_1.EntityProperty) {
|
|
1867
1885
|
// 如果是修改实体属性,要同步绑定属性(属性名为 valueField / textField)
|
|
1868
|
-
if (minRange.node instanceof concepts_1.BindAttribute &&
|
|
1886
|
+
if (minRange.node instanceof concepts_1.BindAttribute && nasl_language_server_core_1.specialStringRefs.includes(minRange.node.name)) {
|
|
1869
1887
|
// eslint-disable-next-line no-confusing-arrow
|
|
1870
1888
|
minRange.newValue = (minRange.node.value ?? '').split('.').slice(0, -1).concat(newValue).join('.');
|
|
1871
1889
|
minRange.setTypeMethods = 'setValue';
|
|
@@ -3314,7 +3332,7 @@ let NaslServer = NaslServer_1 = class NaslServer {
|
|
|
3314
3332
|
this.typerErrRecords.length = 0;
|
|
3315
3333
|
this.oqlRemoveNodesTsPath.clear();
|
|
3316
3334
|
this.semEnv.allocatedVEQNames.forEach(n => {
|
|
3317
|
-
this.semEnv.refMgr.
|
|
3335
|
+
this.semEnv.refMgr.gQNameDefs.delete(n);
|
|
3318
3336
|
});
|
|
3319
3337
|
this.semEnv.allocatedVEQNames.length = 0;
|
|
3320
3338
|
this.originProxyTargetNodes.clear();
|
|
@@ -3601,6 +3619,9 @@ let NaslServer = NaslServer_1 = class NaslServer {
|
|
|
3601
3619
|
ctxProcessV2?.getSubLogics();
|
|
3602
3620
|
});
|
|
3603
3621
|
}
|
|
3622
|
+
async getClient() {
|
|
3623
|
+
return (0, nasl_server_client_1.getNaslServerClient)(this);
|
|
3624
|
+
}
|
|
3604
3625
|
};
|
|
3605
3626
|
exports.NaslServer = NaslServer;
|
|
3606
3627
|
__decorate([
|