@grafema/core 0.1.0-alpha.5 → 0.2.0-beta

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 (530) hide show
  1. package/README.md +0 -1
  2. package/dist/Orchestrator.d.ts +31 -2
  3. package/dist/Orchestrator.d.ts.map +1 -1
  4. package/dist/Orchestrator.js +222 -27
  5. package/dist/config/ConfigLoader.d.ts +90 -0
  6. package/dist/config/ConfigLoader.d.ts.map +1 -0
  7. package/dist/config/ConfigLoader.js +249 -0
  8. package/dist/config/index.d.ts +6 -0
  9. package/dist/config/index.d.ts.map +1 -0
  10. package/dist/config/index.js +4 -0
  11. package/dist/core/ASTWorker.d.ts +11 -36
  12. package/dist/core/ASTWorker.d.ts.map +1 -1
  13. package/dist/core/ASTWorker.js +93 -99
  14. package/dist/core/CoverageAnalyzer.d.ts +65 -0
  15. package/dist/core/CoverageAnalyzer.d.ts.map +1 -0
  16. package/dist/core/CoverageAnalyzer.js +198 -0
  17. package/dist/core/FileExplainer.d.ts +101 -0
  18. package/dist/core/FileExplainer.d.ts.map +1 -0
  19. package/dist/core/FileExplainer.js +139 -0
  20. package/dist/core/FileNodeManager.d.ts +40 -0
  21. package/dist/core/FileNodeManager.d.ts.map +1 -0
  22. package/dist/core/FileNodeManager.js +84 -0
  23. package/dist/core/GraphFreshnessChecker.d.ts +33 -0
  24. package/dist/core/GraphFreshnessChecker.d.ts.map +1 -0
  25. package/dist/core/GraphFreshnessChecker.js +101 -0
  26. package/dist/core/HashUtils.d.ts +24 -0
  27. package/dist/core/HashUtils.d.ts.map +1 -0
  28. package/dist/core/HashUtils.js +45 -0
  29. package/dist/core/IncrementalReanalyzer.d.ts +36 -0
  30. package/dist/core/IncrementalReanalyzer.d.ts.map +1 -0
  31. package/dist/core/IncrementalReanalyzer.js +132 -0
  32. package/dist/core/NodeFactory.d.ts +266 -19
  33. package/dist/core/NodeFactory.d.ts.map +1 -1
  34. package/dist/core/NodeFactory.js +256 -21
  35. package/dist/core/ScopeTracker.d.ts +84 -0
  36. package/dist/core/ScopeTracker.d.ts.map +1 -0
  37. package/dist/core/ScopeTracker.js +116 -0
  38. package/dist/core/SemanticId.d.ts +90 -0
  39. package/dist/core/SemanticId.d.ts.map +1 -0
  40. package/dist/core/SemanticId.js +115 -0
  41. package/dist/core/VersionManager.d.ts.map +1 -1
  42. package/dist/core/VersionManager.js +3 -2
  43. package/dist/core/nodes/ArgumentExpressionNode.d.ts +43 -0
  44. package/dist/core/nodes/ArgumentExpressionNode.d.ts.map +1 -0
  45. package/dist/core/nodes/ArgumentExpressionNode.js +60 -0
  46. package/dist/core/nodes/ArrayLiteralNode.d.ts +27 -0
  47. package/dist/core/nodes/ArrayLiteralNode.d.ts.map +1 -0
  48. package/dist/core/nodes/ArrayLiteralNode.js +43 -0
  49. package/dist/core/nodes/BranchNode.d.ts +41 -0
  50. package/dist/core/nodes/BranchNode.d.ts.map +1 -0
  51. package/dist/core/nodes/BranchNode.js +82 -0
  52. package/dist/core/nodes/CallSiteNode.d.ts +30 -2
  53. package/dist/core/nodes/CallSiteNode.d.ts.map +1 -1
  54. package/dist/core/nodes/CallSiteNode.js +54 -4
  55. package/dist/core/nodes/CaseNode.d.ts +43 -0
  56. package/dist/core/nodes/CaseNode.d.ts.map +1 -0
  57. package/dist/core/nodes/CaseNode.js +81 -0
  58. package/dist/core/nodes/ClassNode.d.ts +34 -2
  59. package/dist/core/nodes/ClassNode.d.ts.map +1 -1
  60. package/dist/core/nodes/ClassNode.js +52 -4
  61. package/dist/core/nodes/ConstantNode.d.ts +2 -2
  62. package/dist/core/nodes/ConstantNode.d.ts.map +1 -1
  63. package/dist/core/nodes/ConstantNode.js +6 -4
  64. package/dist/core/nodes/ConstructorCallNode.d.ts +51 -0
  65. package/dist/core/nodes/ConstructorCallNode.d.ts.map +1 -0
  66. package/dist/core/nodes/ConstructorCallNode.js +171 -0
  67. package/dist/core/nodes/DatabaseQueryNode.d.ts +3 -2
  68. package/dist/core/nodes/DatabaseQueryNode.d.ts.map +1 -1
  69. package/dist/core/nodes/DatabaseQueryNode.js +5 -2
  70. package/dist/core/nodes/DecoratorNode.d.ts +42 -0
  71. package/dist/core/nodes/DecoratorNode.d.ts.map +1 -0
  72. package/dist/core/nodes/DecoratorNode.js +64 -0
  73. package/dist/core/nodes/EnumNode.d.ts +42 -0
  74. package/dist/core/nodes/EnumNode.d.ts.map +1 -0
  75. package/dist/core/nodes/EnumNode.js +56 -0
  76. package/dist/core/nodes/EventListenerNode.d.ts +4 -4
  77. package/dist/core/nodes/EventListenerNode.d.ts.map +1 -1
  78. package/dist/core/nodes/EventListenerNode.js +7 -4
  79. package/dist/core/nodes/ExportNode.d.ts +38 -2
  80. package/dist/core/nodes/ExportNode.d.ts.map +1 -1
  81. package/dist/core/nodes/ExportNode.js +54 -4
  82. package/dist/core/nodes/ExpressionNode.d.ts +97 -0
  83. package/dist/core/nodes/ExpressionNode.d.ts.map +1 -0
  84. package/dist/core/nodes/ExpressionNode.js +180 -0
  85. package/dist/core/nodes/ExternalModuleNode.d.ts +32 -0
  86. package/dist/core/nodes/ExternalModuleNode.d.ts.map +1 -0
  87. package/dist/core/nodes/ExternalModuleNode.js +49 -0
  88. package/dist/core/nodes/ExternalStdioNode.d.ts +13 -6
  89. package/dist/core/nodes/ExternalStdioNode.d.ts.map +1 -1
  90. package/dist/core/nodes/ExternalStdioNode.js +15 -8
  91. package/dist/core/nodes/FunctionNode.d.ts +36 -0
  92. package/dist/core/nodes/FunctionNode.d.ts.map +1 -1
  93. package/dist/core/nodes/FunctionNode.js +80 -1
  94. package/dist/core/nodes/HttpRequestNode.d.ts +4 -4
  95. package/dist/core/nodes/HttpRequestNode.d.ts.map +1 -1
  96. package/dist/core/nodes/HttpRequestNode.js +7 -4
  97. package/dist/core/nodes/ImportNode.d.ts +28 -6
  98. package/dist/core/nodes/ImportNode.d.ts.map +1 -1
  99. package/dist/core/nodes/ImportNode.js +43 -8
  100. package/dist/core/nodes/InterfaceNode.d.ts +46 -0
  101. package/dist/core/nodes/InterfaceNode.d.ts.map +1 -0
  102. package/dist/core/nodes/InterfaceNode.js +57 -0
  103. package/dist/core/nodes/IssueNode.d.ts +73 -0
  104. package/dist/core/nodes/IssueNode.d.ts.map +1 -0
  105. package/dist/core/nodes/IssueNode.js +129 -0
  106. package/dist/core/nodes/LiteralNode.d.ts +2 -2
  107. package/dist/core/nodes/LiteralNode.d.ts.map +1 -1
  108. package/dist/core/nodes/LiteralNode.js +6 -4
  109. package/dist/core/nodes/MethodCallNode.d.ts +32 -2
  110. package/dist/core/nodes/MethodCallNode.d.ts.map +1 -1
  111. package/dist/core/nodes/MethodCallNode.js +57 -4
  112. package/dist/core/nodes/MethodNode.d.ts +34 -2
  113. package/dist/core/nodes/MethodNode.d.ts.map +1 -1
  114. package/dist/core/nodes/MethodNode.js +55 -3
  115. package/dist/core/nodes/ModuleNode.d.ts +31 -0
  116. package/dist/core/nodes/ModuleNode.d.ts.map +1 -1
  117. package/dist/core/nodes/ModuleNode.js +37 -0
  118. package/dist/core/nodes/NetworkRequestNode.d.ts +54 -0
  119. package/dist/core/nodes/NetworkRequestNode.d.ts.map +1 -0
  120. package/dist/core/nodes/NetworkRequestNode.js +65 -0
  121. package/dist/core/nodes/ObjectLiteralNode.d.ts +27 -0
  122. package/dist/core/nodes/ObjectLiteralNode.d.ts.map +1 -0
  123. package/dist/core/nodes/ObjectLiteralNode.js +43 -0
  124. package/dist/core/nodes/ParameterNode.d.ts +2 -2
  125. package/dist/core/nodes/ParameterNode.d.ts.map +1 -1
  126. package/dist/core/nodes/ParameterNode.js +5 -3
  127. package/dist/core/nodes/ScopeNode.d.ts +31 -0
  128. package/dist/core/nodes/ScopeNode.d.ts.map +1 -1
  129. package/dist/core/nodes/ScopeNode.js +49 -0
  130. package/dist/core/nodes/TypeNode.d.ts +36 -0
  131. package/dist/core/nodes/TypeNode.d.ts.map +1 -0
  132. package/dist/core/nodes/TypeNode.js +55 -0
  133. package/dist/core/nodes/VariableDeclarationNode.d.ts +29 -2
  134. package/dist/core/nodes/VariableDeclarationNode.d.ts.map +1 -1
  135. package/dist/core/nodes/VariableDeclarationNode.js +48 -4
  136. package/dist/core/nodes/index.d.ts +15 -1
  137. package/dist/core/nodes/index.d.ts.map +1 -1
  138. package/dist/core/nodes/index.js +17 -0
  139. package/dist/data/builtins/BuiltinRegistry.d.ts +78 -0
  140. package/dist/data/builtins/BuiltinRegistry.d.ts.map +1 -0
  141. package/dist/data/builtins/BuiltinRegistry.js +110 -0
  142. package/dist/data/builtins/definitions.d.ts +28 -0
  143. package/dist/data/builtins/definitions.d.ts.map +1 -0
  144. package/dist/data/builtins/definitions.js +250 -0
  145. package/dist/data/builtins/index.d.ts +10 -0
  146. package/dist/data/builtins/index.d.ts.map +1 -0
  147. package/dist/data/builtins/index.js +8 -0
  148. package/dist/data/builtins/jsGlobals.d.ts +18 -0
  149. package/dist/data/builtins/jsGlobals.d.ts.map +1 -0
  150. package/dist/data/builtins/jsGlobals.js +26 -0
  151. package/dist/data/builtins/types.d.ts +34 -0
  152. package/dist/data/builtins/types.d.ts.map +1 -0
  153. package/dist/data/builtins/types.js +7 -0
  154. package/dist/data/globals/definitions.d.ts +27 -0
  155. package/dist/data/globals/definitions.d.ts.map +1 -0
  156. package/dist/data/globals/definitions.js +117 -0
  157. package/dist/data/globals/index.d.ts +36 -0
  158. package/dist/data/globals/index.d.ts.map +1 -0
  159. package/dist/data/globals/index.js +52 -0
  160. package/dist/diagnostics/DiagnosticCollector.d.ts +98 -0
  161. package/dist/diagnostics/DiagnosticCollector.d.ts.map +1 -0
  162. package/dist/diagnostics/DiagnosticCollector.js +129 -0
  163. package/dist/diagnostics/DiagnosticReporter.d.ts +100 -0
  164. package/dist/diagnostics/DiagnosticReporter.d.ts.map +1 -0
  165. package/dist/diagnostics/DiagnosticReporter.js +247 -0
  166. package/dist/diagnostics/DiagnosticWriter.d.ts +31 -0
  167. package/dist/diagnostics/DiagnosticWriter.d.ts.map +1 -0
  168. package/dist/diagnostics/DiagnosticWriter.js +43 -0
  169. package/dist/diagnostics/index.d.ts +14 -0
  170. package/dist/diagnostics/index.d.ts.map +1 -0
  171. package/dist/diagnostics/index.js +11 -0
  172. package/dist/errors/GrafemaError.d.ts +161 -0
  173. package/dist/errors/GrafemaError.d.ts.map +1 -0
  174. package/dist/errors/GrafemaError.js +181 -0
  175. package/dist/index.d.ts +73 -1
  176. package/dist/index.d.ts.map +1 -1
  177. package/dist/index.js +70 -1
  178. package/dist/logging/Logger.d.ts +48 -0
  179. package/dist/logging/Logger.d.ts.map +1 -0
  180. package/dist/logging/Logger.js +134 -0
  181. package/dist/plugins/Plugin.d.ts +5 -1
  182. package/dist/plugins/Plugin.d.ts.map +1 -1
  183. package/dist/plugins/Plugin.js +33 -0
  184. package/dist/plugins/analysis/DatabaseAnalyzer.d.ts.map +1 -1
  185. package/dist/plugins/analysis/DatabaseAnalyzer.js +14 -6
  186. package/dist/plugins/analysis/ExpressAnalyzer.d.ts.map +1 -1
  187. package/dist/plugins/analysis/ExpressAnalyzer.js +29 -19
  188. package/dist/plugins/analysis/ExpressResponseAnalyzer.d.ts +148 -0
  189. package/dist/plugins/analysis/ExpressResponseAnalyzer.d.ts.map +1 -0
  190. package/dist/plugins/analysis/ExpressResponseAnalyzer.js +495 -0
  191. package/dist/plugins/analysis/ExpressRouteAnalyzer.d.ts.map +1 -1
  192. package/dist/plugins/analysis/ExpressRouteAnalyzer.js +71 -29
  193. package/dist/plugins/analysis/FetchAnalyzer.d.ts +41 -0
  194. package/dist/plugins/analysis/FetchAnalyzer.d.ts.map +1 -1
  195. package/dist/plugins/analysis/FetchAnalyzer.js +187 -19
  196. package/dist/plugins/analysis/IncrementalAnalysisPlugin.d.ts +6 -3
  197. package/dist/plugins/analysis/IncrementalAnalysisPlugin.d.ts.map +1 -1
  198. package/dist/plugins/analysis/IncrementalAnalysisPlugin.js +76 -80
  199. package/dist/plugins/analysis/JSASTAnalyzer.d.ts +313 -19
  200. package/dist/plugins/analysis/JSASTAnalyzer.d.ts.map +1 -1
  201. package/dist/plugins/analysis/JSASTAnalyzer.js +3430 -503
  202. package/dist/plugins/analysis/ReactAnalyzer.d.ts.map +1 -1
  203. package/dist/plugins/analysis/ReactAnalyzer.js +56 -57
  204. package/dist/plugins/analysis/RustAnalyzer.d.ts.map +1 -1
  205. package/dist/plugins/analysis/RustAnalyzer.js +16 -11
  206. package/dist/plugins/analysis/SQLiteAnalyzer.d.ts.map +1 -1
  207. package/dist/plugins/analysis/SQLiteAnalyzer.js +11 -7
  208. package/dist/plugins/analysis/ServiceLayerAnalyzer.d.ts.map +1 -1
  209. package/dist/plugins/analysis/ServiceLayerAnalyzer.js +21 -9
  210. package/dist/plugins/analysis/SocketIOAnalyzer.d.ts +9 -0
  211. package/dist/plugins/analysis/SocketIOAnalyzer.d.ts.map +1 -1
  212. package/dist/plugins/analysis/SocketIOAnalyzer.js +117 -21
  213. package/dist/plugins/analysis/SystemDbAnalyzer.d.ts.map +1 -1
  214. package/dist/plugins/analysis/SystemDbAnalyzer.js +15 -5
  215. package/dist/plugins/analysis/ast/GraphBuilder.d.ts +207 -4
  216. package/dist/plugins/analysis/ast/GraphBuilder.d.ts.map +1 -1
  217. package/dist/plugins/analysis/ast/GraphBuilder.js +1527 -316
  218. package/dist/plugins/analysis/ast/IdGenerator.d.ts +105 -0
  219. package/dist/plugins/analysis/ast/IdGenerator.d.ts.map +1 -0
  220. package/dist/plugins/analysis/ast/IdGenerator.js +116 -0
  221. package/dist/plugins/analysis/ast/types.d.ts +470 -5
  222. package/dist/plugins/analysis/ast/types.d.ts.map +1 -1
  223. package/dist/plugins/analysis/ast/utils/createParameterNodes.d.ts +33 -0
  224. package/dist/plugins/analysis/ast/utils/createParameterNodes.d.ts.map +1 -0
  225. package/dist/plugins/analysis/ast/utils/createParameterNodes.js +89 -0
  226. package/dist/plugins/analysis/ast/utils/index.d.ts +6 -0
  227. package/dist/plugins/analysis/ast/utils/index.d.ts.map +1 -0
  228. package/dist/plugins/analysis/ast/utils/index.js +5 -0
  229. package/dist/plugins/analysis/ast/utils/location.d.ts +87 -0
  230. package/dist/plugins/analysis/ast/utils/location.d.ts.map +1 -0
  231. package/dist/plugins/analysis/ast/utils/location.js +78 -0
  232. package/dist/plugins/analysis/ast/visitors/ASTVisitor.d.ts +14 -5
  233. package/dist/plugins/analysis/ast/visitors/ASTVisitor.d.ts.map +1 -1
  234. package/dist/plugins/analysis/ast/visitors/ASTVisitor.js +6 -5
  235. package/dist/plugins/analysis/ast/visitors/CallExpressionVisitor.d.ts +100 -9
  236. package/dist/plugins/analysis/ast/visitors/CallExpressionVisitor.d.ts.map +1 -1
  237. package/dist/plugins/analysis/ast/visitors/CallExpressionVisitor.js +674 -125
  238. package/dist/plugins/analysis/ast/visitors/ClassVisitor.d.ts +4 -1
  239. package/dist/plugins/analysis/ast/visitors/ClassVisitor.d.ts.map +1 -1
  240. package/dist/plugins/analysis/ast/visitors/ClassVisitor.js +72 -32
  241. package/dist/plugins/analysis/ast/visitors/FunctionVisitor.d.ts +14 -1
  242. package/dist/plugins/analysis/ast/visitors/FunctionVisitor.d.ts.map +1 -1
  243. package/dist/plugins/analysis/ast/visitors/FunctionVisitor.js +190 -63
  244. package/dist/plugins/analysis/ast/visitors/ImportExportVisitor.d.ts +4 -0
  245. package/dist/plugins/analysis/ast/visitors/ImportExportVisitor.d.ts.map +1 -1
  246. package/dist/plugins/analysis/ast/visitors/ImportExportVisitor.js +112 -8
  247. package/dist/plugins/analysis/ast/visitors/TypeScriptVisitor.d.ts +12 -1
  248. package/dist/plugins/analysis/ast/visitors/TypeScriptVisitor.d.ts.map +1 -1
  249. package/dist/plugins/analysis/ast/visitors/TypeScriptVisitor.js +36 -14
  250. package/dist/plugins/analysis/ast/visitors/VariableVisitor.d.ts +20 -2
  251. package/dist/plugins/analysis/ast/visitors/VariableVisitor.d.ts.map +1 -1
  252. package/dist/plugins/analysis/ast/visitors/VariableVisitor.js +243 -45
  253. package/dist/plugins/discovery/MonorepoServiceDiscovery.d.ts.map +1 -1
  254. package/dist/plugins/discovery/MonorepoServiceDiscovery.js +3 -2
  255. package/dist/plugins/discovery/SimpleProjectDiscovery.d.ts.map +1 -1
  256. package/dist/plugins/discovery/SimpleProjectDiscovery.js +5 -1
  257. package/dist/plugins/discovery/WorkspaceDiscovery.d.ts +22 -0
  258. package/dist/plugins/discovery/WorkspaceDiscovery.d.ts.map +1 -0
  259. package/dist/plugins/discovery/WorkspaceDiscovery.js +141 -0
  260. package/dist/plugins/discovery/resolveSourceEntrypoint.d.ts +46 -0
  261. package/dist/plugins/discovery/resolveSourceEntrypoint.d.ts.map +1 -0
  262. package/dist/plugins/discovery/resolveSourceEntrypoint.js +86 -0
  263. package/dist/plugins/discovery/workspaces/detector.d.ts +21 -0
  264. package/dist/plugins/discovery/workspaces/detector.d.ts.map +1 -0
  265. package/dist/plugins/discovery/workspaces/detector.js +49 -0
  266. package/dist/plugins/discovery/workspaces/globResolver.d.ts +35 -0
  267. package/dist/plugins/discovery/workspaces/globResolver.d.ts.map +1 -0
  268. package/dist/plugins/discovery/workspaces/globResolver.js +184 -0
  269. package/dist/plugins/discovery/workspaces/index.d.ts +9 -0
  270. package/dist/plugins/discovery/workspaces/index.d.ts.map +1 -0
  271. package/dist/plugins/discovery/workspaces/index.js +8 -0
  272. package/dist/plugins/discovery/workspaces/parsers.d.ts +38 -0
  273. package/dist/plugins/discovery/workspaces/parsers.d.ts.map +1 -0
  274. package/dist/plugins/discovery/workspaces/parsers.js +80 -0
  275. package/dist/plugins/enrichment/AliasTracker.d.ts.map +1 -1
  276. package/dist/plugins/enrichment/AliasTracker.js +29 -8
  277. package/dist/plugins/enrichment/ArgumentParameterLinker.d.ts +32 -0
  278. package/dist/plugins/enrichment/ArgumentParameterLinker.d.ts.map +1 -0
  279. package/dist/plugins/enrichment/ArgumentParameterLinker.js +175 -0
  280. package/dist/plugins/enrichment/ClosureCaptureEnricher.d.ts +51 -0
  281. package/dist/plugins/enrichment/ClosureCaptureEnricher.d.ts.map +1 -0
  282. package/dist/plugins/enrichment/ClosureCaptureEnricher.js +205 -0
  283. package/dist/plugins/enrichment/ExternalCallResolver.d.ts +42 -0
  284. package/dist/plugins/enrichment/ExternalCallResolver.d.ts.map +1 -0
  285. package/dist/plugins/enrichment/ExternalCallResolver.js +213 -0
  286. package/dist/plugins/enrichment/FunctionCallResolver.d.ts +58 -0
  287. package/dist/plugins/enrichment/FunctionCallResolver.d.ts.map +1 -0
  288. package/dist/plugins/enrichment/FunctionCallResolver.js +340 -0
  289. package/dist/plugins/enrichment/HTTPConnectionEnricher.d.ts +16 -3
  290. package/dist/plugins/enrichment/HTTPConnectionEnricher.d.ts.map +1 -1
  291. package/dist/plugins/enrichment/HTTPConnectionEnricher.js +78 -27
  292. package/dist/plugins/enrichment/ImportExportLinker.d.ts.map +1 -1
  293. package/dist/plugins/enrichment/ImportExportLinker.js +23 -6
  294. package/dist/plugins/enrichment/MethodCallResolver.d.ts.map +1 -1
  295. package/dist/plugins/enrichment/MethodCallResolver.js +33 -13
  296. package/dist/plugins/enrichment/MountPointResolver.d.ts +14 -12
  297. package/dist/plugins/enrichment/MountPointResolver.d.ts.map +1 -1
  298. package/dist/plugins/enrichment/MountPointResolver.js +173 -147
  299. package/dist/plugins/enrichment/NodejsBuiltinsResolver.d.ts +44 -0
  300. package/dist/plugins/enrichment/NodejsBuiltinsResolver.d.ts.map +1 -0
  301. package/dist/plugins/enrichment/NodejsBuiltinsResolver.js +271 -0
  302. package/dist/plugins/enrichment/PrefixEvaluator.d.ts.map +1 -1
  303. package/dist/plugins/enrichment/PrefixEvaluator.js +16 -7
  304. package/dist/plugins/enrichment/RustFFIEnricher.d.ts.map +1 -1
  305. package/dist/plugins/enrichment/RustFFIEnricher.js +6 -5
  306. package/dist/plugins/enrichment/ValueDomainAnalyzer.d.ts +22 -27
  307. package/dist/plugins/enrichment/ValueDomainAnalyzer.d.ts.map +1 -1
  308. package/dist/plugins/enrichment/ValueDomainAnalyzer.js +185 -143
  309. package/dist/plugins/indexing/IncrementalModuleIndexer.d.ts.map +1 -1
  310. package/dist/plugins/indexing/IncrementalModuleIndexer.js +23 -14
  311. package/dist/plugins/indexing/JSModuleIndexer.d.ts +15 -0
  312. package/dist/plugins/indexing/JSModuleIndexer.d.ts.map +1 -1
  313. package/dist/plugins/indexing/JSModuleIndexer.js +121 -31
  314. package/dist/plugins/indexing/RustModuleIndexer.d.ts +1 -1
  315. package/dist/plugins/indexing/RustModuleIndexer.d.ts.map +1 -1
  316. package/dist/plugins/indexing/RustModuleIndexer.js +8 -7
  317. package/dist/plugins/indexing/ServiceDetector.d.ts +10 -0
  318. package/dist/plugins/indexing/ServiceDetector.d.ts.map +1 -1
  319. package/dist/plugins/indexing/ServiceDetector.js +28 -15
  320. package/dist/plugins/validation/BrokenImportValidator.d.ts +31 -0
  321. package/dist/plugins/validation/BrokenImportValidator.d.ts.map +1 -0
  322. package/dist/plugins/validation/BrokenImportValidator.js +249 -0
  323. package/dist/plugins/validation/CallResolverValidator.d.ts +21 -10
  324. package/dist/plugins/validation/CallResolverValidator.d.ts.map +1 -1
  325. package/dist/plugins/validation/CallResolverValidator.js +103 -77
  326. package/dist/plugins/validation/DataFlowValidator.d.ts.map +1 -1
  327. package/dist/plugins/validation/DataFlowValidator.js +62 -49
  328. package/dist/plugins/validation/EvalBanValidator.d.ts.map +1 -1
  329. package/dist/plugins/validation/EvalBanValidator.js +17 -16
  330. package/dist/plugins/validation/GraphConnectivityValidator.d.ts.map +1 -1
  331. package/dist/plugins/validation/GraphConnectivityValidator.js +44 -24
  332. package/dist/plugins/validation/NodeCreationValidator.d.ts +85 -0
  333. package/dist/plugins/validation/NodeCreationValidator.d.ts.map +1 -0
  334. package/dist/plugins/validation/NodeCreationValidator.js +415 -0
  335. package/dist/plugins/validation/SQLInjectionValidator.d.ts.map +1 -1
  336. package/dist/plugins/validation/SQLInjectionValidator.js +61 -19
  337. package/dist/plugins/validation/ShadowingDetector.d.ts.map +1 -1
  338. package/dist/plugins/validation/ShadowingDetector.js +6 -5
  339. package/dist/plugins/validation/TypeScriptDeadCodeValidator.d.ts.map +1 -1
  340. package/dist/plugins/validation/TypeScriptDeadCodeValidator.js +12 -11
  341. package/dist/plugins/vcs/GitPlugin.d.ts.map +1 -1
  342. package/dist/plugins/vcs/GitPlugin.js +10 -12
  343. package/dist/plugins/vcs/VCSPlugin.d.ts +3 -2
  344. package/dist/plugins/vcs/VCSPlugin.d.ts.map +1 -1
  345. package/dist/plugins/vcs/VCSPlugin.js +5 -5
  346. package/dist/queries/findCallsInFunction.d.ts +52 -0
  347. package/dist/queries/findCallsInFunction.d.ts.map +1 -0
  348. package/dist/queries/findCallsInFunction.js +135 -0
  349. package/dist/queries/findContainingFunction.d.ts +45 -0
  350. package/dist/queries/findContainingFunction.d.ts.map +1 -0
  351. package/dist/queries/findContainingFunction.js +54 -0
  352. package/dist/queries/index.d.ts +14 -0
  353. package/dist/queries/index.d.ts.map +1 -0
  354. package/dist/queries/index.js +11 -0
  355. package/dist/queries/traceValues.d.ts +70 -0
  356. package/dist/queries/traceValues.d.ts.map +1 -0
  357. package/dist/queries/traceValues.js +299 -0
  358. package/dist/queries/types.d.ts +163 -0
  359. package/dist/queries/types.d.ts.map +1 -0
  360. package/dist/queries/types.js +9 -0
  361. package/dist/schema/GraphSchemaExtractor.d.ts +53 -0
  362. package/dist/schema/GraphSchemaExtractor.d.ts.map +1 -0
  363. package/dist/schema/GraphSchemaExtractor.js +124 -0
  364. package/dist/schema/InterfaceSchemaExtractor.d.ts +73 -0
  365. package/dist/schema/InterfaceSchemaExtractor.d.ts.map +1 -0
  366. package/dist/schema/InterfaceSchemaExtractor.js +112 -0
  367. package/dist/schema/index.d.ts +5 -0
  368. package/dist/schema/index.d.ts.map +1 -0
  369. package/dist/schema/index.js +2 -0
  370. package/dist/storage/backends/RFDBServerBackend.d.ts +21 -34
  371. package/dist/storage/backends/RFDBServerBackend.d.ts.map +1 -1
  372. package/dist/storage/backends/RFDBServerBackend.js +72 -62
  373. package/dist/storage/backends/typeValidation.d.ts.map +1 -1
  374. package/dist/storage/backends/typeValidation.js +1 -0
  375. package/dist/validation/PathValidator.d.ts +1 -2
  376. package/dist/validation/PathValidator.d.ts.map +1 -1
  377. package/package.json +3 -3
  378. package/src/Orchestrator.ts +272 -27
  379. package/src/config/ConfigLoader.ts +354 -0
  380. package/src/config/index.ts +5 -0
  381. package/src/core/ASTWorker.ts +143 -139
  382. package/src/core/CoverageAnalyzer.ts +243 -0
  383. package/src/core/FileExplainer.ts +179 -0
  384. package/src/core/FileNodeManager.ts +100 -0
  385. package/src/core/GraphFreshnessChecker.ts +143 -0
  386. package/src/core/HashUtils.ts +48 -0
  387. package/src/core/IncrementalReanalyzer.ts +192 -0
  388. package/src/core/NodeFactory.ts +470 -23
  389. package/src/core/ScopeTracker.ts +154 -0
  390. package/src/core/SemanticId.ts +192 -0
  391. package/src/core/VersionManager.ts +3 -2
  392. package/src/core/nodes/ArgumentExpressionNode.ts +89 -0
  393. package/src/core/nodes/ArrayLiteralNode.ts +66 -0
  394. package/src/core/nodes/BranchNode.ts +113 -0
  395. package/src/core/nodes/CallSiteNode.ts +64 -4
  396. package/src/core/nodes/CaseNode.ts +123 -0
  397. package/src/core/nodes/ClassNode.ts +67 -4
  398. package/src/core/nodes/ConstantNode.ts +5 -4
  399. package/src/core/nodes/ConstructorCallNode.ts +217 -0
  400. package/src/core/nodes/DatabaseQueryNode.ts +5 -1
  401. package/src/core/nodes/DecoratorNode.ts +92 -0
  402. package/src/core/nodes/EnumNode.ts +87 -0
  403. package/src/core/nodes/EventListenerNode.ts +7 -4
  404. package/src/core/nodes/ExportNode.ts +74 -4
  405. package/src/core/nodes/ExpressionNode.ts +232 -0
  406. package/src/core/nodes/ExternalModuleNode.ts +65 -0
  407. package/src/core/nodes/ExternalStdioNode.ts +17 -9
  408. package/src/core/nodes/FunctionNode.ts +101 -1
  409. package/src/core/nodes/HttpRequestNode.ts +7 -4
  410. package/src/core/nodes/ImportNode.ts +62 -13
  411. package/src/core/nodes/InterfaceNode.ts +92 -0
  412. package/src/core/nodes/IssueNode.ts +177 -0
  413. package/src/core/nodes/LiteralNode.ts +5 -4
  414. package/src/core/nodes/MethodCallNode.ts +70 -4
  415. package/src/core/nodes/MethodNode.ts +68 -3
  416. package/src/core/nodes/ModuleNode.ts +50 -0
  417. package/src/core/nodes/NetworkRequestNode.ts +77 -0
  418. package/src/core/nodes/ObjectLiteralNode.ts +66 -0
  419. package/src/core/nodes/ParameterNode.ts +4 -3
  420. package/src/core/nodes/ScopeNode.ts +65 -0
  421. package/src/core/nodes/TypeNode.ts +79 -0
  422. package/src/core/nodes/VariableDeclarationNode.ts +58 -4
  423. package/src/core/nodes/index.ts +21 -1
  424. package/src/data/builtins/BuiltinRegistry.ts +124 -0
  425. package/src/data/builtins/definitions.ts +267 -0
  426. package/src/data/builtins/index.ts +10 -0
  427. package/src/data/builtins/jsGlobals.ts +28 -0
  428. package/src/data/builtins/types.ts +36 -0
  429. package/src/data/globals/definitions.ts +156 -0
  430. package/src/data/globals/index.ts +66 -0
  431. package/src/diagnostics/DiagnosticCollector.ts +163 -0
  432. package/src/diagnostics/DiagnosticReporter.ts +324 -0
  433. package/src/diagnostics/DiagnosticWriter.ts +50 -0
  434. package/src/diagnostics/index.ts +16 -0
  435. package/src/errors/GrafemaError.ts +239 -0
  436. package/src/index.ts +193 -1
  437. package/src/logging/Logger.ts +152 -0
  438. package/src/plugins/Plugin.ts +42 -0
  439. package/src/plugins/analysis/DatabaseAnalyzer.ts +16 -8
  440. package/src/plugins/analysis/ExpressAnalyzer.ts +33 -19
  441. package/src/plugins/analysis/ExpressResponseAnalyzer.ts +636 -0
  442. package/src/plugins/analysis/ExpressRouteAnalyzer.ts +76 -36
  443. package/src/plugins/analysis/FetchAnalyzer.ts +232 -21
  444. package/src/plugins/analysis/IncrementalAnalysisPlugin.ts +84 -101
  445. package/src/plugins/analysis/JSASTAnalyzer.ts +4265 -587
  446. package/src/plugins/analysis/ReactAnalyzer.ts +57 -57
  447. package/src/plugins/analysis/RustAnalyzer.ts +16 -11
  448. package/src/plugins/analysis/SQLiteAnalyzer.ts +13 -7
  449. package/src/plugins/analysis/ServiceLayerAnalyzer.ts +22 -16
  450. package/src/plugins/analysis/SocketIOAnalyzer.ts +151 -28
  451. package/src/plugins/analysis/SystemDbAnalyzer.ts +16 -11
  452. package/src/plugins/analysis/ast/GraphBuilder.ts +1947 -327
  453. package/src/plugins/analysis/ast/IdGenerator.ts +177 -0
  454. package/src/plugins/analysis/ast/types.ts +596 -6
  455. package/src/plugins/analysis/ast/utils/createParameterNodes.ts +104 -0
  456. package/src/plugins/analysis/ast/utils/index.ts +12 -0
  457. package/src/plugins/analysis/ast/utils/location.ts +103 -0
  458. package/src/plugins/analysis/ast/visitors/ASTVisitor.ts +19 -8
  459. package/src/plugins/analysis/ast/visitors/CallExpressionVisitor.ts +924 -83
  460. package/src/plugins/analysis/ast/visitors/ClassVisitor.ts +97 -44
  461. package/src/plugins/analysis/ast/visitors/FunctionVisitor.ts +234 -93
  462. package/src/plugins/analysis/ast/visitors/ImportExportVisitor.ts +124 -9
  463. package/src/plugins/analysis/ast/visitors/TypeScriptVisitor.ts +41 -14
  464. package/src/plugins/analysis/ast/visitors/VariableVisitor.ts +294 -49
  465. package/src/plugins/discovery/MonorepoServiceDiscovery.ts +3 -2
  466. package/src/plugins/discovery/SimpleProjectDiscovery.ts +6 -1
  467. package/src/plugins/discovery/WorkspaceDiscovery.ts +184 -0
  468. package/src/plugins/discovery/resolveSourceEntrypoint.ts +103 -0
  469. package/src/plugins/discovery/workspaces/detector.ts +63 -0
  470. package/src/plugins/discovery/workspaces/globResolver.ts +229 -0
  471. package/src/plugins/discovery/workspaces/index.ts +23 -0
  472. package/src/plugins/discovery/workspaces/parsers.ts +99 -0
  473. package/src/plugins/enrichment/AliasTracker.ts +35 -8
  474. package/src/plugins/enrichment/ArgumentParameterLinker.ts +240 -0
  475. package/src/plugins/enrichment/ClosureCaptureEnricher.ts +267 -0
  476. package/src/plugins/enrichment/ExternalCallResolver.ts +262 -0
  477. package/src/plugins/enrichment/FunctionCallResolver.ts +456 -0
  478. package/src/plugins/enrichment/HTTPConnectionEnricher.ts +84 -27
  479. package/src/plugins/enrichment/ImportExportLinker.ts +24 -6
  480. package/src/plugins/enrichment/MethodCallResolver.ts +39 -13
  481. package/src/plugins/enrichment/MountPointResolver.ts +208 -195
  482. package/src/plugins/enrichment/NodejsBuiltinsResolver.ts +365 -0
  483. package/src/plugins/enrichment/PrefixEvaluator.ts +16 -7
  484. package/src/plugins/enrichment/RustFFIEnricher.ts +6 -5
  485. package/src/plugins/enrichment/ValueDomainAnalyzer.ts +209 -189
  486. package/src/plugins/indexing/IncrementalModuleIndexer.ts +23 -14
  487. package/src/plugins/indexing/JSModuleIndexer.ts +140 -34
  488. package/src/plugins/indexing/RustModuleIndexer.ts +8 -7
  489. package/src/plugins/validation/BrokenImportValidator.ts +325 -0
  490. package/src/plugins/validation/CallResolverValidator.ts +131 -110
  491. package/src/plugins/validation/DataFlowValidator.ts +88 -67
  492. package/src/plugins/validation/EvalBanValidator.ts +17 -16
  493. package/src/plugins/validation/GraphConnectivityValidator.ts +58 -24
  494. package/src/plugins/validation/NodeCreationValidator.ts +554 -0
  495. package/src/plugins/validation/SQLInjectionValidator.ts +63 -20
  496. package/src/plugins/validation/ShadowingDetector.ts +6 -5
  497. package/src/plugins/validation/TypeScriptDeadCodeValidator.ts +12 -11
  498. package/src/plugins/vcs/GitPlugin.ts +40 -12
  499. package/src/plugins/vcs/VCSPlugin.ts +7 -5
  500. package/src/queries/README.md +46 -0
  501. package/src/queries/findCallsInFunction.ts +206 -0
  502. package/src/queries/findContainingFunction.ts +83 -0
  503. package/src/queries/index.ts +23 -0
  504. package/src/queries/traceValues.ts +398 -0
  505. package/src/queries/types.ts +187 -0
  506. package/src/schema/GraphSchemaExtractor.ts +177 -0
  507. package/src/schema/InterfaceSchemaExtractor.ts +173 -0
  508. package/src/schema/index.ts +5 -0
  509. package/src/storage/backends/RFDBServerBackend.ts +100 -98
  510. package/src/storage/backends/typeValidation.ts +1 -0
  511. package/src/validation/PathValidator.ts +1 -1
  512. package/dist/core/AnalysisWorker.d.ts +0 -14
  513. package/dist/core/AnalysisWorker.d.ts.map +0 -1
  514. package/dist/core/AnalysisWorker.js +0 -307
  515. package/dist/core/ParallelAnalyzer.d.ts +0 -120
  516. package/dist/core/ParallelAnalyzer.d.ts.map +0 -1
  517. package/dist/core/ParallelAnalyzer.js +0 -331
  518. package/dist/core/QueueWorker.d.ts +0 -12
  519. package/dist/core/QueueWorker.d.ts.map +0 -1
  520. package/dist/core/QueueWorker.js +0 -567
  521. package/dist/core/RFDBClient.d.ts +0 -179
  522. package/dist/core/RFDBClient.d.ts.map +0 -1
  523. package/dist/core/RFDBClient.js +0 -429
  524. package/dist/plugins/discovery/ZonServiceDiscovery.d.ts +0 -19
  525. package/dist/plugins/discovery/ZonServiceDiscovery.d.ts.map +0 -1
  526. package/dist/plugins/discovery/ZonServiceDiscovery.js +0 -204
  527. package/src/core/AnalysisWorker.ts +0 -410
  528. package/src/core/ParallelAnalyzer.ts +0 -476
  529. package/src/core/QueueWorker.ts +0 -780
  530. package/src/plugins/indexing/ServiceDetector.ts +0 -230
@@ -0,0 +1,27 @@
1
+ /**
2
+ * Global Symbol Definitions
3
+ *
4
+ * JavaScript/TypeScript globals that should not be reported as undefined.
5
+ * Organized by environment and category.
6
+ */
7
+ /**
8
+ * ECMAScript standard globals (available in all JS environments)
9
+ */
10
+ export declare const ECMASCRIPT_GLOBALS: string[];
11
+ /**
12
+ * Node.js-specific globals
13
+ */
14
+ export declare const NODEJS_GLOBALS: string[];
15
+ /**
16
+ * Browser-specific globals (commonly used, may appear in isomorphic code)
17
+ */
18
+ export declare const BROWSER_GLOBALS: string[];
19
+ /**
20
+ * Test framework globals (common testing environments)
21
+ */
22
+ export declare const TEST_GLOBALS: string[];
23
+ /**
24
+ * All default globals combined
25
+ */
26
+ export declare const ALL_GLOBALS: Set<string>;
27
+ //# sourceMappingURL=definitions.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"definitions.d.ts","sourceRoot":"","sources":["../../../src/data/globals/definitions.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH;;GAEG;AACH,eAAO,MAAM,kBAAkB,EAAE,MAAM,EAsCtC,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,cAAc,EAAE,MAAM,EAwClC,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,eAAe,EAAE,MAAM,EA8BnC,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,YAAY,EAAE,MAAM,EAYhC,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,WAAW,EAAE,GAAG,CAAC,MAAM,CAKlC,CAAC"}
@@ -0,0 +1,117 @@
1
+ /**
2
+ * Global Symbol Definitions
3
+ *
4
+ * JavaScript/TypeScript globals that should not be reported as undefined.
5
+ * Organized by environment and category.
6
+ */
7
+ /**
8
+ * ECMAScript standard globals (available in all JS environments)
9
+ */
10
+ export const ECMASCRIPT_GLOBALS = [
11
+ // Value properties
12
+ 'globalThis', 'Infinity', 'NaN', 'undefined',
13
+ // Function properties
14
+ 'eval', 'isFinite', 'isNaN', 'parseFloat', 'parseInt', 'decodeURI',
15
+ 'decodeURIComponent', 'encodeURI', 'encodeURIComponent',
16
+ // Fundamental objects
17
+ 'Object', 'Function', 'Boolean', 'Symbol',
18
+ // Error objects
19
+ 'Error', 'AggregateError', 'EvalError', 'RangeError', 'ReferenceError',
20
+ 'SyntaxError', 'TypeError', 'URIError',
21
+ // Numbers and dates
22
+ 'Number', 'BigInt', 'Math', 'Date',
23
+ // Text processing
24
+ 'String', 'RegExp',
25
+ // Collections
26
+ 'Array', 'Int8Array', 'Uint8Array', 'Uint8ClampedArray', 'Int16Array',
27
+ 'Uint16Array', 'Int32Array', 'Uint32Array', 'Float32Array', 'Float64Array',
28
+ 'BigInt64Array', 'BigUint64Array', 'Map', 'Set', 'WeakMap', 'WeakSet',
29
+ // Structured data
30
+ 'ArrayBuffer', 'SharedArrayBuffer', 'DataView', 'Atomics', 'JSON',
31
+ // Control abstraction
32
+ 'Promise', 'Generator', 'GeneratorFunction', 'AsyncFunction',
33
+ 'AsyncGenerator', 'AsyncGeneratorFunction',
34
+ // Reflection
35
+ 'Reflect', 'Proxy',
36
+ // Internationalization
37
+ 'Intl',
38
+ ];
39
+ /**
40
+ * Node.js-specific globals
41
+ */
42
+ export const NODEJS_GLOBALS = [
43
+ // Core globals
44
+ 'console', 'process', 'global', 'Buffer',
45
+ // Timers
46
+ 'setTimeout', 'clearTimeout', 'setInterval', 'clearInterval',
47
+ 'setImmediate', 'clearImmediate',
48
+ // Module system
49
+ 'require', 'module', 'exports', '__dirname', '__filename',
50
+ // URL/fetch (Node 18+)
51
+ 'fetch', 'URL', 'URLSearchParams', 'Request', 'Response', 'Headers',
52
+ // Blob/File (Node 18+)
53
+ 'Blob', 'File', 'FormData',
54
+ // Streams
55
+ 'ReadableStream', 'WritableStream', 'TransformStream',
56
+ // Crypto
57
+ 'crypto', 'Crypto', 'CryptoKey', 'SubtleCrypto',
58
+ // Text encoding
59
+ 'TextEncoder', 'TextDecoder',
60
+ // Events
61
+ 'Event', 'EventTarget', 'AbortController', 'AbortSignal',
62
+ // Performance
63
+ 'performance', 'PerformanceEntry', 'PerformanceObserver',
64
+ // Queuing
65
+ 'queueMicrotask',
66
+ // MessageChannel
67
+ 'MessageChannel', 'MessagePort', 'BroadcastChannel',
68
+ // Structured clone
69
+ 'structuredClone',
70
+ ];
71
+ /**
72
+ * Browser-specific globals (commonly used, may appear in isomorphic code)
73
+ */
74
+ export const BROWSER_GLOBALS = [
75
+ // DOM
76
+ 'window', 'document', 'navigator', 'location', 'history',
77
+ // Elements
78
+ 'HTMLElement', 'Element', 'Node', 'NodeList', 'DocumentFragment',
79
+ // Events
80
+ 'addEventListener', 'removeEventListener', 'CustomEvent',
81
+ // Storage
82
+ 'localStorage', 'sessionStorage', 'indexedDB',
83
+ // Workers
84
+ 'Worker', 'SharedWorker', 'ServiceWorker',
85
+ // Animation
86
+ 'requestAnimationFrame', 'cancelAnimationFrame',
87
+ // Alerts
88
+ 'alert', 'confirm', 'prompt',
89
+ // Screen/viewport
90
+ 'screen', 'innerWidth', 'innerHeight', 'scrollX', 'scrollY',
91
+ // Image/media
92
+ 'Image', 'Audio', 'Video',
93
+ // Observers
94
+ 'MutationObserver', 'IntersectionObserver', 'ResizeObserver',
95
+ ];
96
+ /**
97
+ * Test framework globals (common testing environments)
98
+ */
99
+ export const TEST_GLOBALS = [
100
+ // Node.js test runner
101
+ 'describe', 'it', 'test', 'before', 'after', 'beforeEach', 'afterEach',
102
+ // Jest
103
+ 'expect', 'jest', 'mock', 'spyOn', 'fn',
104
+ // Mocha/Chai
105
+ 'assert', 'should',
106
+ // Vitest
107
+ 'vi',
108
+ ];
109
+ /**
110
+ * All default globals combined
111
+ */
112
+ export const ALL_GLOBALS = new Set([
113
+ ...ECMASCRIPT_GLOBALS,
114
+ ...NODEJS_GLOBALS,
115
+ ...BROWSER_GLOBALS,
116
+ ...TEST_GLOBALS,
117
+ ]);
@@ -0,0 +1,36 @@
1
+ /**
2
+ * Global Symbols Registry
3
+ *
4
+ * Provides lookup for JavaScript/TypeScript global symbols.
5
+ * Used by BrokenImportValidator to avoid false positives on globals.
6
+ */
7
+ export { ECMASCRIPT_GLOBALS, NODEJS_GLOBALS, BROWSER_GLOBALS, TEST_GLOBALS, ALL_GLOBALS, } from './definitions.js';
8
+ /**
9
+ * GlobalsRegistry class for extensible globals management.
10
+ *
11
+ * Usage:
12
+ * const registry = new GlobalsRegistry();
13
+ * if (registry.isGlobal('console')) { ... }
14
+ * registry.addCustomGlobals(['myGlobal']);
15
+ */
16
+ export declare class GlobalsRegistry {
17
+ private globals;
18
+ constructor(includeDefaults?: boolean);
19
+ /**
20
+ * Check if a symbol name is a known global.
21
+ */
22
+ isGlobal(name: string): boolean;
23
+ /**
24
+ * Add custom globals (e.g., from project config).
25
+ */
26
+ addCustomGlobals(names: string[]): void;
27
+ /**
28
+ * Remove globals from the set (e.g., if project doesn't use browser env).
29
+ */
30
+ removeGlobals(names: string[]): void;
31
+ /**
32
+ * Get all registered globals.
33
+ */
34
+ getAllGlobals(): string[];
35
+ }
36
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/data/globals/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH,OAAO,EACL,kBAAkB,EAClB,cAAc,EACd,eAAe,EACf,YAAY,EACZ,WAAW,GACZ,MAAM,kBAAkB,CAAC;AAE1B;;;;;;;GAOG;AACH,qBAAa,eAAe;IAC1B,OAAO,CAAC,OAAO,CAAc;gBAEjB,eAAe,GAAE,OAAc;IAM3C;;OAEG;IACH,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;IAI/B;;OAEG;IACH,gBAAgB,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,IAAI;IAMvC;;OAEG;IACH,aAAa,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,IAAI;IAMpC;;OAEG;IACH,aAAa,IAAI,MAAM,EAAE;CAG1B"}
@@ -0,0 +1,52 @@
1
+ /**
2
+ * Global Symbols Registry
3
+ *
4
+ * Provides lookup for JavaScript/TypeScript global symbols.
5
+ * Used by BrokenImportValidator to avoid false positives on globals.
6
+ */
7
+ import { ALL_GLOBALS as DEFAULT_GLOBALS } from './definitions.js';
8
+ export { ECMASCRIPT_GLOBALS, NODEJS_GLOBALS, BROWSER_GLOBALS, TEST_GLOBALS, ALL_GLOBALS, } from './definitions.js';
9
+ /**
10
+ * GlobalsRegistry class for extensible globals management.
11
+ *
12
+ * Usage:
13
+ * const registry = new GlobalsRegistry();
14
+ * if (registry.isGlobal('console')) { ... }
15
+ * registry.addCustomGlobals(['myGlobal']);
16
+ */
17
+ export class GlobalsRegistry {
18
+ globals;
19
+ constructor(includeDefaults = true) {
20
+ this.globals = includeDefaults
21
+ ? new Set(DEFAULT_GLOBALS)
22
+ : new Set();
23
+ }
24
+ /**
25
+ * Check if a symbol name is a known global.
26
+ */
27
+ isGlobal(name) {
28
+ return this.globals.has(name);
29
+ }
30
+ /**
31
+ * Add custom globals (e.g., from project config).
32
+ */
33
+ addCustomGlobals(names) {
34
+ for (const name of names) {
35
+ this.globals.add(name);
36
+ }
37
+ }
38
+ /**
39
+ * Remove globals from the set (e.g., if project doesn't use browser env).
40
+ */
41
+ removeGlobals(names) {
42
+ for (const name of names) {
43
+ this.globals.delete(name);
44
+ }
45
+ }
46
+ /**
47
+ * Get all registered globals.
48
+ */
49
+ getAllGlobals() {
50
+ return Array.from(this.globals);
51
+ }
52
+ }
@@ -0,0 +1,98 @@
1
+ /**
2
+ * DiagnosticCollector - Collects and filters diagnostics from plugin execution
3
+ *
4
+ * The DiagnosticCollector aggregates errors from PluginResult.errors[],
5
+ * converting both GrafemaError instances (with rich info) and plain Error
6
+ * instances (treated as generic errors) into unified Diagnostic entries.
7
+ *
8
+ * Usage:
9
+ * const collector = new DiagnosticCollector();
10
+ * collector.addFromPluginResult('INDEXING', 'JSModuleIndexer', result);
11
+ *
12
+ * if (collector.hasFatal()) {
13
+ * throw new Error('Fatal error detected');
14
+ * }
15
+ *
16
+ * console.log(collector.toDiagnosticsLog());
17
+ */
18
+ import type { PluginPhase, PluginResult } from '@grafema/types';
19
+ /**
20
+ * Diagnostic entry - unified format for all errors/warnings
21
+ */
22
+ export interface Diagnostic {
23
+ code: string;
24
+ severity: 'fatal' | 'error' | 'warning' | 'info';
25
+ message: string;
26
+ file?: string;
27
+ line?: number;
28
+ phase: PluginPhase;
29
+ plugin: string;
30
+ timestamp: number;
31
+ suggestion?: string;
32
+ }
33
+ /**
34
+ * Diagnostic input (without timestamp, which is auto-generated)
35
+ */
36
+ export type DiagnosticInput = Omit<Diagnostic, 'timestamp'>;
37
+ /**
38
+ * DiagnosticCollector - collects, filters, and formats diagnostics
39
+ */
40
+ export declare class DiagnosticCollector {
41
+ private diagnostics;
42
+ /**
43
+ * Extract errors from PluginResult and add as diagnostics.
44
+ *
45
+ * GrafemaError instances provide rich info (code, severity, context, suggestion).
46
+ * Plain Error instances are treated as generic errors with code 'ERR_UNKNOWN'.
47
+ */
48
+ addFromPluginResult(phase: PluginPhase, plugin: string, result: PluginResult): void;
49
+ /**
50
+ * Add a diagnostic directly.
51
+ * Timestamp is set automatically.
52
+ */
53
+ add(diagnostic: DiagnosticInput): void;
54
+ /**
55
+ * Get all diagnostics.
56
+ * Returns a copy to prevent external modification.
57
+ */
58
+ getAll(): Diagnostic[];
59
+ /**
60
+ * Get diagnostics filtered by phase.
61
+ */
62
+ getByPhase(phase: PluginPhase): Diagnostic[];
63
+ /**
64
+ * Get diagnostics filtered by plugin name (case-sensitive).
65
+ */
66
+ getByPlugin(plugin: string): Diagnostic[];
67
+ /**
68
+ * Get diagnostics filtered by error code.
69
+ */
70
+ getByCode(code: string): Diagnostic[];
71
+ /**
72
+ * Check if any fatal diagnostic exists.
73
+ * Fatal errors require immediate stop of analysis.
74
+ */
75
+ hasFatal(): boolean;
76
+ /**
77
+ * Check if any error (including fatal) exists.
78
+ */
79
+ hasErrors(): boolean;
80
+ /**
81
+ * Check if any warning exists.
82
+ */
83
+ hasWarnings(): boolean;
84
+ /**
85
+ * Get total count of diagnostics.
86
+ */
87
+ count(): number;
88
+ /**
89
+ * Format diagnostics as JSON lines (one JSON object per line).
90
+ * Suitable for .grafema/diagnostics.log file.
91
+ */
92
+ toDiagnosticsLog(): string;
93
+ /**
94
+ * Clear all diagnostics.
95
+ */
96
+ clear(): void;
97
+ }
98
+ //# sourceMappingURL=DiagnosticCollector.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DiagnosticCollector.d.ts","sourceRoot":"","sources":["../../src/diagnostics/DiagnosticCollector.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAGhE;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,OAAO,GAAG,OAAO,GAAG,SAAS,GAAG,MAAM,CAAC;IACjD,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,WAAW,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED;;GAEG;AACH,MAAM,MAAM,eAAe,GAAG,IAAI,CAAC,UAAU,EAAE,WAAW,CAAC,CAAC;AAE5D;;GAEG;AACH,qBAAa,mBAAmB;IAC9B,OAAO,CAAC,WAAW,CAAoB;IAEvC;;;;;OAKG;IACH,mBAAmB,CAAC,KAAK,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY,GAAG,IAAI;IA0BnF;;;OAGG;IACH,GAAG,CAAC,UAAU,EAAE,eAAe,GAAG,IAAI;IAOtC;;;OAGG;IACH,MAAM,IAAI,UAAU,EAAE;IAItB;;OAEG;IACH,UAAU,CAAC,KAAK,EAAE,WAAW,GAAG,UAAU,EAAE;IAI5C;;OAEG;IACH,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,UAAU,EAAE;IAIzC;;OAEG;IACH,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,UAAU,EAAE;IAIrC;;;OAGG;IACH,QAAQ,IAAI,OAAO;IAInB;;OAEG;IACH,SAAS,IAAI,OAAO;IAIpB;;OAEG;IACH,WAAW,IAAI,OAAO;IAItB;;OAEG;IACH,KAAK,IAAI,MAAM;IAIf;;;OAGG;IACH,gBAAgB,IAAI,MAAM;IAI1B;;OAEG;IACH,KAAK,IAAI,IAAI;CAGd"}
@@ -0,0 +1,129 @@
1
+ /**
2
+ * DiagnosticCollector - Collects and filters diagnostics from plugin execution
3
+ *
4
+ * The DiagnosticCollector aggregates errors from PluginResult.errors[],
5
+ * converting both GrafemaError instances (with rich info) and plain Error
6
+ * instances (treated as generic errors) into unified Diagnostic entries.
7
+ *
8
+ * Usage:
9
+ * const collector = new DiagnosticCollector();
10
+ * collector.addFromPluginResult('INDEXING', 'JSModuleIndexer', result);
11
+ *
12
+ * if (collector.hasFatal()) {
13
+ * throw new Error('Fatal error detected');
14
+ * }
15
+ *
16
+ * console.log(collector.toDiagnosticsLog());
17
+ */
18
+ import { GrafemaError } from '../errors/GrafemaError.js';
19
+ /**
20
+ * DiagnosticCollector - collects, filters, and formats diagnostics
21
+ */
22
+ export class DiagnosticCollector {
23
+ diagnostics = [];
24
+ /**
25
+ * Extract errors from PluginResult and add as diagnostics.
26
+ *
27
+ * GrafemaError instances provide rich info (code, severity, context, suggestion).
28
+ * Plain Error instances are treated as generic errors with code 'ERR_UNKNOWN'.
29
+ */
30
+ addFromPluginResult(phase, plugin, result) {
31
+ for (const error of result.errors) {
32
+ if (error instanceof GrafemaError) {
33
+ this.add({
34
+ code: error.code,
35
+ severity: error.severity,
36
+ message: error.message,
37
+ file: error.context.filePath,
38
+ line: error.context.lineNumber,
39
+ phase,
40
+ plugin,
41
+ suggestion: error.suggestion,
42
+ });
43
+ }
44
+ else {
45
+ // Plain Error - treat as generic error
46
+ this.add({
47
+ code: 'ERR_UNKNOWN',
48
+ severity: 'error',
49
+ message: error.message,
50
+ phase,
51
+ plugin,
52
+ });
53
+ }
54
+ }
55
+ }
56
+ /**
57
+ * Add a diagnostic directly.
58
+ * Timestamp is set automatically.
59
+ */
60
+ add(diagnostic) {
61
+ this.diagnostics.push({
62
+ ...diagnostic,
63
+ timestamp: Date.now(),
64
+ });
65
+ }
66
+ /**
67
+ * Get all diagnostics.
68
+ * Returns a copy to prevent external modification.
69
+ */
70
+ getAll() {
71
+ return [...this.diagnostics];
72
+ }
73
+ /**
74
+ * Get diagnostics filtered by phase.
75
+ */
76
+ getByPhase(phase) {
77
+ return this.diagnostics.filter(d => d.phase === phase);
78
+ }
79
+ /**
80
+ * Get diagnostics filtered by plugin name (case-sensitive).
81
+ */
82
+ getByPlugin(plugin) {
83
+ return this.diagnostics.filter(d => d.plugin === plugin);
84
+ }
85
+ /**
86
+ * Get diagnostics filtered by error code.
87
+ */
88
+ getByCode(code) {
89
+ return this.diagnostics.filter(d => d.code === code);
90
+ }
91
+ /**
92
+ * Check if any fatal diagnostic exists.
93
+ * Fatal errors require immediate stop of analysis.
94
+ */
95
+ hasFatal() {
96
+ return this.diagnostics.some(d => d.severity === 'fatal');
97
+ }
98
+ /**
99
+ * Check if any error (including fatal) exists.
100
+ */
101
+ hasErrors() {
102
+ return this.diagnostics.some(d => d.severity === 'error' || d.severity === 'fatal');
103
+ }
104
+ /**
105
+ * Check if any warning exists.
106
+ */
107
+ hasWarnings() {
108
+ return this.diagnostics.some(d => d.severity === 'warning');
109
+ }
110
+ /**
111
+ * Get total count of diagnostics.
112
+ */
113
+ count() {
114
+ return this.diagnostics.length;
115
+ }
116
+ /**
117
+ * Format diagnostics as JSON lines (one JSON object per line).
118
+ * Suitable for .grafema/diagnostics.log file.
119
+ */
120
+ toDiagnosticsLog() {
121
+ return this.diagnostics.map(d => JSON.stringify(d)).join('\n');
122
+ }
123
+ /**
124
+ * Clear all diagnostics.
125
+ */
126
+ clear() {
127
+ this.diagnostics = [];
128
+ }
129
+ }
@@ -0,0 +1,100 @@
1
+ /**
2
+ * DiagnosticReporter - Formats diagnostics for output
3
+ *
4
+ * Supports multiple output formats:
5
+ * - text: Human-readable format with severity indicators
6
+ * - json: Machine-readable JSON format for CI integration
7
+ * - csv: Spreadsheet-compatible format
8
+ *
9
+ * Usage:
10
+ * const reporter = new DiagnosticReporter(collector);
11
+ * console.log(reporter.report({ format: 'text', includeSummary: true }));
12
+ * console.log(reporter.summary());
13
+ */
14
+ import type { DiagnosticCollector } from './DiagnosticCollector.js';
15
+ /**
16
+ * Report output options
17
+ */
18
+ export interface ReportOptions {
19
+ format: 'text' | 'json' | 'csv';
20
+ includeSummary?: boolean;
21
+ includeTrace?: boolean;
22
+ }
23
+ /**
24
+ * Summary statistics
25
+ */
26
+ export interface SummaryStats {
27
+ total: number;
28
+ fatal: number;
29
+ errors: number;
30
+ warnings: number;
31
+ info: number;
32
+ }
33
+ /**
34
+ * Category count with metadata
35
+ */
36
+ export interface CategoryCount {
37
+ code: string;
38
+ count: number;
39
+ name: string;
40
+ checkCommand: string;
41
+ }
42
+ /**
43
+ * Summary statistics with category breakdown
44
+ */
45
+ export interface CategorizedSummaryStats extends SummaryStats {
46
+ byCode: CategoryCount[];
47
+ }
48
+ /**
49
+ * DiagnosticReporter - formats diagnostics for different output formats
50
+ */
51
+ export declare class DiagnosticReporter {
52
+ private collector;
53
+ constructor(collector: DiagnosticCollector);
54
+ /**
55
+ * Generate a formatted report of all diagnostics.
56
+ */
57
+ report(options: ReportOptions): string;
58
+ /**
59
+ * Generate a human-readable summary of diagnostic counts.
60
+ */
61
+ summary(): string;
62
+ /**
63
+ * Generate a categorized summary with actionable commands.
64
+ */
65
+ categorizedSummary(): string;
66
+ /**
67
+ * Get diagnostic statistics by severity.
68
+ */
69
+ getStats(): SummaryStats;
70
+ /**
71
+ * Get diagnostic statistics grouped by category.
72
+ */
73
+ getCategorizedStats(): CategorizedSummaryStats;
74
+ /**
75
+ * Generate human-readable text report.
76
+ */
77
+ private textReport;
78
+ /**
79
+ * Generate JSON report.
80
+ */
81
+ private jsonReport;
82
+ /**
83
+ * Generate CSV report.
84
+ */
85
+ private csvReport;
86
+ /**
87
+ * Get severity indicator for text output.
88
+ */
89
+ private getSeverityIcon;
90
+ /**
91
+ * Format file location for display.
92
+ */
93
+ private formatLocation;
94
+ /**
95
+ * Escape a value for CSV output.
96
+ * Wraps in quotes and escapes internal quotes.
97
+ */
98
+ private csvEscape;
99
+ }
100
+ //# sourceMappingURL=DiagnosticReporter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DiagnosticReporter.d.ts","sourceRoot":"","sources":["../../src/diagnostics/DiagnosticReporter.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,KAAK,EAAc,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAiBhF;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,KAAK,CAAC;IAChC,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,YAAY,CAAC,EAAE,OAAO,CAAC;CACxB;AAED;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;CACd;AAED;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,YAAY,EAAE,MAAM,CAAC;CACtB;AAED;;GAEG;AACH,MAAM,WAAW,uBAAwB,SAAQ,YAAY;IAC3D,MAAM,EAAE,aAAa,EAAE,CAAC;CACzB;AAED;;GAEG;AACH,qBAAa,kBAAkB;IACjB,OAAO,CAAC,SAAS;gBAAT,SAAS,EAAE,mBAAmB;IAElD;;OAEG;IACH,MAAM,CAAC,OAAO,EAAE,aAAa,GAAG,MAAM;IAYtC;;OAEG;IACH,OAAO,IAAI,MAAM;IAsBjB;;OAEG;IACH,kBAAkB,IAAI,MAAM;IA0C5B;;OAEG;IACH,QAAQ,IAAI,YAAY;IAWxB;;OAEG;IACH,mBAAmB,IAAI,uBAAuB;IAwC9C;;OAEG;IACH,OAAO,CAAC,UAAU;IA0BlB;;OAEG;IACH,OAAO,CAAC,UAAU;IAelB;;OAEG;IACH,OAAO,CAAC,SAAS;IAiBjB;;OAEG;IACH,OAAO,CAAC,eAAe;IAevB;;OAEG;IACH,OAAO,CAAC,cAAc;IAUtB;;;OAGG;IACH,OAAO,CAAC,SAAS;CAKlB"}