code-auditor-mcp 2.6.2 → 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 → codeIndexDB.d.ts} +51 -224
- 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 +58 -22
- package/dist/mcp-tools/projectTasks.d.ts.map +1 -1
- package/dist/mcp-tools/projectTasks.js +172 -10
- 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 +1376 -1181
- 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/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 +15 -2
- package/dist/services/ProjectTaskRepository.d.ts.map +1 -1
- package/dist/services/ProjectTaskRepository.js +16 -1
- 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 +4 -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.map +0 -1
- package/dist/codeIndexDb.js +0 -2102
- 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 -136
- 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 -1324
- 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,35 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Go Configuration Utility
|
|
3
|
-
*
|
|
4
|
-
* Handles Go executable detection and configuration for conditional language support.
|
|
5
|
-
*/
|
|
6
|
-
import { GoAdapter } from './GoAdapter.js';
|
|
7
|
-
export interface GoConfig {
|
|
8
|
-
enabled: boolean;
|
|
9
|
-
executablePath?: string;
|
|
10
|
-
version?: string;
|
|
11
|
-
error?: string;
|
|
12
|
-
}
|
|
13
|
-
/**
|
|
14
|
-
* Detects Go installation and returns configuration with absolute path
|
|
15
|
-
*/
|
|
16
|
-
export declare function detectGoConfig(customPath?: string): Promise<GoConfig>;
|
|
17
|
-
/**
|
|
18
|
-
* Creates a GoAdapter if Go is available, null otherwise
|
|
19
|
-
*/
|
|
20
|
-
export declare function createGoAdapter(customPath?: string): Promise<GoAdapter | null>;
|
|
21
|
-
/**
|
|
22
|
-
* Environment variable names for Go configuration
|
|
23
|
-
*/
|
|
24
|
-
export declare const GO_CONFIG_ENV: {
|
|
25
|
-
readonly EXECUTABLE_PATH: "CODE_AUDITOR_GO_PATH";
|
|
26
|
-
readonly DISABLE: "CODE_AUDITOR_DISABLE_GO";
|
|
27
|
-
};
|
|
28
|
-
/**
|
|
29
|
-
* Gets Go configuration from environment variables
|
|
30
|
-
*/
|
|
31
|
-
export declare function getGoConfigFromEnv(): {
|
|
32
|
-
customPath?: string;
|
|
33
|
-
disabled: boolean;
|
|
34
|
-
};
|
|
35
|
-
//# sourceMappingURL=GoConfig.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"GoConfig.d.ts","sourceRoot":"","sources":["../../src/adapters/GoConfig.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAKH,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAkB3C,MAAM,WAAW,QAAQ;IACvB,OAAO,EAAE,OAAO,CAAC;IACjB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AA6BD;;GAEG;AACH,wBAAsB,cAAc,CAAC,UAAU,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC,CA4F3E;AAED;;GAEG;AACH,wBAAsB,eAAe,CAAC,UAAU,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,GAAG,IAAI,CAAC,CAUpF;AAED;;GAEG;AACH,eAAO,MAAM,aAAa;;;CAGhB,CAAC;AAEX;;GAEG;AACH,wBAAgB,kBAAkB,IAAI;IAAE,UAAU,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,OAAO,CAAA;CAAE,CAK/E"}
|
|
@@ -1,155 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Go Configuration Utility
|
|
3
|
-
*
|
|
4
|
-
* Handles Go executable detection and configuration for conditional language support.
|
|
5
|
-
*/
|
|
6
|
-
import { execFile } from 'child_process';
|
|
7
|
-
import { promisify } from 'util';
|
|
8
|
-
import fs from 'fs';
|
|
9
|
-
import { GoAdapter } from './GoAdapter.js';
|
|
10
|
-
const execFileAsync = promisify(execFile);
|
|
11
|
-
/**
|
|
12
|
-
* Resolves symlinks to get the real executable path
|
|
13
|
-
*/
|
|
14
|
-
function resolveSymlinks(executablePath) {
|
|
15
|
-
try {
|
|
16
|
-
const realPath = fs.realpathSync(executablePath);
|
|
17
|
-
console.error(`[DEBUG] GoConfig: Resolved symlink ${executablePath} → ${realPath}`);
|
|
18
|
-
return realPath;
|
|
19
|
-
}
|
|
20
|
-
catch (error) {
|
|
21
|
-
console.error(`[DEBUG] GoConfig: Failed to resolve symlink ${executablePath}:`, error.message);
|
|
22
|
-
return executablePath; // Return original path if resolution fails
|
|
23
|
-
}
|
|
24
|
-
}
|
|
25
|
-
/**
|
|
26
|
-
* Uses which/where to find absolute path to Go executable
|
|
27
|
-
*/
|
|
28
|
-
async function findAbsoluteGoPath() {
|
|
29
|
-
const isWindows = process.platform === 'win32';
|
|
30
|
-
const checkCommand = isWindows ? 'where' : 'which';
|
|
31
|
-
try {
|
|
32
|
-
console.error(`[DEBUG] GoConfig: Using ${checkCommand} to find absolute Go path...`);
|
|
33
|
-
const { stdout } = await execFileAsync(checkCommand, ['go'], {
|
|
34
|
-
timeout: 5000,
|
|
35
|
-
env: process.env
|
|
36
|
-
});
|
|
37
|
-
// 'which' or 'where' returns the absolute path
|
|
38
|
-
// 'where' on Windows might return multiple paths, so take the first one
|
|
39
|
-
const absolutePath = stdout.trim().split('\n')[0].trim();
|
|
40
|
-
console.error(`[DEBUG] GoConfig: Found Go via PATH lookup: ${absolutePath}`);
|
|
41
|
-
return absolutePath;
|
|
42
|
-
}
|
|
43
|
-
catch (error) {
|
|
44
|
-
throw new Error(`Go executable not found via ${checkCommand}: ${error.message}`);
|
|
45
|
-
}
|
|
46
|
-
}
|
|
47
|
-
/**
|
|
48
|
-
* Detects Go installation and returns configuration with absolute path
|
|
49
|
-
*/
|
|
50
|
-
export async function detectGoConfig(customPath) {
|
|
51
|
-
console.error('[DEBUG] GoConfig: Detecting Go installation...');
|
|
52
|
-
// Strategy 1: Try custom path if provided
|
|
53
|
-
if (customPath) {
|
|
54
|
-
try {
|
|
55
|
-
console.error(`[DEBUG] GoConfig: Trying custom Go path: ${customPath}`);
|
|
56
|
-
const { stdout } = await execFileAsync(customPath, ['version'], {
|
|
57
|
-
timeout: 5000,
|
|
58
|
-
env: process.env
|
|
59
|
-
});
|
|
60
|
-
const version = stdout.trim();
|
|
61
|
-
console.error(`[DEBUG] GoConfig: Found Go at custom path ${customPath}: ${version}`);
|
|
62
|
-
return {
|
|
63
|
-
enabled: true,
|
|
64
|
-
executablePath: customPath, // Use the custom path as-is
|
|
65
|
-
version: version
|
|
66
|
-
};
|
|
67
|
-
}
|
|
68
|
-
catch (error) {
|
|
69
|
-
console.error(`[DEBUG] GoConfig: Custom path failed: ${error.message}`);
|
|
70
|
-
// Continue to fallback strategy
|
|
71
|
-
}
|
|
72
|
-
}
|
|
73
|
-
// Strategy 2: Use which/where to find absolute path
|
|
74
|
-
try {
|
|
75
|
-
const absolutePath = await findAbsoluteGoPath();
|
|
76
|
-
// Resolve symlinks to get the real binary path
|
|
77
|
-
const realPath = resolveSymlinks(absolutePath);
|
|
78
|
-
// Verify the resolved path works
|
|
79
|
-
const { stdout } = await execFileAsync(realPath, ['version'], {
|
|
80
|
-
timeout: 5000,
|
|
81
|
-
env: process.env
|
|
82
|
-
});
|
|
83
|
-
const version = stdout.trim();
|
|
84
|
-
console.error(`[DEBUG] GoConfig: Verified Go at ${realPath}: ${version}`);
|
|
85
|
-
return {
|
|
86
|
-
enabled: true,
|
|
87
|
-
executablePath: realPath, // Return the REAL path (symlinks resolved)
|
|
88
|
-
version: version
|
|
89
|
-
};
|
|
90
|
-
}
|
|
91
|
-
catch (error) {
|
|
92
|
-
console.error(`[DEBUG] GoConfig: PATH-based detection failed: ${error.message}`);
|
|
93
|
-
}
|
|
94
|
-
// Strategy 3: Try common absolute paths as fallback
|
|
95
|
-
const commonPaths = [
|
|
96
|
-
'/usr/local/bin/go',
|
|
97
|
-
'/opt/homebrew/bin/go',
|
|
98
|
-
'/usr/bin/go'
|
|
99
|
-
];
|
|
100
|
-
for (const goPath of commonPaths) {
|
|
101
|
-
try {
|
|
102
|
-
console.error(`[DEBUG] GoConfig: Trying fallback path: ${goPath}`);
|
|
103
|
-
const { stdout } = await execFileAsync(goPath, ['version'], {
|
|
104
|
-
timeout: 5000,
|
|
105
|
-
env: process.env
|
|
106
|
-
});
|
|
107
|
-
const version = stdout.trim();
|
|
108
|
-
console.error(`[DEBUG] GoConfig: Found Go at fallback ${goPath}: ${version}`);
|
|
109
|
-
return {
|
|
110
|
-
enabled: true,
|
|
111
|
-
executablePath: goPath,
|
|
112
|
-
version: version
|
|
113
|
-
};
|
|
114
|
-
}
|
|
115
|
-
catch (error) {
|
|
116
|
-
console.error(`[DEBUG] GoConfig: Fallback path ${goPath} failed: ${error.message}`);
|
|
117
|
-
continue;
|
|
118
|
-
}
|
|
119
|
-
}
|
|
120
|
-
const errorMsg = `Go executable not found. Tried custom path, PATH lookup, and common locations.`;
|
|
121
|
-
console.error(`[DEBUG] GoConfig: ${errorMsg}`);
|
|
122
|
-
return {
|
|
123
|
-
enabled: false,
|
|
124
|
-
error: errorMsg
|
|
125
|
-
};
|
|
126
|
-
}
|
|
127
|
-
/**
|
|
128
|
-
* Creates a GoAdapter if Go is available, null otherwise
|
|
129
|
-
*/
|
|
130
|
-
export async function createGoAdapter(customPath) {
|
|
131
|
-
const config = await detectGoConfig(customPath);
|
|
132
|
-
if (!config.enabled || !config.executablePath) {
|
|
133
|
-
console.error('[DEBUG] GoConfig: Go support disabled - no valid Go executable found');
|
|
134
|
-
return null;
|
|
135
|
-
}
|
|
136
|
-
console.error(`[DEBUG] GoConfig: Creating GoAdapter with path: ${config.executablePath}`);
|
|
137
|
-
return new GoAdapter(config.executablePath);
|
|
138
|
-
}
|
|
139
|
-
/**
|
|
140
|
-
* Environment variable names for Go configuration
|
|
141
|
-
*/
|
|
142
|
-
export const GO_CONFIG_ENV = {
|
|
143
|
-
EXECUTABLE_PATH: 'CODE_AUDITOR_GO_PATH',
|
|
144
|
-
DISABLE: 'CODE_AUDITOR_DISABLE_GO'
|
|
145
|
-
};
|
|
146
|
-
/**
|
|
147
|
-
* Gets Go configuration from environment variables
|
|
148
|
-
*/
|
|
149
|
-
export function getGoConfigFromEnv() {
|
|
150
|
-
return {
|
|
151
|
-
customPath: process.env[GO_CONFIG_ENV.EXECUTABLE_PATH],
|
|
152
|
-
disabled: process.env[GO_CONFIG_ENV.DISABLE] === 'true'
|
|
153
|
-
};
|
|
154
|
-
}
|
|
155
|
-
//# sourceMappingURL=GoConfig.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"GoConfig.js","sourceRoot":"","sources":["../../src/adapters/GoConfig.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,135 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Language Adapter Interface - Core abstraction for multi-language support
|
|
3
|
-
*
|
|
4
|
-
* This follows the architecture plan in /docs/MULTI-LANGUAGE-ARCHITECTURE.md
|
|
5
|
-
* Each language implements this interface to provide unified AST access.
|
|
6
|
-
*/
|
|
7
|
-
export interface SourceLocation {
|
|
8
|
-
start: {
|
|
9
|
-
line: number;
|
|
10
|
-
column: number;
|
|
11
|
-
};
|
|
12
|
-
end: {
|
|
13
|
-
line: number;
|
|
14
|
-
column: number;
|
|
15
|
-
};
|
|
16
|
-
}
|
|
17
|
-
export interface ASTNode {
|
|
18
|
-
type: string;
|
|
19
|
-
range: [number, number];
|
|
20
|
-
location: SourceLocation;
|
|
21
|
-
raw: any;
|
|
22
|
-
}
|
|
23
|
-
export interface AST {
|
|
24
|
-
root: ASTNode;
|
|
25
|
-
language: string;
|
|
26
|
-
filePath: string;
|
|
27
|
-
errors: ParseError[];
|
|
28
|
-
}
|
|
29
|
-
export interface ParseError {
|
|
30
|
-
message: string;
|
|
31
|
-
location: SourceLocation;
|
|
32
|
-
severity: 'error' | 'warning';
|
|
33
|
-
}
|
|
34
|
-
export interface NodePattern {
|
|
35
|
-
type?: string | string[];
|
|
36
|
-
name?: string | RegExp;
|
|
37
|
-
hasChild?: NodePattern;
|
|
38
|
-
hasParent?: NodePattern;
|
|
39
|
-
custom?: (node: ASTNode) => boolean;
|
|
40
|
-
}
|
|
41
|
-
export interface FunctionInfo {
|
|
42
|
-
name: string;
|
|
43
|
-
location: SourceLocation;
|
|
44
|
-
parameters: ParameterInfo[];
|
|
45
|
-
returnType?: string;
|
|
46
|
-
isAsync: boolean;
|
|
47
|
-
isExported: boolean;
|
|
48
|
-
isMethod: boolean;
|
|
49
|
-
className?: string;
|
|
50
|
-
complexity?: number;
|
|
51
|
-
}
|
|
52
|
-
export interface ParameterInfo {
|
|
53
|
-
name: string;
|
|
54
|
-
type?: string;
|
|
55
|
-
optional: boolean;
|
|
56
|
-
defaultValue?: string;
|
|
57
|
-
}
|
|
58
|
-
export interface ClassInfo {
|
|
59
|
-
name: string;
|
|
60
|
-
location: SourceLocation;
|
|
61
|
-
methods: FunctionInfo[];
|
|
62
|
-
properties: PropertyInfo[];
|
|
63
|
-
extends?: string[];
|
|
64
|
-
implements?: string[];
|
|
65
|
-
isExported: boolean;
|
|
66
|
-
isAbstract: boolean;
|
|
67
|
-
}
|
|
68
|
-
export interface PropertyInfo {
|
|
69
|
-
name: string;
|
|
70
|
-
type?: string;
|
|
71
|
-
location: SourceLocation;
|
|
72
|
-
isStatic: boolean;
|
|
73
|
-
isPrivate: boolean;
|
|
74
|
-
isReadonly: boolean;
|
|
75
|
-
}
|
|
76
|
-
export interface ImportInfo {
|
|
77
|
-
module: string;
|
|
78
|
-
items: ImportItem[];
|
|
79
|
-
location: SourceLocation;
|
|
80
|
-
isTypeOnly: boolean;
|
|
81
|
-
}
|
|
82
|
-
export interface ImportItem {
|
|
83
|
-
name: string;
|
|
84
|
-
alias?: string;
|
|
85
|
-
isDefault: boolean;
|
|
86
|
-
}
|
|
87
|
-
export interface ExportInfo {
|
|
88
|
-
name: string;
|
|
89
|
-
type: 'function' | 'class' | 'variable' | 'type';
|
|
90
|
-
location: SourceLocation;
|
|
91
|
-
isDefault: boolean;
|
|
92
|
-
}
|
|
93
|
-
/**
|
|
94
|
-
* Language Adapter Interface
|
|
95
|
-
*
|
|
96
|
-
* Each language implements this interface to provide unified access to AST operations.
|
|
97
|
-
* This abstraction allows analyzers to work across multiple languages.
|
|
98
|
-
*/
|
|
99
|
-
export interface LanguageAdapter {
|
|
100
|
-
readonly name: string;
|
|
101
|
-
readonly extensions: string[];
|
|
102
|
-
parse(file: string, content: string): Promise<AST>;
|
|
103
|
-
supportsFile(filePath: string): boolean;
|
|
104
|
-
findNodes(ast: AST, pattern: NodePattern): ASTNode[];
|
|
105
|
-
getParent(node: ASTNode): ASTNode | null;
|
|
106
|
-
getChildren(node: ASTNode): ASTNode[];
|
|
107
|
-
getNodeType(node: ASTNode): string;
|
|
108
|
-
getNodeText(node: ASTNode): string;
|
|
109
|
-
getNodeLocation(node: ASTNode): SourceLocation;
|
|
110
|
-
getNodeName(node: ASTNode): string | null;
|
|
111
|
-
extractFunctions(ast: AST): FunctionInfo[];
|
|
112
|
-
extractClasses(ast: AST): ClassInfo[];
|
|
113
|
-
extractImports(ast: AST): ImportInfo[];
|
|
114
|
-
extractExports(ast: AST): ExportInfo[];
|
|
115
|
-
isClass(node: ASTNode): boolean;
|
|
116
|
-
isFunction(node: ASTNode): boolean;
|
|
117
|
-
isMethod(node: ASTNode): boolean;
|
|
118
|
-
isInterface(node: ASTNode): boolean;
|
|
119
|
-
isImport(node: ASTNode): boolean;
|
|
120
|
-
isVariable(node: ASTNode): boolean;
|
|
121
|
-
}
|
|
122
|
-
/**
|
|
123
|
-
* Language Registry - Manages all language adapters
|
|
124
|
-
*/
|
|
125
|
-
export declare class LanguageRegistry {
|
|
126
|
-
private static instance;
|
|
127
|
-
private adapters;
|
|
128
|
-
static getInstance(): LanguageRegistry;
|
|
129
|
-
register(adapter: LanguageAdapter): void;
|
|
130
|
-
getAdapter(language: string): LanguageAdapter | null;
|
|
131
|
-
getAdapterForFile(filePath: string): LanguageAdapter | null;
|
|
132
|
-
getSupportedExtensions(): string[];
|
|
133
|
-
private getFileExtension;
|
|
134
|
-
}
|
|
135
|
-
//# sourceMappingURL=LanguageAdapter.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"LanguageAdapter.d.ts","sourceRoot":"","sources":["../../src/adapters/LanguageAdapter.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,47 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Language Adapter Interface - Core abstraction for multi-language support
|
|
3
|
-
*
|
|
4
|
-
* This follows the architecture plan in /docs/MULTI-LANGUAGE-ARCHITECTURE.md
|
|
5
|
-
* Each language implements this interface to provide unified AST access.
|
|
6
|
-
*/
|
|
7
|
-
/**
|
|
8
|
-
* Language Registry - Manages all language adapters
|
|
9
|
-
*/
|
|
10
|
-
export class LanguageRegistry {
|
|
11
|
-
static instance;
|
|
12
|
-
adapters = new Map();
|
|
13
|
-
static getInstance() {
|
|
14
|
-
if (!LanguageRegistry.instance) {
|
|
15
|
-
LanguageRegistry.instance = new LanguageRegistry();
|
|
16
|
-
}
|
|
17
|
-
return LanguageRegistry.instance;
|
|
18
|
-
}
|
|
19
|
-
register(adapter) {
|
|
20
|
-
this.adapters.set(adapter.name, adapter);
|
|
21
|
-
console.log(`[LanguageRegistry] Registered adapter: ${adapter.name} for extensions: ${adapter.extensions.join(', ')}`);
|
|
22
|
-
}
|
|
23
|
-
getAdapter(language) {
|
|
24
|
-
return this.adapters.get(language) || null;
|
|
25
|
-
}
|
|
26
|
-
getAdapterForFile(filePath) {
|
|
27
|
-
const extension = this.getFileExtension(filePath);
|
|
28
|
-
for (const adapter of this.adapters.values()) {
|
|
29
|
-
if (adapter.extensions.includes(extension)) {
|
|
30
|
-
return adapter;
|
|
31
|
-
}
|
|
32
|
-
}
|
|
33
|
-
return null;
|
|
34
|
-
}
|
|
35
|
-
getSupportedExtensions() {
|
|
36
|
-
const extensions = new Set();
|
|
37
|
-
for (const adapter of this.adapters.values()) {
|
|
38
|
-
adapter.extensions.forEach(ext => extensions.add(ext));
|
|
39
|
-
}
|
|
40
|
-
return Array.from(extensions);
|
|
41
|
-
}
|
|
42
|
-
getFileExtension(filePath) {
|
|
43
|
-
const lastDot = filePath.lastIndexOf('.');
|
|
44
|
-
return lastDot === -1 ? '' : filePath.substring(lastDot);
|
|
45
|
-
}
|
|
46
|
-
}
|
|
47
|
-
//# sourceMappingURL=LanguageAdapter.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"LanguageAdapter.js","sourceRoot":"","sources":["../../src/adapters/LanguageAdapter.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAuIH;;GAEG;AACH,MAAM,OAAO,gBAAgB;IACnB,MAAM,CAAC,QAAQ,CAAmB;IAClC,QAAQ,GAAG,IAAI,GAAG,EAA2B,CAAC;IAEtD,MAAM,CAAC,WAAW;QAChB,IAAI,CAAC,gBAAgB,CAAC,QAAQ,EAAE,CAAC;YAC/B,gBAAgB,CAAC,QAAQ,GAAG,IAAI,gBAAgB,EAAE,CAAC;QACrD,CAAC;QACD,OAAO,gBAAgB,CAAC,QAAQ,CAAC;IACnC,CAAC;IAED,QAAQ,CAAC,OAAwB;QAC/B,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QACzC,OAAO,CAAC,GAAG,CAAC,0CAA0C,OAAO,CAAC,IAAI,oBAAoB,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACzH,CAAC;IAED,UAAU,CAAC,QAAgB;QACzB,OAAO,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,IAAI,CAAC;IAC7C,CAAC;IAED,iBAAiB,CAAC,QAAgB;QAChC,MAAM,SAAS,GAAG,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC;QAElD,KAAK,MAAM,OAAO,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,EAAE,CAAC;YAC7C,IAAI,OAAO,CAAC,UAAU,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;gBAC3C,OAAO,OAAO,CAAC;YACjB,CAAC;QACH,CAAC;QAED,OAAO,IAAI,CAAC;IACd,CAAC;IAED,sBAAsB;QACpB,MAAM,UAAU,GAAG,IAAI,GAAG,EAAU,CAAC;QACrC,KAAK,MAAM,OAAO,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,EAAE,CAAC;YAC7C,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;QACzD,CAAC;QACD,OAAO,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IAChC,CAAC;IAEO,gBAAgB,CAAC,QAAgB;QACvC,MAAM,OAAO,GAAG,QAAQ,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;QAC1C,OAAO,OAAO,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;IAC3D,CAAC;CACF"}
|
|
@@ -1,43 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* TypeScript Language Adapter
|
|
3
|
-
*
|
|
4
|
-
* Wraps existing TypeScript functionality to conform to the LanguageAdapter interface.
|
|
5
|
-
* This maintains backward compatibility while enabling multi-language support.
|
|
6
|
-
*/
|
|
7
|
-
import { LanguageAdapter, AST, ASTNode, NodePattern, FunctionInfo, ClassInfo, ImportInfo, ExportInfo, SourceLocation } from './LanguageAdapter.js';
|
|
8
|
-
export declare class TypeScriptAdapter implements LanguageAdapter {
|
|
9
|
-
readonly name = "typescript";
|
|
10
|
-
readonly extensions: string[];
|
|
11
|
-
private compilerOptions;
|
|
12
|
-
parse(file: string, content: string): Promise<AST>;
|
|
13
|
-
supportsFile(filePath: string): boolean;
|
|
14
|
-
findNodes(ast: AST, pattern: NodePattern): ASTNode[];
|
|
15
|
-
getParent(node: ASTNode): ASTNode | null;
|
|
16
|
-
getChildren(node: ASTNode): ASTNode[];
|
|
17
|
-
getNodeType(node: ASTNode): string;
|
|
18
|
-
getNodeText(node: ASTNode): string;
|
|
19
|
-
getNodeLocation(node: ASTNode): SourceLocation;
|
|
20
|
-
getNodeName(node: ASTNode): string | null;
|
|
21
|
-
extractFunctions(ast: AST): FunctionInfo[];
|
|
22
|
-
extractClasses(ast: AST): ClassInfo[];
|
|
23
|
-
extractImports(ast: AST): ImportInfo[];
|
|
24
|
-
extractExports(ast: AST): ExportInfo[];
|
|
25
|
-
isClass(node: ASTNode): boolean;
|
|
26
|
-
isFunction(node: ASTNode): boolean;
|
|
27
|
-
isMethod(node: ASTNode): boolean;
|
|
28
|
-
isInterface(node: ASTNode): boolean;
|
|
29
|
-
isImport(node: ASTNode): boolean;
|
|
30
|
-
isVariable(node: ASTNode): boolean;
|
|
31
|
-
private convertNode;
|
|
32
|
-
private getLocationFromPosition;
|
|
33
|
-
private getScriptKind;
|
|
34
|
-
private matchesPattern;
|
|
35
|
-
private extractFunctionInfo;
|
|
36
|
-
private extractClassInfo;
|
|
37
|
-
private extractImportInfo;
|
|
38
|
-
private extractExportInfo;
|
|
39
|
-
private extractParameters;
|
|
40
|
-
private extractPropertyInfo;
|
|
41
|
-
private hasExportModifier;
|
|
42
|
-
}
|
|
43
|
-
//# sourceMappingURL=TypeScriptAdapter.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"TypeScriptAdapter.d.ts","sourceRoot":"","sources":["../../src/adapters/TypeScriptAdapter.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH,OAAO,EACL,eAAe,EACf,GAAG,EACH,OAAO,EACP,WAAW,EACX,YAAY,EACZ,SAAS,EACT,UAAU,EACV,UAAU,EACV,cAAc,EAKf,MAAM,sBAAsB,CAAC;AAE9B,qBAAa,iBAAkB,YAAW,eAAe;IACvD,QAAQ,CAAC,IAAI,gBAAgB;IAC7B,QAAQ,CAAC,UAAU,WAAkC;IAErD,OAAO,CAAC,eAAe,CAQrB;IAEI,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC;IAgCxD,YAAY,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO;IAKvC,SAAS,CAAC,GAAG,EAAE,GAAG,EAAE,OAAO,EAAE,WAAW,GAAG,OAAO,EAAE;IAgBpD,SAAS,CAAC,IAAI,EAAE,OAAO,GAAG,OAAO,GAAG,IAAI;IAQxC,WAAW,CAAC,IAAI,EAAE,OAAO,GAAG,OAAO,EAAE;IAWrC,WAAW,CAAC,IAAI,EAAE,OAAO,GAAG,MAAM;IAIlC,WAAW,CAAC,IAAI,EAAE,OAAO,GAAG,MAAM;IAKlC,eAAe,CAAC,IAAI,EAAE,OAAO,GAAG,cAAc;IAI9C,WAAW,CAAC,IAAI,EAAE,OAAO,GAAG,MAAM,GAAG,IAAI;IAczC,gBAAgB,CAAC,GAAG,EAAE,GAAG,GAAG,YAAY,EAAE;IAmB1C,cAAc,CAAC,GAAG,EAAE,GAAG,GAAG,SAAS,EAAE;IAmBrC,cAAc,CAAC,GAAG,EAAE,GAAG,GAAG,UAAU,EAAE;IAmBtC,cAAc,CAAC,GAAG,EAAE,GAAG,GAAG,UAAU,EAAE;IAqBtC,OAAO,CAAC,IAAI,EAAE,OAAO,GAAG,OAAO;IAK/B,UAAU,CAAC,IAAI,EAAE,OAAO,GAAG,OAAO;IAQlC,QAAQ,CAAC,IAAI,EAAE,OAAO,GAAG,OAAO;IAKhC,WAAW,CAAC,IAAI,EAAE,OAAO,GAAG,OAAO;IAKnC,QAAQ,CAAC,IAAI,EAAE,OAAO,GAAG,OAAO;IAKhC,UAAU,CAAC,IAAI,EAAE,OAAO,GAAG,OAAO;IAOlC,OAAO,CAAC,WAAW;IAanB,OAAO,CAAC,uBAAuB;IAU/B,OAAO,CAAC,aAAa;IAWrB,OAAO,CAAC,cAAc;IAgCtB,OAAO,CAAC,mBAAmB;IA0C3B,OAAO,CAAC,gBAAgB;IAuCxB,OAAO,CAAC,iBAAiB;IA6CzB,OAAO,CAAC,iBAAiB;IAKzB,OAAO,CAAC,iBAAiB;IASzB,OAAO,CAAC,mBAAmB;IAc3B,OAAO,CAAC,iBAAiB;CAM1B"}
|