@grafema/core 0.1.0-alpha.5 → 0.2.0-beta
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +0 -1
- package/dist/Orchestrator.d.ts +31 -2
- package/dist/Orchestrator.d.ts.map +1 -1
- package/dist/Orchestrator.js +222 -27
- package/dist/config/ConfigLoader.d.ts +90 -0
- package/dist/config/ConfigLoader.d.ts.map +1 -0
- package/dist/config/ConfigLoader.js +249 -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/FileExplainer.d.ts +101 -0
- package/dist/core/FileExplainer.d.ts.map +1 -0
- package/dist/core/FileExplainer.js +139 -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 +266 -19
- package/dist/core/NodeFactory.d.ts.map +1 -1
- package/dist/core/NodeFactory.js +256 -21
- 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 +43 -0
- package/dist/core/nodes/BranchNode.d.ts +41 -0
- package/dist/core/nodes/BranchNode.d.ts.map +1 -0
- package/dist/core/nodes/BranchNode.js +82 -0
- package/dist/core/nodes/CallSiteNode.d.ts +30 -2
- package/dist/core/nodes/CallSiteNode.d.ts.map +1 -1
- package/dist/core/nodes/CallSiteNode.js +54 -4
- package/dist/core/nodes/CaseNode.d.ts +43 -0
- package/dist/core/nodes/CaseNode.d.ts.map +1 -0
- package/dist/core/nodes/CaseNode.js +81 -0
- package/dist/core/nodes/ClassNode.d.ts +34 -2
- package/dist/core/nodes/ClassNode.d.ts.map +1 -1
- package/dist/core/nodes/ClassNode.js +52 -4
- package/dist/core/nodes/ConstantNode.d.ts +2 -2
- package/dist/core/nodes/ConstantNode.d.ts.map +1 -1
- package/dist/core/nodes/ConstantNode.js +6 -4
- package/dist/core/nodes/ConstructorCallNode.d.ts +51 -0
- package/dist/core/nodes/ConstructorCallNode.d.ts.map +1 -0
- package/dist/core/nodes/ConstructorCallNode.js +171 -0
- package/dist/core/nodes/DatabaseQueryNode.d.ts +3 -2
- package/dist/core/nodes/DatabaseQueryNode.d.ts.map +1 -1
- package/dist/core/nodes/DatabaseQueryNode.js +5 -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 +64 -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 +56 -0
- package/dist/core/nodes/EventListenerNode.d.ts +4 -4
- package/dist/core/nodes/EventListenerNode.d.ts.map +1 -1
- package/dist/core/nodes/EventListenerNode.js +7 -4
- package/dist/core/nodes/ExportNode.d.ts +38 -2
- package/dist/core/nodes/ExportNode.d.ts.map +1 -1
- package/dist/core/nodes/ExportNode.js +54 -4
- 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 +180 -0
- package/dist/core/nodes/ExternalModuleNode.d.ts +32 -0
- package/dist/core/nodes/ExternalModuleNode.d.ts.map +1 -0
- package/dist/core/nodes/ExternalModuleNode.js +49 -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/HttpRequestNode.d.ts +4 -4
- package/dist/core/nodes/HttpRequestNode.d.ts.map +1 -1
- package/dist/core/nodes/HttpRequestNode.js +7 -4
- package/dist/core/nodes/ImportNode.d.ts +28 -6
- package/dist/core/nodes/ImportNode.d.ts.map +1 -1
- package/dist/core/nodes/ImportNode.js +43 -8
- 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 +57 -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/LiteralNode.d.ts +2 -2
- package/dist/core/nodes/LiteralNode.d.ts.map +1 -1
- package/dist/core/nodes/LiteralNode.js +6 -4
- package/dist/core/nodes/MethodCallNode.d.ts +32 -2
- package/dist/core/nodes/MethodCallNode.d.ts.map +1 -1
- package/dist/core/nodes/MethodCallNode.js +57 -4
- package/dist/core/nodes/MethodNode.d.ts +34 -2
- package/dist/core/nodes/MethodNode.d.ts.map +1 -1
- package/dist/core/nodes/MethodNode.js +55 -3
- 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 +43 -0
- package/dist/core/nodes/ParameterNode.d.ts +2 -2
- package/dist/core/nodes/ParameterNode.d.ts.map +1 -1
- package/dist/core/nodes/ParameterNode.js +5 -3
- 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 +55 -0
- package/dist/core/nodes/VariableDeclarationNode.d.ts +29 -2
- package/dist/core/nodes/VariableDeclarationNode.d.ts.map +1 -1
- package/dist/core/nodes/VariableDeclarationNode.js +48 -4
- package/dist/core/nodes/index.d.ts +15 -1
- package/dist/core/nodes/index.d.ts.map +1 -1
- package/dist/core/nodes/index.js +17 -0
- package/dist/data/builtins/BuiltinRegistry.d.ts +78 -0
- package/dist/data/builtins/BuiltinRegistry.d.ts.map +1 -0
- package/dist/data/builtins/BuiltinRegistry.js +110 -0
- package/dist/data/builtins/definitions.d.ts +28 -0
- package/dist/data/builtins/definitions.d.ts.map +1 -0
- package/dist/data/builtins/definitions.js +250 -0
- package/dist/data/builtins/index.d.ts +10 -0
- package/dist/data/builtins/index.d.ts.map +1 -0
- package/dist/data/builtins/index.js +8 -0
- package/dist/data/builtins/jsGlobals.d.ts +18 -0
- package/dist/data/builtins/jsGlobals.d.ts.map +1 -0
- package/dist/data/builtins/jsGlobals.js +26 -0
- package/dist/data/builtins/types.d.ts +34 -0
- package/dist/data/builtins/types.d.ts.map +1 -0
- package/dist/data/builtins/types.js +7 -0
- package/dist/data/globals/definitions.d.ts +27 -0
- package/dist/data/globals/definitions.d.ts.map +1 -0
- package/dist/data/globals/definitions.js +117 -0
- package/dist/data/globals/index.d.ts +36 -0
- package/dist/data/globals/index.d.ts.map +1 -0
- package/dist/data/globals/index.js +52 -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 +100 -0
- package/dist/diagnostics/DiagnosticReporter.d.ts.map +1 -0
- package/dist/diagnostics/DiagnosticReporter.js +247 -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 +161 -0
- package/dist/errors/GrafemaError.d.ts.map +1 -0
- package/dist/errors/GrafemaError.js +181 -0
- package/dist/index.d.ts +73 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +70 -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 +14 -6
- package/dist/plugins/analysis/ExpressAnalyzer.d.ts.map +1 -1
- package/dist/plugins/analysis/ExpressAnalyzer.js +29 -19
- package/dist/plugins/analysis/ExpressResponseAnalyzer.d.ts +148 -0
- package/dist/plugins/analysis/ExpressResponseAnalyzer.d.ts.map +1 -0
- package/dist/plugins/analysis/ExpressResponseAnalyzer.js +495 -0
- package/dist/plugins/analysis/ExpressRouteAnalyzer.d.ts.map +1 -1
- package/dist/plugins/analysis/ExpressRouteAnalyzer.js +71 -29
- package/dist/plugins/analysis/FetchAnalyzer.d.ts +41 -0
- package/dist/plugins/analysis/FetchAnalyzer.d.ts.map +1 -1
- package/dist/plugins/analysis/FetchAnalyzer.js +187 -19
- 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 +313 -19
- package/dist/plugins/analysis/JSASTAnalyzer.d.ts.map +1 -1
- package/dist/plugins/analysis/JSASTAnalyzer.js +3430 -503
- 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 +16 -11
- package/dist/plugins/analysis/SQLiteAnalyzer.d.ts.map +1 -1
- package/dist/plugins/analysis/SQLiteAnalyzer.js +11 -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 +9 -0
- package/dist/plugins/analysis/SocketIOAnalyzer.d.ts.map +1 -1
- package/dist/plugins/analysis/SocketIOAnalyzer.js +117 -21
- 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 +207 -4
- package/dist/plugins/analysis/ast/GraphBuilder.d.ts.map +1 -1
- package/dist/plugins/analysis/ast/GraphBuilder.js +1527 -316
- 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 +470 -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 +14 -5
- 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 +100 -9
- package/dist/plugins/analysis/ast/visitors/CallExpressionVisitor.d.ts.map +1 -1
- package/dist/plugins/analysis/ast/visitors/CallExpressionVisitor.js +674 -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 +14 -1
- package/dist/plugins/analysis/ast/visitors/FunctionVisitor.d.ts.map +1 -1
- package/dist/plugins/analysis/ast/visitors/FunctionVisitor.js +190 -63
- package/dist/plugins/analysis/ast/visitors/ImportExportVisitor.d.ts +4 -0
- package/dist/plugins/analysis/ast/visitors/ImportExportVisitor.d.ts.map +1 -1
- package/dist/plugins/analysis/ast/visitors/ImportExportVisitor.js +112 -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 +20 -2
- package/dist/plugins/analysis/ast/visitors/VariableVisitor.d.ts.map +1 -1
- package/dist/plugins/analysis/ast/visitors/VariableVisitor.js +243 -45
- 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 +141 -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 +29 -8
- package/dist/plugins/enrichment/ArgumentParameterLinker.d.ts +32 -0
- package/dist/plugins/enrichment/ArgumentParameterLinker.d.ts.map +1 -0
- package/dist/plugins/enrichment/ArgumentParameterLinker.js +175 -0
- package/dist/plugins/enrichment/ClosureCaptureEnricher.d.ts +51 -0
- package/dist/plugins/enrichment/ClosureCaptureEnricher.d.ts.map +1 -0
- package/dist/plugins/enrichment/ClosureCaptureEnricher.js +205 -0
- package/dist/plugins/enrichment/ExternalCallResolver.d.ts +42 -0
- package/dist/plugins/enrichment/ExternalCallResolver.d.ts.map +1 -0
- package/dist/plugins/enrichment/ExternalCallResolver.js +213 -0
- package/dist/plugins/enrichment/FunctionCallResolver.d.ts +58 -0
- package/dist/plugins/enrichment/FunctionCallResolver.d.ts.map +1 -0
- package/dist/plugins/enrichment/FunctionCallResolver.js +340 -0
- package/dist/plugins/enrichment/HTTPConnectionEnricher.d.ts +16 -3
- package/dist/plugins/enrichment/HTTPConnectionEnricher.d.ts.map +1 -1
- package/dist/plugins/enrichment/HTTPConnectionEnricher.js +78 -27
- 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 +33 -13
- package/dist/plugins/enrichment/MountPointResolver.d.ts +14 -12
- package/dist/plugins/enrichment/MountPointResolver.d.ts.map +1 -1
- package/dist/plugins/enrichment/MountPointResolver.js +173 -147
- package/dist/plugins/enrichment/NodejsBuiltinsResolver.d.ts +44 -0
- package/dist/plugins/enrichment/NodejsBuiltinsResolver.d.ts.map +1 -0
- package/dist/plugins/enrichment/NodejsBuiltinsResolver.js +271 -0
- 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 +22 -27
- package/dist/plugins/enrichment/ValueDomainAnalyzer.d.ts.map +1 -1
- package/dist/plugins/enrichment/ValueDomainAnalyzer.js +185 -143
- 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 +15 -0
- package/dist/plugins/indexing/JSModuleIndexer.d.ts.map +1 -1
- package/dist/plugins/indexing/JSModuleIndexer.js +121 -31
- package/dist/plugins/indexing/RustModuleIndexer.d.ts +1 -1
- package/dist/plugins/indexing/RustModuleIndexer.d.ts.map +1 -1
- package/dist/plugins/indexing/RustModuleIndexer.js +8 -7
- 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/BrokenImportValidator.d.ts +31 -0
- package/dist/plugins/validation/BrokenImportValidator.d.ts.map +1 -0
- package/dist/plugins/validation/BrokenImportValidator.js +249 -0
- package/dist/plugins/validation/CallResolverValidator.d.ts +21 -10
- package/dist/plugins/validation/CallResolverValidator.d.ts.map +1 -1
- package/dist/plugins/validation/CallResolverValidator.js +103 -77
- package/dist/plugins/validation/DataFlowValidator.d.ts.map +1 -1
- package/dist/plugins/validation/DataFlowValidator.js +62 -49
- 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 +44 -24
- 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 +61 -19
- 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/queries/findCallsInFunction.d.ts +52 -0
- package/dist/queries/findCallsInFunction.d.ts.map +1 -0
- package/dist/queries/findCallsInFunction.js +135 -0
- package/dist/queries/findContainingFunction.d.ts +45 -0
- package/dist/queries/findContainingFunction.d.ts.map +1 -0
- package/dist/queries/findContainingFunction.js +54 -0
- package/dist/queries/index.d.ts +14 -0
- package/dist/queries/index.d.ts.map +1 -0
- package/dist/queries/index.js +11 -0
- package/dist/queries/traceValues.d.ts +70 -0
- package/dist/queries/traceValues.d.ts.map +1 -0
- package/dist/queries/traceValues.js +299 -0
- package/dist/queries/types.d.ts +163 -0
- package/dist/queries/types.d.ts.map +1 -0
- package/dist/queries/types.js +9 -0
- package/dist/schema/GraphSchemaExtractor.d.ts +53 -0
- package/dist/schema/GraphSchemaExtractor.d.ts.map +1 -0
- package/dist/schema/GraphSchemaExtractor.js +124 -0
- package/dist/schema/InterfaceSchemaExtractor.d.ts +73 -0
- package/dist/schema/InterfaceSchemaExtractor.d.ts.map +1 -0
- package/dist/schema/InterfaceSchemaExtractor.js +112 -0
- package/dist/schema/index.d.ts +5 -0
- package/dist/schema/index.d.ts.map +1 -0
- package/dist/schema/index.js +2 -0
- package/dist/storage/backends/RFDBServerBackend.d.ts +21 -34
- package/dist/storage/backends/RFDBServerBackend.d.ts.map +1 -1
- package/dist/storage/backends/RFDBServerBackend.js +72 -62
- package/dist/storage/backends/typeValidation.d.ts.map +1 -1
- package/dist/storage/backends/typeValidation.js +1 -0
- package/dist/validation/PathValidator.d.ts +1 -2
- package/dist/validation/PathValidator.d.ts.map +1 -1
- package/package.json +3 -3
- package/src/Orchestrator.ts +272 -27
- package/src/config/ConfigLoader.ts +354 -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/FileExplainer.ts +179 -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 +470 -23
- 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 +66 -0
- package/src/core/nodes/BranchNode.ts +113 -0
- package/src/core/nodes/CallSiteNode.ts +64 -4
- package/src/core/nodes/CaseNode.ts +123 -0
- package/src/core/nodes/ClassNode.ts +67 -4
- package/src/core/nodes/ConstantNode.ts +5 -4
- package/src/core/nodes/ConstructorCallNode.ts +217 -0
- package/src/core/nodes/DatabaseQueryNode.ts +5 -1
- package/src/core/nodes/DecoratorNode.ts +92 -0
- package/src/core/nodes/EnumNode.ts +87 -0
- package/src/core/nodes/EventListenerNode.ts +7 -4
- package/src/core/nodes/ExportNode.ts +74 -4
- package/src/core/nodes/ExpressionNode.ts +232 -0
- package/src/core/nodes/ExternalModuleNode.ts +65 -0
- package/src/core/nodes/ExternalStdioNode.ts +17 -9
- package/src/core/nodes/FunctionNode.ts +101 -1
- package/src/core/nodes/HttpRequestNode.ts +7 -4
- package/src/core/nodes/ImportNode.ts +62 -13
- package/src/core/nodes/InterfaceNode.ts +92 -0
- package/src/core/nodes/IssueNode.ts +177 -0
- package/src/core/nodes/LiteralNode.ts +5 -4
- package/src/core/nodes/MethodCallNode.ts +70 -4
- package/src/core/nodes/MethodNode.ts +68 -3
- package/src/core/nodes/ModuleNode.ts +50 -0
- package/src/core/nodes/NetworkRequestNode.ts +77 -0
- package/src/core/nodes/ObjectLiteralNode.ts +66 -0
- package/src/core/nodes/ParameterNode.ts +4 -3
- package/src/core/nodes/ScopeNode.ts +65 -0
- package/src/core/nodes/TypeNode.ts +79 -0
- package/src/core/nodes/VariableDeclarationNode.ts +58 -4
- package/src/core/nodes/index.ts +21 -1
- package/src/data/builtins/BuiltinRegistry.ts +124 -0
- package/src/data/builtins/definitions.ts +267 -0
- package/src/data/builtins/index.ts +10 -0
- package/src/data/builtins/jsGlobals.ts +28 -0
- package/src/data/builtins/types.ts +36 -0
- package/src/data/globals/definitions.ts +156 -0
- package/src/data/globals/index.ts +66 -0
- package/src/diagnostics/DiagnosticCollector.ts +163 -0
- package/src/diagnostics/DiagnosticReporter.ts +324 -0
- package/src/diagnostics/DiagnosticWriter.ts +50 -0
- package/src/diagnostics/index.ts +16 -0
- package/src/errors/GrafemaError.ts +239 -0
- package/src/index.ts +193 -1
- package/src/logging/Logger.ts +152 -0
- package/src/plugins/Plugin.ts +42 -0
- package/src/plugins/analysis/DatabaseAnalyzer.ts +16 -8
- package/src/plugins/analysis/ExpressAnalyzer.ts +33 -19
- package/src/plugins/analysis/ExpressResponseAnalyzer.ts +636 -0
- package/src/plugins/analysis/ExpressRouteAnalyzer.ts +76 -36
- package/src/plugins/analysis/FetchAnalyzer.ts +232 -21
- package/src/plugins/analysis/IncrementalAnalysisPlugin.ts +84 -101
- package/src/plugins/analysis/JSASTAnalyzer.ts +4265 -587
- package/src/plugins/analysis/ReactAnalyzer.ts +57 -57
- package/src/plugins/analysis/RustAnalyzer.ts +16 -11
- package/src/plugins/analysis/SQLiteAnalyzer.ts +13 -7
- package/src/plugins/analysis/ServiceLayerAnalyzer.ts +22 -16
- package/src/plugins/analysis/SocketIOAnalyzer.ts +151 -28
- package/src/plugins/analysis/SystemDbAnalyzer.ts +16 -11
- package/src/plugins/analysis/ast/GraphBuilder.ts +1947 -327
- package/src/plugins/analysis/ast/IdGenerator.ts +177 -0
- package/src/plugins/analysis/ast/types.ts +596 -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 +19 -8
- package/src/plugins/analysis/ast/visitors/CallExpressionVisitor.ts +924 -83
- package/src/plugins/analysis/ast/visitors/ClassVisitor.ts +97 -44
- package/src/plugins/analysis/ast/visitors/FunctionVisitor.ts +234 -93
- package/src/plugins/analysis/ast/visitors/ImportExportVisitor.ts +124 -9
- package/src/plugins/analysis/ast/visitors/TypeScriptVisitor.ts +41 -14
- package/src/plugins/analysis/ast/visitors/VariableVisitor.ts +294 -49
- package/src/plugins/discovery/MonorepoServiceDiscovery.ts +3 -2
- package/src/plugins/discovery/SimpleProjectDiscovery.ts +6 -1
- package/src/plugins/discovery/WorkspaceDiscovery.ts +184 -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 +35 -8
- package/src/plugins/enrichment/ArgumentParameterLinker.ts +240 -0
- package/src/plugins/enrichment/ClosureCaptureEnricher.ts +267 -0
- package/src/plugins/enrichment/ExternalCallResolver.ts +262 -0
- package/src/plugins/enrichment/FunctionCallResolver.ts +456 -0
- package/src/plugins/enrichment/HTTPConnectionEnricher.ts +84 -27
- package/src/plugins/enrichment/ImportExportLinker.ts +24 -6
- package/src/plugins/enrichment/MethodCallResolver.ts +39 -13
- package/src/plugins/enrichment/MountPointResolver.ts +208 -195
- package/src/plugins/enrichment/NodejsBuiltinsResolver.ts +365 -0
- package/src/plugins/enrichment/PrefixEvaluator.ts +16 -7
- package/src/plugins/enrichment/RustFFIEnricher.ts +6 -5
- package/src/plugins/enrichment/ValueDomainAnalyzer.ts +209 -189
- package/src/plugins/indexing/IncrementalModuleIndexer.ts +23 -14
- package/src/plugins/indexing/JSModuleIndexer.ts +140 -34
- package/src/plugins/indexing/RustModuleIndexer.ts +8 -7
- package/src/plugins/validation/BrokenImportValidator.ts +325 -0
- package/src/plugins/validation/CallResolverValidator.ts +131 -110
- package/src/plugins/validation/DataFlowValidator.ts +88 -67
- package/src/plugins/validation/EvalBanValidator.ts +17 -16
- package/src/plugins/validation/GraphConnectivityValidator.ts +58 -24
- package/src/plugins/validation/NodeCreationValidator.ts +554 -0
- package/src/plugins/validation/SQLInjectionValidator.ts +63 -20
- 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/queries/README.md +46 -0
- package/src/queries/findCallsInFunction.ts +206 -0
- package/src/queries/findContainingFunction.ts +83 -0
- package/src/queries/index.ts +23 -0
- package/src/queries/traceValues.ts +398 -0
- package/src/queries/types.ts +187 -0
- package/src/schema/GraphSchemaExtractor.ts +177 -0
- package/src/schema/InterfaceSchemaExtractor.ts +173 -0
- package/src/schema/index.ts +5 -0
- package/src/storage/backends/RFDBServerBackend.ts +100 -98
- package/src/storage/backends/typeValidation.ts +1 -0
- 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;
|
|
@@ -62,6 +67,9 @@ interface MethodCallOptions {
|
|
|
62
67
|
args?: unknown[];
|
|
63
68
|
counter?: number;
|
|
64
69
|
}
|
|
70
|
+
interface ConstructorCallOptions {
|
|
71
|
+
counter?: number;
|
|
72
|
+
}
|
|
65
73
|
interface VariableOptions {
|
|
66
74
|
parentScopeId?: string;
|
|
67
75
|
counter?: number;
|
|
@@ -76,77 +84,316 @@ interface LiteralOptions {
|
|
|
76
84
|
argIndex?: number;
|
|
77
85
|
counter?: number;
|
|
78
86
|
}
|
|
87
|
+
interface ObjectLiteralOptions {
|
|
88
|
+
parentCallId?: string;
|
|
89
|
+
argIndex?: number;
|
|
90
|
+
counter?: number;
|
|
91
|
+
}
|
|
92
|
+
interface ArrayLiteralOptions {
|
|
93
|
+
parentCallId?: string;
|
|
94
|
+
argIndex?: number;
|
|
95
|
+
counter?: number;
|
|
96
|
+
}
|
|
79
97
|
interface EventListenerOptions {
|
|
80
|
-
column?: number;
|
|
81
98
|
parentScopeId?: string;
|
|
82
99
|
callbackArg?: string;
|
|
83
100
|
counter?: number;
|
|
84
101
|
}
|
|
85
102
|
interface HttpRequestOptions {
|
|
86
|
-
column?: number;
|
|
87
103
|
parentScopeId?: string;
|
|
88
104
|
counter?: number;
|
|
89
105
|
}
|
|
90
106
|
interface DatabaseQueryOptions {
|
|
91
107
|
parentScopeId?: string;
|
|
92
108
|
}
|
|
109
|
+
interface ImportOptions {
|
|
110
|
+
importType?: 'default' | 'named' | 'namespace';
|
|
111
|
+
importBinding?: 'value' | 'type' | 'typeof';
|
|
112
|
+
imported?: string;
|
|
113
|
+
local?: string;
|
|
114
|
+
}
|
|
115
|
+
interface ClassOptions {
|
|
116
|
+
exported?: boolean;
|
|
117
|
+
superClass?: string;
|
|
118
|
+
methods?: string[];
|
|
119
|
+
isInstantiationRef?: boolean;
|
|
120
|
+
}
|
|
121
|
+
interface ExportOptions {
|
|
122
|
+
exportKind?: 'value' | 'type';
|
|
123
|
+
local?: string;
|
|
124
|
+
default?: boolean;
|
|
125
|
+
source?: string;
|
|
126
|
+
exportType?: 'default' | 'named' | 'all';
|
|
127
|
+
}
|
|
128
|
+
interface InterfaceOptions {
|
|
129
|
+
extends?: string[];
|
|
130
|
+
properties?: InterfacePropertyRecord[];
|
|
131
|
+
isExternal?: boolean;
|
|
132
|
+
}
|
|
133
|
+
interface TypeOptions {
|
|
134
|
+
aliasOf?: string;
|
|
135
|
+
}
|
|
136
|
+
interface EnumOptions {
|
|
137
|
+
isConst?: boolean;
|
|
138
|
+
members?: EnumMemberRecord[];
|
|
139
|
+
}
|
|
140
|
+
interface DecoratorOptions {
|
|
141
|
+
arguments?: unknown[];
|
|
142
|
+
}
|
|
143
|
+
interface ExpressionOptions {
|
|
144
|
+
object?: string;
|
|
145
|
+
property?: string;
|
|
146
|
+
computed?: boolean;
|
|
147
|
+
computedPropertyVar?: string;
|
|
148
|
+
operator?: string;
|
|
149
|
+
path?: string;
|
|
150
|
+
baseName?: string;
|
|
151
|
+
propertyPath?: string[];
|
|
152
|
+
arrayIndex?: number;
|
|
153
|
+
}
|
|
154
|
+
interface ArgumentExpressionOptions extends ExpressionOptions {
|
|
155
|
+
parentCallId: string;
|
|
156
|
+
argIndex: number;
|
|
157
|
+
counter?: number;
|
|
158
|
+
}
|
|
93
159
|
export declare class NodeFactory {
|
|
94
160
|
/**
|
|
95
161
|
* Create SERVICE node
|
|
96
162
|
*/
|
|
97
|
-
static createService(name: string, projectPath: string, options?: ServiceOptions): import("./nodes/ServiceNode.js").ServiceNodeRecord
|
|
163
|
+
static createService(name: string, projectPath: string, options?: ServiceOptions): BrandedNode<import("./nodes/ServiceNode.js").ServiceNodeRecord>;
|
|
98
164
|
/**
|
|
99
165
|
* Create ENTRYPOINT node
|
|
100
166
|
*/
|
|
101
|
-
static createEntrypoint(file: string, entrypointType: EntrypointType, options?: EntrypointOptions): import("./nodes/EntrypointNode.js").EntrypointNodeRecord
|
|
167
|
+
static createEntrypoint(file: string, entrypointType: EntrypointType, options?: EntrypointOptions): BrandedNode<import("./nodes/EntrypointNode.js").EntrypointNodeRecord>;
|
|
168
|
+
/**
|
|
169
|
+
* Create MODULE node (LEGACY)
|
|
170
|
+
*/
|
|
171
|
+
static createModule(filePath: string, projectPath: string, options?: ModuleOptions): BrandedNode<import("./nodes/ModuleNode.js").ModuleNodeRecord>;
|
|
102
172
|
/**
|
|
103
|
-
* Create MODULE node
|
|
173
|
+
* Create MODULE node with semantic ID (NEW API)
|
|
174
|
+
*
|
|
175
|
+
* Uses ScopeContext for stable identifiers.
|
|
176
|
+
*
|
|
177
|
+
* @param context - Scope context with file path (relative to project root)
|
|
178
|
+
* @param options - Optional contentHash and isTest flag
|
|
179
|
+
* @returns ModuleNodeRecord with semantic ID
|
|
104
180
|
*/
|
|
105
|
-
static
|
|
181
|
+
static createModuleWithContext(context: ScopeContext, options?: ModuleContextOptions): BrandedNode<import("./nodes/ModuleNode.js").ModuleNodeRecord>;
|
|
106
182
|
/**
|
|
107
183
|
* Create FUNCTION node
|
|
108
184
|
*/
|
|
109
|
-
static createFunction(name: string, file: string, line: number, column: number, options?: FunctionOptions): import("@grafema/types").FunctionNodeRecord
|
|
185
|
+
static createFunction(name: string, file: string, line: number, column: number, options?: FunctionOptions): BrandedNode<import("@grafema/types").FunctionNodeRecord>;
|
|
110
186
|
/**
|
|
111
187
|
* Create SCOPE node
|
|
112
188
|
*/
|
|
113
|
-
static createScope(scopeType: string, file: string, line: number, options?: ScopeOptions): import("./nodes/ScopeNode.js").ScopeNodeRecord
|
|
189
|
+
static createScope(scopeType: string, file: string, line: number, options?: ScopeOptions): BrandedNode<import("./nodes/ScopeNode.js").ScopeNodeRecord>;
|
|
190
|
+
/**
|
|
191
|
+
* Create BRANCH node
|
|
192
|
+
*/
|
|
193
|
+
static createBranch(branchType: 'switch' | 'if' | 'ternary', file: string, line: number, column: number, options?: {
|
|
194
|
+
parentScopeId?: string;
|
|
195
|
+
counter?: number;
|
|
196
|
+
}): BrandedNode<import("./nodes/BranchNode.js").BranchNodeRecord>;
|
|
197
|
+
/**
|
|
198
|
+
* Create CASE node
|
|
199
|
+
*/
|
|
200
|
+
static createCase(value: unknown, isDefault: boolean, fallsThrough: boolean, isEmpty: boolean, file: string, line: number, column: number, options?: {
|
|
201
|
+
parentBranchId?: string;
|
|
202
|
+
counter?: number;
|
|
203
|
+
}): BrandedNode<import("./nodes/CaseNode.js").CaseNodeRecord>;
|
|
114
204
|
/**
|
|
115
205
|
* Create CALL_SITE node
|
|
116
206
|
*/
|
|
117
|
-
static createCallSite(targetName: string, file: string, line: number, column: number, options?: CallSiteOptions): import("./nodes/CallSiteNode.js").CallSiteNodeRecord
|
|
207
|
+
static createCallSite(targetName: string, file: string, line: number, column: number, options?: CallSiteOptions): BrandedNode<import("./nodes/CallSiteNode.js").CallSiteNodeRecord>;
|
|
118
208
|
/**
|
|
119
209
|
* Create METHOD_CALL node
|
|
120
210
|
*/
|
|
121
|
-
static createMethodCall(objectName: string | undefined, methodName: string, file: string, line: number, column: number, options?: MethodCallOptions): import("./nodes/MethodCallNode.js").MethodCallNodeRecord
|
|
211
|
+
static createMethodCall(objectName: string | undefined, methodName: string, file: string, line: number, column: number, options?: MethodCallOptions): BrandedNode<import("./nodes/MethodCallNode.js").MethodCallNodeRecord>;
|
|
212
|
+
/**
|
|
213
|
+
* Create CONSTRUCTOR_CALL node
|
|
214
|
+
*
|
|
215
|
+
* Represents a `new ClassName()` expression.
|
|
216
|
+
* Used for data flow: VARIABLE --ASSIGNED_FROM--> CONSTRUCTOR_CALL
|
|
217
|
+
*
|
|
218
|
+
* @param className - Name of the constructor (e.g., 'Date', 'MyClass')
|
|
219
|
+
* @param file - File path
|
|
220
|
+
* @param line - Line number
|
|
221
|
+
* @param column - Column position
|
|
222
|
+
* @param options - Optional counter for disambiguation
|
|
223
|
+
*/
|
|
224
|
+
static createConstructorCall(className: string, file: string, line: number, column: number, options?: ConstructorCallOptions): BrandedNode<import("./nodes/ConstructorCallNode.js").ConstructorCallNodeRecord>;
|
|
225
|
+
/**
|
|
226
|
+
* Generate CONSTRUCTOR_CALL node ID without creating the full node
|
|
227
|
+
*
|
|
228
|
+
* Used by JSASTAnalyzer when creating assignment metadata.
|
|
229
|
+
* The full node is created later by GraphBuilder.
|
|
230
|
+
*/
|
|
231
|
+
static generateConstructorCallId(className: string, file: string, line: number, column: number, options?: ConstructorCallOptions): string;
|
|
232
|
+
/**
|
|
233
|
+
* Check if a class name is a built-in JavaScript constructor
|
|
234
|
+
*/
|
|
235
|
+
static isBuiltinConstructor(className: string): boolean;
|
|
122
236
|
/**
|
|
123
237
|
* Create VARIABLE_DECLARATION node
|
|
124
238
|
*/
|
|
125
|
-
static createVariableDeclaration(name: string, file: string, line: number, column: number, options?: VariableOptions): import("./nodes/VariableDeclarationNode.js").VariableDeclarationNodeRecord
|
|
239
|
+
static createVariableDeclaration(name: string, file: string, line: number, column: number, options?: VariableOptions): BrandedNode<import("./nodes/VariableDeclarationNode.js").VariableDeclarationNodeRecord>;
|
|
126
240
|
/**
|
|
127
241
|
* Create CONSTANT node
|
|
128
242
|
*/
|
|
129
|
-
static createConstant(name: string, file: string, line: number, column: number, options?: ConstantOptions): import("./nodes/ConstantNode.js").ConstantNodeRecord
|
|
243
|
+
static createConstant(name: string, file: string, line: number, column: number, options?: ConstantOptions): BrandedNode<import("./nodes/ConstantNode.js").ConstantNodeRecord>;
|
|
130
244
|
/**
|
|
131
245
|
* Create LITERAL node
|
|
132
246
|
*/
|
|
133
|
-
static createLiteral(value: unknown, file: string, line: number, column: number, options?: LiteralOptions): import("./nodes/LiteralNode.js").LiteralNodeRecord
|
|
247
|
+
static createLiteral(value: unknown, file: string, line: number, column: number, options?: LiteralOptions): BrandedNode<import("./nodes/LiteralNode.js").LiteralNodeRecord>;
|
|
248
|
+
/**
|
|
249
|
+
* Create OBJECT_LITERAL node
|
|
250
|
+
*/
|
|
251
|
+
static createObjectLiteral(file: string, line: number, column: number, options?: ObjectLiteralOptions): BrandedNode<import("./nodes/ObjectLiteralNode.js").ObjectLiteralNodeRecord>;
|
|
252
|
+
/**
|
|
253
|
+
* Create ARRAY_LITERAL node
|
|
254
|
+
*/
|
|
255
|
+
static createArrayLiteral(file: string, line: number, column: number, options?: ArrayLiteralOptions): BrandedNode<import("./nodes/ArrayLiteralNode.js").ArrayLiteralNodeRecord>;
|
|
134
256
|
/**
|
|
135
257
|
* Create EXTERNAL_STDIO node (singleton)
|
|
136
258
|
*/
|
|
137
|
-
static createExternalStdio(): import("./nodes/ExternalStdioNode.js").ExternalStdioNodeRecord
|
|
259
|
+
static createExternalStdio(): BrandedNode<import("./nodes/ExternalStdioNode.js").ExternalStdioNodeRecord>;
|
|
260
|
+
/**
|
|
261
|
+
* Create net:request singleton node
|
|
262
|
+
*
|
|
263
|
+
* This node represents the external network as a system resource.
|
|
264
|
+
* Should be created once per graph.
|
|
265
|
+
*
|
|
266
|
+
* All HTTP_REQUEST nodes connect to this singleton via CALLS edges.
|
|
267
|
+
*
|
|
268
|
+
* @returns NetworkRequestNodeRecord - singleton node
|
|
269
|
+
*/
|
|
270
|
+
static createNetworkRequest(): BrandedNode<import("./nodes/NetworkRequestNode.js").NetworkRequestNodeRecord>;
|
|
138
271
|
/**
|
|
139
272
|
* Create EVENT_LISTENER node
|
|
140
273
|
*/
|
|
141
|
-
static createEventListener(eventName: string, objectName: string | undefined, file: string, line: number, options?: EventListenerOptions): import("./nodes/EventListenerNode.js").EventListenerNodeRecord
|
|
274
|
+
static createEventListener(eventName: string, objectName: string | undefined, file: string, line: number, column: number, options?: EventListenerOptions): BrandedNode<import("./nodes/EventListenerNode.js").EventListenerNodeRecord>;
|
|
142
275
|
/**
|
|
143
276
|
* Create HTTP_REQUEST node
|
|
144
277
|
*/
|
|
145
|
-
static createHttpRequest(url: string | undefined, method: string | undefined, file: string, line: number, options?: HttpRequestOptions): import("./nodes/HttpRequestNode.js").HttpRequestNodeRecord
|
|
278
|
+
static createHttpRequest(url: string | undefined, method: string | undefined, file: string, line: number, column: number, options?: HttpRequestOptions): BrandedNode<import("./nodes/HttpRequestNode.js").HttpRequestNodeRecord>;
|
|
146
279
|
/**
|
|
147
280
|
* Create DATABASE_QUERY node
|
|
148
281
|
*/
|
|
149
|
-
static createDatabaseQuery(query: string | undefined, operation: string | undefined, file: string, line: number, options?: DatabaseQueryOptions): import("./nodes/DatabaseQueryNode.js").DatabaseQueryNodeRecord
|
|
282
|
+
static createDatabaseQuery(query: string | undefined, operation: string | undefined, file: string, line: number, column: number, options?: DatabaseQueryOptions): BrandedNode<import("./nodes/DatabaseQueryNode.js").DatabaseQueryNodeRecord>;
|
|
283
|
+
/**
|
|
284
|
+
* Create IMPORT node
|
|
285
|
+
*
|
|
286
|
+
* ImportNode automatically detects importType from imported field:
|
|
287
|
+
* - imported === 'default' → importType: 'default'
|
|
288
|
+
* - imported === '*' → importType: 'namespace'
|
|
289
|
+
* - anything else → importType: 'named'
|
|
290
|
+
*
|
|
291
|
+
* @param name - Local binding name (how it's used in this file)
|
|
292
|
+
* @param file - Absolute file path
|
|
293
|
+
* @param line - Line number (for debugging, not part of ID)
|
|
294
|
+
* @param column - Column position (0 if unavailable)
|
|
295
|
+
* @param source - Source module (e.g., 'react', './utils')
|
|
296
|
+
* @param options - Optional fields
|
|
297
|
+
* @returns ImportNodeRecord
|
|
298
|
+
*/
|
|
299
|
+
static createImport(name: string, file: string, line: number, column: number, source: string, options?: ImportOptions): BrandedNode<import("./nodes/ImportNode.js").ImportNodeRecord>;
|
|
300
|
+
/**
|
|
301
|
+
* Create CLASS node
|
|
302
|
+
*/
|
|
303
|
+
static createClass(name: string, file: string, line: number, column: number, options?: ClassOptions): BrandedNode<import("./nodes/ClassNode.js").ClassNodeRecord>;
|
|
304
|
+
/**
|
|
305
|
+
* Create EXPORT node
|
|
306
|
+
*/
|
|
307
|
+
static createExport(name: string, file: string, line: number, column: number, options?: ExportOptions): BrandedNode<import("./nodes/ExportNode.js").ExportNodeRecord>;
|
|
308
|
+
/**
|
|
309
|
+
* Create EXTERNAL_MODULE node
|
|
310
|
+
*
|
|
311
|
+
* Represents external npm packages or Node.js built-in modules.
|
|
312
|
+
* Uses singleton pattern - same source always produces same ID.
|
|
313
|
+
*
|
|
314
|
+
* @param source - Module name (e.g., 'lodash', '@tanstack/react-query', 'node:fs')
|
|
315
|
+
*/
|
|
316
|
+
static createExternalModule(source: string): BrandedNode<import("./nodes/ExternalModuleNode.js").ExternalModuleNodeRecord>;
|
|
317
|
+
/**
|
|
318
|
+
* Create INTERFACE node
|
|
319
|
+
*/
|
|
320
|
+
static createInterface(name: string, file: string, line: number, column: number, options?: InterfaceOptions): BrandedNode<import("./nodes/InterfaceNode.js").InterfaceNodeRecord>;
|
|
321
|
+
/**
|
|
322
|
+
* Create TYPE node
|
|
323
|
+
*/
|
|
324
|
+
static createType(name: string, file: string, line: number, column: number, options?: TypeOptions): BrandedNode<import("./nodes/TypeNode.js").TypeNodeRecord>;
|
|
325
|
+
/**
|
|
326
|
+
* Create ENUM node
|
|
327
|
+
*/
|
|
328
|
+
static createEnum(name: string, file: string, line: number, column: number, options?: EnumOptions): BrandedNode<import("./nodes/EnumNode.js").EnumNodeRecord>;
|
|
329
|
+
/**
|
|
330
|
+
* Create DECORATOR node
|
|
331
|
+
*/
|
|
332
|
+
static createDecorator(name: string, file: string, line: number, column: number, targetId: string, targetType: DecoratorTargetType, options?: DecoratorOptions): BrandedNode<import("./nodes/DecoratorNode.js").DecoratorNodeRecord>;
|
|
333
|
+
/**
|
|
334
|
+
* Create EXPRESSION node
|
|
335
|
+
*/
|
|
336
|
+
static createExpression(expressionType: string, file: string, line: number, column: number, options?: ExpressionOptions): BrandedNode<import("./nodes/ExpressionNode.js").ExpressionNodeRecord>;
|
|
337
|
+
/**
|
|
338
|
+
* Generate EXPRESSION node ID without creating the full node
|
|
339
|
+
*
|
|
340
|
+
* Used by JSASTAnalyzer when creating assignment metadata.
|
|
341
|
+
* The full node is created later by GraphBuilder.
|
|
342
|
+
*
|
|
343
|
+
* @param expressionType - Type of expression (MemberExpression, BinaryExpression, etc.)
|
|
344
|
+
* @param file - File path
|
|
345
|
+
* @param line - Line number
|
|
346
|
+
* @param column - Column position
|
|
347
|
+
* @returns Generated ID string in colon format
|
|
348
|
+
*/
|
|
349
|
+
static generateExpressionId(expressionType: string, file: string, line: number, column: number): string;
|
|
350
|
+
/**
|
|
351
|
+
* Create EXPRESSION node from assignment metadata
|
|
352
|
+
*
|
|
353
|
+
* Used by GraphBuilder when processing variableAssignments.
|
|
354
|
+
* The ID is provided from upstream (generated by JSASTAnalyzer).
|
|
355
|
+
*
|
|
356
|
+
* @param expressionType - Type of expression
|
|
357
|
+
* @param file - File path
|
|
358
|
+
* @param line - Line number
|
|
359
|
+
* @param column - Column position
|
|
360
|
+
* @param options - Must include id; optional: expression properties
|
|
361
|
+
*/
|
|
362
|
+
static createExpressionFromMetadata(expressionType: string, file: string, line: number, column: number, options: ExpressionOptions & {
|
|
363
|
+
id: string;
|
|
364
|
+
}): BrandedNode<import("./nodes/ExpressionNode.js").ExpressionNodeRecord>;
|
|
365
|
+
/**
|
|
366
|
+
* Create EXPRESSION node with argument context
|
|
367
|
+
*
|
|
368
|
+
* Used when EXPRESSION appears as a call argument and we need to track
|
|
369
|
+
* which call and argument position for data flow analysis.
|
|
370
|
+
*
|
|
371
|
+
* @param expressionType - Type of expression (BinaryExpression, LogicalExpression, etc.)
|
|
372
|
+
* @param file - File path
|
|
373
|
+
* @param line - Line number
|
|
374
|
+
* @param column - Column position
|
|
375
|
+
* @param options - Required: parentCallId, argIndex; Optional: expression properties, counter
|
|
376
|
+
* @returns ArgumentExpressionNodeRecord
|
|
377
|
+
*/
|
|
378
|
+
static createArgumentExpression(expressionType: string, file: string, line: number, column: number, options: ArgumentExpressionOptions): BrandedNode<import("./nodes/ArgumentExpressionNode.js").ArgumentExpressionNodeRecord>;
|
|
379
|
+
/**
|
|
380
|
+
* Create ISSUE node
|
|
381
|
+
*
|
|
382
|
+
* Issues represent detected problems in the codebase.
|
|
383
|
+
* Used by validation plugins to persist findings in the graph.
|
|
384
|
+
*
|
|
385
|
+
* @param category - Issue category (security, performance, style, smell)
|
|
386
|
+
* @param severity - error | warning | info
|
|
387
|
+
* @param message - Human-readable description
|
|
388
|
+
* @param plugin - Name of the plugin that detected this issue
|
|
389
|
+
* @param file - File path where issue was detected
|
|
390
|
+
* @param line - Line number
|
|
391
|
+
* @param column - Column number (optional)
|
|
392
|
+
* @param options - Optional context data
|
|
393
|
+
*/
|
|
394
|
+
static createIssue(category: string, severity: IssueSeverity, message: string, plugin: string, file: string, line: number, column?: number, options?: {
|
|
395
|
+
context?: Record<string, unknown>;
|
|
396
|
+
}): BrandedNode<import("./nodes/IssueNode.js").IssueNodeRecord>;
|
|
150
397
|
/**
|
|
151
398
|
* Validate node by its type
|
|
152
399
|
*/
|
|
@@ -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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"}
|