@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
package/src/core/NodeFactory.ts
CHANGED
|
@@ -1,17 +1,12 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* NodeFactory - centralized graph node creation
|
|
2
|
+
* NodeFactory - centralized graph node creation (facade)
|
|
3
3
|
*
|
|
4
|
-
* Single point for creating all node types
|
|
5
|
-
*
|
|
6
|
-
* - Standard field set for each type
|
|
7
|
-
* - Automatic ID generation
|
|
4
|
+
* Single point for creating all node types. Delegates to domain-specific
|
|
5
|
+
* factories in ./factories/ while maintaining a unified public API.
|
|
8
6
|
*
|
|
9
|
-
*
|
|
7
|
+
* All callers use NodeFactory.createX() - the domain split is an internal detail.
|
|
10
8
|
*/
|
|
11
9
|
|
|
12
|
-
import { createHash } from 'crypto';
|
|
13
|
-
import { basename, relative } from 'path';
|
|
14
|
-
|
|
15
10
|
import {
|
|
16
11
|
ServiceNode,
|
|
17
12
|
EntrypointNode,
|
|
@@ -37,199 +32,39 @@ import {
|
|
|
37
32
|
ClassNode,
|
|
38
33
|
ExportNode,
|
|
39
34
|
ExternalModuleNode,
|
|
35
|
+
ExternalFunctionNode,
|
|
40
36
|
InterfaceNode,
|
|
41
37
|
TypeNode,
|
|
38
|
+
TypeParameterNode,
|
|
42
39
|
EnumNode,
|
|
43
40
|
DecoratorNode,
|
|
44
41
|
ExpressionNode,
|
|
45
|
-
ArgumentExpressionNode,
|
|
46
42
|
IssueNode,
|
|
47
43
|
PluginNode,
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
44
|
+
RustModuleNode,
|
|
45
|
+
RustFunctionNode,
|
|
46
|
+
RustStructNode,
|
|
47
|
+
RustImplNode,
|
|
48
|
+
RustMethodNode,
|
|
49
|
+
RustTraitNode,
|
|
50
|
+
RustCallNode,
|
|
51
|
+
ReactNode,
|
|
52
|
+
SocketIONode,
|
|
53
|
+
SocketConnectionNode,
|
|
54
|
+
DatabaseNode,
|
|
55
|
+
ServiceLayerNode,
|
|
54
56
|
} from './nodes/index.js';
|
|
55
57
|
|
|
56
58
|
import type { BaseNodeRecord } from '@grafema/types';
|
|
57
|
-
import { brandNode } from '@grafema/types';
|
|
58
|
-
import type { ScopeContext } from './SemanticId.js';
|
|
59
|
-
|
|
60
|
-
interface ServiceOptions {
|
|
61
|
-
version?: string;
|
|
62
|
-
entrypoint?: string;
|
|
63
|
-
discoveryMethod?: string;
|
|
64
|
-
description?: string;
|
|
65
|
-
dependencies?: string[];
|
|
66
|
-
serviceType?: string;
|
|
67
|
-
testFiles?: string[];
|
|
68
|
-
metadata?: {
|
|
69
|
-
type?: string;
|
|
70
|
-
testFiles?: string[];
|
|
71
|
-
};
|
|
72
|
-
}
|
|
73
|
-
|
|
74
|
-
interface EntrypointOptions {
|
|
75
|
-
id?: string;
|
|
76
|
-
name?: string;
|
|
77
|
-
trigger?: EntrypointTrigger;
|
|
78
|
-
source?: string;
|
|
79
|
-
serviceId?: string;
|
|
80
|
-
}
|
|
81
|
-
|
|
82
|
-
interface ModuleOptions {
|
|
83
|
-
contentHash?: string;
|
|
84
|
-
isTest?: boolean;
|
|
85
|
-
}
|
|
86
|
-
|
|
87
|
-
interface ModuleContextOptions {
|
|
88
|
-
contentHash?: string;
|
|
89
|
-
isTest?: boolean;
|
|
90
|
-
}
|
|
91
|
-
|
|
92
|
-
interface FunctionOptions {
|
|
93
|
-
async?: boolean;
|
|
94
|
-
generator?: boolean;
|
|
95
|
-
exported?: boolean;
|
|
96
|
-
arrowFunction?: boolean;
|
|
97
|
-
parentScopeId?: string;
|
|
98
|
-
isClassMethod?: boolean;
|
|
99
|
-
className?: string;
|
|
100
|
-
params?: string[];
|
|
101
|
-
counter?: number;
|
|
102
|
-
}
|
|
103
|
-
|
|
104
|
-
interface ScopeOptions {
|
|
105
|
-
name?: string;
|
|
106
|
-
conditional?: boolean;
|
|
107
|
-
parentScopeId?: string;
|
|
108
|
-
parentFunctionId?: string;
|
|
109
|
-
capturesFrom?: string[];
|
|
110
|
-
counter?: number;
|
|
111
|
-
}
|
|
112
|
-
|
|
113
|
-
interface CallSiteOptions {
|
|
114
|
-
parentScopeId?: string;
|
|
115
|
-
counter?: number;
|
|
116
|
-
}
|
|
117
|
-
|
|
118
|
-
interface MethodCallOptions {
|
|
119
|
-
parentScopeId?: string;
|
|
120
|
-
args?: unknown[];
|
|
121
|
-
counter?: number;
|
|
122
|
-
}
|
|
123
|
-
|
|
124
|
-
interface ConstructorCallOptions {
|
|
125
|
-
counter?: number;
|
|
126
|
-
}
|
|
127
|
-
|
|
128
|
-
interface VariableOptions {
|
|
129
|
-
parentScopeId?: string;
|
|
130
|
-
counter?: number;
|
|
131
|
-
}
|
|
132
|
-
|
|
133
|
-
interface ConstantOptions {
|
|
134
|
-
value?: unknown;
|
|
135
|
-
parentScopeId?: string;
|
|
136
|
-
counter?: number;
|
|
137
|
-
}
|
|
138
|
-
|
|
139
|
-
interface LiteralOptions {
|
|
140
|
-
parentCallId?: string;
|
|
141
|
-
argIndex?: number;
|
|
142
|
-
counter?: number;
|
|
143
|
-
}
|
|
144
|
-
|
|
145
|
-
interface ObjectLiteralOptions {
|
|
146
|
-
parentCallId?: string;
|
|
147
|
-
argIndex?: number;
|
|
148
|
-
counter?: number;
|
|
149
|
-
}
|
|
150
59
|
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
}
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
callbackArg?: string;
|
|
160
|
-
counter?: number;
|
|
161
|
-
}
|
|
162
|
-
|
|
163
|
-
interface HttpRequestOptions {
|
|
164
|
-
parentScopeId?: string;
|
|
165
|
-
counter?: number;
|
|
166
|
-
}
|
|
167
|
-
|
|
168
|
-
interface DatabaseQueryOptions {
|
|
169
|
-
parentScopeId?: string;
|
|
170
|
-
}
|
|
171
|
-
|
|
172
|
-
interface ImportOptions {
|
|
173
|
-
importType?: 'default' | 'named' | 'namespace';
|
|
174
|
-
importBinding?: 'value' | 'type' | 'typeof';
|
|
175
|
-
imported?: string;
|
|
176
|
-
local?: string;
|
|
177
|
-
}
|
|
178
|
-
|
|
179
|
-
interface ClassOptions {
|
|
180
|
-
exported?: boolean;
|
|
181
|
-
superClass?: string;
|
|
182
|
-
methods?: string[];
|
|
183
|
-
isInstantiationRef?: boolean;
|
|
184
|
-
}
|
|
185
|
-
|
|
186
|
-
interface ExportOptions {
|
|
187
|
-
exportKind?: 'value' | 'type';
|
|
188
|
-
local?: string;
|
|
189
|
-
default?: boolean;
|
|
190
|
-
source?: string;
|
|
191
|
-
exportType?: 'default' | 'named' | 'all';
|
|
192
|
-
}
|
|
193
|
-
|
|
194
|
-
interface InterfaceOptions {
|
|
195
|
-
extends?: string[];
|
|
196
|
-
properties?: InterfacePropertyRecord[];
|
|
197
|
-
isExternal?: boolean;
|
|
198
|
-
}
|
|
199
|
-
|
|
200
|
-
interface TypeOptions {
|
|
201
|
-
aliasOf?: string;
|
|
202
|
-
}
|
|
203
|
-
|
|
204
|
-
interface EnumOptions {
|
|
205
|
-
isConst?: boolean;
|
|
206
|
-
members?: EnumMemberRecord[];
|
|
207
|
-
}
|
|
208
|
-
|
|
209
|
-
interface DecoratorOptions {
|
|
210
|
-
arguments?: unknown[];
|
|
211
|
-
}
|
|
212
|
-
|
|
213
|
-
interface ExpressionOptions {
|
|
214
|
-
// MemberExpression
|
|
215
|
-
object?: string;
|
|
216
|
-
property?: string;
|
|
217
|
-
computed?: boolean;
|
|
218
|
-
computedPropertyVar?: string;
|
|
219
|
-
// Binary/Logical
|
|
220
|
-
operator?: string;
|
|
221
|
-
// Tracking
|
|
222
|
-
path?: string;
|
|
223
|
-
baseName?: string;
|
|
224
|
-
propertyPath?: string[];
|
|
225
|
-
arrayIndex?: number;
|
|
226
|
-
}
|
|
227
|
-
|
|
228
|
-
interface ArgumentExpressionOptions extends ExpressionOptions {
|
|
229
|
-
parentCallId: string;
|
|
230
|
-
argIndex: number;
|
|
231
|
-
counter?: number;
|
|
232
|
-
}
|
|
60
|
+
import { CoreFactory } from './factories/CoreFactory.js';
|
|
61
|
+
import { HttpFactory } from './factories/HttpFactory.js';
|
|
62
|
+
import { RustFactory } from './factories/RustFactory.js';
|
|
63
|
+
import { ReactFactory } from './factories/ReactFactory.js';
|
|
64
|
+
import { SocketFactory } from './factories/SocketFactory.js';
|
|
65
|
+
import { DatabaseFactory } from './factories/DatabaseFactory.js';
|
|
66
|
+
import { ServiceFactory } from './factories/ServiceFactory.js';
|
|
67
|
+
import { ExternalFactory } from './factories/ExternalFactory.js';
|
|
233
68
|
|
|
234
69
|
// Validator type for node classes
|
|
235
70
|
interface NodeValidator {
|
|
@@ -237,459 +72,118 @@ interface NodeValidator {
|
|
|
237
72
|
}
|
|
238
73
|
|
|
239
74
|
export class NodeFactory {
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
static
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
static
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
static
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
static
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
static
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
|
|
309
|
-
|
|
310
|
-
|
|
311
|
-
|
|
312
|
-
|
|
313
|
-
|
|
314
|
-
|
|
315
|
-
|
|
316
|
-
|
|
317
|
-
|
|
318
|
-
|
|
319
|
-
|
|
320
|
-
static
|
|
321
|
-
|
|
322
|
-
|
|
323
|
-
|
|
324
|
-
|
|
325
|
-
|
|
326
|
-
|
|
327
|
-
static
|
|
328
|
-
|
|
329
|
-
|
|
330
|
-
|
|
331
|
-
|
|
332
|
-
|
|
333
|
-
|
|
334
|
-
|
|
335
|
-
|
|
336
|
-
|
|
337
|
-
|
|
338
|
-
|
|
339
|
-
|
|
340
|
-
|
|
341
|
-
|
|
342
|
-
|
|
343
|
-
|
|
344
|
-
|
|
345
|
-
|
|
346
|
-
|
|
347
|
-
|
|
348
|
-
|
|
349
|
-
|
|
350
|
-
|
|
351
|
-
|
|
352
|
-
*/
|
|
353
|
-
static generateConstructorCallId(className: string, file: string, line: number, column: number, options: ConstructorCallOptions = {}): string {
|
|
354
|
-
return ConstructorCallNode.generateId(className, file, line, column, options);
|
|
355
|
-
}
|
|
356
|
-
|
|
357
|
-
/**
|
|
358
|
-
* Check if a class name is a built-in JavaScript constructor
|
|
359
|
-
*/
|
|
360
|
-
static isBuiltinConstructor(className: string): boolean {
|
|
361
|
-
return ConstructorCallNode.isBuiltinConstructor(className);
|
|
362
|
-
}
|
|
363
|
-
|
|
364
|
-
/**
|
|
365
|
-
* Create VARIABLE_DECLARATION node
|
|
366
|
-
*/
|
|
367
|
-
static createVariableDeclaration(name: string, file: string, line: number, column: number, options: VariableOptions = {}) {
|
|
368
|
-
return brandNode(VariableDeclarationNode.create(name, file, line, column, options));
|
|
369
|
-
}
|
|
370
|
-
|
|
371
|
-
/**
|
|
372
|
-
* Create CONSTANT node
|
|
373
|
-
*/
|
|
374
|
-
static createConstant(name: string, file: string, line: number, column: number, options: ConstantOptions = {}) {
|
|
375
|
-
return brandNode(ConstantNode.create(name, file, line, column, options));
|
|
376
|
-
}
|
|
377
|
-
|
|
378
|
-
/**
|
|
379
|
-
* Create LITERAL node
|
|
380
|
-
*/
|
|
381
|
-
static createLiteral(value: unknown, file: string, line: number, column: number, options: LiteralOptions = {}) {
|
|
382
|
-
return brandNode(LiteralNode.create(value, file, line, column, options));
|
|
383
|
-
}
|
|
384
|
-
|
|
385
|
-
/**
|
|
386
|
-
* Create OBJECT_LITERAL node
|
|
387
|
-
*/
|
|
388
|
-
static createObjectLiteral(file: string, line: number, column: number, options: ObjectLiteralOptions = {}) {
|
|
389
|
-
return brandNode(ObjectLiteralNode.create(file, line, column, options));
|
|
390
|
-
}
|
|
391
|
-
|
|
392
|
-
/**
|
|
393
|
-
* Create ARRAY_LITERAL node
|
|
394
|
-
*/
|
|
395
|
-
static createArrayLiteral(file: string, line: number, column: number, options: ArrayLiteralOptions = {}) {
|
|
396
|
-
return brandNode(ArrayLiteralNode.create(file, line, column, options));
|
|
397
|
-
}
|
|
398
|
-
|
|
399
|
-
/**
|
|
400
|
-
* Create EXTERNAL_STDIO node (singleton)
|
|
401
|
-
*/
|
|
402
|
-
static createExternalStdio() {
|
|
403
|
-
return brandNode(ExternalStdioNode.create());
|
|
404
|
-
}
|
|
405
|
-
|
|
406
|
-
/**
|
|
407
|
-
* Create net:request singleton node
|
|
408
|
-
*
|
|
409
|
-
* This node represents the external network as a system resource.
|
|
410
|
-
* Should be created once per graph.
|
|
411
|
-
*
|
|
412
|
-
* All HTTP_REQUEST nodes connect to this singleton via CALLS edges.
|
|
413
|
-
*
|
|
414
|
-
* @returns NetworkRequestNodeRecord - singleton node
|
|
415
|
-
*/
|
|
416
|
-
static createNetworkRequest() {
|
|
417
|
-
return brandNode(NetworkRequestNode.create());
|
|
418
|
-
}
|
|
419
|
-
|
|
420
|
-
/**
|
|
421
|
-
* Create EVENT_LISTENER node
|
|
422
|
-
*/
|
|
423
|
-
static createEventListener(eventName: string, objectName: string | undefined, file: string, line: number, column: number, options: EventListenerOptions = {}) {
|
|
424
|
-
return brandNode(EventListenerNode.create(eventName, objectName, file, line, column, options));
|
|
425
|
-
}
|
|
426
|
-
|
|
427
|
-
/**
|
|
428
|
-
* Create HTTP_REQUEST node
|
|
429
|
-
*/
|
|
430
|
-
static createHttpRequest(url: string | undefined, method: string | undefined, file: string, line: number, column: number, options: HttpRequestOptions = {}) {
|
|
431
|
-
return brandNode(HttpRequestNode.create(url, method, file, line, column, options));
|
|
432
|
-
}
|
|
433
|
-
|
|
434
|
-
/**
|
|
435
|
-
* Create DATABASE_QUERY node
|
|
436
|
-
*/
|
|
437
|
-
static createDatabaseQuery(query: string | undefined, operation: string | undefined, file: string, line: number, column: number, options: DatabaseQueryOptions = {}) {
|
|
438
|
-
return brandNode(DatabaseQueryNode.create(query, operation, file, line, column, options));
|
|
439
|
-
}
|
|
440
|
-
|
|
441
|
-
/**
|
|
442
|
-
* Create IMPORT node
|
|
443
|
-
*
|
|
444
|
-
* ImportNode automatically detects importType from imported field:
|
|
445
|
-
* - imported === 'default' → importType: 'default'
|
|
446
|
-
* - imported === '*' → importType: 'namespace'
|
|
447
|
-
* - anything else → importType: 'named'
|
|
448
|
-
*
|
|
449
|
-
* @param name - Local binding name (how it's used in this file)
|
|
450
|
-
* @param file - Absolute file path
|
|
451
|
-
* @param line - Line number (for debugging, not part of ID)
|
|
452
|
-
* @param column - Column position (0 if unavailable)
|
|
453
|
-
* @param source - Source module (e.g., 'react', './utils')
|
|
454
|
-
* @param options - Optional fields
|
|
455
|
-
* @returns ImportNodeRecord
|
|
456
|
-
*/
|
|
457
|
-
static createImport(
|
|
458
|
-
name: string,
|
|
459
|
-
file: string,
|
|
460
|
-
line: number,
|
|
461
|
-
column: number,
|
|
462
|
-
source: string,
|
|
463
|
-
options: ImportOptions = {}
|
|
464
|
-
) {
|
|
465
|
-
return brandNode(ImportNode.create(name, file, line, column, source, options));
|
|
466
|
-
}
|
|
467
|
-
|
|
468
|
-
/**
|
|
469
|
-
* Create CLASS node
|
|
470
|
-
*/
|
|
471
|
-
static createClass(
|
|
472
|
-
name: string,
|
|
473
|
-
file: string,
|
|
474
|
-
line: number,
|
|
475
|
-
column: number,
|
|
476
|
-
options: ClassOptions = {}
|
|
477
|
-
) {
|
|
478
|
-
return brandNode(ClassNode.create(name, file, line, column, options));
|
|
479
|
-
}
|
|
480
|
-
|
|
481
|
-
/**
|
|
482
|
-
* Create EXPORT node
|
|
483
|
-
*/
|
|
484
|
-
static createExport(
|
|
485
|
-
name: string,
|
|
486
|
-
file: string,
|
|
487
|
-
line: number,
|
|
488
|
-
column: number,
|
|
489
|
-
options: ExportOptions = {}
|
|
490
|
-
) {
|
|
491
|
-
return brandNode(ExportNode.create(name, file, line, column, options));
|
|
492
|
-
}
|
|
493
|
-
|
|
494
|
-
/**
|
|
495
|
-
* Create EXTERNAL_MODULE node
|
|
496
|
-
*
|
|
497
|
-
* Represents external npm packages or Node.js built-in modules.
|
|
498
|
-
* Uses singleton pattern - same source always produces same ID.
|
|
499
|
-
*
|
|
500
|
-
* @param source - Module name (e.g., 'lodash', '@tanstack/react-query', 'node:fs')
|
|
501
|
-
*/
|
|
502
|
-
static createExternalModule(source: string) {
|
|
503
|
-
return brandNode(ExternalModuleNode.create(source));
|
|
504
|
-
}
|
|
505
|
-
|
|
506
|
-
/**
|
|
507
|
-
* Create INTERFACE node
|
|
508
|
-
*/
|
|
509
|
-
static createInterface(
|
|
510
|
-
name: string,
|
|
511
|
-
file: string,
|
|
512
|
-
line: number,
|
|
513
|
-
column: number,
|
|
514
|
-
options: InterfaceOptions = {}
|
|
515
|
-
) {
|
|
516
|
-
return brandNode(InterfaceNode.create(name, file, line, column, options));
|
|
517
|
-
}
|
|
518
|
-
|
|
519
|
-
/**
|
|
520
|
-
* Create TYPE node
|
|
521
|
-
*/
|
|
522
|
-
static createType(
|
|
523
|
-
name: string,
|
|
524
|
-
file: string,
|
|
525
|
-
line: number,
|
|
526
|
-
column: number,
|
|
527
|
-
options: TypeOptions = {}
|
|
528
|
-
) {
|
|
529
|
-
return brandNode(TypeNode.create(name, file, line, column, options));
|
|
530
|
-
}
|
|
531
|
-
|
|
532
|
-
/**
|
|
533
|
-
* Create ENUM node
|
|
534
|
-
*/
|
|
535
|
-
static createEnum(
|
|
536
|
-
name: string,
|
|
537
|
-
file: string,
|
|
538
|
-
line: number,
|
|
539
|
-
column: number,
|
|
540
|
-
options: EnumOptions = {}
|
|
541
|
-
) {
|
|
542
|
-
return brandNode(EnumNode.create(name, file, line, column, options));
|
|
543
|
-
}
|
|
544
|
-
|
|
545
|
-
/**
|
|
546
|
-
* Create DECORATOR node
|
|
547
|
-
*/
|
|
548
|
-
static createDecorator(
|
|
549
|
-
name: string,
|
|
550
|
-
file: string,
|
|
551
|
-
line: number,
|
|
552
|
-
column: number,
|
|
553
|
-
targetId: string,
|
|
554
|
-
targetType: DecoratorTargetType,
|
|
555
|
-
options: DecoratorOptions = {}
|
|
556
|
-
) {
|
|
557
|
-
return brandNode(DecoratorNode.create(name, file, line, column, targetId, targetType, options));
|
|
558
|
-
}
|
|
559
|
-
|
|
560
|
-
/**
|
|
561
|
-
* Create EXPRESSION node
|
|
562
|
-
*/
|
|
563
|
-
static createExpression(
|
|
564
|
-
expressionType: string,
|
|
565
|
-
file: string,
|
|
566
|
-
line: number,
|
|
567
|
-
column: number,
|
|
568
|
-
options: ExpressionOptions = {}
|
|
569
|
-
) {
|
|
570
|
-
return brandNode(ExpressionNode.create(expressionType, file, line, column, options));
|
|
571
|
-
}
|
|
572
|
-
|
|
573
|
-
/**
|
|
574
|
-
* Generate EXPRESSION node ID without creating the full node
|
|
575
|
-
*
|
|
576
|
-
* Used by JSASTAnalyzer when creating assignment metadata.
|
|
577
|
-
* The full node is created later by GraphBuilder.
|
|
578
|
-
*
|
|
579
|
-
* @param expressionType - Type of expression (MemberExpression, BinaryExpression, etc.)
|
|
580
|
-
* @param file - File path
|
|
581
|
-
* @param line - Line number
|
|
582
|
-
* @param column - Column position
|
|
583
|
-
* @returns Generated ID string in colon format
|
|
584
|
-
*/
|
|
585
|
-
static generateExpressionId(
|
|
586
|
-
expressionType: string,
|
|
587
|
-
file: string,
|
|
588
|
-
line: number,
|
|
589
|
-
column: number
|
|
590
|
-
): string {
|
|
591
|
-
return ExpressionNode.generateId(expressionType, file, line, column);
|
|
592
|
-
}
|
|
593
|
-
|
|
594
|
-
/**
|
|
595
|
-
* Create EXPRESSION node from assignment metadata
|
|
596
|
-
*
|
|
597
|
-
* Used by GraphBuilder when processing variableAssignments.
|
|
598
|
-
* The ID is provided from upstream (generated by JSASTAnalyzer).
|
|
599
|
-
*
|
|
600
|
-
* @param expressionType - Type of expression
|
|
601
|
-
* @param file - File path
|
|
602
|
-
* @param line - Line number
|
|
603
|
-
* @param column - Column position
|
|
604
|
-
* @param options - Must include id; optional: expression properties
|
|
605
|
-
*/
|
|
606
|
-
static createExpressionFromMetadata(
|
|
607
|
-
expressionType: string,
|
|
608
|
-
file: string,
|
|
609
|
-
line: number,
|
|
610
|
-
column: number,
|
|
611
|
-
options: ExpressionOptions & { id: string }
|
|
612
|
-
) {
|
|
613
|
-
return brandNode(ExpressionNode.createFromMetadata(expressionType, file, line, column, options));
|
|
614
|
-
}
|
|
615
|
-
|
|
616
|
-
/**
|
|
617
|
-
* Create EXPRESSION node with argument context
|
|
618
|
-
*
|
|
619
|
-
* Used when EXPRESSION appears as a call argument and we need to track
|
|
620
|
-
* which call and argument position for data flow analysis.
|
|
621
|
-
*
|
|
622
|
-
* @param expressionType - Type of expression (BinaryExpression, LogicalExpression, etc.)
|
|
623
|
-
* @param file - File path
|
|
624
|
-
* @param line - Line number
|
|
625
|
-
* @param column - Column position
|
|
626
|
-
* @param options - Required: parentCallId, argIndex; Optional: expression properties, counter
|
|
627
|
-
* @returns ArgumentExpressionNodeRecord
|
|
628
|
-
*/
|
|
629
|
-
static createArgumentExpression(
|
|
630
|
-
expressionType: string,
|
|
631
|
-
file: string,
|
|
632
|
-
line: number,
|
|
633
|
-
column: number,
|
|
634
|
-
options: ArgumentExpressionOptions
|
|
635
|
-
) {
|
|
636
|
-
return brandNode(ArgumentExpressionNode.create(expressionType, file, line, column, options));
|
|
637
|
-
}
|
|
638
|
-
|
|
639
|
-
/**
|
|
640
|
-
* Create ISSUE node
|
|
641
|
-
*
|
|
642
|
-
* Issues represent detected problems in the codebase.
|
|
643
|
-
* Used by validation plugins to persist findings in the graph.
|
|
644
|
-
*
|
|
645
|
-
* @param category - Issue category (security, performance, style, smell)
|
|
646
|
-
* @param severity - error | warning | info
|
|
647
|
-
* @param message - Human-readable description
|
|
648
|
-
* @param plugin - Name of the plugin that detected this issue
|
|
649
|
-
* @param file - File path where issue was detected
|
|
650
|
-
* @param line - Line number
|
|
651
|
-
* @param column - Column number (optional)
|
|
652
|
-
* @param options - Optional context data
|
|
653
|
-
*/
|
|
654
|
-
static createIssue(
|
|
655
|
-
category: string,
|
|
656
|
-
severity: IssueSeverity,
|
|
657
|
-
message: string,
|
|
658
|
-
plugin: string,
|
|
659
|
-
file: string,
|
|
660
|
-
line: number,
|
|
661
|
-
column: number = 0,
|
|
662
|
-
options: { context?: Record<string, unknown> } = {}
|
|
663
|
-
) {
|
|
664
|
-
return brandNode(IssueNode.create(category, severity, message, plugin, file, line, column, options));
|
|
665
|
-
}
|
|
666
|
-
|
|
667
|
-
/**
|
|
668
|
-
* Create grafema:plugin node.
|
|
669
|
-
*
|
|
670
|
-
* Represents a Grafema plugin in the analysis pipeline.
|
|
671
|
-
* Created by the Orchestrator at startup to make the pipeline
|
|
672
|
-
* queryable via the graph.
|
|
673
|
-
*
|
|
674
|
-
* @param name - Plugin class name (e.g., 'HTTPConnectionEnricher')
|
|
675
|
-
* @param phase - Plugin phase (DISCOVERY, INDEXING, ANALYSIS, ENRICHMENT, VALIDATION)
|
|
676
|
-
* @param options - Optional fields (priority, file, builtin, creates, dependencies)
|
|
677
|
-
*/
|
|
678
|
-
static createPlugin(
|
|
679
|
-
name: string,
|
|
680
|
-
phase: string,
|
|
681
|
-
options: {
|
|
682
|
-
priority?: number;
|
|
683
|
-
file?: string;
|
|
684
|
-
line?: number;
|
|
685
|
-
builtin?: boolean;
|
|
686
|
-
createsNodes?: string[];
|
|
687
|
-
createsEdges?: string[];
|
|
688
|
-
dependencies?: string[];
|
|
689
|
-
} = {}
|
|
690
|
-
) {
|
|
691
|
-
return brandNode(PluginNode.create(name, phase, options));
|
|
692
|
-
}
|
|
75
|
+
// ==========================================
|
|
76
|
+
// Core node types (delegate to CoreFactory)
|
|
77
|
+
// ==========================================
|
|
78
|
+
|
|
79
|
+
static createService = CoreFactory.createService.bind(CoreFactory);
|
|
80
|
+
static createEntrypoint = CoreFactory.createEntrypoint.bind(CoreFactory);
|
|
81
|
+
static createModule = CoreFactory.createModule.bind(CoreFactory);
|
|
82
|
+
static createModuleWithContext = CoreFactory.createModuleWithContext.bind(CoreFactory);
|
|
83
|
+
static createFunction = CoreFactory.createFunction.bind(CoreFactory);
|
|
84
|
+
static createScope = CoreFactory.createScope.bind(CoreFactory);
|
|
85
|
+
static createBranch = CoreFactory.createBranch.bind(CoreFactory);
|
|
86
|
+
static createCase = CoreFactory.createCase.bind(CoreFactory);
|
|
87
|
+
static createCallSite = CoreFactory.createCallSite.bind(CoreFactory);
|
|
88
|
+
static createMethodCall = CoreFactory.createMethodCall.bind(CoreFactory);
|
|
89
|
+
static createConstructorCall = CoreFactory.createConstructorCall.bind(CoreFactory);
|
|
90
|
+
static generateConstructorCallId = CoreFactory.generateConstructorCallId.bind(CoreFactory);
|
|
91
|
+
static isBuiltinConstructor = CoreFactory.isBuiltinConstructor.bind(CoreFactory);
|
|
92
|
+
static createVariableDeclaration = CoreFactory.createVariableDeclaration.bind(CoreFactory);
|
|
93
|
+
static createConstant = CoreFactory.createConstant.bind(CoreFactory);
|
|
94
|
+
static createLiteral = CoreFactory.createLiteral.bind(CoreFactory);
|
|
95
|
+
static createObjectLiteral = CoreFactory.createObjectLiteral.bind(CoreFactory);
|
|
96
|
+
static createArrayLiteral = CoreFactory.createArrayLiteral.bind(CoreFactory);
|
|
97
|
+
static createExternalStdio = CoreFactory.createExternalStdio.bind(CoreFactory);
|
|
98
|
+
static createEventListener = CoreFactory.createEventListener.bind(CoreFactory);
|
|
99
|
+
static createImport = CoreFactory.createImport.bind(CoreFactory);
|
|
100
|
+
static createClass = CoreFactory.createClass.bind(CoreFactory);
|
|
101
|
+
static createExport = CoreFactory.createExport.bind(CoreFactory);
|
|
102
|
+
static createInterface = CoreFactory.createInterface.bind(CoreFactory);
|
|
103
|
+
static createType = CoreFactory.createType.bind(CoreFactory);
|
|
104
|
+
static createTypeParameter = CoreFactory.createTypeParameter.bind(CoreFactory);
|
|
105
|
+
static createEnum = CoreFactory.createEnum.bind(CoreFactory);
|
|
106
|
+
static createDecorator = CoreFactory.createDecorator.bind(CoreFactory);
|
|
107
|
+
static createExpression = CoreFactory.createExpression.bind(CoreFactory);
|
|
108
|
+
static generateExpressionId = CoreFactory.generateExpressionId.bind(CoreFactory);
|
|
109
|
+
static createExpressionFromMetadata = CoreFactory.createExpressionFromMetadata.bind(CoreFactory);
|
|
110
|
+
static createArgumentExpression = CoreFactory.createArgumentExpression.bind(CoreFactory);
|
|
111
|
+
static createIssue = CoreFactory.createIssue.bind(CoreFactory);
|
|
112
|
+
static createPlugin = CoreFactory.createPlugin.bind(CoreFactory);
|
|
113
|
+
static _hashFile = CoreFactory._hashFile.bind(CoreFactory);
|
|
114
|
+
|
|
115
|
+
// ==========================================
|
|
116
|
+
// HTTP domain (delegate to HttpFactory)
|
|
117
|
+
// ==========================================
|
|
118
|
+
|
|
119
|
+
static createNetworkRequest = HttpFactory.createNetworkRequest.bind(HttpFactory);
|
|
120
|
+
static createHttpRoute = HttpFactory.createHttpRoute.bind(HttpFactory);
|
|
121
|
+
static createFetchRequest = HttpFactory.createFetchRequest.bind(HttpFactory);
|
|
122
|
+
static createExpressMount = HttpFactory.createExpressMount.bind(HttpFactory);
|
|
123
|
+
static createExpressMiddleware = HttpFactory.createExpressMiddleware.bind(HttpFactory);
|
|
124
|
+
static createExternalApi = HttpFactory.createExternalApi.bind(HttpFactory);
|
|
125
|
+
static createHttpRequest = HttpFactory.createHttpRequest.bind(HttpFactory);
|
|
126
|
+
|
|
127
|
+
// ==========================================
|
|
128
|
+
// Rust domain (delegate to RustFactory)
|
|
129
|
+
// ==========================================
|
|
130
|
+
|
|
131
|
+
static createRustModule = RustFactory.createRustModule.bind(RustFactory);
|
|
132
|
+
static createRustFunction = RustFactory.createRustFunction.bind(RustFactory);
|
|
133
|
+
static createRustStruct = RustFactory.createRustStruct.bind(RustFactory);
|
|
134
|
+
static createRustImpl = RustFactory.createRustImpl.bind(RustFactory);
|
|
135
|
+
static createRustMethod = RustFactory.createRustMethod.bind(RustFactory);
|
|
136
|
+
static createRustTrait = RustFactory.createRustTrait.bind(RustFactory);
|
|
137
|
+
static createRustCall = RustFactory.createRustCall.bind(RustFactory);
|
|
138
|
+
|
|
139
|
+
// ==========================================
|
|
140
|
+
// React domain (delegate to ReactFactory)
|
|
141
|
+
// ==========================================
|
|
142
|
+
|
|
143
|
+
static createReactNode = ReactFactory.createReactNode.bind(ReactFactory);
|
|
144
|
+
|
|
145
|
+
// ==========================================
|
|
146
|
+
// Socket domain (delegate to SocketFactory)
|
|
147
|
+
// ==========================================
|
|
148
|
+
|
|
149
|
+
static createSocketIOEmit = SocketFactory.createSocketIOEmit.bind(SocketFactory);
|
|
150
|
+
static createSocketIOListener = SocketFactory.createSocketIOListener.bind(SocketFactory);
|
|
151
|
+
static createSocketIORoom = SocketFactory.createSocketIORoom.bind(SocketFactory);
|
|
152
|
+
static createSocketIOEvent = SocketFactory.createSocketIOEvent.bind(SocketFactory);
|
|
153
|
+
static createUnixSocket = SocketFactory.createUnixSocket.bind(SocketFactory);
|
|
154
|
+
static createTcpConnection = SocketFactory.createTcpConnection.bind(SocketFactory);
|
|
155
|
+
static createUnixServer = SocketFactory.createUnixServer.bind(SocketFactory);
|
|
156
|
+
static createTcpServer = SocketFactory.createTcpServer.bind(SocketFactory);
|
|
157
|
+
|
|
158
|
+
// ==========================================
|
|
159
|
+
// Database domain (delegate to DatabaseFactory)
|
|
160
|
+
// ==========================================
|
|
161
|
+
|
|
162
|
+
static createDatabaseQuery = DatabaseFactory.createDatabaseQuery.bind(DatabaseFactory);
|
|
163
|
+
static createDbConnection = DatabaseFactory.createDbConnection.bind(DatabaseFactory);
|
|
164
|
+
static createDbQuery = DatabaseFactory.createDbQuery.bind(DatabaseFactory);
|
|
165
|
+
static createSQLiteQuery = DatabaseFactory.createSQLiteQuery.bind(DatabaseFactory);
|
|
166
|
+
static createDbTable = DatabaseFactory.createDbTable.bind(DatabaseFactory);
|
|
167
|
+
|
|
168
|
+
// ==========================================
|
|
169
|
+
// Service Layer (delegate to ServiceFactory)
|
|
170
|
+
// ==========================================
|
|
171
|
+
|
|
172
|
+
static createServiceClass = ServiceFactory.createServiceClass.bind(ServiceFactory);
|
|
173
|
+
static createServiceInstance = ServiceFactory.createServiceInstance.bind(ServiceFactory);
|
|
174
|
+
static createServiceRegistration = ServiceFactory.createServiceRegistration.bind(ServiceFactory);
|
|
175
|
+
static createServiceUsage = ServiceFactory.createServiceUsage.bind(ServiceFactory);
|
|
176
|
+
|
|
177
|
+
// ==========================================
|
|
178
|
+
// External modules (delegate to ExternalFactory)
|
|
179
|
+
// ==========================================
|
|
180
|
+
|
|
181
|
+
static createExternalModule = ExternalFactory.createExternalModule.bind(ExternalFactory);
|
|
182
|
+
static createExternalFunction = ExternalFactory.createExternalFunction.bind(ExternalFactory);
|
|
183
|
+
|
|
184
|
+
// ==========================================
|
|
185
|
+
// Validation (stays in facade - needs all node types)
|
|
186
|
+
// ==========================================
|
|
693
187
|
|
|
694
188
|
/**
|
|
695
189
|
* Validate node by its type
|
|
@@ -720,11 +214,20 @@ export class NodeFactory {
|
|
|
720
214
|
'CLASS': ClassNode,
|
|
721
215
|
'EXPORT': ExportNode,
|
|
722
216
|
'EXTERNAL_MODULE': ExternalModuleNode,
|
|
217
|
+
'EXTERNAL_FUNCTION': ExternalFunctionNode,
|
|
723
218
|
'INTERFACE': InterfaceNode,
|
|
724
219
|
'TYPE': TypeNode,
|
|
220
|
+
'TYPE_PARAMETER': TypeParameterNode,
|
|
725
221
|
'ENUM': EnumNode,
|
|
726
222
|
'DECORATOR': DecoratorNode,
|
|
727
|
-
'EXPRESSION': ExpressionNode
|
|
223
|
+
'EXPRESSION': ExpressionNode,
|
|
224
|
+
'RUST_MODULE': RustModuleNode,
|
|
225
|
+
'RUST_FUNCTION': RustFunctionNode,
|
|
226
|
+
'RUST_STRUCT': RustStructNode,
|
|
227
|
+
'RUST_IMPL': RustImplNode,
|
|
228
|
+
'RUST_METHOD': RustMethodNode,
|
|
229
|
+
'RUST_TRAIT': RustTraitNode,
|
|
230
|
+
'RUST_CALL': RustCallNode,
|
|
728
231
|
};
|
|
729
232
|
|
|
730
233
|
// Handle issue:* types dynamically
|
|
@@ -737,6 +240,31 @@ export class NodeFactory {
|
|
|
737
240
|
return PluginNode.validate(node);
|
|
738
241
|
}
|
|
739
242
|
|
|
243
|
+
// Handle React domain types (react:*, dom:*, browser:*, canvas:*)
|
|
244
|
+
if (ReactNode.isReactDomainType(node.type)) {
|
|
245
|
+
return ReactNode.validate(node);
|
|
246
|
+
}
|
|
247
|
+
|
|
248
|
+
// Handle Socket.IO types (socketio:*)
|
|
249
|
+
if (SocketIONode.isSocketIOType(node.type)) {
|
|
250
|
+
return SocketIONode.validate(node);
|
|
251
|
+
}
|
|
252
|
+
|
|
253
|
+
// Handle socket types (os:unix-*, net:tcp-*)
|
|
254
|
+
if (SocketConnectionNode.isSocketType(node.type)) {
|
|
255
|
+
return SocketConnectionNode.validate(node);
|
|
256
|
+
}
|
|
257
|
+
|
|
258
|
+
// Handle database domain types (db:*)
|
|
259
|
+
if (DatabaseNode.isDatabaseType(node.type)) {
|
|
260
|
+
return DatabaseNode.validate(node);
|
|
261
|
+
}
|
|
262
|
+
|
|
263
|
+
// Handle service layer types (SERVICE_*)
|
|
264
|
+
if (ServiceLayerNode.isServiceLayerType(node.type)) {
|
|
265
|
+
return ServiceLayerNode.validate(node);
|
|
266
|
+
}
|
|
267
|
+
|
|
740
268
|
const validator = validators[node.type];
|
|
741
269
|
if (!validator) {
|
|
742
270
|
return [`Unknown node type: ${node.type}`];
|
|
@@ -744,11 +272,4 @@ export class NodeFactory {
|
|
|
744
272
|
|
|
745
273
|
return validator.validate(node);
|
|
746
274
|
}
|
|
747
|
-
|
|
748
|
-
/**
|
|
749
|
-
* Helper: hash file path for stable ID
|
|
750
|
-
*/
|
|
751
|
-
static _hashFile(filePath: string): string {
|
|
752
|
-
return createHash('md5').update(filePath).digest('hex').substring(0, 12);
|
|
753
|
-
}
|
|
754
275
|
}
|