code-auditor-mcp 2.6.1 → 3.0.0
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 +319 -147
- package/dist/analyzers/analyzerUtils.d.ts +13 -11
- package/dist/analyzers/analyzerUtils.d.ts.map +1 -1
- package/dist/analyzers/analyzerUtils.js +22 -56
- package/dist/analyzers/analyzerUtils.js.map +1 -1
- package/dist/analyzers/cross-language/APIContractAnalyzer.d.ts.map +1 -1
- package/dist/analyzers/cross-language/CrossLanguageSOLIDAnalyzer.d.ts.map +1 -1
- package/dist/analyzers/cross-language/CrossLanguageSOLIDAnalyzer.js.map +1 -1
- package/dist/analyzers/cross-language/DependencyGraphBuilder.d.ts.map +1 -1
- package/dist/analyzers/cross-language/DependencyGraphBuilder.js.map +1 -1
- package/dist/analyzers/cross-language/SchemaValidator.d.ts.map +1 -1
- package/dist/analyzers/cross-language/SchemaValidator.js.map +1 -1
- package/dist/analyzers/dataAccessAnalyzer.d.ts.map +1 -1
- package/dist/analyzers/dataAccessAnalyzer.js +50 -24
- package/dist/analyzers/dataAccessAnalyzer.js.map +1 -1
- package/dist/analyzers/documentationAnalyzer.d.ts +4 -1
- package/dist/analyzers/documentationAnalyzer.d.ts.map +1 -1
- package/dist/analyzers/documentationAnalyzer.js +210 -111
- package/dist/analyzers/documentationAnalyzer.js.map +1 -1
- package/dist/analyzers/dryAnalyzer.d.ts.map +1 -1
- package/dist/analyzers/dryAnalyzer.js +190 -58
- package/dist/analyzers/dryAnalyzer.js.map +1 -1
- package/dist/analyzers/invariantsAnalyzer.d.ts +20 -0
- package/dist/analyzers/invariantsAnalyzer.d.ts.map +1 -0
- package/dist/analyzers/invariantsAnalyzer.js +148 -0
- package/dist/analyzers/invariantsAnalyzer.js.map +1 -0
- package/dist/analyzers/reactAnalyzer.d.ts.map +1 -1
- package/dist/analyzers/reactAnalyzer.js +2 -2
- package/dist/analyzers/reactAnalyzer.js.map +1 -1
- package/dist/analyzers/schemaAnalyzer.d.ts +2 -0
- package/dist/analyzers/schemaAnalyzer.d.ts.map +1 -1
- package/dist/analyzers/schemaAnalyzer.js +306 -147
- package/dist/analyzers/schemaAnalyzer.js.map +1 -1
- package/dist/analyzers/solidAnalyzer.d.ts.map +1 -1
- package/dist/analyzers/solidAnalyzer.js +145 -119
- package/dist/analyzers/solidAnalyzer.js.map +1 -1
- package/dist/analyzers/universal/UniversalDRYAnalyzer.d.ts +3 -1
- package/dist/analyzers/universal/UniversalDRYAnalyzer.d.ts.map +1 -1
- package/dist/analyzers/universal/UniversalDRYAnalyzer.js +41 -1
- package/dist/analyzers/universal/UniversalDRYAnalyzer.js.map +1 -1
- package/dist/analyzers/universal/UniversalDataAccessAnalyzer.d.ts.map +1 -1
- package/dist/analyzers/universal/UniversalDataAccessAnalyzer.js +8 -8
- package/dist/analyzers/universal/UniversalDataAccessAnalyzer.js.map +1 -1
- package/dist/analyzers/universal/UniversalDocumentationAnalyzer.d.ts.map +1 -1
- package/dist/analyzers/universal/UniversalDocumentationAnalyzer.js +6 -6
- package/dist/analyzers/universal/UniversalDocumentationAnalyzer.js.map +1 -1
- package/dist/analyzers/universal/UniversalSOLIDAnalyzer.d.ts.map +1 -1
- package/dist/analyzers/universal/UniversalSchemaAnalyzer.d.ts.map +1 -1
- package/dist/analyzers/universal/UniversalSchemaAnalyzer.js +1 -1
- package/dist/analyzers/universal/UniversalSchemaAnalyzer.js.map +1 -1
- package/dist/api/index.js +1 -0
- package/dist/api/index.js.map +1 -1
- package/dist/auditRunner.d.ts.map +1 -1
- package/dist/auditRunner.js +367 -24
- package/dist/auditRunner.js.map +1 -1
- package/dist/cli.d.ts +1 -1
- package/dist/cli.d.ts.map +1 -1
- package/dist/cli.js +740 -18
- package/dist/cli.js.map +1 -1
- package/dist/codeIndexDB-enhanced.d.ts +35 -13
- package/dist/codeIndexDB-enhanced.d.ts.map +1 -1
- package/dist/codeIndexDB-enhanced.js +311 -214
- package/dist/codeIndexDB-enhanced.js.map +1 -1
- package/dist/codeIndexDB.d.ts +222 -0
- package/dist/codeIndexDB.d.ts.map +1 -0
- package/dist/codeIndexDB.js +2042 -0
- package/dist/codeIndexDB.js.map +1 -0
- package/dist/codeIndexService.d.ts.map +1 -1
- package/dist/codeIndexService.js.map +1 -1
- package/dist/componentScanner.d.ts +14 -8
- package/dist/componentScanner.d.ts.map +1 -1
- package/dist/componentScanner.js +136 -113
- package/dist/componentScanner.js.map +1 -1
- package/dist/config/configLoader.d.ts.map +1 -1
- package/dist/config/configLoader.js +10 -7
- package/dist/config/configLoader.js.map +1 -1
- package/dist/config/defaults.d.ts.map +1 -1
- package/dist/constants.js.map +1 -1
- package/dist/fingerprint.d.ts +15 -0
- package/dist/fingerprint.d.ts.map +1 -0
- package/dist/fingerprint.js +32 -0
- package/dist/fingerprint.js.map +1 -0
- package/dist/functionScanner.d.ts +5 -0
- package/dist/functionScanner.d.ts.map +1 -1
- package/dist/functionScanner.js +417 -341
- package/dist/functionScanner.js.map +1 -1
- package/dist/generators/AWSQConfigGenerator.d.ts.map +1 -1
- package/dist/generators/AiderConfigGenerator.d.ts.map +1 -1
- package/dist/generators/BaseConfigGenerator.d.ts.map +1 -1
- package/dist/generators/BaseConfigGenerator.js.map +1 -1
- package/dist/generators/ClaudeConfigGenerator.d.ts.map +1 -1
- package/dist/generators/ClineConfigGenerator.d.ts.map +1 -1
- package/dist/generators/CodeiumConfigGenerator.d.ts.map +1 -1
- package/dist/generators/ConfigGeneratorFactory.d.ts.map +1 -1
- package/dist/generators/ConfigGeneratorFactory.js.map +1 -1
- package/dist/generators/ContinueConfigGenerator.d.ts.map +1 -1
- package/dist/generators/CopilotConfigGenerator.d.ts.map +1 -1
- package/dist/generators/CursorConfigGenerator.d.ts.map +1 -1
- package/dist/generators/JetBrainsConfigGenerator.d.ts.map +1 -1
- package/dist/generators/VSCodeConfigGenerator.d.ts.map +1 -1
- package/dist/grammars/tree-sitter-go.wasm +0 -0
- package/dist/grammars/tree-sitter-javascript.wasm +0 -0
- package/dist/grammars/tree-sitter-tsx.wasm +0 -0
- package/dist/grammars/tree-sitter-typescript.wasm +0 -0
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -1
- package/dist/index.js.map +1 -1
- package/dist/invariants/index.d.ts +9 -0
- package/dist/invariants/index.d.ts.map +1 -0
- package/dist/invariants/index.js +4 -0
- package/dist/invariants/index.js.map +1 -0
- package/dist/invariants/invariant-rules.schema.json +137 -0
- package/dist/invariants/ruleEngine.d.ts +32 -0
- package/dist/invariants/ruleEngine.d.ts.map +1 -0
- package/dist/invariants/ruleEngine.js +536 -0
- package/dist/invariants/ruleEngine.js.map +1 -0
- package/dist/invariants/ruleValidator.d.ts +17 -0
- package/dist/invariants/ruleValidator.d.ts.map +1 -0
- package/dist/invariants/ruleValidator.js +264 -0
- package/dist/invariants/ruleValidator.js.map +1 -0
- package/dist/invariants/types.d.ts +78 -0
- package/dist/invariants/types.d.ts.map +1 -0
- package/dist/invariants/types.js +5 -0
- package/dist/invariants/types.js.map +1 -0
- package/dist/languages/LanguageOrchestrator.d.ts.map +1 -1
- package/dist/languages/LanguageOrchestrator.js.map +1 -1
- package/dist/languages/LanguageRegistry.d.ts.map +1 -1
- package/dist/languages/RuntimeManager.d.ts.map +1 -1
- package/dist/languages/RuntimeManager.js +1 -1
- package/dist/languages/RuntimeManager.js.map +1 -1
- package/dist/languages/UniversalAnalyzer.d.ts.map +1 -1
- package/dist/languages/UniversalAnalyzer.js.map +1 -1
- package/dist/languages/adapterBridge.d.ts +102 -0
- package/dist/languages/adapterBridge.d.ts.map +1 -0
- package/dist/languages/adapterBridge.js +382 -0
- package/dist/languages/adapterBridge.js.map +1 -0
- package/dist/languages/go/GoAdapter.d.ts +37 -26
- package/dist/languages/go/GoAdapter.d.ts.map +1 -1
- package/dist/languages/go/GoAdapter.js +560 -281
- package/dist/languages/go/GoAdapter.js.map +1 -1
- package/dist/languages/index.d.ts +5 -2
- package/dist/languages/index.d.ts.map +1 -1
- package/dist/languages/index.js +11 -9
- package/dist/languages/index.js.map +1 -1
- package/dist/languages/tree-sitter/converter.d.ts +43 -0
- package/dist/languages/tree-sitter/converter.d.ts.map +1 -0
- package/dist/languages/tree-sitter/converter.js +150 -0
- package/dist/languages/tree-sitter/converter.js.map +1 -0
- package/dist/languages/tree-sitter/parser.d.ts +36 -0
- package/dist/languages/tree-sitter/parser.d.ts.map +1 -0
- package/dist/languages/tree-sitter/parser.js +114 -0
- package/dist/languages/tree-sitter/parser.js.map +1 -0
- package/dist/languages/types.d.ts +11 -0
- package/dist/languages/types.d.ts.map +1 -1
- package/dist/languages/typescript/TreeSitterTypeScriptAdapter.d.ts +92 -0
- package/dist/languages/typescript/TreeSitterTypeScriptAdapter.d.ts.map +1 -0
- package/dist/languages/typescript/TreeSitterTypeScriptAdapter.js +951 -0
- package/dist/languages/typescript/TreeSitterTypeScriptAdapter.js.map +1 -0
- package/dist/mcp-tools/projectTasks.d.ts +80 -11
- package/dist/mcp-tools/projectTasks.d.ts.map +1 -1
- package/dist/mcp-tools/projectTasks.js +279 -13
- package/dist/mcp-tools/projectTasks.js.map +1 -1
- package/dist/mcp-tools/whitelistTools.d.ts +21 -21
- package/dist/mcp-tools/whitelistTools.d.ts.map +1 -1
- package/dist/mcp-tools/workflowGuide.d.ts.map +1 -1
- package/dist/mcp-tools/workflowGuide.js +130 -126
- package/dist/mcp-tools/workflowGuide.js.map +1 -1
- package/dist/mcp-tools-shared.d.ts.map +1 -1
- package/dist/mcp-tools-shared.js.map +1 -1
- package/dist/mcp-ui-simple.js +1 -1
- package/dist/mcp-ui-simple.js.map +1 -1
- package/dist/mcp.d.ts +1 -1
- package/dist/mcp.d.ts.map +1 -1
- package/dist/mcp.js +1455 -1132
- package/dist/mcp.js.map +1 -1
- package/dist/mcpAuditJobs.d.ts +4 -0
- package/dist/mcpAuditJobs.d.ts.map +1 -1
- package/dist/mcpAuditJobs.js +49 -2
- package/dist/mcpAuditJobs.js.map +1 -1
- package/dist/mcpDiagnostics.d.ts.map +1 -1
- package/dist/mcpDiagnostics.js +8 -5
- package/dist/mcpDiagnostics.js.map +1 -1
- package/dist/mcpToolErrors.d.ts.map +1 -1
- package/dist/mcpToolErrors.js.map +1 -1
- package/dist/native/ast-grep-napi.darwin-arm64.node +0 -0
- package/dist/native/ast-grep-napi.darwin-x64.node +0 -0
- package/dist/native/ast-grep-napi.linux-arm64-gnu.node +0 -0
- package/dist/native/ast-grep-napi.linux-arm64-musl.node +0 -0
- package/dist/native/ast-grep-napi.linux-x64-gnu.node +0 -0
- package/dist/native/ast-grep-napi.linux-x64-musl.node +0 -0
- package/dist/native/ast-grep-napi.win32-x64-msvc.node +0 -0
- package/dist/native-bootstrap.d.ts +15 -0
- package/dist/native-bootstrap.d.ts.map +1 -0
- package/dist/native-bootstrap.js +75 -0
- package/dist/native-bootstrap.js.map +1 -0
- package/dist/reporting/csvReportGenerator.d.ts.map +1 -1
- package/dist/reporting/htmlReportGenerator.d.ts.map +1 -1
- package/dist/reporting/jsonReportGenerator.d.ts.map +1 -1
- package/dist/reporting/reportGenerator.d.ts.map +1 -1
- package/dist/reporting/reportGenerator.js +4 -0
- package/dist/reporting/reportGenerator.js.map +1 -1
- package/dist/reporting/sarifReportGenerator.d.ts +39 -0
- package/dist/reporting/sarifReportGenerator.d.ts.map +1 -0
- package/dist/reporting/sarifReportGenerator.js +229 -0
- package/dist/reporting/sarifReportGenerator.js.map +1 -0
- package/dist/search/QueryParser.d.ts +41 -0
- package/dist/search/QueryParser.d.ts.map +1 -1
- package/dist/search/QueryParser.js +200 -19
- package/dist/search/QueryParser.js.map +1 -1
- package/dist/services/CodeMapGenerator.d.ts.map +1 -1
- package/dist/services/CodeMapGenerator.js +4 -4
- package/dist/services/CodeMapGenerator.js.map +1 -1
- package/dist/services/ProjectTaskRepository.d.ts +34 -9
- package/dist/services/ProjectTaskRepository.d.ts.map +1 -1
- package/dist/services/ProjectTaskRepository.js +385 -10
- package/dist/services/ProjectTaskRepository.js.map +1 -1
- package/dist/services/SchemaParser.d.ts.map +1 -1
- package/dist/services/SchemaParser.js +5 -8
- package/dist/services/SchemaParser.js.map +1 -1
- package/dist/services/auditJobService.d.ts +1 -1
- package/dist/services/projectTaskHelpers.js.map +1 -1
- package/dist/services/whitelistService.d.ts.map +1 -1
- package/dist/services/whitelistService.js +1 -1
- package/dist/services/whitelistService.js.map +1 -1
- package/dist/tool-registry.d.ts +79 -0
- package/dist/tool-registry.d.ts.map +1 -0
- package/dist/tool-registry.js +139 -0
- package/dist/tool-registry.js.map +1 -0
- package/dist/types/projectTask.d.ts +31 -0
- package/dist/types/projectTask.d.ts.map +1 -1
- package/dist/types.d.ts +26 -2
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js.map +1 -1
- package/dist/ui/InteractivePrompts.d.ts.map +1 -1
- package/dist/ui/InteractivePrompts.js.map +1 -1
- package/dist/utils/astParser.d.ts +31 -38
- package/dist/utils/astParser.d.ts.map +1 -1
- package/dist/utils/astParser.js +138 -196
- package/dist/utils/astParser.js.map +1 -1
- package/dist/utils/astUtils.d.ts +87 -58
- package/dist/utils/astUtils.d.ts.map +1 -1
- package/dist/utils/astUtils.js +852 -581
- package/dist/utils/astUtils.js.map +1 -1
- package/dist/utils/componentPatterns.js.map +1 -1
- package/dist/utils/componentResponsibility.d.ts +13 -9
- package/dist/utils/componentResponsibility.d.ts.map +1 -1
- package/dist/utils/componentResponsibility.js +236 -206
- package/dist/utils/componentResponsibility.js.map +1 -1
- package/dist/utils/dependencyExtractor.d.ts +11 -6
- package/dist/utils/dependencyExtractor.d.ts.map +1 -1
- package/dist/utils/dependencyExtractor.js +200 -119
- package/dist/utils/dependencyExtractor.js.map +1 -1
- package/dist/utils/fileDiscovery.d.ts +1 -1
- package/dist/utils/fileDiscovery.d.ts.map +1 -1
- package/dist/utils/fileDiscovery.js.map +1 -1
- package/dist/utils/jsDocParser.d.ts +27 -30
- package/dist/utils/jsDocParser.d.ts.map +1 -1
- package/dist/utils/jsDocParser.js +271 -207
- package/dist/utils/jsDocParser.js.map +1 -1
- package/dist/utils/reactDetection.d.ts +27 -12
- package/dist/utils/reactDetection.d.ts.map +1 -1
- package/dist/utils/reactDetection.js +331 -219
- package/dist/utils/reactDetection.js.map +1 -1
- package/dist/workers/auditWorker.js +17 -3
- package/dist/workers/auditWorker.js.map +1 -1
- package/package.json +54 -51
- package/dist/adapters/GoAdapter.d.ts +0 -53
- package/dist/adapters/GoAdapter.d.ts.map +0 -1
- package/dist/adapters/GoAdapter.js +0 -611
- package/dist/adapters/GoAdapter.js.map +0 -1
- package/dist/adapters/GoConfig.d.ts +0 -35
- package/dist/adapters/GoConfig.d.ts.map +0 -1
- package/dist/adapters/GoConfig.js +0 -155
- package/dist/adapters/GoConfig.js.map +0 -1
- package/dist/adapters/LanguageAdapter.d.ts +0 -135
- package/dist/adapters/LanguageAdapter.d.ts.map +0 -1
- package/dist/adapters/LanguageAdapter.js +0 -47
- package/dist/adapters/LanguageAdapter.js.map +0 -1
- package/dist/adapters/TypeScriptAdapter.d.ts +0 -43
- package/dist/adapters/TypeScriptAdapter.d.ts.map +0 -1
- package/dist/adapters/TypeScriptAdapter.js +0 -386
- package/dist/adapters/TypeScriptAdapter.js.map +0 -1
- package/dist/adapters/UniversalAnalyzer.d.ts +0 -42
- package/dist/adapters/UniversalAnalyzer.d.ts.map +0 -1
- package/dist/adapters/UniversalAnalyzer.js +0 -103
- package/dist/adapters/UniversalAnalyzer.js.map +0 -1
- package/dist/adapters/UniversalSOLIDAnalyzer.d.ts +0 -48
- package/dist/adapters/UniversalSOLIDAnalyzer.d.ts.map +0 -1
- package/dist/adapters/UniversalSOLIDAnalyzer.js +0 -178
- package/dist/adapters/UniversalSOLIDAnalyzer.js.map +0 -1
- package/dist/adapters/solidAnalyzerCompat.d.ts +0 -21
- package/dist/adapters/solidAnalyzerCompat.d.ts.map +0 -1
- package/dist/adapters/solidAnalyzerCompat.js +0 -78
- package/dist/adapters/solidAnalyzerCompat.js.map +0 -1
- package/dist/analyzers/dataAccessAnalyzerCompat.d.ts +0 -20
- package/dist/analyzers/dataAccessAnalyzerCompat.d.ts.map +0 -1
- package/dist/analyzers/dataAccessAnalyzerCompat.js +0 -59
- package/dist/analyzers/dataAccessAnalyzerCompat.js.map +0 -1
- package/dist/analyzers/documentationAnalyzerCompat.d.ts +0 -20
- package/dist/analyzers/documentationAnalyzerCompat.d.ts.map +0 -1
- package/dist/analyzers/documentationAnalyzerCompat.js +0 -52
- package/dist/analyzers/documentationAnalyzerCompat.js.map +0 -1
- package/dist/analyzers/dryAnalyzerCompat.d.ts +0 -20
- package/dist/analyzers/dryAnalyzerCompat.d.ts.map +0 -1
- package/dist/analyzers/dryAnalyzerCompat.js +0 -44
- package/dist/analyzers/dryAnalyzerCompat.js.map +0 -1
- package/dist/analyzers/schemaAnalyzerCompat.d.ts +0 -20
- package/dist/analyzers/schemaAnalyzerCompat.d.ts.map +0 -1
- package/dist/analyzers/schemaAnalyzerCompat.js +0 -69
- package/dist/analyzers/schemaAnalyzerCompat.js.map +0 -1
- package/dist/analyzers/solidAnalyzerCompat.d.ts +0 -20
- package/dist/analyzers/solidAnalyzerCompat.d.ts.map +0 -1
- package/dist/analyzers/solidAnalyzerCompat.js +0 -78
- package/dist/analyzers/solidAnalyzerCompat.js.map +0 -1
- package/dist/codeIndexDb.d.ts +0 -394
- package/dist/codeIndexDb.d.ts.map +0 -1
- package/dist/codeIndexDb.js +0 -2077
- package/dist/codeIndexDb.js.map +0 -1
- package/dist/languages/typescript/TypeScriptAdapter.d.ts +0 -108
- package/dist/languages/typescript/TypeScriptAdapter.d.ts.map +0 -1
- package/dist/languages/typescript/TypeScriptAdapter.js +0 -567
- package/dist/languages/typescript/TypeScriptAdapter.js.map +0 -1
- package/dist/languages/typescript/test-extraction.d.ts +0 -2
- package/dist/languages/typescript/test-extraction.d.ts.map +0 -1
- package/dist/languages/typescript/test-extraction.js +0 -36
- package/dist/languages/typescript/test-extraction.js.map +0 -1
- package/dist/mcp-hybrid.d.ts +0 -10
- package/dist/mcp-hybrid.d.ts.map +0 -1
- package/dist/mcp-hybrid.js +0 -41
- package/dist/mcp-hybrid.js.map +0 -1
- package/dist/mcp-index.d.ts +0 -13
- package/dist/mcp-index.d.ts.map +0 -1
- package/dist/mcp-index.js +0 -123
- package/dist/mcp-index.js.map +0 -1
- package/dist/mcp-standalone.d.ts +0 -3
- package/dist/mcp-standalone.d.ts.map +0 -1
- package/dist/mcp-standalone.js +0 -1201
- package/dist/mcp-standalone.js.map +0 -1
- package/dist/mcp-ui-server.d.ts +0 -27
- package/dist/mcp-ui-server.d.ts.map +0 -1
- package/dist/mcp-ui-server.js +0 -484
- package/dist/mcp-ui-server.js.map +0 -1
- package/dist/test-multi-strategy-search.d.ts +0 -3
- package/dist/test-multi-strategy-search.d.ts.map +0 -1
- package/dist/test-multi-strategy-search.js +0 -170
- package/dist/test-multi-strategy-search.js.map +0 -1
|
@@ -1,22 +1,25 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* AST Parser Utilities
|
|
3
|
-
* Provides
|
|
3
|
+
* Provides tree-sitter-based AST parsing and analysis utilities
|
|
4
4
|
*
|
|
5
|
-
* Core functionality for parsing TypeScript/JavaScript files and
|
|
6
|
-
* extracting information for code analysis
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
*
|
|
5
|
+
* Core functionality for parsing TypeScript/JavaScript/Go files and
|
|
6
|
+
* extracting information for code analysis.
|
|
7
|
+
*
|
|
8
|
+
* This module replaces the old TypeScript compiler API with tree-sitter
|
|
9
|
+
* via the adapter bridge. Consumers receive AST/ASTNode instead of
|
|
10
|
+
* ts.SourceFile/ts.Node.
|
|
11
11
|
*/
|
|
12
|
+
import { getNodeName } from '../languages/adapterBridge.js';
|
|
13
|
+
import type { AST, ASTNode } from '../languages/types.js';
|
|
14
|
+
export { getNodeText, getLineAndColumn, hasModifier, calculateComplexity } from '../languages/adapterBridge.js';
|
|
12
15
|
export interface ParseResult {
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
+
ast: AST;
|
|
17
|
+
errors: Array<{
|
|
18
|
+
message: string;
|
|
19
|
+
line?: number;
|
|
20
|
+
column?: number;
|
|
21
|
+
}>;
|
|
16
22
|
}
|
|
17
|
-
/**
|
|
18
|
-
* Import information
|
|
19
|
-
*/
|
|
20
23
|
export interface ImportInfo {
|
|
21
24
|
moduleSpecifier: string;
|
|
22
25
|
importedNames: string[];
|
|
@@ -24,9 +27,6 @@ export interface ImportInfo {
|
|
|
24
27
|
isNamespaceImport: boolean;
|
|
25
28
|
line: number;
|
|
26
29
|
}
|
|
27
|
-
/**
|
|
28
|
-
* Export information
|
|
29
|
-
*/
|
|
30
30
|
export interface ExportInfo {
|
|
31
31
|
name: string;
|
|
32
32
|
type: 'function' | 'class' | 'interface' | 'type' | 'const' | 'let' | 'var' | 'enum';
|
|
@@ -34,38 +34,31 @@ export interface ExportInfo {
|
|
|
34
34
|
line: number;
|
|
35
35
|
}
|
|
36
36
|
/**
|
|
37
|
-
* Parse a TypeScript file and return AST
|
|
37
|
+
* Parse a TypeScript/JavaScript/Go file and return AST.
|
|
38
38
|
*/
|
|
39
39
|
export declare function parseTypeScriptFile(filePath: string): Promise<ParseResult>;
|
|
40
40
|
/**
|
|
41
|
-
* Extract import statements from AST
|
|
42
|
-
*/
|
|
43
|
-
export declare function getImports(sourceFile: ts.SourceFile): ImportInfo[];
|
|
44
|
-
/**
|
|
45
|
-
* Extract export statements from AST
|
|
41
|
+
* Extract import statements from an AST.
|
|
46
42
|
*/
|
|
47
|
-
export declare function
|
|
43
|
+
export declare function getImports(ast: AST): ImportInfo[];
|
|
48
44
|
/**
|
|
49
|
-
*
|
|
45
|
+
* Extract export statements from an AST.
|
|
50
46
|
*/
|
|
51
|
-
export declare function
|
|
47
|
+
export declare function getExports(ast: AST): ExportInfo[];
|
|
52
48
|
/**
|
|
53
|
-
*
|
|
49
|
+
* Find all ASTNode matching a type string (replaces ts.SyntaxKind enum).
|
|
54
50
|
*/
|
|
55
|
-
export declare function
|
|
56
|
-
/**
|
|
57
|
-
* Get line and column for a position
|
|
58
|
-
*/
|
|
59
|
-
export declare function getLineAndColumn(sourceFile: ts.SourceFile, position: number): {
|
|
60
|
-
line: number;
|
|
61
|
-
column: number;
|
|
62
|
-
};
|
|
51
|
+
export declare function findNodesByType(ast: ASTNode, type: string): ASTNode[];
|
|
63
52
|
/**
|
|
64
|
-
*
|
|
53
|
+
* Kept for backward compatibility — returns ASTNode[] where each node's type
|
|
54
|
+
* matches one of the provided type strings.
|
|
65
55
|
*/
|
|
66
|
-
export declare function
|
|
56
|
+
export declare function findNodesByKind(ast: ASTNode, kind: string): ASTNode[];
|
|
57
|
+
export { isExported } from '../languages/adapterBridge.js';
|
|
58
|
+
export { getNodeName };
|
|
67
59
|
/**
|
|
68
|
-
*
|
|
60
|
+
* Store source content for an AST so getNodeText() can work without passing
|
|
61
|
+
* sourceCode each time.
|
|
69
62
|
*/
|
|
70
|
-
export declare function
|
|
63
|
+
export declare function setSourceContent(ast: AST, content: string): void;
|
|
71
64
|
//# sourceMappingURL=astParser.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"astParser.d.ts","sourceRoot":"","sources":["../../src/utils/astParser.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"astParser.d.ts","sourceRoot":"","sources":["../../src/utils/astParser.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAIH,OAAO,EAQL,WAAW,EACZ,MAAM,+BAA+B,CAAC;AACvC,OAAO,KAAK,EAAE,GAAG,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAC;AAM1D,OAAO,EAAE,WAAW,EAAE,gBAAgB,EAAE,WAAW,EAAE,mBAAmB,EAAE,MAAM,+BAA+B,CAAC;AAMhH,MAAM,WAAW,WAAW;IAC1B,GAAG,EAAE,GAAG,CAAC;IACT,MAAM,EAAE,KAAK,CAAC;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CACpE;AAMD,MAAM,WAAW,UAAU;IACzB,eAAe,EAAE,MAAM,CAAC;IACxB,aAAa,EAAE,MAAM,EAAE,CAAC;IACxB,eAAe,EAAE,OAAO,CAAC;IACzB,iBAAiB,EAAE,OAAO,CAAC;IAC3B,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,UAAU,GAAG,OAAO,GAAG,WAAW,GAAG,MAAM,GAAG,OAAO,GAAG,KAAK,GAAG,KAAK,GAAG,MAAM,CAAC;IACrF,SAAS,EAAE,OAAO,CAAC;IACnB,IAAI,EAAE,MAAM,CAAC;CACd;AAMD;;GAEG;AACH,wBAAsB,mBAAmB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC,CA0BhF;AAMD;;GAEG;AACH,wBAAgB,UAAU,CAAC,GAAG,EAAE,GAAG,GAAG,UAAU,EAAE,CAiBjD;AAMD;;GAEG;AACH,wBAAgB,UAAU,CAAC,GAAG,EAAE,GAAG,GAAG,UAAU,EAAE,CA2DjD;AAMD;;GAEG;AACH,wBAAgB,eAAe,CAC7B,GAAG,EAAE,OAAO,EACZ,IAAI,EAAE,MAAM,GACX,OAAO,EAAE,CAgBX;AAED;;;GAGG;AACH,wBAAgB,eAAe,CAC7B,GAAG,EAAE,OAAO,EACZ,IAAI,EAAE,MAAM,GACX,OAAO,EAAE,CAEX;AAKD,OAAO,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAC3D,OAAO,EAAE,WAAW,EAAE,CAAC;AAYvB;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,GAAG,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI,CAEhE"}
|
package/dist/utils/astParser.js
CHANGED
|
@@ -1,244 +1,186 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* AST Parser Utilities
|
|
3
|
-
* Provides
|
|
3
|
+
* Provides tree-sitter-based AST parsing and analysis utilities
|
|
4
4
|
*
|
|
5
|
-
* Core functionality for parsing TypeScript/JavaScript files and
|
|
6
|
-
* extracting information for code analysis
|
|
5
|
+
* Core functionality for parsing TypeScript/JavaScript/Go files and
|
|
6
|
+
* extracting information for code analysis.
|
|
7
|
+
*
|
|
8
|
+
* This module replaces the old TypeScript compiler API with tree-sitter
|
|
9
|
+
* via the adapter bridge. Consumers receive AST/ASTNode instead of
|
|
10
|
+
* ts.SourceFile/ts.Node.
|
|
7
11
|
*/
|
|
8
|
-
import * as ts from 'typescript';
|
|
9
12
|
import { promises as fs } from 'fs';
|
|
13
|
+
import { parseFile, extractImports, getNodeName, } from '../languages/adapterBridge.js';
|
|
14
|
+
// ---------------------------------------------------------------------------
|
|
15
|
+
// Re-export adapter bridge functions for consumers that already import from here
|
|
16
|
+
// ---------------------------------------------------------------------------
|
|
17
|
+
export { getNodeText, getLineAndColumn, hasModifier, calculateComplexity } from '../languages/adapterBridge.js';
|
|
18
|
+
// ---------------------------------------------------------------------------
|
|
19
|
+
// Parse
|
|
20
|
+
// ---------------------------------------------------------------------------
|
|
10
21
|
/**
|
|
11
|
-
* Parse
|
|
12
|
-
*/
|
|
13
|
-
const PARSE_OPTIONS = {
|
|
14
|
-
target: ts.ScriptTarget.Latest,
|
|
15
|
-
module: ts.ModuleKind.ESNext,
|
|
16
|
-
jsx: ts.JsxEmit.React,
|
|
17
|
-
allowJs: true,
|
|
18
|
-
esModuleInterop: true,
|
|
19
|
-
skipLibCheck: true,
|
|
20
|
-
strict: false,
|
|
21
|
-
moduleResolution: ts.ModuleResolutionKind.NodeJs,
|
|
22
|
-
noResolve: true,
|
|
23
|
-
isolatedModules: true,
|
|
24
|
-
allowSyntheticDefaultImports: true,
|
|
25
|
-
lib: ['lib.es2022.d.ts']
|
|
26
|
-
};
|
|
27
|
-
/**
|
|
28
|
-
* Parse a TypeScript file and return AST
|
|
22
|
+
* Parse a TypeScript/JavaScript/Go file and return AST.
|
|
29
23
|
*/
|
|
30
24
|
export async function parseTypeScriptFile(filePath) {
|
|
31
25
|
try {
|
|
32
26
|
const content = await fs.readFile(filePath, 'utf-8');
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
scriptKind = ts.ScriptKind.JSX;
|
|
40
|
-
}
|
|
41
|
-
else if (filePath.endsWith('.js')) {
|
|
42
|
-
scriptKind = ts.ScriptKind.JS;
|
|
27
|
+
const ast = parseFile(filePath, content);
|
|
28
|
+
if (!ast) {
|
|
29
|
+
return {
|
|
30
|
+
ast: { root: { type: 'program', range: [0, 0], location: { start: { line: 0, column: 0 }, end: { line: 0, column: 0 } }, raw: null }, language: 'typescript', filePath, errors: [] },
|
|
31
|
+
errors: [{ message: `Unsupported file type: ${filePath}` }],
|
|
32
|
+
};
|
|
43
33
|
}
|
|
44
|
-
// Create source file without type checking
|
|
45
|
-
const sourceFile = ts.createSourceFile(filePath, content, ts.ScriptTarget.Latest, true, // setParentNodes
|
|
46
|
-
scriptKind);
|
|
47
|
-
// No errors for pure AST parsing
|
|
48
|
-
const errors = [];
|
|
49
34
|
return {
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
35
|
+
ast,
|
|
36
|
+
errors: ast.errors.map(e => ({
|
|
37
|
+
message: e.message,
|
|
38
|
+
line: e.location.start.line + 1,
|
|
39
|
+
column: e.location.start.column + 1,
|
|
40
|
+
})),
|
|
53
41
|
};
|
|
54
42
|
}
|
|
55
43
|
catch (error) {
|
|
56
|
-
// Return error as diagnostic
|
|
57
|
-
const diagnostic = {
|
|
58
|
-
file: undefined,
|
|
59
|
-
start: 0,
|
|
60
|
-
length: 0,
|
|
61
|
-
messageText: `Failed to read file: ${error}`,
|
|
62
|
-
category: ts.DiagnosticCategory.Error,
|
|
63
|
-
code: 9999
|
|
64
|
-
};
|
|
65
|
-
// Create empty source file for consistency
|
|
66
|
-
const sourceFile = ts.createSourceFile(filePath, '', ts.ScriptTarget.Latest, true);
|
|
67
44
|
return {
|
|
68
|
-
|
|
69
|
-
errors: [
|
|
45
|
+
ast: { root: { type: 'program', range: [0, 0], location: { start: { line: 0, column: 0 }, end: { line: 0, column: 0 } }, raw: null }, language: 'typescript', filePath, errors: [] },
|
|
46
|
+
errors: [{ message: `Failed to read file: ${error}` }],
|
|
70
47
|
};
|
|
71
48
|
}
|
|
72
49
|
}
|
|
50
|
+
// ---------------------------------------------------------------------------
|
|
51
|
+
// Extract imports
|
|
52
|
+
// ---------------------------------------------------------------------------
|
|
73
53
|
/**
|
|
74
|
-
* Extract import statements from AST
|
|
54
|
+
* Extract import statements from an AST.
|
|
75
55
|
*/
|
|
76
|
-
export function getImports(
|
|
77
|
-
const
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
if (importClause) {
|
|
91
|
-
// Default import
|
|
92
|
-
if (importClause.name) {
|
|
93
|
-
importInfo.isDefaultImport = true;
|
|
94
|
-
importInfo.importedNames.push(importClause.name.text);
|
|
95
|
-
}
|
|
96
|
-
// Named imports
|
|
97
|
-
if (importClause.namedBindings) {
|
|
98
|
-
if (ts.isNamespaceImport(importClause.namedBindings)) {
|
|
99
|
-
importInfo.isNamespaceImport = true;
|
|
100
|
-
importInfo.importedNames.push(importClause.namedBindings.name.text);
|
|
101
|
-
}
|
|
102
|
-
else if (ts.isNamedImports(importClause.namedBindings)) {
|
|
103
|
-
importClause.namedBindings.elements.forEach(element => {
|
|
104
|
-
importInfo.importedNames.push(element.name.text);
|
|
105
|
-
});
|
|
106
|
-
}
|
|
107
|
-
}
|
|
108
|
-
}
|
|
109
|
-
imports.push(importInfo);
|
|
110
|
-
}
|
|
111
|
-
ts.forEachChild(node, visit);
|
|
56
|
+
export function getImports(ast) {
|
|
57
|
+
const results = [];
|
|
58
|
+
const content = getSourceContent(ast);
|
|
59
|
+
if (!content)
|
|
60
|
+
return results;
|
|
61
|
+
const rawImports = extractImports(ast.filePath, content);
|
|
62
|
+
for (const imp of rawImports) {
|
|
63
|
+
results.push({
|
|
64
|
+
moduleSpecifier: imp.moduleSpecifier,
|
|
65
|
+
importedNames: imp.importedNames,
|
|
66
|
+
isDefaultImport: imp.isDefaultImport,
|
|
67
|
+
isNamespaceImport: imp.isNamespaceImport,
|
|
68
|
+
line: imp.line,
|
|
69
|
+
});
|
|
112
70
|
}
|
|
113
|
-
|
|
114
|
-
return imports;
|
|
71
|
+
return results;
|
|
115
72
|
}
|
|
73
|
+
// ---------------------------------------------------------------------------
|
|
74
|
+
// Extract exports
|
|
75
|
+
// ---------------------------------------------------------------------------
|
|
116
76
|
/**
|
|
117
|
-
* Extract export statements from AST
|
|
77
|
+
* Extract export statements from an AST.
|
|
118
78
|
*/
|
|
119
|
-
export function getExports(
|
|
79
|
+
export function getExports(ast) {
|
|
120
80
|
const exports = [];
|
|
81
|
+
// Walk the AST to find exported nodes
|
|
121
82
|
function visit(node) {
|
|
122
|
-
const
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
83
|
+
const raw = node.raw;
|
|
84
|
+
if (!raw)
|
|
85
|
+
return;
|
|
86
|
+
// export_statement — covers "export { x }", "export default X", "export const X"
|
|
87
|
+
if (node.type === 'export_statement') {
|
|
88
|
+
for (const child of raw.namedChildren) {
|
|
89
|
+
const line = child.startPosition.row + 1;
|
|
90
|
+
// export default expr
|
|
91
|
+
if (child.type === 'function_declaration') {
|
|
92
|
+
const name = child.namedChildren.find((c) => c.type === 'identifier');
|
|
127
93
|
exports.push({
|
|
128
|
-
name:
|
|
129
|
-
type: '
|
|
130
|
-
isDefault:
|
|
131
|
-
line
|
|
94
|
+
name: name?.text ?? 'default',
|
|
95
|
+
type: 'function',
|
|
96
|
+
isDefault: true,
|
|
97
|
+
line,
|
|
132
98
|
});
|
|
133
|
-
}
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
else if (ts.isVariableStatement(node)) {
|
|
163
|
-
const declaration = node.declarationList.declarations[0];
|
|
164
|
-
if (declaration.name && ts.isIdentifier(declaration.name)) {
|
|
165
|
-
name = declaration.name.text;
|
|
166
|
-
type = node.declarationList.flags & ts.NodeFlags.Const ? 'const' :
|
|
167
|
-
node.declarationList.flags & ts.NodeFlags.Let ? 'let' : 'var';
|
|
99
|
+
}
|
|
100
|
+
else if (child.type === 'class_declaration') {
|
|
101
|
+
const name = child.namedChildren.find((c) => c.type === 'identifier');
|
|
102
|
+
exports.push({
|
|
103
|
+
name: name?.text ?? 'default',
|
|
104
|
+
type: 'class',
|
|
105
|
+
isDefault: true,
|
|
106
|
+
line,
|
|
107
|
+
});
|
|
108
|
+
}
|
|
109
|
+
else if (child.type === 'lexical_declaration') {
|
|
110
|
+
for (const decl of child.namedChildren) {
|
|
111
|
+
if (decl.type === 'variable_declarator') {
|
|
112
|
+
const name = decl.namedChildren.find((c) => c.type === 'identifier');
|
|
113
|
+
if (name) {
|
|
114
|
+
exports.push({ name: name.text, type: 'const', isDefault: false, line });
|
|
115
|
+
}
|
|
116
|
+
}
|
|
117
|
+
}
|
|
118
|
+
}
|
|
119
|
+
else if (child.type === 'export_clause') {
|
|
120
|
+
for (const spec of child.namedChildren) {
|
|
121
|
+
if (spec.type === 'export_specifier') {
|
|
122
|
+
const name = spec.namedChildren.find((c) => c.type === 'identifier');
|
|
123
|
+
if (name) {
|
|
124
|
+
exports.push({ name: name.text, type: 'const', isDefault: false, line: child.startPosition.row + 1 });
|
|
125
|
+
}
|
|
126
|
+
}
|
|
127
|
+
}
|
|
168
128
|
}
|
|
169
129
|
}
|
|
170
|
-
if (name) {
|
|
171
|
-
exports.push({ name, type, isDefault, line });
|
|
172
|
-
}
|
|
173
130
|
}
|
|
174
|
-
|
|
131
|
+
if (node.children) {
|
|
132
|
+
for (const c of node.children)
|
|
133
|
+
visit(c);
|
|
134
|
+
}
|
|
175
135
|
}
|
|
176
|
-
visit(
|
|
136
|
+
visit(ast.root);
|
|
177
137
|
return exports;
|
|
178
138
|
}
|
|
139
|
+
// ---------------------------------------------------------------------------
|
|
140
|
+
// Find nodes by type
|
|
141
|
+
// ---------------------------------------------------------------------------
|
|
179
142
|
/**
|
|
180
|
-
* Find
|
|
143
|
+
* Find all ASTNode matching a type string (replaces ts.SyntaxKind enum).
|
|
181
144
|
*/
|
|
182
|
-
export function
|
|
183
|
-
const
|
|
184
|
-
function
|
|
185
|
-
if (node.
|
|
186
|
-
|
|
145
|
+
export function findNodesByType(ast, type) {
|
|
146
|
+
const results = [];
|
|
147
|
+
function walk(node) {
|
|
148
|
+
if (node.type === type) {
|
|
149
|
+
results.push(node);
|
|
150
|
+
}
|
|
151
|
+
if (node.children) {
|
|
152
|
+
for (const child of node.children) {
|
|
153
|
+
walk(child);
|
|
154
|
+
}
|
|
187
155
|
}
|
|
188
|
-
ts.forEachChild(node, visit);
|
|
189
156
|
}
|
|
190
|
-
|
|
191
|
-
return
|
|
192
|
-
}
|
|
193
|
-
/**
|
|
194
|
-
* Get the text content of a node
|
|
195
|
-
*/
|
|
196
|
-
export function getNodeText(node, sourceFile) {
|
|
197
|
-
return node.getText(sourceFile);
|
|
157
|
+
walk(ast);
|
|
158
|
+
return results;
|
|
198
159
|
}
|
|
199
160
|
/**
|
|
200
|
-
*
|
|
161
|
+
* Kept for backward compatibility — returns ASTNode[] where each node's type
|
|
162
|
+
* matches one of the provided type strings.
|
|
201
163
|
*/
|
|
202
|
-
export function
|
|
203
|
-
|
|
204
|
-
return { line: line + 1, column: character + 1 };
|
|
164
|
+
export function findNodesByKind(ast, kind) {
|
|
165
|
+
return findNodesByType(ast, kind);
|
|
205
166
|
}
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
export
|
|
210
|
-
|
|
211
|
-
|
|
167
|
+
// ---------------------------------------------------------------------------
|
|
168
|
+
// Node helpers
|
|
169
|
+
// ---------------------------------------------------------------------------
|
|
170
|
+
export { isExported } from '../languages/adapterBridge.js';
|
|
171
|
+
export { getNodeName };
|
|
172
|
+
// ---------------------------------------------------------------------------
|
|
173
|
+
// Source content cache
|
|
174
|
+
// ---------------------------------------------------------------------------
|
|
175
|
+
const sourceCache = new WeakMap();
|
|
176
|
+
function getSourceContent(ast) {
|
|
177
|
+
return sourceCache.get(ast);
|
|
212
178
|
}
|
|
213
179
|
/**
|
|
214
|
-
*
|
|
180
|
+
* Store source content for an AST so getNodeText() can work without passing
|
|
181
|
+
* sourceCode each time.
|
|
215
182
|
*/
|
|
216
|
-
export function
|
|
217
|
-
|
|
218
|
-
function visit(node) {
|
|
219
|
-
switch (node.kind) {
|
|
220
|
-
case ts.SyntaxKind.IfStatement:
|
|
221
|
-
case ts.SyntaxKind.ConditionalExpression:
|
|
222
|
-
case ts.SyntaxKind.WhileStatement:
|
|
223
|
-
case ts.SyntaxKind.ForStatement:
|
|
224
|
-
case ts.SyntaxKind.ForInStatement:
|
|
225
|
-
case ts.SyntaxKind.ForOfStatement:
|
|
226
|
-
case ts.SyntaxKind.CaseClause:
|
|
227
|
-
complexity++;
|
|
228
|
-
break;
|
|
229
|
-
case ts.SyntaxKind.BinaryExpression:
|
|
230
|
-
const binaryExpr = node;
|
|
231
|
-
if (binaryExpr.operatorToken.kind === ts.SyntaxKind.AmpersandAmpersandToken ||
|
|
232
|
-
binaryExpr.operatorToken.kind === ts.SyntaxKind.BarBarToken) {
|
|
233
|
-
complexity++;
|
|
234
|
-
}
|
|
235
|
-
break;
|
|
236
|
-
}
|
|
237
|
-
ts.forEachChild(node, visit);
|
|
238
|
-
}
|
|
239
|
-
if (node.body) {
|
|
240
|
-
visit(node.body);
|
|
241
|
-
}
|
|
242
|
-
return complexity;
|
|
183
|
+
export function setSourceContent(ast, content) {
|
|
184
|
+
sourceCache.set(ast, content);
|
|
243
185
|
}
|
|
244
186
|
//# sourceMappingURL=astParser.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"astParser.js","sourceRoot":"","sources":["../../src/utils/astParser.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"astParser.js","sourceRoot":"","sources":["../../src/utils/astParser.ts"],"names":[],"mappings":"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"}
|