@mycodemap/mycodemap 0.4.1 → 0.5.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/CHANGELOG.md +100 -0
- package/README.md +307 -243
- package/dist/ai/claude.d.ts +38 -0
- package/dist/ai/claude.d.ts.map +1 -0
- package/dist/ai/claude.js +169 -0
- package/dist/ai/claude.js.map +1 -0
- package/dist/ai/codex.d.ts +38 -0
- package/dist/ai/codex.d.ts.map +1 -0
- package/dist/ai/codex.js +169 -0
- package/dist/ai/codex.js.map +1 -0
- package/dist/ai/factory.d.ts +48 -0
- package/dist/ai/factory.d.ts.map +1 -0
- package/dist/ai/factory.js +95 -0
- package/dist/ai/factory.js.map +1 -0
- package/dist/ai/index.d.ts +12 -0
- package/dist/ai/index.d.ts.map +1 -0
- package/dist/ai/index.js +29 -0
- package/dist/ai/index.js.map +1 -0
- package/dist/ai/provider.d.ts +70 -0
- package/dist/ai/provider.d.ts.map +1 -0
- package/dist/ai/provider.js +31 -0
- package/dist/ai/provider.js.map +1 -0
- package/dist/ai/subagent-caller.d.ts +90 -0
- package/dist/ai/subagent-caller.d.ts.map +1 -0
- package/dist/ai/subagent-caller.js +280 -0
- package/dist/ai/subagent-caller.js.map +1 -0
- package/dist/ai/types.d.ts +70 -0
- package/dist/ai/types.d.ts.map +1 -0
- package/dist/ai/types.js +5 -0
- package/dist/ai/types.js.map +1 -0
- package/dist/cli/commands/analyze-options.d.ts +36 -0
- package/dist/cli/commands/analyze-options.d.ts.map +1 -0
- package/dist/cli/commands/analyze-options.js +147 -0
- package/dist/cli/commands/analyze-options.js.map +1 -0
- package/dist/cli/commands/analyze.d.ts +93 -4
- package/dist/cli/commands/analyze.d.ts.map +1 -1
- package/dist/cli/commands/analyze.js +592 -176
- package/dist/cli/commands/analyze.js.map +1 -1
- package/dist/cli/commands/ci.d.ts +47 -1
- package/dist/cli/commands/ci.d.ts.map +1 -1
- package/dist/cli/commands/ci.js +208 -1
- package/dist/cli/commands/ci.js.map +1 -1
- package/dist/cli/commands/design.d.ts +47 -0
- package/dist/cli/commands/design.d.ts.map +1 -0
- package/dist/cli/commands/design.js +268 -0
- package/dist/cli/commands/design.js.map +1 -0
- package/dist/cli/commands/export.d.ts.map +1 -1
- package/dist/cli/commands/export.js +2 -2
- package/dist/cli/commands/export.js.map +1 -1
- package/dist/cli/commands/generate.d.ts +8 -2
- package/dist/cli/commands/generate.d.ts.map +1 -1
- package/dist/cli/commands/generate.js +151 -22
- package/dist/cli/commands/generate.js.map +1 -1
- package/dist/cli/commands/init.d.ts.map +1 -1
- package/dist/cli/commands/init.js +2 -13
- package/dist/cli/commands/init.js.map +1 -1
- package/dist/cli/commands/server.d.ts.map +1 -1
- package/dist/cli/commands/server.js +2 -5
- package/dist/cli/commands/server.js.map +1 -1
- package/dist/cli/commands/ship/checker.d.ts.map +1 -1
- package/dist/cli/commands/ship/checker.js +0 -3
- package/dist/cli/commands/ship/checker.js.map +1 -1
- package/dist/cli/commands/ship/pipeline.d.ts.map +1 -1
- package/dist/cli/commands/ship/pipeline.js +8 -1
- package/dist/cli/commands/ship/pipeline.js.map +1 -1
- package/dist/cli/commands/ship/publisher.d.ts +9 -1
- package/dist/cli/commands/ship/publisher.d.ts.map +1 -1
- package/dist/cli/commands/ship/publisher.js +149 -6
- package/dist/cli/commands/ship/publisher.js.map +1 -1
- package/dist/cli/commands/ship/rules/quality-rules.d.ts +0 -1
- package/dist/cli/commands/ship/rules/quality-rules.d.ts.map +1 -1
- package/dist/cli/commands/ship/rules/quality-rules.js +4 -76
- package/dist/cli/commands/ship/rules/quality-rules.js.map +1 -1
- package/dist/cli/commands/workflow.js +4 -4
- package/dist/cli/commands/workflow.js.map +1 -1
- package/dist/cli/config-loader.d.ts +31 -0
- package/dist/cli/config-loader.d.ts.map +1 -0
- package/dist/cli/config-loader.js +235 -0
- package/dist/cli/config-loader.js.map +1 -0
- package/dist/cli/design-contract-loader.d.ts +15 -0
- package/dist/cli/design-contract-loader.d.ts.map +1 -0
- package/dist/cli/design-contract-loader.js +175 -0
- package/dist/cli/design-contract-loader.js.map +1 -0
- package/dist/cli/design-contract-schema.d.ts +11 -0
- package/dist/cli/design-contract-schema.d.ts.map +1 -0
- package/dist/cli/design-contract-schema.js +75 -0
- package/dist/cli/design-contract-schema.js.map +1 -0
- package/dist/cli/design-handoff-builder.d.ts +15 -0
- package/dist/cli/design-handoff-builder.d.ts.map +1 -0
- package/dist/cli/design-handoff-builder.js +345 -0
- package/dist/cli/design-handoff-builder.js.map +1 -0
- package/dist/cli/design-scope-resolver.d.ts +8 -0
- package/dist/cli/design-scope-resolver.d.ts.map +1 -0
- package/dist/cli/design-scope-resolver.js +712 -0
- package/dist/cli/design-scope-resolver.js.map +1 -0
- package/dist/cli/design-verification-builder.d.ts +8 -0
- package/dist/cli/design-verification-builder.d.ts.map +1 -0
- package/dist/cli/design-verification-builder.js +369 -0
- package/dist/cli/design-verification-builder.js.map +1 -0
- package/dist/cli/index.js +20 -63
- package/dist/cli/index.js.map +1 -1
- package/dist/cli/removed-commands.d.ts +9 -0
- package/dist/cli/removed-commands.d.ts.map +1 -0
- package/dist/cli/removed-commands.js +48 -0
- package/dist/cli/removed-commands.js.map +1 -0
- package/dist/cli/storage-runtime.d.ts +8 -0
- package/dist/cli/storage-runtime.d.ts.map +1 -0
- package/dist/cli/storage-runtime.js +14 -0
- package/dist/cli/storage-runtime.js.map +1 -0
- package/dist/cli/tree-sitter-check.d.ts.map +1 -1
- package/dist/cli/tree-sitter-check.js +0 -1
- package/dist/cli/tree-sitter-check.js.map +1 -1
- package/dist/cli-new/commands/export.d.ts.map +1 -1
- package/dist/cli-new/commands/export.js +2 -2
- package/dist/cli-new/commands/export.js.map +1 -1
- package/dist/cli-new/commands/query.d.ts.map +1 -1
- package/dist/cli-new/commands/query.js +5 -4
- package/dist/cli-new/commands/query.js.map +1 -1
- package/dist/cli-new/commands/server.d.ts.map +1 -1
- package/dist/cli-new/commands/server.js +2 -6
- package/dist/cli-new/commands/server.js.map +1 -1
- package/dist/cli-new/index.d.ts.map +1 -1
- package/dist/cli-new/index.js +0 -2
- package/dist/cli-new/index.js.map +1 -1
- package/dist/core/analyzer.d.ts.map +1 -1
- package/dist/core/analyzer.js +7 -39
- package/dist/core/analyzer.js.map +1 -1
- package/dist/core/file-discovery.d.ts +17 -0
- package/dist/core/file-discovery.d.ts.map +1 -0
- package/dist/core/file-discovery.js +75 -0
- package/dist/core/file-discovery.js.map +1 -0
- package/dist/core/global-index.d.ts +5 -0
- package/dist/core/global-index.d.ts.map +1 -1
- package/dist/core/global-index.js +71 -21
- package/dist/core/global-index.js.map +1 -1
- package/dist/generator/ai-overview.d.ts +51 -0
- package/dist/generator/ai-overview.d.ts.map +1 -0
- package/dist/generator/ai-overview.js +160 -0
- package/dist/generator/ai-overview.js.map +1 -0
- package/dist/generator/index.d.ts.map +1 -1
- package/dist/generator/index.js +8 -0
- package/dist/generator/index.js.map +1 -1
- package/dist/infrastructure/parser/implementations/GoParser.d.ts +2 -5
- package/dist/infrastructure/parser/implementations/GoParser.d.ts.map +1 -1
- package/dist/infrastructure/parser/implementations/GoParser.js +2 -5
- package/dist/infrastructure/parser/implementations/GoParser.js.map +1 -1
- package/dist/infrastructure/parser/implementations/PythonParser.d.ts +1 -5
- package/dist/infrastructure/parser/implementations/PythonParser.d.ts.map +1 -1
- package/dist/infrastructure/parser/implementations/PythonParser.js +1 -5
- package/dist/infrastructure/parser/implementations/PythonParser.js.map +1 -1
- package/dist/infrastructure/parser/implementations/TypeScriptParser.d.ts +1 -5
- package/dist/infrastructure/parser/implementations/TypeScriptParser.d.ts.map +1 -1
- package/dist/infrastructure/parser/implementations/TypeScriptParser.js +1 -5
- package/dist/infrastructure/parser/implementations/TypeScriptParser.js.map +1 -1
- package/dist/infrastructure/storage/StorageFactory.d.ts +12 -6
- package/dist/infrastructure/storage/StorageFactory.d.ts.map +1 -1
- package/dist/infrastructure/storage/StorageFactory.js +59 -43
- package/dist/infrastructure/storage/StorageFactory.js.map +1 -1
- package/dist/infrastructure/storage/adapters/FileSystemStorage.d.ts.map +1 -1
- package/dist/infrastructure/storage/adapters/FileSystemStorage.js +24 -137
- package/dist/infrastructure/storage/adapters/FileSystemStorage.js.map +1 -1
- package/dist/infrastructure/storage/adapters/KuzuDBStorage.d.ts +10 -18
- package/dist/infrastructure/storage/adapters/KuzuDBStorage.d.ts.map +1 -1
- package/dist/infrastructure/storage/adapters/KuzuDBStorage.js +103 -146
- package/dist/infrastructure/storage/adapters/KuzuDBStorage.js.map +1 -1
- package/dist/infrastructure/storage/adapters/MemoryStorage.d.ts +0 -1
- package/dist/infrastructure/storage/adapters/MemoryStorage.d.ts.map +1 -1
- package/dist/infrastructure/storage/adapters/MemoryStorage.js +16 -136
- package/dist/infrastructure/storage/adapters/MemoryStorage.js.map +1 -1
- package/dist/infrastructure/storage/adapters/Neo4jStorage.d.ts +9 -17
- package/dist/infrastructure/storage/adapters/Neo4jStorage.d.ts.map +1 -1
- package/dist/infrastructure/storage/adapters/Neo4jStorage.js +78 -138
- package/dist/infrastructure/storage/adapters/Neo4jStorage.js.map +1 -1
- package/dist/infrastructure/storage/graph-helpers.d.ts +16 -0
- package/dist/infrastructure/storage/graph-helpers.d.ts.map +1 -0
- package/dist/infrastructure/storage/graph-helpers.js +161 -0
- package/dist/infrastructure/storage/graph-helpers.js.map +1 -0
- package/dist/infrastructure/storage/index.d.ts.map +1 -1
- package/dist/interface/config/index.d.ts +10 -1
- package/dist/interface/config/index.d.ts.map +1 -1
- package/dist/interface/types/design-contract.d.ts +68 -0
- package/dist/interface/types/design-contract.d.ts.map +1 -0
- package/dist/interface/types/design-contract.js +7 -0
- package/dist/interface/types/design-contract.js.map +1 -0
- package/dist/interface/types/design-handoff.d.ts +68 -0
- package/dist/interface/types/design-handoff.d.ts.map +1 -0
- package/dist/interface/types/design-handoff.js +4 -0
- package/dist/interface/types/design-handoff.js.map +1 -0
- package/dist/interface/types/design-mapping.d.ts +51 -0
- package/dist/interface/types/design-mapping.d.ts.map +1 -0
- package/dist/interface/types/design-mapping.js +4 -0
- package/dist/interface/types/design-mapping.js.map +1 -0
- package/dist/interface/types/design-verification.d.ts +49 -0
- package/dist/interface/types/design-verification.d.ts.map +1 -0
- package/dist/interface/types/design-verification.js +4 -0
- package/dist/interface/types/design-verification.js.map +1 -0
- package/dist/interface/types/index.d.ts +17 -0
- package/dist/interface/types/index.d.ts.map +1 -1
- package/dist/interface/types/storage.d.ts +1 -4
- package/dist/interface/types/storage.d.ts.map +1 -1
- package/dist/orchestrator/ai-feed-generator.d.ts +210 -0
- package/dist/orchestrator/ai-feed-generator.d.ts.map +1 -0
- package/dist/orchestrator/ai-feed-generator.js +377 -0
- package/dist/orchestrator/ai-feed-generator.js.map +1 -0
- package/dist/orchestrator/confidence.d.ts +9 -9
- package/dist/orchestrator/confidence.d.ts.map +1 -1
- package/dist/orchestrator/confidence.js +44 -67
- package/dist/orchestrator/confidence.js.map +1 -1
- package/dist/orchestrator/file-header-scanner.d.ts.map +1 -1
- package/dist/orchestrator/file-header-scanner.js +22 -31
- package/dist/orchestrator/file-header-scanner.js.map +1 -1
- package/dist/orchestrator/intent-router.d.ts +2 -11
- package/dist/orchestrator/intent-router.d.ts.map +1 -1
- package/dist/orchestrator/intent-router.js +58 -49
- package/dist/orchestrator/intent-router.js.map +1 -1
- package/dist/orchestrator/tool-orchestrator.d.ts.map +1 -1
- package/dist/orchestrator/tool-orchestrator.js +6 -4
- package/dist/orchestrator/tool-orchestrator.js.map +1 -1
- package/dist/orchestrator/types.d.ts +113 -2
- package/dist/orchestrator/types.d.ts.map +1 -1
- package/dist/orchestrator/types.js +29 -0
- package/dist/orchestrator/types.js.map +1 -1
- package/dist/orchestrator/workflow/config.d.ts +4 -12
- package/dist/orchestrator/workflow/config.d.ts.map +1 -1
- package/dist/orchestrator/workflow/config.js +4 -6
- package/dist/orchestrator/workflow/config.js.map +1 -1
- package/dist/orchestrator/workflow/git-analyzer.d.ts.map +1 -1
- package/dist/orchestrator/workflow/git-analyzer.js +9 -19
- package/dist/orchestrator/workflow/git-analyzer.js.map +1 -1
- package/dist/orchestrator/workflow/phase-inheritance.d.ts.map +1 -1
- package/dist/orchestrator/workflow/phase-inheritance.js +14 -23
- package/dist/orchestrator/workflow/phase-inheritance.js.map +1 -1
- package/dist/orchestrator/workflow/result-fusion.d.ts.map +1 -1
- package/dist/orchestrator/workflow/result-fusion.js +9 -11
- package/dist/orchestrator/workflow/result-fusion.js.map +1 -1
- package/dist/orchestrator/workflow/templates.d.ts +4 -1
- package/dist/orchestrator/workflow/templates.d.ts.map +1 -1
- package/dist/orchestrator/workflow/templates.js +49 -207
- package/dist/orchestrator/workflow/templates.js.map +1 -1
- package/dist/orchestrator/workflow/test-linker.d.ts.map +1 -1
- package/dist/orchestrator/workflow/test-linker.js +12 -24
- package/dist/orchestrator/workflow/test-linker.js.map +1 -1
- package/dist/orchestrator/workflow/types.d.ts +11 -8
- package/dist/orchestrator/workflow/types.d.ts.map +1 -1
- package/dist/orchestrator/workflow/types.js +8 -1
- package/dist/orchestrator/workflow/types.js.map +1 -1
- package/dist/orchestrator/workflow/visualizer.d.ts.map +1 -1
- package/dist/orchestrator/workflow/visualizer.js +7 -9
- package/dist/orchestrator/workflow/visualizer.js.map +1 -1
- package/dist/orchestrator/workflow/workflow-context.d.ts.map +1 -1
- package/dist/orchestrator/workflow/workflow-context.js +3 -5
- package/dist/orchestrator/workflow/workflow-context.js.map +1 -1
- package/dist/orchestrator/workflow/workflow-orchestrator.d.ts +0 -4
- package/dist/orchestrator/workflow/workflow-orchestrator.d.ts.map +1 -1
- package/dist/orchestrator/workflow/workflow-orchestrator.js +7 -99
- package/dist/orchestrator/workflow/workflow-orchestrator.js.map +1 -1
- package/dist/parser/index.d.ts.map +1 -1
- package/dist/parser/index.js +2 -2
- package/dist/parser/index.js.map +1 -1
- package/dist/plugins/index.d.ts +5 -3
- package/dist/plugins/index.d.ts.map +1 -1
- package/dist/plugins/index.js +19 -8
- package/dist/plugins/index.js.map +1 -1
- package/dist/plugins/plugin-loader.d.ts +21 -6
- package/dist/plugins/plugin-loader.d.ts.map +1 -1
- package/dist/plugins/plugin-loader.js +170 -54
- package/dist/plugins/plugin-loader.js.map +1 -1
- package/dist/plugins/plugin-registry.d.ts +7 -4
- package/dist/plugins/plugin-registry.d.ts.map +1 -1
- package/dist/plugins/plugin-registry.js +62 -14
- package/dist/plugins/plugin-registry.js.map +1 -1
- package/dist/plugins/types.d.ts +16 -6
- package/dist/plugins/types.d.ts.map +1 -1
- package/dist/plugins/types.js +2 -0
- package/dist/plugins/types.js.map +1 -1
- package/dist/server/handlers/AnalysisHandler.d.ts +16 -2
- package/dist/server/handlers/AnalysisHandler.d.ts.map +1 -1
- package/dist/server/handlers/AnalysisHandler.js +31 -47
- package/dist/server/handlers/AnalysisHandler.js.map +1 -1
- package/dist/server/routes/api.d.ts.map +1 -1
- package/dist/server/routes/api.js +31 -12
- package/dist/server/routes/api.js.map +1 -1
- package/docs/AI_ASSISTANT_SETUP.md +3 -1
- package/docs/SETUP_GUIDE.md +41 -17
- package/docs/ai-guide/COMMANDS.md +179 -102
- package/docs/ai-guide/INTEGRATION.md +23 -21
- package/docs/ai-guide/OUTPUT.md +621 -10
- package/docs/ai-guide/PATTERNS.md +77 -18
- package/docs/ai-guide/PROMPTS.md +24 -18
- package/docs/ai-guide/QUICKSTART.md +35 -19
- package/docs/ai-guide/README.md +22 -4
- package/docs/archive/test-report-symbol-search.md +384 -0
- package/docs/archive/test-scenario-4-complexity-analysis.md +460 -0
- package/docs/archive/test_report_scenario5.md +615 -0
- package/docs/archive/test_scenario_3_impact_analysis_report.md +520 -0
- package/docs/product-specs/DESIGN_CONTRACT_TEMPLATE.md +79 -0
- package/docs/product-specs/MVP3-ARCHITECTURE-COMPARISON.md +159 -434
- package/docs/product-specs/MVP3-ARCHITECTURE-REDESIGN-PRD.md +169 -261
- package/docs/product-specs/MVP3-ARCHITECTURE-REDESIGN-TECH-PRD.md +201 -1259
- package/docs/product-specs/README.md +9 -1
- package/docs/rules/architecture-guardrails.md +1 -2
- package/docs/rules/engineering-with-codex-openai.md +20 -10
- package/docs/rules/validation.md +29 -4
- package/mycodemap.config.schema.json +76 -5
- package/package.json +1 -1
- package/scripts/experiments/arcadedb-http-smoke.mjs +90 -0
- package/scripts/sync-analyze-docs.js +500 -0
- package/scripts/validate-ai-docs.js +54 -1
- package/scripts/validate-docs.js +992 -25
|
@@ -0,0 +1,615 @@
|
|
|
1
|
+
# 测试场景5: 查询功能和JSON输出测试报告
|
|
2
|
+
|
|
3
|
+
## 测试概览
|
|
4
|
+
|
|
5
|
+
**测试目标**: 测试 `codemap query` 的多种查询模式和JSON输出的实用性
|
|
6
|
+
**测试环境**: /data/codemap (Node.js CLI 版本)
|
|
7
|
+
**测试时间**: $(date)
|
|
8
|
+
**测试执行者**: CodeMap 测试专家
|
|
9
|
+
|
|
10
|
+
---
|
|
11
|
+
|
|
12
|
+
## 1. 不同查询模式测试
|
|
13
|
+
|
|
14
|
+
### 1.1 符号查询 (-s, --symbol)
|
|
15
|
+
|
|
16
|
+
**命令**:
|
|
17
|
+
```bash
|
|
18
|
+
npx codemap query -s "ModuleInfo"
|
|
19
|
+
```
|
|
20
|
+
|
|
21
|
+
**执行时间**: 0.583s (real)
|
|
22
|
+
|
|
23
|
+
**输出结果**:
|
|
24
|
+
```
|
|
25
|
+
🔍 查询 "ModuleInfo" (symbol)
|
|
26
|
+
找到 5 个结果
|
|
27
|
+
|
|
28
|
+
moduleInfo
|
|
29
|
+
类型: variable
|
|
30
|
+
路径: /data/codemap/src/core/analyzer.ts
|
|
31
|
+
定义于 src/core/analyzer.ts:55
|
|
32
|
+
|
|
33
|
+
ModuleInfo
|
|
34
|
+
类型: interface
|
|
35
|
+
路径: /data/codemap/src/types/index.ts
|
|
36
|
+
导出于 src/types/index.ts
|
|
37
|
+
...
|
|
38
|
+
```
|
|
39
|
+
|
|
40
|
+
**结果分析**:
|
|
41
|
+
- ✅ 成功找到 5 个匹配结果
|
|
42
|
+
- ✅ 区分大小写(找到 `moduleInfo` 变量和 `ModuleInfo` 接口)
|
|
43
|
+
- ✅ 提供符号类型(variable, interface)
|
|
44
|
+
- ✅ 显示文件路径和行列号
|
|
45
|
+
- ✅ 识别导出/定义位置
|
|
46
|
+
|
|
47
|
+
---
|
|
48
|
+
|
|
49
|
+
### 1.2 模块查询 (-m, --module)
|
|
50
|
+
|
|
51
|
+
**命令**:
|
|
52
|
+
```bash
|
|
53
|
+
npx codemap query -m "src/cache"
|
|
54
|
+
```
|
|
55
|
+
|
|
56
|
+
**执行时间**: 0.613s (real)
|
|
57
|
+
|
|
58
|
+
**输出结果**:
|
|
59
|
+
```
|
|
60
|
+
🔍 查询 "src/cache" (module)
|
|
61
|
+
找到 6 个结果
|
|
62
|
+
|
|
63
|
+
src/cache/file-hash-cache.ts
|
|
64
|
+
类型: source
|
|
65
|
+
路径: /data/codemap/src/cache/file-hash-cache.ts
|
|
66
|
+
导出: computeFileHash, computeFileHashes, ...
|
|
67
|
+
|
|
68
|
+
src/cache/index.ts
|
|
69
|
+
类型: source
|
|
70
|
+
路径: /data/codemap/src/cache/index.ts
|
|
71
|
+
导出: LRUCache, LRUCacheWithTTL, ...
|
|
72
|
+
...
|
|
73
|
+
```
|
|
74
|
+
|
|
75
|
+
**结果分析**:
|
|
76
|
+
- ✅ 找到 6 个匹配模块(含测试文件)
|
|
77
|
+
- ✅ 正确区分 source 和 test 类型
|
|
78
|
+
- ✅ 列出每个模块的导出符号
|
|
79
|
+
- ✅ 支持部分路径匹配
|
|
80
|
+
|
|
81
|
+
---
|
|
82
|
+
|
|
83
|
+
### 1.3 依赖查询 (-d, --deps)
|
|
84
|
+
|
|
85
|
+
**命令**:
|
|
86
|
+
```bash
|
|
87
|
+
npx codemap query -d "analyzer"
|
|
88
|
+
```
|
|
89
|
+
|
|
90
|
+
**执行时间**: 0.585s (real)
|
|
91
|
+
|
|
92
|
+
**输出结果**:
|
|
93
|
+
```
|
|
94
|
+
🔍 查询 "analyzer" (deps)
|
|
95
|
+
找到 20 个结果
|
|
96
|
+
|
|
97
|
+
/data/codemap/src/orchestrator/git-analyzer.ts
|
|
98
|
+
类型: dependency
|
|
99
|
+
路径: /data/codemap/src/orchestrator/ai-feed-generator.ts
|
|
100
|
+
被 src/orchestrator/ai-feed-generator.ts 引用
|
|
101
|
+
|
|
102
|
+
./git-analyzer
|
|
103
|
+
类型: import
|
|
104
|
+
路径: /data/codemap/src/orchestrator/ai-feed-generator.ts
|
|
105
|
+
导入自 src/orchestrator/ai-feed-generator.ts
|
|
106
|
+
...
|
|
107
|
+
```
|
|
108
|
+
|
|
109
|
+
**结果分析**:
|
|
110
|
+
- ✅ 找到 20 个依赖关系
|
|
111
|
+
- ✅ 区分 dependency 和 import 类型
|
|
112
|
+
- ✅ 显示引用方向和来源
|
|
113
|
+
- ✅ 包含相对路径和绝对路径
|
|
114
|
+
- ⚠️ 存在重复(dependency 和 import 成对出现)
|
|
115
|
+
|
|
116
|
+
---
|
|
117
|
+
|
|
118
|
+
### 1.4 模糊搜索 (-S, --search)
|
|
119
|
+
|
|
120
|
+
**命令**:
|
|
121
|
+
```bash
|
|
122
|
+
npx codemap query -S "parser"
|
|
123
|
+
```
|
|
124
|
+
|
|
125
|
+
**执行时间**: 0.544s (real)
|
|
126
|
+
|
|
127
|
+
**输出结果**:
|
|
128
|
+
```
|
|
129
|
+
🔍 查询 "parser" (search)
|
|
130
|
+
找到 20 个结果
|
|
131
|
+
|
|
132
|
+
parseResponse
|
|
133
|
+
类型: method
|
|
134
|
+
路径: /data/codemap/src/ai/claude.ts
|
|
135
|
+
定义于 src/ai/claude.ts:192
|
|
136
|
+
|
|
137
|
+
src/parser/index.ts
|
|
138
|
+
类型: module
|
|
139
|
+
路径: /data/codemap/src/parser/index.ts
|
|
140
|
+
模块匹配
|
|
141
|
+
...
|
|
142
|
+
```
|
|
143
|
+
|
|
144
|
+
**结果分析**:
|
|
145
|
+
- ✅ 找到 20 个相关结果
|
|
146
|
+
- ✅ 匹配符号名、模块名、文件名
|
|
147
|
+
- ✅ 支持子字符串匹配(parseResponse, ParseResult 都匹配)
|
|
148
|
+
- ✅ 显示多种结果类型(method, module, class, export)
|
|
149
|
+
|
|
150
|
+
---
|
|
151
|
+
|
|
152
|
+
## 2. JSON 输出格式测试
|
|
153
|
+
|
|
154
|
+
### 2.1 符号查询 JSON 输出
|
|
155
|
+
|
|
156
|
+
**命令**:
|
|
157
|
+
```bash
|
|
158
|
+
npx codemap query -s "ModuleInfo" -j
|
|
159
|
+
```
|
|
160
|
+
|
|
161
|
+
**执行时间**: 0.577s (real)
|
|
162
|
+
|
|
163
|
+
**输出结构**:
|
|
164
|
+
```json
|
|
165
|
+
{
|
|
166
|
+
"type": "symbol",
|
|
167
|
+
"query": "ModuleInfo",
|
|
168
|
+
"count": 5,
|
|
169
|
+
"results": [
|
|
170
|
+
{
|
|
171
|
+
"name": "moduleInfo",
|
|
172
|
+
"path": "/data/codemap/src/core/analyzer.ts",
|
|
173
|
+
"kind": "variable",
|
|
174
|
+
"details": "定义于 src/core/analyzer.ts:55"
|
|
175
|
+
},
|
|
176
|
+
{
|
|
177
|
+
"name": "ModuleInfo",
|
|
178
|
+
"path": "/data/codemap/src/types/index.ts",
|
|
179
|
+
"kind": "interface",
|
|
180
|
+
"details": "导出于 src/types/index.ts"
|
|
181
|
+
}
|
|
182
|
+
]
|
|
183
|
+
}
|
|
184
|
+
```
|
|
185
|
+
|
|
186
|
+
**结构验证**:
|
|
187
|
+
- ✅ JSON 格式有效(通过 python3 -m json.tool 验证)
|
|
188
|
+
- ✅ 包含元数据(type, query, count)
|
|
189
|
+
- ✅ 每个结果有 name, path, kind, details 字段
|
|
190
|
+
- ✅ 数组结构便于程序解析
|
|
191
|
+
- ⚠️ details 字段为自然语言描述,不利于机器解析
|
|
192
|
+
|
|
193
|
+
---
|
|
194
|
+
|
|
195
|
+
### 2.2 模糊搜索 JSON 带限制
|
|
196
|
+
|
|
197
|
+
**命令**:
|
|
198
|
+
```bash
|
|
199
|
+
npx codemap query -S "cache" -j -l 3
|
|
200
|
+
```
|
|
201
|
+
|
|
202
|
+
**输出结构**:
|
|
203
|
+
```json
|
|
204
|
+
{
|
|
205
|
+
"type": "search",
|
|
206
|
+
"query": "cache",
|
|
207
|
+
"count": 3,
|
|
208
|
+
"results": [
|
|
209
|
+
{
|
|
210
|
+
"name": "cached",
|
|
211
|
+
"path": "/data/codemap/src/ai/factory.ts",
|
|
212
|
+
"kind": "variable",
|
|
213
|
+
"details": "定义于 src/ai/factory.ts:25"
|
|
214
|
+
},
|
|
215
|
+
{
|
|
216
|
+
"name": "src/cache/file-hash-cache.ts",
|
|
217
|
+
"path": "/data/codemap/src/cache/file-hash-cache.ts",
|
|
218
|
+
"kind": "module",
|
|
219
|
+
"details": "模块匹配"
|
|
220
|
+
}
|
|
221
|
+
]
|
|
222
|
+
}
|
|
223
|
+
```
|
|
224
|
+
|
|
225
|
+
**功能验证**:
|
|
226
|
+
- ✅ -l 3 参数正确限制结果数量为 3
|
|
227
|
+
- ✅ JSON 结构保持一致
|
|
228
|
+
- ✅ 混合返回不同类型结果(variable, module)
|
|
229
|
+
|
|
230
|
+
---
|
|
231
|
+
|
|
232
|
+
### 2.3 依赖查询 JSON 输出
|
|
233
|
+
|
|
234
|
+
**命令**:
|
|
235
|
+
```bash
|
|
236
|
+
npx codemap deps -m "src/core" -j
|
|
237
|
+
```
|
|
238
|
+
|
|
239
|
+
**输出结构**:
|
|
240
|
+
```json
|
|
241
|
+
{
|
|
242
|
+
"module": {
|
|
243
|
+
"path": "/data/codemap/src/core/analyzer.ts",
|
|
244
|
+
"relativePath": "src/core/analyzer.ts",
|
|
245
|
+
"dependencies": [
|
|
246
|
+
"path",
|
|
247
|
+
"fs/promises",
|
|
248
|
+
"globby",
|
|
249
|
+
"/data/codemap/src/parser/index.js",
|
|
250
|
+
...
|
|
251
|
+
],
|
|
252
|
+
"dependents": [
|
|
253
|
+
"iucg3n",
|
|
254
|
+
"xg0gnk",
|
|
255
|
+
...
|
|
256
|
+
]
|
|
257
|
+
}
|
|
258
|
+
}
|
|
259
|
+
```
|
|
260
|
+
|
|
261
|
+
**结构分析**:
|
|
262
|
+
- ✅ 嵌套结构清晰(module 对象)
|
|
263
|
+
- ✅ 分离 dependencies 和 dependents
|
|
264
|
+
- ⚠️ dependents 使用 ID 而非路径,可读性较差
|
|
265
|
+
- ⚠️ 与 `query -d` 输出格式不一致
|
|
266
|
+
|
|
267
|
+
---
|
|
268
|
+
|
|
269
|
+
## 3. 结果数量限制测试
|
|
270
|
+
|
|
271
|
+
### 3.1 限制 -l 5
|
|
272
|
+
|
|
273
|
+
**命令**:
|
|
274
|
+
```bash
|
|
275
|
+
npx codemap query -S "export" -l 5
|
|
276
|
+
```
|
|
277
|
+
|
|
278
|
+
**结果**: 找到 5 个结果 ✅
|
|
279
|
+
|
|
280
|
+
### 3.2 限制 -l 20
|
|
281
|
+
|
|
282
|
+
**命令**:
|
|
283
|
+
```bash
|
|
284
|
+
npx codemap query -S "export" -l 20
|
|
285
|
+
```
|
|
286
|
+
|
|
287
|
+
**结果**: 找到 20 个结果 ✅
|
|
288
|
+
|
|
289
|
+
### 3.3 限制功能分析
|
|
290
|
+
|
|
291
|
+
| 测试项 | 结果 | 说明 |
|
|
292
|
+
|--------|------|------|
|
|
293
|
+
| 默认限制 | ✅ | 默认限制 20 条 |
|
|
294
|
+
| 自定义限制 | ✅ | -l 参数有效 |
|
|
295
|
+
| JSON 模式下限制 | ✅ | 同时工作正常 |
|
|
296
|
+
| 限制准确性 | ✅ | 严格按指定数量返回 |
|
|
297
|
+
|
|
298
|
+
---
|
|
299
|
+
|
|
300
|
+
## 4. 边界测试
|
|
301
|
+
|
|
302
|
+
### 4.1 搜索不存在的符号
|
|
303
|
+
|
|
304
|
+
**命令**:
|
|
305
|
+
```bash
|
|
306
|
+
npx codemap query -s "NonExistentSymbol123"
|
|
307
|
+
```
|
|
308
|
+
|
|
309
|
+
**输出**:
|
|
310
|
+
```
|
|
311
|
+
🔍 查询 "NonExistentSymbol123" (symbol)
|
|
312
|
+
找到 0 个结果
|
|
313
|
+
|
|
314
|
+
未找到匹配结果
|
|
315
|
+
```
|
|
316
|
+
|
|
317
|
+
**JSON 输出**:
|
|
318
|
+
```json
|
|
319
|
+
{
|
|
320
|
+
"type": "symbol",
|
|
321
|
+
"query": "NonExistentSymbol123",
|
|
322
|
+
"count": 0,
|
|
323
|
+
"results": []
|
|
324
|
+
}
|
|
325
|
+
```
|
|
326
|
+
|
|
327
|
+
**评价**:
|
|
328
|
+
- ✅ 退出码为 0(正常退出)
|
|
329
|
+
- ✅ 人类可读输出友好
|
|
330
|
+
- ✅ JSON 输出结构完整
|
|
331
|
+
- ✅ 空数组而非 null
|
|
332
|
+
|
|
333
|
+
---
|
|
334
|
+
|
|
335
|
+
### 4.2 空查询
|
|
336
|
+
|
|
337
|
+
**命令**:
|
|
338
|
+
```bash
|
|
339
|
+
npx codemap query
|
|
340
|
+
```
|
|
341
|
+
|
|
342
|
+
**输出**:
|
|
343
|
+
```
|
|
344
|
+
❌ 请指定查询类型: --symbol, --module, --deps, 或 --search
|
|
345
|
+
|
|
346
|
+
用法:
|
|
347
|
+
codemap query --symbol <name> # 查询符号
|
|
348
|
+
codemap query --module <path> # 查询模块
|
|
349
|
+
codemap query --deps <name> # 查询依赖
|
|
350
|
+
codemap query --search <word> # 模糊搜索
|
|
351
|
+
```
|
|
352
|
+
|
|
353
|
+
**评价**:
|
|
354
|
+
- ✅ 退出码为 1(错误退出)
|
|
355
|
+
- ✅ 错误信息清晰
|
|
356
|
+
- ✅ 提供使用帮助
|
|
357
|
+
- ✅ 中文本地化友好
|
|
358
|
+
|
|
359
|
+
---
|
|
360
|
+
|
|
361
|
+
### 4.3 特殊字符查询
|
|
362
|
+
|
|
363
|
+
**命令**:
|
|
364
|
+
```bash
|
|
365
|
+
npx codemap query -S "<any>"
|
|
366
|
+
```
|
|
367
|
+
|
|
368
|
+
**输出**:
|
|
369
|
+
```
|
|
370
|
+
🔍 查询 "<any>" (search)
|
|
371
|
+
找到 0 个结果
|
|
372
|
+
|
|
373
|
+
未找到匹配结果
|
|
374
|
+
```
|
|
375
|
+
|
|
376
|
+
**评价**:
|
|
377
|
+
- ✅ 未报错或崩溃
|
|
378
|
+
- ✅ 正确处理特殊字符
|
|
379
|
+
- ✅ 返回空结果而非异常
|
|
380
|
+
|
|
381
|
+
---
|
|
382
|
+
|
|
383
|
+
## 5. 与传统工具对比
|
|
384
|
+
|
|
385
|
+
### 5.1 速度对比
|
|
386
|
+
|
|
387
|
+
| 查询类型 | CodeMap | grep | rg | 结论 |
|
|
388
|
+
|----------|---------|------|----|----|
|
|
389
|
+
| 符号搜索 | 0.583s | 0.003s | 0.007s | 传统工具快 ~100x |
|
|
390
|
+
| 模糊搜索 | 0.544s | 0.003s | - | 传统工具快 ~180x |
|
|
391
|
+
| 模块搜索 | 0.613s | 0.002s (find) | - | 传统工具快 ~300x |
|
|
392
|
+
|
|
393
|
+
### 5.2 功能对比
|
|
394
|
+
|
|
395
|
+
| 功能 | CodeMap | grep/rg | 说明 |
|
|
396
|
+
|------|---------|---------|------|
|
|
397
|
+
| 符号类型识别 | ✅ | ❌ | CodeMap 知道是 interface 还是 variable |
|
|
398
|
+
| 文件类型过滤 | ✅ | 部分 | CodeMap 自动区分 source/test |
|
|
399
|
+
| 导出信息 | ✅ | ❌ | CodeMap 显示模块导出 |
|
|
400
|
+
| 依赖关系 | ✅ | ❌ | CodeMap 显示谁引用了谁 |
|
|
401
|
+
| JSON 输出 | ✅ | ❌ | CodeMap 支持结构化输出 |
|
|
402
|
+
| 结果限制 | ✅ | 需管道 | CodeMap 内置 -l 参数 |
|
|
403
|
+
| 正则表达式 | ❌ | ✅ | grep/rg 支持复杂模式 |
|
|
404
|
+
| 实时搜索 | ❌ | ✅ | grep/rg 无需预构建索引 |
|
|
405
|
+
|
|
406
|
+
### 5.3 信息丰富度对比
|
|
407
|
+
|
|
408
|
+
**CodeMap 输出**:
|
|
409
|
+
```
|
|
410
|
+
ModuleInfo
|
|
411
|
+
类型: interface
|
|
412
|
+
路径: /data/codemap/src/types/index.ts
|
|
413
|
+
定义于 src/types/index.ts:154
|
|
414
|
+
```
|
|
415
|
+
|
|
416
|
+
**grep 输出**:
|
|
417
|
+
```
|
|
418
|
+
src/types/index.ts:export interface ModuleInfo {
|
|
419
|
+
```
|
|
420
|
+
|
|
421
|
+
**结论**: CodeMap 提供语义化信息,grep 提供原始上下文。
|
|
422
|
+
|
|
423
|
+
---
|
|
424
|
+
|
|
425
|
+
## 6. 发现的问题
|
|
426
|
+
|
|
427
|
+
### 问题1: 性能差距明显
|
|
428
|
+
**描述**: CodeMap 查询速度比 grep/rg 慢 100-300 倍
|
|
429
|
+
**影响**: 高频查询场景可能不适用
|
|
430
|
+
**建议**:
|
|
431
|
+
- 添加性能提示说明(基于索引的查询 vs 实时搜索)
|
|
432
|
+
- 考虑引入内存缓存机制
|
|
433
|
+
- 对于简单文本搜索,建议用户直接使用 grep
|
|
434
|
+
|
|
435
|
+
### 问题2: JSON 中 details 字段不够结构化
|
|
436
|
+
**描述**: `details` 字段是自然语言描述,如 "定义于 src/types/index.ts:154"
|
|
437
|
+
**影响**: API 消费者需要正则解析来获取行号
|
|
438
|
+
**建议**:
|
|
439
|
+
```json
|
|
440
|
+
{
|
|
441
|
+
"location": {
|
|
442
|
+
"file": "src/types/index.ts",
|
|
443
|
+
"line": 154,
|
|
444
|
+
"column": 1
|
|
445
|
+
},
|
|
446
|
+
"isExported": true
|
|
447
|
+
}
|
|
448
|
+
```
|
|
449
|
+
|
|
450
|
+
### 问题3: 依赖查询结果存在重复
|
|
451
|
+
**描述**: `query -d` 同时返回 dependency 和 import 类型,内容重复
|
|
452
|
+
**影响**: 结果集膨胀,可读性下降
|
|
453
|
+
**建议**: 合并或去重,或添加去重选项
|
|
454
|
+
|
|
455
|
+
### 问题4: deps 命令与 query -d 输出格式不一致
|
|
456
|
+
**描述**: `deps -j` 和 `query -d -j` 返回完全不同的 JSON 结构
|
|
457
|
+
**影响**: API 使用混乱
|
|
458
|
+
**建议**: 统一输出格式或明确文档说明差异
|
|
459
|
+
|
|
460
|
+
### 问题5: dependents 使用内部 ID
|
|
461
|
+
**描述**: `deps` 命令返回的 dependents 是 "iucg3n" 等 ID
|
|
462
|
+
**影响**: 无法直接识别是哪个模块
|
|
463
|
+
**建议**: 返回模块路径或提供 ID 到路径的映射
|
|
464
|
+
|
|
465
|
+
### 问题6: 缺少正则表达式支持
|
|
466
|
+
**描述**: 模糊搜索仅支持子字符串,不支持正则
|
|
467
|
+
**影响**: 复杂查询场景受限
|
|
468
|
+
**建议**: 添加 `--regex` 模式支持
|
|
469
|
+
|
|
470
|
+
---
|
|
471
|
+
|
|
472
|
+
## 7. 优点总结
|
|
473
|
+
|
|
474
|
+
### 7.1 语义化查询
|
|
475
|
+
- 理解代码结构(interface, class, function)
|
|
476
|
+
- 区分定义和引用
|
|
477
|
+
- 识别模块边界
|
|
478
|
+
|
|
479
|
+
### 7.2 友好的 CLI 体验
|
|
480
|
+
- 中文输出本地化
|
|
481
|
+
- 清晰的错误提示
|
|
482
|
+
- 彩色输出(如果支持)
|
|
483
|
+
|
|
484
|
+
### 7.3 结构化输出
|
|
485
|
+
- JSON 格式便于集成
|
|
486
|
+
- 一致的输出结构
|
|
487
|
+
- 空结果处理得当
|
|
488
|
+
|
|
489
|
+
### 7.4 多功能集成
|
|
490
|
+
- 单一工具覆盖多种查询场景
|
|
491
|
+
- 无需组合多个命令
|
|
492
|
+
- 内置结果限制
|
|
493
|
+
|
|
494
|
+
---
|
|
495
|
+
|
|
496
|
+
## 8. API 集成价值评估
|
|
497
|
+
|
|
498
|
+
### 8.1 适用场景
|
|
499
|
+
| 场景 | 适用性 | 说明 |
|
|
500
|
+
|------|--------|------|
|
|
501
|
+
| IDE 插件 | ⭐⭐⭐⭐⭐ | 符号跳转、代码补全 |
|
|
502
|
+
| CI/CD 检查 | ⭐⭐⭐⭐ | 依赖分析、影响评估 |
|
|
503
|
+
| 代码审查工具 | ⭐⭐⭐⭐ | 变更影响分析 |
|
|
504
|
+
| 文档生成 | ⭐⭐⭐⭐⭐ | 自动提取 API |
|
|
505
|
+
| 实时搜索 | ⭐⭐ | 性能不足 |
|
|
506
|
+
| 日志分析 | ⭐⭐⭐ | 需要配合其他工具 |
|
|
507
|
+
|
|
508
|
+
### 8.2 建议的 API 封装
|
|
509
|
+
```javascript
|
|
510
|
+
// 理想的高级 API
|
|
511
|
+
const codemap = require('codemap-api');
|
|
512
|
+
|
|
513
|
+
// 符号查询
|
|
514
|
+
const symbols = await codemap.query({
|
|
515
|
+
type: 'symbol',
|
|
516
|
+
name: 'ModuleInfo',
|
|
517
|
+
includeLocation: true // 返回结构化位置
|
|
518
|
+
});
|
|
519
|
+
|
|
520
|
+
// 依赖分析
|
|
521
|
+
const deps = await codemap.dependencies({
|
|
522
|
+
module: 'src/core',
|
|
523
|
+
depth: 2, // 依赖深度
|
|
524
|
+
format: 'graph' // 图结构输出
|
|
525
|
+
});
|
|
526
|
+
```
|
|
527
|
+
|
|
528
|
+
---
|
|
529
|
+
|
|
530
|
+
## 9. 改进建议
|
|
531
|
+
|
|
532
|
+
### 9.1 短期(高优先级)
|
|
533
|
+
1. **优化 details 字段结构**: 添加 location 对象
|
|
534
|
+
2. **统一命令输出格式**: deps 和 query -d 保持一致
|
|
535
|
+
3. **解决 dependents ID 可读性**: 返回路径而非内部 ID
|
|
536
|
+
|
|
537
|
+
### 9.2 中期(中优先级)
|
|
538
|
+
4. **添加性能指标**: 显示索引加载时间和查询时间
|
|
539
|
+
5. **支持正则搜索**: 添加 --regex 选项
|
|
540
|
+
6. **结果排序选项**: 按相关性、字母顺序、文件位置排序
|
|
541
|
+
|
|
542
|
+
### 9.3 长期(低优先级)
|
|
543
|
+
7. **增量索引更新**: 减少索引重建时间
|
|
544
|
+
8. **查询缓存**: 缓存热点查询结果
|
|
545
|
+
9. **高级过滤**: 按文件类型、符号类型、时间范围过滤
|
|
546
|
+
|
|
547
|
+
---
|
|
548
|
+
|
|
549
|
+
## 10. 总体评价
|
|
550
|
+
|
|
551
|
+
### 评分 (满分 10 分)
|
|
552
|
+
|
|
553
|
+
| 维度 | 得分 | 说明 |
|
|
554
|
+
|------|------|------|
|
|
555
|
+
| 功能完整性 | 8/10 | 覆盖主要查询场景,缺少正则支持 |
|
|
556
|
+
| JSON 结构化 | 7/10 | 结构一致,但 details 字段需改进 |
|
|
557
|
+
| 错误处理 | 9/10 | 友好的错误提示,合适的退出码 |
|
|
558
|
+
| 性能 | 5/10 | 相比传统工具较慢,但可接受 |
|
|
559
|
+
| API 集成价值 | 8/10 | 适合工具链集成,需改进输出结构 |
|
|
560
|
+
| **总分** | **37/50** | **良好,有改进空间** |
|
|
561
|
+
|
|
562
|
+
### 结论
|
|
563
|
+
|
|
564
|
+
CodeMap 的查询功能在**语义化代码理解**方面表现出色,适合需要代码结构感知的场景。JSON 输出为工具链集成提供了基础,但部分字段的结构化程度有待提升。
|
|
565
|
+
|
|
566
|
+
**推荐使用场景**:
|
|
567
|
+
- IDE/编辑器插件开发
|
|
568
|
+
- 代码分析工具集成
|
|
569
|
+
- CI/CD 流程中的依赖检查
|
|
570
|
+
- 自动化文档生成
|
|
571
|
+
|
|
572
|
+
**不推荐使用场景**:
|
|
573
|
+
- 纯文本快速搜索(使用 rg/grep 更合适)
|
|
574
|
+
- 高频实时查询(性能瓶颈)
|
|
575
|
+
|
|
576
|
+
---
|
|
577
|
+
|
|
578
|
+
## 附录: 测试命令汇总
|
|
579
|
+
|
|
580
|
+
```bash
|
|
581
|
+
# 符号查询
|
|
582
|
+
npx codemap query -s "ModuleInfo"
|
|
583
|
+
npx codemap query -s "ModuleInfo" -j
|
|
584
|
+
|
|
585
|
+
# 模块查询
|
|
586
|
+
npx codemap query -m "src/cache"
|
|
587
|
+
|
|
588
|
+
# 依赖查询
|
|
589
|
+
npx codemap query -d "analyzer"
|
|
590
|
+
npx codemap deps -m "src/core" -j
|
|
591
|
+
|
|
592
|
+
# 模糊搜索
|
|
593
|
+
npx codemap query -S "parser"
|
|
594
|
+
npx codemap query -S "cache" -j -l 3
|
|
595
|
+
|
|
596
|
+
# 结果限制
|
|
597
|
+
npx codemap query -S "export" -l 5
|
|
598
|
+
npx codemap query -S "export" -l 20
|
|
599
|
+
|
|
600
|
+
# 边界测试
|
|
601
|
+
npx codemap query -s "NonExistentSymbol123"
|
|
602
|
+
npx codemap query -s "NonExistentSymbol123" -j
|
|
603
|
+
npx codemap query
|
|
604
|
+
npx codemap query -S "<any>"
|
|
605
|
+
|
|
606
|
+
# 对比测试
|
|
607
|
+
grep -r "ModuleInfo" src/ --include="*.ts"
|
|
608
|
+
rg "ModuleInfo" src/ --type ts
|
|
609
|
+
find src/ -path "*cache*" -name "*.ts"
|
|
610
|
+
```
|
|
611
|
+
|
|
612
|
+
---
|
|
613
|
+
|
|
614
|
+
*报告生成时间: $(date)*
|
|
615
|
+
*CodeMap 版本: 通过 CLI 测试*
|