@grafema/core 0.2.5-beta → 0.2.7
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 +61 -23
- package/dist/DiscoveryManager.d.ts +59 -0
- package/dist/DiscoveryManager.d.ts.map +1 -0
- package/dist/DiscoveryManager.js +249 -0
- package/dist/DiscoveryManager.js.map +1 -0
- package/dist/GraphInitializer.d.ts +44 -0
- package/dist/GraphInitializer.d.ts.map +1 -0
- package/dist/GraphInitializer.js +121 -0
- package/dist/GraphInitializer.js.map +1 -0
- package/dist/GuaranteeChecker.d.ts +35 -0
- package/dist/GuaranteeChecker.d.ts.map +1 -0
- package/dist/GuaranteeChecker.js +81 -0
- package/dist/GuaranteeChecker.js.map +1 -0
- package/dist/Orchestrator.d.ts +34 -151
- package/dist/Orchestrator.d.ts.map +1 -1
- package/dist/Orchestrator.js +173 -741
- package/dist/Orchestrator.js.map +1 -1
- package/dist/OrchestratorTypes.d.ts +115 -0
- package/dist/OrchestratorTypes.d.ts.map +1 -0
- package/dist/OrchestratorTypes.js +6 -0
- package/dist/OrchestratorTypes.js.map +1 -0
- package/dist/ParallelAnalysisRunner.d.ts +43 -0
- package/dist/ParallelAnalysisRunner.d.ts.map +1 -0
- package/dist/ParallelAnalysisRunner.js +161 -0
- package/dist/ParallelAnalysisRunner.js.map +1 -0
- package/dist/PhaseRunner.d.ts +94 -0
- package/dist/PhaseRunner.d.ts.map +1 -0
- package/dist/PhaseRunner.js +332 -0
- package/dist/PhaseRunner.js.map +1 -0
- package/dist/config/ConfigLoader.d.ts +51 -1
- package/dist/config/ConfigLoader.d.ts.map +1 -1
- package/dist/config/ConfigLoader.js +121 -1
- package/dist/config/ConfigLoader.js.map +1 -1
- package/dist/config/index.d.ts +1 -1
- package/dist/config/index.d.ts.map +1 -1
- package/dist/config/index.js +1 -1
- package/dist/config/index.js.map +1 -1
- package/dist/core/ASTWorker.d.ts +2 -0
- package/dist/core/ASTWorker.d.ts.map +1 -1
- package/dist/core/ASTWorker.js +6 -2
- package/dist/core/ASTWorker.js.map +1 -1
- package/dist/core/FileOverview.d.ts +124 -0
- package/dist/core/FileOverview.d.ts.map +1 -0
- package/dist/core/FileOverview.js +257 -0
- package/dist/core/FileOverview.js.map +1 -0
- package/dist/core/GraphFreshnessChecker.d.ts +1 -1
- package/dist/core/GraphFreshnessChecker.d.ts.map +1 -1
- package/dist/core/GraphFreshnessChecker.js +7 -5
- package/dist/core/GraphFreshnessChecker.js.map +1 -1
- package/dist/core/GuaranteeManager.d.ts +13 -0
- package/dist/core/GuaranteeManager.d.ts.map +1 -1
- package/dist/core/GuaranteeManager.js +63 -2
- package/dist/core/GuaranteeManager.js.map +1 -1
- package/dist/core/IncrementalReanalyzer.d.ts.map +1 -1
- package/dist/core/IncrementalReanalyzer.js +6 -3
- package/dist/core/IncrementalReanalyzer.js.map +1 -1
- package/dist/core/NodeFactory.d.ts +81 -415
- package/dist/core/NodeFactory.d.ts.map +1 -1
- package/dist/core/NodeFactory.js +139 -336
- package/dist/core/NodeFactory.js.map +1 -1
- package/dist/core/ResourceRegistry.d.ts +17 -0
- package/dist/core/ResourceRegistry.d.ts.map +1 -0
- package/dist/core/ResourceRegistry.js +32 -0
- package/dist/core/ResourceRegistry.js.map +1 -0
- package/dist/core/ScopeTracker.d.ts +12 -0
- package/dist/core/ScopeTracker.d.ts.map +1 -1
- package/dist/core/ScopeTracker.js +24 -0
- package/dist/core/ScopeTracker.js.map +1 -1
- package/dist/core/SemanticId.d.ts +69 -0
- package/dist/core/SemanticId.d.ts.map +1 -1
- package/dist/core/SemanticId.js +134 -0
- package/dist/core/SemanticId.js.map +1 -1
- package/dist/core/brandNodeInternal.d.ts +14 -0
- package/dist/core/brandNodeInternal.d.ts.map +1 -0
- package/dist/core/brandNodeInternal.js +4 -0
- package/dist/core/brandNodeInternal.js.map +1 -0
- package/dist/core/buildDependencyGraph.d.ts +36 -0
- package/dist/core/buildDependencyGraph.d.ts.map +1 -0
- package/dist/core/buildDependencyGraph.js +78 -0
- package/dist/core/buildDependencyGraph.js.map +1 -0
- package/dist/core/factories/CoreFactory.d.ts +223 -0
- package/dist/core/factories/CoreFactory.d.ts.map +1 -0
- package/dist/core/factories/CoreFactory.js +127 -0
- package/dist/core/factories/CoreFactory.js.map +1 -0
- package/dist/core/factories/DatabaseFactory.d.ts +29 -0
- package/dist/core/factories/DatabaseFactory.d.ts.map +1 -0
- package/dist/core/factories/DatabaseFactory.js +25 -0
- package/dist/core/factories/DatabaseFactory.js.map +1 -0
- package/dist/core/factories/ExternalFactory.d.ts +11 -0
- package/dist/core/factories/ExternalFactory.d.ts.map +1 -0
- package/dist/core/factories/ExternalFactory.js +16 -0
- package/dist/core/factories/ExternalFactory.js.map +1 -0
- package/dist/core/factories/HttpFactory.d.ts +22 -0
- package/dist/core/factories/HttpFactory.d.ts.map +1 -0
- package/dist/core/factories/HttpFactory.js +32 -0
- package/dist/core/factories/HttpFactory.js.map +1 -0
- package/dist/core/factories/ReactFactory.d.ts +14 -0
- package/dist/core/factories/ReactFactory.d.ts.map +1 -0
- package/dist/core/factories/ReactFactory.js +13 -0
- package/dist/core/factories/ReactFactory.js.map +1 -0
- package/dist/core/factories/RustFactory.d.ts +62 -0
- package/dist/core/factories/RustFactory.d.ts.map +1 -0
- package/dist/core/factories/RustFactory.js +32 -0
- package/dist/core/factories/RustFactory.js.map +1 -0
- package/dist/core/factories/ServiceFactory.d.ts +12 -0
- package/dist/core/factories/ServiceFactory.d.ts.map +1 -0
- package/dist/core/factories/ServiceFactory.js +22 -0
- package/dist/core/factories/ServiceFactory.js.map +1 -0
- package/dist/core/factories/SocketFactory.d.ts +31 -0
- package/dist/core/factories/SocketFactory.d.ts.map +1 -0
- package/dist/core/factories/SocketFactory.js +35 -0
- package/dist/core/factories/SocketFactory.js.map +1 -0
- package/dist/core/nodes/DatabaseNode.d.ts +85 -0
- package/dist/core/nodes/DatabaseNode.d.ts.map +1 -0
- package/dist/core/nodes/DatabaseNode.js +118 -0
- package/dist/core/nodes/DatabaseNode.js.map +1 -0
- package/dist/core/nodes/ExpressMiddlewareNode.d.ts +47 -0
- package/dist/core/nodes/ExpressMiddlewareNode.d.ts.map +1 -0
- package/dist/core/nodes/ExpressMiddlewareNode.js +63 -0
- package/dist/core/nodes/ExpressMiddlewareNode.js.map +1 -0
- package/dist/core/nodes/ExpressMountNode.d.ts +44 -0
- package/dist/core/nodes/ExpressMountNode.d.ts.map +1 -0
- package/dist/core/nodes/ExpressMountNode.js +61 -0
- package/dist/core/nodes/ExpressMountNode.js.map +1 -0
- package/dist/core/nodes/ExternalApiNode.d.ts +29 -0
- package/dist/core/nodes/ExternalApiNode.d.ts.map +1 -0
- package/dist/core/nodes/ExternalApiNode.js +41 -0
- package/dist/core/nodes/ExternalApiNode.js.map +1 -0
- package/dist/core/nodes/ExternalFunctionNode.d.ts +40 -0
- package/dist/core/nodes/ExternalFunctionNode.d.ts.map +1 -0
- package/dist/core/nodes/ExternalFunctionNode.js +54 -0
- package/dist/core/nodes/ExternalFunctionNode.js.map +1 -0
- package/dist/core/nodes/FetchRequestNode.d.ts +54 -0
- package/dist/core/nodes/FetchRequestNode.d.ts.map +1 -0
- package/dist/core/nodes/FetchRequestNode.js +67 -0
- package/dist/core/nodes/FetchRequestNode.js.map +1 -0
- package/dist/core/nodes/HttpRouteNode.d.ts +58 -0
- package/dist/core/nodes/HttpRouteNode.d.ts.map +1 -0
- package/dist/core/nodes/HttpRouteNode.js +72 -0
- package/dist/core/nodes/HttpRouteNode.js.map +1 -0
- package/dist/core/nodes/NodeKind.d.ts +1 -0
- package/dist/core/nodes/NodeKind.d.ts.map +1 -1
- package/dist/core/nodes/NodeKind.js +1 -0
- package/dist/core/nodes/NodeKind.js.map +1 -1
- package/dist/core/nodes/ReactNode.d.ts +53 -0
- package/dist/core/nodes/ReactNode.d.ts.map +1 -0
- package/dist/core/nodes/ReactNode.js +70 -0
- package/dist/core/nodes/ReactNode.js.map +1 -0
- package/dist/core/nodes/RustCallNode.d.ts +46 -0
- package/dist/core/nodes/RustCallNode.d.ts.map +1 -0
- package/dist/core/nodes/RustCallNode.js +62 -0
- package/dist/core/nodes/RustCallNode.js.map +1 -0
- package/dist/core/nodes/RustFunctionNode.d.ts +58 -0
- package/dist/core/nodes/RustFunctionNode.d.ts.map +1 -0
- package/dist/core/nodes/RustFunctionNode.js +67 -0
- package/dist/core/nodes/RustFunctionNode.js.map +1 -0
- package/dist/core/nodes/RustImplNode.d.ts +35 -0
- package/dist/core/nodes/RustImplNode.d.ts.map +1 -0
- package/dist/core/nodes/RustImplNode.js +55 -0
- package/dist/core/nodes/RustImplNode.js.map +1 -0
- package/dist/core/nodes/RustMethodNode.d.ts +64 -0
- package/dist/core/nodes/RustMethodNode.d.ts.map +1 -0
- package/dist/core/nodes/RustMethodNode.js +76 -0
- package/dist/core/nodes/RustMethodNode.js.map +1 -0
- package/dist/core/nodes/RustModuleNode.d.ts +40 -0
- package/dist/core/nodes/RustModuleNode.d.ts.map +1 -0
- package/dist/core/nodes/RustModuleNode.js +57 -0
- package/dist/core/nodes/RustModuleNode.js.map +1 -0
- package/dist/core/nodes/RustStructNode.d.ts +38 -0
- package/dist/core/nodes/RustStructNode.d.ts.map +1 -0
- package/dist/core/nodes/RustStructNode.js +54 -0
- package/dist/core/nodes/RustStructNode.js.map +1 -0
- package/dist/core/nodes/RustTraitNode.d.ts +40 -0
- package/dist/core/nodes/RustTraitNode.d.ts.map +1 -0
- package/dist/core/nodes/RustTraitNode.js +52 -0
- package/dist/core/nodes/RustTraitNode.js.map +1 -0
- package/dist/core/nodes/ServiceLayerNode.d.ts +85 -0
- package/dist/core/nodes/ServiceLayerNode.d.ts.map +1 -0
- package/dist/core/nodes/ServiceLayerNode.js +122 -0
- package/dist/core/nodes/ServiceLayerNode.js.map +1 -0
- package/dist/core/nodes/SocketIONode.d.ts +71 -0
- package/dist/core/nodes/SocketIONode.d.ts.map +1 -0
- package/dist/core/nodes/SocketIONode.js +111 -0
- package/dist/core/nodes/SocketIONode.js.map +1 -0
- package/dist/core/nodes/SocketNode.d.ts +87 -0
- package/dist/core/nodes/SocketNode.d.ts.map +1 -0
- package/dist/core/nodes/SocketNode.js +124 -0
- package/dist/core/nodes/SocketNode.js.map +1 -0
- package/dist/core/nodes/TypeNode.d.ts +26 -1
- package/dist/core/nodes/TypeNode.d.ts.map +1 -1
- package/dist/core/nodes/TypeNode.js +21 -3
- package/dist/core/nodes/TypeNode.js.map +1 -1
- package/dist/core/nodes/TypeParameterNode.d.ts +44 -0
- package/dist/core/nodes/TypeParameterNode.d.ts.map +1 -0
- package/dist/core/nodes/TypeParameterNode.js +64 -0
- package/dist/core/nodes/TypeParameterNode.js.map +1 -0
- package/dist/core/nodes/index.d.ts +19 -0
- package/dist/core/nodes/index.d.ts.map +1 -1
- package/dist/core/nodes/index.js +26 -0
- package/dist/core/nodes/index.js.map +1 -1
- package/dist/index.d.ts +33 -6
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +30 -3
- package/dist/index.js.map +1 -1
- package/dist/plugins/InfraAnalyzer.d.ts +110 -0
- package/dist/plugins/InfraAnalyzer.d.ts.map +1 -0
- package/dist/plugins/InfraAnalyzer.js +170 -0
- package/dist/plugins/InfraAnalyzer.js.map +1 -0
- package/dist/plugins/analysis/DatabaseAnalyzer.d.ts.map +1 -1
- package/dist/plugins/analysis/DatabaseAnalyzer.js +18 -15
- package/dist/plugins/analysis/DatabaseAnalyzer.js.map +1 -1
- package/dist/plugins/analysis/ExpressAnalyzer.d.ts.map +1 -1
- package/dist/plugins/analysis/ExpressAnalyzer.js +27 -26
- package/dist/plugins/analysis/ExpressAnalyzer.js.map +1 -1
- package/dist/plugins/analysis/ExpressResponseAnalyzer.d.ts.map +1 -1
- package/dist/plugins/analysis/ExpressResponseAnalyzer.js +5 -3
- package/dist/plugins/analysis/ExpressResponseAnalyzer.js.map +1 -1
- package/dist/plugins/analysis/ExpressRouteAnalyzer.d.ts.map +1 -1
- package/dist/plugins/analysis/ExpressRouteAnalyzer.js +36 -39
- package/dist/plugins/analysis/ExpressRouteAnalyzer.js.map +1 -1
- package/dist/plugins/analysis/FetchAnalyzer.d.ts.map +1 -1
- package/dist/plugins/analysis/FetchAnalyzer.js +23 -39
- package/dist/plugins/analysis/FetchAnalyzer.js.map +1 -1
- package/dist/plugins/analysis/IncrementalAnalysisPlugin.d.ts.map +1 -1
- package/dist/plugins/analysis/IncrementalAnalysisPlugin.js +3 -2
- package/dist/plugins/analysis/IncrementalAnalysisPlugin.js.map +1 -1
- package/dist/plugins/analysis/JSASTAnalyzer.d.ts +23 -85
- package/dist/plugins/analysis/JSASTAnalyzer.d.ts.map +1 -1
- package/dist/plugins/analysis/JSASTAnalyzer.js +351 -1887
- package/dist/plugins/analysis/JSASTAnalyzer.js.map +1 -1
- package/dist/plugins/analysis/NestJSRouteAnalyzer.d.ts +28 -0
- package/dist/plugins/analysis/NestJSRouteAnalyzer.d.ts.map +1 -0
- package/dist/plugins/analysis/NestJSRouteAnalyzer.js +196 -0
- package/dist/plugins/analysis/NestJSRouteAnalyzer.js.map +1 -0
- package/dist/plugins/analysis/ReactAnalyzer.d.ts +1 -61
- package/dist/plugins/analysis/ReactAnalyzer.d.ts.map +1 -1
- package/dist/plugins/analysis/ReactAnalyzer.js +24 -915
- package/dist/plugins/analysis/ReactAnalyzer.js.map +1 -1
- package/dist/plugins/analysis/RustAnalyzer.d.ts.map +1 -1
- package/dist/plugins/analysis/RustAnalyzer.js +31 -66
- package/dist/plugins/analysis/RustAnalyzer.js.map +1 -1
- package/dist/plugins/analysis/SQLiteAnalyzer.d.ts.map +1 -1
- package/dist/plugins/analysis/SQLiteAnalyzer.js +13 -6
- package/dist/plugins/analysis/SQLiteAnalyzer.js.map +1 -1
- package/dist/plugins/analysis/ServiceLayerAnalyzer.d.ts.map +1 -1
- package/dist/plugins/analysis/ServiceLayerAnalyzer.js +10 -7
- package/dist/plugins/analysis/ServiceLayerAnalyzer.js.map +1 -1
- package/dist/plugins/analysis/SocketAnalyzer.d.ts +81 -0
- package/dist/plugins/analysis/SocketAnalyzer.d.ts.map +1 -0
- package/dist/plugins/analysis/SocketAnalyzer.js +475 -0
- package/dist/plugins/analysis/SocketAnalyzer.js.map +1 -0
- package/dist/plugins/analysis/SocketIOAnalyzer.d.ts.map +1 -1
- package/dist/plugins/analysis/SocketIOAnalyzer.js +13 -18
- package/dist/plugins/analysis/SocketIOAnalyzer.js.map +1 -1
- package/dist/plugins/analysis/SystemDbAnalyzer.d.ts.map +1 -1
- package/dist/plugins/analysis/SystemDbAnalyzer.js +8 -5
- package/dist/plugins/analysis/SystemDbAnalyzer.js.map +1 -1
- package/dist/plugins/analysis/ast/CollisionResolver.d.ts +65 -0
- package/dist/plugins/analysis/ast/CollisionResolver.d.ts.map +1 -0
- package/dist/plugins/analysis/ast/CollisionResolver.js +106 -0
- package/dist/plugins/analysis/ast/CollisionResolver.js.map +1 -0
- package/dist/plugins/analysis/ast/FunctionBodyContext.d.ts +124 -0
- package/dist/plugins/analysis/ast/FunctionBodyContext.d.ts.map +1 -0
- package/dist/plugins/analysis/ast/FunctionBodyContext.js +151 -0
- package/dist/plugins/analysis/ast/FunctionBodyContext.js.map +1 -0
- package/dist/plugins/analysis/ast/GraphBuilder.d.ts +26 -261
- package/dist/plugins/analysis/ast/GraphBuilder.d.ts.map +1 -1
- package/dist/plugins/analysis/ast/GraphBuilder.js +251 -2494
- package/dist/plugins/analysis/ast/GraphBuilder.js.map +1 -1
- package/dist/plugins/analysis/ast/IdGenerator.d.ts +42 -0
- package/dist/plugins/analysis/ast/IdGenerator.d.ts.map +1 -1
- package/dist/plugins/analysis/ast/IdGenerator.js +61 -1
- package/dist/plugins/analysis/ast/IdGenerator.js.map +1 -1
- package/dist/plugins/analysis/ast/builders/AssignmentBuilder.d.ts +15 -0
- package/dist/plugins/analysis/ast/builders/AssignmentBuilder.d.ts.map +1 -0
- package/dist/plugins/analysis/ast/builders/AssignmentBuilder.js +274 -0
- package/dist/plugins/analysis/ast/builders/AssignmentBuilder.js.map +1 -0
- package/dist/plugins/analysis/ast/builders/CallFlowBuilder.d.ts +22 -0
- package/dist/plugins/analysis/ast/builders/CallFlowBuilder.d.ts.map +1 -0
- package/dist/plugins/analysis/ast/builders/CallFlowBuilder.js +178 -0
- package/dist/plugins/analysis/ast/builders/CallFlowBuilder.js.map +1 -0
- package/dist/plugins/analysis/ast/builders/ControlFlowBuilder.d.ts +76 -0
- package/dist/plugins/analysis/ast/builders/ControlFlowBuilder.d.ts.map +1 -0
- package/dist/plugins/analysis/ast/builders/ControlFlowBuilder.js +387 -0
- package/dist/plugins/analysis/ast/builders/ControlFlowBuilder.js.map +1 -0
- package/dist/plugins/analysis/ast/builders/CoreBuilder.d.ts +38 -0
- package/dist/plugins/analysis/ast/builders/CoreBuilder.d.ts.map +1 -0
- package/dist/plugins/analysis/ast/builders/CoreBuilder.js +240 -0
- package/dist/plugins/analysis/ast/builders/CoreBuilder.js.map +1 -0
- package/dist/plugins/analysis/ast/builders/ModuleRuntimeBuilder.d.ts +53 -0
- package/dist/plugins/analysis/ast/builders/ModuleRuntimeBuilder.d.ts.map +1 -0
- package/dist/plugins/analysis/ast/builders/ModuleRuntimeBuilder.js +355 -0
- package/dist/plugins/analysis/ast/builders/ModuleRuntimeBuilder.js.map +1 -0
- package/dist/plugins/analysis/ast/builders/MutationBuilder.d.ts +46 -0
- package/dist/plugins/analysis/ast/builders/MutationBuilder.d.ts.map +1 -0
- package/dist/plugins/analysis/ast/builders/MutationBuilder.js +264 -0
- package/dist/plugins/analysis/ast/builders/MutationBuilder.js.map +1 -0
- package/dist/plugins/analysis/ast/builders/ReturnBuilder.d.ts +23 -0
- package/dist/plugins/analysis/ast/builders/ReturnBuilder.d.ts.map +1 -0
- package/dist/plugins/analysis/ast/builders/ReturnBuilder.js +206 -0
- package/dist/plugins/analysis/ast/builders/ReturnBuilder.js.map +1 -0
- package/dist/plugins/analysis/ast/builders/TypeSystemBuilder.d.ts +64 -0
- package/dist/plugins/analysis/ast/builders/TypeSystemBuilder.d.ts.map +1 -0
- package/dist/plugins/analysis/ast/builders/TypeSystemBuilder.js +370 -0
- package/dist/plugins/analysis/ast/builders/TypeSystemBuilder.js.map +1 -0
- package/dist/plugins/analysis/ast/builders/UpdateExpressionBuilder.d.ts +46 -0
- package/dist/plugins/analysis/ast/builders/UpdateExpressionBuilder.d.ts.map +1 -0
- package/dist/plugins/analysis/ast/builders/UpdateExpressionBuilder.js +191 -0
- package/dist/plugins/analysis/ast/builders/UpdateExpressionBuilder.js.map +1 -0
- package/dist/plugins/analysis/ast/builders/YieldBuilder.d.ts +30 -0
- package/dist/plugins/analysis/ast/builders/YieldBuilder.d.ts.map +1 -0
- package/dist/plugins/analysis/ast/builders/YieldBuilder.js +214 -0
- package/dist/plugins/analysis/ast/builders/YieldBuilder.js.map +1 -0
- package/dist/plugins/analysis/ast/builders/index.d.ts +12 -0
- package/dist/plugins/analysis/ast/builders/index.d.ts.map +1 -0
- package/dist/plugins/analysis/ast/builders/index.js +11 -0
- package/dist/plugins/analysis/ast/builders/index.js.map +1 -0
- package/dist/plugins/analysis/ast/builders/types.d.ts +30 -0
- package/dist/plugins/analysis/ast/builders/types.d.ts.map +1 -0
- package/dist/plugins/analysis/ast/builders/types.js +8 -0
- package/dist/plugins/analysis/ast/builders/types.js.map +1 -0
- package/dist/plugins/analysis/ast/handlers/AnalyzerDelegate.d.ts +50 -0
- package/dist/plugins/analysis/ast/handlers/AnalyzerDelegate.d.ts.map +1 -0
- package/dist/plugins/analysis/ast/handlers/AnalyzerDelegate.js +2 -0
- package/dist/plugins/analysis/ast/handlers/AnalyzerDelegate.js.map +1 -0
- package/dist/plugins/analysis/ast/handlers/BranchHandler.d.ts +18 -0
- package/dist/plugins/analysis/ast/handlers/BranchHandler.d.ts.map +1 -0
- package/dist/plugins/analysis/ast/handlers/BranchHandler.js +244 -0
- package/dist/plugins/analysis/ast/handlers/BranchHandler.js.map +1 -0
- package/dist/plugins/analysis/ast/handlers/CallExpressionHandler.d.ts +7 -0
- package/dist/plugins/analysis/ast/handlers/CallExpressionHandler.d.ts.map +1 -0
- package/dist/plugins/analysis/ast/handlers/CallExpressionHandler.js +295 -0
- package/dist/plugins/analysis/ast/handlers/CallExpressionHandler.js.map +1 -0
- package/dist/plugins/analysis/ast/handlers/FunctionBodyHandler.d.ts +22 -0
- package/dist/plugins/analysis/ast/handlers/FunctionBodyHandler.d.ts.map +1 -0
- package/dist/plugins/analysis/ast/handlers/FunctionBodyHandler.js +9 -0
- package/dist/plugins/analysis/ast/handlers/FunctionBodyHandler.js.map +1 -0
- package/dist/plugins/analysis/ast/handlers/LoopHandler.d.ts +13 -0
- package/dist/plugins/analysis/ast/handlers/LoopHandler.d.ts.map +1 -0
- package/dist/plugins/analysis/ast/handlers/LoopHandler.js +207 -0
- package/dist/plugins/analysis/ast/handlers/LoopHandler.js.map +1 -0
- package/dist/plugins/analysis/ast/handlers/NestedFunctionHandler.d.ts +13 -0
- package/dist/plugins/analysis/ast/handlers/NestedFunctionHandler.d.ts.map +1 -0
- package/dist/plugins/analysis/ast/handlers/NestedFunctionHandler.js +174 -0
- package/dist/plugins/analysis/ast/handlers/NestedFunctionHandler.js.map +1 -0
- package/dist/plugins/analysis/ast/handlers/NewExpressionHandler.d.ts +12 -0
- package/dist/plugins/analysis/ast/handlers/NewExpressionHandler.d.ts.map +1 -0
- package/dist/plugins/analysis/ast/handlers/NewExpressionHandler.js +135 -0
- package/dist/plugins/analysis/ast/handlers/NewExpressionHandler.js.map +1 -0
- package/dist/plugins/analysis/ast/handlers/PropertyAccessHandler.d.ts +13 -0
- package/dist/plugins/analysis/ast/handlers/PropertyAccessHandler.d.ts.map +1 -0
- package/dist/plugins/analysis/ast/handlers/PropertyAccessHandler.js +71 -0
- package/dist/plugins/analysis/ast/handlers/PropertyAccessHandler.js.map +1 -0
- package/dist/plugins/analysis/ast/handlers/ReturnYieldHandler.d.ts +12 -0
- package/dist/plugins/analysis/ast/handlers/ReturnYieldHandler.d.ts.map +1 -0
- package/dist/plugins/analysis/ast/handlers/ReturnYieldHandler.js +135 -0
- package/dist/plugins/analysis/ast/handlers/ReturnYieldHandler.js.map +1 -0
- package/dist/plugins/analysis/ast/handlers/ThrowHandler.d.ts +12 -0
- package/dist/plugins/analysis/ast/handlers/ThrowHandler.d.ts.map +1 -0
- package/dist/plugins/analysis/ast/handlers/ThrowHandler.js +82 -0
- package/dist/plugins/analysis/ast/handlers/ThrowHandler.js.map +1 -0
- package/dist/plugins/analysis/ast/handlers/TryCatchHandler.d.ts +14 -0
- package/dist/plugins/analysis/ast/handlers/TryCatchHandler.d.ts.map +1 -0
- package/dist/plugins/analysis/ast/handlers/TryCatchHandler.js +220 -0
- package/dist/plugins/analysis/ast/handlers/TryCatchHandler.js.map +1 -0
- package/dist/plugins/analysis/ast/handlers/VariableHandler.d.ts +12 -0
- package/dist/plugins/analysis/ast/handlers/VariableHandler.d.ts.map +1 -0
- package/dist/plugins/analysis/ast/handlers/VariableHandler.js +57 -0
- package/dist/plugins/analysis/ast/handlers/VariableHandler.js.map +1 -0
- package/dist/plugins/analysis/ast/handlers/index.d.ts +13 -0
- package/dist/plugins/analysis/ast/handlers/index.d.ts.map +1 -0
- package/dist/plugins/analysis/ast/handlers/index.js +12 -0
- package/dist/plugins/analysis/ast/handlers/index.js.map +1 -0
- package/dist/plugins/analysis/ast/types.d.ts +57 -6
- package/dist/plugins/analysis/ast/types.d.ts.map +1 -1
- package/dist/plugins/analysis/ast/utils/createParameterNodes.d.ts +5 -4
- package/dist/plugins/analysis/ast/utils/createParameterNodes.d.ts.map +1 -1
- package/dist/plugins/analysis/ast/utils/createParameterNodes.js +94 -13
- package/dist/plugins/analysis/ast/utils/createParameterNodes.js.map +1 -1
- package/dist/plugins/analysis/ast/utils/extractNamesFromPattern.d.ts +81 -0
- package/dist/plugins/analysis/ast/utils/extractNamesFromPattern.d.ts.map +1 -0
- package/dist/plugins/analysis/ast/utils/extractNamesFromPattern.js +140 -0
- package/dist/plugins/analysis/ast/utils/extractNamesFromPattern.js.map +1 -0
- package/dist/plugins/analysis/ast/utils/getExpressionValue.d.ts +22 -0
- package/dist/plugins/analysis/ast/utils/getExpressionValue.d.ts.map +1 -0
- package/dist/plugins/analysis/ast/utils/getExpressionValue.js +35 -0
- package/dist/plugins/analysis/ast/utils/getExpressionValue.js.map +1 -0
- package/dist/plugins/analysis/ast/utils/getMemberExpressionName.d.ts +25 -0
- package/dist/plugins/analysis/ast/utils/getMemberExpressionName.d.ts.map +1 -0
- package/dist/plugins/analysis/ast/utils/getMemberExpressionName.js +21 -0
- package/dist/plugins/analysis/ast/utils/getMemberExpressionName.js.map +1 -0
- package/dist/plugins/analysis/ast/utils/index.d.ts +2 -0
- package/dist/plugins/analysis/ast/utils/index.d.ts.map +1 -1
- package/dist/plugins/analysis/ast/utils/index.js +2 -0
- package/dist/plugins/analysis/ast/utils/index.js.map +1 -1
- package/dist/plugins/analysis/ast/visitors/ArgumentExtractor.d.ts +23 -0
- package/dist/plugins/analysis/ast/visitors/ArgumentExtractor.d.ts.map +1 -0
- package/dist/plugins/analysis/ast/visitors/ArgumentExtractor.js +241 -0
- package/dist/plugins/analysis/ast/visitors/ArgumentExtractor.js.map +1 -0
- package/dist/plugins/analysis/ast/visitors/ArrayElementExtractor.d.ts +20 -0
- package/dist/plugins/analysis/ast/visitors/ArrayElementExtractor.d.ts.map +1 -0
- package/dist/plugins/analysis/ast/visitors/ArrayElementExtractor.js +110 -0
- package/dist/plugins/analysis/ast/visitors/ArrayElementExtractor.js.map +1 -0
- package/dist/plugins/analysis/ast/visitors/CallExpressionVisitor.d.ts +15 -142
- package/dist/plugins/analysis/ast/visitors/CallExpressionVisitor.d.ts.map +1 -1
- package/dist/plugins/analysis/ast/visitors/CallExpressionVisitor.js +304 -937
- package/dist/plugins/analysis/ast/visitors/CallExpressionVisitor.js.map +1 -1
- package/dist/plugins/analysis/ast/visitors/ClassVisitor.d.ts.map +1 -1
- package/dist/plugins/analysis/ast/visitors/ClassVisitor.js +26 -11
- package/dist/plugins/analysis/ast/visitors/ClassVisitor.js.map +1 -1
- package/dist/plugins/analysis/ast/visitors/FunctionVisitor.d.ts.map +1 -1
- package/dist/plugins/analysis/ast/visitors/FunctionVisitor.js +21 -6
- package/dist/plugins/analysis/ast/visitors/FunctionVisitor.js.map +1 -1
- package/dist/plugins/analysis/ast/visitors/MutationDetector.d.ts +25 -0
- package/dist/plugins/analysis/ast/visitors/MutationDetector.d.ts.map +1 -0
- package/dist/plugins/analysis/ast/visitors/MutationDetector.js +181 -0
- package/dist/plugins/analysis/ast/visitors/MutationDetector.js.map +1 -0
- package/dist/plugins/analysis/ast/visitors/ObjectPropertyExtractor.d.ts +20 -0
- package/dist/plugins/analysis/ast/visitors/ObjectPropertyExtractor.d.ts.map +1 -0
- package/dist/plugins/analysis/ast/visitors/ObjectPropertyExtractor.js +155 -0
- package/dist/plugins/analysis/ast/visitors/ObjectPropertyExtractor.js.map +1 -0
- package/dist/plugins/analysis/ast/visitors/PropertyAccessVisitor.d.ts +9 -1
- package/dist/plugins/analysis/ast/visitors/PropertyAccessVisitor.d.ts.map +1 -1
- package/dist/plugins/analysis/ast/visitors/PropertyAccessVisitor.js +51 -3
- package/dist/plugins/analysis/ast/visitors/PropertyAccessVisitor.js.map +1 -1
- package/dist/plugins/analysis/ast/visitors/TypeScriptVisitor.d.ts +20 -0
- package/dist/plugins/analysis/ast/visitors/TypeScriptVisitor.d.ts.map +1 -1
- package/dist/plugins/analysis/ast/visitors/TypeScriptVisitor.js +188 -12
- package/dist/plugins/analysis/ast/visitors/TypeScriptVisitor.js.map +1 -1
- package/dist/plugins/analysis/ast/visitors/VariableVisitor.d.ts.map +1 -1
- package/dist/plugins/analysis/ast/visitors/VariableVisitor.js +6 -4
- package/dist/plugins/analysis/ast/visitors/VariableVisitor.js.map +1 -1
- package/dist/plugins/analysis/ast/visitors/call-expression-helpers.d.ts +19 -0
- package/dist/plugins/analysis/ast/visitors/call-expression-helpers.d.ts.map +1 -0
- package/dist/plugins/analysis/ast/visitors/call-expression-helpers.js +57 -0
- package/dist/plugins/analysis/ast/visitors/call-expression-helpers.js.map +1 -0
- package/dist/plugins/analysis/ast/visitors/call-expression-types.d.ts +168 -0
- package/dist/plugins/analysis/ast/visitors/call-expression-types.d.ts.map +1 -0
- package/dist/plugins/analysis/ast/visitors/call-expression-types.js +7 -0
- package/dist/plugins/analysis/ast/visitors/call-expression-types.js.map +1 -0
- package/dist/plugins/analysis/react-internal/browser-api.d.ts +20 -0
- package/dist/plugins/analysis/react-internal/browser-api.d.ts.map +1 -0
- package/dist/plugins/analysis/react-internal/browser-api.js +140 -0
- package/dist/plugins/analysis/react-internal/browser-api.js.map +1 -0
- package/dist/plugins/analysis/react-internal/hooks.d.ts +31 -0
- package/dist/plugins/analysis/react-internal/hooks.d.ts.map +1 -0
- package/dist/plugins/analysis/react-internal/hooks.js +465 -0
- package/dist/plugins/analysis/react-internal/hooks.js.map +1 -0
- package/dist/plugins/analysis/react-internal/jsx.d.ts +43 -0
- package/dist/plugins/analysis/react-internal/jsx.d.ts.map +1 -0
- package/dist/plugins/analysis/react-internal/jsx.js +231 -0
- package/dist/plugins/analysis/react-internal/jsx.js.map +1 -0
- package/dist/plugins/analysis/react-internal/types.d.ts +116 -0
- package/dist/plugins/analysis/react-internal/types.d.ts.map +1 -0
- package/dist/plugins/analysis/react-internal/types.js +83 -0
- package/dist/plugins/analysis/react-internal/types.js.map +1 -0
- package/dist/plugins/discovery/MonorepoServiceDiscovery.d.ts.map +1 -1
- package/dist/plugins/discovery/MonorepoServiceDiscovery.js +6 -13
- package/dist/plugins/discovery/MonorepoServiceDiscovery.js.map +1 -1
- package/dist/plugins/enrichment/AliasTracker.d.ts.map +1 -1
- package/dist/plugins/enrichment/AliasTracker.js +3 -1
- package/dist/plugins/enrichment/AliasTracker.js.map +1 -1
- package/dist/plugins/enrichment/ArgumentParameterLinker.d.ts.map +1 -1
- package/dist/plugins/enrichment/ArgumentParameterLinker.js +3 -1
- package/dist/plugins/enrichment/ArgumentParameterLinker.js.map +1 -1
- package/dist/plugins/enrichment/CallbackCallResolver.d.ts +42 -0
- package/dist/plugins/enrichment/CallbackCallResolver.d.ts.map +1 -0
- package/dist/plugins/enrichment/CallbackCallResolver.js +311 -0
- package/dist/plugins/enrichment/CallbackCallResolver.js.map +1 -0
- package/dist/plugins/enrichment/ClosureCaptureEnricher.d.ts.map +1 -1
- package/dist/plugins/enrichment/ClosureCaptureEnricher.js +3 -1
- package/dist/plugins/enrichment/ClosureCaptureEnricher.js.map +1 -1
- package/dist/plugins/enrichment/ConfigRoutingMapBuilder.d.ts +17 -0
- package/dist/plugins/enrichment/ConfigRoutingMapBuilder.d.ts.map +1 -0
- package/dist/plugins/enrichment/ConfigRoutingMapBuilder.js +55 -0
- package/dist/plugins/enrichment/ConfigRoutingMapBuilder.js.map +1 -0
- package/dist/plugins/enrichment/ExpressHandlerLinker.d.ts.map +1 -1
- package/dist/plugins/enrichment/ExpressHandlerLinker.js +3 -1
- package/dist/plugins/enrichment/ExpressHandlerLinker.js.map +1 -1
- package/dist/plugins/enrichment/ExternalCallResolver.d.ts.map +1 -1
- package/dist/plugins/enrichment/ExternalCallResolver.js +5 -8
- package/dist/plugins/enrichment/ExternalCallResolver.js.map +1 -1
- package/dist/plugins/enrichment/FunctionCallResolver.d.ts.map +1 -1
- package/dist/plugins/enrichment/FunctionCallResolver.js +6 -9
- package/dist/plugins/enrichment/FunctionCallResolver.js.map +1 -1
- package/dist/plugins/enrichment/HTTPConnectionEnricher.d.ts.map +1 -1
- package/dist/plugins/enrichment/HTTPConnectionEnricher.js +3 -1
- package/dist/plugins/enrichment/HTTPConnectionEnricher.js.map +1 -1
- package/dist/plugins/enrichment/ImportExportLinker.d.ts.map +1 -1
- package/dist/plugins/enrichment/ImportExportLinker.js +5 -3
- package/dist/plugins/enrichment/ImportExportLinker.js.map +1 -1
- package/dist/plugins/enrichment/InstanceOfResolver.d.ts.map +1 -1
- package/dist/plugins/enrichment/InstanceOfResolver.js +3 -1
- package/dist/plugins/enrichment/InstanceOfResolver.js.map +1 -1
- package/dist/plugins/enrichment/MethodCallResolver.d.ts +17 -68
- package/dist/plugins/enrichment/MethodCallResolver.d.ts.map +1 -1
- package/dist/plugins/enrichment/MethodCallResolver.js +42 -517
- package/dist/plugins/enrichment/MethodCallResolver.js.map +1 -1
- package/dist/plugins/enrichment/MountPointResolver.d.ts.map +1 -1
- package/dist/plugins/enrichment/MountPointResolver.js +9 -2
- package/dist/plugins/enrichment/MountPointResolver.js.map +1 -1
- package/dist/plugins/enrichment/NodejsBuiltinsResolver.d.ts.map +1 -1
- package/dist/plugins/enrichment/NodejsBuiltinsResolver.js +7 -16
- package/dist/plugins/enrichment/NodejsBuiltinsResolver.js.map +1 -1
- package/dist/plugins/enrichment/PrefixEvaluator.d.ts.map +1 -1
- package/dist/plugins/enrichment/PrefixEvaluator.js +6 -2
- package/dist/plugins/enrichment/PrefixEvaluator.js.map +1 -1
- package/dist/plugins/enrichment/RejectionPropagationEnricher.d.ts.map +1 -1
- package/dist/plugins/enrichment/RejectionPropagationEnricher.js +3 -1
- package/dist/plugins/enrichment/RejectionPropagationEnricher.js.map +1 -1
- package/dist/plugins/enrichment/RustFFIEnricher.d.ts.map +1 -1
- package/dist/plugins/enrichment/RustFFIEnricher.js +3 -1
- package/dist/plugins/enrichment/RustFFIEnricher.js.map +1 -1
- package/dist/plugins/enrichment/ServiceConnectionEnricher.d.ts +76 -0
- package/dist/plugins/enrichment/ServiceConnectionEnricher.d.ts.map +1 -0
- package/dist/plugins/enrichment/ServiceConnectionEnricher.js +355 -0
- package/dist/plugins/enrichment/ServiceConnectionEnricher.js.map +1 -0
- package/dist/plugins/enrichment/SocketConnectionEnricher.d.ts +42 -0
- package/dist/plugins/enrichment/SocketConnectionEnricher.d.ts.map +1 -0
- package/dist/plugins/enrichment/SocketConnectionEnricher.js +166 -0
- package/dist/plugins/enrichment/SocketConnectionEnricher.js.map +1 -0
- package/dist/plugins/enrichment/ValueDomainAnalyzer.d.ts.map +1 -1
- package/dist/plugins/enrichment/ValueDomainAnalyzer.js +3 -1
- package/dist/plugins/enrichment/ValueDomainAnalyzer.js.map +1 -1
- package/dist/plugins/enrichment/method-call/MethodCallData.d.ts +68 -0
- package/dist/plugins/enrichment/method-call/MethodCallData.d.ts.map +1 -0
- package/dist/plugins/enrichment/method-call/MethodCallData.js +227 -0
- package/dist/plugins/enrichment/method-call/MethodCallData.js.map +1 -0
- package/dist/plugins/enrichment/method-call/MethodCallDetectors.d.ts +21 -0
- package/dist/plugins/enrichment/method-call/MethodCallDetectors.d.ts.map +1 -0
- package/dist/plugins/enrichment/method-call/MethodCallDetectors.js +52 -0
- package/dist/plugins/enrichment/method-call/MethodCallDetectors.js.map +1 -0
- package/dist/plugins/enrichment/method-call/MethodCallErrorAnalysis.d.ts +22 -0
- package/dist/plugins/enrichment/method-call/MethodCallErrorAnalysis.d.ts.map +1 -0
- package/dist/plugins/enrichment/method-call/MethodCallErrorAnalysis.js +105 -0
- package/dist/plugins/enrichment/method-call/MethodCallErrorAnalysis.js.map +1 -0
- package/dist/plugins/enrichment/method-call/MethodCallIndexers.d.ts +19 -0
- package/dist/plugins/enrichment/method-call/MethodCallIndexers.d.ts.map +1 -0
- package/dist/plugins/enrichment/method-call/MethodCallIndexers.js +63 -0
- package/dist/plugins/enrichment/method-call/MethodCallIndexers.js.map +1 -0
- package/dist/plugins/enrichment/method-call/MethodCallResolution.d.ts +30 -0
- package/dist/plugins/enrichment/method-call/MethodCallResolution.d.ts.map +1 -0
- package/dist/plugins/enrichment/method-call/MethodCallResolution.js +138 -0
- package/dist/plugins/enrichment/method-call/MethodCallResolution.js.map +1 -0
- package/dist/plugins/indexing/IncrementalModuleIndexer.d.ts.map +1 -1
- package/dist/plugins/indexing/IncrementalModuleIndexer.js +2 -8
- package/dist/plugins/indexing/IncrementalModuleIndexer.js.map +1 -1
- package/dist/plugins/indexing/JSModuleIndexer.d.ts.map +1 -1
- package/dist/plugins/indexing/JSModuleIndexer.js +13 -20
- package/dist/plugins/indexing/JSModuleIndexer.js.map +1 -1
- package/dist/plugins/indexing/RustModuleIndexer.d.ts.map +1 -1
- package/dist/plugins/indexing/RustModuleIndexer.js +4 -8
- package/dist/plugins/indexing/RustModuleIndexer.js.map +1 -1
- package/dist/plugins/validation/AwaitInLoopValidator.d.ts +24 -0
- package/dist/plugins/validation/AwaitInLoopValidator.d.ts.map +1 -0
- package/dist/plugins/validation/AwaitInLoopValidator.js +69 -0
- package/dist/plugins/validation/AwaitInLoopValidator.js.map +1 -0
- package/dist/plugins/validation/PackageCoverageValidator.d.ts +33 -0
- package/dist/plugins/validation/PackageCoverageValidator.d.ts.map +1 -0
- package/dist/plugins/validation/PackageCoverageValidator.js +149 -0
- package/dist/plugins/validation/PackageCoverageValidator.js.map +1 -0
- package/dist/plugins/validation/UnconnectedRouteValidator.d.ts +18 -0
- package/dist/plugins/validation/UnconnectedRouteValidator.d.ts.map +1 -0
- package/dist/plugins/validation/UnconnectedRouteValidator.js +68 -0
- package/dist/plugins/validation/UnconnectedRouteValidator.js.map +1 -0
- package/dist/queries/NodeContext.d.ts +81 -0
- package/dist/queries/NodeContext.d.ts.map +1 -0
- package/dist/queries/NodeContext.js +193 -0
- package/dist/queries/NodeContext.js.map +1 -0
- package/dist/queries/findCallsInFunction.d.ts.map +1 -1
- package/dist/queries/findCallsInFunction.js +10 -2
- package/dist/queries/findCallsInFunction.js.map +1 -1
- package/dist/queries/findContainingFunction.d.ts +3 -2
- package/dist/queries/findContainingFunction.d.ts.map +1 -1
- package/dist/queries/findContainingFunction.js +13 -3
- package/dist/queries/findContainingFunction.js.map +1 -1
- package/dist/queries/index.d.ts +2 -0
- package/dist/queries/index.d.ts.map +1 -1
- package/dist/queries/index.js +1 -0
- package/dist/queries/index.js.map +1 -1
- package/dist/resources/InfraResourceMapImpl.d.ts +31 -0
- package/dist/resources/InfraResourceMapImpl.d.ts.map +1 -0
- package/dist/resources/InfraResourceMapImpl.js +110 -0
- package/dist/resources/InfraResourceMapImpl.js.map +1 -0
- package/dist/resources/RoutingMapImpl.d.ts +33 -0
- package/dist/resources/RoutingMapImpl.d.ts.map +1 -0
- package/dist/resources/RoutingMapImpl.js +115 -0
- package/dist/resources/RoutingMapImpl.js.map +1 -0
- package/dist/storage/backends/RFDBServerBackend.d.ts +35 -6
- package/dist/storage/backends/RFDBServerBackend.d.ts.map +1 -1
- package/dist/storage/backends/RFDBServerBackend.js +102 -70
- package/dist/storage/backends/RFDBServerBackend.js.map +1 -1
- package/dist/utils/findRfdbBinary.d.ts +3 -2
- package/dist/utils/findRfdbBinary.d.ts.map +1 -1
- package/dist/utils/findRfdbBinary.js +22 -7
- package/dist/utils/findRfdbBinary.js.map +1 -1
- package/dist/utils/moduleResolution.d.ts.map +1 -1
- package/dist/utils/moduleResolution.js +26 -1
- package/dist/utils/moduleResolution.js.map +1 -1
- package/dist/utils/resolveNodeFile.d.ts +13 -0
- package/dist/utils/resolveNodeFile.d.ts.map +1 -0
- package/dist/utils/resolveNodeFile.js +18 -0
- package/dist/utils/resolveNodeFile.js.map +1 -0
- package/dist/version.d.ts +11 -0
- package/dist/version.d.ts.map +1 -0
- package/dist/version.js +26 -0
- package/dist/version.js.map +1 -0
- package/package.json +3 -3
- package/src/DiscoveryManager.ts +279 -0
- package/src/GraphInitializer.ts +131 -0
- package/src/GuaranteeChecker.ts +90 -0
- package/src/Orchestrator.ts +222 -963
- package/src/OrchestratorTypes.ts +122 -0
- package/src/ParallelAnalysisRunner.ts +188 -0
- package/src/PhaseRunner.ts +450 -0
- package/src/config/ConfigLoader.ts +176 -2
- package/src/config/index.ts +2 -0
- package/src/core/ASTWorker.ts +9 -2
- package/src/core/FileOverview.ts +374 -0
- package/src/core/GraphFreshnessChecker.ts +7 -5
- package/src/core/GuaranteeManager.ts +70 -2
- package/src/core/IncrementalReanalyzer.ts +6 -3
- package/src/core/NodeFactory.ts +173 -652
- package/src/core/ResourceRegistry.ts +39 -0
- package/src/core/ScopeTracker.ts +23 -0
- package/src/core/SemanticId.ts +183 -0
- package/src/core/brandNodeInternal.ts +16 -0
- package/src/core/buildDependencyGraph.ts +98 -0
- package/src/core/factories/CoreFactory.ts +489 -0
- package/src/core/factories/DatabaseFactory.ts +63 -0
- package/src/core/factories/ExternalFactory.ts +23 -0
- package/src/core/factories/HttpFactory.ts +57 -0
- package/src/core/factories/ReactFactory.ts +15 -0
- package/src/core/factories/RustFactory.ts +128 -0
- package/src/core/factories/ServiceFactory.ts +27 -0
- package/src/core/factories/SocketFactory.ts +94 -0
- package/src/core/nodes/DatabaseNode.ts +175 -0
- package/src/core/nodes/ExpressMiddlewareNode.ts +98 -0
- package/src/core/nodes/ExpressMountNode.ts +94 -0
- package/src/core/nodes/ExternalApiNode.ts +53 -0
- package/src/core/nodes/ExternalFunctionNode.ts +77 -0
- package/src/core/nodes/FetchRequestNode.ts +105 -0
- package/src/core/nodes/HttpRouteNode.ts +113 -0
- package/src/core/nodes/NodeKind.ts +1 -0
- package/src/core/nodes/ReactNode.ts +78 -0
- package/src/core/nodes/RustCallNode.ts +96 -0
- package/src/core/nodes/RustFunctionNode.ts +112 -0
- package/src/core/nodes/RustImplNode.ts +78 -0
- package/src/core/nodes/RustMethodNode.ts +125 -0
- package/src/core/nodes/RustModuleNode.ts +84 -0
- package/src/core/nodes/RustStructNode.ts +80 -0
- package/src/core/nodes/RustTraitNode.ts +82 -0
- package/src/core/nodes/ServiceLayerNode.ts +183 -0
- package/src/core/nodes/SocketIONode.ts +177 -0
- package/src/core/nodes/SocketNode.ts +206 -0
- package/src/core/nodes/TypeNode.ts +46 -3
- package/src/core/nodes/TypeParameterNode.ts +91 -0
- package/src/core/nodes/index.ts +57 -0
- package/src/index.ts +60 -4
- package/src/plugins/InfraAnalyzer.ts +208 -0
- package/src/plugins/analysis/DatabaseAnalyzer.ts +27 -17
- package/src/plugins/analysis/ExpressAnalyzer.ts +51 -38
- package/src/plugins/analysis/ExpressResponseAnalyzer.ts +15 -12
- package/src/plugins/analysis/ExpressRouteAnalyzer.ts +56 -56
- package/src/plugins/analysis/FetchAnalyzer.ts +42 -52
- package/src/plugins/analysis/IncrementalAnalysisPlugin.ts +3 -2
- package/src/plugins/analysis/JSASTAnalyzer.ts +391 -2304
- package/src/plugins/analysis/NestJSRouteAnalyzer.ts +241 -0
- package/src/plugins/analysis/ReactAnalyzer.ts +33 -1085
- package/src/plugins/analysis/RustAnalyzer.ts +112 -116
- package/src/plugins/analysis/SQLiteAnalyzer.ts +23 -9
- package/src/plugins/analysis/ServiceLayerAnalyzer.ts +32 -10
- package/src/plugins/analysis/SocketAnalyzer.ts +601 -0
- package/src/plugins/analysis/SocketIOAnalyzer.ts +25 -34
- package/src/plugins/analysis/SystemDbAnalyzer.ts +15 -12
- package/src/plugins/analysis/ast/CollisionResolver.ts +137 -0
- package/src/plugins/analysis/ast/FunctionBodyContext.ts +291 -0
- package/src/plugins/analysis/ast/GraphBuilder.ts +274 -3180
- package/src/plugins/analysis/ast/IdGenerator.ts +81 -1
- package/src/plugins/analysis/ast/builders/AssignmentBuilder.ts +407 -0
- package/src/plugins/analysis/ast/builders/CallFlowBuilder.ts +255 -0
- package/src/plugins/analysis/ast/builders/ControlFlowBuilder.ts +470 -0
- package/src/plugins/analysis/ast/builders/CoreBuilder.ts +306 -0
- package/src/plugins/analysis/ast/builders/ModuleRuntimeBuilder.ts +452 -0
- package/src/plugins/analysis/ast/builders/MutationBuilder.ts +372 -0
- package/src/plugins/analysis/ast/builders/ReturnBuilder.ts +279 -0
- package/src/plugins/analysis/ast/builders/TypeSystemBuilder.ts +475 -0
- package/src/plugins/analysis/ast/builders/UpdateExpressionBuilder.ts +262 -0
- package/src/plugins/analysis/ast/builders/YieldBuilder.ts +287 -0
- package/src/plugins/analysis/ast/builders/index.ts +11 -0
- package/src/plugins/analysis/ast/builders/types.ts +65 -0
- package/src/plugins/analysis/ast/handlers/AnalyzerDelegate.ts +183 -0
- package/src/plugins/analysis/ast/handlers/BranchHandler.ts +313 -0
- package/src/plugins/analysis/ast/handlers/CallExpressionHandler.ts +347 -0
- package/src/plugins/analysis/ast/handlers/FunctionBodyHandler.ts +24 -0
- package/src/plugins/analysis/ast/handlers/LoopHandler.ts +240 -0
- package/src/plugins/analysis/ast/handlers/NestedFunctionHandler.ts +201 -0
- package/src/plugins/analysis/ast/handlers/NewExpressionHandler.ts +159 -0
- package/src/plugins/analysis/ast/handlers/PropertyAccessHandler.ts +112 -0
- package/src/plugins/analysis/ast/handlers/ReturnYieldHandler.ts +166 -0
- package/src/plugins/analysis/ast/handlers/ThrowHandler.ts +101 -0
- package/src/plugins/analysis/ast/handlers/TryCatchHandler.ts +262 -0
- package/src/plugins/analysis/ast/handlers/VariableHandler.ts +93 -0
- package/src/plugins/analysis/ast/handlers/index.ts +12 -0
- package/src/plugins/analysis/ast/types.ts +68 -9
- package/src/plugins/analysis/ast/utils/createParameterNodes.ts +118 -13
- package/src/plugins/analysis/ast/utils/extractNamesFromPattern.ts +166 -0
- package/src/plugins/analysis/ast/utils/getExpressionValue.ts +34 -0
- package/src/plugins/analysis/ast/utils/getMemberExpressionName.ts +33 -0
- package/src/plugins/analysis/ast/utils/index.ts +2 -0
- package/src/plugins/analysis/ast/visitors/ArgumentExtractor.ts +307 -0
- package/src/plugins/analysis/ast/visitors/ArrayElementExtractor.ts +172 -0
- package/src/plugins/analysis/ast/visitors/CallExpressionVisitor.ts +425 -1374
- package/src/plugins/analysis/ast/visitors/ClassVisitor.ts +43 -12
- package/src/plugins/analysis/ast/visitors/FunctionVisitor.ts +39 -8
- package/src/plugins/analysis/ast/visitors/MutationDetector.ts +211 -0
- package/src/plugins/analysis/ast/visitors/ObjectPropertyExtractor.ts +217 -0
- package/src/plugins/analysis/ast/visitors/PropertyAccessVisitor.ts +69 -4
- package/src/plugins/analysis/ast/visitors/TypeScriptVisitor.ts +232 -13
- package/src/plugins/analysis/ast/visitors/VariableVisitor.ts +8 -11
- package/src/plugins/analysis/ast/visitors/call-expression-helpers.ts +65 -0
- package/src/plugins/analysis/ast/visitors/call-expression-types.ts +179 -0
- package/src/plugins/analysis/react-internal/browser-api.ts +168 -0
- package/src/plugins/analysis/react-internal/hooks.ts +517 -0
- package/src/plugins/analysis/react-internal/jsx.ts +279 -0
- package/src/plugins/analysis/react-internal/types.ts +183 -0
- package/src/plugins/discovery/MonorepoServiceDiscovery.ts +6 -14
- package/src/plugins/enrichment/AliasTracker.ts +3 -1
- package/src/plugins/enrichment/ArgumentParameterLinker.ts +3 -1
- package/src/plugins/enrichment/CallbackCallResolver.ts +398 -0
- package/src/plugins/enrichment/ClosureCaptureEnricher.ts +3 -1
- package/src/plugins/enrichment/ConfigRoutingMapBuilder.ts +67 -0
- package/src/plugins/enrichment/ExpressHandlerLinker.ts +3 -1
- package/src/plugins/enrichment/ExternalCallResolver.ts +5 -8
- package/src/plugins/enrichment/FunctionCallResolver.ts +6 -9
- package/src/plugins/enrichment/HTTPConnectionEnricher.ts +3 -1
- package/src/plugins/enrichment/ImportExportLinker.ts +5 -3
- package/src/plugins/enrichment/InstanceOfResolver.ts +3 -1
- package/src/plugins/enrichment/MethodCallResolver.ts +48 -659
- package/src/plugins/enrichment/MountPointResolver.ts +9 -2
- package/src/plugins/enrichment/NodejsBuiltinsResolver.ts +13 -18
- package/src/plugins/enrichment/PrefixEvaluator.ts +6 -2
- package/src/plugins/enrichment/RejectionPropagationEnricher.ts +3 -1
- package/src/plugins/enrichment/RustFFIEnricher.ts +3 -1
- package/src/plugins/enrichment/ServiceConnectionEnricher.ts +472 -0
- package/src/plugins/enrichment/SocketConnectionEnricher.ts +228 -0
- package/src/plugins/enrichment/ValueDomainAnalyzer.ts +3 -1
- package/src/plugins/enrichment/method-call/MethodCallData.ts +299 -0
- package/src/plugins/enrichment/method-call/MethodCallDetectors.ts +70 -0
- package/src/plugins/enrichment/method-call/MethodCallErrorAnalysis.ts +131 -0
- package/src/plugins/enrichment/method-call/MethodCallIndexers.ts +83 -0
- package/src/plugins/enrichment/method-call/MethodCallResolution.ts +181 -0
- package/src/plugins/indexing/IncrementalModuleIndexer.ts +5 -10
- package/src/plugins/indexing/JSModuleIndexer.ts +17 -21
- package/src/plugins/indexing/RustModuleIndexer.ts +14 -13
- package/src/plugins/validation/AwaitInLoopValidator.ts +91 -0
- package/src/plugins/validation/PackageCoverageValidator.ts +181 -0
- package/src/plugins/validation/UnconnectedRouteValidator.ts +93 -0
- package/src/queries/NodeContext.ts +277 -0
- package/src/queries/findCallsInFunction.ts +11 -2
- package/src/queries/findContainingFunction.ts +14 -3
- package/src/queries/index.ts +13 -0
- package/src/resources/InfraResourceMapImpl.ts +119 -0
- package/src/resources/RoutingMapImpl.ts +133 -0
- package/src/storage/backends/RFDBServerBackend.ts +106 -77
- package/src/utils/findRfdbBinary.ts +22 -7
- package/src/utils/moduleResolution.ts +28 -1
- package/src/utils/resolveNodeFile.ts +18 -0
- package/src/version.ts +28 -0
|
@@ -0,0 +1,151 @@
|
|
|
1
|
+
import * as t from '@babel/types';
|
|
2
|
+
import { getLine, getColumn } from './utils/location.js';
|
|
3
|
+
function ensure(c, k, fb) {
|
|
4
|
+
if (!c[k]) {
|
|
5
|
+
c[k] = fb();
|
|
6
|
+
}
|
|
7
|
+
return c[k];
|
|
8
|
+
}
|
|
9
|
+
function extract(c, k) { return (c[k] ?? []); }
|
|
10
|
+
function counter(c, k) { return (c[k] ?? { value: 0 }); }
|
|
11
|
+
/** Creates FunctionBodyContext matching analyzeFunctionBody() lines 3507-3763 init logic. */
|
|
12
|
+
export function createFunctionBodyContext(funcPath, parentScopeId, module, collections, functions, extractNamesFromPatternFn) {
|
|
13
|
+
const c = collections;
|
|
14
|
+
const scopes = extract(c, 'scopes');
|
|
15
|
+
const variableDeclarations = extract(c, 'variableDeclarations');
|
|
16
|
+
const callSites = extract(c, 'callSites');
|
|
17
|
+
const methodCalls = extract(c, 'methodCalls');
|
|
18
|
+
const eventListeners = extract(c, 'eventListeners');
|
|
19
|
+
const methodCallbacks = extract(c, 'methodCallbacks');
|
|
20
|
+
const classInstantiations = extract(c, 'classInstantiations');
|
|
21
|
+
const constructorCalls = extract(c, 'constructorCalls');
|
|
22
|
+
const httpRequests = extract(c, 'httpRequests');
|
|
23
|
+
const literals = extract(c, 'literals');
|
|
24
|
+
const variableAssignments = extract(c, 'variableAssignments');
|
|
25
|
+
const parameters = extract(c, 'parameters');
|
|
26
|
+
const returnStatements = extract(c, 'returnStatements');
|
|
27
|
+
const updateExpressions = extract(c, 'updateExpressions');
|
|
28
|
+
const ifScopeCounterRef = counter(c, 'ifScopeCounterRef');
|
|
29
|
+
const scopeCounterRef = counter(c, 'scopeCounterRef');
|
|
30
|
+
const varDeclCounterRef = counter(c, 'varDeclCounterRef');
|
|
31
|
+
const callSiteCounterRef = counter(c, 'callSiteCounterRef');
|
|
32
|
+
const functionCounterRef = counter(c, 'functionCounterRef');
|
|
33
|
+
const httpRequestCounterRef = counter(c, 'httpRequestCounterRef');
|
|
34
|
+
const literalCounterRef = counter(c, 'literalCounterRef');
|
|
35
|
+
const anonymousFunctionCounterRef = counter(c, 'anonymousFunctionCounterRef');
|
|
36
|
+
const scopeTracker = c.scopeTracker;
|
|
37
|
+
const objectLiterals = ensure(c, 'objectLiterals', () => []);
|
|
38
|
+
const objectProperties = ensure(c, 'objectProperties', () => []);
|
|
39
|
+
const objectLiteralCounterRef = ensure(c, 'objectLiteralCounterRef', () => ({ value: 0 }));
|
|
40
|
+
const yieldExpressions = ensure(c, 'yieldExpressions', () => []);
|
|
41
|
+
const loops = ensure(c, 'loops', () => []);
|
|
42
|
+
const loopCounterRef = ensure(c, 'loopCounterRef', () => ({ value: 0 }));
|
|
43
|
+
const branches = ensure(c, 'branches', () => []);
|
|
44
|
+
const branchCounterRef = ensure(c, 'branchCounterRef', () => ({ value: 0 }));
|
|
45
|
+
const tryBlocks = ensure(c, 'tryBlocks', () => []);
|
|
46
|
+
const catchBlocks = ensure(c, 'catchBlocks', () => []);
|
|
47
|
+
const finallyBlocks = ensure(c, 'finallyBlocks', () => []);
|
|
48
|
+
const tryBlockCounterRef = ensure(c, 'tryBlockCounterRef', () => ({ value: 0 }));
|
|
49
|
+
const catchBlockCounterRef = ensure(c, 'catchBlockCounterRef', () => ({ value: 0 }));
|
|
50
|
+
const finallyBlockCounterRef = ensure(c, 'finallyBlockCounterRef', () => ({ value: 0 }));
|
|
51
|
+
const promiseExecutorContexts = ensure(c, 'promiseExecutorContexts', () => new Map());
|
|
52
|
+
const promiseResolutions = ensure(c, 'promiseResolutions', () => []);
|
|
53
|
+
const rejectionPatterns = ensure(c, 'rejectionPatterns', () => []);
|
|
54
|
+
const catchesFromInfos = ensure(c, 'catchesFromInfos', () => []);
|
|
55
|
+
const processedNodes = c.processedNodes ?? {
|
|
56
|
+
functions: new Set(), classes: new Set(),
|
|
57
|
+
imports: new Set(), exports: new Set(),
|
|
58
|
+
variables: new Set(), callSites: new Set(),
|
|
59
|
+
methodCalls: new Set(), varDecls: new Set(),
|
|
60
|
+
eventListeners: new Set(),
|
|
61
|
+
};
|
|
62
|
+
const scopeIdStack = [parentScopeId];
|
|
63
|
+
const getCurrentScopeId = () => scopeIdStack[scopeIdStack.length - 1];
|
|
64
|
+
// Function identity
|
|
65
|
+
const funcNode = funcPath.node;
|
|
66
|
+
const functionNode = t.isFunction(funcNode) ? funcNode : null;
|
|
67
|
+
const functionPath = functionNode ? funcPath : null;
|
|
68
|
+
const funcLine = getLine(funcNode);
|
|
69
|
+
const funcColumn = getColumn(funcNode);
|
|
70
|
+
let currentFunctionId = null;
|
|
71
|
+
const matchingFunction = funcNode.type !== 'StaticBlock'
|
|
72
|
+
? functions.find(f => f.file === module.file && f.line === funcLine &&
|
|
73
|
+
(f.column === undefined || f.column === funcColumn))
|
|
74
|
+
: undefined;
|
|
75
|
+
if (matchingFunction) {
|
|
76
|
+
currentFunctionId = matchingFunction.id;
|
|
77
|
+
}
|
|
78
|
+
// Parameter invocation tracking (REG-401, REG-416, REG-417)
|
|
79
|
+
const paramNameToIndex = new Map();
|
|
80
|
+
const paramNameToPropertyPath = new Map();
|
|
81
|
+
const restParamNames = new Set();
|
|
82
|
+
const invokedParamIndexes = new Set();
|
|
83
|
+
const invokesParamBindings = [];
|
|
84
|
+
const aliasToParamIndex = new Map();
|
|
85
|
+
if (functionNode) {
|
|
86
|
+
for (let i = 0; i < functionNode.params.length; i++) {
|
|
87
|
+
const param = functionNode.params[i];
|
|
88
|
+
if (t.isIdentifier(param)) {
|
|
89
|
+
paramNameToIndex.set(param.name, i);
|
|
90
|
+
}
|
|
91
|
+
else if (t.isAssignmentPattern(param)) {
|
|
92
|
+
if (t.isIdentifier(param.left)) {
|
|
93
|
+
paramNameToIndex.set(param.left.name, i);
|
|
94
|
+
}
|
|
95
|
+
else if (t.isObjectPattern(param.left) || t.isArrayPattern(param.left)) {
|
|
96
|
+
for (const info of extractNamesFromPatternFn(param.left)) {
|
|
97
|
+
paramNameToIndex.set(info.name, i);
|
|
98
|
+
if (info.propertyPath) {
|
|
99
|
+
paramNameToPropertyPath.set(info.name, info.propertyPath);
|
|
100
|
+
}
|
|
101
|
+
}
|
|
102
|
+
}
|
|
103
|
+
}
|
|
104
|
+
else if (t.isObjectPattern(param) || t.isArrayPattern(param)) {
|
|
105
|
+
for (const info of extractNamesFromPatternFn(param)) {
|
|
106
|
+
paramNameToIndex.set(info.name, i);
|
|
107
|
+
if (info.propertyPath) {
|
|
108
|
+
paramNameToPropertyPath.set(info.name, info.propertyPath);
|
|
109
|
+
}
|
|
110
|
+
}
|
|
111
|
+
}
|
|
112
|
+
else if (t.isRestElement(param) && t.isIdentifier(param.argument)) {
|
|
113
|
+
paramNameToIndex.set(param.argument.name, i);
|
|
114
|
+
restParamNames.add(param.argument.name);
|
|
115
|
+
}
|
|
116
|
+
}
|
|
117
|
+
}
|
|
118
|
+
const controlFlowState = {
|
|
119
|
+
branchCount: 0, loopCount: 0, caseCount: 0, logicalOpCount: 0,
|
|
120
|
+
hasTryCatch: false, hasEarlyReturn: false, hasThrow: false,
|
|
121
|
+
returnCount: 0, totalStatements: 0, tryBlockDepth: 0, loopDepth: 0,
|
|
122
|
+
};
|
|
123
|
+
return {
|
|
124
|
+
funcPath, funcNode, functionNode, functionPath, funcLine, funcColumn, currentFunctionId, matchingFunction,
|
|
125
|
+
module, collections, parentScopeId, scopeIdStack, getCurrentScopeId, scopeTracker,
|
|
126
|
+
functions, scopes, variableDeclarations, callSites, methodCalls,
|
|
127
|
+
eventListeners, methodCallbacks, classInstantiations, constructorCalls,
|
|
128
|
+
httpRequests, literals, variableAssignments, parameters,
|
|
129
|
+
returnStatements, yieldExpressions, updateExpressions,
|
|
130
|
+
objectLiterals, objectProperties,
|
|
131
|
+
loops, branches, tryBlocks, catchBlocks, finallyBlocks,
|
|
132
|
+
promiseExecutorContexts, promiseResolutions, rejectionPatterns, catchesFromInfos,
|
|
133
|
+
objectLiteralCounterRef, loopCounterRef, branchCounterRef,
|
|
134
|
+
tryBlockCounterRef, catchBlockCounterRef, finallyBlockCounterRef,
|
|
135
|
+
ifScopeCounterRef, scopeCounterRef, varDeclCounterRef,
|
|
136
|
+
callSiteCounterRef, functionCounterRef, httpRequestCounterRef,
|
|
137
|
+
literalCounterRef, anonymousFunctionCounterRef,
|
|
138
|
+
processedNodes,
|
|
139
|
+
processedCallSites: processedNodes.callSites,
|
|
140
|
+
processedMethodCalls: processedNodes.methodCalls,
|
|
141
|
+
processedVarDecls: processedNodes.varDecls,
|
|
142
|
+
processedEventListeners: processedNodes.eventListeners,
|
|
143
|
+
parentScopeVariables: new Set(),
|
|
144
|
+
ifElseScopeMap: new Map(),
|
|
145
|
+
tryScopeMap: new Map(),
|
|
146
|
+
paramNameToIndex, paramNameToPropertyPath, restParamNames,
|
|
147
|
+
invokedParamIndexes, invokesParamBindings, aliasToParamIndex,
|
|
148
|
+
controlFlowState,
|
|
149
|
+
};
|
|
150
|
+
}
|
|
151
|
+
//# sourceMappingURL=FunctionBodyContext.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"FunctionBodyContext.js","sourceRoot":"","sources":["../../../../src/plugins/analysis/ast/FunctionBodyContext.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* GraphBuilder -
|
|
2
|
+
* GraphBuilder - orchestrator that delegates to domain-specific builders
|
|
3
3
|
* OPTIMIZED: Uses batched writes to reduce FFI overhead
|
|
4
4
|
*/
|
|
5
5
|
import type { GraphBackend } from '@grafema/types';
|
|
@@ -8,6 +8,18 @@ export declare class GraphBuilder {
|
|
|
8
8
|
private _createdSingletons;
|
|
9
9
|
private _nodeBuffer;
|
|
10
10
|
private _edgeBuffer;
|
|
11
|
+
private readonly _coreBuilder;
|
|
12
|
+
private readonly _controlFlowBuilder;
|
|
13
|
+
private readonly _assignmentBuilder;
|
|
14
|
+
private readonly _callFlowBuilder;
|
|
15
|
+
private readonly _mutationBuilder;
|
|
16
|
+
private readonly _updateExpressionBuilder;
|
|
17
|
+
private readonly _returnBuilder;
|
|
18
|
+
private readonly _yieldBuilder;
|
|
19
|
+
private readonly _typeSystemBuilder;
|
|
20
|
+
private readonly _moduleRuntimeBuilder;
|
|
21
|
+
constructor();
|
|
22
|
+
private _createContext;
|
|
11
23
|
/**
|
|
12
24
|
* Buffer a node for batched writing
|
|
13
25
|
*/
|
|
@@ -29,133 +41,12 @@ export declare class GraphBuilder {
|
|
|
29
41
|
* Создаёт ноды и рёбра в графе (BATCHED VERSION)
|
|
30
42
|
*/
|
|
31
43
|
build(module: ModuleNode, graph: GraphBackend, projectPath: string, data: ASTCollections): Promise<BuildResult>;
|
|
32
|
-
private bufferFunctionEdges;
|
|
33
|
-
private bufferScopeEdges;
|
|
34
44
|
/**
|
|
35
|
-
*
|
|
36
|
-
*
|
|
37
|
-
*
|
|
38
|
-
* - Parent -> CONTAINS -> LOOP
|
|
39
|
-
* - LOOP -> HAS_BODY -> body SCOPE
|
|
40
|
-
* - LOOP -> ITERATES_OVER -> collection VARIABLE/PARAMETER (for for-in/for-of)
|
|
41
|
-
*
|
|
42
|
-
* Scope-aware variable lookup for ITERATES_OVER:
|
|
43
|
-
* For for-of/for-in, finds the iterated variable preferring:
|
|
44
|
-
* 1. Variables declared before the loop on same or earlier line (closest first)
|
|
45
|
-
* 2. Parameters (function arguments)
|
|
46
|
-
*/
|
|
47
|
-
private bufferLoopEdges;
|
|
48
|
-
/**
|
|
49
|
-
* Buffer HAS_CONDITION edges from LOOP to condition EXPRESSION/CALL nodes.
|
|
50
|
-
* Also creates EXPRESSION nodes for non-CallExpression conditions.
|
|
51
|
-
*
|
|
52
|
-
* REG-280: For while/do-while/for loops, creates HAS_CONDITION edge to the
|
|
53
|
-
* condition expression. For-in/for-of loops don't have conditions (use ITERATES_OVER).
|
|
54
|
-
*
|
|
55
|
-
* For CallExpression conditions, links to existing CALL_SITE node by coordinates.
|
|
56
|
-
*/
|
|
57
|
-
private bufferLoopConditionEdges;
|
|
58
|
-
/**
|
|
59
|
-
* Buffer EXPRESSION nodes for loop condition expressions (non-CallExpression).
|
|
60
|
-
* Similar to bufferDiscriminantExpressions but for loops.
|
|
61
|
-
*
|
|
62
|
-
* REG-280: Creates EXPRESSION nodes for while/do-while/for loop conditions.
|
|
63
|
-
* CallExpression conditions use existing CALL_SITE nodes (no EXPRESSION created).
|
|
64
|
-
*/
|
|
65
|
-
private bufferLoopConditionExpressions;
|
|
66
|
-
/**
|
|
67
|
-
* Buffer BRANCH edges (CONTAINS, HAS_CONDITION, HAS_CONSEQUENT, HAS_ALTERNATE)
|
|
68
|
-
*
|
|
69
|
-
* REG-275: For CallExpression discriminants (switch(getType())), looks up the
|
|
70
|
-
* actual CALL_SITE node by coordinates since the CALL_SITE uses semantic IDs.
|
|
71
|
-
*
|
|
72
|
-
* Phase 3 (REG-267): For if-branches, creates HAS_CONSEQUENT and HAS_ALTERNATE edges
|
|
73
|
-
* pointing to the if-body and else-body SCOPEs.
|
|
74
|
-
*/
|
|
75
|
-
private bufferBranchEdges;
|
|
76
|
-
/**
|
|
77
|
-
* Buffer CASE edges (HAS_CASE, HAS_DEFAULT)
|
|
78
|
-
*/
|
|
79
|
-
private bufferCaseEdges;
|
|
80
|
-
/**
|
|
81
|
-
* Buffer edges for TRY_BLOCK, CATCH_BLOCK, FINALLY_BLOCK nodes (Phase 4)
|
|
82
|
-
*
|
|
83
|
-
* Creates edges for:
|
|
84
|
-
* - Parent -> CONTAINS -> TRY_BLOCK
|
|
85
|
-
* - TRY_BLOCK -> HAS_CATCH -> CATCH_BLOCK
|
|
86
|
-
* - TRY_BLOCK -> HAS_FINALLY -> FINALLY_BLOCK
|
|
87
|
-
*/
|
|
88
|
-
private bufferTryCatchFinallyEdges;
|
|
89
|
-
/**
|
|
90
|
-
* Buffer EXPRESSION nodes for switch discriminants
|
|
91
|
-
* Uses stored metadata directly instead of parsing from ID (Linus improvement)
|
|
92
|
-
*
|
|
93
|
-
* REG-275: For CallExpression discriminants, we don't create nodes here since
|
|
94
|
-
* bufferBranchEdges links to the existing CALL_SITE node by coordinates.
|
|
45
|
+
* Scope-aware function lookup: when multiple functions share the same name
|
|
46
|
+
* (e.g., inner function shadows outer), prefer the one in the same scope.
|
|
47
|
+
* Falls back to module-level function if no scope match found.
|
|
95
48
|
*/
|
|
96
|
-
private
|
|
97
|
-
private bufferVariableEdges;
|
|
98
|
-
private bufferCallSiteEdges;
|
|
99
|
-
private bufferMethodCalls;
|
|
100
|
-
/**
|
|
101
|
-
* Buffer PROPERTY_ACCESS nodes and CONTAINS edges (REG-395).
|
|
102
|
-
*
|
|
103
|
-
* Creates nodes for property reads (obj.prop, a.b.c) and
|
|
104
|
-
* CONTAINS edges from the enclosing scope (function or module).
|
|
105
|
-
*/
|
|
106
|
-
private bufferPropertyAccessNodes;
|
|
107
|
-
private bufferStdioNodes;
|
|
108
|
-
private bufferClassDeclarationNodes;
|
|
109
|
-
private bufferClassNodes;
|
|
110
|
-
private bufferCallbackEdges;
|
|
111
|
-
private bufferImportNodes;
|
|
112
|
-
private bufferExportNodes;
|
|
113
|
-
private bufferEventListeners;
|
|
114
|
-
private bufferHttpRequests;
|
|
115
|
-
private bufferLiterals;
|
|
116
|
-
private bufferAssignmentEdges;
|
|
117
|
-
private bufferArgumentEdges;
|
|
118
|
-
/**
|
|
119
|
-
* Buffer INTERFACE nodes and EXTENDS edges
|
|
120
|
-
*
|
|
121
|
-
* Uses two-pass approach:
|
|
122
|
-
* 1. First pass: create all interface nodes, store in Map
|
|
123
|
-
* 2. Second pass: create EXTENDS edges using stored node IDs
|
|
124
|
-
*/
|
|
125
|
-
private bufferInterfaceNodes;
|
|
126
|
-
/**
|
|
127
|
-
* Buffer TYPE alias nodes
|
|
128
|
-
*/
|
|
129
|
-
private bufferTypeAliasNodes;
|
|
130
|
-
/**
|
|
131
|
-
* Buffer ENUM nodes
|
|
132
|
-
* Uses EnumNode.create() to ensure consistent ID format (colon separator)
|
|
133
|
-
*/
|
|
134
|
-
private bufferEnumNodes;
|
|
135
|
-
/**
|
|
136
|
-
* Buffer DECORATOR nodes and DECORATED_BY edges
|
|
137
|
-
*/
|
|
138
|
-
private bufferDecoratorNodes;
|
|
139
|
-
/**
|
|
140
|
-
* Buffer IMPLEMENTS edges (CLASS -> INTERFACE)
|
|
141
|
-
*/
|
|
142
|
-
private bufferImplementsEdges;
|
|
143
|
-
/**
|
|
144
|
-
* Buffer FLOWS_INTO edges for array mutations (push, unshift, splice, indexed assignment)
|
|
145
|
-
* Creates edges from inserted values to the array variable.
|
|
146
|
-
*
|
|
147
|
-
* REG-117: Handles nested mutations like obj.arr.push(item)
|
|
148
|
-
* REG-392: Handles non-variable values (LITERAL, OBJECT_LITERAL, ARRAY_LITERAL, CALL)
|
|
149
|
-
*/
|
|
150
|
-
private bufferArrayMutationEdges;
|
|
151
|
-
/**
|
|
152
|
-
* Buffer FLOWS_INTO edges for object mutations (property assignment, Object.assign)
|
|
153
|
-
* Creates edges from source values to the object variable being mutated.
|
|
154
|
-
*
|
|
155
|
-
* REG-152: For 'this.prop = value' patterns inside classes, creates edges
|
|
156
|
-
* to the CLASS node with mutationType: 'this_property'.
|
|
157
|
-
*/
|
|
158
|
-
private bufferObjectMutationEdges;
|
|
49
|
+
private findFunctionByName;
|
|
159
50
|
/**
|
|
160
51
|
* Resolve variable by name using scope chain lookup (REG-309).
|
|
161
52
|
* Mirrors JavaScript lexical scoping: search current scope, then parent, then grandparent, etc.
|
|
@@ -184,149 +75,23 @@ export declare class GraphBuilder {
|
|
|
184
75
|
*/
|
|
185
76
|
private scopePathsMatch;
|
|
186
77
|
/**
|
|
187
|
-
*
|
|
188
|
-
*
|
|
189
|
-
*
|
|
190
|
-
* Edge patterns:
|
|
191
|
-
* - Simple assignment (=): source --FLOWS_INTO--> variable
|
|
192
|
-
* - Compound operators (+=, -=, etc.):
|
|
193
|
-
* - source --FLOWS_INTO--> variable (write new value)
|
|
194
|
-
* - variable --READS_FROM--> variable (self-loop: reads current value before write)
|
|
195
|
-
*
|
|
196
|
-
* REG-309: Uses scope-aware variable lookup via resolveVariableInScope().
|
|
197
|
-
*
|
|
198
|
-
* REG-290: Complete implementation with inline node creation (no continue statements).
|
|
78
|
+
* Collect unique import.meta property names from property accesses (REG-300).
|
|
79
|
+
* Returns deduplicated array of property names (e.g., ["url", "env"]).
|
|
199
80
|
*/
|
|
200
|
-
private
|
|
81
|
+
private collectImportMetaProperties;
|
|
201
82
|
/**
|
|
202
|
-
*
|
|
203
|
-
*
|
|
204
|
-
* Edge direction: returnExpression --RETURNS--> function
|
|
205
|
-
*
|
|
206
|
-
* This enables tracing data flow through function calls:
|
|
207
|
-
* - Query: "What does formatDate return?"
|
|
208
|
-
* - Answer: Follow RETURNS edges from function to see all possible return values
|
|
83
|
+
* Update MODULE node with import.meta metadata (REG-300).
|
|
84
|
+
* Reads existing MODULE node, adds importMeta property list, re-adds it.
|
|
209
85
|
*/
|
|
210
|
-
private
|
|
86
|
+
private updateModuleImportMetaMetadata;
|
|
211
87
|
/**
|
|
212
|
-
*
|
|
213
|
-
*
|
|
214
|
-
* Edge direction:
|
|
215
|
-
* - For yield: yieldedExpression --YIELDS--> generatorFunction
|
|
216
|
-
* - For yield*: delegatedCall --DELEGATES_TO--> generatorFunction
|
|
217
|
-
*
|
|
218
|
-
* This enables tracing data flow through generator functions:
|
|
219
|
-
* - Query: "What does this generator yield?"
|
|
220
|
-
* - Answer: Follow YIELDS edges from function to see all possible yielded values
|
|
221
|
-
* - Query: "What generators does this delegate to?"
|
|
222
|
-
* - Answer: Follow DELEGATES_TO edges from function
|
|
223
|
-
*
|
|
224
|
-
* REG-270: Generator yield tracking
|
|
88
|
+
* Update MODULE node with hasTopLevelAwait metadata (REG-297).
|
|
89
|
+
* Reads existing MODULE node, adds hasTopLevelAwait flag, re-adds it.
|
|
225
90
|
*/
|
|
226
|
-
private
|
|
227
|
-
/**
|
|
228
|
-
* Buffer UPDATE_EXPRESSION nodes and edges for increment/decrement operations.
|
|
229
|
-
*
|
|
230
|
-
* Handles two target types:
|
|
231
|
-
* - IDENTIFIER: Simple variable (i++, --count)
|
|
232
|
-
* - MEMBER_EXPRESSION: Object property (obj.prop++, arr[i]++, this.count++)
|
|
233
|
-
*
|
|
234
|
-
* Creates:
|
|
235
|
-
* - UPDATE_EXPRESSION node with operator and target metadata
|
|
236
|
-
* - MODIFIES edge: UPDATE_EXPRESSION -> target (VARIABLE, PARAMETER, or CLASS)
|
|
237
|
-
* - READS_FROM self-loop: target -> target (reads current value before update)
|
|
238
|
-
* - CONTAINS edge: SCOPE -> UPDATE_EXPRESSION
|
|
239
|
-
*
|
|
240
|
-
* REG-288: Initial implementation for IDENTIFIER targets
|
|
241
|
-
* REG-312: Extended for MEMBER_EXPRESSION targets
|
|
242
|
-
*/
|
|
243
|
-
private bufferUpdateExpressionEdges;
|
|
244
|
-
/**
|
|
245
|
-
* Buffer UPDATE_EXPRESSION node and edges for simple identifier updates (i++, --count)
|
|
246
|
-
* REG-288: Original implementation extracted for clarity
|
|
247
|
-
*/
|
|
248
|
-
private bufferIdentifierUpdate;
|
|
249
|
-
/**
|
|
250
|
-
* Buffer UPDATE_EXPRESSION node and edges for member expression updates (obj.prop++, arr[i]++)
|
|
251
|
-
* REG-312: New implementation for member expression targets
|
|
252
|
-
*
|
|
253
|
-
* Creates:
|
|
254
|
-
* - UPDATE_EXPRESSION node with member expression metadata
|
|
255
|
-
* - MODIFIES edge: UPDATE_EXPRESSION -> VARIABLE(object) or CLASS (for this.prop++)
|
|
256
|
-
* - READS_FROM self-loop: VARIABLE(object) -> VARIABLE(object)
|
|
257
|
-
* - CONTAINS edge: SCOPE -> UPDATE_EXPRESSION
|
|
258
|
-
*/
|
|
259
|
-
private bufferMemberExpressionUpdate;
|
|
260
|
-
/**
|
|
261
|
-
* Buffer RESOLVES_TO edges for Promise resolution data flow (REG-334).
|
|
262
|
-
*
|
|
263
|
-
* Links resolve/reject CALL nodes to their parent Promise CONSTRUCTOR_CALL.
|
|
264
|
-
* This enables traceValues to follow Promise data flow:
|
|
265
|
-
*
|
|
266
|
-
* Example:
|
|
267
|
-
* ```
|
|
268
|
-
* const result = new Promise((resolve) => {
|
|
269
|
-
* resolve(42); // CALL[resolve] --RESOLVES_TO--> CONSTRUCTOR_CALL[Promise]
|
|
270
|
-
* });
|
|
271
|
-
* ```
|
|
272
|
-
*
|
|
273
|
-
* The edge direction (CALL -> CONSTRUCTOR_CALL) matches data flow semantics:
|
|
274
|
-
* data flows FROM resolve(value) TO the Promise result.
|
|
275
|
-
*/
|
|
276
|
-
private bufferPromiseResolutionEdges;
|
|
277
|
-
/**
|
|
278
|
-
* Buffer OBJECT_LITERAL nodes to the graph.
|
|
279
|
-
* These are object literals passed as function arguments or nested in other literals.
|
|
280
|
-
*/
|
|
281
|
-
private bufferObjectLiteralNodes;
|
|
282
|
-
/**
|
|
283
|
-
* Buffer ARRAY_LITERAL nodes to the graph.
|
|
284
|
-
* These are array literals passed as function arguments or nested in other literals.
|
|
285
|
-
*/
|
|
286
|
-
private bufferArrayLiteralNodes;
|
|
287
|
-
/**
|
|
288
|
-
* Buffer HAS_PROPERTY edges connecting OBJECT_LITERAL nodes to their property values.
|
|
289
|
-
* Creates edges from object literal to its property value nodes (LITERAL, nested OBJECT_LITERAL, ARRAY_LITERAL, etc.)
|
|
290
|
-
*
|
|
291
|
-
* REG-329: Adds scope-aware variable resolution for VARIABLE property values.
|
|
292
|
-
* Uses the same resolveVariableInScope infrastructure as mutation handlers.
|
|
293
|
-
*/
|
|
294
|
-
private bufferObjectPropertyEdges;
|
|
91
|
+
private updateModuleTopLevelAwaitMetadata;
|
|
295
92
|
/**
|
|
296
93
|
* Handle CLASS ASSIGNED_FROM edges asynchronously (needs graph queries)
|
|
297
94
|
*/
|
|
298
95
|
private createClassAssignmentEdges;
|
|
299
|
-
/**
|
|
300
|
-
* Buffer REJECTS edges for async error tracking (REG-311).
|
|
301
|
-
*
|
|
302
|
-
* Creates edges from FUNCTION nodes to error CLASS nodes they can reject.
|
|
303
|
-
* This enables tracking which async functions can throw which error types:
|
|
304
|
-
*
|
|
305
|
-
* - Promise.reject(new Error()) -> FUNCTION --REJECTS--> CLASS[Error]
|
|
306
|
-
* - reject(new ValidationError()) in executor -> FUNCTION --REJECTS--> CLASS[ValidationError]
|
|
307
|
-
* - throw new AuthError() in async function -> FUNCTION --REJECTS--> CLASS[AuthError]
|
|
308
|
-
*
|
|
309
|
-
* Also stores rejectionPatterns in function metadata for downstream enrichers.
|
|
310
|
-
*
|
|
311
|
-
* @param functions - All function infos from analysis
|
|
312
|
-
* @param rejectionPatterns - Collected rejection patterns from analysis
|
|
313
|
-
*/
|
|
314
|
-
private bufferRejectionEdges;
|
|
315
|
-
/**
|
|
316
|
-
* Buffer CATCHES_FROM edges linking catch blocks to error sources (REG-311).
|
|
317
|
-
*
|
|
318
|
-
* Creates edges from CATCH_BLOCK nodes to potential error sources within
|
|
319
|
-
* their corresponding try blocks. This enables tracking which catch blocks
|
|
320
|
-
* can handle which exceptions:
|
|
321
|
-
*
|
|
322
|
-
* - try { await fetch() } catch(e) -> CATCH_BLOCK --CATCHES_FROM--> CALL[fetch]
|
|
323
|
-
* - try { throw new Error() } catch(e) -> CATCH_BLOCK --CATCHES_FROM--> THROW_STATEMENT
|
|
324
|
-
*
|
|
325
|
-
* The sourceType metadata helps distinguish different error source kinds
|
|
326
|
-
* for more precise error flow analysis.
|
|
327
|
-
*
|
|
328
|
-
* @param catchesFromInfos - Collected CATCHES_FROM info from analysis
|
|
329
|
-
*/
|
|
330
|
-
private bufferCatchesFromEdges;
|
|
331
96
|
}
|
|
332
97
|
//# sourceMappingURL=GraphBuilder.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GraphBuilder.d.ts","sourceRoot":"","sources":["../../../../src/plugins/analysis/ast/GraphBuilder.ts"],"names":[],"mappings":"AAAA;;;GAGG;
|
|
1
|
+
{"version":3,"file":"GraphBuilder.d.ts","sourceRoot":"","sources":["../../../../src/plugins/analysis/ast/GraphBuilder.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAc,MAAM,gBAAgB,CAAC;AAG/D,OAAO,KAAK,EACV,UAAU,EAMV,cAAc,EAGd,WAAW,EACZ,MAAM,YAAY,CAAC;AAepB,qBAAa,YAAY;IAEvB,OAAO,CAAC,kBAAkB,CAA0B;IAGpD,OAAO,CAAC,WAAW,CAAmB;IACtC,OAAO,CAAC,WAAW,CAAmB;IAGtC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAc;IAC3C,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAAqB;IACzD,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAoB;IACvD,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAkB;IACnD,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAkB;IACnD,OAAO,CAAC,QAAQ,CAAC,wBAAwB,CAA0B;IACnE,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAgB;IAC/C,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAe;IAC7C,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAoB;IACvD,OAAO,CAAC,QAAQ,CAAC,qBAAqB,CAAuB;;IAgB7D,OAAO,CAAC,cAAc;IAiBtB;;OAEG;IACH,OAAO,CAAC,WAAW;IAInB;;OAEG;IACH,OAAO,CAAC,WAAW;IAInB;;OAEG;YACW,WAAW;IAYzB;;;OAGG;YACW,WAAW;IAUzB;;OAEG;IACG,KAAK,CAAC,MAAM,EAAE,UAAU,EAAE,KAAK,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,EAAE,IAAI,EAAE,cAAc,GAAG,OAAO,CAAC,WAAW,CAAC;IAqKrH;;;;OAIG;IACH,OAAO,CAAC,kBAAkB;IA+B1B;;;;;;;;;OASG;IACH,OAAO,CAAC,sBAAsB;IAiD9B;;;;;;;;;OASG;IACH,OAAO,CAAC,uBAAuB;IAgD/B;;;OAGG;IACH,OAAO,CAAC,eAAe;IAOvB;;;OAGG;IACH,OAAO,CAAC,2BAA2B;IAUnC;;;OAGG;YACW,8BAA8B;IAkB5C;;;OAGG;YACW,iCAAiC;IAgB/C;;OAEG;YACW,0BAA0B;CA+BzC"}
|