@grafema/core 0.1.0-alpha.4 → 0.1.1-alpha
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +0 -1
- package/dist/Orchestrator.d.ts +24 -2
- package/dist/Orchestrator.d.ts.map +1 -1
- package/dist/Orchestrator.js +197 -24
- package/dist/config/ConfigLoader.d.ts +72 -0
- package/dist/config/ConfigLoader.d.ts.map +1 -0
- package/dist/config/ConfigLoader.js +187 -0
- package/dist/config/index.d.ts +6 -0
- package/dist/config/index.d.ts.map +1 -0
- package/dist/config/index.js +4 -0
- package/dist/core/ASTWorker.d.ts +11 -36
- package/dist/core/ASTWorker.d.ts.map +1 -1
- package/dist/core/ASTWorker.js +93 -99
- package/dist/core/CoverageAnalyzer.d.ts +65 -0
- package/dist/core/CoverageAnalyzer.d.ts.map +1 -0
- package/dist/core/CoverageAnalyzer.js +198 -0
- package/dist/core/FileNodeManager.d.ts +40 -0
- package/dist/core/FileNodeManager.d.ts.map +1 -0
- package/dist/core/FileNodeManager.js +84 -0
- package/dist/core/GraphFreshnessChecker.d.ts +33 -0
- package/dist/core/GraphFreshnessChecker.d.ts.map +1 -0
- package/dist/core/GraphFreshnessChecker.js +101 -0
- package/dist/core/HashUtils.d.ts +24 -0
- package/dist/core/HashUtils.d.ts.map +1 -0
- package/dist/core/HashUtils.js +45 -0
- package/dist/core/IncrementalReanalyzer.d.ts +36 -0
- package/dist/core/IncrementalReanalyzer.d.ts.map +1 -0
- package/dist/core/IncrementalReanalyzer.js +132 -0
- package/dist/core/NodeFactory.d.ts +225 -17
- package/dist/core/NodeFactory.d.ts.map +1 -1
- package/dist/core/NodeFactory.js +208 -18
- package/dist/core/ScopeTracker.d.ts +84 -0
- package/dist/core/ScopeTracker.d.ts.map +1 -0
- package/dist/core/ScopeTracker.js +116 -0
- package/dist/core/SemanticId.d.ts +90 -0
- package/dist/core/SemanticId.d.ts.map +1 -0
- package/dist/core/SemanticId.js +115 -0
- package/dist/core/VersionManager.d.ts.map +1 -1
- package/dist/core/VersionManager.js +3 -2
- package/dist/core/nodes/ArgumentExpressionNode.d.ts +43 -0
- package/dist/core/nodes/ArgumentExpressionNode.d.ts.map +1 -0
- package/dist/core/nodes/ArgumentExpressionNode.js +60 -0
- package/dist/core/nodes/ArrayLiteralNode.d.ts +27 -0
- package/dist/core/nodes/ArrayLiteralNode.d.ts.map +1 -0
- package/dist/core/nodes/ArrayLiteralNode.js +41 -0
- package/dist/core/nodes/CallSiteNode.d.ts +28 -0
- package/dist/core/nodes/CallSiteNode.d.ts.map +1 -1
- package/dist/core/nodes/CallSiteNode.js +46 -0
- package/dist/core/nodes/ClassNode.d.ts +33 -1
- package/dist/core/nodes/ClassNode.d.ts.map +1 -1
- package/dist/core/nodes/ClassNode.js +46 -2
- package/dist/core/nodes/DecoratorNode.d.ts +42 -0
- package/dist/core/nodes/DecoratorNode.d.ts.map +1 -0
- package/dist/core/nodes/DecoratorNode.js +62 -0
- package/dist/core/nodes/EnumNode.d.ts +42 -0
- package/dist/core/nodes/EnumNode.d.ts.map +1 -0
- package/dist/core/nodes/EnumNode.js +54 -0
- package/dist/core/nodes/ExportNode.d.ts +37 -1
- package/dist/core/nodes/ExportNode.d.ts.map +1 -1
- package/dist/core/nodes/ExportNode.js +48 -2
- package/dist/core/nodes/ExpressionNode.d.ts +97 -0
- package/dist/core/nodes/ExpressionNode.d.ts.map +1 -0
- package/dist/core/nodes/ExpressionNode.js +178 -0
- package/dist/core/nodes/ExternalModuleNode.d.ts +28 -0
- package/dist/core/nodes/ExternalModuleNode.d.ts.map +1 -0
- package/dist/core/nodes/ExternalModuleNode.js +41 -0
- package/dist/core/nodes/ExternalStdioNode.d.ts +13 -6
- package/dist/core/nodes/ExternalStdioNode.d.ts.map +1 -1
- package/dist/core/nodes/ExternalStdioNode.js +15 -8
- package/dist/core/nodes/FunctionNode.d.ts +36 -0
- package/dist/core/nodes/FunctionNode.d.ts.map +1 -1
- package/dist/core/nodes/FunctionNode.js +80 -1
- package/dist/core/nodes/ImportNode.d.ts +19 -5
- package/dist/core/nodes/ImportNode.d.ts.map +1 -1
- package/dist/core/nodes/ImportNode.js +23 -5
- package/dist/core/nodes/InterfaceNode.d.ts +46 -0
- package/dist/core/nodes/InterfaceNode.d.ts.map +1 -0
- package/dist/core/nodes/InterfaceNode.js +55 -0
- package/dist/core/nodes/IssueNode.d.ts +73 -0
- package/dist/core/nodes/IssueNode.d.ts.map +1 -0
- package/dist/core/nodes/IssueNode.js +129 -0
- package/dist/core/nodes/MethodCallNode.d.ts +30 -0
- package/dist/core/nodes/MethodCallNode.d.ts.map +1 -1
- package/dist/core/nodes/MethodCallNode.js +49 -0
- package/dist/core/nodes/MethodNode.d.ts +32 -0
- package/dist/core/nodes/MethodNode.d.ts.map +1 -1
- package/dist/core/nodes/MethodNode.js +48 -0
- package/dist/core/nodes/ModuleNode.d.ts +31 -0
- package/dist/core/nodes/ModuleNode.d.ts.map +1 -1
- package/dist/core/nodes/ModuleNode.js +37 -0
- package/dist/core/nodes/NetworkRequestNode.d.ts +54 -0
- package/dist/core/nodes/NetworkRequestNode.d.ts.map +1 -0
- package/dist/core/nodes/NetworkRequestNode.js +65 -0
- package/dist/core/nodes/ObjectLiteralNode.d.ts +27 -0
- package/dist/core/nodes/ObjectLiteralNode.d.ts.map +1 -0
- package/dist/core/nodes/ObjectLiteralNode.js +41 -0
- package/dist/core/nodes/ScopeNode.d.ts +31 -0
- package/dist/core/nodes/ScopeNode.d.ts.map +1 -1
- package/dist/core/nodes/ScopeNode.js +49 -0
- package/dist/core/nodes/TypeNode.d.ts +36 -0
- package/dist/core/nodes/TypeNode.d.ts.map +1 -0
- package/dist/core/nodes/TypeNode.js +53 -0
- package/dist/core/nodes/VariableDeclarationNode.d.ts +27 -0
- package/dist/core/nodes/VariableDeclarationNode.d.ts.map +1 -1
- package/dist/core/nodes/VariableDeclarationNode.js +40 -0
- package/dist/core/nodes/index.d.ts +12 -1
- package/dist/core/nodes/index.d.ts.map +1 -1
- package/dist/core/nodes/index.js +14 -0
- package/dist/diagnostics/DiagnosticCollector.d.ts +98 -0
- package/dist/diagnostics/DiagnosticCollector.d.ts.map +1 -0
- package/dist/diagnostics/DiagnosticCollector.js +129 -0
- package/dist/diagnostics/DiagnosticReporter.d.ts +77 -0
- package/dist/diagnostics/DiagnosticReporter.d.ts.map +1 -0
- package/dist/diagnostics/DiagnosticReporter.js +159 -0
- package/dist/diagnostics/DiagnosticWriter.d.ts +31 -0
- package/dist/diagnostics/DiagnosticWriter.d.ts.map +1 -0
- package/dist/diagnostics/DiagnosticWriter.js +43 -0
- package/dist/diagnostics/index.d.ts +14 -0
- package/dist/diagnostics/index.d.ts.map +1 -0
- package/dist/diagnostics/index.js +11 -0
- package/dist/errors/GrafemaError.d.ts +118 -0
- package/dist/errors/GrafemaError.d.ts.map +1 -0
- package/dist/errors/GrafemaError.js +131 -0
- package/dist/index.d.ts +57 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +54 -1
- package/dist/logging/Logger.d.ts +48 -0
- package/dist/logging/Logger.d.ts.map +1 -0
- package/dist/logging/Logger.js +134 -0
- package/dist/plugins/Plugin.d.ts +5 -1
- package/dist/plugins/Plugin.d.ts.map +1 -1
- package/dist/plugins/Plugin.js +33 -0
- package/dist/plugins/analysis/DatabaseAnalyzer.d.ts.map +1 -1
- package/dist/plugins/analysis/DatabaseAnalyzer.js +13 -6
- package/dist/plugins/analysis/ExpressAnalyzer.d.ts.map +1 -1
- package/dist/plugins/analysis/ExpressAnalyzer.js +27 -19
- package/dist/plugins/analysis/ExpressRouteAnalyzer.d.ts.map +1 -1
- package/dist/plugins/analysis/ExpressRouteAnalyzer.js +21 -14
- package/dist/plugins/analysis/FetchAnalyzer.d.ts +1 -0
- package/dist/plugins/analysis/FetchAnalyzer.d.ts.map +1 -1
- package/dist/plugins/analysis/FetchAnalyzer.js +34 -14
- package/dist/plugins/analysis/IncrementalAnalysisPlugin.d.ts +6 -3
- package/dist/plugins/analysis/IncrementalAnalysisPlugin.d.ts.map +1 -1
- package/dist/plugins/analysis/IncrementalAnalysisPlugin.js +76 -80
- package/dist/plugins/analysis/JSASTAnalyzer.d.ts +180 -17
- package/dist/plugins/analysis/JSASTAnalyzer.d.ts.map +1 -1
- package/dist/plugins/analysis/JSASTAnalyzer.js +1171 -471
- package/dist/plugins/analysis/ReactAnalyzer.d.ts.map +1 -1
- package/dist/plugins/analysis/ReactAnalyzer.js +56 -57
- package/dist/plugins/analysis/RustAnalyzer.d.ts.map +1 -1
- package/dist/plugins/analysis/RustAnalyzer.js +15 -10
- package/dist/plugins/analysis/SQLiteAnalyzer.d.ts.map +1 -1
- package/dist/plugins/analysis/SQLiteAnalyzer.js +9 -7
- package/dist/plugins/analysis/ServiceLayerAnalyzer.d.ts.map +1 -1
- package/dist/plugins/analysis/ServiceLayerAnalyzer.js +21 -9
- package/dist/plugins/analysis/SocketIOAnalyzer.d.ts.map +1 -1
- package/dist/plugins/analysis/SocketIOAnalyzer.js +27 -15
- package/dist/plugins/analysis/SystemDbAnalyzer.d.ts.map +1 -1
- package/dist/plugins/analysis/SystemDbAnalyzer.js +15 -5
- package/dist/plugins/analysis/ast/GraphBuilder.d.ts +34 -4
- package/dist/plugins/analysis/ast/GraphBuilder.d.ts.map +1 -1
- package/dist/plugins/analysis/ast/GraphBuilder.js +318 -298
- package/dist/plugins/analysis/ast/IdGenerator.d.ts +105 -0
- package/dist/plugins/analysis/ast/IdGenerator.d.ts.map +1 -0
- package/dist/plugins/analysis/ast/IdGenerator.js +116 -0
- package/dist/plugins/analysis/ast/types.d.ts +176 -5
- package/dist/plugins/analysis/ast/types.d.ts.map +1 -1
- package/dist/plugins/analysis/ast/utils/createParameterNodes.d.ts +33 -0
- package/dist/plugins/analysis/ast/utils/createParameterNodes.d.ts.map +1 -0
- package/dist/plugins/analysis/ast/utils/createParameterNodes.js +89 -0
- package/dist/plugins/analysis/ast/utils/index.d.ts +6 -0
- package/dist/plugins/analysis/ast/utils/index.d.ts.map +1 -0
- package/dist/plugins/analysis/ast/utils/index.js +5 -0
- package/dist/plugins/analysis/ast/utils/location.d.ts +87 -0
- package/dist/plugins/analysis/ast/utils/location.d.ts.map +1 -0
- package/dist/plugins/analysis/ast/utils/location.js +78 -0
- package/dist/plugins/analysis/ast/visitors/ASTVisitor.d.ts +9 -4
- package/dist/plugins/analysis/ast/visitors/ASTVisitor.d.ts.map +1 -1
- package/dist/plugins/analysis/ast/visitors/ASTVisitor.js +6 -5
- package/dist/plugins/analysis/ast/visitors/CallExpressionVisitor.d.ts +99 -9
- package/dist/plugins/analysis/ast/visitors/CallExpressionVisitor.d.ts.map +1 -1
- package/dist/plugins/analysis/ast/visitors/CallExpressionVisitor.js +663 -125
- package/dist/plugins/analysis/ast/visitors/ClassVisitor.d.ts +4 -1
- package/dist/plugins/analysis/ast/visitors/ClassVisitor.d.ts.map +1 -1
- package/dist/plugins/analysis/ast/visitors/ClassVisitor.js +72 -32
- package/dist/plugins/analysis/ast/visitors/FunctionVisitor.d.ts +4 -1
- package/dist/plugins/analysis/ast/visitors/FunctionVisitor.d.ts.map +1 -1
- package/dist/plugins/analysis/ast/visitors/FunctionVisitor.js +128 -63
- package/dist/plugins/analysis/ast/visitors/ImportExportVisitor.d.ts.map +1 -1
- package/dist/plugins/analysis/ast/visitors/ImportExportVisitor.js +11 -8
- package/dist/plugins/analysis/ast/visitors/TypeScriptVisitor.d.ts +12 -1
- package/dist/plugins/analysis/ast/visitors/TypeScriptVisitor.d.ts.map +1 -1
- package/dist/plugins/analysis/ast/visitors/TypeScriptVisitor.js +36 -14
- package/dist/plugins/analysis/ast/visitors/VariableVisitor.d.ts +4 -1
- package/dist/plugins/analysis/ast/visitors/VariableVisitor.d.ts.map +1 -1
- package/dist/plugins/analysis/ast/visitors/VariableVisitor.js +17 -13
- package/dist/plugins/discovery/MonorepoServiceDiscovery.d.ts.map +1 -1
- package/dist/plugins/discovery/MonorepoServiceDiscovery.js +3 -2
- package/dist/plugins/discovery/SimpleProjectDiscovery.d.ts.map +1 -1
- package/dist/plugins/discovery/SimpleProjectDiscovery.js +5 -1
- package/dist/plugins/discovery/WorkspaceDiscovery.d.ts +22 -0
- package/dist/plugins/discovery/WorkspaceDiscovery.d.ts.map +1 -0
- package/dist/plugins/discovery/WorkspaceDiscovery.js +136 -0
- package/dist/plugins/discovery/resolveSourceEntrypoint.d.ts +46 -0
- package/dist/plugins/discovery/resolveSourceEntrypoint.d.ts.map +1 -0
- package/dist/plugins/discovery/resolveSourceEntrypoint.js +86 -0
- package/dist/plugins/discovery/workspaces/detector.d.ts +21 -0
- package/dist/plugins/discovery/workspaces/detector.d.ts.map +1 -0
- package/dist/plugins/discovery/workspaces/detector.js +49 -0
- package/dist/plugins/discovery/workspaces/globResolver.d.ts +35 -0
- package/dist/plugins/discovery/workspaces/globResolver.d.ts.map +1 -0
- package/dist/plugins/discovery/workspaces/globResolver.js +184 -0
- package/dist/plugins/discovery/workspaces/index.d.ts +9 -0
- package/dist/plugins/discovery/workspaces/index.d.ts.map +1 -0
- package/dist/plugins/discovery/workspaces/index.js +8 -0
- package/dist/plugins/discovery/workspaces/parsers.d.ts +38 -0
- package/dist/plugins/discovery/workspaces/parsers.d.ts.map +1 -0
- package/dist/plugins/discovery/workspaces/parsers.js +80 -0
- package/dist/plugins/enrichment/AliasTracker.d.ts.map +1 -1
- package/dist/plugins/enrichment/AliasTracker.js +14 -8
- package/dist/plugins/enrichment/HTTPConnectionEnricher.d.ts.map +1 -1
- package/dist/plugins/enrichment/HTTPConnectionEnricher.js +14 -7
- package/dist/plugins/enrichment/ImportExportLinker.d.ts.map +1 -1
- package/dist/plugins/enrichment/ImportExportLinker.js +23 -6
- package/dist/plugins/enrichment/MethodCallResolver.d.ts.map +1 -1
- package/dist/plugins/enrichment/MethodCallResolver.js +18 -12
- package/dist/plugins/enrichment/MountPointResolver.d.ts.map +1 -1
- package/dist/plugins/enrichment/MountPointResolver.js +8 -3
- package/dist/plugins/enrichment/PrefixEvaluator.d.ts.map +1 -1
- package/dist/plugins/enrichment/PrefixEvaluator.js +16 -7
- package/dist/plugins/enrichment/RustFFIEnricher.d.ts.map +1 -1
- package/dist/plugins/enrichment/RustFFIEnricher.js +6 -5
- package/dist/plugins/enrichment/ValueDomainAnalyzer.d.ts +17 -0
- package/dist/plugins/enrichment/ValueDomainAnalyzer.d.ts.map +1 -1
- package/dist/plugins/enrichment/ValueDomainAnalyzer.js +129 -10
- package/dist/plugins/indexing/IncrementalModuleIndexer.d.ts.map +1 -1
- package/dist/plugins/indexing/IncrementalModuleIndexer.js +23 -14
- package/dist/plugins/indexing/JSModuleIndexer.d.ts.map +1 -1
- package/dist/plugins/indexing/JSModuleIndexer.js +63 -31
- package/dist/plugins/indexing/RustModuleIndexer.d.ts.map +1 -1
- package/dist/plugins/indexing/RustModuleIndexer.js +5 -4
- package/dist/plugins/indexing/ServiceDetector.d.ts +10 -0
- package/dist/plugins/indexing/ServiceDetector.d.ts.map +1 -1
- package/dist/plugins/indexing/ServiceDetector.js +28 -15
- package/dist/plugins/validation/CallResolverValidator.d.ts.map +1 -1
- package/dist/plugins/validation/CallResolverValidator.js +8 -7
- package/dist/plugins/validation/DataFlowValidator.d.ts.map +1 -1
- package/dist/plugins/validation/DataFlowValidator.js +17 -12
- package/dist/plugins/validation/EvalBanValidator.d.ts.map +1 -1
- package/dist/plugins/validation/EvalBanValidator.js +17 -16
- package/dist/plugins/validation/GraphConnectivityValidator.d.ts.map +1 -1
- package/dist/plugins/validation/GraphConnectivityValidator.js +19 -23
- package/dist/plugins/validation/NodeCreationValidator.d.ts +85 -0
- package/dist/plugins/validation/NodeCreationValidator.d.ts.map +1 -0
- package/dist/plugins/validation/NodeCreationValidator.js +415 -0
- package/dist/plugins/validation/SQLInjectionValidator.d.ts.map +1 -1
- package/dist/plugins/validation/SQLInjectionValidator.js +59 -16
- package/dist/plugins/validation/ShadowingDetector.d.ts.map +1 -1
- package/dist/plugins/validation/ShadowingDetector.js +6 -5
- package/dist/plugins/validation/TypeScriptDeadCodeValidator.d.ts.map +1 -1
- package/dist/plugins/validation/TypeScriptDeadCodeValidator.js +12 -11
- package/dist/plugins/vcs/GitPlugin.d.ts.map +1 -1
- package/dist/plugins/vcs/GitPlugin.js +10 -12
- package/dist/plugins/vcs/VCSPlugin.d.ts +3 -2
- package/dist/plugins/vcs/VCSPlugin.d.ts.map +1 -1
- package/dist/plugins/vcs/VCSPlugin.js +5 -5
- package/dist/storage/backends/RFDBServerBackend.d.ts +10 -17
- package/dist/storage/backends/RFDBServerBackend.d.ts.map +1 -1
- package/dist/storage/backends/RFDBServerBackend.js +31 -10
- package/dist/validation/PathValidator.d.ts +1 -2
- package/dist/validation/PathValidator.d.ts.map +1 -1
- package/package.json +6 -3
- package/src/Orchestrator.ts +237 -24
- package/src/config/ConfigLoader.ts +263 -0
- package/src/config/index.ts +5 -0
- package/src/core/ASTWorker.ts +143 -139
- package/src/core/CoverageAnalyzer.ts +243 -0
- package/src/core/FileNodeManager.ts +100 -0
- package/src/core/GraphFreshnessChecker.ts +143 -0
- package/src/core/HashUtils.ts +48 -0
- package/src/core/IncrementalReanalyzer.ts +192 -0
- package/src/core/NodeFactory.ts +401 -18
- package/src/core/ScopeTracker.ts +154 -0
- package/src/core/SemanticId.ts +192 -0
- package/src/core/VersionManager.ts +3 -2
- package/src/core/nodes/ArgumentExpressionNode.ts +89 -0
- package/src/core/nodes/ArrayLiteralNode.ts +65 -0
- package/src/core/nodes/CallSiteNode.ts +58 -0
- package/src/core/nodes/ClassNode.ts +63 -2
- package/src/core/nodes/DecoratorNode.ts +91 -0
- package/src/core/nodes/EnumNode.ts +86 -0
- package/src/core/nodes/ExportNode.ts +70 -2
- package/src/core/nodes/ExpressionNode.ts +231 -0
- package/src/core/nodes/ExternalModuleNode.ts +56 -0
- package/src/core/nodes/ExternalStdioNode.ts +17 -9
- package/src/core/nodes/FunctionNode.ts +101 -1
- package/src/core/nodes/ImportNode.ts +32 -10
- package/src/core/nodes/InterfaceNode.ts +91 -0
- package/src/core/nodes/IssueNode.ts +177 -0
- package/src/core/nodes/MethodCallNode.ts +64 -0
- package/src/core/nodes/MethodNode.ts +63 -0
- package/src/core/nodes/ModuleNode.ts +50 -0
- package/src/core/nodes/NetworkRequestNode.ts +77 -0
- package/src/core/nodes/ObjectLiteralNode.ts +65 -0
- package/src/core/nodes/ScopeNode.ts +65 -0
- package/src/core/nodes/TypeNode.ts +78 -0
- package/src/core/nodes/VariableDeclarationNode.ts +52 -0
- package/src/core/nodes/index.ts +18 -1
- package/src/diagnostics/DiagnosticCollector.ts +163 -0
- package/src/diagnostics/DiagnosticReporter.ts +204 -0
- package/src/diagnostics/DiagnosticWriter.ts +50 -0
- package/src/diagnostics/index.ts +16 -0
- package/src/errors/GrafemaError.ts +174 -0
- package/src/index.ts +148 -1
- package/src/logging/Logger.ts +152 -0
- package/src/plugins/Plugin.ts +42 -0
- package/src/plugins/analysis/DatabaseAnalyzer.ts +14 -8
- package/src/plugins/analysis/ExpressAnalyzer.ts +29 -19
- package/src/plugins/analysis/ExpressRouteAnalyzer.ts +22 -21
- package/src/plugins/analysis/FetchAnalyzer.ts +39 -16
- package/src/plugins/analysis/IncrementalAnalysisPlugin.ts +84 -101
- package/src/plugins/analysis/JSASTAnalyzer.ts +1483 -503
- package/src/plugins/analysis/ReactAnalyzer.ts +57 -57
- package/src/plugins/analysis/RustAnalyzer.ts +15 -10
- package/src/plugins/analysis/SQLiteAnalyzer.ts +10 -7
- package/src/plugins/analysis/ServiceLayerAnalyzer.ts +22 -16
- package/src/plugins/analysis/SocketIOAnalyzer.ts +31 -22
- package/src/plugins/analysis/SystemDbAnalyzer.ts +16 -11
- package/src/plugins/analysis/ast/GraphBuilder.ts +439 -327
- package/src/plugins/analysis/ast/IdGenerator.ts +177 -0
- package/src/plugins/analysis/ast/types.ts +209 -6
- package/src/plugins/analysis/ast/utils/createParameterNodes.ts +104 -0
- package/src/plugins/analysis/ast/utils/index.ts +12 -0
- package/src/plugins/analysis/ast/utils/location.ts +103 -0
- package/src/plugins/analysis/ast/visitors/ASTVisitor.ts +11 -8
- package/src/plugins/analysis/ast/visitors/CallExpressionVisitor.ts +909 -83
- package/src/plugins/analysis/ast/visitors/ClassVisitor.ts +97 -44
- package/src/plugins/analysis/ast/visitors/FunctionVisitor.ts +159 -93
- package/src/plugins/analysis/ast/visitors/ImportExportVisitor.ts +12 -8
- package/src/plugins/analysis/ast/visitors/TypeScriptVisitor.ts +41 -14
- package/src/plugins/analysis/ast/visitors/VariableVisitor.ts +37 -17
- package/src/plugins/discovery/MonorepoServiceDiscovery.ts +3 -2
- package/src/plugins/discovery/SimpleProjectDiscovery.ts +6 -1
- package/src/plugins/discovery/WorkspaceDiscovery.ts +177 -0
- package/src/plugins/discovery/resolveSourceEntrypoint.ts +103 -0
- package/src/plugins/discovery/workspaces/detector.ts +63 -0
- package/src/plugins/discovery/workspaces/globResolver.ts +229 -0
- package/src/plugins/discovery/workspaces/index.ts +23 -0
- package/src/plugins/discovery/workspaces/parsers.ts +99 -0
- package/src/plugins/enrichment/AliasTracker.ts +14 -8
- package/src/plugins/enrichment/HTTPConnectionEnricher.ts +14 -7
- package/src/plugins/enrichment/ImportExportLinker.ts +24 -6
- package/src/plugins/enrichment/MethodCallResolver.ts +18 -12
- package/src/plugins/enrichment/MountPointResolver.ts +8 -3
- package/src/plugins/enrichment/PrefixEvaluator.ts +16 -7
- package/src/plugins/enrichment/RustFFIEnricher.ts +6 -5
- package/src/plugins/enrichment/ValueDomainAnalyzer.ts +149 -12
- package/src/plugins/indexing/IncrementalModuleIndexer.ts +23 -14
- package/src/plugins/indexing/JSModuleIndexer.ts +74 -34
- package/src/plugins/indexing/RustModuleIndexer.ts +5 -4
- package/src/plugins/validation/CallResolverValidator.ts +8 -7
- package/src/plugins/validation/DataFlowValidator.ts +16 -12
- package/src/plugins/validation/EvalBanValidator.ts +17 -16
- package/src/plugins/validation/GraphConnectivityValidator.ts +19 -23
- package/src/plugins/validation/NodeCreationValidator.ts +554 -0
- package/src/plugins/validation/SQLInjectionValidator.ts +61 -15
- package/src/plugins/validation/ShadowingDetector.ts +6 -5
- package/src/plugins/validation/TypeScriptDeadCodeValidator.ts +12 -11
- package/src/plugins/vcs/GitPlugin.ts +40 -12
- package/src/plugins/vcs/VCSPlugin.ts +7 -5
- package/src/storage/backends/RFDBServerBackend.ts +43 -29
- package/src/validation/PathValidator.ts +1 -1
- package/dist/core/AnalysisWorker.d.ts +0 -14
- package/dist/core/AnalysisWorker.d.ts.map +0 -1
- package/dist/core/AnalysisWorker.js +0 -307
- package/dist/core/ParallelAnalyzer.d.ts +0 -120
- package/dist/core/ParallelAnalyzer.d.ts.map +0 -1
- package/dist/core/ParallelAnalyzer.js +0 -331
- package/dist/core/QueueWorker.d.ts +0 -12
- package/dist/core/QueueWorker.d.ts.map +0 -1
- package/dist/core/QueueWorker.js +0 -567
- package/dist/core/RFDBClient.d.ts +0 -179
- package/dist/core/RFDBClient.d.ts.map +0 -1
- package/dist/core/RFDBClient.js +0 -429
- package/dist/plugins/discovery/ZonServiceDiscovery.d.ts +0 -19
- package/dist/plugins/discovery/ZonServiceDiscovery.d.ts.map +0 -1
- package/dist/plugins/discovery/ZonServiceDiscovery.js +0 -204
- package/src/core/AnalysisWorker.ts +0 -410
- package/src/core/ParallelAnalyzer.ts +0 -476
- package/src/core/QueueWorker.ts +0 -780
- package/src/plugins/indexing/ServiceDetector.ts +0 -230
|
@@ -0,0 +1,132 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* IncrementalReanalyzer - selective re-analysis of stale modules
|
|
3
|
+
*
|
|
4
|
+
* HOW IT WORKS:
|
|
5
|
+
* 1. Clear all nodes for stale files (using clearFileNodesIfNeeded)
|
|
6
|
+
* 2. Re-create MODULE nodes with updated contentHash
|
|
7
|
+
* 3. Run JSASTAnalyzer.analyzeModule() for each stale module
|
|
8
|
+
* 4. Re-run enrichment plugins to rebuild cross-file edges
|
|
9
|
+
*/
|
|
10
|
+
import { relative } from 'path';
|
|
11
|
+
import { clearFileNodesIfNeeded } from './FileNodeManager.js';
|
|
12
|
+
import { JSASTAnalyzer } from '../plugins/analysis/JSASTAnalyzer.js';
|
|
13
|
+
import { InstanceOfResolver } from '../plugins/enrichment/InstanceOfResolver.js';
|
|
14
|
+
import { ImportExportLinker } from '../plugins/enrichment/ImportExportLinker.js';
|
|
15
|
+
export class IncrementalReanalyzer {
|
|
16
|
+
graph;
|
|
17
|
+
projectPath;
|
|
18
|
+
constructor(graph, projectPath) {
|
|
19
|
+
this.graph = graph;
|
|
20
|
+
this.projectPath = projectPath;
|
|
21
|
+
}
|
|
22
|
+
async reanalyze(staleModules, options = {}) {
|
|
23
|
+
const startTime = Date.now();
|
|
24
|
+
const touchedFiles = new Set();
|
|
25
|
+
let nodesCreated = 0;
|
|
26
|
+
let edgesCreated = 0;
|
|
27
|
+
let nodesCleared = 0;
|
|
28
|
+
const deletedModules = staleModules.filter(m => m.currentHash === null);
|
|
29
|
+
const modifiedModules = staleModules.filter(m => m.currentHash !== null);
|
|
30
|
+
// STEP 1: Clear nodes for ALL stale files FIRST
|
|
31
|
+
for (let i = 0; i < staleModules.length; i++) {
|
|
32
|
+
const module = staleModules[i];
|
|
33
|
+
if (options.onProgress) {
|
|
34
|
+
options.onProgress({
|
|
35
|
+
phase: 'clearing',
|
|
36
|
+
current: i + 1,
|
|
37
|
+
total: staleModules.length,
|
|
38
|
+
currentFile: module.file
|
|
39
|
+
});
|
|
40
|
+
}
|
|
41
|
+
const cleared = await clearFileNodesIfNeeded(this.graph, module.file, touchedFiles);
|
|
42
|
+
nodesCleared += cleared;
|
|
43
|
+
}
|
|
44
|
+
// STEP 2: Re-create MODULE nodes with updated hash
|
|
45
|
+
const modulesToAnalyze = [];
|
|
46
|
+
for (let i = 0; i < modifiedModules.length; i++) {
|
|
47
|
+
const module = modifiedModules[i];
|
|
48
|
+
const relativePath = relative(this.projectPath, module.file);
|
|
49
|
+
if (options.onProgress) {
|
|
50
|
+
options.onProgress({
|
|
51
|
+
phase: 'indexing',
|
|
52
|
+
current: i + 1,
|
|
53
|
+
total: modifiedModules.length,
|
|
54
|
+
currentFile: module.file
|
|
55
|
+
});
|
|
56
|
+
}
|
|
57
|
+
const moduleNode = {
|
|
58
|
+
id: module.id,
|
|
59
|
+
type: 'MODULE',
|
|
60
|
+
name: relativePath,
|
|
61
|
+
file: module.file,
|
|
62
|
+
contentHash: module.currentHash,
|
|
63
|
+
line: 0
|
|
64
|
+
};
|
|
65
|
+
await this.graph.addNode(moduleNode);
|
|
66
|
+
nodesCreated++;
|
|
67
|
+
modulesToAnalyze.push(moduleNode);
|
|
68
|
+
}
|
|
69
|
+
// STEP 3: Run JSASTAnalyzer for each module
|
|
70
|
+
const analyzer = new JSASTAnalyzer();
|
|
71
|
+
for (let i = 0; i < modulesToAnalyze.length; i++) {
|
|
72
|
+
const module = modulesToAnalyze[i];
|
|
73
|
+
if (options.onProgress) {
|
|
74
|
+
options.onProgress({
|
|
75
|
+
phase: 'analysis',
|
|
76
|
+
current: i + 1,
|
|
77
|
+
total: modulesToAnalyze.length,
|
|
78
|
+
currentFile: module.file
|
|
79
|
+
});
|
|
80
|
+
}
|
|
81
|
+
try {
|
|
82
|
+
const result = await analyzer.analyzeModule(module, this.graph, this.projectPath);
|
|
83
|
+
nodesCreated += result.nodes;
|
|
84
|
+
edgesCreated += result.edges;
|
|
85
|
+
}
|
|
86
|
+
catch (err) {
|
|
87
|
+
console.error(`[IncrementalReanalyzer] Failed to analyze ${module.file}:`, err.message);
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
// STEP 4: Re-run enrichment plugins
|
|
91
|
+
if (!options.skipEnrichment && modulesToAnalyze.length > 0) {
|
|
92
|
+
if (options.onProgress) {
|
|
93
|
+
options.onProgress({ phase: 'enrichment', current: 0, total: 2 });
|
|
94
|
+
}
|
|
95
|
+
const pluginContext = {
|
|
96
|
+
graph: this.graph,
|
|
97
|
+
manifest: { projectPath: this.projectPath },
|
|
98
|
+
config: { projectPath: this.projectPath }
|
|
99
|
+
};
|
|
100
|
+
const instanceOfResolver = new InstanceOfResolver();
|
|
101
|
+
try {
|
|
102
|
+
const result1 = await instanceOfResolver.execute(pluginContext);
|
|
103
|
+
edgesCreated += result1.created.edges;
|
|
104
|
+
}
|
|
105
|
+
catch (err) {
|
|
106
|
+
console.error(`[IncrementalReanalyzer] InstanceOfResolver error:`, err.message);
|
|
107
|
+
}
|
|
108
|
+
if (options.onProgress) {
|
|
109
|
+
options.onProgress({ phase: 'enrichment', current: 1, total: 2 });
|
|
110
|
+
}
|
|
111
|
+
const importExportLinker = new ImportExportLinker();
|
|
112
|
+
try {
|
|
113
|
+
const result2 = await importExportLinker.execute(pluginContext);
|
|
114
|
+
edgesCreated += result2.created.edges;
|
|
115
|
+
}
|
|
116
|
+
catch (err) {
|
|
117
|
+
console.error(`[IncrementalReanalyzer] ImportExportLinker error:`, err.message);
|
|
118
|
+
}
|
|
119
|
+
if (options.onProgress) {
|
|
120
|
+
options.onProgress({ phase: 'enrichment', current: 2, total: 2 });
|
|
121
|
+
}
|
|
122
|
+
}
|
|
123
|
+
return {
|
|
124
|
+
modulesReanalyzed: modulesToAnalyze.length,
|
|
125
|
+
modulesDeleted: deletedModules.length,
|
|
126
|
+
nodesCreated,
|
|
127
|
+
edgesCreated,
|
|
128
|
+
nodesCleared,
|
|
129
|
+
durationMs: Date.now() - startTime
|
|
130
|
+
};
|
|
131
|
+
}
|
|
132
|
+
}
|
|
@@ -8,8 +8,9 @@
|
|
|
8
8
|
*
|
|
9
9
|
* Delegates creation to node contracts from ./nodes/
|
|
10
10
|
*/
|
|
11
|
-
import { type EntrypointType, type EntrypointTrigger } from './nodes/index.js';
|
|
12
|
-
import type { BaseNodeRecord } from '@grafema/types';
|
|
11
|
+
import { type EntrypointType, type EntrypointTrigger, type DecoratorTargetType, type InterfacePropertyRecord, type EnumMemberRecord, type IssueSeverity } from './nodes/index.js';
|
|
12
|
+
import type { BaseNodeRecord, BrandedNode } from '@grafema/types';
|
|
13
|
+
import type { ScopeContext } from './SemanticId.js';
|
|
13
14
|
interface ServiceOptions {
|
|
14
15
|
version?: string;
|
|
15
16
|
entrypoint?: string;
|
|
@@ -34,6 +35,10 @@ interface ModuleOptions {
|
|
|
34
35
|
contentHash?: string;
|
|
35
36
|
isTest?: boolean;
|
|
36
37
|
}
|
|
38
|
+
interface ModuleContextOptions {
|
|
39
|
+
contentHash?: string;
|
|
40
|
+
isTest?: boolean;
|
|
41
|
+
}
|
|
37
42
|
interface FunctionOptions {
|
|
38
43
|
async?: boolean;
|
|
39
44
|
generator?: boolean;
|
|
@@ -76,6 +81,16 @@ interface LiteralOptions {
|
|
|
76
81
|
argIndex?: number;
|
|
77
82
|
counter?: number;
|
|
78
83
|
}
|
|
84
|
+
interface ObjectLiteralOptions {
|
|
85
|
+
parentCallId?: string;
|
|
86
|
+
argIndex?: number;
|
|
87
|
+
counter?: number;
|
|
88
|
+
}
|
|
89
|
+
interface ArrayLiteralOptions {
|
|
90
|
+
parentCallId?: string;
|
|
91
|
+
argIndex?: number;
|
|
92
|
+
counter?: number;
|
|
93
|
+
}
|
|
79
94
|
interface EventListenerOptions {
|
|
80
95
|
column?: number;
|
|
81
96
|
parentScopeId?: string;
|
|
@@ -90,63 +105,256 @@ interface HttpRequestOptions {
|
|
|
90
105
|
interface DatabaseQueryOptions {
|
|
91
106
|
parentScopeId?: string;
|
|
92
107
|
}
|
|
108
|
+
interface ImportOptions {
|
|
109
|
+
importType?: 'default' | 'named' | 'namespace';
|
|
110
|
+
importBinding?: 'value' | 'type' | 'typeof';
|
|
111
|
+
imported?: string;
|
|
112
|
+
local?: string;
|
|
113
|
+
}
|
|
114
|
+
interface ClassOptions {
|
|
115
|
+
exported?: boolean;
|
|
116
|
+
superClass?: string;
|
|
117
|
+
methods?: string[];
|
|
118
|
+
isInstantiationRef?: boolean;
|
|
119
|
+
}
|
|
120
|
+
interface ExportOptions {
|
|
121
|
+
exportKind?: 'value' | 'type';
|
|
122
|
+
local?: string;
|
|
123
|
+
default?: boolean;
|
|
124
|
+
source?: string;
|
|
125
|
+
exportType?: 'default' | 'named' | 'all';
|
|
126
|
+
}
|
|
127
|
+
interface InterfaceOptions {
|
|
128
|
+
extends?: string[];
|
|
129
|
+
properties?: InterfacePropertyRecord[];
|
|
130
|
+
isExternal?: boolean;
|
|
131
|
+
}
|
|
132
|
+
interface TypeOptions {
|
|
133
|
+
aliasOf?: string;
|
|
134
|
+
}
|
|
135
|
+
interface EnumOptions {
|
|
136
|
+
isConst?: boolean;
|
|
137
|
+
members?: EnumMemberRecord[];
|
|
138
|
+
}
|
|
139
|
+
interface DecoratorOptions {
|
|
140
|
+
arguments?: unknown[];
|
|
141
|
+
}
|
|
142
|
+
interface ExpressionOptions {
|
|
143
|
+
object?: string;
|
|
144
|
+
property?: string;
|
|
145
|
+
computed?: boolean;
|
|
146
|
+
computedPropertyVar?: string;
|
|
147
|
+
operator?: string;
|
|
148
|
+
path?: string;
|
|
149
|
+
baseName?: string;
|
|
150
|
+
propertyPath?: string[];
|
|
151
|
+
arrayIndex?: number;
|
|
152
|
+
}
|
|
153
|
+
interface ArgumentExpressionOptions extends ExpressionOptions {
|
|
154
|
+
parentCallId: string;
|
|
155
|
+
argIndex: number;
|
|
156
|
+
counter?: number;
|
|
157
|
+
}
|
|
93
158
|
export declare class NodeFactory {
|
|
94
159
|
/**
|
|
95
160
|
* Create SERVICE node
|
|
96
161
|
*/
|
|
97
|
-
static createService(name: string, projectPath: string, options?: ServiceOptions): import("./nodes/ServiceNode.js").ServiceNodeRecord
|
|
162
|
+
static createService(name: string, projectPath: string, options?: ServiceOptions): BrandedNode<import("./nodes/ServiceNode.js").ServiceNodeRecord>;
|
|
98
163
|
/**
|
|
99
164
|
* Create ENTRYPOINT node
|
|
100
165
|
*/
|
|
101
|
-
static createEntrypoint(file: string, entrypointType: EntrypointType, options?: EntrypointOptions): import("./nodes/EntrypointNode.js").EntrypointNodeRecord
|
|
166
|
+
static createEntrypoint(file: string, entrypointType: EntrypointType, options?: EntrypointOptions): BrandedNode<import("./nodes/EntrypointNode.js").EntrypointNodeRecord>;
|
|
167
|
+
/**
|
|
168
|
+
* Create MODULE node (LEGACY)
|
|
169
|
+
*/
|
|
170
|
+
static createModule(filePath: string, projectPath: string, options?: ModuleOptions): BrandedNode<import("./nodes/ModuleNode.js").ModuleNodeRecord>;
|
|
102
171
|
/**
|
|
103
|
-
* Create MODULE node
|
|
172
|
+
* Create MODULE node with semantic ID (NEW API)
|
|
173
|
+
*
|
|
174
|
+
* Uses ScopeContext for stable identifiers.
|
|
175
|
+
*
|
|
176
|
+
* @param context - Scope context with file path (relative to project root)
|
|
177
|
+
* @param options - Optional contentHash and isTest flag
|
|
178
|
+
* @returns ModuleNodeRecord with semantic ID
|
|
104
179
|
*/
|
|
105
|
-
static
|
|
180
|
+
static createModuleWithContext(context: ScopeContext, options?: ModuleContextOptions): BrandedNode<import("./nodes/ModuleNode.js").ModuleNodeRecord>;
|
|
106
181
|
/**
|
|
107
182
|
* Create FUNCTION node
|
|
108
183
|
*/
|
|
109
|
-
static createFunction(name: string, file: string, line: number, column: number, options?: FunctionOptions): import("@grafema/types").FunctionNodeRecord
|
|
184
|
+
static createFunction(name: string, file: string, line: number, column: number, options?: FunctionOptions): BrandedNode<import("@grafema/types").FunctionNodeRecord>;
|
|
110
185
|
/**
|
|
111
186
|
* Create SCOPE node
|
|
112
187
|
*/
|
|
113
|
-
static createScope(scopeType: string, file: string, line: number, options?: ScopeOptions): import("./nodes/ScopeNode.js").ScopeNodeRecord
|
|
188
|
+
static createScope(scopeType: string, file: string, line: number, options?: ScopeOptions): BrandedNode<import("./nodes/ScopeNode.js").ScopeNodeRecord>;
|
|
114
189
|
/**
|
|
115
190
|
* Create CALL_SITE node
|
|
116
191
|
*/
|
|
117
|
-
static createCallSite(targetName: string, file: string, line: number, column: number, options?: CallSiteOptions): import("./nodes/CallSiteNode.js").CallSiteNodeRecord
|
|
192
|
+
static createCallSite(targetName: string, file: string, line: number, column: number, options?: CallSiteOptions): BrandedNode<import("./nodes/CallSiteNode.js").CallSiteNodeRecord>;
|
|
118
193
|
/**
|
|
119
194
|
* Create METHOD_CALL node
|
|
120
195
|
*/
|
|
121
|
-
static createMethodCall(objectName: string | undefined, methodName: string, file: string, line: number, column: number, options?: MethodCallOptions): import("./nodes/MethodCallNode.js").MethodCallNodeRecord
|
|
196
|
+
static createMethodCall(objectName: string | undefined, methodName: string, file: string, line: number, column: number, options?: MethodCallOptions): BrandedNode<import("./nodes/MethodCallNode.js").MethodCallNodeRecord>;
|
|
122
197
|
/**
|
|
123
198
|
* Create VARIABLE_DECLARATION node
|
|
124
199
|
*/
|
|
125
|
-
static createVariableDeclaration(name: string, file: string, line: number, column: number, options?: VariableOptions): import("./nodes/VariableDeclarationNode.js").VariableDeclarationNodeRecord
|
|
200
|
+
static createVariableDeclaration(name: string, file: string, line: number, column: number, options?: VariableOptions): BrandedNode<import("./nodes/VariableDeclarationNode.js").VariableDeclarationNodeRecord>;
|
|
126
201
|
/**
|
|
127
202
|
* Create CONSTANT node
|
|
128
203
|
*/
|
|
129
|
-
static createConstant(name: string, file: string, line: number, column: number, options?: ConstantOptions): import("./nodes/ConstantNode.js").ConstantNodeRecord
|
|
204
|
+
static createConstant(name: string, file: string, line: number, column: number, options?: ConstantOptions): BrandedNode<import("./nodes/ConstantNode.js").ConstantNodeRecord>;
|
|
130
205
|
/**
|
|
131
206
|
* Create LITERAL node
|
|
132
207
|
*/
|
|
133
|
-
static createLiteral(value: unknown, file: string, line: number, column: number, options?: LiteralOptions): import("./nodes/LiteralNode.js").LiteralNodeRecord
|
|
208
|
+
static createLiteral(value: unknown, file: string, line: number, column: number, options?: LiteralOptions): BrandedNode<import("./nodes/LiteralNode.js").LiteralNodeRecord>;
|
|
209
|
+
/**
|
|
210
|
+
* Create OBJECT_LITERAL node
|
|
211
|
+
*/
|
|
212
|
+
static createObjectLiteral(file: string, line: number, column: number, options?: ObjectLiteralOptions): BrandedNode<import("./nodes/ObjectLiteralNode.js").ObjectLiteralNodeRecord>;
|
|
213
|
+
/**
|
|
214
|
+
* Create ARRAY_LITERAL node
|
|
215
|
+
*/
|
|
216
|
+
static createArrayLiteral(file: string, line: number, column: number, options?: ArrayLiteralOptions): BrandedNode<import("./nodes/ArrayLiteralNode.js").ArrayLiteralNodeRecord>;
|
|
134
217
|
/**
|
|
135
218
|
* Create EXTERNAL_STDIO node (singleton)
|
|
136
219
|
*/
|
|
137
|
-
static createExternalStdio(): import("./nodes/ExternalStdioNode.js").ExternalStdioNodeRecord
|
|
220
|
+
static createExternalStdio(): BrandedNode<import("./nodes/ExternalStdioNode.js").ExternalStdioNodeRecord>;
|
|
221
|
+
/**
|
|
222
|
+
* Create net:request singleton node
|
|
223
|
+
*
|
|
224
|
+
* This node represents the external network as a system resource.
|
|
225
|
+
* Should be created once per graph.
|
|
226
|
+
*
|
|
227
|
+
* All HTTP_REQUEST nodes connect to this singleton via CALLS edges.
|
|
228
|
+
*
|
|
229
|
+
* @returns NetworkRequestNodeRecord - singleton node
|
|
230
|
+
*/
|
|
231
|
+
static createNetworkRequest(): BrandedNode<import("./nodes/NetworkRequestNode.js").NetworkRequestNodeRecord>;
|
|
138
232
|
/**
|
|
139
233
|
* Create EVENT_LISTENER node
|
|
140
234
|
*/
|
|
141
|
-
static createEventListener(eventName: string, objectName: string | undefined, file: string, line: number, options?: EventListenerOptions): import("./nodes/EventListenerNode.js").EventListenerNodeRecord
|
|
235
|
+
static createEventListener(eventName: string, objectName: string | undefined, file: string, line: number, options?: EventListenerOptions): BrandedNode<import("./nodes/EventListenerNode.js").EventListenerNodeRecord>;
|
|
142
236
|
/**
|
|
143
237
|
* Create HTTP_REQUEST node
|
|
144
238
|
*/
|
|
145
|
-
static createHttpRequest(url: string | undefined, method: string | undefined, file: string, line: number, options?: HttpRequestOptions): import("./nodes/HttpRequestNode.js").HttpRequestNodeRecord
|
|
239
|
+
static createHttpRequest(url: string | undefined, method: string | undefined, file: string, line: number, options?: HttpRequestOptions): BrandedNode<import("./nodes/HttpRequestNode.js").HttpRequestNodeRecord>;
|
|
146
240
|
/**
|
|
147
241
|
* Create DATABASE_QUERY node
|
|
148
242
|
*/
|
|
149
|
-
static createDatabaseQuery(query: string | undefined, operation: string | undefined, file: string, line: number, options?: DatabaseQueryOptions): import("./nodes/DatabaseQueryNode.js").DatabaseQueryNodeRecord
|
|
243
|
+
static createDatabaseQuery(query: string | undefined, operation: string | undefined, file: string, line: number, options?: DatabaseQueryOptions): BrandedNode<import("./nodes/DatabaseQueryNode.js").DatabaseQueryNodeRecord>;
|
|
244
|
+
/**
|
|
245
|
+
* Create IMPORT node
|
|
246
|
+
*
|
|
247
|
+
* ImportNode automatically detects importType from imported field:
|
|
248
|
+
* - imported === 'default' → importType: 'default'
|
|
249
|
+
* - imported === '*' → importType: 'namespace'
|
|
250
|
+
* - anything else → importType: 'named'
|
|
251
|
+
*
|
|
252
|
+
* @param name - Local binding name (how it's used in this file)
|
|
253
|
+
* @param file - Absolute file path
|
|
254
|
+
* @param line - Line number (for debugging, not part of ID)
|
|
255
|
+
* @param column - Column position (0 if unavailable)
|
|
256
|
+
* @param source - Source module (e.g., 'react', './utils')
|
|
257
|
+
* @param options - Optional fields
|
|
258
|
+
* @returns ImportNodeRecord
|
|
259
|
+
*/
|
|
260
|
+
static createImport(name: string, file: string, line: number, column: number, source: string, options?: ImportOptions): BrandedNode<import("./nodes/ImportNode.js").ImportNodeRecord>;
|
|
261
|
+
/**
|
|
262
|
+
* Create CLASS node
|
|
263
|
+
*/
|
|
264
|
+
static createClass(name: string, file: string, line: number, column: number, options?: ClassOptions): BrandedNode<import("./nodes/ClassNode.js").ClassNodeRecord>;
|
|
265
|
+
/**
|
|
266
|
+
* Create EXPORT node
|
|
267
|
+
*/
|
|
268
|
+
static createExport(name: string, file: string, line: number, column: number, options?: ExportOptions): BrandedNode<import("./nodes/ExportNode.js").ExportNodeRecord>;
|
|
269
|
+
/**
|
|
270
|
+
* Create EXTERNAL_MODULE node
|
|
271
|
+
*
|
|
272
|
+
* Represents external npm packages or Node.js built-in modules.
|
|
273
|
+
* Uses singleton pattern - same source always produces same ID.
|
|
274
|
+
*
|
|
275
|
+
* @param source - Module name (e.g., 'lodash', '@tanstack/react-query', 'node:fs')
|
|
276
|
+
*/
|
|
277
|
+
static createExternalModule(source: string): BrandedNode<import("./nodes/ExternalModuleNode.js").ExternalModuleNodeRecord>;
|
|
278
|
+
/**
|
|
279
|
+
* Create INTERFACE node
|
|
280
|
+
*/
|
|
281
|
+
static createInterface(name: string, file: string, line: number, column: number, options?: InterfaceOptions): BrandedNode<import("./nodes/InterfaceNode.js").InterfaceNodeRecord>;
|
|
282
|
+
/**
|
|
283
|
+
* Create TYPE node
|
|
284
|
+
*/
|
|
285
|
+
static createType(name: string, file: string, line: number, column: number, options?: TypeOptions): BrandedNode<import("./nodes/TypeNode.js").TypeNodeRecord>;
|
|
286
|
+
/**
|
|
287
|
+
* Create ENUM node
|
|
288
|
+
*/
|
|
289
|
+
static createEnum(name: string, file: string, line: number, column: number, options?: EnumOptions): BrandedNode<import("./nodes/EnumNode.js").EnumNodeRecord>;
|
|
290
|
+
/**
|
|
291
|
+
* Create DECORATOR node
|
|
292
|
+
*/
|
|
293
|
+
static createDecorator(name: string, file: string, line: number, column: number, targetId: string, targetType: DecoratorTargetType, options?: DecoratorOptions): BrandedNode<import("./nodes/DecoratorNode.js").DecoratorNodeRecord>;
|
|
294
|
+
/**
|
|
295
|
+
* Create EXPRESSION node
|
|
296
|
+
*/
|
|
297
|
+
static createExpression(expressionType: string, file: string, line: number, column: number, options?: ExpressionOptions): BrandedNode<import("./nodes/ExpressionNode.js").ExpressionNodeRecord>;
|
|
298
|
+
/**
|
|
299
|
+
* Generate EXPRESSION node ID without creating the full node
|
|
300
|
+
*
|
|
301
|
+
* Used by JSASTAnalyzer when creating assignment metadata.
|
|
302
|
+
* The full node is created later by GraphBuilder.
|
|
303
|
+
*
|
|
304
|
+
* @param expressionType - Type of expression (MemberExpression, BinaryExpression, etc.)
|
|
305
|
+
* @param file - File path
|
|
306
|
+
* @param line - Line number
|
|
307
|
+
* @param column - Column position
|
|
308
|
+
* @returns Generated ID string in colon format
|
|
309
|
+
*/
|
|
310
|
+
static generateExpressionId(expressionType: string, file: string, line: number, column: number): string;
|
|
311
|
+
/**
|
|
312
|
+
* Create EXPRESSION node from assignment metadata
|
|
313
|
+
*
|
|
314
|
+
* Used by GraphBuilder when processing variableAssignments.
|
|
315
|
+
* The ID is provided from upstream (generated by JSASTAnalyzer).
|
|
316
|
+
*
|
|
317
|
+
* @param expressionType - Type of expression
|
|
318
|
+
* @param file - File path
|
|
319
|
+
* @param line - Line number
|
|
320
|
+
* @param column - Column position
|
|
321
|
+
* @param options - Must include id; optional: expression properties
|
|
322
|
+
*/
|
|
323
|
+
static createExpressionFromMetadata(expressionType: string, file: string, line: number, column: number, options: ExpressionOptions & {
|
|
324
|
+
id: string;
|
|
325
|
+
}): BrandedNode<import("./nodes/ExpressionNode.js").ExpressionNodeRecord>;
|
|
326
|
+
/**
|
|
327
|
+
* Create EXPRESSION node with argument context
|
|
328
|
+
*
|
|
329
|
+
* Used when EXPRESSION appears as a call argument and we need to track
|
|
330
|
+
* which call and argument position for data flow analysis.
|
|
331
|
+
*
|
|
332
|
+
* @param expressionType - Type of expression (BinaryExpression, LogicalExpression, etc.)
|
|
333
|
+
* @param file - File path
|
|
334
|
+
* @param line - Line number
|
|
335
|
+
* @param column - Column position
|
|
336
|
+
* @param options - Required: parentCallId, argIndex; Optional: expression properties, counter
|
|
337
|
+
* @returns ArgumentExpressionNodeRecord
|
|
338
|
+
*/
|
|
339
|
+
static createArgumentExpression(expressionType: string, file: string, line: number, column: number, options: ArgumentExpressionOptions): BrandedNode<import("./nodes/ArgumentExpressionNode.js").ArgumentExpressionNodeRecord>;
|
|
340
|
+
/**
|
|
341
|
+
* Create ISSUE node
|
|
342
|
+
*
|
|
343
|
+
* Issues represent detected problems in the codebase.
|
|
344
|
+
* Used by validation plugins to persist findings in the graph.
|
|
345
|
+
*
|
|
346
|
+
* @param category - Issue category (security, performance, style, smell)
|
|
347
|
+
* @param severity - error | warning | info
|
|
348
|
+
* @param message - Human-readable description
|
|
349
|
+
* @param plugin - Name of the plugin that detected this issue
|
|
350
|
+
* @param file - File path where issue was detected
|
|
351
|
+
* @param line - Line number
|
|
352
|
+
* @param column - Column number (optional)
|
|
353
|
+
* @param options - Optional context data
|
|
354
|
+
*/
|
|
355
|
+
static createIssue(category: string, severity: IssueSeverity, message: string, plugin: string, file: string, line: number, column?: number, options?: {
|
|
356
|
+
context?: Record<string, unknown>;
|
|
357
|
+
}): BrandedNode<import("./nodes/IssueNode.js").IssueNodeRecord>;
|
|
150
358
|
/**
|
|
151
359
|
* Validate node by its type
|
|
152
360
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NodeFactory.d.ts","sourceRoot":"","sources":["../../src/core/NodeFactory.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAKH,OAAO,
|
|
1
|
+
{"version":3,"file":"NodeFactory.d.ts","sourceRoot":"","sources":["../../src/core/NodeFactory.ts"],"names":[],"mappings":"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"}
|