code-auditor-mcp 3.10.0 → 4.0.1
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/.claude-plugin/marketplace.json +1 -1
- package/CHANGELOG.md +197 -0
- package/dist/__tests__/fixtures/spec-52/item-04-storage-sql-exec-in-loop.d.ts.map +1 -1
- package/dist/__tests__/fixtures/spec-52/item-05-upsert-forms.d.ts +4 -4
- package/dist/__tests__/fixtures/spec-52/item-05-upsert-forms.d.ts.map +1 -1
- package/dist/analyzers/analyzerUtils.d.ts.map +1 -1
- package/dist/analyzers/analyzerUtils.js +2 -2
- package/dist/analyzers/analyzerUtils.js.map +1 -1
- package/dist/analyzers/applicability.d.ts.map +1 -1
- package/dist/analyzers/applicability.js +1 -0
- package/dist/analyzers/applicability.js.map +1 -1
- package/dist/analyzers/cross-language/APIContractAnalyzer.d.ts.map +1 -1
- package/dist/analyzers/cross-language/DependencyGraphBuilder.d.ts +1 -1
- package/dist/analyzers/cross-language/DependencyGraphBuilder.d.ts.map +1 -1
- package/dist/analyzers/cross-language/DependencyGraphBuilder.js +3 -3
- 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/crossDomain/CrossDomainAnalyzer.d.ts +2 -2
- package/dist/analyzers/crossDomain/CrossDomainAnalyzer.d.ts.map +1 -1
- package/dist/analyzers/crossDomain/CrossDomainAnalyzer.js +62 -17
- package/dist/analyzers/crossDomain/CrossDomainAnalyzer.js.map +1 -1
- package/dist/analyzers/documentationAnalyzer.d.ts.map +1 -1
- package/dist/analyzers/documentationAnalyzer.js +14 -16
- package/dist/analyzers/documentationAnalyzer.js.map +1 -1
- package/dist/analyzers/invariantsAnalyzer.d.ts.map +1 -1
- package/dist/analyzers/invariantsAnalyzer.js +30 -25
- package/dist/analyzers/invariantsAnalyzer.js.map +1 -1
- package/dist/analyzers/orm/adapterRegistry.d.ts.map +1 -1
- package/dist/analyzers/orm/drizzleAdapter.d.ts.map +1 -1
- package/dist/analyzers/orm/prismaAdapter.d.ts.map +1 -1
- package/dist/analyzers/provenance.d.ts +10 -1
- package/dist/analyzers/provenance.d.ts.map +1 -1
- package/dist/analyzers/provenance.js +138 -1
- package/dist/analyzers/provenance.js.map +1 -1
- package/dist/analyzers/reactAnalyzer.d.ts +1 -1
- package/dist/analyzers/reactAnalyzer.d.ts.map +1 -1
- package/dist/analyzers/reactAnalyzer.js +34 -116
- package/dist/analyzers/reactAnalyzer.js.map +1 -1
- package/dist/analyzers/ruleRegistry.d.ts +5 -3
- package/dist/analyzers/ruleRegistry.d.ts.map +1 -1
- package/dist/analyzers/ruleRegistry.js +199 -55
- package/dist/analyzers/ruleRegistry.js.map +1 -1
- package/dist/analyzers/universal/UniversalConventionsAnalyzer.d.ts +2 -2
- package/dist/analyzers/universal/UniversalConventionsAnalyzer.d.ts.map +1 -1
- package/dist/analyzers/universal/UniversalConventionsAnalyzer.js +10 -17
- package/dist/analyzers/universal/UniversalConventionsAnalyzer.js.map +1 -1
- package/dist/analyzers/universal/UniversalDRYAnalyzer.d.ts +6 -6
- package/dist/analyzers/universal/UniversalDRYAnalyzer.d.ts.map +1 -1
- package/dist/analyzers/universal/UniversalDRYAnalyzer.js +13 -13
- 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 +266 -101
- package/dist/analyzers/universal/UniversalDataAccessAnalyzer.js.map +1 -1
- package/dist/analyzers/universal/UniversalDocumentationAnalyzer.d.ts +3 -2
- package/dist/analyzers/universal/UniversalDocumentationAnalyzer.d.ts.map +1 -1
- package/dist/analyzers/universal/UniversalDocumentationAnalyzer.js +14 -13
- package/dist/analyzers/universal/UniversalDocumentationAnalyzer.js.map +1 -1
- package/dist/analyzers/universal/UniversalSOLIDAnalyzer.d.ts.map +1 -1
- package/dist/analyzers/universal/UniversalSOLIDAnalyzer.js +11 -11
- package/dist/analyzers/universal/UniversalSOLIDAnalyzer.js.map +1 -1
- package/dist/analyzers/universal/UniversalSchemaAnalyzer.d.ts +1 -1
- package/dist/analyzers/universal/UniversalSchemaAnalyzer.d.ts.map +1 -1
- package/dist/analyzers/universal/UniversalSchemaAnalyzer.js +19 -7
- package/dist/analyzers/universal/UniversalSchemaAnalyzer.js.map +1 -1
- package/dist/analyzers/universal/UniversalSecretsAnalyzer.d.ts.map +1 -1
- package/dist/analyzers/universal/UniversalStylesAnalyzer.d.ts +2 -2
- package/dist/analyzers/universal/UniversalStylesAnalyzer.d.ts.map +1 -1
- package/dist/analyzers/universal/UniversalStylesAnalyzer.js +93 -46
- package/dist/analyzers/universal/UniversalStylesAnalyzer.js.map +1 -1
- package/dist/analyzers/universal/schema/codeAnalysis.d.ts +58 -34
- package/dist/analyzers/universal/schema/codeAnalysis.d.ts.map +1 -1
- package/dist/analyzers/universal/schema/codeAnalysis.js +239 -97
- package/dist/analyzers/universal/schema/codeAnalysis.js.map +1 -1
- package/dist/analyzers/universal/schema/config.d.ts +6 -6
- package/dist/analyzers/universal/schema/config.d.ts.map +1 -1
- package/dist/analyzers/universal/schema/jsonSchema.js +1 -1
- package/dist/analyzers/universal/schema/jsonSchema.js.map +1 -1
- package/dist/analyzers/universal/schema/types.d.ts +10 -0
- package/dist/analyzers/universal/schema/types.d.ts.map +1 -1
- package/dist/analyzers/universal/schema/violations.d.ts +1 -1
- package/dist/analyzers/universal/schema/violations.d.ts.map +1 -1
- package/dist/auditRouter.js +7 -7
- package/dist/auditRouter.js.map +1 -1
- package/dist/auditRunner.d.ts +1 -1
- package/dist/auditRunner.d.ts.map +1 -1
- package/dist/auditRunner.js +53 -8
- package/dist/auditRunner.js.map +1 -1
- package/dist/churn/churnExtractor.js.map +1 -1
- package/dist/cli.js +52 -24
- package/dist/cli.js.map +1 -1
- package/dist/codeIndexDB.d.ts +1 -1
- package/dist/codeIndexDB.d.ts.map +1 -1
- package/dist/codeIndexDB.js +164 -18
- package/dist/codeIndexDB.js.map +1 -1
- package/dist/codeIndexService.d.ts.map +1 -1
- package/dist/codeIndexService.js.map +1 -1
- package/dist/componentScanner.d.ts.map +1 -1
- package/dist/componentScanner.js +89 -28
- package/dist/componentScanner.js.map +1 -1
- package/dist/config/configLoader.js +1 -1
- package/dist/config/configLoader.js.map +1 -1
- package/dist/config/defaults.d.ts +2 -2
- package/dist/config/defaults.d.ts.map +1 -1
- package/dist/config/defaults.js +10 -3
- package/dist/config/defaults.js.map +1 -1
- package/dist/constants.d.ts +1 -1
- package/dist/constants.d.ts.map +1 -1
- package/dist/conventions/conventionMiner.d.ts.map +1 -1
- package/dist/conventions/conventionMiner.js +3 -10
- package/dist/conventions/conventionMiner.js.map +1 -1
- package/dist/coverage/lcovParser.js.map +1 -1
- package/dist/daemon/args.js.map +1 -1
- package/dist/daemon/core.d.ts.map +1 -1
- package/dist/daemon/core.js +50 -46
- package/dist/daemon/core.js.map +1 -1
- package/dist/daemon/lspServer.d.ts.map +1 -1
- package/dist/daemon/lspServer.js +1 -1
- package/dist/daemon/lspServer.js.map +1 -1
- package/dist/daemon/main.d.ts.map +1 -1
- package/dist/daemon/main.js +14 -4
- package/dist/daemon/main.js.map +1 -1
- package/dist/daemon/resolve.js.map +1 -1
- package/dist/daemon/socketServer.d.ts.map +1 -1
- package/dist/enforcement/gate.js +2 -2
- package/dist/functionScanner.d.ts.map +1 -1
- package/dist/functionScanner.js +47 -42
- 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/CodexConfigGenerator.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/GeminiConfigGenerator.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/generators/ZCodeConfigGenerator.d.ts.map +1 -1
- package/dist/graph/importClassification.d.ts +114 -0
- package/dist/graph/importClassification.d.ts.map +1 -0
- package/dist/graph/importClassification.js +393 -0
- package/dist/graph/importClassification.js.map +1 -0
- package/dist/graph/importGraph.d.ts +1 -0
- package/dist/graph/importGraph.d.ts.map +1 -1
- package/dist/graph/importGraph.js +1 -1
- package/dist/graph/importGraph.js.map +1 -1
- package/dist/graph/outputFormatter.js.map +1 -1
- package/dist/hooks/codex.d.ts.map +1 -1
- package/dist/hooks/codex.js +1 -1
- package/dist/hooks/codex.js.map +1 -1
- package/dist/hooks/core.d.ts +1 -1
- package/dist/hooks/core.d.ts.map +1 -1
- package/dist/hooks/core.js +4 -4
- package/dist/hooks/core.js.map +1 -1
- package/dist/hooks/cursor.d.ts.map +1 -1
- package/dist/hooks/cursor.js +2 -2
- package/dist/hooks/cursor.js.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js.map +1 -1
- package/dist/installer.d.ts +13 -7
- package/dist/installer.d.ts.map +1 -1
- package/dist/installer.js +25 -15
- package/dist/installer.js.map +1 -1
- package/dist/invariants/invariant-rules.schema.json +1 -1
- package/dist/invariants/ruleEngine.js.map +1 -1
- package/dist/invariants/ruleValidator.js +1 -1
- package/dist/invariants/ruleValidator.js.map +1 -1
- package/dist/invariants/types.d.ts +1 -1
- package/dist/invariants/types.d.ts.map +1 -1
- package/dist/languages/LanguageOrchestrator.d.ts +3 -2
- package/dist/languages/LanguageOrchestrator.d.ts.map +1 -1
- package/dist/languages/LanguageOrchestrator.js +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 +20 -11
- package/dist/languages/RuntimeManager.d.ts.map +1 -1
- package/dist/languages/RuntimeManager.js +151 -51
- 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 +10 -0
- package/dist/languages/adapterBridge.d.ts.map +1 -1
- package/dist/languages/adapterBridge.js +30 -7
- package/dist/languages/adapterBridge.js.map +1 -1
- package/dist/languages/go/GoAdapter.d.ts +1 -19
- package/dist/languages/go/GoAdapter.d.ts.map +1 -1
- package/dist/languages/go/GoAdapter.js +33 -116
- package/dist/languages/go/GoAdapter.js.map +1 -1
- package/dist/languages/go/analyzer +0 -0
- package/dist/languages/go/analyzer-src/analyzer.go +8 -8
- package/dist/languages/go/analyzer-src/solid.go +5 -5
- package/dist/languages/goBinary.d.ts +46 -0
- package/dist/languages/goBinary.d.ts.map +1 -0
- package/dist/languages/goBinary.js +169 -0
- package/dist/languages/goBinary.js.map +1 -0
- package/dist/languages/tree-sitter/TreeSitterCssAdapter.d.ts +1 -28
- package/dist/languages/tree-sitter/TreeSitterCssAdapter.d.ts.map +1 -1
- package/dist/languages/tree-sitter/TreeSitterCssAdapter.js +3 -42
- package/dist/languages/tree-sitter/TreeSitterCssAdapter.js.map +1 -1
- package/dist/languages/tree-sitter/converter.d.ts.map +1 -1
- package/dist/languages/tree-sitter/converter.js +2 -1
- package/dist/languages/tree-sitter/converter.js.map +1 -1
- package/dist/languages/tree-sitter/parser.js.map +1 -1
- package/dist/languages/tree-sitter/rawNode.d.ts +31 -0
- package/dist/languages/tree-sitter/rawNode.d.ts.map +1 -0
- package/dist/languages/tree-sitter/rawNode.js +38 -0
- package/dist/languages/tree-sitter/rawNode.js.map +1 -0
- package/dist/languages/types.d.ts +15 -21
- package/dist/languages/types.d.ts.map +1 -1
- package/dist/languages/typescript/TreeSitterTypeScriptAdapter.d.ts +12 -32
- package/dist/languages/typescript/TreeSitterTypeScriptAdapter.d.ts.map +1 -1
- package/dist/languages/typescript/TreeSitterTypeScriptAdapter.js +103 -203
- package/dist/languages/typescript/TreeSitterTypeScriptAdapter.js.map +1 -1
- package/dist/ledger.d.ts +3 -0
- package/dist/ledger.d.ts.map +1 -1
- package/dist/ledger.js +45 -9
- package/dist/ledger.js.map +1 -1
- package/dist/mcp-tools/projectTasks.d.ts +37 -37
- package/dist/mcp-tools/projectTasks.js +2 -2
- package/dist/mcp-tools/projectTasks.js.map +1 -1
- package/dist/mcp-tools/whitelistTools.d.ts +17 -17
- package/dist/mcp-tools/whitelistTools.d.ts.map +1 -1
- package/dist/mcp-tools/workflowGuide.js +3 -3
- 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 +13 -13
- package/dist/mcp-tools-shared.js.map +1 -1
- package/dist/mcp-ui-simple.js +7 -7
- package/dist/mcp-ui-simple.js.map +1 -1
- package/dist/mcp.js +14 -14
- package/dist/mcp.js.map +1 -1
- package/dist/mcpAuditJobs.js +7 -7
- package/dist/mcpAuditJobs.js.map +1 -1
- package/dist/mcpAutoIndex.js +1 -1
- package/dist/mcpAutoIndex.js.map +1 -1
- package/dist/mcpToolErrors.d.ts.map +1 -1
- package/dist/mcpToolErrors.js.map +1 -1
- package/dist/native-bootstrap.js.map +1 -1
- package/dist/nextFile.d.ts +2 -2
- package/dist/nextFile.d.ts.map +1 -1
- package/dist/nextFile.js +19 -5
- package/dist/nextFile.js.map +1 -1
- package/dist/nextFileIncremental.d.ts +10 -2
- package/dist/nextFileIncremental.d.ts.map +1 -1
- package/dist/nextFileIncremental.js +45 -16
- package/dist/nextFileIncremental.js.map +1 -1
- package/dist/pipeline.d.ts +2 -2
- package/dist/pipeline.d.ts.map +1 -1
- package/dist/pipeline.js +35 -0
- package/dist/pipeline.js.map +1 -1
- package/dist/pipelineAdapters.d.ts +17 -0
- package/dist/pipelineAdapters.d.ts.map +1 -1
- package/dist/pipelineAdapters.js +356 -197
- package/dist/pipelineAdapters.js.map +1 -1
- package/dist/reporting/csvReportGenerator.d.ts.map +1 -1
- package/dist/reporting/csvReportGenerator.js +6 -6
- package/dist/reporting/csvReportGenerator.js.map +1 -1
- package/dist/reporting/htmlReportGenerator.d.ts.map +1 -1
- package/dist/reporting/htmlReportGenerator.js +11 -11
- package/dist/reporting/htmlReportGenerator.js.map +1 -1
- package/dist/reporting/jsonReportGenerator.d.ts.map +1 -1
- package/dist/reporting/jsonReportGenerator.js +2 -2
- package/dist/reporting/jsonReportGenerator.js.map +1 -1
- package/dist/reporting/reportGenerator.d.ts.map +1 -1
- package/dist/reporting/sarifReportGenerator.d.ts.map +1 -1
- package/dist/reporting/sarifReportGenerator.js +1 -1
- package/dist/reporting/sarifReportGenerator.js.map +1 -1
- package/dist/scripts/benchmarkWorkers.js +1 -1
- package/dist/scripts/benchmarkWorkers.js.map +1 -1
- package/dist/search/QueryParser.d.ts.map +1 -1
- package/dist/search/QueryParser.js.map +1 -1
- package/dist/services/CodeMapGenerator.d.ts.map +1 -1
- package/dist/services/CodeMapGenerator.js.map +1 -1
- package/dist/services/ProjectTaskRepository.d.ts.map +1 -1
- package/dist/services/ProjectTaskRepository.js.map +1 -1
- package/dist/services/auditJobService.js.map +1 -1
- package/dist/services/fileAccounting.d.ts.map +1 -1
- package/dist/services/projectTaskHelpers.js.map +1 -1
- package/dist/services/whitelistService.d.ts.map +1 -1
- package/dist/sqlite/betterSqlite3.d.ts.map +1 -1
- package/dist/sqlite/betterSqlite3.js.map +1 -1
- package/dist/sqlite/nodeSqlite.d.ts.map +1 -1
- package/dist/sqlite/nodeSqlite.js.map +1 -1
- package/dist/structuralSignature.js.map +1 -1
- package/dist/styles/cssAstExtractor.d.ts +2 -2
- package/dist/styles/cssAstExtractor.d.ts.map +1 -1
- package/dist/styles/cssAstExtractor.js +67 -111
- package/dist/styles/cssAstExtractor.js.map +1 -1
- package/dist/styles/styleExtractor.js.map +1 -1
- package/dist/styles/styleIndexer.d.ts.map +1 -1
- package/dist/styles/styleIndexer.js +19 -6
- package/dist/styles/styleIndexer.js.map +1 -1
- package/dist/styles/tailwindConfigLoader.js.map +1 -1
- package/dist/styles/tailwindProbe.d.ts.map +1 -1
- package/dist/styles/tailwindUtilityExpander.d.ts.map +1 -1
- package/dist/styles/tailwindUtilityExpander.js.map +1 -1
- package/dist/telemetry.d.ts +1 -1
- package/dist/telemetry.d.ts.map +1 -1
- package/dist/telemetry.js.map +1 -1
- package/dist/tool-registry.d.ts.map +1 -1
- package/dist/types/crossLanguage.d.ts +1 -1
- package/dist/types/crossLanguage.d.ts.map +1 -1
- package/dist/types.d.ts +67 -19
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js +6 -5
- 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 +1 -17
- package/dist/utils/astParser.d.ts.map +1 -1
- package/dist/utils/astParser.js +18 -60
- package/dist/utils/astParser.js.map +1 -1
- package/dist/utils/astUtils.d.ts +12 -12
- package/dist/utils/astUtils.d.ts.map +1 -1
- package/dist/utils/astUtils.js +83 -82
- package/dist/utils/astUtils.js.map +1 -1
- package/dist/utils/componentPatterns.js.map +1 -1
- package/dist/utils/componentResponsibility.d.ts +8 -8
- package/dist/utils/componentResponsibility.d.ts.map +1 -1
- package/dist/utils/componentResponsibility.js +33 -38
- package/dist/utils/componentResponsibility.js.map +1 -1
- package/dist/utils/dependencyExtractor.d.ts +3 -3
- package/dist/utils/dependencyExtractor.d.ts.map +1 -1
- package/dist/utils/dependencyExtractor.js +26 -30
- package/dist/utils/dependencyExtractor.js.map +1 -1
- package/dist/utils/fileDiscovery.d.ts.map +1 -1
- package/dist/utils/fileDiscovery.js +65 -0
- package/dist/utils/fileDiscovery.js.map +1 -1
- package/dist/utils/jsDocParser.d.ts +6 -6
- package/dist/utils/jsDocParser.d.ts.map +1 -1
- package/dist/utils/jsDocParser.js +18 -21
- package/dist/utils/jsDocParser.js.map +1 -1
- package/dist/utils/reactDetection.d.ts +7 -7
- package/dist/utils/reactDetection.d.ts.map +1 -1
- package/dist/utils/reactDetection.js +42 -49
- package/dist/utils/reactDetection.js.map +1 -1
- package/dist/version.generated.d.ts +1 -1
- package/dist/version.generated.d.ts.map +1 -1
- package/dist/version.generated.js +1 -1
- package/dist/version.generated.js.map +1 -1
- package/dist/workers/auditWorker.js.map +1 -1
- package/package.json +4 -3
- package/plugin/.claude-plugin/plugin.json +1 -1
- package/plugin/README.md +5 -4
- package/plugin/hooks/hooks.json +11 -0
- package/plugin/scripts/hook-common.sh +85 -31
- package/plugin/scripts/hook-warm.sh +44 -0
- package/plugin/skills/code-auditor/SKILL-RULE-KINDS.md +28 -21
- package/plugin/skills/code-auditor/SKILL.md +10 -10
- package/server.json +2 -2
|
@@ -6,17 +6,13 @@
|
|
|
6
6
|
* All `ts.Node`/`ts.SourceFile` parameters have been replaced with `ASTNode`.
|
|
7
7
|
* TS-specific type guards (`ts.is*`) replaced with `node.type` string checks.
|
|
8
8
|
*/
|
|
9
|
-
import { walkAST, getLineAndColumn } from '../languages/adapterBridge.js';
|
|
9
|
+
import { walkAST, getLineAndColumn, getNodeText } from '../languages/adapterBridge.js';
|
|
10
10
|
// ---------------------------------------------------------------------------
|
|
11
11
|
// Helpers
|
|
12
12
|
// ---------------------------------------------------------------------------
|
|
13
|
-
/** Get raw text from a tree-sitter node (stored on ASTNode.raw). */
|
|
14
|
-
function rawText(node) {
|
|
15
|
-
return node.raw?.text ?? '';
|
|
16
|
-
}
|
|
17
13
|
/** Strip quotes from a string literal node. */
|
|
18
|
-
function getStringValue(node) {
|
|
19
|
-
const text =
|
|
14
|
+
function getStringValue(node, sourceCode) {
|
|
15
|
+
const text = getNodeText(node, sourceCode);
|
|
20
16
|
return text.replace(/^["']|["']$/g, '');
|
|
21
17
|
}
|
|
22
18
|
/** Find the first child of a given type. */
|
|
@@ -33,7 +29,7 @@ export function extractFunctionCalls(node, sourceCode, importMap) {
|
|
|
33
29
|
const calls = [];
|
|
34
30
|
walkAST(node, (n) => {
|
|
35
31
|
if (n.type === 'call_expression') {
|
|
36
|
-
const callInfo = resolveCallExpression(n, importMap);
|
|
32
|
+
const callInfo = resolveCallExpression(n, importMap, sourceCode);
|
|
37
33
|
if (callInfo) {
|
|
38
34
|
calls.push(callInfo);
|
|
39
35
|
}
|
|
@@ -44,7 +40,7 @@ export function extractFunctionCalls(node, sourceCode, importMap) {
|
|
|
44
40
|
/**
|
|
45
41
|
* Build a map of imports from import statements
|
|
46
42
|
*/
|
|
47
|
-
export function buildImportMap(root) {
|
|
43
|
+
export function buildImportMap(root, sourceCode) {
|
|
48
44
|
const importMap = new Map();
|
|
49
45
|
walkAST(root, (node) => {
|
|
50
46
|
if (node.type === 'import_statement') {
|
|
@@ -52,14 +48,14 @@ export function buildImportMap(root) {
|
|
|
52
48
|
const stringNode = findChildOfType(node, 'string');
|
|
53
49
|
if (!stringNode)
|
|
54
50
|
return;
|
|
55
|
-
const moduleSpecifier = getStringValue(stringNode);
|
|
51
|
+
const moduleSpecifier = getStringValue(stringNode, sourceCode);
|
|
56
52
|
const importClause = findChildOfType(node, 'import_clause');
|
|
57
53
|
if (!importClause)
|
|
58
54
|
return;
|
|
59
55
|
// Find default import (first identifier child of import_clause before named_imports/namespace_import)
|
|
60
56
|
for (const child of importClause.children ?? []) {
|
|
61
57
|
if (child.type === 'identifier') {
|
|
62
|
-
const localName =
|
|
58
|
+
const localName = getNodeText(child, sourceCode);
|
|
63
59
|
importMap.set(localName, {
|
|
64
60
|
localName,
|
|
65
61
|
importedName: 'default',
|
|
@@ -77,8 +73,8 @@ export function buildImportMap(root) {
|
|
|
77
73
|
const identifiers = spec.children?.filter(c => c.type === 'identifier') ?? [];
|
|
78
74
|
if (identifiers.length === 0)
|
|
79
75
|
continue;
|
|
80
|
-
const importedName =
|
|
81
|
-
const localName = identifiers.length >= 2 ?
|
|
76
|
+
const importedName = getNodeText(identifiers[0], sourceCode);
|
|
77
|
+
const localName = identifiers.length >= 2 ? getNodeText(identifiers[1], sourceCode) : importedName;
|
|
82
78
|
importMap.set(localName, {
|
|
83
79
|
localName,
|
|
84
80
|
importedName,
|
|
@@ -93,7 +89,7 @@ export function buildImportMap(root) {
|
|
|
93
89
|
// namespace_import: [*, 'as', identifier]
|
|
94
90
|
const ident = child.children?.find(c => c.type === 'identifier');
|
|
95
91
|
if (ident) {
|
|
96
|
-
const localName =
|
|
92
|
+
const localName = getNodeText(ident, sourceCode);
|
|
97
93
|
importMap.set(localName, {
|
|
98
94
|
localName,
|
|
99
95
|
importedName: '*',
|
|
@@ -116,14 +112,14 @@ export function buildImportMap(root) {
|
|
|
116
112
|
if (!nameNode || !init)
|
|
117
113
|
return;
|
|
118
114
|
const callee = init.children?.[0];
|
|
119
|
-
if (!callee || callee.type !== 'identifier' ||
|
|
115
|
+
if (!callee || callee.type !== 'identifier' || getNodeText(callee, sourceCode) !== 'require')
|
|
120
116
|
return;
|
|
121
117
|
const args = findChildOfType(init, 'arguments');
|
|
122
118
|
const firstArg = args?.children?.find(c => c.type === 'string');
|
|
123
119
|
if (!firstArg)
|
|
124
120
|
return;
|
|
125
|
-
const modulePath = getStringValue(firstArg);
|
|
126
|
-
const localName =
|
|
121
|
+
const modulePath = getStringValue(firstArg, sourceCode);
|
|
122
|
+
const localName = getNodeText(nameNode, sourceCode);
|
|
127
123
|
importMap.set(localName, {
|
|
128
124
|
localName,
|
|
129
125
|
importedName: 'default',
|
|
@@ -138,7 +134,7 @@ export function buildImportMap(root) {
|
|
|
138
134
|
/**
|
|
139
135
|
* Resolve a call expression to get call information
|
|
140
136
|
*/
|
|
141
|
-
export function resolveCallExpression(callExpr, importMap) {
|
|
137
|
+
export function resolveCallExpression(callExpr, importMap, sourceCode) {
|
|
142
138
|
const expr = callExpr.children?.[0]; // expression being called
|
|
143
139
|
if (!expr)
|
|
144
140
|
return undefined;
|
|
@@ -147,12 +143,12 @@ export function resolveCallExpression(callExpr, importMap) {
|
|
|
147
143
|
let callType = 'direct';
|
|
148
144
|
if (expr.type === 'identifier') {
|
|
149
145
|
// Direct function call: functionName()
|
|
150
|
-
callee =
|
|
146
|
+
callee = getNodeText(expr, sourceCode);
|
|
151
147
|
callType = 'direct';
|
|
152
148
|
}
|
|
153
149
|
else if (expr.type === 'member_expression') {
|
|
154
150
|
// Method call: object.method()
|
|
155
|
-
callee = resolvePropertyAccess(expr, importMap);
|
|
151
|
+
callee = resolvePropertyAccess(expr, importMap, sourceCode);
|
|
156
152
|
callType = 'method';
|
|
157
153
|
}
|
|
158
154
|
else if (expr.type === 'subscript_expression') {
|
|
@@ -178,20 +174,20 @@ export function resolveCallExpression(callExpr, importMap) {
|
|
|
178
174
|
/**
|
|
179
175
|
* Resolve property access expressions to a string representation
|
|
180
176
|
*/
|
|
181
|
-
function resolvePropertyAccess(expr, importMap) {
|
|
177
|
+
function resolvePropertyAccess(expr, importMap, sourceCode) {
|
|
182
178
|
// member_expression: [object, '.', property_identifier]
|
|
183
179
|
const children = expr.children ?? [];
|
|
184
180
|
const propNode = children[children.length - 1]; // property_identifier is last child
|
|
185
181
|
const objNode = children[0]; // object is first child
|
|
186
|
-
const parts = [propNode ?
|
|
182
|
+
const parts = [propNode ? getNodeText(propNode, sourceCode) : ''];
|
|
187
183
|
let current = objNode;
|
|
188
184
|
while (current?.type === 'member_expression') {
|
|
189
185
|
const cc = current.children ?? [];
|
|
190
|
-
parts.unshift(
|
|
186
|
+
parts.unshift(getNodeText(cc[cc.length - 1], sourceCode));
|
|
191
187
|
current = cc[0];
|
|
192
188
|
}
|
|
193
189
|
if (current?.type === 'identifier') {
|
|
194
|
-
const baseName =
|
|
190
|
+
const baseName = getNodeText(current, sourceCode);
|
|
195
191
|
const importInfo = importMap.get(baseName);
|
|
196
192
|
if (importInfo) {
|
|
197
193
|
// Imported module method call
|
|
@@ -222,7 +218,7 @@ export function extractIdentifierUsage(node, sourceCode, importNames) {
|
|
|
222
218
|
}
|
|
223
219
|
if (parent?.type === 'pair' && parent.children?.indexOf(n) === 0)
|
|
224
220
|
return;
|
|
225
|
-
const name =
|
|
221
|
+
const name = getNodeText(n, sourceCode);
|
|
226
222
|
if (!importNames.has(name))
|
|
227
223
|
return;
|
|
228
224
|
const { line } = getLineAndColumn(n);
|
|
@@ -255,14 +251,14 @@ export function extractIdentifierUsage(node, sourceCode, importNames) {
|
|
|
255
251
|
/**
|
|
256
252
|
* Get all local function names defined in the file
|
|
257
253
|
*/
|
|
258
|
-
export function getLocalFunctionNames(root) {
|
|
254
|
+
export function getLocalFunctionNames(root, sourceCode) {
|
|
259
255
|
const functionNames = new Set();
|
|
260
256
|
walkAST(root, (node) => {
|
|
261
257
|
// Function declaration: function_declaration → identifier
|
|
262
258
|
if (node.type === 'function_declaration') {
|
|
263
259
|
const nameNode = findChildOfType(node, 'identifier');
|
|
264
260
|
if (nameNode) {
|
|
265
|
-
functionNames.add(
|
|
261
|
+
functionNames.add(getNodeText(nameNode, sourceCode));
|
|
266
262
|
}
|
|
267
263
|
return;
|
|
268
264
|
}
|
|
@@ -274,7 +270,7 @@ export function getLocalFunctionNames(root) {
|
|
|
274
270
|
const nameNode = findChildOfType(child, 'identifier');
|
|
275
271
|
const init = child.children?.find(c => c.type === 'arrow_function' || c.type === 'function_expression');
|
|
276
272
|
if (nameNode && init) {
|
|
277
|
-
functionNames.add(
|
|
273
|
+
functionNames.add(getNodeText(nameNode, sourceCode));
|
|
278
274
|
}
|
|
279
275
|
}
|
|
280
276
|
return;
|
|
@@ -283,7 +279,7 @@ export function getLocalFunctionNames(root) {
|
|
|
283
279
|
if (node.type === 'class_declaration') {
|
|
284
280
|
const nameNode = findChildOfType(node, 'identifier');
|
|
285
281
|
if (nameNode) {
|
|
286
|
-
const className =
|
|
282
|
+
const className = getNodeText(nameNode, sourceCode);
|
|
287
283
|
functionNames.add(className);
|
|
288
284
|
// Add class methods
|
|
289
285
|
const body = findChildOfType(node, 'class_body');
|
|
@@ -293,7 +289,7 @@ export function getLocalFunctionNames(root) {
|
|
|
293
289
|
continue;
|
|
294
290
|
const mNameNode = findChildOfType(member, 'identifier');
|
|
295
291
|
if (mNameNode) {
|
|
296
|
-
functionNames.add(`${className}.${
|
|
292
|
+
functionNames.add(`${className}.${getNodeText(mNameNode, sourceCode)}`);
|
|
297
293
|
}
|
|
298
294
|
}
|
|
299
295
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dependencyExtractor.js","sourceRoot":"","sources":["../../src/utils/dependencyExtractor.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;
|
|
1
|
+
{"version":3,"file":"dependencyExtractor.js","sourceRoot":"","sources":["../../src/utils/dependencyExtractor.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fileDiscovery.d.ts","sourceRoot":"","sources":["../../src/utils/fileDiscovery.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;
|
|
1
|
+
{"version":3,"file":"fileDiscovery.d.ts","sourceRoot":"","sources":["../../src/utils/fileDiscovery.ts"],"names":[],"mappings":"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"}
|
|
@@ -6,6 +6,7 @@
|
|
|
6
6
|
* include/exclude patterns
|
|
7
7
|
*/
|
|
8
8
|
import { promises as fs } from 'fs';
|
|
9
|
+
import { execFileSync } from 'node:child_process';
|
|
9
10
|
import path from 'path';
|
|
10
11
|
/**
|
|
11
12
|
* Spec 44 — the excluded-directory split. The two halves of the default
|
|
@@ -236,6 +237,57 @@ async function enumerateAllFiles(dir) {
|
|
|
236
237
|
}
|
|
237
238
|
return out;
|
|
238
239
|
}
|
|
240
|
+
function loadGitIgnoreIndex(scanRoot) {
|
|
241
|
+
try {
|
|
242
|
+
const stdout = execFileSync('git', ['ls-files', '--others', '--ignored', '--exclude-standard', '--directory', '-z'], { cwd: scanRoot, encoding: 'utf-8', stdio: ['ignore', 'pipe', 'ignore'] });
|
|
243
|
+
const dirs = [];
|
|
244
|
+
const files = new Set();
|
|
245
|
+
// `-z` NUL-separates; `--directory` emits a wholly-ignored dir with a
|
|
246
|
+
// trailing slash. git always uses `/` separators regardless of platform.
|
|
247
|
+
for (const entry of stdout.split('\0')) {
|
|
248
|
+
const rel = entry.trim();
|
|
249
|
+
if (!rel)
|
|
250
|
+
continue;
|
|
251
|
+
if (rel.endsWith('/')) {
|
|
252
|
+
dirs.push(rel.slice(0, -1));
|
|
253
|
+
}
|
|
254
|
+
else {
|
|
255
|
+
files.add(rel);
|
|
256
|
+
}
|
|
257
|
+
}
|
|
258
|
+
return { dirs, files };
|
|
259
|
+
}
|
|
260
|
+
catch {
|
|
261
|
+
return null;
|
|
262
|
+
}
|
|
263
|
+
}
|
|
264
|
+
/**
|
|
265
|
+
* Process-level cache of the ignored-path index, keyed by resolved scan root.
|
|
266
|
+
* The `changed` gate invokes discovery several times in one short-lived process;
|
|
267
|
+
* without this each call would re-spawn `git ls-files`. A long-lived server
|
|
268
|
+
* reuses the cached index for the lifetime of the process — acceptable, because
|
|
269
|
+
* a `.gitignore` edit mid-process is rare and the worst case is a stale prune on
|
|
270
|
+
* the next discovery, not a corrupt result.
|
|
271
|
+
*/
|
|
272
|
+
const gitIgnoreCache = new Map();
|
|
273
|
+
function gitIgnoreIndexFor(scanRoot) {
|
|
274
|
+
const key = path.resolve(scanRoot);
|
|
275
|
+
if (!gitIgnoreCache.has(key)) {
|
|
276
|
+
gitIgnoreCache.set(key, loadGitIgnoreIndex(key));
|
|
277
|
+
}
|
|
278
|
+
return gitIgnoreCache.get(key);
|
|
279
|
+
}
|
|
280
|
+
/** True when a relative path (or one of its ancestor dirs) is git-ignored. */
|
|
281
|
+
function isIgnoredByGit(relPath, index) {
|
|
282
|
+
const normalized = relPath.split(path.sep).join('/');
|
|
283
|
+
if (index.files.has(normalized))
|
|
284
|
+
return true;
|
|
285
|
+
for (const dir of index.dirs) {
|
|
286
|
+
if (normalized === dir || normalized.startsWith(dir + '/'))
|
|
287
|
+
return true;
|
|
288
|
+
}
|
|
289
|
+
return false;
|
|
290
|
+
}
|
|
239
291
|
/**
|
|
240
292
|
* Recursively find files matching criteria
|
|
241
293
|
*/
|
|
@@ -245,6 +297,17 @@ async function findFilesRecursive(dir, options) {
|
|
|
245
297
|
const entries = await fs.readdir(dir, { withFileTypes: true });
|
|
246
298
|
for (const entry of entries) {
|
|
247
299
|
const fullPath = path.join(dir, entry.name);
|
|
300
|
+
// Spec 58 — prune gitignored paths before the excludeDirs classification,
|
|
301
|
+
// silently (like an infra dir): a disowned file is never source, and a
|
|
302
|
+
// gitignored directory is pruned without descending into (or accounting
|
|
303
|
+
// per-file) its contents. `null` (not a git repo) falls through to the
|
|
304
|
+
// raw walk below.
|
|
305
|
+
if (options.gitIgnore) {
|
|
306
|
+
const rel = path.relative(options.scanRoot, fullPath);
|
|
307
|
+
if (!rel.startsWith('..') && isIgnoredByGit(rel, options.gitIgnore)) {
|
|
308
|
+
continue;
|
|
309
|
+
}
|
|
310
|
+
}
|
|
248
311
|
const excl = classifyExcludedDir(fullPath, options.excludeDirs, options.scanRoot);
|
|
249
312
|
if (excl) {
|
|
250
313
|
const rule = DEFAULT_EXCLUDED_DIRS.includes(excl.dir) ? 'DEFAULT_EXCLUDED_DIRS' : 'excludeDirs';
|
|
@@ -309,6 +372,7 @@ export async function findFiles(rootDir = process.cwd(), options = {}) {
|
|
|
309
372
|
extensions,
|
|
310
373
|
excludeDirs,
|
|
311
374
|
scanRoot: rootDir,
|
|
375
|
+
gitIgnore: gitIgnoreIndexFor(rootDir),
|
|
312
376
|
...(options.onSkippedExtension ? { onSkippedExtension: options.onSkippedExtension } : {}),
|
|
313
377
|
...(options.fileAccounting ? { fileAccounting: options.fileAccounting } : {})
|
|
314
378
|
});
|
|
@@ -371,6 +435,7 @@ export async function findFilesByPattern(rootDir = process.cwd(), pattern, optio
|
|
|
371
435
|
excludeDirs,
|
|
372
436
|
pattern: regex,
|
|
373
437
|
scanRoot: rootDir,
|
|
438
|
+
gitIgnore: gitIgnoreIndexFor(rootDir),
|
|
374
439
|
...(options.onSkippedExtension ? { onSkippedExtension: options.onSkippedExtension } : {}),
|
|
375
440
|
...(options.fileAccounting ? { fileAccounting: options.fileAccounting } : {})
|
|
376
441
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fileDiscovery.js","sourceRoot":"","sources":["../../src/utils/fileDiscovery.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"fileDiscovery.js","sourceRoot":"","sources":["../../src/utils/fileDiscovery.ts"],"names":[],"mappings":"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"}
|
|
@@ -41,37 +41,37 @@ export interface JSDocInfo {
|
|
|
41
41
|
* @param node The AST node to extract JSDoc from
|
|
42
42
|
* @returns Extracted JSDoc information
|
|
43
43
|
*/
|
|
44
|
-
export declare function extractJSDoc(node: ASTNode): JSDocInfo;
|
|
44
|
+
export declare function extractJSDoc(node: ASTNode, sourceCode: string): JSDocInfo;
|
|
45
45
|
/**
|
|
46
46
|
* Extract JSDoc for function-like declarations.
|
|
47
47
|
* @param node Function declaration, method definition, or arrow function AST node
|
|
48
48
|
* @returns JSDoc information formatted for EnhancedFunctionMetadata
|
|
49
49
|
*/
|
|
50
|
-
export declare function extractFunctionJSDoc(node: ASTNode): EnhancedFunctionMetadata['jsDoc'];
|
|
50
|
+
export declare function extractFunctionJSDoc(node: ASTNode, sourceCode: string): EnhancedFunctionMetadata['jsDoc'];
|
|
51
51
|
/**
|
|
52
52
|
* Extract parameter information including JSDoc.
|
|
53
53
|
* @param node Function-like declaration AST node
|
|
54
54
|
* @returns Array of parameter information
|
|
55
55
|
*/
|
|
56
|
-
export declare function extractParameters(node: ASTNode): EnhancedFunctionMetadata['parameters'];
|
|
56
|
+
export declare function extractParameters(node: ASTNode, sourceCode: string): EnhancedFunctionMetadata['parameters'];
|
|
57
57
|
/**
|
|
58
58
|
* Extract return type information including JSDoc.
|
|
59
59
|
* @param node Function-like declaration AST node
|
|
60
60
|
* @returns Return type string or undefined
|
|
61
61
|
*/
|
|
62
|
-
export declare function extractReturnType(node: ASTNode): string | undefined;
|
|
62
|
+
export declare function extractReturnType(node: ASTNode, sourceCode: string): string | undefined;
|
|
63
63
|
/**
|
|
64
64
|
* Check if a function has JSDoc documentation.
|
|
65
65
|
* @param node The AST node
|
|
66
66
|
* @returns True if the function has JSDoc
|
|
67
67
|
*/
|
|
68
|
-
export declare function hasJSDoc(node: ASTNode): boolean;
|
|
68
|
+
export declare function hasJSDoc(node: ASTNode, sourceCode: string): boolean;
|
|
69
69
|
/**
|
|
70
70
|
* Extract all JSDoc tags from a node.
|
|
71
71
|
* @param node The AST node
|
|
72
72
|
* @returns Map of tag names to their values
|
|
73
73
|
*/
|
|
74
|
-
export declare function extractAllJSDocTags(node: ASTNode): Record<string, string[]>;
|
|
74
|
+
export declare function extractAllJSDocTags(node: ASTNode, sourceCode: string): Record<string, string[]>;
|
|
75
75
|
/**
|
|
76
76
|
* Create a searchable text representation of JSDoc.
|
|
77
77
|
* @param jsDoc JSDoc information
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"jsDocParser.d.ts","sourceRoot":"","sources":["../../src/utils/jsDocParser.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAC;AAErD,OAAO,EAAE,wBAAwB,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"jsDocParser.d.ts","sourceRoot":"","sources":["../../src/utils/jsDocParser.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAC;AAErD,OAAO,EAAE,wBAAwB,EAAE,MAAM,aAAa,CAAC;AAevD;;GAEG;AACH,MAAM,WAAW,SAAS;IACxB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IACpB,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;IAChC,MAAM,CAAC,EAAE,KAAK,CAAC;QACb,IAAI,EAAE,MAAM,CAAC;QACb,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,QAAQ,CAAC,EAAE,OAAO,CAAC;QACnB,YAAY,CAAC,EAAE,MAAM,CAAC;KACvB,CAAC,CAAC;IACH,OAAO,CAAC,EAAE;QACR,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,WAAW,CAAC,EAAE,MAAM,CAAC;KACtB,CAAC;IACF,MAAM,CAAC,EAAE,KAAK,CAAC;QACb,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,WAAW,CAAC,EAAE,MAAM,CAAC;KACtB,CAAC,CAAC;CACJ;AAmKD;;;;GAIG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,GAAG,SAAS,CAgCzE;AA0DD;;;;GAIG;AACH,wBAAgB,oBAAoB,CAClC,IAAI,EAAE,OAAO,EACb,UAAU,EAAE,MAAM,GACjB,wBAAwB,CAAC,OAAO,CAAC,CA4BnC;AAED;;;;GAIG;AACH,wBAAgB,iBAAiB,CAC/B,IAAI,EAAE,OAAO,EACb,UAAU,EAAE,MAAM,GACjB,wBAAwB,CAAC,YAAY,CAAC,CAuFxC;AAED;;;;GAIG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAcvF;AAED;;;;GAIG;AACH,wBAAgB,QAAQ,CAAC,IAAI,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAGnE;AAED;;;;GAIG;AACH,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CA4B/F;AAED;;;;GAIG;AACH,wBAAgB,yBAAyB,CAAC,KAAK,EAAE,wBAAwB,CAAC,OAAO,CAAC,GAAG,MAAM,CAoB1F"}
|
|
@@ -11,13 +11,10 @@
|
|
|
11
11
|
* All `ts.Node`/`ts.SourceFile`/`ts.JSDoc`/`ts.JSDocTag` usage replaced with
|
|
12
12
|
* tree-sitter `ASTNode` + plain-text parsing of comment content.
|
|
13
13
|
*/
|
|
14
|
+
import { getNodeText } from '../languages/adapterBridge.js';
|
|
14
15
|
// ---------------------------------------------------------------------------
|
|
15
16
|
// Helpers
|
|
16
17
|
// ---------------------------------------------------------------------------
|
|
17
|
-
/** Get raw text from a tree-sitter node (stored on ASTNode.raw). */
|
|
18
|
-
function rawText(node) {
|
|
19
|
-
return node.raw?.text ?? '';
|
|
20
|
-
}
|
|
21
18
|
/** Find the first child of a given type. */
|
|
22
19
|
function findChildOfType(node, type) {
|
|
23
20
|
return node.children?.find(c => c.type === type);
|
|
@@ -161,7 +158,7 @@ function parseTag(tagName, content) {
|
|
|
161
158
|
* @param node The AST node to extract JSDoc from
|
|
162
159
|
* @returns Extracted JSDoc information
|
|
163
160
|
*/
|
|
164
|
-
export function extractJSDoc(node) {
|
|
161
|
+
export function extractJSDoc(node, sourceCode) {
|
|
165
162
|
const jsDocInfo = {
|
|
166
163
|
tags: {}
|
|
167
164
|
};
|
|
@@ -171,7 +168,7 @@ export function extractJSDoc(node) {
|
|
|
171
168
|
return jsDocInfo;
|
|
172
169
|
// Process each comment's text
|
|
173
170
|
for (const comment of comments) {
|
|
174
|
-
const commentText =
|
|
171
|
+
const commentText = getNodeText(comment, sourceCode);
|
|
175
172
|
if (!commentText)
|
|
176
173
|
continue;
|
|
177
174
|
// Only process JSDoc-style comments (/** ... */)
|
|
@@ -249,15 +246,15 @@ function applyParsedTag(tag, jsDocInfo) {
|
|
|
249
246
|
* @param node Function declaration, method definition, or arrow function AST node
|
|
250
247
|
* @returns JSDoc information formatted for EnhancedFunctionMetadata
|
|
251
248
|
*/
|
|
252
|
-
export function extractFunctionJSDoc(node) {
|
|
249
|
+
export function extractFunctionJSDoc(node, sourceCode) {
|
|
253
250
|
// Also check the parent for JSDoc that might be attached to a variable declarator
|
|
254
251
|
// (e.g., const x = () => {} where JSDoc is above the variable statement)
|
|
255
|
-
let jsDocInfo = extractJSDoc(node);
|
|
252
|
+
let jsDocInfo = extractJSDoc(node, sourceCode);
|
|
256
253
|
// If no JSDoc found directly, check parent (for variable declarations with JSDoc)
|
|
257
254
|
if (!jsDocInfo.description && !jsDocInfo.params?.length && !jsDocInfo.returns &&
|
|
258
255
|
node.parent && (node.parent.type === 'variable_declarator' ||
|
|
259
256
|
node.parent.type === 'lexical_declaration' || node.parent.type === 'variable_declaration')) {
|
|
260
|
-
jsDocInfo = extractJSDoc(node.parent);
|
|
257
|
+
jsDocInfo = extractJSDoc(node.parent, sourceCode);
|
|
261
258
|
}
|
|
262
259
|
// Convert to EnhancedFunctionMetadata format
|
|
263
260
|
const result = {};
|
|
@@ -277,8 +274,8 @@ export function extractFunctionJSDoc(node) {
|
|
|
277
274
|
* @param node Function-like declaration AST node
|
|
278
275
|
* @returns Array of parameter information
|
|
279
276
|
*/
|
|
280
|
-
export function extractParameters(node) {
|
|
281
|
-
const jsDocInfo = extractJSDoc(node);
|
|
277
|
+
export function extractParameters(node, sourceCode) {
|
|
278
|
+
const jsDocInfo = extractJSDoc(node, sourceCode);
|
|
282
279
|
const parameters = [];
|
|
283
280
|
// Extract parameters from formal_parameters child
|
|
284
281
|
const formalParams = findChildOfType(node, 'formal_parameters');
|
|
@@ -296,7 +293,7 @@ export function extractParameters(node) {
|
|
|
296
293
|
}
|
|
297
294
|
if (!nameNode)
|
|
298
295
|
continue;
|
|
299
|
-
const paramName =
|
|
296
|
+
const paramName = getNodeText(nameNode, sourceCode);
|
|
300
297
|
// Check for optional (has '?' token)
|
|
301
298
|
let isOptional = param.type === 'optional_parameter';
|
|
302
299
|
// Check for initializer (default value) — parameter has '=' child followed by value
|
|
@@ -305,7 +302,7 @@ export function extractParameters(node) {
|
|
|
305
302
|
if (eqIndex !== undefined && eqIndex >= 0) {
|
|
306
303
|
const defaultNode = param.children[eqIndex + 1];
|
|
307
304
|
if (defaultNode) {
|
|
308
|
-
defaultValue =
|
|
305
|
+
defaultValue = getNodeText(defaultNode, sourceCode);
|
|
309
306
|
isOptional = true;
|
|
310
307
|
}
|
|
311
308
|
}
|
|
@@ -316,7 +313,7 @@ export function extractParameters(node) {
|
|
|
316
313
|
// Get type annotation
|
|
317
314
|
const typeAnnot = findChildOfType(param, 'type_annotation');
|
|
318
315
|
if (typeAnnot) {
|
|
319
|
-
paramInfo.type =
|
|
316
|
+
paramInfo.type = getNodeText(typeAnnot, sourceCode).replace(/^:\s*/, '').trim();
|
|
320
317
|
}
|
|
321
318
|
if (defaultValue) {
|
|
322
319
|
paramInfo.defaultValue = defaultValue;
|
|
@@ -358,14 +355,14 @@ export function extractParameters(node) {
|
|
|
358
355
|
* @param node Function-like declaration AST node
|
|
359
356
|
* @returns Return type string or undefined
|
|
360
357
|
*/
|
|
361
|
-
export function extractReturnType(node) {
|
|
358
|
+
export function extractReturnType(node, sourceCode) {
|
|
362
359
|
// First try to get the TypeScript return type annotation
|
|
363
360
|
const typeAnnot = findChildOfType(node, 'type_annotation');
|
|
364
361
|
if (typeAnnot) {
|
|
365
|
-
return
|
|
362
|
+
return getNodeText(typeAnnot, sourceCode).replace(/^:\s*/, '').trim();
|
|
366
363
|
}
|
|
367
364
|
// Fall back to JSDoc return type
|
|
368
|
-
const jsDocInfo = extractJSDoc(node);
|
|
365
|
+
const jsDocInfo = extractJSDoc(node, sourceCode);
|
|
369
366
|
if (jsDocInfo.returns?.type) {
|
|
370
367
|
return jsDocInfo.returns.type;
|
|
371
368
|
}
|
|
@@ -376,17 +373,17 @@ export function extractReturnType(node) {
|
|
|
376
373
|
* @param node The AST node
|
|
377
374
|
* @returns True if the function has JSDoc
|
|
378
375
|
*/
|
|
379
|
-
export function hasJSDoc(node) {
|
|
376
|
+
export function hasJSDoc(node, sourceCode) {
|
|
380
377
|
const comments = getPrecedingComments(node);
|
|
381
|
-
return comments.some(c =>
|
|
378
|
+
return comments.some(c => getNodeText(c, sourceCode).startsWith('/**'));
|
|
382
379
|
}
|
|
383
380
|
/**
|
|
384
381
|
* Extract all JSDoc tags from a node.
|
|
385
382
|
* @param node The AST node
|
|
386
383
|
* @returns Map of tag names to their values
|
|
387
384
|
*/
|
|
388
|
-
export function extractAllJSDocTags(node) {
|
|
389
|
-
const jsDocInfo = extractJSDoc(node);
|
|
385
|
+
export function extractAllJSDocTags(node, sourceCode) {
|
|
386
|
+
const jsDocInfo = extractJSDoc(node, sourceCode);
|
|
390
387
|
const allTags = { ...jsDocInfo.tags };
|
|
391
388
|
// Add structured tags to the result
|
|
392
389
|
if (jsDocInfo.params && jsDocInfo.params.length > 0) {
|