@lcap/nasl 4.4.1-rc.5 → 4.4.2-rc.2

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.
Files changed (121) hide show
  1. package/out/index.d.ts +1 -1
  2. package/out/index.d.ts.map +1 -1
  3. package/out/index.js +2 -1
  4. package/out/index.js.map +1 -1
  5. package/out/natural/exports/nasl2Files.d.ts.map +1 -1
  6. package/out/natural/exports/nasl2Files.js +32 -1
  7. package/out/natural/exports/nasl2Files.js.map +1 -1
  8. package/out/natural/exports/transform2BatchActions/apply.d.ts +11 -0
  9. package/out/natural/exports/transform2BatchActions/apply.d.ts.map +1 -0
  10. package/out/natural/exports/transform2BatchActions/apply.js +68 -0
  11. package/out/natural/exports/transform2BatchActions/apply.js.map +1 -0
  12. package/out/natural/exports/transform2BatchActions/diff/directories.d.ts +17 -0
  13. package/out/natural/exports/transform2BatchActions/diff/directories.d.ts.map +1 -0
  14. package/out/natural/exports/transform2BatchActions/diff/directories.js +215 -0
  15. package/out/natural/exports/transform2BatchActions/diff/directories.js.map +1 -0
  16. package/out/natural/exports/transform2BatchActions/diff/index.d.ts +21 -0
  17. package/out/natural/exports/transform2BatchActions/diff/index.d.ts.map +1 -0
  18. package/out/natural/exports/transform2BatchActions/diff/index.js +20 -0
  19. package/out/natural/exports/transform2BatchActions/diff/index.js.map +1 -0
  20. package/out/natural/exports/transform2BatchActions/diff/nodes.d.ts +162 -0
  21. package/out/natural/exports/transform2BatchActions/diff/nodes.d.ts.map +1 -0
  22. package/out/natural/exports/transform2BatchActions/diff/nodes.js +464 -0
  23. package/out/natural/exports/transform2BatchActions/diff/nodes.js.map +1 -0
  24. package/out/natural/exports/transform2BatchActions/diff/roles.d.ts +18 -0
  25. package/out/natural/exports/transform2BatchActions/diff/roles.d.ts.map +1 -0
  26. package/out/natural/exports/transform2BatchActions/diff/roles.js +52 -0
  27. package/out/natural/exports/transform2BatchActions/diff/roles.js.map +1 -0
  28. package/out/natural/exports/transform2BatchActions/index.d.ts +41 -0
  29. package/out/natural/exports/transform2BatchActions/index.d.ts.map +1 -0
  30. package/out/natural/exports/transform2BatchActions/index.js +61 -0
  31. package/out/natural/exports/transform2BatchActions/index.js.map +1 -0
  32. package/out/natural/exports/transform2BatchActions/parse.d.ts +24 -0
  33. package/out/natural/exports/transform2BatchActions/parse.d.ts.map +1 -0
  34. package/out/natural/exports/transform2BatchActions/parse.js +234 -0
  35. package/out/natural/exports/transform2BatchActions/parse.js.map +1 -0
  36. package/out/natural/exports/transform2BatchActions/types.d.ts +147 -0
  37. package/out/natural/exports/transform2BatchActions/types.d.ts.map +1 -0
  38. package/out/natural/exports/transform2BatchActions/types.js +7 -0
  39. package/out/natural/exports/transform2BatchActions/types.js.map +1 -0
  40. package/out/natural/old/parser/transformTSCode.js +1 -1
  41. package/out/natural/old/parser/transformTSCode.js.map +1 -1
  42. package/out/natural/parser/parseNaturalTS.d.ts.map +1 -1
  43. package/out/natural/parser/parseNaturalTS.js +61 -1
  44. package/out/natural/parser/parseNaturalTS.js.map +1 -1
  45. package/out/natural/parser/parseNaturalTSXView.d.ts.map +1 -1
  46. package/out/natural/parser/parseNaturalTSXView.js +55 -6
  47. package/out/natural/parser/parseNaturalTSXView.js.map +1 -1
  48. package/out/natural/transforms/checker/checkIdentifierName.d.ts +6 -0
  49. package/out/natural/transforms/checker/checkIdentifierName.d.ts.map +1 -0
  50. package/out/natural/transforms/checker/checkIdentifierName.js +15 -0
  51. package/out/natural/transforms/checker/checkIdentifierName.js.map +1 -0
  52. package/out/natural/transforms/checker/checkViewElement.d.ts.map +1 -1
  53. package/out/natural/transforms/checker/checkViewElement.js +2 -0
  54. package/out/natural/transforms/checker/checkViewElement.js.map +1 -1
  55. package/out/natural/transforms/checker/index.d.ts +1 -0
  56. package/out/natural/transforms/checker/index.d.ts.map +1 -1
  57. package/out/natural/transforms/checker/index.js +3 -1
  58. package/out/natural/transforms/checker/index.js.map +1 -1
  59. package/out/natural/transforms/transform2Config.d.ts +17 -0
  60. package/out/natural/transforms/transform2Config.d.ts.map +1 -0
  61. package/out/natural/transforms/transform2Config.js +114 -0
  62. package/out/natural/transforms/transform2Config.js.map +1 -0
  63. package/out/natural/transforms/transform2GlobalLogicDeclaration.d.ts.map +1 -1
  64. package/out/natural/transforms/transform2GlobalLogicDeclaration.js +4 -1
  65. package/out/natural/transforms/transform2GlobalLogicDeclaration.js.map +1 -1
  66. package/out/natural/transforms/transform2Logic.d.ts.map +1 -1
  67. package/out/natural/transforms/transform2Logic.js +6 -12
  68. package/out/natural/transforms/transform2Logic.js.map +1 -1
  69. package/out/natural/transforms/transform2LogicItem.d.ts +1 -0
  70. package/out/natural/transforms/transform2LogicItem.d.ts.map +1 -1
  71. package/out/natural/transforms/transform2LogicItem.js +64 -32
  72. package/out/natural/transforms/transform2LogicItem.js.map +1 -1
  73. package/out/natural/transforms/transform2Param.d.ts +1 -1
  74. package/out/natural/transforms/transform2Param.d.ts.map +1 -1
  75. package/out/natural/transforms/transform2Param.js +19 -1
  76. package/out/natural/transforms/transform2Param.js.map +1 -1
  77. package/out/natural/transforms/transform2Roles.d.ts +3 -0
  78. package/out/natural/transforms/transform2Roles.d.ts.map +1 -0
  79. package/out/natural/transforms/transform2Roles.js +30 -0
  80. package/out/natural/transforms/transform2Roles.js.map +1 -0
  81. package/out/natural/transforms/transform2TypeAnnotation.d.ts.map +1 -1
  82. package/out/natural/transforms/transform2TypeAnnotation.js +8 -4
  83. package/out/natural/transforms/transform2TypeAnnotation.js.map +1 -1
  84. package/out/natural/transforms/transform2Variable.d.ts.map +1 -1
  85. package/out/natural/transforms/transform2Variable.js +4 -0
  86. package/out/natural/transforms/transform2Variable.js.map +1 -1
  87. package/out/natural/transforms/utils/flattenStatementsWithComments.d.ts +11 -0
  88. package/out/natural/transforms/utils/flattenStatementsWithComments.d.ts.map +1 -0
  89. package/out/natural/transforms/utils/flattenStatementsWithComments.js +36 -0
  90. package/out/natural/transforms/utils/flattenStatementsWithComments.js.map +1 -0
  91. package/out/natural/transforms/utils/parseDecorator.d.ts +2 -2
  92. package/out/natural/transforms/utils/parseDecorator.d.ts.map +1 -1
  93. package/out/natural/transforms/utils/parseDecorator.js +8 -5
  94. package/out/natural/transforms/utils/parseDecorator.js.map +1 -1
  95. package/out/natural/utils/index.d.ts +5 -0
  96. package/out/natural/utils/index.d.ts.map +1 -1
  97. package/out/natural/utils/index.js +11 -1
  98. package/out/natural/utils/index.js.map +1 -1
  99. package/out/natural/utils/nasl-file-types.d.ts +6 -1
  100. package/out/natural/utils/nasl-file-types.d.ts.map +1 -1
  101. package/out/natural/utils/nasl-file-types.js +49 -2
  102. package/out/natural/utils/nasl-file-types.js.map +1 -1
  103. package/out/server/extendBaseNode.d.ts.map +1 -1
  104. package/out/server/extendBaseNode.js +8 -3
  105. package/out/server/extendBaseNode.js.map +1 -1
  106. package/out/service/instruct-ruler/ruler.d.ts +3 -1
  107. package/out/service/instruct-ruler/ruler.d.ts.map +1 -1
  108. package/out/service/instruct-ruler/ruler.js +2 -1
  109. package/out/service/instruct-ruler/ruler.js.map +1 -1
  110. package/out/service/storage/init.d.ts +5 -0
  111. package/out/service/storage/init.d.ts.map +1 -1
  112. package/out/service/storage/init.js +2 -1
  113. package/out/service/storage/init.js.map +1 -1
  114. package/out/service/storage/specTools.js +2 -2
  115. package/out/service/storage/specTools.js.map +1 -1
  116. package/package.json +10 -9
  117. package/sandbox/stdlib/nasl.util.ts +16 -15
  118. package/out/natural/exports/transform2BatchActions.d.ts +0 -114
  119. package/out/natural/exports/transform2BatchActions.d.ts.map +0 -1
  120. package/out/natural/exports/transform2BatchActions.js +0 -1233
  121. package/out/natural/exports/transform2BatchActions.js.map +0 -1
@@ -4,10 +4,12 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.transformCall2Interface = exports.transformAlert2ShowMessage = exports.transformForEach2ForEachStatement = exports.transformForOf2ForEachStatement = exports.transform2ForEachStatement = exports.transformMap2ListTransform = exports.transform2UIFunction = exports.transformCall2CallFunction = exports.transform2CallFunction = exports.transform2CallOtherNASLLogic = exports.transform2CallEventLogic = exports.transformCall2JSONFunctions = exports.transformCall2Logging = exports.transformCall2ConsoleLog = exports.transformCall2CallDataSourceLogic = exports.transformCall2CallEntityLogic = exports.transformCall2CallViewElementLogic = exports.transformCallFunctionExpression2Match = exports.transformMemberExpression = exports.transformNewExpression = exports.transform2NewRegex = exports.transform2PartialNewComposite = exports.transform2Comment = exports.transform2StringInterpolation = exports.transformReturnStatement2AssignmentOrEnd = exports.transform2NullLiteral = exports.transform2NumericLiteral = exports.transform2DirectiveLiteral = exports.transform2StringLiteral = exports.transform2BooleanLiteral = exports.transformUpdateExpression2Assignment = exports.transform2Assignment = exports.transform2AnonymousFunction = exports.transformIdentifier = exports.transformSwitchStatement2Match = exports.transform2WhileStatement = exports.transform2Break = exports.transform2Continue = exports.transform2IfStatement = exports.transform2BinaryExpression = exports.transform2VariadicExpression = exports.transformCallExpressionToBinaryExpression = exports.fixLogicNode = exports.flatIfStatementForMatch = exports.flatMatchPatternsExpression = exports.getSelectMembers = exports.unflatMemberExpression = exports.flatMemberExpression = exports.fixExpression = exports.TransformManager = void 0;
7
- exports.transform2LogicItem = exports.transform2DefaultValue = exports.transformNode2Directory = exports.transformCall2Paginate = exports.transformCall2LogicWithAuth = exports.transformCall2Logic = exports.transformCall2CallViewLogic = exports.transformCall2Extension = exports.transformCall2Connector = void 0;
7
+ exports.transform2LogicItem = exports.transform2DefaultValue = exports.transformNode2Directory = exports.transformCall2Paginate = exports.transformCall2GetCustomConfig = exports.transformCall2LogicWithAuth = exports.transformCall2Logic = exports.transformCall2CallViewLogic = exports.transformCall2Extension = exports.transformCall2Connector = void 0;
8
8
  const utils_1 = require("../utils");
9
9
  const misc_1 = require("./utils/misc");
10
+ const flattenStatementsWithComments_1 = require("./utils/flattenStatementsWithComments");
10
11
  const checkDataQueryCalleeNameOrder_1 = require("./checker/checkDataQueryCalleeNameOrder");
12
+ const checkIdentifierName_1 = require("./checker/checkIdentifierName");
11
13
  const transform2TypeAnnotation_1 = require("./transform2TypeAnnotation");
12
14
  const transform2Param_1 = require("./transform2Param");
13
15
  const server_1 = __importDefault(require("../../server"));
@@ -80,23 +82,13 @@ function transformTSCode2SubLogic(node, options) {
80
82
  statements = [...node?.body?.directives, ...node?.body?.body];
81
83
  }
82
84
  parameters.forEach((node) => {
83
- const param = (0, transform2Param_1.transform2Param)(node, options);
85
+ const param = (0, transform2Param_1.transform2Param)(node, options, undefined, true);
84
86
  if (param && !param?.typeAnnotation) {
85
87
  param.typeAnnotation = null;
86
88
  }
87
89
  param && logic.addParam(param);
88
90
  });
89
- const newStatements = [];
90
- statements.forEach((node, index) => {
91
- if (node?.leadingComments?.length) {
92
- newStatements.push(...node?.leadingComments);
93
- }
94
- if (node?.trailingComments?.length && index === statements.length - 1) {
95
- newStatements.push(...node?.trailingComments);
96
- }
97
- newStatements.push(node);
98
- });
99
- statements = newStatements;
91
+ statements = (0, flattenStatementsWithComments_1.flattenStatementsWithComments)(statements);
100
92
  const body = statements.map((node) => transformNodeFunction(node, {
101
93
  ...options,
102
94
  logic,
@@ -592,6 +584,7 @@ function transform2ArrayPattern(decl, options) {
592
584
  if (element.type === 'Identifier') {
593
585
  const varTypeAnnotation = element.typeAnnotation?.typeAnnotation;
594
586
  if (options.transformType === 'logic') {
587
+ (0, checkIdentifierName_1.checkIdentifierName)(element.name, '变量', options, element);
595
588
  options.logic.variables.push(new utils_1.naslTypes.Variable({
596
589
  name: element.name,
597
590
  typeAnnotation: varTypeAnnotation && (0, transform2TypeAnnotation_1.transform2TypeAnnotation)(varTypeAnnotation, options) || undefined,
@@ -636,6 +629,7 @@ function transform2VariableAndAddAssignment(node, options) {
636
629
  }
637
630
  let typeAnnotation;
638
631
  if (options.transformType === 'logic' && ![...options.logic.variables, ...options.logic.returns].some((variable) => variable.name === variableName)) {
632
+ (0, checkIdentifierName_1.checkIdentifierName)(variableName, '变量', options, decl.id);
639
633
  const varTypeAnnotation = decl.id.typeAnnotation?.typeAnnotation;
640
634
  typeAnnotation = varTypeAnnotation && (0, transform2TypeAnnotation_1.transform2TypeAnnotation)(varTypeAnnotation, options) || undefined;
641
635
  const variable = new utils_1.naslTypes.Variable({
@@ -680,15 +674,7 @@ function flatCommentWithNode(node) {
680
674
  newNodeList = [...node?.innerComments];
681
675
  }
682
676
  if (node?.body?.length) {
683
- node?.body.forEach((item, index) => {
684
- if (item?.leadingComments?.length) {
685
- newNodeList.push(...item?.leadingComments);
686
- }
687
- if (item?.trailingComments?.length && index === node?.body.length - 1) {
688
- newNodeList.push(...item?.trailingComments);
689
- }
690
- newNodeList.push(item);
691
- });
677
+ newNodeList.push(...(0, flattenStatementsWithComments_1.flattenStatementsWithComments)(node.body));
692
678
  }
693
679
  return newNodeList;
694
680
  }
@@ -1005,16 +991,24 @@ function transform2StringInterpolation(node, options) {
1005
991
  });
1006
992
  }
1007
993
  exports.transform2StringInterpolation = transform2StringInterpolation;
994
+ function transformRequire2JSBlock(node, calleeName, callee, options) {
995
+ const arg0 = node.arguments[0].value;
996
+ const filename = arg0.replace('./tmp/', '');
997
+ return new utils_1.naslTypes.JSBlock({ code: options.externalFiles?.get(filename) ?? '' });
998
+ }
1008
999
  function transform2Comment(node, options) {
1009
1000
  if (node.type === 'EmptyStatement') {
1010
1001
  if (node?.leadingComments) {
1011
- const newValue = node?.leadingComments?.[0]?.value?.replace(/\n/g, '<br>');
1002
+ // trim() 防止 Babel 解析 /* ... */ 时将内侧空格存入 value
1003
+ // 导致每次 files2nasl → nasl2files 轮回后注释空格累积 +1
1004
+ const newValue = node?.leadingComments?.[0]?.value?.trim().replace(/\n/g, '<br>');
1012
1005
  return new utils_1.naslTypes.Comment({
1013
1006
  value: String(newValue),
1014
1007
  });
1015
1008
  }
1016
1009
  }
1017
- const newValue = node?.value?.replace(/\n/g, '<br>');
1010
+ // trim() 同上,防止空格在每次 prepare-src 轮回中递增
1011
+ const newValue = node?.value?.trim().replace(/\n/g, '<br>');
1018
1012
  return new utils_1.naslTypes.Comment({
1019
1013
  value: String(newValue || ''),
1020
1014
  });
@@ -1258,6 +1252,14 @@ function transformMemberExpression(node, options) {
1258
1252
  return newNode;
1259
1253
  }
1260
1254
  }
1255
+ const configPropertyRegex = /^(app|extensions\.\w+)\.configuration\.(?:groups\.)?(\w+)\.(?:properties\.)?(\w+)$/;
1256
+ if (configPropertyRegex.test(calleeName)) {
1257
+ const [, prefix, groupName, propName] = calleeName.match(configPropertyRegex);
1258
+ return new utils_1.naslTypes.Identifier({
1259
+ namespace: `${prefix}.configuration.groups.${groupName}.properties`,
1260
+ name: propName,
1261
+ });
1262
+ }
1261
1263
  if (node.property.type === 'NumericLiteral' || node?.property?.type === 'BinaryExpression') {
1262
1264
  return new utils_1.naslTypes.CallFunction({
1263
1265
  calleeNamespace: 'nasl.util',
@@ -1680,11 +1682,6 @@ function transform2CallFunction(node, calleeName, argument, options) {
1680
1682
  });
1681
1683
  }
1682
1684
  }
1683
- if (calleeName === 'Convert' && !newTypeArguments) {
1684
- newTypeArguments = [
1685
- new utils_1.naslTypes.TypeAnnotation()
1686
- ];
1687
- }
1688
1685
  if (calleeName === 'FromString') {
1689
1686
  if (newTypeArguments?.[0]?.typeName === 'Time' && newArguments?.[0]?.expression?.concept === 'StringLiteral') {
1690
1687
  const timeValue = newArguments?.[0]?.expression?.value;
@@ -1859,8 +1856,15 @@ function transformCall2CallFunction(node, calleeName, callee, options) {
1859
1856
  return transform2CallFunction(node, curCalleeName, argument, options);
1860
1857
  }
1861
1858
  exports.transformCall2CallFunction = transformCall2CallFunction;
1859
+ const SUPPORTED_NASL_UI_FUNCTIONS = ['showMessage', 'destination', 'gotoLink'];
1862
1860
  function transform2UIFunction(node, calleeName, callee, options) {
1863
- if (callee[2].name === 'destination') {
1861
+ const uiFunctionName = callee[2].name;
1862
+ if (!SUPPORTED_NASL_UI_FUNCTIONS.includes(uiFunctionName)) {
1863
+ return (0, utils_1.throwError)(options, `nasl.ui 仅支持 ${SUPPORTED_NASL_UI_FUNCTIONS.map((f) => `nasl.ui.${f}`).join('、')},不支持 nasl.ui.${uiFunctionName}`, node);
1864
+ }
1865
+ if (uiFunctionName === 'destination') {
1866
+ if (!node.arguments[0])
1867
+ return (0, utils_1.throwError)(options, 'nasl.ui.destination 缺少目标页面参数', node);
1864
1868
  let namespaceNode = node.arguments[0];
1865
1869
  let namespace = '';
1866
1870
  if (namespaceNode.type === 'TemplateLiteral') {
@@ -1906,7 +1910,9 @@ function transform2UIFunction(node, calleeName, callee, options) {
1906
1910
  arguments: argument,
1907
1911
  });
1908
1912
  }
1909
- if (callee[2].name === 'gotoLink') {
1913
+ if (uiFunctionName === 'gotoLink') {
1914
+ if (!node.arguments[0])
1915
+ return (0, utils_1.throwError)(options, 'nasl.ui.gotoLink 缺少链接参数', node);
1910
1916
  return new utils_1.naslTypes.ExternalDestination({
1911
1917
  link: fixExpression(node?.arguments[0], options),
1912
1918
  });
@@ -1918,7 +1924,7 @@ function transform2UIFunction(node, calleeName, callee, options) {
1918
1924
  // }
1919
1925
  return new utils_1.naslTypes.CallLogic({
1920
1926
  calleeNamespace: 'nasl.ui',
1921
- calleeName: callee[2].name,
1927
+ calleeName: uiFunctionName,
1922
1928
  shortcut: true,
1923
1929
  /**
1924
1930
  * 这个函数是修复 AI 翻译出错的情况,与正常的 transform 做个区分
@@ -2177,6 +2183,30 @@ function transformCall2LogicWithAuth(node, calleeName, callee, options) {
2177
2183
  });
2178
2184
  }
2179
2185
  exports.transformCall2LogicWithAuth = transformCall2LogicWithAuth;
2186
+ function transformCall2GetCustomConfig(node, calleeName, callee, options) {
2187
+ const transformNodeFunction = options?.transformNodeFunction || transform2LogicItem;
2188
+ const arg = node.arguments?.[0];
2189
+ if (!arg || arg.type !== 'MemberExpression') {
2190
+ return (0, utils_1.throwError)(options, 'nasl.configuration.getCustomConfig 的参数必须是 {app|extensions.xxx}.configuration.{group}.{name} 形式的成员访问', node);
2191
+ }
2192
+ const flatCallee = flatMemberExpression(arg);
2193
+ const argName = flatCallee.map((n) => n.name).join('.');
2194
+ const configPropertyRegex = /^(app|extensions\.\w+)\.configuration\.(\w+)\.(\w+)$/;
2195
+ if (!configPropertyRegex.test(argName)) {
2196
+ return (0, utils_1.throwError)(options, `nasl.configuration.getCustomConfig 参数路径格式不正确,期望 {app|extensions.xxx}.configuration.{group}.{name},实际为 ${argName}`, node);
2197
+ }
2198
+ return new utils_1.naslTypes.CallLogic({
2199
+ calleeNamespace: 'nasl.configuration',
2200
+ calleeName: 'getCustomConfig',
2201
+ arguments: [
2202
+ new utils_1.naslTypes.Argument({
2203
+ keyword: 'name',
2204
+ expression: transformNodeFunction(arg, options),
2205
+ }),
2206
+ ],
2207
+ });
2208
+ }
2209
+ exports.transformCall2GetCustomConfig = transformCall2GetCustomConfig;
2180
2210
  function transformCall2Paginate(node, calleeName, callee, options) {
2181
2211
  const transformNodeFunction = options?.transformNodeFunction || transform2LogicItem;
2182
2212
  const newCallee = node.arguments || [];
@@ -2654,10 +2684,12 @@ function transform2LogicItem(node, options) {
2654
2684
  });
2655
2685
  transformManager.register('MemberExpression', transformMemberExpression);
2656
2686
  transformManager.register('OptionalMemberExpression', transformMemberExpression);
2687
+ transformManager.registerCallExpression((node, calleeName) => calleeName === 'require' && node.arguments[0]?.value?.startsWith('./tmp/'), transformRequire2JSBlock);
2657
2688
  transformManager.registerCallExpression((node, calleeName, callee) => callee.length === 1 && (node.callee.type === 'FunctionExpression' && node.callee.id?.name === 'match' || node.callee.type === 'ArrowFunctionExpression'), transformCallFunctionExpression2Match);
2658
2689
  transformManager.registerCallExpression((node, calleeName) => /^\$refs\./.test(calleeName), transformCall2CallViewElementLogic);
2659
2690
  transformManager.registerCallExpression((node, calleeName, callee) => callee.length === 2 && callee[0].type === 'Identifier' && callee[0].name.endsWith('Entity'), transformCall2CallEntityLogic);
2660
2691
  transformManager.registerCallExpression('nasl.oql.query', transformCall2OQLQuery);
2692
+ transformManager.registerCallExpression('nasl.configuration.getCustomConfig', transformCall2GetCustomConfig);
2661
2693
  transformManager.registerCallExpression('nasl.util.consoleLog', transformCall2ConsoleLog);
2662
2694
  transformManager.registerCallExpression('console.log', transformCall2ConsoleLog);
2663
2695
  transformManager.registerCallExpression((node, calleeName) => calleeName.startsWith('nasl.logging.'), transformCall2Logging);