@grafema/core 0.1.0-alpha.4 → 0.1.1-alpha
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +0 -1
- package/dist/Orchestrator.d.ts +24 -2
- package/dist/Orchestrator.d.ts.map +1 -1
- package/dist/Orchestrator.js +197 -24
- package/dist/config/ConfigLoader.d.ts +72 -0
- package/dist/config/ConfigLoader.d.ts.map +1 -0
- package/dist/config/ConfigLoader.js +187 -0
- package/dist/config/index.d.ts +6 -0
- package/dist/config/index.d.ts.map +1 -0
- package/dist/config/index.js +4 -0
- package/dist/core/ASTWorker.d.ts +11 -36
- package/dist/core/ASTWorker.d.ts.map +1 -1
- package/dist/core/ASTWorker.js +93 -99
- package/dist/core/CoverageAnalyzer.d.ts +65 -0
- package/dist/core/CoverageAnalyzer.d.ts.map +1 -0
- package/dist/core/CoverageAnalyzer.js +198 -0
- package/dist/core/FileNodeManager.d.ts +40 -0
- package/dist/core/FileNodeManager.d.ts.map +1 -0
- package/dist/core/FileNodeManager.js +84 -0
- package/dist/core/GraphFreshnessChecker.d.ts +33 -0
- package/dist/core/GraphFreshnessChecker.d.ts.map +1 -0
- package/dist/core/GraphFreshnessChecker.js +101 -0
- package/dist/core/HashUtils.d.ts +24 -0
- package/dist/core/HashUtils.d.ts.map +1 -0
- package/dist/core/HashUtils.js +45 -0
- package/dist/core/IncrementalReanalyzer.d.ts +36 -0
- package/dist/core/IncrementalReanalyzer.d.ts.map +1 -0
- package/dist/core/IncrementalReanalyzer.js +132 -0
- package/dist/core/NodeFactory.d.ts +225 -17
- package/dist/core/NodeFactory.d.ts.map +1 -1
- package/dist/core/NodeFactory.js +208 -18
- package/dist/core/ScopeTracker.d.ts +84 -0
- package/dist/core/ScopeTracker.d.ts.map +1 -0
- package/dist/core/ScopeTracker.js +116 -0
- package/dist/core/SemanticId.d.ts +90 -0
- package/dist/core/SemanticId.d.ts.map +1 -0
- package/dist/core/SemanticId.js +115 -0
- package/dist/core/VersionManager.d.ts.map +1 -1
- package/dist/core/VersionManager.js +3 -2
- package/dist/core/nodes/ArgumentExpressionNode.d.ts +43 -0
- package/dist/core/nodes/ArgumentExpressionNode.d.ts.map +1 -0
- package/dist/core/nodes/ArgumentExpressionNode.js +60 -0
- package/dist/core/nodes/ArrayLiteralNode.d.ts +27 -0
- package/dist/core/nodes/ArrayLiteralNode.d.ts.map +1 -0
- package/dist/core/nodes/ArrayLiteralNode.js +41 -0
- package/dist/core/nodes/CallSiteNode.d.ts +28 -0
- package/dist/core/nodes/CallSiteNode.d.ts.map +1 -1
- package/dist/core/nodes/CallSiteNode.js +46 -0
- package/dist/core/nodes/ClassNode.d.ts +33 -1
- package/dist/core/nodes/ClassNode.d.ts.map +1 -1
- package/dist/core/nodes/ClassNode.js +46 -2
- package/dist/core/nodes/DecoratorNode.d.ts +42 -0
- package/dist/core/nodes/DecoratorNode.d.ts.map +1 -0
- package/dist/core/nodes/DecoratorNode.js +62 -0
- package/dist/core/nodes/EnumNode.d.ts +42 -0
- package/dist/core/nodes/EnumNode.d.ts.map +1 -0
- package/dist/core/nodes/EnumNode.js +54 -0
- package/dist/core/nodes/ExportNode.d.ts +37 -1
- package/dist/core/nodes/ExportNode.d.ts.map +1 -1
- package/dist/core/nodes/ExportNode.js +48 -2
- package/dist/core/nodes/ExpressionNode.d.ts +97 -0
- package/dist/core/nodes/ExpressionNode.d.ts.map +1 -0
- package/dist/core/nodes/ExpressionNode.js +178 -0
- package/dist/core/nodes/ExternalModuleNode.d.ts +28 -0
- package/dist/core/nodes/ExternalModuleNode.d.ts.map +1 -0
- package/dist/core/nodes/ExternalModuleNode.js +41 -0
- package/dist/core/nodes/ExternalStdioNode.d.ts +13 -6
- package/dist/core/nodes/ExternalStdioNode.d.ts.map +1 -1
- package/dist/core/nodes/ExternalStdioNode.js +15 -8
- package/dist/core/nodes/FunctionNode.d.ts +36 -0
- package/dist/core/nodes/FunctionNode.d.ts.map +1 -1
- package/dist/core/nodes/FunctionNode.js +80 -1
- package/dist/core/nodes/ImportNode.d.ts +19 -5
- package/dist/core/nodes/ImportNode.d.ts.map +1 -1
- package/dist/core/nodes/ImportNode.js +23 -5
- package/dist/core/nodes/InterfaceNode.d.ts +46 -0
- package/dist/core/nodes/InterfaceNode.d.ts.map +1 -0
- package/dist/core/nodes/InterfaceNode.js +55 -0
- package/dist/core/nodes/IssueNode.d.ts +73 -0
- package/dist/core/nodes/IssueNode.d.ts.map +1 -0
- package/dist/core/nodes/IssueNode.js +129 -0
- package/dist/core/nodes/MethodCallNode.d.ts +30 -0
- package/dist/core/nodes/MethodCallNode.d.ts.map +1 -1
- package/dist/core/nodes/MethodCallNode.js +49 -0
- package/dist/core/nodes/MethodNode.d.ts +32 -0
- package/dist/core/nodes/MethodNode.d.ts.map +1 -1
- package/dist/core/nodes/MethodNode.js +48 -0
- package/dist/core/nodes/ModuleNode.d.ts +31 -0
- package/dist/core/nodes/ModuleNode.d.ts.map +1 -1
- package/dist/core/nodes/ModuleNode.js +37 -0
- package/dist/core/nodes/NetworkRequestNode.d.ts +54 -0
- package/dist/core/nodes/NetworkRequestNode.d.ts.map +1 -0
- package/dist/core/nodes/NetworkRequestNode.js +65 -0
- package/dist/core/nodes/ObjectLiteralNode.d.ts +27 -0
- package/dist/core/nodes/ObjectLiteralNode.d.ts.map +1 -0
- package/dist/core/nodes/ObjectLiteralNode.js +41 -0
- package/dist/core/nodes/ScopeNode.d.ts +31 -0
- package/dist/core/nodes/ScopeNode.d.ts.map +1 -1
- package/dist/core/nodes/ScopeNode.js +49 -0
- package/dist/core/nodes/TypeNode.d.ts +36 -0
- package/dist/core/nodes/TypeNode.d.ts.map +1 -0
- package/dist/core/nodes/TypeNode.js +53 -0
- package/dist/core/nodes/VariableDeclarationNode.d.ts +27 -0
- package/dist/core/nodes/VariableDeclarationNode.d.ts.map +1 -1
- package/dist/core/nodes/VariableDeclarationNode.js +40 -0
- package/dist/core/nodes/index.d.ts +12 -1
- package/dist/core/nodes/index.d.ts.map +1 -1
- package/dist/core/nodes/index.js +14 -0
- package/dist/diagnostics/DiagnosticCollector.d.ts +98 -0
- package/dist/diagnostics/DiagnosticCollector.d.ts.map +1 -0
- package/dist/diagnostics/DiagnosticCollector.js +129 -0
- package/dist/diagnostics/DiagnosticReporter.d.ts +77 -0
- package/dist/diagnostics/DiagnosticReporter.d.ts.map +1 -0
- package/dist/diagnostics/DiagnosticReporter.js +159 -0
- package/dist/diagnostics/DiagnosticWriter.d.ts +31 -0
- package/dist/diagnostics/DiagnosticWriter.d.ts.map +1 -0
- package/dist/diagnostics/DiagnosticWriter.js +43 -0
- package/dist/diagnostics/index.d.ts +14 -0
- package/dist/diagnostics/index.d.ts.map +1 -0
- package/dist/diagnostics/index.js +11 -0
- package/dist/errors/GrafemaError.d.ts +118 -0
- package/dist/errors/GrafemaError.d.ts.map +1 -0
- package/dist/errors/GrafemaError.js +131 -0
- package/dist/index.d.ts +57 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +54 -1
- package/dist/logging/Logger.d.ts +48 -0
- package/dist/logging/Logger.d.ts.map +1 -0
- package/dist/logging/Logger.js +134 -0
- package/dist/plugins/Plugin.d.ts +5 -1
- package/dist/plugins/Plugin.d.ts.map +1 -1
- package/dist/plugins/Plugin.js +33 -0
- package/dist/plugins/analysis/DatabaseAnalyzer.d.ts.map +1 -1
- package/dist/plugins/analysis/DatabaseAnalyzer.js +13 -6
- package/dist/plugins/analysis/ExpressAnalyzer.d.ts.map +1 -1
- package/dist/plugins/analysis/ExpressAnalyzer.js +27 -19
- package/dist/plugins/analysis/ExpressRouteAnalyzer.d.ts.map +1 -1
- package/dist/plugins/analysis/ExpressRouteAnalyzer.js +21 -14
- package/dist/plugins/analysis/FetchAnalyzer.d.ts +1 -0
- package/dist/plugins/analysis/FetchAnalyzer.d.ts.map +1 -1
- package/dist/plugins/analysis/FetchAnalyzer.js +34 -14
- package/dist/plugins/analysis/IncrementalAnalysisPlugin.d.ts +6 -3
- package/dist/plugins/analysis/IncrementalAnalysisPlugin.d.ts.map +1 -1
- package/dist/plugins/analysis/IncrementalAnalysisPlugin.js +76 -80
- package/dist/plugins/analysis/JSASTAnalyzer.d.ts +180 -17
- package/dist/plugins/analysis/JSASTAnalyzer.d.ts.map +1 -1
- package/dist/plugins/analysis/JSASTAnalyzer.js +1171 -471
- package/dist/plugins/analysis/ReactAnalyzer.d.ts.map +1 -1
- package/dist/plugins/analysis/ReactAnalyzer.js +56 -57
- package/dist/plugins/analysis/RustAnalyzer.d.ts.map +1 -1
- package/dist/plugins/analysis/RustAnalyzer.js +15 -10
- package/dist/plugins/analysis/SQLiteAnalyzer.d.ts.map +1 -1
- package/dist/plugins/analysis/SQLiteAnalyzer.js +9 -7
- package/dist/plugins/analysis/ServiceLayerAnalyzer.d.ts.map +1 -1
- package/dist/plugins/analysis/ServiceLayerAnalyzer.js +21 -9
- package/dist/plugins/analysis/SocketIOAnalyzer.d.ts.map +1 -1
- package/dist/plugins/analysis/SocketIOAnalyzer.js +27 -15
- package/dist/plugins/analysis/SystemDbAnalyzer.d.ts.map +1 -1
- package/dist/plugins/analysis/SystemDbAnalyzer.js +15 -5
- package/dist/plugins/analysis/ast/GraphBuilder.d.ts +34 -4
- package/dist/plugins/analysis/ast/GraphBuilder.d.ts.map +1 -1
- package/dist/plugins/analysis/ast/GraphBuilder.js +318 -298
- package/dist/plugins/analysis/ast/IdGenerator.d.ts +105 -0
- package/dist/plugins/analysis/ast/IdGenerator.d.ts.map +1 -0
- package/dist/plugins/analysis/ast/IdGenerator.js +116 -0
- package/dist/plugins/analysis/ast/types.d.ts +176 -5
- package/dist/plugins/analysis/ast/types.d.ts.map +1 -1
- package/dist/plugins/analysis/ast/utils/createParameterNodes.d.ts +33 -0
- package/dist/plugins/analysis/ast/utils/createParameterNodes.d.ts.map +1 -0
- package/dist/plugins/analysis/ast/utils/createParameterNodes.js +89 -0
- package/dist/plugins/analysis/ast/utils/index.d.ts +6 -0
- package/dist/plugins/analysis/ast/utils/index.d.ts.map +1 -0
- package/dist/plugins/analysis/ast/utils/index.js +5 -0
- package/dist/plugins/analysis/ast/utils/location.d.ts +87 -0
- package/dist/plugins/analysis/ast/utils/location.d.ts.map +1 -0
- package/dist/plugins/analysis/ast/utils/location.js +78 -0
- package/dist/plugins/analysis/ast/visitors/ASTVisitor.d.ts +9 -4
- package/dist/plugins/analysis/ast/visitors/ASTVisitor.d.ts.map +1 -1
- package/dist/plugins/analysis/ast/visitors/ASTVisitor.js +6 -5
- package/dist/plugins/analysis/ast/visitors/CallExpressionVisitor.d.ts +99 -9
- package/dist/plugins/analysis/ast/visitors/CallExpressionVisitor.d.ts.map +1 -1
- package/dist/plugins/analysis/ast/visitors/CallExpressionVisitor.js +663 -125
- package/dist/plugins/analysis/ast/visitors/ClassVisitor.d.ts +4 -1
- package/dist/plugins/analysis/ast/visitors/ClassVisitor.d.ts.map +1 -1
- package/dist/plugins/analysis/ast/visitors/ClassVisitor.js +72 -32
- package/dist/plugins/analysis/ast/visitors/FunctionVisitor.d.ts +4 -1
- package/dist/plugins/analysis/ast/visitors/FunctionVisitor.d.ts.map +1 -1
- package/dist/plugins/analysis/ast/visitors/FunctionVisitor.js +128 -63
- package/dist/plugins/analysis/ast/visitors/ImportExportVisitor.d.ts.map +1 -1
- package/dist/plugins/analysis/ast/visitors/ImportExportVisitor.js +11 -8
- package/dist/plugins/analysis/ast/visitors/TypeScriptVisitor.d.ts +12 -1
- package/dist/plugins/analysis/ast/visitors/TypeScriptVisitor.d.ts.map +1 -1
- package/dist/plugins/analysis/ast/visitors/TypeScriptVisitor.js +36 -14
- package/dist/plugins/analysis/ast/visitors/VariableVisitor.d.ts +4 -1
- package/dist/plugins/analysis/ast/visitors/VariableVisitor.d.ts.map +1 -1
- package/dist/plugins/analysis/ast/visitors/VariableVisitor.js +17 -13
- package/dist/plugins/discovery/MonorepoServiceDiscovery.d.ts.map +1 -1
- package/dist/plugins/discovery/MonorepoServiceDiscovery.js +3 -2
- package/dist/plugins/discovery/SimpleProjectDiscovery.d.ts.map +1 -1
- package/dist/plugins/discovery/SimpleProjectDiscovery.js +5 -1
- package/dist/plugins/discovery/WorkspaceDiscovery.d.ts +22 -0
- package/dist/plugins/discovery/WorkspaceDiscovery.d.ts.map +1 -0
- package/dist/plugins/discovery/WorkspaceDiscovery.js +136 -0
- package/dist/plugins/discovery/resolveSourceEntrypoint.d.ts +46 -0
- package/dist/plugins/discovery/resolveSourceEntrypoint.d.ts.map +1 -0
- package/dist/plugins/discovery/resolveSourceEntrypoint.js +86 -0
- package/dist/plugins/discovery/workspaces/detector.d.ts +21 -0
- package/dist/plugins/discovery/workspaces/detector.d.ts.map +1 -0
- package/dist/plugins/discovery/workspaces/detector.js +49 -0
- package/dist/plugins/discovery/workspaces/globResolver.d.ts +35 -0
- package/dist/plugins/discovery/workspaces/globResolver.d.ts.map +1 -0
- package/dist/plugins/discovery/workspaces/globResolver.js +184 -0
- package/dist/plugins/discovery/workspaces/index.d.ts +9 -0
- package/dist/plugins/discovery/workspaces/index.d.ts.map +1 -0
- package/dist/plugins/discovery/workspaces/index.js +8 -0
- package/dist/plugins/discovery/workspaces/parsers.d.ts +38 -0
- package/dist/plugins/discovery/workspaces/parsers.d.ts.map +1 -0
- package/dist/plugins/discovery/workspaces/parsers.js +80 -0
- package/dist/plugins/enrichment/AliasTracker.d.ts.map +1 -1
- package/dist/plugins/enrichment/AliasTracker.js +14 -8
- package/dist/plugins/enrichment/HTTPConnectionEnricher.d.ts.map +1 -1
- package/dist/plugins/enrichment/HTTPConnectionEnricher.js +14 -7
- package/dist/plugins/enrichment/ImportExportLinker.d.ts.map +1 -1
- package/dist/plugins/enrichment/ImportExportLinker.js +23 -6
- package/dist/plugins/enrichment/MethodCallResolver.d.ts.map +1 -1
- package/dist/plugins/enrichment/MethodCallResolver.js +18 -12
- package/dist/plugins/enrichment/MountPointResolver.d.ts.map +1 -1
- package/dist/plugins/enrichment/MountPointResolver.js +8 -3
- package/dist/plugins/enrichment/PrefixEvaluator.d.ts.map +1 -1
- package/dist/plugins/enrichment/PrefixEvaluator.js +16 -7
- package/dist/plugins/enrichment/RustFFIEnricher.d.ts.map +1 -1
- package/dist/plugins/enrichment/RustFFIEnricher.js +6 -5
- package/dist/plugins/enrichment/ValueDomainAnalyzer.d.ts +17 -0
- package/dist/plugins/enrichment/ValueDomainAnalyzer.d.ts.map +1 -1
- package/dist/plugins/enrichment/ValueDomainAnalyzer.js +129 -10
- package/dist/plugins/indexing/IncrementalModuleIndexer.d.ts.map +1 -1
- package/dist/plugins/indexing/IncrementalModuleIndexer.js +23 -14
- package/dist/plugins/indexing/JSModuleIndexer.d.ts.map +1 -1
- package/dist/plugins/indexing/JSModuleIndexer.js +63 -31
- package/dist/plugins/indexing/RustModuleIndexer.d.ts.map +1 -1
- package/dist/plugins/indexing/RustModuleIndexer.js +5 -4
- package/dist/plugins/indexing/ServiceDetector.d.ts +10 -0
- package/dist/plugins/indexing/ServiceDetector.d.ts.map +1 -1
- package/dist/plugins/indexing/ServiceDetector.js +28 -15
- package/dist/plugins/validation/CallResolverValidator.d.ts.map +1 -1
- package/dist/plugins/validation/CallResolverValidator.js +8 -7
- package/dist/plugins/validation/DataFlowValidator.d.ts.map +1 -1
- package/dist/plugins/validation/DataFlowValidator.js +17 -12
- package/dist/plugins/validation/EvalBanValidator.d.ts.map +1 -1
- package/dist/plugins/validation/EvalBanValidator.js +17 -16
- package/dist/plugins/validation/GraphConnectivityValidator.d.ts.map +1 -1
- package/dist/plugins/validation/GraphConnectivityValidator.js +19 -23
- package/dist/plugins/validation/NodeCreationValidator.d.ts +85 -0
- package/dist/plugins/validation/NodeCreationValidator.d.ts.map +1 -0
- package/dist/plugins/validation/NodeCreationValidator.js +415 -0
- package/dist/plugins/validation/SQLInjectionValidator.d.ts.map +1 -1
- package/dist/plugins/validation/SQLInjectionValidator.js +59 -16
- package/dist/plugins/validation/ShadowingDetector.d.ts.map +1 -1
- package/dist/plugins/validation/ShadowingDetector.js +6 -5
- package/dist/plugins/validation/TypeScriptDeadCodeValidator.d.ts.map +1 -1
- package/dist/plugins/validation/TypeScriptDeadCodeValidator.js +12 -11
- package/dist/plugins/vcs/GitPlugin.d.ts.map +1 -1
- package/dist/plugins/vcs/GitPlugin.js +10 -12
- package/dist/plugins/vcs/VCSPlugin.d.ts +3 -2
- package/dist/plugins/vcs/VCSPlugin.d.ts.map +1 -1
- package/dist/plugins/vcs/VCSPlugin.js +5 -5
- package/dist/storage/backends/RFDBServerBackend.d.ts +10 -17
- package/dist/storage/backends/RFDBServerBackend.d.ts.map +1 -1
- package/dist/storage/backends/RFDBServerBackend.js +31 -10
- package/dist/validation/PathValidator.d.ts +1 -2
- package/dist/validation/PathValidator.d.ts.map +1 -1
- package/package.json +6 -3
- package/src/Orchestrator.ts +237 -24
- package/src/config/ConfigLoader.ts +263 -0
- package/src/config/index.ts +5 -0
- package/src/core/ASTWorker.ts +143 -139
- package/src/core/CoverageAnalyzer.ts +243 -0
- package/src/core/FileNodeManager.ts +100 -0
- package/src/core/GraphFreshnessChecker.ts +143 -0
- package/src/core/HashUtils.ts +48 -0
- package/src/core/IncrementalReanalyzer.ts +192 -0
- package/src/core/NodeFactory.ts +401 -18
- package/src/core/ScopeTracker.ts +154 -0
- package/src/core/SemanticId.ts +192 -0
- package/src/core/VersionManager.ts +3 -2
- package/src/core/nodes/ArgumentExpressionNode.ts +89 -0
- package/src/core/nodes/ArrayLiteralNode.ts +65 -0
- package/src/core/nodes/CallSiteNode.ts +58 -0
- package/src/core/nodes/ClassNode.ts +63 -2
- package/src/core/nodes/DecoratorNode.ts +91 -0
- package/src/core/nodes/EnumNode.ts +86 -0
- package/src/core/nodes/ExportNode.ts +70 -2
- package/src/core/nodes/ExpressionNode.ts +231 -0
- package/src/core/nodes/ExternalModuleNode.ts +56 -0
- package/src/core/nodes/ExternalStdioNode.ts +17 -9
- package/src/core/nodes/FunctionNode.ts +101 -1
- package/src/core/nodes/ImportNode.ts +32 -10
- package/src/core/nodes/InterfaceNode.ts +91 -0
- package/src/core/nodes/IssueNode.ts +177 -0
- package/src/core/nodes/MethodCallNode.ts +64 -0
- package/src/core/nodes/MethodNode.ts +63 -0
- package/src/core/nodes/ModuleNode.ts +50 -0
- package/src/core/nodes/NetworkRequestNode.ts +77 -0
- package/src/core/nodes/ObjectLiteralNode.ts +65 -0
- package/src/core/nodes/ScopeNode.ts +65 -0
- package/src/core/nodes/TypeNode.ts +78 -0
- package/src/core/nodes/VariableDeclarationNode.ts +52 -0
- package/src/core/nodes/index.ts +18 -1
- package/src/diagnostics/DiagnosticCollector.ts +163 -0
- package/src/diagnostics/DiagnosticReporter.ts +204 -0
- package/src/diagnostics/DiagnosticWriter.ts +50 -0
- package/src/diagnostics/index.ts +16 -0
- package/src/errors/GrafemaError.ts +174 -0
- package/src/index.ts +148 -1
- package/src/logging/Logger.ts +152 -0
- package/src/plugins/Plugin.ts +42 -0
- package/src/plugins/analysis/DatabaseAnalyzer.ts +14 -8
- package/src/plugins/analysis/ExpressAnalyzer.ts +29 -19
- package/src/plugins/analysis/ExpressRouteAnalyzer.ts +22 -21
- package/src/plugins/analysis/FetchAnalyzer.ts +39 -16
- package/src/plugins/analysis/IncrementalAnalysisPlugin.ts +84 -101
- package/src/plugins/analysis/JSASTAnalyzer.ts +1483 -503
- package/src/plugins/analysis/ReactAnalyzer.ts +57 -57
- package/src/plugins/analysis/RustAnalyzer.ts +15 -10
- package/src/plugins/analysis/SQLiteAnalyzer.ts +10 -7
- package/src/plugins/analysis/ServiceLayerAnalyzer.ts +22 -16
- package/src/plugins/analysis/SocketIOAnalyzer.ts +31 -22
- package/src/plugins/analysis/SystemDbAnalyzer.ts +16 -11
- package/src/plugins/analysis/ast/GraphBuilder.ts +439 -327
- package/src/plugins/analysis/ast/IdGenerator.ts +177 -0
- package/src/plugins/analysis/ast/types.ts +209 -6
- package/src/plugins/analysis/ast/utils/createParameterNodes.ts +104 -0
- package/src/plugins/analysis/ast/utils/index.ts +12 -0
- package/src/plugins/analysis/ast/utils/location.ts +103 -0
- package/src/plugins/analysis/ast/visitors/ASTVisitor.ts +11 -8
- package/src/plugins/analysis/ast/visitors/CallExpressionVisitor.ts +909 -83
- package/src/plugins/analysis/ast/visitors/ClassVisitor.ts +97 -44
- package/src/plugins/analysis/ast/visitors/FunctionVisitor.ts +159 -93
- package/src/plugins/analysis/ast/visitors/ImportExportVisitor.ts +12 -8
- package/src/plugins/analysis/ast/visitors/TypeScriptVisitor.ts +41 -14
- package/src/plugins/analysis/ast/visitors/VariableVisitor.ts +37 -17
- package/src/plugins/discovery/MonorepoServiceDiscovery.ts +3 -2
- package/src/plugins/discovery/SimpleProjectDiscovery.ts +6 -1
- package/src/plugins/discovery/WorkspaceDiscovery.ts +177 -0
- package/src/plugins/discovery/resolveSourceEntrypoint.ts +103 -0
- package/src/plugins/discovery/workspaces/detector.ts +63 -0
- package/src/plugins/discovery/workspaces/globResolver.ts +229 -0
- package/src/plugins/discovery/workspaces/index.ts +23 -0
- package/src/plugins/discovery/workspaces/parsers.ts +99 -0
- package/src/plugins/enrichment/AliasTracker.ts +14 -8
- package/src/plugins/enrichment/HTTPConnectionEnricher.ts +14 -7
- package/src/plugins/enrichment/ImportExportLinker.ts +24 -6
- package/src/plugins/enrichment/MethodCallResolver.ts +18 -12
- package/src/plugins/enrichment/MountPointResolver.ts +8 -3
- package/src/plugins/enrichment/PrefixEvaluator.ts +16 -7
- package/src/plugins/enrichment/RustFFIEnricher.ts +6 -5
- package/src/plugins/enrichment/ValueDomainAnalyzer.ts +149 -12
- package/src/plugins/indexing/IncrementalModuleIndexer.ts +23 -14
- package/src/plugins/indexing/JSModuleIndexer.ts +74 -34
- package/src/plugins/indexing/RustModuleIndexer.ts +5 -4
- package/src/plugins/validation/CallResolverValidator.ts +8 -7
- package/src/plugins/validation/DataFlowValidator.ts +16 -12
- package/src/plugins/validation/EvalBanValidator.ts +17 -16
- package/src/plugins/validation/GraphConnectivityValidator.ts +19 -23
- package/src/plugins/validation/NodeCreationValidator.ts +554 -0
- package/src/plugins/validation/SQLInjectionValidator.ts +61 -15
- package/src/plugins/validation/ShadowingDetector.ts +6 -5
- package/src/plugins/validation/TypeScriptDeadCodeValidator.ts +12 -11
- package/src/plugins/vcs/GitPlugin.ts +40 -12
- package/src/plugins/vcs/VCSPlugin.ts +7 -5
- package/src/storage/backends/RFDBServerBackend.ts +43 -29
- package/src/validation/PathValidator.ts +1 -1
- package/dist/core/AnalysisWorker.d.ts +0 -14
- package/dist/core/AnalysisWorker.d.ts.map +0 -1
- package/dist/core/AnalysisWorker.js +0 -307
- package/dist/core/ParallelAnalyzer.d.ts +0 -120
- package/dist/core/ParallelAnalyzer.d.ts.map +0 -1
- package/dist/core/ParallelAnalyzer.js +0 -331
- package/dist/core/QueueWorker.d.ts +0 -12
- package/dist/core/QueueWorker.d.ts.map +0 -1
- package/dist/core/QueueWorker.js +0 -567
- package/dist/core/RFDBClient.d.ts +0 -179
- package/dist/core/RFDBClient.d.ts.map +0 -1
- package/dist/core/RFDBClient.js +0 -429
- package/dist/plugins/discovery/ZonServiceDiscovery.d.ts +0 -19
- package/dist/plugins/discovery/ZonServiceDiscovery.d.ts.map +0 -1
- package/dist/plugins/discovery/ZonServiceDiscovery.js +0 -204
- package/src/core/AnalysisWorker.ts +0 -410
- package/src/core/ParallelAnalyzer.ts +0 -476
- package/src/core/QueueWorker.ts +0 -780
- package/src/plugins/indexing/ServiceDetector.ts +0 -230
|
@@ -8,14 +8,6 @@ import { Plugin } from '../Plugin.js';
|
|
|
8
8
|
import { type VisitorModule, type VisitorCollections } from './ast/visitors/index.js';
|
|
9
9
|
import type { PluginContext, PluginResult, PluginMetadata, GraphBackend } from '@grafema/types';
|
|
10
10
|
import type { ModuleNode, LiteralInfo, VariableAssignmentInfo, CounterRef, ExtractedVariable } from './ast/types.js';
|
|
11
|
-
/**
|
|
12
|
-
* Context for tracking semantic IDs within a scope hierarchy.
|
|
13
|
-
* Used to generate stable, line-number-independent IDs for SCOPE nodes.
|
|
14
|
-
*/
|
|
15
|
-
interface ScopeContext {
|
|
16
|
-
semanticPath: string;
|
|
17
|
-
siblingCounters: Map<string, number>;
|
|
18
|
-
}
|
|
19
11
|
interface AnalysisManifest {
|
|
20
12
|
projectPath: string;
|
|
21
13
|
[key: string]: unknown;
|
|
@@ -24,13 +16,14 @@ interface AnalyzeContext extends PluginContext {
|
|
|
24
16
|
manifest?: AnalysisManifest;
|
|
25
17
|
forceAnalysis?: boolean;
|
|
26
18
|
workerCount?: number;
|
|
19
|
+
/** Enable parallel parsing using ASTWorkerPool (worker_threads) */
|
|
20
|
+
parallelParsing?: boolean;
|
|
27
21
|
onProgress?: (info: Record<string, unknown>) => void;
|
|
28
22
|
}
|
|
29
23
|
export declare class JSASTAnalyzer extends Plugin {
|
|
30
24
|
private graphBuilder;
|
|
31
25
|
private analyzedModules;
|
|
32
26
|
private profiler;
|
|
33
|
-
private _cacheCleared;
|
|
34
27
|
constructor();
|
|
35
28
|
get metadata(): PluginMetadata;
|
|
36
29
|
/**
|
|
@@ -42,6 +35,19 @@ export declare class JSASTAnalyzer extends Plugin {
|
|
|
42
35
|
*/
|
|
43
36
|
shouldAnalyzeModule(module: ModuleNode, graph: GraphBackend, forceAnalysis: boolean): Promise<boolean>;
|
|
44
37
|
execute(context: AnalyzeContext): Promise<PluginResult>;
|
|
38
|
+
/**
|
|
39
|
+
* Execute parallel analysis using ASTWorkerPool (worker_threads).
|
|
40
|
+
*
|
|
41
|
+
* This method uses actual OS threads for true parallel CPU-intensive parsing.
|
|
42
|
+
* Workers generate semantic IDs using ScopeTracker, matching sequential behavior.
|
|
43
|
+
*
|
|
44
|
+
* @param modules - Modules to analyze
|
|
45
|
+
* @param graph - Graph backend for writing results
|
|
46
|
+
* @param projectPath - Project root path
|
|
47
|
+
* @param context - Analysis context with options
|
|
48
|
+
* @returns Plugin result with node/edge counts
|
|
49
|
+
*/
|
|
50
|
+
private executeParallel;
|
|
45
51
|
/**
|
|
46
52
|
* Extract variable names from destructuring patterns
|
|
47
53
|
* Uses t.isX() type guards to avoid casts
|
|
@@ -63,22 +69,179 @@ export declare class JSASTAnalyzer extends Plugin {
|
|
|
63
69
|
edges: number;
|
|
64
70
|
}>;
|
|
65
71
|
/**
|
|
66
|
-
* Helper to generate semantic ID for a scope
|
|
72
|
+
* Helper to generate semantic ID for a scope using ScopeTracker.
|
|
73
|
+
* Format: "scopePath:scopeType[index]" e.g. "MyClass->myMethod:if_statement[0]"
|
|
67
74
|
*/
|
|
68
75
|
private generateSemanticId;
|
|
69
76
|
/**
|
|
70
|
-
*
|
|
77
|
+
* Generate a unique anonymous function name within the current scope.
|
|
78
|
+
* Uses ScopeTracker.getSiblingIndex() for stable naming.
|
|
71
79
|
*/
|
|
72
|
-
private
|
|
80
|
+
private generateAnonymousName;
|
|
73
81
|
/**
|
|
74
|
-
*
|
|
75
|
-
*
|
|
82
|
+
* Factory method to create loop scope handlers.
|
|
83
|
+
* All loop statements (for, for-in, for-of, while, do-while) follow the same pattern:
|
|
84
|
+
* 1. Create scope with SCOPE#<scopeType>#file#line:counter
|
|
85
|
+
* 2. Generate semantic ID
|
|
86
|
+
* 3. Push to scopes array
|
|
87
|
+
* 4. Enter/exit scope tracker
|
|
88
|
+
*
|
|
89
|
+
* @param trackerScopeType - Scope type for ScopeTracker (e.g., 'for', 'for-in', 'while')
|
|
90
|
+
* @param scopeType - Scope type for the graph node (e.g., 'for-loop', 'for-in-loop')
|
|
91
|
+
* @param parentScopeId - Parent scope ID for the scope node
|
|
92
|
+
* @param module - Module context
|
|
93
|
+
* @param scopes - Collection to push scope nodes to
|
|
94
|
+
* @param scopeCounterRef - Counter for unique scope IDs
|
|
95
|
+
* @param scopeTracker - Tracker for semantic ID generation
|
|
76
96
|
*/
|
|
77
|
-
private generateAnonymousName;
|
|
78
97
|
/**
|
|
79
|
-
*
|
|
98
|
+
* Handles VariableDeclaration nodes within function bodies.
|
|
99
|
+
*
|
|
100
|
+
* Extracts variable names from patterns (including destructuring), determines
|
|
101
|
+
* if the variable should be CONSTANT or VARIABLE, generates semantic or legacy IDs,
|
|
102
|
+
* and tracks class instantiations and variable assignments.
|
|
103
|
+
*
|
|
104
|
+
* @param varPath - The NodePath for the VariableDeclaration
|
|
105
|
+
* @param parentScopeId - Parent scope ID for the variable
|
|
106
|
+
* @param module - Module context with file info
|
|
107
|
+
* @param variableDeclarations - Collection to push variable declarations to
|
|
108
|
+
* @param classInstantiations - Collection to push class instantiations to
|
|
109
|
+
* @param literals - Collection for literal tracking
|
|
110
|
+
* @param variableAssignments - Collection for variable assignment tracking
|
|
111
|
+
* @param varDeclCounterRef - Counter for unique variable declaration IDs
|
|
112
|
+
* @param literalCounterRef - Counter for unique literal IDs
|
|
113
|
+
* @param scopeTracker - Tracker for semantic ID generation
|
|
114
|
+
* @param parentScopeVariables - Set to track variables for closure analysis
|
|
115
|
+
*/
|
|
116
|
+
private handleVariableDeclaration;
|
|
117
|
+
private createLoopScopeHandler;
|
|
118
|
+
/**
|
|
119
|
+
* Process VariableDeclarations within a try/catch/finally block.
|
|
120
|
+
* This is a simplified version that doesn't track parentScopeVariables or class instantiations.
|
|
121
|
+
*
|
|
122
|
+
* @param blockPath - The NodePath for the block to process
|
|
123
|
+
* @param blockScopeId - The scope ID for variables in this block
|
|
124
|
+
* @param module - Module context
|
|
125
|
+
* @param variableDeclarations - Collection to push variable declarations to
|
|
126
|
+
* @param literals - Collection for literal tracking
|
|
127
|
+
* @param variableAssignments - Collection for variable assignment tracking
|
|
128
|
+
* @param varDeclCounterRef - Counter for unique variable declaration IDs
|
|
129
|
+
* @param literalCounterRef - Counter for unique literal IDs
|
|
130
|
+
* @param scopeTracker - Tracker for semantic ID generation
|
|
131
|
+
*/
|
|
132
|
+
private processBlockVariables;
|
|
133
|
+
/**
|
|
134
|
+
* Handles TryStatement nodes within function bodies.
|
|
135
|
+
* Creates try, catch (with optional error parameter), and finally scopes,
|
|
136
|
+
* and processes variable declarations within each block.
|
|
137
|
+
*
|
|
138
|
+
* @param tryPath - The NodePath for the TryStatement
|
|
139
|
+
* @param parentScopeId - Parent scope ID for the scope nodes
|
|
140
|
+
* @param module - Module context
|
|
141
|
+
* @param scopes - Collection to push scope nodes to
|
|
142
|
+
* @param variableDeclarations - Collection to push variable declarations to
|
|
143
|
+
* @param literals - Collection for literal tracking
|
|
144
|
+
* @param variableAssignments - Collection for variable assignment tracking
|
|
145
|
+
* @param scopeCounterRef - Counter for unique scope IDs
|
|
146
|
+
* @param varDeclCounterRef - Counter for unique variable declaration IDs
|
|
147
|
+
* @param literalCounterRef - Counter for unique literal IDs
|
|
148
|
+
* @param scopeTracker - Tracker for semantic ID generation
|
|
149
|
+
*/
|
|
150
|
+
private handleTryStatement;
|
|
151
|
+
/**
|
|
152
|
+
* Factory method to create IfStatement handler.
|
|
153
|
+
* Creates if scope with condition parsing and optional else scope.
|
|
154
|
+
* Tracks if/else scope transitions via ifElseScopeMap.
|
|
155
|
+
*
|
|
156
|
+
* @param parentScopeId - Parent scope ID for the scope nodes
|
|
157
|
+
* @param module - Module context
|
|
158
|
+
* @param scopes - Collection to push scope nodes to
|
|
159
|
+
* @param ifScopeCounterRef - Counter for unique if scope IDs
|
|
160
|
+
* @param scopeTracker - Tracker for semantic ID generation
|
|
161
|
+
* @param sourceCode - Source code for extracting condition text
|
|
162
|
+
* @param ifElseScopeMap - Map to track if/else scope transitions
|
|
163
|
+
*/
|
|
164
|
+
private createIfStatementHandler;
|
|
165
|
+
/**
|
|
166
|
+
* Factory method to create BlockStatement handler for tracking if/else transitions.
|
|
167
|
+
* When entering an else block, switches scope from if to else.
|
|
168
|
+
*
|
|
169
|
+
* @param scopeTracker - Tracker for semantic ID generation
|
|
170
|
+
* @param ifElseScopeMap - Map to track if/else scope transitions
|
|
171
|
+
*/
|
|
172
|
+
private createIfElseBlockStatementHandler;
|
|
173
|
+
/**
|
|
174
|
+
* Анализирует тело функции и извлекает переменные, вызовы, условные блоки.
|
|
175
|
+
* Uses ScopeTracker from collections for semantic ID generation.
|
|
176
|
+
*/
|
|
177
|
+
analyzeFunctionBody(funcPath: NodePath<t.Function>, parentScopeId: string, module: VisitorModule, collections: VisitorCollections): void;
|
|
178
|
+
/**
|
|
179
|
+
* Handle CallExpression nodes: direct function calls (greet(), main())
|
|
180
|
+
* and method calls (obj.method(), data.process()).
|
|
181
|
+
*
|
|
182
|
+
* Handles:
|
|
183
|
+
* - Direct function calls (Identifier callee) → callSites collection
|
|
184
|
+
* - Method calls (MemberExpression callee) → methodCalls collection
|
|
185
|
+
* - Array mutation detection (push, unshift, splice)
|
|
186
|
+
* - Object.assign() detection
|
|
187
|
+
*
|
|
188
|
+
* @param callNode - The call expression AST node
|
|
189
|
+
* @param processedCallSites - Set of already processed call site keys to avoid duplicates
|
|
190
|
+
* @param processedMethodCalls - Set of already processed method call keys to avoid duplicates
|
|
191
|
+
* @param callSites - Collection for direct function calls
|
|
192
|
+
* @param methodCalls - Collection for method calls
|
|
193
|
+
* @param module - Current module being analyzed
|
|
194
|
+
* @param callSiteCounterRef - Counter for legacy ID generation
|
|
195
|
+
* @param scopeTracker - Optional scope tracker for semantic ID generation
|
|
196
|
+
* @param parentScopeId - ID of the parent scope containing this call
|
|
197
|
+
* @param collections - Full collections object for array/object mutations
|
|
198
|
+
*/
|
|
199
|
+
private handleCallExpression;
|
|
200
|
+
/**
|
|
201
|
+
* Detect array mutation calls (push, unshift, splice) inside functions
|
|
202
|
+
* and collect mutation info for FLOWS_INTO edge creation in GraphBuilder
|
|
203
|
+
*
|
|
204
|
+
* REG-117: Added isNested, baseObjectName, propertyName for nested mutations
|
|
205
|
+
*
|
|
206
|
+
* @param callNode - The call expression node
|
|
207
|
+
* @param arrayName - Name of the array being mutated
|
|
208
|
+
* @param method - The mutation method (push, unshift, splice)
|
|
209
|
+
* @param module - Current module being analyzed
|
|
210
|
+
* @param arrayMutations - Collection to push mutation info into
|
|
211
|
+
* @param scopeTracker - Optional scope tracker for semantic IDs
|
|
212
|
+
* @param isNested - REG-117: true if this is a nested mutation (obj.arr.push)
|
|
213
|
+
* @param baseObjectName - REG-117: base object name for nested mutations
|
|
214
|
+
* @param propertyName - REG-117: property name for nested mutations
|
|
215
|
+
*/
|
|
216
|
+
private detectArrayMutationInFunction;
|
|
217
|
+
/**
|
|
218
|
+
* Detect indexed array assignment: arr[i] = value
|
|
219
|
+
* Creates ArrayMutationInfo for FLOWS_INTO edge generation in GraphBuilder
|
|
220
|
+
*
|
|
221
|
+
* @param assignNode - The assignment expression node
|
|
222
|
+
* @param module - Current module being analyzed
|
|
223
|
+
* @param arrayMutations - Collection to push mutation info into
|
|
224
|
+
*/
|
|
225
|
+
private detectIndexedArrayAssignment;
|
|
226
|
+
/**
|
|
227
|
+
* Detect object property assignment: obj.prop = value, obj['prop'] = value
|
|
228
|
+
* Creates ObjectMutationInfo for FLOWS_INTO edge generation in GraphBuilder
|
|
229
|
+
*
|
|
230
|
+
* @param assignNode - The assignment expression node
|
|
231
|
+
* @param module - Current module being analyzed
|
|
232
|
+
* @param objectMutations - Collection to push mutation info into
|
|
233
|
+
* @param scopeTracker - Optional scope tracker for semantic IDs
|
|
234
|
+
*/
|
|
235
|
+
private detectObjectPropertyAssignment;
|
|
236
|
+
/**
|
|
237
|
+
* Extract value information from an expression for mutation tracking
|
|
238
|
+
*/
|
|
239
|
+
private extractMutationValue;
|
|
240
|
+
/**
|
|
241
|
+
* Detect Object.assign() calls inside functions
|
|
242
|
+
* Creates ObjectMutationInfo for FLOWS_INTO edge generation in GraphBuilder
|
|
80
243
|
*/
|
|
81
|
-
|
|
244
|
+
private detectObjectAssignInFunction;
|
|
82
245
|
}
|
|
83
246
|
export {};
|
|
84
247
|
//# sourceMappingURL=JSASTAnalyzer.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"JSASTAnalyzer.d.ts","sourceRoot":"","sources":["../../../src/plugins/analysis/JSASTAnalyzer.ts"],"names":[],"mappings":"AAAA;;;GAGG;
|
|
1
|
+
{"version":3,"file":"JSASTAnalyzer.d.ts","sourceRoot":"","sources":["../../../src/plugins/analysis/JSASTAnalyzer.ts"],"names":[],"mappings":"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"}
|