agent-ide 0.1.7 → 0.1.9

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.
Files changed (81) hide show
  1. package/dist/core/analysis/complexity-analyzer.d.ts.map +1 -1
  2. package/dist/core/analysis/complexity-analyzer.js +3 -2
  3. package/dist/core/analysis/complexity-analyzer.js.map +1 -1
  4. package/dist/core/analysis/dead-code-detector.d.ts +39 -10
  5. package/dist/core/analysis/dead-code-detector.d.ts.map +1 -1
  6. package/dist/core/analysis/dead-code-detector.js +160 -84
  7. package/dist/core/analysis/dead-code-detector.js.map +1 -1
  8. package/dist/core/analysis/index.d.ts +1 -1
  9. package/dist/core/analysis/index.d.ts.map +1 -1
  10. package/dist/core/dependency/dependency-analyzer.d.ts.map +1 -1
  11. package/dist/core/dependency/dependency-analyzer.js +11 -4
  12. package/dist/core/dependency/dependency-analyzer.js.map +1 -1
  13. package/dist/core/indexing/index-engine.d.ts +9 -0
  14. package/dist/core/indexing/index-engine.d.ts.map +1 -1
  15. package/dist/core/indexing/index-engine.js +60 -1
  16. package/dist/core/indexing/index-engine.js.map +1 -1
  17. package/dist/core/refactor/extract-function.d.ts +26 -4
  18. package/dist/core/refactor/extract-function.d.ts.map +1 -1
  19. package/dist/core/refactor/extract-function.js +300 -48
  20. package/dist/core/refactor/extract-function.js.map +1 -1
  21. package/dist/infrastructure/parser/base.d.ts +17 -0
  22. package/dist/infrastructure/parser/base.d.ts.map +1 -1
  23. package/dist/infrastructure/parser/base.js +58 -1
  24. package/dist/infrastructure/parser/base.js.map +1 -1
  25. package/dist/infrastructure/parser/interface.d.ts +20 -0
  26. package/dist/infrastructure/parser/interface.d.ts.map +1 -1
  27. package/dist/infrastructure/parser/interface.js +2 -0
  28. package/dist/infrastructure/parser/interface.js.map +1 -1
  29. package/dist/interfaces/cli/cli.d.ts +13 -1
  30. package/dist/interfaces/cli/cli.d.ts.map +1 -1
  31. package/dist/interfaces/cli/cli.js +155 -15
  32. package/dist/interfaces/cli/cli.js.map +1 -1
  33. package/dist/interfaces/cli/output-formatter.d.ts +55 -0
  34. package/dist/interfaces/cli/output-formatter.d.ts.map +1 -0
  35. package/dist/interfaces/cli/output-formatter.js +195 -0
  36. package/dist/interfaces/cli/output-formatter.js.map +1 -0
  37. package/dist/plugins/javascript/parser.d.ts +17 -0
  38. package/dist/plugins/javascript/parser.d.ts.map +1 -1
  39. package/dist/plugins/javascript/parser.js +71 -0
  40. package/dist/plugins/javascript/parser.js.map +1 -1
  41. package/dist/plugins/typescript/parser.d.ts +16 -0
  42. package/dist/plugins/typescript/parser.d.ts.map +1 -1
  43. package/dist/plugins/typescript/parser.js +76 -0
  44. package/dist/plugins/typescript/parser.js.map +1 -1
  45. package/package.json +8 -14
  46. package/dist/core/performance/analyzer.d.ts +0 -62
  47. package/dist/core/performance/analyzer.d.ts.map +0 -1
  48. package/dist/core/performance/analyzer.js +0 -378
  49. package/dist/core/performance/analyzer.js.map +0 -1
  50. package/dist/core/performance/cache-manager.d.ts +0 -161
  51. package/dist/core/performance/cache-manager.d.ts.map +0 -1
  52. package/dist/core/performance/cache-manager.js +0 -375
  53. package/dist/core/performance/cache-manager.js.map +0 -1
  54. package/dist/core/performance/index.d.ts +0 -14
  55. package/dist/core/performance/index.d.ts.map +0 -1
  56. package/dist/core/performance/index.js +0 -17
  57. package/dist/core/performance/index.js.map +0 -1
  58. package/dist/core/performance/interfaces.d.ts +0 -188
  59. package/dist/core/performance/interfaces.d.ts.map +0 -1
  60. package/dist/core/performance/interfaces.js +0 -17
  61. package/dist/core/performance/interfaces.js.map +0 -1
  62. package/dist/core/performance/memory-manager.d.ts +0 -176
  63. package/dist/core/performance/memory-manager.d.ts.map +0 -1
  64. package/dist/core/performance/memory-manager.js +0 -364
  65. package/dist/core/performance/memory-manager.js.map +0 -1
  66. package/dist/core/performance/monitor.d.ts +0 -92
  67. package/dist/core/performance/monitor.d.ts.map +0 -1
  68. package/dist/core/performance/monitor.js +0 -228
  69. package/dist/core/performance/monitor.js.map +0 -1
  70. package/dist/plugins/swift/index.d.ts +0 -11
  71. package/dist/plugins/swift/index.d.ts.map +0 -1
  72. package/dist/plugins/swift/index.js +0 -15
  73. package/dist/plugins/swift/index.js.map +0 -1
  74. package/dist/plugins/swift/parser.d.ts +0 -98
  75. package/dist/plugins/swift/parser.d.ts.map +0 -1
  76. package/dist/plugins/swift/parser.js +0 -612
  77. package/dist/plugins/swift/parser.js.map +0 -1
  78. package/dist/plugins/swift/types.d.ts +0 -196
  79. package/dist/plugins/swift/types.d.ts.map +0 -1
  80. package/dist/plugins/swift/types.js +0 -268
  81. package/dist/plugins/swift/types.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"complexity-analyzer.d.ts","sourceRoot":"","sources":["../../../src/core/analysis/complexity-analyzer.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,MAAM,WAAW,OAAO;IACtB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,CAAC,EAAE,OAAO,EAAE,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAGD,MAAM,WAAW,gBAAgB;IAC/B,oBAAoB,EAAE,MAAM,CAAC;IAC7B,mBAAmB,EAAE,MAAM,CAAC;IAC5B,UAAU,EAAE,MAAM,CAAC;CACpB;AAED;;;GAGG;AACH,qBAAa,4BAA4B;IACvC;;;;OAIG;IACH,SAAS,CAAC,GAAG,EAAE,OAAO,GAAG,MAAM;IAmC/B;;;;OAIG;IACH,QAAQ,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM;CAWrC;AAED;;;GAGG;AACH,qBAAa,2BAA2B;IACtC,OAAO,CAAC,YAAY,CAAK;IAEzB;;;;OAIG;IACH,SAAS,CAAC,GAAG,EAAE,OAAO,GAAG,MAAM;IA2D/B;;OAEG;IACH,OAAO,CAAC,WAAW;IAKnB;;OAEG;IACH,QAAQ,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM;CAWrC;AAED;;;GAGG;AACH,qBAAa,kBAAkB;IAC7B,OAAO,CAAC,kBAAkB,CAAsC;IAChE,OAAO,CAAC,iBAAiB,CAAqC;IAE9D;;;;OAIG;IACG,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,CAAC;IA2B1D;;;OAGG;IACH,OAAO,CAAC,cAAc;IAqCtB;;OAEG;IACG,YAAY,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,KAAK,CAAC;QACjD,IAAI,EAAE,MAAM,CAAC;QACb,UAAU,EAAE,gBAAgB,CAAC;KAC9B,CAAC,CAAC;CA2BJ"}
1
+ {"version":3,"file":"complexity-analyzer.d.ts","sourceRoot":"","sources":["../../../src/core/analysis/complexity-analyzer.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,MAAM,WAAW,OAAO;IACtB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,CAAC,EAAE,OAAO,EAAE,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAGD,MAAM,WAAW,gBAAgB;IAC/B,oBAAoB,EAAE,MAAM,CAAC;IAC7B,mBAAmB,EAAE,MAAM,CAAC;IAC5B,UAAU,EAAE,MAAM,CAAC;CACpB;AAED;;;GAGG;AACH,qBAAa,4BAA4B;IACvC;;;;OAIG;IACH,SAAS,CAAC,GAAG,EAAE,OAAO,GAAG,MAAM;IAmC/B;;;;OAIG;IACH,QAAQ,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM;CAWrC;AAED;;;GAGG;AACH,qBAAa,2BAA2B;IACtC,OAAO,CAAC,YAAY,CAAK;IAEzB;;;;OAIG;IACH,SAAS,CAAC,GAAG,EAAE,OAAO,GAAG,MAAM;IA2D/B;;OAEG;IACH,OAAO,CAAC,WAAW;IAKnB;;OAEG;IACH,QAAQ,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM;CAWrC;AAED;;;GAGG;AACH,qBAAa,kBAAkB;IAC7B,OAAO,CAAC,kBAAkB,CAAsC;IAChE,OAAO,CAAC,iBAAiB,CAAqC;IAE9D;;;;OAIG;IACG,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,CAAC;IA2B1D;;;OAGG;IACH,OAAO,CAAC,cAAc;IAqCtB;;OAEG;IACG,YAAY,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,KAAK,CAAC;QACjD,IAAI,EAAE,MAAM,CAAC;QACb,UAAU,EAAE,gBAAgB,CAAC;KAC9B,CAAC,CAAC;CA4BJ"}
@@ -232,8 +232,9 @@ export class ComplexityAnalyzer {
232
232
  }
233
233
  const results = await Promise.all(files.map(async (file) => {
234
234
  try {
235
- // 實際實作中應該讀取檔案內容
236
- const code = ''; // 簡化實作
235
+ // 讀取檔案內容
236
+ const fs = await import('fs/promises');
237
+ const code = await fs.readFile(file, 'utf-8');
237
238
  const complexity = await this.analyzeCode(code);
238
239
  return { file, complexity };
239
240
  }
@@ -1 +1 @@
1
- {"version":3,"file":"complexity-analyzer.js","sourceRoot":"","sources":["../../../src/core/analysis/complexity-analyzer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"complexity-analyzer.js","sourceRoot":"","sources":["../../../src/core/analysis/complexity-analyzer.ts"],"names":[],"mappings":"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"}
@@ -2,7 +2,9 @@
2
2
  * 死代碼檢測器
3
3
  * 檢測未使用的變數、函式、類別和不可達代碼
4
4
  */
5
- export interface Symbol {
5
+ import { TypeScriptParser } from '../../plugins/typescript/parser.js';
6
+ import type { AST } from '../../shared/types/index.js';
7
+ export interface LegacySymbol {
6
8
  name: string;
7
9
  type: 'variable' | 'function' | 'class' | 'import';
8
10
  location: {
@@ -47,14 +49,41 @@ export interface ASTNode {
47
49
  export declare class UnusedSymbolDetector {
48
50
  /**
49
51
  * 檢測未使用的符號
50
- * @param symbols 符號表
52
+ * @param ast AST 物件
53
+ * @param parser TypeScript parser 實例(重用以提升效能)
51
54
  * @returns 未使用的符號列表
52
55
  */
53
- detect(symbols: Symbol[]): UnusedCode[];
56
+ detect(ast: AST, parser: TypeScriptParser): Promise<UnusedCode[]>;
57
+ /**
58
+ * 建立引用映射表(批次處理)
59
+ * 優化:使用 Promise.all 並行處理多個符號
60
+ */
61
+ private buildReferenceMap;
62
+ /**
63
+ * 檢查符號是否已匯出
64
+ */
65
+ private isExported;
66
+ /**
67
+ * 檢查是否為函式參數
68
+ */
69
+ private isParameter;
70
+ /**
71
+ * 檢查是否為 public 或 protected 類別成員
72
+ * 這些成員可能被子類別或外部程式碼使用,單檔案模式無法檢測
73
+ */
74
+ private isPublicOrProtectedMember;
75
+ /**
76
+ * 映射符號類型到 UnusedCode 類型
77
+ */
78
+ private mapSymbolType;
54
79
  /**
55
80
  * 計算檢測置信度
56
81
  */
57
82
  private calculateConfidence;
83
+ /**
84
+ * 清理資源
85
+ */
86
+ dispose(): Promise<void>;
58
87
  }
59
88
  /**
60
89
  * 不可達代碼檢測器
@@ -85,6 +114,7 @@ export declare class UnreachableCodeDetector {
85
114
  export declare class DeadCodeDetector {
86
115
  private unusedSymbolDetector;
87
116
  private unreachableCodeDetector;
117
+ private parser;
88
118
  /**
89
119
  * 檢測檔案中的死代碼
90
120
  * @param filePath 檔案路徑
@@ -102,14 +132,9 @@ export declare class DeadCodeDetector {
102
132
  deadCode: UnusedCode[];
103
133
  }>>;
104
134
  /**
105
- * 簡化的程式碼解析
106
- * 實際實作中應該使用完整的 TypeScript 或 JavaScript parser
135
+ * 轉換 TypeScript AST 到舊版 AST 格式(用於不可達代碼檢測)
107
136
  */
108
- private parseCode;
109
- /**
110
- * 查找符號引用
111
- */
112
- private findReferences;
137
+ private convertToLegacyAST;
113
138
  /**
114
139
  * 獲取檢測統計
115
140
  */
@@ -119,5 +144,9 @@ export declare class DeadCodeDetector {
119
144
  byType: Record<string, number>;
120
145
  averageConfidence: number;
121
146
  }>;
147
+ /**
148
+ * 清理資源
149
+ */
150
+ dispose(): Promise<void>;
122
151
  }
123
152
  //# sourceMappingURL=dead-code-detector.d.ts.map
@@ -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,MAAM,WAAW,MAAM;IACrB,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;IAC/B;;;;OAIG;IACH,MAAM,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,UAAU,EAAE;IA+BvC;;OAEG;IACH,OAAO,CAAC,mBAAmB;CAkB5B;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;IAEhE;;;;;OAKG;IACG,YAAY,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,EAAE,CAAC;IA+B5E;;;;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;IA6BH;;;OAGG;IACH,OAAO,CAAC,SAAS;IA6CjB;;OAEG;IACH,OAAO,CAAC,cAAc;IAiBtB;;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;CAmBH"}
1
+ {"version":3,"file":"dead-code-detector.d.ts","sourceRoot":"","sources":["../../../src/core/analysis/dead-code-detector.ts"],"names":[],"mappings":"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"}
@@ -2,56 +2,163 @@
2
2
  * 死代碼檢測器
3
3
  * 檢測未使用的變數、函式、類別和不可達代碼
4
4
  */
5
+ import { TypeScriptParser } from '../../plugins/typescript/parser.js';
6
+ import { SymbolType, ReferenceType } from '../../shared/types/index.js';
5
7
  /**
6
8
  * 未使用符號檢測器
7
9
  */
8
10
  export class UnusedSymbolDetector {
11
+ // 移除 parser,改由外部傳入
9
12
  /**
10
13
  * 檢測未使用的符號
11
- * @param symbols 符號表
14
+ * @param ast AST 物件
15
+ * @param parser TypeScript parser 實例(重用以提升效能)
12
16
  * @returns 未使用的符號列表
13
17
  */
14
- detect(symbols) {
18
+ async detect(ast, parser) {
15
19
  const unused = [];
16
- for (const symbol of symbols) {
20
+ // 提取所有符號
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
+ }
17
28
  // 跳過已匯出的符號
18
- if (symbol.exported) {
19
- continue;
29
+ if (this.isExported(symbol)) {
30
+ return false;
20
31
  }
21
32
  // 跳過函式參數
22
- if (symbol.parameter) {
23
- continue;
33
+ if (this.isParameter(symbol)) {
34
+ return false;
35
+ }
36
+ // 跳過 public/protected 類別成員
37
+ if (this.isPublicOrProtectedMember(symbol)) {
38
+ return false;
24
39
  }
25
- // 檢查引用次數
26
- const readReferences = symbol.references.filter(ref => ref.type === 'read' || ref.type === 'call');
27
- if (readReferences.length === 0) {
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) || [];
47
+ // 過濾出實際使用(非定義)的引用
48
+ const usageReferences = references.filter(ref => ref.type === ReferenceType.Usage);
49
+ if (usageReferences.length === 0) {
28
50
  unused.push({
29
- type: symbol.type,
51
+ type: this.mapSymbolType(symbol.type),
30
52
  name: symbol.name,
31
- location: symbol.location,
32
- confidence: this.calculateConfidence(symbol),
33
- reason: `${symbol.type} '${symbol.name}' 已宣告但從未使用`
53
+ location: {
54
+ line: symbol.location.range.start.line,
55
+ column: symbol.location.range.start.column
56
+ },
57
+ confidence: this.calculateConfidence(references),
58
+ reason: `${this.mapSymbolType(symbol.type)} '${symbol.name}' 已宣告但從未使用`
34
59
  });
35
60
  }
36
61
  }
37
62
  return unused;
38
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
+ }
92
+ /**
93
+ * 檢查符號是否已匯出
94
+ */
95
+ isExported(symbol) {
96
+ return symbol.modifiers?.includes('export') || false;
97
+ }
98
+ /**
99
+ * 檢查是否為函式參數
100
+ */
101
+ isParameter(symbol) {
102
+ // 檢查 scope,如果 parent 是 function 且符號在參數位置,就是參數
103
+ if (symbol.scope?.type === 'function') {
104
+ // 簡化判斷:如果符號類型是 Variable 且在 function scope 內,可能是參數或局部變數
105
+ // 更準確的判斷需要檢查 AST 節點類型
106
+ return false; // 暫時保守處理,不跳過任何符號
107
+ }
108
+ return false;
109
+ }
110
+ /**
111
+ * 檢查是否為 public 或 protected 類別成員
112
+ * 這些成員可能被子類別或外部程式碼使用,單檔案模式無法檢測
113
+ */
114
+ isPublicOrProtectedMember(symbol) {
115
+ const modifiers = symbol.modifiers || [];
116
+ // 如果有 public 或 protected 修飾符
117
+ if (modifiers.includes('public') || modifiers.includes('protected')) {
118
+ return true;
119
+ }
120
+ // 檢查 scope:如果是類別成員(scope.parent.type === 'class'),且沒有 private 修飾符,預設就是 public
121
+ if (symbol.scope?.parent?.type === 'class' && !modifiers.includes('private')) {
122
+ return true;
123
+ }
124
+ return false;
125
+ }
126
+ /**
127
+ * 映射符號類型到 UnusedCode 類型
128
+ */
129
+ mapSymbolType(symbolType) {
130
+ switch (symbolType) {
131
+ case SymbolType.Function:
132
+ return 'function';
133
+ case SymbolType.Class:
134
+ return 'class';
135
+ case SymbolType.Variable:
136
+ case SymbolType.Constant:
137
+ return 'variable';
138
+ default:
139
+ return 'variable';
140
+ }
141
+ }
39
142
  /**
40
143
  * 計算檢測置信度
41
144
  */
42
- calculateConfidence(symbol) {
43
- let confidence = 0.9;
44
- // 如果有寫入引用但沒有讀取引用,置信度較高
45
- const writeRefs = symbol.references.filter(ref => ref.type === 'write');
46
- const readRefs = symbol.references.filter(ref => ref.type === 'read');
47
- if (writeRefs.length > 0 && readRefs.length === 0) {
48
- confidence = 0.95;
145
+ calculateConfidence(references) {
146
+ // 如果完全沒有引用(連定義都不算),置信度最高
147
+ if (references.length === 0) {
148
+ return 1.0;
49
149
  }
50
- // 如果完全沒有引用,置信度最高
51
- if (symbol.references.length === 0) {
52
- confidence = 1.0;
150
+ // 如果只有定義引用,沒有使用引用
151
+ const usageRefs = references.filter((ref) => ref.type === ReferenceType.Usage);
152
+ if (usageRefs.length === 0) {
153
+ return 0.95;
53
154
  }
54
- return confidence;
155
+ return 0.9;
156
+ }
157
+ /**
158
+ * 清理資源
159
+ */
160
+ async dispose() {
161
+ // Parser 由外部管理,不需要清理
55
162
  }
56
163
  }
57
164
  /**
@@ -133,6 +240,7 @@ export class UnreachableCodeDetector {
133
240
  export class DeadCodeDetector {
134
241
  unusedSymbolDetector = new UnusedSymbolDetector();
135
242
  unreachableCodeDetector = new UnreachableCodeDetector();
243
+ parser = new TypeScriptParser();
136
244
  /**
137
245
  * 檢測檔案中的死代碼
138
246
  * @param filePath 檔案路徑
@@ -151,17 +259,24 @@ export class DeadCodeDetector {
151
259
  if (content.trim() === '') {
152
260
  return [];
153
261
  }
262
+ // 只支援 TypeScript 檔案
263
+ if (!filePath.match(/\.(ts|tsx)$/)) {
264
+ // 對非 TypeScript 檔案返回空結果
265
+ return [];
266
+ }
154
267
  try {
155
- // 解析程式碼
156
- const { ast, symbols } = this.parseCode(content);
157
- // 檢測未使用符號
158
- const unusedSymbols = this.unusedSymbolDetector.detect(symbols);
268
+ // 解析程式碼使用 TypeScript parser
269
+ const ast = await this.parser.parse(content, filePath);
270
+ // 檢測未使用符號(傳入 parser 實例以重用)
271
+ const unusedSymbols = await this.unusedSymbolDetector.detect(ast, this.parser);
159
272
  // 檢測不可達代碼
160
- const unreachableCode = this.unreachableCodeDetector.detect(ast);
273
+ const unreachableCode = this.unreachableCodeDetector.detect(this.convertToLegacyAST(ast));
161
274
  return [...unusedSymbols, ...unreachableCode];
162
275
  }
163
276
  catch (error) {
164
- throw new Error(`死代碼檢測失敗: ${error instanceof Error ? error.message : '未知錯誤'}`);
277
+ // 解析錯誤時返回空結果而不是拋出錯誤
278
+ // 因為可能是語法錯誤的檔案
279
+ return [];
165
280
  }
166
281
  }
167
282
  /**
@@ -175,8 +290,9 @@ export class DeadCodeDetector {
175
290
  }
176
291
  const results = await Promise.all(files.map(async (file) => {
177
292
  try {
178
- // 實際實作中應該讀取檔案內容
179
- const content = ''; // 簡化實作
293
+ // 讀取檔案內容
294
+ const fs = await import('fs/promises');
295
+ const content = await fs.readFile(file, 'utf-8');
180
296
  const deadCode = await this.detectInFile(file, content);
181
297
  return { file, deadCode };
182
298
  }
@@ -195,62 +311,15 @@ export class DeadCodeDetector {
195
311
  return results;
196
312
  }
197
313
  /**
198
- * 簡化的程式碼解析
199
- * 實際實作中應該使用完整的 TypeScript 或 JavaScript parser
314
+ * 轉換 TypeScript AST 到舊版 AST 格式(用於不可達代碼檢測)
200
315
  */
201
- parseCode(content) {
202
- // 簡化實作:建立模擬的 AST 和符號表
203
- const ast = {
316
+ convertToLegacyAST(ast) {
317
+ // 簡化實作:創建一個基本的 AST 節點
318
+ return {
204
319
  type: 'Program',
205
320
  location: { line: 1, column: 1 },
206
321
  children: []
207
322
  };
208
- const symbols = [];
209
- // 簡單的變數檢測
210
- const variableMatches = content.matchAll(/(?:const|let|var)\s+(\w+)/g);
211
- for (const match of variableMatches) {
212
- const name = match[1];
213
- const line = content.substring(0, match.index).split('\n').length;
214
- symbols.push({
215
- name,
216
- type: 'variable',
217
- location: { line, column: match.index || 0 },
218
- references: this.findReferences(content, name),
219
- exported: content.includes(`export { ${name} }`) || content.includes(`export const ${name}`),
220
- parameter: false
221
- });
222
- }
223
- // 簡單的函式檢測
224
- const functionMatches = content.matchAll(/function\s+(\w+)/g);
225
- for (const match of functionMatches) {
226
- const name = match[1];
227
- const line = content.substring(0, match.index).split('\n').length;
228
- symbols.push({
229
- name,
230
- type: 'function',
231
- location: { line, column: match.index || 0 },
232
- references: this.findReferences(content, name),
233
- exported: content.includes(`export function ${name}`) || content.includes(`export { ${name} }`),
234
- parameter: false
235
- });
236
- }
237
- return { ast, symbols };
238
- }
239
- /**
240
- * 查找符號引用
241
- */
242
- findReferences(content, symbolName) {
243
- const references = [];
244
- const regex = new RegExp(`\\b${symbolName}\\b`, 'g');
245
- let match;
246
- while ((match = regex.exec(content)) !== null) {
247
- const line = content.substring(0, match.index).split('\n').length;
248
- references.push({
249
- location: { line, column: match.index },
250
- type: 'read' // 簡化實作,實際應該區分 read/write/call
251
- });
252
- }
253
- return references;
254
323
  }
255
324
  /**
256
325
  * 獲取檢測統計
@@ -271,5 +340,12 @@ export class DeadCodeDetector {
271
340
  averageConfidence: allDeadCode.length > 0 ? totalConfidence / allDeadCode.length : 0
272
341
  };
273
342
  }
343
+ /**
344
+ * 清理資源
345
+ */
346
+ async dispose() {
347
+ await this.unusedSymbolDetector.dispose();
348
+ await this.parser.dispose();
349
+ }
274
350
  }
275
351
  //# sourceMappingURL=dead-code-detector.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"dead-code-detector.js","sourceRoot":"","sources":["../../../src/core/analysis/dead-code-detector.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAoCH;;GAEG;AACH,MAAM,OAAO,oBAAoB;IAC/B;;;;OAIG;IACH,MAAM,CAAC,OAAiB;QACtB,MAAM,MAAM,GAAiB,EAAE,CAAC;QAEhC,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;YAC7B,WAAW;YACX,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC;gBACpB,SAAS;YACX,CAAC;YAED,SAAS;YACT,IAAI,MAAM,CAAC,SAAS,EAAE,CAAC;gBACrB,SAAS;YACX,CAAC;YAED,SAAS;YACT,MAAM,cAAc,GAAG,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,IAAI,KAAK,MAAM,IAAI,GAAG,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC;YAEnG,IAAI,cAAc,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAChC,MAAM,CAAC,IAAI,CAAC;oBACV,IAAI,EAAE,MAAM,CAAC,IAAI;oBACjB,IAAI,EAAE,MAAM,CAAC,IAAI;oBACjB,QAAQ,EAAE,MAAM,CAAC,QAAQ;oBACzB,UAAU,EAAE,IAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC;oBAC5C,MAAM,EAAE,GAAG,MAAM,CAAC,IAAI,KAAK,MAAM,CAAC,IAAI,YAAY;iBACnD,CAAC,CAAC;YACL,CAAC;QACH,CAAC;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;IAED;;OAEG;IACK,mBAAmB,CAAC,MAAc;QACxC,IAAI,UAAU,GAAG,GAAG,CAAC;QAErB,uBAAuB;QACvB,MAAM,SAAS,GAAG,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC;QACxE,MAAM,QAAQ,GAAG,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC;QAEtE,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAClD,UAAU,GAAG,IAAI,CAAC;QACpB,CAAC;QAED,iBAAiB;QACjB,IAAI,MAAM,CAAC,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACnC,UAAU,GAAG,GAAG,CAAC;QACnB,CAAC;QAED,OAAO,UAAU,CAAC;IACpB,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;IAEhE;;;;;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,IAAI,CAAC;YACH,QAAQ;YACR,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;YAEjD,UAAU;YACV,MAAM,aAAa,GAAG,IAAI,CAAC,oBAAoB,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;YAEhE,UAAU;YACV,MAAM,eAAe,GAAG,IAAI,CAAC,uBAAuB,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YAEjE,OAAO,CAAC,GAAG,aAAa,EAAE,GAAG,eAAe,CAAC,CAAC;QAChD,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,IAAI,KAAK,CAAC,YAAY,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC;QACjF,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,gBAAgB;gBAChB,MAAM,OAAO,GAAG,EAAE,CAAC,CAAC,OAAO;gBAC3B,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;;;OAGG;IACK,SAAS,CAAC,OAAe;QAC/B,sBAAsB;QACtB,MAAM,GAAG,GAAY;YACnB,IAAI,EAAE,SAAS;YACf,QAAQ,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE;YAChC,QAAQ,EAAE,EAAE;SACb,CAAC;QAEF,MAAM,OAAO,GAAa,EAAE,CAAC;QAE7B,UAAU;QACV,MAAM,eAAe,GAAG,OAAO,CAAC,QAAQ,CAAC,4BAA4B,CAAC,CAAC;QACvE,KAAK,MAAM,KAAK,IAAI,eAAe,EAAE,CAAC;YACpC,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;YACtB,MAAM,IAAI,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC;YAElE,OAAO,CAAC,IAAI,CAAC;gBACX,IAAI;gBACJ,IAAI,EAAE,UAAU;gBAChB,QAAQ,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,CAAC,KAAK,IAAI,CAAC,EAAE;gBAC5C,UAAU,EAAE,IAAI,CAAC,cAAc,CAAC,OAAO,EAAE,IAAI,CAAC;gBAC9C,QAAQ,EAAE,OAAO,CAAC,QAAQ,CAAC,YAAY,IAAI,IAAI,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,gBAAgB,IAAI,EAAE,CAAC;gBAC5F,SAAS,EAAE,KAAK;aACjB,CAAC,CAAC;QACL,CAAC;QAED,UAAU;QACV,MAAM,eAAe,GAAG,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAAC,CAAC;QAC9D,KAAK,MAAM,KAAK,IAAI,eAAe,EAAE,CAAC;YACpC,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;YACtB,MAAM,IAAI,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC;YAElE,OAAO,CAAC,IAAI,CAAC;gBACX,IAAI;gBACJ,IAAI,EAAE,UAAU;gBAChB,QAAQ,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,CAAC,KAAK,IAAI,CAAC,EAAE;gBAC5C,UAAU,EAAE,IAAI,CAAC,cAAc,CAAC,OAAO,EAAE,IAAI,CAAC;gBAC9C,QAAQ,EAAE,OAAO,CAAC,QAAQ,CAAC,mBAAmB,IAAI,EAAE,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,YAAY,IAAI,IAAI,CAAC;gBAC/F,SAAS,EAAE,KAAK;aACjB,CAAC,CAAC;QACL,CAAC;QAED,OAAO,EAAE,GAAG,EAAE,OAAO,EAAE,CAAC;IAC1B,CAAC;IAED;;OAEG;IACK,cAAc,CAAC,OAAe,EAAE,UAAkB;QACxD,MAAM,UAAU,GAAgB,EAAE,CAAC;QACnC,MAAM,KAAK,GAAG,IAAI,MAAM,CAAC,MAAM,UAAU,KAAK,EAAE,GAAG,CAAC,CAAC;QAErD,IAAI,KAAK,CAAC;QACV,OAAO,CAAC,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC;YAC9C,MAAM,IAAI,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC;YAElE,UAAU,CAAC,IAAI,CAAC;gBACd,QAAQ,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,CAAC,KAAK,EAAE;gBACvC,IAAI,EAAE,MAAM,CAAC,8BAA8B;aAC5C,CAAC,CAAC;QACL,CAAC;QAED,OAAO,UAAU,CAAC;IACpB,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;CACF"}
1
+ {"version":3,"file":"dead-code-detector.js","sourceRoot":"","sources":["../../../src/core/analysis/dead-code-detector.ts"],"names":[],"mappings":"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"}
@@ -3,7 +3,7 @@
3
3
  * 提供程式碼分析、複雜度分析、死代碼檢測、重複檢測和品質評估功能
4
4
  */
5
5
  export { ComplexityAnalyzer, CyclomaticComplexityAnalyzer, CognitiveComplexityAnalyzer, type ComplexityResult, type ASTNode as ComplexityASTNode } from './complexity-analyzer.js';
6
- export { DeadCodeDetector, UnusedSymbolDetector, UnreachableCodeDetector, type UnusedCode, type Symbol, type Reference } from './dead-code-detector.js';
6
+ export { DeadCodeDetector, UnusedSymbolDetector, UnreachableCodeDetector, type UnusedCode, type LegacySymbol, type Reference } from './dead-code-detector.js';
7
7
  export { DuplicationDetector, Type1CloneDetector, Type2CloneDetector, Type3CloneDetector, type Clone, type CodeFragment, type DetectionConfig } from './duplication-detector.js';
8
8
  export { QualityMetricsAnalyzer, MaintainabilityIndex, CodeSmellDetector, type QualityAssessment, type CodeSmell } from './quality-metrics.js';
9
9
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/core/analysis/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,EACL,kBAAkB,EAClB,4BAA4B,EAC5B,2BAA2B,EAC3B,KAAK,gBAAgB,EACrB,KAAK,OAAO,IAAI,iBAAiB,EAClC,MAAM,0BAA0B,CAAC;AAGlC,OAAO,EACL,gBAAgB,EAChB,oBAAoB,EACpB,uBAAuB,EACvB,KAAK,UAAU,EACf,KAAK,MAAM,EACX,KAAK,SAAS,EACf,MAAM,yBAAyB,CAAC;AAGjC,OAAO,EACL,mBAAmB,EACnB,kBAAkB,EAClB,kBAAkB,EAClB,kBAAkB,EAClB,KAAK,KAAK,EACV,KAAK,YAAY,EACjB,KAAK,eAAe,EACrB,MAAM,2BAA2B,CAAC;AAGnC,OAAO,EACL,sBAAsB,EACtB,oBAAoB,EACpB,iBAAiB,EACjB,KAAK,iBAAiB,EACtB,KAAK,SAAS,EACf,MAAM,sBAAsB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/core/analysis/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,EACL,kBAAkB,EAClB,4BAA4B,EAC5B,2BAA2B,EAC3B,KAAK,gBAAgB,EACrB,KAAK,OAAO,IAAI,iBAAiB,EAClC,MAAM,0BAA0B,CAAC;AAGlC,OAAO,EACL,gBAAgB,EAChB,oBAAoB,EACpB,uBAAuB,EACvB,KAAK,UAAU,EACf,KAAK,YAAY,EACjB,KAAK,SAAS,EACf,MAAM,yBAAyB,CAAC;AAGjC,OAAO,EACL,mBAAmB,EACnB,kBAAkB,EAClB,kBAAkB,EAClB,kBAAkB,EAClB,KAAK,KAAK,EACV,KAAK,YAAY,EACjB,KAAK,eAAe,EACrB,MAAM,2BAA2B,CAAC;AAGnC,OAAO,EACL,sBAAsB,EACtB,oBAAoB,EACpB,iBAAiB,EACjB,KAAK,iBAAiB,EACtB,KAAK,SAAS,EACf,MAAM,sBAAsB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"dependency-analyzer.d.ts","sourceRoot":"","sources":["../../../src/core/dependency/dependency-analyzer.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAMH,OAAO,KAAK,EACV,gBAAgB,EAChB,mBAAmB,EACnB,eAAe,EACf,oBAAoB,EAEpB,sBAAsB,EAEtB,iCAAiC,EAClC,MAAM,YAAY,CAAC;AAWpB;;GAEG;AACH,qBAAa,kBAAkB;IAC7B,OAAO,CAAC,KAAK,CAAkB;IAC/B,OAAO,CAAC,aAAa,CAAgB;IACrC,OAAO,CAAC,KAAK,CAA0B;IACvC,OAAO,CAAC,OAAO,CAAoC;gBAEvC,OAAO,CAAC,EAAE,OAAO,CAAC,iCAAiC,CAAC;IAUhE;;;;OAIG;IACG,WAAW,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAmD9D;;;;OAIG;IACG,cAAc,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,mBAAmB,CAAC;IAyBvE;;;;OAIG;IACH,eAAe,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,EAAE;IAK3C;;;;OAIG;IACH,aAAa,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,EAAE;IAKzC;;;;;OAKG;IACH,yBAAyB,CACvB,QAAQ,EAAE,MAAM,EAChB,OAAO,CAAC,EAAE,sBAAsB,GAC/B,MAAM,EAAE;IAWX;;;;OAIG;IACH,gBAAgB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,EAAE;IAK5C;;;;OAIG;IACH,iBAAiB,CAAC,QAAQ,EAAE,MAAM,GAAG,oBAAoB;IAsBzD;;;;OAIG;IACH,gBAAgB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,EAAE;IAe5C;;;OAGG;IACH,QAAQ,IAAI,eAAe;IAyB3B;;;;;OAKG;YACW,mBAAmB;IA4CjC;;;;;OAKG;YACW,WAAW;IAkDzB;;;OAGG;IACH,OAAO,CAAC,qBAAqB;IAmB7B;;;;OAIG;YACW,eAAe;IAuD7B;;;;OAIG;IACH,OAAO,CAAC,UAAU;IAMlB;;;;OAIG;IACH,OAAO,CAAC,UAAU;IAMlB;;;;;OAKG;IACH,OAAO,CAAC,SAAS;IAWjB;;;;OAIG;IACH,OAAO,CAAC,uBAAuB;IAQ/B;;;;OAIG;IACH,OAAO,CAAC,UAAU;IASlB;;;;;;OAMG;IACH,OAAO,CAAC,oBAAoB;IAQ5B;;;;;OAKG;IACH,OAAO,CAAC,UAAU;IAQlB;;;OAGG;IACH,OAAO,CAAC,4BAA4B;IAWpC;;;;OAIG;IACH,OAAO,CAAC,sBAAsB;CAQ/B"}
1
+ {"version":3,"file":"dependency-analyzer.d.ts","sourceRoot":"","sources":["../../../src/core/dependency/dependency-analyzer.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAMH,OAAO,KAAK,EACV,gBAAgB,EAChB,mBAAmB,EACnB,eAAe,EACf,oBAAoB,EAEpB,sBAAsB,EAEtB,iCAAiC,EAClC,MAAM,YAAY,CAAC;AAWpB;;GAEG;AACH,qBAAa,kBAAkB;IAC7B,OAAO,CAAC,KAAK,CAAkB;IAC/B,OAAO,CAAC,aAAa,CAAgB;IACrC,OAAO,CAAC,KAAK,CAA0B;IACvC,OAAO,CAAC,OAAO,CAAoC;gBAEvC,OAAO,CAAC,EAAE,OAAO,CAAC,iCAAiC,CAAC;IAUhE;;;;OAIG;IACG,WAAW,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAmD9D;;;;OAIG;IACG,cAAc,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,mBAAmB,CAAC;IAyBvE;;;;OAIG;IACH,eAAe,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,EAAE;IAK3C;;;;OAIG;IACH,aAAa,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,EAAE;IAKzC;;;;;OAKG;IACH,yBAAyB,CACvB,QAAQ,EAAE,MAAM,EAChB,OAAO,CAAC,EAAE,sBAAsB,GAC/B,MAAM,EAAE;IAWX;;;;OAIG;IACH,gBAAgB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,EAAE;IAK5C;;;;OAIG;IACH,iBAAiB,CAAC,QAAQ,EAAE,MAAM,GAAG,oBAAoB;IAsBzD;;;;OAIG;IACH,gBAAgB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,EAAE;IAe5C;;;OAGG;IACH,QAAQ,IAAI,eAAe;IAyB3B;;;;;OAKG;YACW,mBAAmB;IA4CjC;;;;;OAKG;YACW,WAAW;IAkDzB;;;OAGG;IACH,OAAO,CAAC,qBAAqB;IAmB7B;;;;OAIG;YACW,eAAe;IAuD7B;;;;OAIG;IACH,OAAO,CAAC,UAAU;IAMlB;;;;OAIG;IACH,OAAO,CAAC,UAAU;IAMlB;;;;;OAKG;IACH,OAAO,CAAC,SAAS;IAsBjB;;;;OAIG;IACH,OAAO,CAAC,uBAAuB;IAQ/B;;;;OAIG;IACH,OAAO,CAAC,UAAU;IASlB;;;;;;OAMG;IACH,OAAO,CAAC,oBAAoB;IAQ5B;;;;;OAKG;IACH,OAAO,CAAC,UAAU;IAQlB;;;OAGG;IACH,OAAO,CAAC,4BAA4B;IAWpC;;;;OAIG;IACH,OAAO,CAAC,sBAAsB;CAQ/B"}
@@ -392,10 +392,17 @@ export class DependencyAnalyzer {
392
392
  */
393
393
  matchGlob(filePath, pattern) {
394
394
  // 簡化實作,實際應該使用專業的 glob 函式庫
395
- const regexPattern = pattern
396
- .replace(/\*\*/g, '.*')
397
- .replace(/\*/g, '[^/]*')
398
- .replace(/\?/g, '.');
395
+ // ** 匹配任意層級目錄 (包含 0 層)
396
+ // * 匹配單層目錄或檔名中的任意字元(不包含 /)
397
+ // ? 匹配單一字元
398
+ // 將 ** 替換為特殊標記,避免與 * 衝突
399
+ let regexPattern = pattern.replace(/\*\*/g, '<!DOUBLE_STAR!>');
400
+ // 替換單個 *
401
+ regexPattern = regexPattern.replace(/\*/g, '[^/]*');
402
+ // 替換 **(之前的特殊標記)為匹配任意路徑
403
+ regexPattern = regexPattern.replace(/<!DOUBLE_STAR!>/g, '.*');
404
+ // 替換 ?
405
+ regexPattern = regexPattern.replace(/\?/g, '.');
399
406
  const regex = new RegExp(`^${regexPattern}$`);
400
407
  return regex.test(filePath);
401
408
  }
@@ -1 +1 @@
1
- {"version":3,"file":"dependency-analyzer.js","sourceRoot":"","sources":["../../../src/core/dependency/dependency-analyzer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"dependency-analyzer.js","sourceRoot":"","sources":["../../../src/core/dependency/dependency-analyzer.ts"],"names":[],"mappings":"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"}