@lcap/nasl-language-server-core 4.0.0-beta.2 → 4.0.0-beta.3

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 (169) hide show
  1. package/out/checker.d.ts +3 -3
  2. package/out/checker.d.ts.map +1 -1
  3. package/out/checker.js +32 -27
  4. package/out/checker.js.map +1 -1
  5. package/out/index.js +7 -17
  6. package/out/index.js.map +1 -1
  7. package/out/module/graph.d.ts.map +1 -1
  8. package/out/reference-manager/builtin-q-name.d.ts.map +1 -1
  9. package/out/reference-manager/builtin-q-name.js +20 -13
  10. package/out/reference-manager/builtin-q-name.js.map +1 -1
  11. package/out/reference-manager/collect-q-name.d.ts +12 -2
  12. package/out/reference-manager/collect-q-name.d.ts.map +1 -1
  13. package/out/reference-manager/collect-q-name.js +186 -55
  14. package/out/reference-manager/collect-q-name.js.map +1 -1
  15. package/out/reference-manager/get-q-name.d.ts +11 -0
  16. package/out/reference-manager/get-q-name.d.ts.map +1 -0
  17. package/out/reference-manager/get-q-name.js +213 -0
  18. package/out/reference-manager/get-q-name.js.map +1 -0
  19. package/out/reference-manager/reference-manager.d.ts +79 -92
  20. package/out/reference-manager/reference-manager.d.ts.map +1 -1
  21. package/out/reference-manager/reference-manager.js +638 -934
  22. package/out/reference-manager/reference-manager.js.map +1 -1
  23. package/out/reference-manager/remove-q-name.d.ts +11 -1
  24. package/out/reference-manager/remove-q-name.d.ts.map +1 -1
  25. package/out/reference-manager/remove-q-name.js +149 -15
  26. package/out/reference-manager/remove-q-name.js.map +1 -1
  27. package/out/reference-manager/rename-q-name.d.ts +12 -1
  28. package/out/reference-manager/rename-q-name.d.ts.map +1 -1
  29. package/out/reference-manager/rename-q-name.js +109 -1
  30. package/out/reference-manager/rename-q-name.js.map +1 -1
  31. package/out/reference-manager/symbol-type.d.ts +21 -0
  32. package/out/reference-manager/symbol-type.d.ts.map +1 -0
  33. package/out/reference-manager/symbol-type.js +104 -0
  34. package/out/reference-manager/symbol-type.js.map +1 -0
  35. package/out/reference-manager/update-nasl-fragment.d.ts +51 -0
  36. package/out/reference-manager/update-nasl-fragment.d.ts.map +1 -0
  37. package/out/reference-manager/update-nasl-fragment.js +266 -0
  38. package/out/reference-manager/update-nasl-fragment.js.map +1 -0
  39. package/out/symbol/graph.d.ts +1 -1
  40. package/out/symbol/namespace.d.ts.map +1 -1
  41. package/out/symbol/symbol.d.ts.map +1 -1
  42. package/out/symbol/traverse/concepts/frontend/view.js +2 -2
  43. package/out/symbol/traverse/concepts/frontend/view.js.map +1 -1
  44. package/out/symbol/traverse/concepts/index.d.ts +1 -2
  45. package/out/symbol/traverse/concepts/index.d.ts.map +1 -1
  46. package/out/symbol/traverse/concepts/utils.js +4 -4
  47. package/out/symbol/traverse/concepts/utils.js.map +1 -1
  48. package/out/symbol/traverse/traverse.js +2 -1
  49. package/out/symbol/traverse/traverse.js.map +1 -1
  50. package/out/symbol/utils.js +2 -1
  51. package/out/symbol/utils.js.map +1 -1
  52. package/out/typer/collectGlobalDefs.d.ts +2 -1
  53. package/out/typer/collectGlobalDefs.d.ts.map +1 -1
  54. package/out/typer/collectGlobalDefs.js +31 -32
  55. package/out/typer/collectGlobalDefs.js.map +1 -1
  56. package/out/typer/component-def-manager/component-def-manager.d.ts +1 -1
  57. package/out/typer/component-def-manager/component-def-manager.d.ts.map +1 -1
  58. package/out/typer/component-def-manager/component-def-manager.js +4 -4
  59. package/out/typer/component-def-manager/component-def-manager.js.map +1 -1
  60. package/out/typer/component-def-manager/utils.js +4 -3
  61. package/out/typer/component-def-manager/utils.js.map +1 -1
  62. package/out/typer/dispatch-all.d.ts +2 -2
  63. package/out/typer/dispatch-all.d.ts.map +1 -1
  64. package/out/typer/dispatch-all.js +19 -11
  65. package/out/typer/dispatch-all.js.map +1 -1
  66. package/out/typer/dispatch-def.d.ts +3 -2
  67. package/out/typer/dispatch-def.d.ts.map +1 -1
  68. package/out/typer/dispatch-def.js +35 -26
  69. package/out/typer/dispatch-def.js.map +1 -1
  70. package/out/typer/dispatch-expr.d.ts +1 -1
  71. package/out/typer/dispatch-expr.d.ts.map +1 -1
  72. package/out/typer/dispatch-expr.js +150 -114
  73. package/out/typer/dispatch-expr.js.map +1 -1
  74. package/out/typer/dispatch-process.d.ts +1 -2
  75. package/out/typer/dispatch-process.d.ts.map +1 -1
  76. package/out/typer/dispatch-process.js +73 -41
  77. package/out/typer/dispatch-process.js.map +1 -1
  78. package/out/typer/dispatch-stmt.d.ts +1 -0
  79. package/out/typer/dispatch-stmt.d.ts.map +1 -1
  80. package/out/typer/dispatch-stmt.js +10 -9
  81. package/out/typer/dispatch-stmt.js.map +1 -1
  82. package/out/typer/dispatch-view.d.ts +1 -1
  83. package/out/typer/dispatch-view.d.ts.map +1 -1
  84. package/out/typer/dispatch-view.js +49 -18
  85. package/out/typer/dispatch-view.js.map +1 -1
  86. package/out/typer/fix-use-before-assign.d.ts.map +1 -1
  87. package/out/typer/helper.d.ts.map +1 -1
  88. package/out/typer/helper.js +25 -25
  89. package/out/typer/helper.js.map +1 -1
  90. package/out/typer/incremental-update.d.ts +4 -3
  91. package/out/typer/incremental-update.d.ts.map +1 -1
  92. package/out/typer/incremental-update.js +173 -85
  93. package/out/typer/incremental-update.js.map +1 -1
  94. package/out/typer/index.d.ts +3 -3
  95. package/out/typer/index.d.ts.map +1 -1
  96. package/out/typer/index.js +2 -5
  97. package/out/typer/index.js.map +1 -1
  98. package/out/typer/nasl-predicate.d.ts +8 -0
  99. package/out/typer/nasl-predicate.d.ts.map +1 -0
  100. package/out/typer/nasl-predicate.js +19 -0
  101. package/out/typer/nasl-predicate.js.map +1 -0
  102. package/out/typer/query-manager/query-manager.d.ts.map +1 -1
  103. package/out/typer/query-manager/query-manager.js +2 -1
  104. package/out/typer/query-manager/query-manager.js.map +1 -1
  105. package/out/typer/sem-diag.d.ts +1 -1
  106. package/out/typer/sem-diag.d.ts.map +1 -1
  107. package/out/typer/sem-diag.js +3 -3
  108. package/out/typer/sem-diag.js.map +1 -1
  109. package/out/typer/solver.d.ts.map +1 -1
  110. package/out/typer/solver.js +14 -6
  111. package/out/typer/solver.js.map +1 -1
  112. package/out/typer/subster.d.ts +1 -11
  113. package/out/typer/subster.d.ts.map +1 -1
  114. package/out/typer/subster.js +42 -145
  115. package/out/typer/subster.js.map +1 -1
  116. package/out/typer/topo-sort.d.ts +1 -1
  117. package/out/typer/topo-sort.d.ts.map +1 -1
  118. package/out/typer/topo-sort.js +7 -5
  119. package/out/typer/topo-sort.js.map +1 -1
  120. package/out/typer/type-manager.d.ts +5 -11
  121. package/out/typer/type-manager.d.ts.map +1 -1
  122. package/out/typer/type-manager.js +94 -99
  123. package/out/typer/type-manager.js.map +1 -1
  124. package/out/typer/type-predicate.d.ts +1 -1
  125. package/out/typer/type-predicate.d.ts.map +1 -1
  126. package/out/typer/type-predicate.js +19 -8
  127. package/out/typer/type-predicate.js.map +1 -1
  128. package/out/typer/typer.d.ts +5 -6
  129. package/out/typer/typer.d.ts.map +1 -1
  130. package/out/typer/typer.js +34 -21
  131. package/out/typer/typer.js.map +1 -1
  132. package/out/typer/unifier.d.ts +6 -6
  133. package/out/typer/unifier.d.ts.map +1 -1
  134. package/out/typer/unifier.js +16 -14
  135. package/out/typer/unifier.js.map +1 -1
  136. package/out/utils/array.js +2 -1
  137. package/out/utils/array.js.map +1 -1
  138. package/out/utils/assertion.js +2 -1
  139. package/out/utils/assertion.js.map +1 -1
  140. package/out/utils/bind-expression-hack.js +9 -18
  141. package/out/utils/bind-expression-hack.js.map +1 -1
  142. package/out/utils/error-boundary.d.ts.map +1 -1
  143. package/out/utils/error-boundary.js +2 -1
  144. package/out/utils/error-boundary.js.map +1 -1
  145. package/out/utils/fp-macros.d.ts +16 -0
  146. package/out/utils/fp-macros.d.ts.map +1 -0
  147. package/out/utils/fp-macros.js +82 -0
  148. package/out/utils/fp-macros.js.map +1 -0
  149. package/out/utils/nasl-type-manipulation.js +5 -4
  150. package/out/utils/nasl-type-manipulation.js.map +1 -1
  151. package/out/utils/parseTsClassType.d.ts +11 -10
  152. package/out/utils/parseTsClassType.d.ts.map +1 -1
  153. package/out/utils/parseTsClassType.js +50 -43
  154. package/out/utils/parseTsClassType.js.map +1 -1
  155. package/out/utils/reference-hack.d.ts +4 -0
  156. package/out/utils/reference-hack.d.ts.map +1 -0
  157. package/out/utils/reference-hack.js +14 -0
  158. package/out/utils/reference-hack.js.map +1 -0
  159. package/out/utils/type-operator.d.ts +17 -0
  160. package/out/utils/type-operator.d.ts.map +1 -1
  161. package/out/utils/type-operator.js +86 -1
  162. package/out/utils/type-operator.js.map +1 -1
  163. package/out/utils/types.js +2 -1
  164. package/out/utils/types.js.map +1 -1
  165. package/out/utils/vue-hack.js +2 -1
  166. package/out/utils/vue-hack.js.map +1 -1
  167. package/out/utils/vue.js +2 -1
  168. package/out/utils/vue.js.map +1 -1
  169. package/package.json +9 -6
package/out/checker.d.ts CHANGED
@@ -1,6 +1,6 @@
1
1
  import type { SyntaxNode, App, BaseNode } from '@lcap/nasl-concepts';
2
2
  import { TypeAnnotation } from '@lcap/nasl-concepts';
3
- import { SemEnv } from './typer';
3
+ import { type SemEnv } from './typer';
4
4
  export declare enum Severity {
5
5
  WARN = "warning",
6
6
  ERROR = "error"
@@ -37,10 +37,10 @@ export declare function createErrorDiagnoser(context: DiagnoseContext): {
37
37
  setLatestVersionsOfSharedApp: (sharedAppVersions: SharedAppVersion[]) => void;
38
38
  diagnosticApp: () => Generator<TypeAnnotation | {
39
39
  typeKind: string;
40
- } | undefined, void, any>;
40
+ } | undefined, void, unknown>;
41
41
  checkNode: (node: SyntaxNode | undefined) => Generator<TypeAnnotation | {
42
42
  typeKind: string;
43
- } | undefined, any, any>;
43
+ } | undefined, any, unknown>;
44
44
  clearDiagnostics: (node: SyntaxNode) => void;
45
45
  getDiagnostics: (node: SyntaxNode) => NodeDiagnosticsMap | FileDiagnosticsMap | undefined;
46
46
  error: (node: SyntaxNode, message: string, context?: ErrorContext) => void;
@@ -1 +1 @@
1
- {"version":3,"file":"checker.d.ts","sourceRoot":"","sources":["../src/checker.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,UAAU,EAU0F,GAAG,EAMvG,QAAQ,EACT,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EACgE,cAAc,EAGpF,MAAM,qBAAqB,CAAC;AAM7B,OAAO,EAA4B,MAAM,EAAE,MAAM,SAAS,CAAC;AAI3D,oBAAY,QAAQ;IAClB,IAAI,YAAY;IAChB,KAAK,UAAU;CAChB;AAED,MAAM,WAAW,UAAU;IAEzB,QAAQ,CAAC,EAAE,QAAQ,CAAC;IAEpB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,KAAK,YAAY,GAAG;IAClB,QAAQ,CAAC,EAAE,QAAQ,CAAC;IACpB,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;CACpB,CAAC;AAMF,MAAM,MAAM,kBAAkB,GAAG,GAAG,CAAC,UAAU,EAAE,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC;AAEpE,MAAM,MAAM,kBAAkB,GAAG,GAAG,CAAC,UAAU,EAAE,kBAAkB,CAAC,CAAC;AAMrE,KAAK,gBAAgB,GAAG;IACtB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;CACpB,CAAC;AAqBF,KAAK,eAAe,GAAG;IACrB,GAAG,EAAE,GAAG,CAAC;IACT,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,OAAO,CAAC;IACf,yBAAyB,CAAC,EAAE,gBAAgB,EAAE,CAAC;IAC/C,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;CACpB,CAAC;AAgQF;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,eAAe;oCAwhIpB,OAAO;sDAPW,gBAAgB,EAAE;;;;sBAhBjD,UAAU,GAAG,SAAS;;;6BAsChB,UAAU;2BAuBZ,UAAU;kBAtgInB,UAAU,WAAW,MAAM,YAAY,YAAY;EAshIzE;AAGD,MAAM,WAAW,gBAAgB;IAC/B,EAAE,EAAE,MAAM,CAAC;IAEX,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,QAAQ,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,iBAAiB,EAAE,KAAK,CAAC,UAAU,CAAC,CAAC;IACrC,mBAAmB,EAAE,KAAK,CAAC,UAAU,CAAC,CAAC;IACvC,qBAAqB,EAAE,KAAK,CAAC,UAAU,CAAC,CAAC;CAC1C;AAED,eAAO,MAAM,6BAA6B,GAAI,UAAU,UAAU,EAAE,aAAa,kBAAkB,KAAG,KAAK,CAAC,gBAAgB,CAmC3H,CAAA"}
1
+ {"version":3,"file":"checker.d.ts","sourceRoot":"","sources":["../src/checker.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,UAAU,EAU0F,GAAG,EAMvG,QAAQ,EACT,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EACgE,cAAc,EAGpF,MAAM,qBAAqB,CAAC;AAQ7B,OAAO,EAA4B,KAAK,MAAM,EAAE,MAAM,SAAS,CAAC;AAKhE,oBAAY,QAAQ;IAClB,IAAI,YAAY;IAChB,KAAK,UAAU;CAChB;AAED,MAAM,WAAW,UAAU;IAEzB,QAAQ,CAAC,EAAE,QAAQ,CAAC;IAEpB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,KAAK,YAAY,GAAG;IAClB,QAAQ,CAAC,EAAE,QAAQ,CAAC;IACpB,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;CACpB,CAAC;AAMF,MAAM,MAAM,kBAAkB,GAAG,GAAG,CAAC,UAAU,EAAE,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC;AAEpE,MAAM,MAAM,kBAAkB,GAAG,GAAG,CAAC,UAAU,EAAE,kBAAkB,CAAC,CAAC;AAMrE,KAAK,gBAAgB,GAAG;IACtB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;CACpB,CAAC;AAqBF,KAAK,eAAe,GAAG;IACrB,GAAG,EAAE,GAAG,CAAC;IACT,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,OAAO,CAAC;IACf,yBAAyB,CAAC,EAAE,gBAAgB,EAAE,CAAC;IAC/C,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;CACpB,CAAC;AAiQF;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,eAAe;oCA8hIpB,OAAO;sDAPW,gBAAgB,EAAE;;;;sBAhBjD,UAAU,GAAG,SAAS;;;6BAsChB,UAAU;2BAuBZ,UAAU;kBA5gInB,UAAU,WAAW,MAAM,YAAY,YAAY;EA4hIzE;AAGD,MAAM,WAAW,gBAAgB;IAC/B,EAAE,EAAE,MAAM,CAAC;IAEX,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,QAAQ,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,iBAAiB,EAAE,KAAK,CAAC,UAAU,CAAC,CAAC;IACrC,mBAAmB,EAAE,KAAK,CAAC,UAAU,CAAC,CAAC;IACvC,qBAAqB,EAAE,KAAK,CAAC,UAAU,CAAC,CAAC;CAC1C;AAED,eAAO,MAAM,6BAA6B,aAAc,UAAU,sCAAoC,MAAM,gBAAgB,CAmC3H,CAAA"}
package/out/checker.js CHANGED
@@ -1,7 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.transformDiagnosticsToRecords = exports.Severity = void 0;
4
- exports.createErrorDiagnoser = createErrorDiagnoser;
3
+ exports.transformDiagnosticsToRecords = exports.createErrorDiagnoser = exports.Severity = void 0;
5
4
  const decimal_js_1 = require("decimal.js");
6
5
  const nasl_concepts_1 = require("@lcap/nasl-concepts");
7
6
  const service_1 = require("@lcap/nasl-concepts/service");
@@ -9,6 +8,7 @@ const nasl_utils_1 = require("@lcap/nasl-utils");
9
8
  const typer_1 = require("./typer");
10
9
  const type_predicate_1 = require("./typer/type-predicate");
11
10
  const type_manager_1 = require("./typer/type-manager");
11
+ const nasl_predicate_1 = require("./typer/nasl-predicate");
12
12
  var Severity;
13
13
  (function (Severity) {
14
14
  Severity["WARN"] = "warning";
@@ -28,19 +28,19 @@ const processV2TaskTitleMap = {
28
28
  SubmitTask: '执行任务',
29
29
  CCTask: '抄送任务',
30
30
  };
31
- // fast cheap unsafe checks
32
- // 不判断空指针让它更快
33
- const isCallFunction = (node) => node.concept === 'CallFunction';
34
- const isCallLogic = (node) => node.concept === 'CallLogic' || node.concept === 'CallConnector';
35
- const isCallInterface = (node) => node.concept === 'CallInterface' || node.concept === 'CallMicroserviceInterface' || node.concept === 'CallAuthInterface';
36
- const isCallAuthInterface = (node) => node.concept === 'CallAuthInterface';
37
- const isCallConnector = (node) => node.concept === 'CallConnector';
38
- const isCallEvent = (node) => node.concept === 'CallEvent';
39
- // order matters as for speed
31
+ /**
32
+ * 是否属于 控制流节点
33
+ * @param node
34
+ */
35
+ function isControlFlowNode(node) {
36
+ return nasl_concepts_1.asserts.isStrictEnd(node) || nasl_concepts_1.asserts.isStrictAbort(node) || nasl_concepts_1.asserts.isStrictBreak(node) || nasl_concepts_1.asserts.isStrictContinue(node);
37
+ }
40
38
  /**
41
39
  * 是否属于 调用表达式
42
40
  */
43
- const fastIsCallExpression = (node) => isCallLogic(node) || isCallFunction(node) || isCallEvent(node) || isCallInterface(node) || isCallAuthInterface(node) || isCallConnector(node);
41
+ function isCallExpression(node) {
42
+ return nasl_concepts_1.asserts.isCallFunction(node) || nasl_concepts_1.asserts.isCallInterface(node) || nasl_concepts_1.asserts.isCallLogic(node) || nasl_concepts_1.asserts.isCallConnector(node) || nasl_concepts_1.asserts.isCallEvent(node);
43
+ }
44
44
  const isEnd = (node) => node.concept === 'End';
45
45
  const isAbort = (node) => node.concept === 'Abort';
46
46
  const isBreak = (node) => node.concept === 'Break';
@@ -356,7 +356,7 @@ function createErrorDiagnoser(context) {
356
356
  */
357
357
  function getStatusOfSharedApp(sharedApp) {
358
358
  const version = latestVersionsOfSharedApp?.find((item) => item.name === sharedApp.name && item.provider === sharedApp.provider);
359
- if (!version) {
359
+ if (!version || !version.version) {
360
360
  return 'delete';
361
361
  }
362
362
  else if (version.version !== sharedApp.version) {
@@ -561,6 +561,15 @@ function createErrorDiagnoser(context) {
561
561
  message = 'SQL查询:语句不能为空。';
562
562
  }
563
563
  else if (nasl_concepts_1.asserts.isDestination(node)) {
564
+ chkDest(node);
565
+ }
566
+ else if (node.concept === 'Argument' && nasl_concepts_1.asserts.isDestination(node.parentNode)) {
567
+ chkDest(node.parentNode);
568
+ }
569
+ if (message) {
570
+ error(node, message);
571
+ }
572
+ function chkDest(node) {
564
573
  const processElement = node.getAncestor('ProcessElementV2') ?? node.getAncestor('ProcessElement');
565
574
  if (processElement) {
566
575
  message = '任务未关联页面';
@@ -570,9 +579,6 @@ function createErrorDiagnoser(context) {
570
579
  message = '';
571
580
  }
572
581
  }
573
- if (message) {
574
- error(node, message);
575
- }
576
582
  }
577
583
  /**
578
584
  * 创建一个未找到定义的实体的错误信息
@@ -1278,14 +1284,7 @@ function createErrorDiagnoser(context) {
1278
1284
  const property = dataSourceGroup.getProperty(node.name);
1279
1285
  if (property.values?.length) {
1280
1286
  property.values.forEach((propertyValue) => {
1281
- if (!propertyValue.value && node.name !== 'defaultDS') {
1282
- // prod 环境数据源未配置数据信息 时,不再给出其他提示
1283
- // https://projectmanage.netease-official.lcap.163yun.com/dashboard/FeatureDetail?id=2782461488301056
1284
- if (propertyValue.env === 'dev') {
1285
- error(node, `数据源配置:数据源${property.name}${propertyValue.envDisplayLabel}未配置数据信息`);
1286
- }
1287
- }
1288
- else if (propertyValue.value) {
1287
+ if (propertyValue.value) {
1289
1288
  const dataSource = node;
1290
1289
  // 数据源有连接错误
1291
1290
  // 手动插入报错
@@ -1297,6 +1296,11 @@ function createErrorDiagnoser(context) {
1297
1296
  }
1298
1297
  });
1299
1298
  }
1299
+ // prod 环境数据源未配置数据信息 时,不再给出其他提示
1300
+ // https://projectmanage.netease-official.lcap.163yun.com/dashboard/FeatureDetail?id=2782461488301056
1301
+ if (!node.devConfigId) {
1302
+ error(node, `数据源配置:数据源${property.name}开发环境未配置数据信息`);
1303
+ }
1300
1304
  }
1301
1305
  dbType = '';
1302
1306
  }
@@ -3872,7 +3876,7 @@ function createErrorDiagnoser(context) {
3872
3876
  if (ensureNodeKeyExists(node, 'typeName') && node.typeKind === 'reference') {
3873
3877
  const ref = env.resolveRef(node);
3874
3878
  if (!ref) {
3875
- error(node, `找不到类型${node.typeName}`);
3879
+ error(node, `找不到类型 ${node.typeName}`);
3876
3880
  }
3877
3881
  }
3878
3882
  }
@@ -3950,7 +3954,7 @@ function createErrorDiagnoser(context) {
3950
3954
  function* dispatchNode(node) {
3951
3955
  try {
3952
3956
  // 调用表达式
3953
- if (fastIsCallExpression(node)) {
3957
+ if ((0, nasl_predicate_1.isNaslCallExpr)(node)) {
3954
3958
  return yield* checkCallExpression(node);
3955
3959
  }
3956
3960
  const { concept } = node;
@@ -4289,11 +4293,12 @@ function createErrorDiagnoser(context) {
4289
4293
  error,
4290
4294
  };
4291
4295
  }
4296
+ exports.createErrorDiagnoser = createErrorDiagnoser;
4292
4297
  const transformDiagnosticsToRecords = (fileNode, diagnostics) => {
4293
4298
  const records = [];
4294
4299
  let filePath;
4295
4300
  try {
4296
- filePath = fileNode.getEmbeddedFilePath();
4301
+ filePath = fileNode.concept !== 'App' ? fileNode.getEmbeddedFilePath() : undefined;
4297
4302
  }
4298
4303
  catch (err) {
4299
4304
  console.log(err);