agent-ide 0.1.8 → 0.1.10

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 CHANGED
@@ -148,30 +148,39 @@ npx agent-ide move src/old.ts src/new.ts
148
148
  **💡 優先於手動檢查:一次掃描獲得完整指標,避免多次讀取檔案**
149
149
 
150
150
  ```bash
151
- # 複雜度分析
151
+ # 複雜度分析(預設只顯示高複雜度檔案)
152
152
  npx agent-ide analyze complexity --format json
153
153
 
154
- # 死代碼檢測
154
+ # 顯示所有檔案的複雜度
155
+ npx agent-ide analyze complexity --format json --all
156
+
157
+ # 死代碼檢測(預設只顯示有死代碼的檔案)
155
158
  npx agent-ide analyze dead-code --format json
156
159
 
160
+ # 顯示所有掃描的檔案(包含沒問題的)
161
+ npx agent-ide analyze dead-code --format json --all
162
+
157
163
  # 最佳實踐檢查
158
164
  npx agent-ide analyze best-practices --format json
159
165
  ```
160
166
 
161
- **優勢**:結構化輸出、批量分析、涵蓋多個品質維度
167
+ **優勢**:結構化輸出、批量分析、涵蓋多個品質維度、預設只顯示有問題的項目節省 token
162
168
 
163
169
  ### 5. 依賴關係分析(優先使用)
164
170
  **💡 優先於手動追蹤:快速找出循環依賴和影響範圍,避免逐檔追蹤 import**
165
171
 
166
172
  ```bash
167
- # 分析專案依賴圖(含循環依賴檢測)
173
+ # 分析依賴關係(預設只顯示循環依賴和孤立檔案)
168
174
  npx agent-ide deps --format json
169
175
 
176
+ # 顯示完整依賴圖(包含 nodes 和 edges)
177
+ npx agent-ide deps --format json --all
178
+
170
179
  # 查詢特定檔案的依賴
171
180
  npx agent-ide deps --file src/service.ts --format json
172
181
  ```
173
182
 
174
- **優勢**:視覺化依賴關係、自動檢測循環依賴、影響範圍分析
183
+ **優勢**:視覺化依賴關係、自動檢測循環依賴、影響範圍分析、預設只顯示問題節省 token
175
184
 
176
185
  ### 6. 程式碼重構(優先使用)
177
186
  **💡 優先於手動重構:自動處理複雜重構操作,避免手動複製貼上和修改**
@@ -54,6 +54,11 @@ export declare class UnusedSymbolDetector {
54
54
  * @returns 未使用的符號列表
55
55
  */
56
56
  detect(ast: AST, parser: TypeScriptParser): Promise<UnusedCode[]>;
57
+ /**
58
+ * 建立引用映射表(批次處理)
59
+ * 優化:使用 Promise.all 並行處理多個符號
60
+ */
61
+ private buildReferenceMap;
57
62
  /**
58
63
  * 檢查符號是否已匯出
59
64
  */
@@ -1 +1 @@
1
- {"version":3,"file":"dead-code-detector.d.ts","sourceRoot":"","sources":["../../../src/core/analysis/dead-code-detector.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,EAAE,gBAAgB,EAAE,MAAM,oCAAoC,CAAC;AACtE,OAAO,KAAK,EAAU,GAAG,EAAE,MAAM,6BAA6B,CAAC;AAI/D,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,UAAU,GAAG,UAAU,GAAG,OAAO,GAAG,QAAQ,CAAC;IACnD,QAAQ,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;IAC3C,UAAU,EAAE,SAAS,EAAE,CAAC;IACxB,QAAQ,EAAE,OAAO,CAAC;IAClB,SAAS,EAAE,OAAO,CAAC;CACpB;AAED,MAAM,WAAW,SAAS;IACxB,QAAQ,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;IAC3C,IAAI,EAAE,MAAM,GAAG,OAAO,GAAG,MAAM,CAAC;CACjC;AAGD,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,UAAU,GAAG,UAAU,GAAG,OAAO,GAAG,QAAQ,GAAG,aAAa,CAAC;IACnE,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;IAC3C,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAGD,MAAM,WAAW,OAAO;IACtB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,CAAC,EAAE,OAAO,EAAE,CAAC;IACrB,QAAQ,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;IAC3C,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED;;GAEG;AACH,qBAAa,oBAAoB;IAG/B;;;;;OAKG;IACG,MAAM,CAAC,GAAG,EAAE,GAAG,EAAE,MAAM,EAAE,gBAAgB,GAAG,OAAO,CAAC,UAAU,EAAE,CAAC;IAgDvE;;OAEG;IACH,OAAO,CAAC,UAAU;IAIlB;;OAEG;IACH,OAAO,CAAC,WAAW;IAUnB;;;OAGG;IACH,OAAO,CAAC,yBAAyB;IAgBjC;;OAEG;IACH,OAAO,CAAC,aAAa;IAcrB;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAe3B;;OAEG;IACG,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;CAG/B;AAED;;GAEG;AACH,qBAAa,uBAAuB;IAClC;;;;OAIG;IACH,MAAM,CAAC,GAAG,EAAE,OAAO,GAAG,UAAU,EAAE;IAQlC;;OAEG;IACH,OAAO,CAAC,QAAQ;IAgChB;;OAEG;IACH,OAAO,CAAC,qBAAqB;IAgB7B;;OAEG;IACH,OAAO,CAAC,sBAAsB;CAO/B;AAED;;GAEG;AACH,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,oBAAoB,CAA8B;IAC1D,OAAO,CAAC,uBAAuB,CAAiC;IAChE,OAAO,CAAC,MAAM,CAA0B;IAExC;;;;;OAKG;IACG,YAAY,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,EAAE,CAAC;IAuC5E;;;;OAIG;IACG,aAAa,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,KAAK,CAAC;QAClD,IAAI,EAAE,MAAM,CAAC;QACb,QAAQ,EAAE,UAAU,EAAE,CAAC;KACxB,CAAC,CAAC;IA8BH;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAS1B;;OAEG;IACG,aAAa,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC;QAC5C,UAAU,EAAE,MAAM,CAAC;QACnB,aAAa,EAAE,MAAM,CAAC;QACtB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAC/B,iBAAiB,EAAE,MAAM,CAAC;KAC3B,CAAC;IAoBF;;OAEG;IACG,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;CAI/B"}
1
+ {"version":3,"file":"dead-code-detector.d.ts","sourceRoot":"","sources":["../../../src/core/analysis/dead-code-detector.ts"],"names":[],"mappings":"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"}
@@ -18,23 +18,32 @@ export class UnusedSymbolDetector {
18
18
  async detect(ast, parser) {
19
19
  const unused = [];
20
20
  // 提取所有符號
21
- const symbols = await parser.extractSymbols(ast);
22
- for (const symbol of symbols) {
21
+ const allSymbols = await parser.extractSymbols(ast);
22
+ // 優化:提早過濾,只對需要檢測的符號建立 reference map
23
+ const symbolsToCheck = allSymbols.filter(symbol => {
24
+ // 只檢測抽象宣告
25
+ if (parser.isAbstractDeclaration && !parser.isAbstractDeclaration(symbol)) {
26
+ return false;
27
+ }
23
28
  // 跳過已匯出的符號
24
29
  if (this.isExported(symbol)) {
25
- continue;
30
+ return false;
26
31
  }
27
- // 跳過函式參數(檢查 scope 或 modifiers)
32
+ // 跳過函式參數
28
33
  if (this.isParameter(symbol)) {
29
- continue;
34
+ return false;
30
35
  }
31
- // 跳過可能被外部使用的類別成員(public/protected 方法和屬性)
32
- // 因為單檔案模式無法檢測跨檔案引用(如子類別對父類別方法的呼叫)
36
+ // 跳過 public/protected 類別成員
33
37
  if (this.isPublicOrProtectedMember(symbol)) {
34
- continue;
38
+ return false;
35
39
  }
36
- // 使用 parser 查找引用
37
- const references = await parser.findReferences(ast, symbol);
40
+ return true;
41
+ });
42
+ // 只對需要檢測的符號建立 reference map
43
+ const referenceMap = await this.buildReferenceMap(ast, parser, symbolsToCheck);
44
+ for (const symbol of symbolsToCheck) {
45
+ // 從映射表中查找引用(O(1))
46
+ const references = referenceMap.get(symbol.name) || [];
38
47
  // 過濾出實際使用(非定義)的引用
39
48
  const usageReferences = references.filter(ref => ref.type === ReferenceType.Usage);
40
49
  if (usageReferences.length === 0) {
@@ -52,6 +61,34 @@ export class UnusedSymbolDetector {
52
61
  }
53
62
  return unused;
54
63
  }
64
+ /**
65
+ * 建立引用映射表(批次處理)
66
+ * 優化:使用 Promise.all 並行處理多個符號
67
+ */
68
+ async buildReferenceMap(ast, parser, symbols) {
69
+ const referenceMap = new Map();
70
+ // 如果符號數量很少,直接處理
71
+ if (symbols.length === 0) {
72
+ return referenceMap;
73
+ }
74
+ // 增加批次大小以提升效能
75
+ const batchSize = 50;
76
+ for (let i = 0; i < symbols.length; i += batchSize) {
77
+ const batch = symbols.slice(i, i + batchSize);
78
+ // 批次並行處理
79
+ await Promise.all(batch.map(async (symbol) => {
80
+ try {
81
+ const references = await parser.findReferences(ast, symbol);
82
+ referenceMap.set(symbol.name, references);
83
+ }
84
+ catch (error) {
85
+ // 查找失敗時記錄空引用
86
+ referenceMap.set(symbol.name, []);
87
+ }
88
+ }));
89
+ }
90
+ return referenceMap;
91
+ }
55
92
  /**
56
93
  * 檢查符號是否已匯出
57
94
  */
@@ -1 +1 @@
1
- {"version":3,"file":"dead-code-detector.js","sourceRoot":"","sources":["../../../src/core/analysis/dead-code-detector.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"dead-code-detector.js","sourceRoot":"","sources":["../../../src/core/analysis/dead-code-detector.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,EAAE,gBAAgB,EAAE,MAAM,oCAAoC,CAAC;AAEtE,OAAO,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAoCxE;;GAEG;AACH,MAAM,OAAO,oBAAoB;IAC/B,mBAAmB;IAEnB;;;;;OAKG;IACH,KAAK,CAAC,MAAM,CAAC,GAAQ,EAAE,MAAwB;QAC7C,MAAM,MAAM,GAAiB,EAAE,CAAC;QAEhC,SAAS;QACT,MAAM,UAAU,GAAG,MAAM,MAAM,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC;QAEpD,oCAAoC;QACpC,MAAM,cAAc,GAAG,UAAU,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE;YAChD,UAAU;YACV,IAAI,MAAM,CAAC,qBAAqB,IAAI,CAAC,MAAM,CAAC,qBAAqB,CAAC,MAAM,CAAC,EAAE,CAAC;gBAC1E,OAAO,KAAK,CAAC;YACf,CAAC;YAED,WAAW;YACX,IAAI,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;gBAC5B,OAAO,KAAK,CAAC;YACf,CAAC;YAED,SAAS;YACT,IAAI,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,EAAE,CAAC;gBAC7B,OAAO,KAAK,CAAC;YACf,CAAC;YAED,2BAA2B;YAC3B,IAAI,IAAI,CAAC,yBAAyB,CAAC,MAAM,CAAC,EAAE,CAAC;gBAC3C,OAAO,KAAK,CAAC;YACf,CAAC;YAED,OAAO,IAAI,CAAC;QACd,CAAC,CAAC,CAAC;QAEH,4BAA4B;QAC5B,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,GAAG,EAAE,MAAM,EAAE,cAAc,CAAC,CAAC;QAE/E,KAAK,MAAM,MAAM,IAAI,cAAc,EAAE,CAAC;YAEpC,kBAAkB;YAClB,MAAM,UAAU,GAAG,YAAY,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;YAEvD,kBAAkB;YAClB,MAAM,eAAe,GAAG,UAAU,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAC9C,GAAG,CAAC,IAAI,KAAK,aAAa,CAAC,KAAK,CACjC,CAAC;YAEF,IAAI,eAAe,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACjC,MAAM,CAAC,IAAI,CAAC;oBACV,IAAI,EAAE,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC;oBACrC,IAAI,EAAE,MAAM,CAAC,IAAI;oBACjB,QAAQ,EAAE;wBACR,IAAI,EAAE,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI;wBACtC,MAAM,EAAE,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM;qBAC3C;oBACD,UAAU,EAAE,IAAI,CAAC,mBAAmB,CAAC,UAAU,CAAC;oBAChD,MAAM,EAAE,GAAG,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,MAAM,CAAC,IAAI,YAAY;iBACvE,CAAC,CAAC;YACL,CAAC;QACH,CAAC;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;IAED;;;OAGG;IACK,KAAK,CAAC,iBAAiB,CAC7B,GAAQ,EACR,MAAwB,EACxB,OAAiB;QAEjB,MAAM,YAAY,GAAG,IAAI,GAAG,EAAiB,CAAC;QAE9C,gBAAgB;QAChB,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACzB,OAAO,YAAY,CAAC;QACtB,CAAC;QAED,cAAc;QACd,MAAM,SAAS,GAAG,EAAE,CAAC;QAErB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,IAAI,SAAS,EAAE,CAAC;YACnD,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,CAAC;YAE9C,SAAS;YACT,MAAM,OAAO,CAAC,GAAG,CACf,KAAK,CAAC,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE;gBACzB,IAAI,CAAC;oBACH,MAAM,UAAU,GAAG,MAAM,MAAM,CAAC,cAAc,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;oBAC5D,YAAY,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;gBAC5C,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,aAAa;oBACb,YAAY,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;gBACpC,CAAC;YACH,CAAC,CAAC,CACH,CAAC;QACJ,CAAC;QAED,OAAO,YAAY,CAAC;IACtB,CAAC;IAED;;OAEG;IACK,UAAU,CAAC,MAAc;QAC/B,OAAO,MAAM,CAAC,SAAS,EAAE,QAAQ,CAAC,QAAQ,CAAC,IAAI,KAAK,CAAC;IACvD,CAAC;IAED;;OAEG;IACK,WAAW,CAAC,MAAc;QAChC,8CAA8C;QAC9C,IAAI,MAAM,CAAC,KAAK,EAAE,IAAI,KAAK,UAAU,EAAE,CAAC;YACtC,uDAAuD;YACvD,sBAAsB;YACtB,OAAO,KAAK,CAAC,CAAC,iBAAiB;QACjC,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAED;;;OAGG;IACK,yBAAyB,CAAC,MAAc;QAC9C,MAAM,SAAS,GAAG,MAAM,CAAC,SAAS,IAAI,EAAE,CAAC;QAEzC,6BAA6B;QAC7B,IAAI,SAAS,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,SAAS,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC;YACpE,OAAO,IAAI,CAAC;QACd,CAAC;QAED,8EAA8E;QAC9E,IAAI,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,KAAK,OAAO,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;YAC7E,OAAO,IAAI,CAAC;QACd,CAAC;QAED,OAAO,KAAK,CAAC;IACf,CAAC;IAED;;OAEG;IACK,aAAa,CAAC,UAAsB;QAC1C,QAAQ,UAAU,EAAE,CAAC;YACrB,KAAK,UAAU,CAAC,QAAQ;gBACtB,OAAO,UAAU,CAAC;YACpB,KAAK,UAAU,CAAC,KAAK;gBACnB,OAAO,OAAO,CAAC;YACjB,KAAK,UAAU,CAAC,QAAQ,CAAC;YACzB,KAAK,UAAU,CAAC,QAAQ;gBACtB,OAAO,UAAU,CAAC;YACpB;gBACE,OAAO,UAAU,CAAC;QACpB,CAAC;IACH,CAAC;IAED;;OAEG;IACK,mBAAmB,CAAC,UAAiB;QAC3C,yBAAyB;QACzB,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC5B,OAAO,GAAG,CAAC;QACb,CAAC;QAED,kBAAkB;QAClB,MAAM,SAAS,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,GAAQ,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,KAAK,aAAa,CAAC,KAAK,CAAC,CAAC;QACpF,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC3B,OAAO,IAAI,CAAC;QACd,CAAC;QAED,OAAO,GAAG,CAAC;IACb,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,OAAO;QACX,qBAAqB;IACvB,CAAC;CACF;AAED;;GAEG;AACH,MAAM,OAAO,uBAAuB;IAClC;;;;OAIG;IACH,MAAM,CAAC,GAAY;QACjB,MAAM,WAAW,GAAiB,EAAE,CAAC;QAErC,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,KAAK,EAAE,WAAW,CAAC,CAAC;QAEvC,OAAO,WAAW,CAAC;IACrB,CAAC;IAED;;OAEG;IACK,QAAQ,CAAC,IAAa,EAAE,aAAsB,EAAE,WAAyB;QAC/E,IAAI,CAAC,IAAI,EAAE,CAAC;YAAA,OAAO;QAAA,CAAC;QAEpB,sBAAsB;QACtB,IAAI,aAAa,IAAI,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,EAAE,CAAC;YACtD,WAAW,CAAC,IAAI,CAAC;gBACf,IAAI,EAAE,aAAa;gBACnB,QAAQ,EAAE,IAAI,CAAC,QAAQ;gBACvB,UAAU,EAAE,GAAG;gBACf,MAAM,EAAE,YAAY;aACrB,CAAC,CAAC;QACL,CAAC;QAED,yCAAyC;QACzC,IAAI,eAAe,GAAG,aAAa,CAAC;QACpC,IAAI,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,EAAE,CAAC;YACtC,eAAe,GAAG,IAAI,CAAC;QACzB,CAAC;QAED,QAAQ;QACR,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAClB,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;gBAClC,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,eAAe,EAAE,WAAW,CAAC,CAAC;gBAEnD,wBAAwB;gBACxB,IAAI,IAAI,CAAC,sBAAsB,CAAC,KAAK,CAAC,EAAE,CAAC;oBACvC,eAAe,GAAG,IAAI,CAAC;gBACzB,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IAED;;OAEG;IACK,qBAAqB,CAAC,IAAa;QACzC,MAAM,eAAe,GAAG;YACtB,qBAAqB;YACrB,qBAAqB;YACrB,qBAAqB;YACrB,kBAAkB;YAClB,aAAa;YACb,cAAc;YACd,gBAAgB;YAChB,iBAAiB;YACjB,gBAAgB;SACjB,CAAC;QAEF,OAAO,eAAe,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC7C,CAAC;IAED;;OAEG;IACK,sBAAsB,CAAC,IAAa;QAC1C,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;YACtB,OAAO,IAAI,CAAC;QACd,CAAC;QAED,OAAO,CAAC,iBAAiB,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,mBAAmB,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC1G,CAAC;CACF;AAED;;GAEG;AACH,MAAM,OAAO,gBAAgB;IACnB,oBAAoB,GAAG,IAAI,oBAAoB,EAAE,CAAC;IAClD,uBAAuB,GAAG,IAAI,uBAAuB,EAAE,CAAC;IACxD,MAAM,GAAG,IAAI,gBAAgB,EAAE,CAAC;IAExC;;;;;OAKG;IACH,KAAK,CAAC,YAAY,CAAC,QAAgB,EAAE,OAAe;QAClD,OAAO;QACP,IAAI,OAAO,QAAQ,KAAK,QAAQ,IAAI,QAAQ,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC;YAC3D,MAAM,IAAI,KAAK,CAAC,aAAa,CAAC,CAAC;QACjC,CAAC;QAED,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE,CAAC;YAChC,MAAM,IAAI,KAAK,CAAC,WAAW,CAAC,CAAC;QAC/B,CAAC;QAED,WAAW;QACX,IAAI,OAAO,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC;YAC1B,OAAO,EAAE,CAAC;QACZ,CAAC;QAED,oBAAoB;QACpB,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,aAAa,CAAC,EAAE,CAAC;YACnC,wBAAwB;YACxB,OAAO,EAAE,CAAC;QACZ,CAAC;QAED,IAAI,CAAC;YACH,4BAA4B;YAC5B,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;YAEvD,2BAA2B;YAC3B,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC,oBAAoB,CAAC,MAAM,CAAC,GAAG,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;YAE/E,UAAU;YACV,MAAM,eAAe,GAAG,IAAI,CAAC,uBAAuB,CAAC,MAAM,CAAC,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAC,CAAC;YAE1F,OAAO,CAAC,GAAG,aAAa,EAAE,GAAG,eAAe,CAAC,CAAC;QAChD,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,oBAAoB;YACpB,eAAe;YACf,OAAO,EAAE,CAAC;QACZ,CAAC;IACH,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,aAAa,CAAC,KAAe;QAIjC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;YAC1B,MAAM,IAAI,KAAK,CAAC,WAAW,CAAC,CAAC;QAC/B,CAAC;QAED,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,GAAG,CAC/B,KAAK,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE;YACvB,IAAI,CAAC;gBACH,SAAS;gBACT,MAAM,EAAE,GAAG,MAAM,MAAM,CAAC,aAAa,CAAC,CAAC;gBACvC,MAAM,OAAO,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;gBACjD,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;gBACxD,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;YAC5B,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,OAAO;oBACL,IAAI;oBACJ,QAAQ,EAAE,CAAC;4BACT,IAAI,EAAE,aAAsB;4BAC5B,QAAQ,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE;4BAChC,UAAU,EAAE,CAAC;4BACb,MAAM,EAAE,SAAS,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,EAAE;yBACnE,CAAC;iBACH,CAAC;YACJ,CAAC;QACH,CAAC,CAAC,CACH,CAAC;QAEF,OAAO,OAAO,CAAC;IACjB,CAAC;IAED;;OAEG;IACK,kBAAkB,CAAC,GAAQ;QACjC,sBAAsB;QACtB,OAAO;YACL,IAAI,EAAE,SAAS;YACf,QAAQ,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE;YAChC,QAAQ,EAAE,EAAE;SACb,CAAC;IACJ,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,aAAa,CAAC,KAAe;QAMjC,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QAEhD,MAAM,WAAW,GAAG,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QAC/D,MAAM,MAAM,GAA2B,EAAE,CAAC;QAC1C,IAAI,eAAe,GAAG,CAAC,CAAC;QAExB,KAAK,MAAM,IAAI,IAAI,WAAW,EAAE,CAAC;YAC/B,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;YACjD,eAAe,IAAI,IAAI,CAAC,UAAU,CAAC;QACrC,CAAC;QAED,OAAO;YACL,UAAU,EAAE,KAAK,CAAC,MAAM;YACxB,aAAa,EAAE,WAAW,CAAC,MAAM;YACjC,MAAM;YACN,iBAAiB,EAAE,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,eAAe,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;SACrF,CAAC;IACJ,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,OAAO;QACX,MAAM,IAAI,CAAC,oBAAoB,CAAC,OAAO,EAAE,CAAC;QAC1C,MAAM,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;IAC9B,CAAC;CACF"}
@@ -132,5 +132,12 @@ export declare abstract class BaseParserPlugin implements ParserPlugin {
132
132
  * 使用 minimatch 比對檔案路徑與排除模式
133
133
  */
134
134
  shouldIgnoreFile(filePath: string): boolean;
135
+ /**
136
+ * 判斷符號是否為抽象宣告
137
+ * 預設實作:class, interface, type, enum, function, module, namespace 視為抽象宣告
138
+ * 排除實體:variable, constant(這些是具體的值實例)
139
+ * 子類別可以覆寫此方法以實作語言特定的判斷邏輯
140
+ */
141
+ isAbstractDeclaration(symbol: Symbol): boolean;
135
142
  }
136
143
  //# sourceMappingURL=base.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"base.d.ts","sourceRoot":"","sources":["../../../src/infrastructure/parser/base.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"base.d.ts","sourceRoot":"","sources":["../../../src/infrastructure/parser/base.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,SAAS,EAAE,UAAU,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,6BAA6B,CAAC;AAEvG,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AACnD,OAAO,KAAK,EACV,QAAQ,EACR,UAAU,EACV,KAAK,EACL,gBAAgB,EAChB,aAAa,EACb,kBAAkB,EACnB,MAAM,YAAY,CAAC;AAGpB;;GAEG;AACH,MAAM,MAAM,QAAQ,GAAG,OAAO,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC;AAE3D;;;GAGG;AACH,8BAAsB,gBAAiB,YAAW,YAAY;IAG5D,QAAQ,CAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IAClC,QAAQ,CAAC,QAAQ,CAAC,mBAAmB,EAAE,SAAS,MAAM,EAAE,CAAC;IACzD,QAAQ,CAAC,QAAQ,CAAC,kBAAkB,EAAE,SAAS,MAAM,EAAE,CAAC;IAIxD,QAAQ,CAAC,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC;IAI5D,OAAO,CAAC,YAAY,CAAS;IAC7B,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,QAAQ,CAAqB;IAIrC;;OAEG;IACG,cAAc,CAAC,IAAI,EAAE,GAAG,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;IAKlD;;OAEG;IACG,cAAc,CAAC,IAAI,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC;IAKrE;;OAEG;IACG,mBAAmB,CAAC,IAAI,EAAE,GAAG,GAAG,OAAO,CAAC,UAAU,EAAE,CAAC;IAK3D;;OAEG;IACG,MAAM,CAAC,IAAI,EAAE,GAAG,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC;IAKjF;;OAEG;IACG,eAAe,CAAC,IAAI,EAAE,GAAG,EAAE,UAAU,EAAE,KAAK,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC;IAKxE;;OAEG;IACG,cAAc,CAAC,IAAI,EAAE,GAAG,EAAE,QAAQ,EAAE,QAAQ,GAAG,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC;IAK/E;;OAEG;IACG,UAAU,CAAC,IAAI,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,KAAK,EAAE,CAAC;IAK7D;;OAEG;IACG,QAAQ,IAAI,OAAO,CAAC,gBAAgB,CAAC;IAwB3C;;OAEG;IACG,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAS9B;;OAEG;IACG,UAAU,CAAC,OAAO,CAAC,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC;IAgBxD;;OAEG;IACH,aAAa,IAAI,OAAO;IAIxB;;OAEG;IACH,UAAU,IAAI,OAAO;IAMrB;;OAEG;IACH,iBAAiB,IAAI,aAAa;IASlC;;OAEG;IACH,aAAa,CAAC,OAAO,EAAE,OAAO,CAAC,aAAa,CAAC,GAAG,IAAI;IAKpD;;OAEG;IACH,eAAe,IAAI,kBAAkB;IAYrC;;OAEG;IACH,WAAW,CAAC,KAAK,EAAE,KAAK,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI;IAQjD;;OAEG;IACH,GAAG,CAAC,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI;IAsB3C;;OAEG;IACH,gBAAgB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO;IAU3C;;OAEG;IACH,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;IAKnC;;OAEG;IACH,gBAAgB,CAAC,QAAQ,EAAE,QAAQ,GAAG,OAAO;IAI7C;;OAEG;IACH,aAAa,CAAC,KAAK,EAAE,KAAK,GAAG,OAAO;IASpC;;OAEG;IACH,SAAS,CAAC,gBAAgB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM;IAKpD;;OAEG;IACH,SAAS,CAAC,YAAY,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO;IAIjD;;OAEG;IACH,SAAS,CAAC,cAAc,CACtB,QAAQ,EAAE,MAAM,EAChB,KAAK,EAAE,KAAK,EACZ,OAAO,EAAE,MAAM,EACf,QAAQ,CAAC,EAAE,QAAQ,GAAG,SAAS,GAAG,QAAQ,GAAG,QAAQ,GACpD,QAAQ;IAiBX;;OAEG;cACa,WAAW,CAAC,CAAC,EAC3B,SAAS,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,EAC3B,YAAY,EAAE,CAAC,EACf,OAAO,CAAC,EAAE,MAAM,GACf,OAAO,CAAC,CAAC,CAAC;IAWb;;;OAGG;IACH,yBAAyB,IAAI,MAAM,EAAE;IAerC;;;OAGG;IACH,gBAAgB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO;IAiB3C;;;;;OAKG;IACH,qBAAqB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO;CAa/C"}
@@ -3,7 +3,7 @@
3
3
  * 提供 Parser 插件的基礎實作和通用功能
4
4
  */
5
5
  import { minimatch } from 'minimatch';
6
- import { isPosition } from '../../shared/types/index.js';
6
+ import { isPosition, SymbolType } from '../../shared/types/index.js';
7
7
  import { createValidationSuccess as createSuccessResult } from './types.js';
8
8
  /**
9
9
  * BaseParserPlugin 抽象類別
@@ -304,5 +304,23 @@ export class BaseParserPlugin {
304
304
  }
305
305
  });
306
306
  }
307
+ /**
308
+ * 判斷符號是否為抽象宣告
309
+ * 預設實作:class, interface, type, enum, function, module, namespace 視為抽象宣告
310
+ * 排除實體:variable, constant(這些是具體的值實例)
311
+ * 子類別可以覆寫此方法以實作語言特定的判斷邏輯
312
+ */
313
+ isAbstractDeclaration(symbol) {
314
+ const abstractTypes = [
315
+ SymbolType.Class,
316
+ SymbolType.Interface,
317
+ SymbolType.Type,
318
+ SymbolType.Enum,
319
+ SymbolType.Function,
320
+ SymbolType.Module,
321
+ SymbolType.Namespace
322
+ ];
323
+ return abstractTypes.includes(symbol.type);
324
+ }
307
325
  }
308
326
  //# sourceMappingURL=base.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"base.js","sourceRoot":"","sources":["../../../src/infrastructure/parser/base.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"base.js","sourceRoot":"","sources":["../../../src/infrastructure/parser/base.ts"],"names":[],"mappings":"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"}
@@ -95,6 +95,14 @@ export interface ParserPlugin {
95
95
  * @returns true 表示應該忽略此檔案
96
96
  */
97
97
  shouldIgnoreFile?(filePath: string): boolean;
98
+ /**
99
+ * 判斷符號是否為抽象宣告
100
+ * 抽象宣告是指不產生實際執行程式碼的型別定義,如 class、interface、type、enum 等
101
+ * 各語言的抽象宣告定義不同,由各 Parser 實作
102
+ * @param symbol 要判斷的符號
103
+ * @returns true 表示此符號是抽象宣告
104
+ */
105
+ isAbstractDeclaration?(symbol: Symbol): boolean;
98
106
  }
99
107
  /**
100
108
  * Parser 插件型別守衛
@@ -1 +1 @@
1
- {"version":3,"file":"interface.d.ts","sourceRoot":"","sources":["../../../src/infrastructure/parser/interface.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,SAAS,EAAE,UAAU,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,6BAA6B,CAAC;AACvG,OAAO,KAAK,EAAE,QAAQ,EAAE,UAAU,EAAE,KAAK,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAEhF;;;GAGG;AACH,MAAM,WAAW,YAAY;IAG3B,WAAW;IACX,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAEtB,WAAW;IACX,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IAEzB,eAAe;IACf,QAAQ,CAAC,mBAAmB,EAAE,SAAS,MAAM,EAAE,CAAC;IAEhD,cAAc;IACd,QAAQ,CAAC,kBAAkB,EAAE,SAAS,MAAM,EAAE,CAAC;IAI/C;;;;;;OAMG;IACH,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;IAEpD;;;;OAIG;IACH,cAAc,CAAC,GAAG,EAAE,GAAG,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;IAE5C;;;;;OAKG;IACH,cAAc,CAAC,GAAG,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC,CAAC;IAE/D;;;;OAIG;IACH,mBAAmB,CAAC,GAAG,EAAE,GAAG,GAAG,OAAO,CAAC,UAAU,EAAE,CAAC,CAAC;IAIrD;;;;;;OAMG;IACH,MAAM,CAAC,GAAG,EAAE,GAAG,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC;IAE3E;;;;;OAKG;IACH,eAAe,CAAC,GAAG,EAAE,GAAG,EAAE,SAAS,EAAE,KAAK,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC;IAIjE;;;;;OAKG;IACH,cAAc,CAAC,GAAG,EAAE,GAAG,EAAE,QAAQ,EAAE,QAAQ,GAAG,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC,CAAC;IAEzE;;;;;OAKG;IACH,UAAU,CAAC,GAAG,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC;IAIvD;;;OAGG;IACH,QAAQ,IAAI,OAAO,CAAC,gBAAgB,CAAC,CAAC;IAEtC;;;OAGG;IACH,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAIzB;;;;OAIG;IACH,yBAAyB,CAAC,IAAI,MAAM,EAAE,CAAC;IAEvC;;;;OAIG;IACH,gBAAgB,CAAC,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC;CAC9C;AAED;;;GAGG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,YAAY,CAyCpE;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAElF;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAEhF;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAGzD;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAC/B,OAAO,EAAE,YAAY,EAAE,EACvB,QAAQ,EAAE,MAAM,GACf,YAAY,GAAG,IAAI,CAUrB"}
1
+ {"version":3,"file":"interface.d.ts","sourceRoot":"","sources":["../../../src/infrastructure/parser/interface.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,SAAS,EAAE,UAAU,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,6BAA6B,CAAC;AACvG,OAAO,KAAK,EAAE,QAAQ,EAAE,UAAU,EAAE,KAAK,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAEhF;;;GAGG;AACH,MAAM,WAAW,YAAY;IAG3B,WAAW;IACX,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAEtB,WAAW;IACX,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IAEzB,eAAe;IACf,QAAQ,CAAC,mBAAmB,EAAE,SAAS,MAAM,EAAE,CAAC;IAEhD,cAAc;IACd,QAAQ,CAAC,kBAAkB,EAAE,SAAS,MAAM,EAAE,CAAC;IAI/C;;;;;;OAMG;IACH,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;IAEpD;;;;OAIG;IACH,cAAc,CAAC,GAAG,EAAE,GAAG,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;IAE5C;;;;;OAKG;IACH,cAAc,CAAC,GAAG,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC,CAAC;IAE/D;;;;OAIG;IACH,mBAAmB,CAAC,GAAG,EAAE,GAAG,GAAG,OAAO,CAAC,UAAU,EAAE,CAAC,CAAC;IAIrD;;;;;;OAMG;IACH,MAAM,CAAC,GAAG,EAAE,GAAG,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC;IAE3E;;;;;OAKG;IACH,eAAe,CAAC,GAAG,EAAE,GAAG,EAAE,SAAS,EAAE,KAAK,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC;IAIjE;;;;;OAKG;IACH,cAAc,CAAC,GAAG,EAAE,GAAG,EAAE,QAAQ,EAAE,QAAQ,GAAG,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC,CAAC;IAEzE;;;;;OAKG;IACH,UAAU,CAAC,GAAG,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC;IAIvD;;;OAGG;IACH,QAAQ,IAAI,OAAO,CAAC,gBAAgB,CAAC,CAAC;IAEtC;;;OAGG;IACH,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAIzB;;;;OAIG;IACH,yBAAyB,CAAC,IAAI,MAAM,EAAE,CAAC;IAEvC;;;;OAIG;IACH,gBAAgB,CAAC,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC;IAI7C;;;;;;OAMG;IACH,qBAAqB,CAAC,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC;CACjD;AAED;;;GAGG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,YAAY,CAyCpE;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAElF;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAEhF;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAGzD;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAC/B,OAAO,EAAE,YAAY,EAAE,EACvB,QAAQ,EAAE,MAAM,GACf,YAAY,GAAG,IAAI,CAUrB"}
@@ -1 +1 @@
1
- {"version":3,"file":"interface.js","sourceRoot":"","sources":["../../../src/infrastructure/parser/interface.ts"],"names":[],"mappings":"AAAA;;;GAGG;AA6HH;;;GAGG;AACH,MAAM,UAAU,cAAc,CAAC,KAAc;IAC3C,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QACxC,OAAO,KAAK,CAAC;IACf,CAAC;IAED,MAAM,GAAG,GAAG,KAAgC,CAAC;IAE7C,SAAS;IACT,IACE,OAAO,GAAG,CAAC,IAAI,KAAK,QAAQ;QAC5B,OAAO,GAAG,CAAC,OAAO,KAAK,QAAQ;QAC/B,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,mBAAmB,CAAC;QACvC,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,kBAAkB,CAAC,EACtC,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAED,eAAe;IACf,MAAM,eAAe,GAAG;QACtB,OAAO;QACP,gBAAgB;QAChB,gBAAgB;QAChB,qBAAqB;QACrB,QAAQ;QACR,iBAAiB;QACjB,gBAAgB;QAChB,YAAY;QACZ,UAAU;QACV,SAAS;KACV,CAAC;IAEF,KAAK,MAAM,MAAM,IAAI,eAAe,EAAE,CAAC;QACrC,IAAI,OAAO,GAAG,CAAC,MAAM,CAAC,KAAK,UAAU,EAAE,CAAC;YACtC,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC;IAED,kBAAkB;IAClB,oDAAoD;IAEpD,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,iBAAiB,CAAC,MAAoB,EAAE,SAAiB;IACvE,OAAQ,MAAM,CAAC,mBAAgC,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;AACtE,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,gBAAgB,CAAC,MAAoB,EAAE,QAAgB;IACrE,OAAQ,MAAM,CAAC,kBAA+B,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;AACpE,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,gBAAgB,CAAC,QAAgB;IAC/C,MAAM,OAAO,GAAG,QAAQ,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;IAC1C,OAAO,OAAO,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;AAC3D,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,iBAAiB,CAC/B,OAAuB,EACvB,QAAgB;IAEhB,MAAM,SAAS,GAAG,gBAAgB,CAAC,QAAQ,CAAC,CAAC;IAE7C,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;QAC7B,IAAI,iBAAiB,CAAC,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC;YACzC,OAAO,MAAM,CAAC;QAChB,CAAC;IACH,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC"}
1
+ {"version":3,"file":"interface.js","sourceRoot":"","sources":["../../../src/infrastructure/parser/interface.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAwIH;;;GAGG;AACH,MAAM,UAAU,cAAc,CAAC,KAAc;IAC3C,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QACxC,OAAO,KAAK,CAAC;IACf,CAAC;IAED,MAAM,GAAG,GAAG,KAAgC,CAAC;IAE7C,SAAS;IACT,IACE,OAAO,GAAG,CAAC,IAAI,KAAK,QAAQ;QAC5B,OAAO,GAAG,CAAC,OAAO,KAAK,QAAQ;QAC/B,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,mBAAmB,CAAC;QACvC,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,kBAAkB,CAAC,EACtC,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAED,eAAe;IACf,MAAM,eAAe,GAAG;QACtB,OAAO;QACP,gBAAgB;QAChB,gBAAgB;QAChB,qBAAqB;QACrB,QAAQ;QACR,iBAAiB;QACjB,gBAAgB;QAChB,YAAY;QACZ,UAAU;QACV,SAAS;KACV,CAAC;IAEF,KAAK,MAAM,MAAM,IAAI,eAAe,EAAE,CAAC;QACrC,IAAI,OAAO,GAAG,CAAC,MAAM,CAAC,KAAK,UAAU,EAAE,CAAC;YACtC,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC;IAED,kBAAkB;IAClB,oDAAoD;IAEpD,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,iBAAiB,CAAC,MAAoB,EAAE,SAAiB;IACvE,OAAQ,MAAM,CAAC,mBAAgC,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;AACtE,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,gBAAgB,CAAC,MAAoB,EAAE,QAAgB;IACrE,OAAQ,MAAM,CAAC,kBAA+B,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;AACpE,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,gBAAgB,CAAC,QAAgB;IAC/C,MAAM,OAAO,GAAG,QAAQ,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;IAC1C,OAAO,OAAO,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;AAC3D,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,iBAAiB,CAC/B,OAAuB,EACvB,QAAgB;IAEhB,MAAM,SAAS,GAAG,gBAAgB,CAAC,QAAQ,CAAC,CAAC;IAE7C,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;QAC7B,IAAI,iBAAiB,CAAC,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC;YACzC,OAAO,MAAM,CAAC;QAChB,CAAC;IACH,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../../../src/interfaces/cli/cli.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAiCH,qBAAa,WAAW;IACtB,OAAO,CAAC,OAAO,CAAU;IACzB,OAAO,CAAC,WAAW,CAAC,CAAc;IAClC,OAAO,CAAC,kBAAkB,CAAC,CAAqB;IAChD,OAAO,CAAC,YAAY,CAAC,CAAe;IACpC,OAAO,CAAC,cAAc,CAAC,CAAiB;IACxC,OAAO,CAAC,WAAW,CAAC,CAAc;IAClC,OAAO,CAAC,aAAa,CAAC,CAAgB;;IAQtC;;OAEG;IACG,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAIxC,OAAO,CAAC,iBAAiB;IAiDzB,OAAO,CAAC,aAAa;IAgBrB,OAAO,CAAC,iBAAiB;IAczB,OAAO,CAAC,kBAAkB;IAiB1B,OAAO,CAAC,oBAAoB;IAiB5B,OAAO,CAAC,gBAAgB;IAcxB,OAAO,CAAC,kBAAkB;IAqB1B,OAAO,CAAC,mBAAmB;IAY3B,OAAO,CAAC,gBAAgB;IAaxB,OAAO,CAAC,mBAAmB;YAuBb,kBAAkB;YA2DlB,mBAAmB;YAuHnB,qBAAqB;YAuHrB,iBAAiB;YA2EjB,mBAAmB;IAoEjC;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAwB1B;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAgD3B;;OAEG;IACH,OAAO,CAAC,cAAc;IAMtB;;OAEG;IACH,OAAO,CAAC,cAAc;YAYR,oBAAoB;YAiLpB,iBAAiB;IAsG/B;;OAEG;YACW,yBAAyB;YAgBzB,wBAAwB;YA2BxB,uBAAuB;IAqBrC;;OAEG;YACW,UAAU;IASxB;;OAEG;IACH,OAAO,CAAC,kBAAkB;IA4B1B;;OAEG;IACH,OAAO,CAAC,gBAAgB;IAWxB;;OAEG;IACH,OAAO,CAAC,aAAa;IAarB;;OAEG;YACW,kBAAkB;IAkDhC;;OAEG;YACW,eAAe;IAgC7B;;OAEG;IACH,OAAO,CAAC,eAAe;CAqBxB"}
1
+ {"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../../../src/interfaces/cli/cli.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAiCH,qBAAa,WAAW;IACtB,OAAO,CAAC,OAAO,CAAU;IACzB,OAAO,CAAC,WAAW,CAAC,CAAc;IAClC,OAAO,CAAC,kBAAkB,CAAC,CAAqB;IAChD,OAAO,CAAC,YAAY,CAAC,CAAe;IACpC,OAAO,CAAC,cAAc,CAAC,CAAiB;IACxC,OAAO,CAAC,WAAW,CAAC,CAAc;IAClC,OAAO,CAAC,aAAa,CAAC,CAAgB;;IAQtC;;OAEG;IACG,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAIxC,OAAO,CAAC,iBAAiB;IAiDzB,OAAO,CAAC,aAAa;IAgBrB,OAAO,CAAC,iBAAiB;IAczB,OAAO,CAAC,kBAAkB;IAiB1B,OAAO,CAAC,oBAAoB;IAiB5B,OAAO,CAAC,gBAAgB;IAcxB,OAAO,CAAC,kBAAkB;IAqB1B,OAAO,CAAC,mBAAmB;IAa3B,OAAO,CAAC,gBAAgB;IAcxB,OAAO,CAAC,mBAAmB;YAuBb,kBAAkB;YA2DlB,mBAAmB;YAuHnB,qBAAqB;YAuHrB,iBAAiB;YA2EjB,mBAAmB;IAoEjC;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAwB1B;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAgD3B;;OAEG;IACH,OAAO,CAAC,cAAc;IAMtB;;OAEG;IACH,OAAO,CAAC,cAAc;YAYR,oBAAoB;YAgOpB,iBAAiB;IAgH/B;;OAEG;YACW,yBAAyB;YAgBzB,wBAAwB;YA2BxB,uBAAuB;IAqBrC;;OAEG;YACW,UAAU;IASxB;;OAEG;IACH,OAAO,CAAC,kBAAkB;IA4B1B;;OAEG;IACH,OAAO,CAAC,gBAAgB;IAWxB;;OAEG;IACH,OAAO,CAAC,aAAa;IAarB;;OAEG;YACW,kBAAkB;IAkDhC;;OAEG;YACW,eAAe;IAgC7B;;OAEG;IACH,OAAO,CAAC,eAAe;CAqBxB"}
@@ -196,6 +196,7 @@ export class AgentIdeCLI {
196
196
  .option('-p, --path <path>', '分析路徑', '.')
197
197
  .option('--pattern <pattern>', '分析模式')
198
198
  .option('--format <format>', '輸出格式 (json|table|summary)', 'summary')
199
+ .option('--all', '顯示所有掃描結果(預設只顯示有問題的項目)', false)
199
200
  .action(async (type, options) => {
200
201
  await this.handleAnalyzeCommand(type, options);
201
202
  });
@@ -208,6 +209,7 @@ export class AgentIdeCLI {
208
209
  .option('-t, --type <type>', '分析類型 (graph|cycles|impact)')
209
210
  .option('-f, --file <file>', '特定檔案分析')
210
211
  .option('--format <format>', '輸出格式 (json|dot|summary)', 'summary')
212
+ .option('--all', '顯示完整依賴圖(預設只顯示循環依賴和孤立檔案)', false)
211
213
  .action(async (options) => {
212
214
  await this.handleDepsCommand(options);
213
215
  });
@@ -756,6 +758,8 @@ export class AgentIdeCLI {
756
758
  // 獲取需要分析的檔案列表
757
759
  const files = await this.getAllProjectFiles(analyzePath);
758
760
  const results = await analyzer.analyzeFiles(files);
761
+ // 過濾高複雜度檔案(evaluation === 'high' 或 complexity > 10)
762
+ const highComplexityFiles = results.filter(r => r.complexity.evaluation === 'high' || r.complexity.cyclomaticComplexity > 10);
759
763
  // 計算統計資訊
760
764
  const complexities = results.map(r => r.complexity.cyclomaticComplexity);
761
765
  const averageComplexity = complexities.length > 0
@@ -765,25 +769,43 @@ export class AgentIdeCLI {
765
769
  ? Math.max(...complexities)
766
770
  : 0;
767
771
  if (options.format === 'json') {
768
- console.log(JSON.stringify({
769
- files: results.map(r => ({
772
+ const outputData = {
773
+ summary: {
774
+ totalScanned: results.length,
775
+ issuesFound: highComplexityFiles.length,
776
+ averageComplexity,
777
+ maxComplexity
778
+ }
779
+ };
780
+ if (options.all) {
781
+ outputData.all = results.map(r => ({
770
782
  path: r.file,
771
783
  complexity: r.complexity.cyclomaticComplexity,
772
784
  cognitiveComplexity: r.complexity.cognitiveComplexity,
773
785
  evaluation: r.complexity.evaluation
774
- })),
775
- summary: {
776
- averageComplexity,
777
- maxComplexity,
778
- totalFiles: results.length
779
- }
780
- }, null, 2));
786
+ }));
787
+ }
788
+ else {
789
+ outputData.issues = highComplexityFiles.map(r => ({
790
+ path: r.file,
791
+ complexity: r.complexity.cyclomaticComplexity,
792
+ cognitiveComplexity: r.complexity.cognitiveComplexity,
793
+ evaluation: r.complexity.evaluation
794
+ }));
795
+ }
796
+ console.log(JSON.stringify(outputData, null, 2));
781
797
  }
782
798
  else {
783
799
  console.log('✅ 複雜度分析完成!');
784
- console.log(`📊 統計: ${results.length} 個檔案`);
800
+ console.log(`📊 統計: ${results.length} 個檔案,${highComplexityFiles.length} 個高複雜度檔案`);
785
801
  console.log(` 平均複雜度: ${averageComplexity.toFixed(2)}`);
786
802
  console.log(` 最高複雜度: ${maxComplexity}`);
803
+ if (!options.all && highComplexityFiles.length > 0) {
804
+ console.log(`\n⚠️ 高複雜度檔案:`);
805
+ highComplexityFiles.forEach(r => {
806
+ console.log(` - ${r.file}: ${r.complexity.cyclomaticComplexity}`);
807
+ });
808
+ }
787
809
  }
788
810
  }
789
811
  else if (analyzeType === 'dead-code') {
@@ -791,30 +813,50 @@ export class AgentIdeCLI {
791
813
  // 獲取需要分析的檔案列表
792
814
  const files = await this.getAllProjectFiles(analyzePath);
793
815
  const results = await detector.detectInFiles(files);
816
+ // 過濾有 dead code 的檔案
817
+ const filesWithDeadCode = results.filter(r => r.deadCode.length > 0);
794
818
  // 統計結果
795
819
  const allDeadCode = results.flatMap(r => r.deadCode);
796
820
  const deadFunctions = allDeadCode.filter(d => d.type === 'function');
797
821
  const deadVariables = allDeadCode.filter(d => d.type === 'variable');
798
822
  if (options.format === 'json') {
799
- console.log(JSON.stringify({
800
- files: results.map(r => ({
801
- path: r.file,
802
- deadCode: r.deadCode
803
- })),
804
- deadFunctions: allDeadCode.filter(d => d.type === 'function'),
805
- deadVariables: allDeadCode.filter(d => d.type === 'variable'),
823
+ const outputData = {
806
824
  summary: {
825
+ totalScanned: results.length,
826
+ filesWithIssues: filesWithDeadCode.length,
807
827
  totalDeadFunctions: deadFunctions.length,
808
828
  totalDeadVariables: deadVariables.length,
809
829
  totalDeadCode: allDeadCode.length
810
830
  }
811
- }, null, 2));
831
+ };
832
+ if (options.all) {
833
+ outputData.all = results.map(r => ({
834
+ path: r.file,
835
+ deadCode: r.deadCode
836
+ }));
837
+ }
838
+ else {
839
+ outputData.issues = filesWithDeadCode.map(r => ({
840
+ path: r.file,
841
+ deadCode: r.deadCode
842
+ }));
843
+ }
844
+ outputData.deadFunctions = deadFunctions;
845
+ outputData.deadVariables = deadVariables;
846
+ console.log(JSON.stringify(outputData, null, 2));
812
847
  }
813
848
  else {
814
849
  console.log('✅ 死代碼檢測完成!');
850
+ console.log(`📊 統計: ${results.length} 個檔案,${filesWithDeadCode.length} 個有死代碼`);
815
851
  console.log('📊 發現:');
816
852
  console.log(` 未使用函式: ${deadFunctions.length} 個`);
817
853
  console.log(` 未使用變數: ${deadVariables.length} 個`);
854
+ if (!options.all && filesWithDeadCode.length > 0) {
855
+ console.log(`\n⚠️ 有死代碼的檔案:`);
856
+ filesWithDeadCode.forEach(r => {
857
+ console.log(` - ${r.file}: ${r.deadCode.length} 項`);
858
+ });
859
+ }
818
860
  }
819
861
  }
820
862
  else if (analyzeType === 'best-practices') {
@@ -932,17 +974,6 @@ export class AgentIdeCLI {
932
974
  const cycles = cycleDetector.detectCycles(graph);
933
975
  // 輸出結果
934
976
  if (options.format === 'json') {
935
- // 建立 nodes 和 edges 格式(為了符合測試期望)
936
- const nodes = graph.getAllNodes().map((nodeId) => ({
937
- id: nodeId,
938
- dependencies: graph.getDependencies(nodeId)
939
- }));
940
- const edges = [];
941
- for (const nodeId of graph.getAllNodes()) {
942
- for (const depId of graph.getDependencies(nodeId)) {
943
- edges.push({ source: nodeId, target: depId });
944
- }
945
- }
946
977
  // 根據 --file 選項決定輸出格式
947
978
  if (options.file) {
948
979
  // 單檔案依賴查詢模式
@@ -955,23 +986,42 @@ export class AgentIdeCLI {
955
986
  }
956
987
  else {
957
988
  // 專案依賴圖模式
958
- console.log(JSON.stringify({
959
- nodes,
960
- edges,
961
- cycles: cycles.map(c => ({
962
- cycle: c.cycle,
963
- length: c.length,
964
- severity: c.severity
965
- })),
966
- stats: {
989
+ const outputData = {
990
+ summary: {
967
991
  totalFiles: stats.totalFiles,
968
992
  totalDependencies: stats.totalDependencies,
969
993
  averageDependenciesPerFile: stats.averageDependenciesPerFile,
970
994
  maxDependenciesInFile: stats.maxDependenciesInFile,
995
+ issuesFound: cycles.length + stats.orphanedFiles
996
+ },
997
+ issues: {
998
+ cycles: cycles.map(c => ({
999
+ cycle: c.cycle,
1000
+ length: c.length,
1001
+ severity: c.severity
1002
+ })),
971
1003
  circularDependencies: cycles.length,
972
1004
  orphanedFiles: stats.orphanedFiles
973
1005
  }
974
- }, null, 2));
1006
+ };
1007
+ // 只有在 --all 時才輸出完整依賴圖
1008
+ if (options.all) {
1009
+ const nodes = graph.getAllNodes().map((nodeId) => ({
1010
+ id: nodeId,
1011
+ dependencies: graph.getDependencies(nodeId)
1012
+ }));
1013
+ const edges = [];
1014
+ for (const nodeId of graph.getAllNodes()) {
1015
+ for (const depId of graph.getDependencies(nodeId)) {
1016
+ edges.push({ source: nodeId, target: depId });
1017
+ }
1018
+ }
1019
+ outputData.all = {
1020
+ nodes,
1021
+ edges
1022
+ };
1023
+ }
1024
+ console.log(JSON.stringify(outputData, null, 2));
975
1025
  }
976
1026
  }
977
1027
  else {